Section 1
//MochiAd (com.mochi.MochiAd)
package com.mochi {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class MochiAd {
public static function getVersion():String{
return ("2.7");
}
public static function showClickAwayAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:2000, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function ():void{
}, ad_finished:function ():void{
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
var sendHostProgress:Boolean;
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
chk["onEnterFrame"] = function ():void{
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
return;
};
var _local1:Object = this.parent._mochiad_ctr;
var _local2:Number = (getTimer() - this.started);
var _local3:Boolean;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
_local3 = true;
chk.started = getTimer();
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (this.root == null){
_local3 = true;
};
if (_local3){
delete this.onEnterFrame;
};
};
doOnEnterFrame(chk);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function _allowDomains(_arg1:String):String{
var _local2:String = _arg1.split("/")[2].split(":")[0];
Security.allowDomain("*");
Security.allowDomain(_local2);
Security.allowInsecureDomain("*");
Security.allowInsecureDomain(_local2);
return (_local2);
}
public static function unload(_arg1:Object):Boolean{
if (((_arg1.clip) && (_arg1.clip._mochiad))){
_arg1 = _arg1.clip;
};
if (_arg1.origFrameRate != undefined){
_arg1.stage.frameRate = _arg1.origFrameRate;
};
if (!_arg1._mochiad){
return (false);
};
if (_arg1._mochiad._containerLCName != undefined){
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "notify", {id:"unload"});
};
if (_arg1._mochiad.onUnload){
_arg1._mochiad.onUnload();
};
delete _arg1._mochiad_loaded;
delete _arg1._mochiad;
return (true);
}
public static function showInterLevelAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
var ad_msec:Number = 11000;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time:Number = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
var _local1:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = (_arg1 - 250);
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
chk["onEnterFrame"] = function ():void{
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
var _local1:Object = this.parent._mochiad_ctr;
var _local2:Number = (getTimer() - this.started);
var _local3:Boolean;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (_local2 > chk.ad_msec){
_local3 = true;
};
if (_local3){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function _parseOptions(_arg1:Object, _arg2:Object):Object{
var _local4:String;
var _local5:Array;
var _local6:Number;
var _local7:Array;
var _local3:Object = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
if (_arg1){
for (_local4 in _arg1) {
_local3[_local4] = _arg1[_local4];
};
};
if (_local3.clip == undefined){
throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite."));
};
_arg1 = _local3.clip.loaderInfo.parameters.mochiad_options;
if (_arg1){
_local5 = _arg1.split("&");
_local6 = 0;
while (_local6 < _local5.length) {
_local7 = _local5[_local6].split("=");
_local3[unescape(_local7[0])] = unescape(_local7[1]);
_local6++;
};
};
if (_local3.id == "test"){
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
};
return (_local3);
}
public static function _cleanup(_arg1:Object):void{
var k:String;
var lc:LocalConnection;
var f:Function;
var mc = _arg1;
if (("lc" in mc)){
lc = mc.lc;
f = function ():void{
try {
lc.client = null;
lc.close();
} catch(e:Error) {
};
};
setTimeout(f, 0);
};
var idx:Number = DisplayObjectContainer(mc).numChildren;
while (idx > 0) {
idx = (idx - 1);
DisplayObjectContainer(mc).removeChildAt(idx);
};
for (k in mc) {
delete mc[k];
};
}
public static function load(_arg1:Object):MovieClip{
var clip:Object;
var k:String;
var server:String;
var hostname:String;
var lc:LocalConnection;
var name:String;
var loader:Loader;
var g:Function;
var req:URLRequest;
var v:Object;
var options = _arg1;
var DEFAULTS:Object = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
if (!MochiAd._isNetworkAvailable()){
return (null);
};
try {
if (clip._mochiad_loaded){
return (null);
};
} catch(e:Error) {
throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
var depth:Number = options.depth;
delete options.depth;
var mc:MovieClip = createEmptyMovieClip(clip, "_mochiad", depth);
var wh:Array = MochiAd._getRes(options, clip);
options.res = ((wh[0] + "x") + wh[1]);
options.server = (options.server + options.id);
delete options.id;
clip._mochiad_loaded = true;
if (clip.loaderInfo.loaderURL.indexOf("http") == 0){
options.as3_swf = clip.loaderInfo.loaderURL;
};
var lv:URLVariables = new URLVariables();
for (k in options) {
v = options[k];
if (!(v is Function)){
lv[k] = v;
};
};
server = lv.server;
delete lv.server;
hostname = _allowDomains(server);
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.lc = lc;
mc.lcName = name;
lv.lc = name;
lv.st = getTimer();
loader = new Loader();
g = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
MochiAd.unload(clip);
};
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g);
req = new URLRequest(((server + ".swf?cacheBust=") + new Date().getTime()));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader.load(req);
mc.addChild(loader);
mc._mochiad_ctr = loader;
return (mc);
}
public static function runMethod(_arg1:Object, _arg2:String, _arg3:Array):Object{
var _local4:Array = _arg2.split(".");
var _local5:Number = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
if (typeof(_arg1[_local4[_local5]]) == "function"){
return (_arg1[_local4[_local5]].apply(_arg1, _arg3));
};
return (undefined);
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{
var _local4:MovieClip = new MovieClip();
if (((false) && (_arg3))){
_arg1.addChildAt(_local4, _arg3);
} else {
_arg1.addChild(_local4);
};
_arg1[_arg2] = _local4;
_local4["_name"] = _arg2;
return (_local4);
}
public static function _getRes(_arg1:Object, _arg2:Object):Array{
var _local6:Array;
var _local3:Object = _arg2.getBounds(_arg2.root);
var _local4:Number = 0;
var _local5:Number = 0;
if (typeof(_arg1.res) != "undefined"){
_local6 = _arg1.res.split("x");
_local4 = parseFloat(_local6[0]);
_local5 = parseFloat(_local6[1]);
} else {
_local4 = (_local3.xMax - _local3.xMin);
_local5 = (_local3.yMax - _local3.yMin);
};
if ((((_local4 == 0)) || ((_local5 == 0)))){
_local4 = _arg2.stage.stageWidth;
_local5 = _arg2.stage.stageHeight;
};
return ([_local4, _local5]);
}
public static function adShowing(_arg1:Object):void{
_arg1.origFrameRate = _arg1.stage.frameRate;
_arg1.stage.frameRate = 30;
}
public static function getValue(_arg1:Object, _arg2:String):Object{
var _local3:Array = _arg2.split(".");
var _local4:Number = 0;
while (_local4 < (_local3.length - 1)) {
if ((((_arg1[_local3[_local4]] == undefined)) || ((_arg1[_local3[_local4]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local3[_local4]];
_local4++;
};
return (_arg1[_local3[_local4]]);
}
public static function rpc(_arg1:Object, _arg2:Number, _arg3:Object):void{
var _local4:Object;
var _local5:Object;
switch (_arg3.id){
case "setValue":
MochiAd.setValue(_arg1, _arg3.objectName, _arg3.value);
break;
case "getValue":
_local4 = MochiAd.getValue(_arg1, _arg3.objectName);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local4);
break;
case "runMethod":
_local5 = MochiAd.runMethod(_arg1, _arg3.method, _arg3.args);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local5);
break;
default:
trace(("[mochiads rpc] unknown rpc id: " + _arg3.id));
};
}
public static function setValue(_arg1:Object, _arg2:String, _arg3:Object):void{
var _local4:Array = _arg2.split(".");
var _local5:Number = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return;
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
_arg1[_local4[_local5]] = _arg3;
}
public static function showPreGameAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var bar:MovieClip;
var complete:Boolean;
var unloaded:Boolean;
var sendHostProgress:Boolean;
var fn:Function;
var r:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}, ad_progress:function (_arg1:Number):void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def"){
options.ad_started();
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
return;
};
clip = options.clip;
var ad_msec:Number = 11000;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time:Number = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
var fn:Function = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.x = (w * -0.5);
chk.y = (h * -0.5);
bar = createEmptyMovieClip(chk, "_mochiad_bar", 4);
if (options.no_progress_bar){
bar.visible = false;
delete options.no_progress_bar;
} else {
bar.x = 10;
bar.y = (h - 20);
};
var bar_color:Number = options.color;
delete options.color;
var bar_background:Number = options.background;
delete options.background;
var bar_outline:Number = options.outline;
delete options.outline;
var backing_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 1);
var backing:Object = backing_mc.graphics;
backing.beginFill(bar_background);
backing.moveTo(0, 0);
backing.lineTo((w - 20), 0);
backing.lineTo((w - 20), 10);
backing.lineTo(0, 10);
backing.lineTo(0, 0);
backing.endFill();
var inside_mc:MovieClip = createEmptyMovieClip(bar, "_inside", 2);
var inside:Object = inside_mc.graphics;
inside.beginFill(bar_color);
inside.moveTo(0, 0);
inside.lineTo((w - 20), 0);
inside.lineTo((w - 20), 10);
inside.lineTo(0, 10);
inside.lineTo(0, 0);
inside.endFill();
inside_mc.scaleX = 0;
var outline_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 3);
var outline:Object = outline_mc.graphics;
outline.lineStyle(0, bar_outline, 100);
outline.moveTo(0, 0);
outline.lineTo((w - 20), 0);
outline.lineTo((w - 20), 10);
outline.lineTo(0, 10);
outline.lineTo(0, 0);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
complete = false;
unloaded = false;
var f:Function = function (_arg1:Event):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
complete = true;
if (unloaded){
MochiAd.unload(clip);
};
};
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
if ((clip.root is MovieClip)){
r = (clip.root as MovieClip);
if (r.framesLoaded >= r.totalFrames){
complete = true;
};
};
mc.unloadAd = function ():void{
unloaded = true;
if (complete){
MochiAd.unload(clip);
};
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = _arg1;
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
mc.rpcTestFn = function (_arg1:String):Object{
trace(("[MOCHIAD rpcTestFn] " + _arg1));
return (_arg1);
};
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
sendHostProgress = false;
mc.sendHostLoadProgress = function (_arg1:String):void{
sendHostProgress = true;
};
chk["onEnterFrame"] = function ():void{
var _local11:Number;
if (((!(this.parent)) || (!(this.parent.parent)))){
delete this["onEnterFrame"];
return;
};
var _local1:Object = this.parent.parent.root;
var _local2:Object = this.parent._mochiad_ctr;
var _local3:Number = (getTimer() - this.started);
var _local4:Boolean;
var _local5:Number = _local1.loaderInfo.bytesTotal;
var _local6:Number = _local1.loaderInfo.bytesLoaded;
if (complete){
_local6 = Math.max(1, _local6);
_local5 = _local6;
};
var _local7:Number = ((100 * _local6) / _local5);
var _local8:Number = ((100 * _local3) / chk.ad_msec);
var _local9:Object = this._mochiad_bar._inside;
var _local10:Number = Math.min(100, Math.min(((_local7) || (0)), _local8));
_local10 = Math.max(this.last_pcnt, _local10);
this.last_pcnt = _local10;
_local9.scaleX = (_local10 * 0.01);
options.ad_progress(_local10);
if (sendHostProgress){
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local7});
if (_local7 == 100){
sendHostProgress = false;
};
};
if (!chk.showing){
_local11 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local11 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if ((((_local3 > chk.ad_timeout)) && ((_local7 == 100)))){
options.ad_failed();
_local4 = true;
};
};
};
if (_local3 > chk.ad_msec){
_local4 = true;
};
if (((complete) && (_local4))){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function showPreloaderAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0");
MochiAd.showPreGameAd(_arg1);
}
public static function showTimedAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0");
MochiAd.showInterLevelAd(_arg1);
}
public static function doOnEnterFrame(_arg1:MovieClip):void{
var mc = _arg1;
var f:Function = function (_arg1:Object):void{
if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){
mc.onEnterFrame();
} else {
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
};
mc.addEventListener(Event.ENTER_FRAME, f);
}
}
}//package com.mochi
Section 2
//MochiBot (com.mochi.MochiBot)
package com.mochi {
import flash.display.*;
import flash.net.*;
import flash.system.*;
public dynamic class MochiBot extends Sprite {
public static function track(_arg1:Sprite, _arg2:String):MochiBot{
if (Security.sandboxType == "localWithFile"){
return (null);
};
var _local3:MochiBot = new (MochiBot);
_arg1.addChild(_local3);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
var _local4 = "http://core.mochibot.com/my/core.swf";
var _local5:URLVariables = new URLVariables();
_local5["sb"] = Security.sandboxType;
_local5["v"] = Capabilities.version;
_local5["swfid"] = _arg2;
_local5["mv"] = "8";
_local5["fv"] = "9";
var _local6:String = _local3.root.loaderInfo.loaderURL;
if (_local6.indexOf("http") == 0){
_local5["url"] = _local6;
} else {
_local5["url"] = "local";
};
var _local7:URLRequest = new URLRequest(_local4);
_local7.contentType = "application/x-www-form-urlencoded";
_local7.method = URLRequestMethod.POST;
_local7.data = _local5;
var _local8:Loader = new Loader();
_local3.addChild(_local8);
_local8.load(_local7);
return (_local3);
}
}
}//package com.mochi
Section 3
//MochiDigits (com.mochi.MochiDigits)
package com.mochi {
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 reencode():void{
var _local1:uint = int((2147483647 * Math.random()));
Fragment = (Fragment ^ (_local1 ^ Encoder));
Encoder = _local1;
}
public function set value(_arg1:Number):void{
setValue(_arg1);
}
public function toString():String{
var _local1:String = String.fromCharCode((Fragment ^ Encoder));
if (Sibling != null){
_local1 = (_local1 + Sibling.toString());
};
return (_local1);
}
public function setValue(_arg1:Number=0, _arg2:uint=0):void{
var _local3:String = _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 get value():Number{
return (Number(this.toString()));
}
public function addValue(_arg1:Number):void{
value = (value + _arg1);
}
}
}//package com.mochi
Section 4
//MochiScores (com.mochi.MochiScores)
package com.mochi {
import flash.display.*;
import flash.text.*;
public class MochiScores {
private static var boardID:String;
public static var onErrorHandler:Object;
public static var onCloseHandler:Object;
public static function showLeaderboard(_arg1:Object=null):void{
var n:Number;
var options = _arg1;
if (options != null){
if (options.clip != null){
if ((options.clip is Sprite)){
MochiServices.setContainer(options.clip);
};
delete options.clip;
} else {
MochiServices.setContainer();
};
MochiServices.stayOnTop();
if (options.name != null){
if ((options.name is TextField)){
if (options.name.text.length > 0){
options.name = options.name.text;
};
};
};
if (options.score != null){
if ((options.score is TextField)){
if (options.score.text.length > 0){
options.score = options.score.text;
};
} else {
if ((options.score is MochiDigits)){
options.score = options.score.value;
};
};
n = Number(options.score);
if (isNaN(n)){
trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is 'Not a Number'"));
} else {
if ((((n == Number.NEGATIVE_INFINITY)) || ((n == Number.POSITIVE_INFINITY)))){
trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is an infinite"));
} else {
if (Math.floor(n) != n){
trace((("WARNING: Submitted score '" + options.score) + "' will be truncated"));
};
options.score = n;
};
};
};
if (options.onDisplay != null){
options.onDisplay();
} else {
if (MochiServices.clip != null){
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
};
} else {
options = {};
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
if (options.onClose != null){
onCloseHandler = options.onClose;
} else {
onCloseHandler = function ():void{
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.play();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onClose.");
};
};
};
if (options.onError != null){
onErrorHandler = options.onError;
} else {
onErrorHandler = null;
};
if (options.boardID == null){
if (MochiScores.boardID != null){
options.boardID = MochiScores.boardID;
};
};
MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose);
}
public static function closeLeaderboard():void{
MochiServices.send("scores_closeLeaderboard");
}
public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2);
}
public static function requestList(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_requestList", null, _arg1, _arg2);
}
public static function scoresArrayToObjects(_arg1:Object):Object{
var _local3:Number;
var _local4:Number;
var _local5:Object;
var _local6:Object;
var _local7:String;
var _local8:String;
var _local2:Object = {};
for (_local7 in _arg1) {
if (typeof(_arg1[_local7]) == "object"){
if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){
_local2[_local7] = [];
_local5 = _arg1[_local7];
_local4 = 0;
while (_local4 < _local5.rows.length) {
_local6 = {};
_local3 = 0;
while (_local3 < _local5.cols.length) {
_local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3];
_local3++;
};
_local2[_local7].push(_local6);
_local4++;
};
} else {
_local2[_local7] = {};
for (_local8 in _arg1[_local7]) {
_local2[_local7][_local8] = _arg1[_local7][_local8];
};
};
} else {
_local2[_local7] = _arg1[_local7];
};
};
return (_local2);
}
public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{
_arg1 = Number(_arg1);
if (isNaN(_arg1)){
trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is 'Not a Number'"));
} else {
if ((((_arg1 == Number.NEGATIVE_INFINITY)) || ((_arg1 == Number.POSITIVE_INFINITY)))){
trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is an infinite"));
} else {
if (Math.floor(_arg1) != _arg1){
trace((("WARNING: Submitted score '" + String(_arg1)) + "' will be truncated"));
};
_arg1 = Number(_arg1);
};
};
MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4);
}
public static function onClose(_arg1:Object=null):void{
if (_arg1 != null){
if (_arg1.error != null){
if (_arg1.error == true){
if (onErrorHandler != null){
if (_arg1.errorCode == null){
_arg1.errorCode = "IOError";
};
onErrorHandler(_arg1.errorCode);
MochiServices.doClose();
return;
};
};
};
};
onCloseHandler();
MochiServices.doClose();
}
public static function setBoardID(_arg1:String):void{
MochiScores.boardID = _arg1;
MochiServices.send("scores_setBoardID", {boardID:_arg1});
}
}
}//package com.mochi
Section 5
//MochiServices (com.mochi.MochiServices)
package com.mochi {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class MochiServices {
private static var _container:Object;
private static var _connected:Boolean = false;
private static var _swfVersion:String;
public static var netupAttempted:Boolean = false;
private static var _sendChannel:LocalConnection;
private static var _clip:MovieClip;
private static var _loader:Loader;
private static var _id:String;
private static var _listenChannel:LocalConnection;
private static var _timer:Timer;
private static var _sendChannelName:String;
private static var _startTime:Number;
private static var _connecting:Boolean = false;
public static var onError:Object;
private static var _listenChannelName:String = "__ms_";
private static var _servicesURL:String = "http://www.mochiads.com/static/lib/services/services.swf";
public static var netup:Boolean = true;
public static function isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{
if (_connected){
_sendChannel.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID});
} else {
if ((((_clip == null)) || (!(_connecting)))){
onError("NotConnected");
handleError(_arg2, _arg3, _arg4);
flush(true);
return;
};
_clip._queue.push({methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID});
};
if (_clip != null){
if (((!((_clip._callbacks == null))) && (!((_clip._nextcallbackID == null))))){
_clip._callbacks[_clip._nextcallbackID] = {callbackObject:_arg3, callbackMethod:_arg4};
_clip._nextcallbackID++;
};
};
}
public static function get connected():Boolean{
return (_connected);
}
private static function flush(_arg1:Boolean):void{
var _local2:Object;
var _local3:Object;
if (_clip != null){
if (_clip._queue != null){
while (_clip._queue.length > 0) {
_local2 = _clip._queue.shift();
_local3 = null;
if (_local2 != null){
if (_local2.callbackID != null){
_local3 = _clip._callbacks[_local2.callbackID];
};
delete _clip._callbacks[_local2.callbackID];
if (((_arg1) && (!((_local3 == null))))){
handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod);
};
};
};
};
};
}
private static function clickMovie(_arg1:String, _arg2:Function):MovieClip{
var _local4:int;
var _local14:Loader;
var _local3:Array = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23];
var _local5:Array = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3];
var _local6:Array = [0, 64, 0, 0, 0];
var _local7:MovieClip = new MovieClip();
var _local8:LocalConnection = new LocalConnection();
var _local9:String = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().getTime()));
_local8 = new LocalConnection();
_local7.lc = _local8;
_local7.click = _arg2;
_local8.client = _local7;
_local8.connect(_local9);
var _local10:ByteArray = new ByteArray();
var _local11:ByteArray = new ByteArray();
_local11.endian = Endian.LITTLE_ENDIAN;
_local11.writeShort(1);
_local11.writeUTFBytes(((_arg1 + " ") + _local9));
_local11.writeByte(0);
var _local12:uint = ((_local3.length + _local11.length) + 4);
var _local13:uint = (_local12 + 35);
_local10.endian = Endian.LITTLE_ENDIAN;
_local10.writeUTFBytes("FWS");
_local10.writeByte(8);
_local10.writeUnsignedInt(_local13);
for each (_local4 in _local5) {
_local10.writeByte(_local4);
};
_local10.writeUnsignedInt(_local12);
_local10.writeByte(136);
_local10.writeShort(_local11.length);
_local10.writeBytes(_local11);
for each (_local4 in _local3) {
_local10.writeByte(_local4);
};
for each (_local4 in _local6) {
_local10.writeByte(_local4);
};
_local14 = new Loader();
_local14.loadBytes(_local10);
_local7.addChild(_local14);
return (_local7);
}
private static function init(_arg1:String, _arg2:Object):void{
_id = _arg1;
if (_arg2 != null){
_container = _arg2;
loadCommunicator(_arg1, _container);
};
}
public static function get childClip():Object{
return (_clip);
}
public static function stayOnTop():void{
_container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true);
if (_clip != null){
_clip.visible = true;
};
}
public static function addLinkEvent(_arg1:String, _arg2:String, _arg3:DisplayObjectContainer, _arg4:Function=null):void{
var avm1Click:DisplayObject;
var x:String;
var req:URLRequest;
var loader:Loader;
var setURL:Function;
var err:Function;
var complete:Function;
var url = _arg1;
var burl = _arg2;
var btn = _arg3;
var onClick = _arg4;
var vars:Object = new Object();
vars["mav"] = getVersion();
vars["swfv"] = "9";
vars["swfurl"] = btn.loaderInfo.loaderURL;
vars["fv"] = Capabilities.version;
vars["os"] = Capabilities.os;
vars["lang"] = Capabilities.language;
vars["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY);
var s = "?";
var i:Number = 0;
for (x in vars) {
if (i != 0){
s = (s + "&");
};
i = (i + 1);
s = (((s + x) + "=") + escape(vars[x]));
};
req = new URLRequest("http://x.mochiads.com/linkping.swf");
loader = new Loader();
setURL = function (_arg1:String):void{
if (avm1Click){
btn.removeChild(avm1Click);
};
avm1Click = clickMovie(_arg1, onClick);
var _local2:Rectangle = btn.getBounds(btn);
btn.addChild(avm1Click);
avm1Click.x = _local2.x;
avm1Click.y = _local2.y;
avm1Click.scaleX = (0.01 * _local2.width);
avm1Click.scaleY = (0.01 * _local2.height);
};
err = function (_arg1:Object):void{
netup = false;
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
setURL(burl);
};
complete = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
if (netup){
setURL((url + s));
} else {
setURL(burl);
};
if (!((netupAttempted) || (_connected))){
netupAttempted = true;
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
loader.load(req);
};
}
public static function disconnect():void{
if (((_connected) || (_connecting))){
if (_clip != null){
if (_clip.parent != null){
if ((_clip.parent is Sprite)){
Sprite(_clip.parent).removeChild(_clip);
_clip = null;
};
};
};
_connecting = (_connected = false);
flush(true);
try {
_listenChannel.close();
} catch(error:Error) {
};
};
if (_timer != null){
try {
_timer.stop();
} catch(error:Error) {
};
};
}
public static function allowDomains(_arg1:String):String{
var _local2:String;
if (Security.sandboxType != "application"){
Security.allowDomain("*");
Security.allowInsecureDomain("*");
};
if (_arg1.indexOf("http://") != -1){
_local2 = _arg1.split("/")[2].split(":")[0];
if (Security.sandboxType != "application"){
Security.allowDomain("*");
Security.allowInsecureDomain("*");
};
};
return (_local2);
}
public static function getVersion():String{
return ("1.43");
}
public static function doClose():void{
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
if (_clip.parent != null){
Sprite(_clip.parent).removeChild(_clip);
};
}
private static function onStatus(_arg1:StatusEvent):void{
switch (_arg1.level){
case "error":
_connected = false;
_listenChannel.connect(_listenChannelName);
break;
};
}
public static function get id():String{
return (_id);
}
private static function urlOptions(_arg1:Object):Object{
var _local4:Array;
var _local5:Number;
var _local6:Array;
var _local2:Object = {};
var _local3:String = _arg1.loaderInfo.parameters.mochiad_options;
if (_local3){
_local4 = _local3.split("&");
_local5 = 0;
while (_local5 < _local4.length) {
_local6 = _local4[_local5].split("=");
_local2[unescape(_local6[0])] = unescape(_local6[1]);
_local5++;
};
};
return (_local2);
}
public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{
if (_arg1 != null){
if ((_arg1 is Sprite)){
_container = _arg1;
};
};
if (_arg2){
if ((_container is Sprite)){
Sprite(_container).addChild(_clip);
};
};
}
private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{
var args = _arg1;
var callbackObject = _arg2;
var callbackMethod = _arg3;
if (args != null){
if (args.onError != null){
args.onError.apply(null, ["NotConnected"]);
};
if (((!((args.options == null))) && (!((args.options.onError == null))))){
args.options.onError.apply(null, ["NotConnected"]);
};
};
if (callbackMethod != null){
args = {};
args.error = true;
args.errorCode = "NotConnected";
if (((!((callbackObject == null))) && ((callbackMethod is String)))){
try {
var _local5 = callbackObject;
_local5[callbackMethod](args);
} catch(error:Error) {
};
} else {
if (callbackMethod != null){
try {
callbackMethod.apply(args);
} catch(error:Error) {
};
};
};
};
}
private static function initComChannels():void{
if (!_connected){
_sendChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus);
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_container, version:getVersion(), parentURL:_container.loaderInfo.loaderURL});
_listenChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus);
_clip.onReceive = function (_arg1:Object):void{
var methodName:String;
var pkg = _arg1;
var cb:String = pkg.callbackID;
var cblst:Object = this.client._callbacks[cb];
if (!cblst){
return;
};
var method:* = cblst.callbackMethod;
methodName = "";
var obj:Object = cblst.callbackObject;
if (((obj) && ((typeof(method) == "string")))){
methodName = method;
if (obj[method] != null){
method = obj[method];
} else {
trace((("Error: Method " + method) + " does not exist."));
};
};
if (method != undefined){
try {
method.apply(obj, pkg.args);
} catch(error:Error) {
trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString()));
};
} else {
if (obj != null){
try {
obj(pkg.args);
} catch(error:Error) {
trace(("Error invoking method on object: " + error.toString()));
};
};
};
delete this.client._callbacks[cb];
};
_clip.onError = function ():void{
MochiServices.onError("IOError");
};
trace("connected!");
_connecting = false;
_connected = true;
while (_clip._queue.length > 0) {
_sendChannel.send(_sendChannelName, "onReceive", _clip._queue.shift());
};
};
}
private static function listen():void{
_listenChannel = new LocalConnection();
_listenChannel.client = _clip;
_clip.handshake = function (_arg1:Object):void{
MochiServices.comChannelName = _arg1.newChannel;
};
_listenChannel.allowDomain("*", "localhost");
_listenChannel.allowInsecureDomain("*", "localhost");
_listenChannel.connect(_listenChannelName);
trace("Waiting for MochiAds services to connect...");
}
public static function set comChannelName(_arg1:String):void{
if (_arg1 != null){
if (_arg1.length > 3){
_sendChannelName = (_arg1 + "_fromgame");
initComChannels();
};
};
}
private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{
var id = _arg1;
var clip = _arg2;
var clipname:String = ("_mochiservices_com_" + id);
if (_clip != null){
return (_clip);
};
if (!MochiServices.isNetworkAvailable()){
return (null);
};
if (urlOptions(clip).servicesURL != undefined){
_servicesURL = urlOptions(clip).servicesURL;
};
MochiServices.allowDomains(_servicesURL);
_clip = createEmptyMovieClip(clip, clipname, 10336, false);
_loader = new Loader();
_timer = new Timer(1000, 0);
_startTime = getTimer();
_timer.addEventListener(TimerEvent.TIMER, connectWait);
_timer.start();
var f:Function = function (_arg1:Object):void{
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
MochiServices.disconnect();
MochiServices.onError("IOError");
};
_listenChannelName = (_listenChannelName + ((Math.floor(new Date().getTime()) + "_") + Math.floor((Math.random() * 99999))));
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f);
var req:URLRequest = new URLRequest(_servicesURL);
var vars:URLVariables = new URLVariables();
vars.listenLC = _listenChannelName;
vars.mochiad_options = clip.loaderInfo.parameters.mochiad_options;
req.data = vars;
_loader.load(req);
_clip.addChild(_loader);
_clip._mochiservices_com = _loader;
_sendChannel = new LocalConnection();
_clip._queue = [];
_clip._nextcallbackID = 0;
_clip._callbacks = {};
listen();
return (_clip);
}
public static function get clip():Object{
return (_container);
}
public static function bringToTop(_arg1:Event):void{
var e = _arg1;
if (MochiServices.clip != null){
if (MochiServices.childClip != null){
try {
if (MochiServices.clip.numChildren > 1){
MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1));
};
} catch(errorObject:Error) {
trace("Warning: Depth sort error.");
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
};
};
};
}
public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{
var id = _arg1;
var clip = _arg2;
var onError = _arg3;
if ((clip is DisplayObject)){
if (((!(_connected)) && ((_clip == null)))){
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
};
} else {
trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage.");
};
if (onError != null){
MochiServices.onError = onError;
} else {
if (MochiServices.onError == null){
MochiServices.onError = function (_arg1:String):void{
trace(_arg1);
};
};
};
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Boolean=true):MovieClip{
var parent = _arg1;
var name = _arg2;
var depth = _arg3;
var doAdd = _arg4;
var mc:MovieClip = new MovieClip();
if (doAdd){
if (((false) && (depth))){
parent.addChildAt(mc, depth);
} else {
parent.addChild(mc);
};
};
try {
parent[name] = mc;
} catch(e:Error) {
throw (new Error("MochiServices requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
mc["_name"] = name;
return (mc);
}
public static function connectWait(_arg1:TimerEvent):void{
if ((getTimer() - _startTime) > 10000){
if (!_connected){
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
MochiServices.disconnect();
MochiServices.onError("IOError");
};
_timer.stop();
};
}
}
}//package com.mochi
Section 6
//AchievementAPI (com.moonmana.api.AchievementAPI)
package com.moonmana.api {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.system.*;
import flash.external.*;
public class AchievementAPI {
private static var _container:Object;
private static var _height:int;
private static var _width:int;
private static var _gameid:String = "";
private static var _demo:Boolean = false;
public static var api:MovieClip;
private static function onIOError(_arg1:IOErrorEvent):void{
trace(("Achievement SWF not found: " + _arg1.text));
}
public static function success(_arg1:String):void{
var id = _arg1;
if (api == null){
return;
};
try {
api.success(id);
api.addEventListener(Event.COMPLETE, updateAchievements);
} catch(e:Error) {
trace("Achievement error!");
};
}
private static function progress(_arg1:ProgressEvent):void{
trace(((("progressHandler: bytesLoaded=" + _arg1.bytesLoaded) + " bytesTotal=") + _arg1.bytesTotal));
}
public static function init(_arg1:Object, _arg2:String, _arg3:int, _arg4:int, _arg5:Boolean=false):void{
var container = _arg1;
var gameid = _arg2;
var width = _arg3;
var height = _arg4;
var demo = _arg5;
if (api != null){
return;
};
_gameid = gameid;
_demo = demo;
_container = container;
_width = width;
_height = height;
Security.allowDomain("*");
var loader:Loader = new Loader();
var request:URLRequest = new URLRequest("http://moonmana.com/api/get.php");
var variables:URLVariables = new URLVariables();
variables.nocache = new Date().getTime();
request.data = variables;
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurity);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
loader.contentLoaderInfo.addEventListener(HTTPStatusEvent.HTTP_STATUS, onHttp);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progress);
try {
loader.load(request);
trace("Loading achievements...");
} catch(error:Error) {
trace("Error loading achievements");
};
}
private static function onHttp(_arg1:HTTPStatusEvent):void{
trace(("httpstatus: " + _arg1.status));
}
private static function onSecurity(_arg1:SecurityErrorEvent):void{
trace(_arg1);
}
private static function updateAchievements(_arg1:Event):void{
api.removeEventListener(Event.COMPLETE, updateAchievements);
ExternalInterface.call("updateAchievements()");
}
private static function onComplete(_arg1:Event):void{
trace("MM Achievements Loading complete!");
Security.allowDomain("*");
api = _container.addChild(_arg1.target.loader.content);
api.init(_gameid, _container, _width, _height, _demo);
}
}
}//package com.moonmana.api
Section 7
//Bundle (com.moonmana.bundles.Bundle)
package com.moonmana.bundles {
public class Bundle {
private var values:Array;
private var keys:Array;
public function Bundle(){
keys = new Array();
values = new Array();
}
public function getString(_arg1:String, _arg2:String=null):String{
var _local3:int = keys.length;
var _local4:uint;
while (_local4 < _local3) {
if (keys[_local4] == _arg1){
if (_arg2 != null){
return ((values[_local4] as String).replace("{}", _arg2));
};
return (values[_local4]);
};
_local4++;
};
trace(("Bundle string not found! Key: " + _arg1));
return (null);
}
public function put(_arg1:String, _arg2:String):void{
var _local3:int = keys.length;
var _local4:uint;
while (_local4 < _local3) {
if (keys[_local4] == _arg1){
trace(("Rewriting bundle value: " + _arg2));
values[_local4] = _arg2;
return;
};
_local4++;
};
keys.push(_arg1);
values.push(_arg2);
}
}
}//package com.moonmana.bundles
Section 8
//Ad (com.moonmana.mmad.Ad)
package com.moonmana.mmad {
import flash.display.*;
import main.*;
import com.mochi.*;
import com.moonmana.ui.*;
import CPMStar.*;
import com.moonmana.sponsors.AG.*;
import com.moonmana.sponsors.MoFunZone.*;
import com.moonmana.sponsors.Andkon.*;
public dynamic class Ad extends ScreenObject {
private static var ad:DisplayObject;
private static var _mc:MovieClip;
private static var _adBox:Ad;
private static var ag:MovieClip;
public function Ad(_arg1:int, _arg2:int){
super(_arg1, _arg2);
place();
}
public static function show(_arg1:MovieClip, _arg2:int, _arg3:int):void{
var _local4:Boolean;
var _local5:String;
if (Main.BUILD == Main.ARMOR_GAMES){
ag = new ArmorGamesMCAd();
_adBox = new Ad((_arg2 + 150), (_arg3 + 122));
_mc = _arg1;
_arg1.addChild(_adBox);
_adBox.addChild(ag);
} else {
if (Main.BUILD == Main.MOFUNZONE){
ag = new MoFunZoneMCAd();
_adBox = new Ad((_arg2 + 28), (_arg3 + 22));
_mc = _arg1;
_arg1.addChild(_adBox);
_adBox.addChild(ag);
} else {
if (Main.BUILD == Main.ANDKON){
ag = new AndkonLogo();
_adBox = new Ad((_arg2 + 40), (_arg3 + 11));
_mc = _arg1;
_arg1.addChild(_adBox);
_adBox.addChild(ag);
} else {
if (!Locker.isAdAllowed(Main.stage)){
return;
};
_adBox = new Ad(_arg2, _arg3);
_mc = _arg1;
_arg1.addChild(_adBox);
if (Main.AD_BUILD == Main.CPM){
_local4 = (((Main.BUILD == Main.MOONMANA)) || (((Math.random() * 10) > 6)));
_local5 = (_local4) ? "2549QA6D27682" : "2543QD0F052B5";
ad = new AdLoader(_local5);
_adBox.addChild(ad);
} else {
MochiAd.showClickAwayAd({clip:_adBox, id:"c23d3122d731706f"});
};
};
};
};
}
public static function remove():void{
if (Main.BUILD == Main.ARMOR_GAMES){
try {
_mc.removeChild(ag);
ag = null;
_mc = null;
} catch(e:Error) {
};
} else {
if (!Locker.isAdAllowed(Main.stage)){
return;
};
try {
if (Main.AD_BUILD == Main.CPM){
if (ad != null){
_adBox.removeChild(ad);
};
if (((!((_adBox == null))) && (!((_mc == null))))){
_mc.removeChild(_adBox);
};
} else {
MochiAd.unload(_adBox);
};
ad = null;
_adBox = null;
_mc = null;
} catch(e:Error) {
};
};
}
}
}//package com.moonmana.mmad
Section 9
//AdsContainer (com.moonmana.mmad.AdsContainer)
package com.moonmana.mmad {
import flash.display.*;
public class AdsContainer extends MovieClip {
public function AdsContainer(){
addFrameScript(0, frame1, 1, frame2);
super();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package com.moonmana.mmad
Section 10
//MMAd (com.moonmana.mmad.MMAd)
package com.moonmana.mmad {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.net.*;
public class MMAd {
private var _text:String;
private var _textField:TextField;
private var _uri:String;
private var _mc:MovieClip;
public function MMAd(_arg1:TextField, _arg2:MovieClip){
_mc = _arg2;
_textField = _arg1;
}
public function goUri(_arg1:Event=null):void{
if (_uri == ""){
return;
};
var _local2:URLRequest = new URLRequest(_uri);
navigateToURL(_local2, "_blank");
}
public function clean():void{
_mc.removeEventListener(MouseEvent.MOUSE_DOWN, goUri);
}
public function get text():String{
return (_text);
}
public function get uri():String{
return (_uri);
}
private function loaderCompleteHandler(_arg1:Event):void{
var _local2:Array = (_arg1.target.data as String).split("|");
_text = _local2[0];
_uri = _local2[1];
_mc.addEventListener(MouseEvent.MOUSE_DOWN, goUri);
_textField.text = _text;
}
public static function goMoonMana(_arg1:Event=null):void{
var _local2:URLRequest = new URLRequest("http://moonmana.com");
navigateToURL(_local2, "_blank");
}
public static function goYoumaybe(_arg1:Event=null):void{
var _local2:URLRequest = new URLRequest("http://www.myspace.com/youmaybe");
navigateToURL(_local2, "_blank");
}
public static function goCoolBuddy(_arg1:Event=null):void{
var _local2:URLRequest = new URLRequest("http://www.coolbuddy.com/?cid=217");
navigateToURL(_local2, "_blank");
}
public static function goCoolBuddyWT(_arg1:Event=null):void{
var _local2:URLRequest = new URLRequest("http://www.coolbuddy.com/games/community/game_walkthrough.asp?cat=2050");
navigateToURL(_local2, "_blank");
}
public static function goMo(_arg1:Event=null):void{
var _local2:URLRequest = new URLRequest("http://www.mofunzone.com");
navigateToURL(_local2, "_blank");
}
public static function goCoolBuddyFacebook(_arg1:Event=null):void{
var _local2:URLRequest = new URLRequest("http://www.facebook.com/pages/Coolbuddy-Games/177306910591");
navigateToURL(_local2, "_blank");
}
}
}//package com.moonmana.mmad
Section 11
//Spark (com.moonmana.splash.mc.Spark)
package com.moonmana.splash.mc {
import flash.display.*;
public class Spark extends MovieClip {
}
}//package com.moonmana.splash.mc
Section 12
//SparkAnim (com.moonmana.splash.mc.SparkAnim)
package com.moonmana.splash.mc {
import flash.display.*;
import flash.events.*;
import com.moonmana.splash.utils.*;
public class SparkAnim extends MovieClip {
private const X:int = -90;
private const Y:int = -10;
private var _spark:Spark;
private var odd:int;// = 0
private var _count:int;// = 0
public var spark:Spark;
public function SparkAnim(){
addFrameScript(59, frame60);
super();
_spark = (getChildByName("spark") as Spark);
x = (X + ((Math.random() * 18) * (((Math.random() * 2) > 1)) ? -1 : 1));
y = (Y + ((Math.random() * 18) * (((Math.random() * 2) > 1)) ? -1 : 1));
rotation = (Math.random() * 360);
addEventListener(Event.ENTER_FRAME, addTrace);
}
private function removeTrace(_arg1:Event):void{
var _local2:Trace = (_arg1.target as Trace);
_local2.removeEventListener(MMEvent.DEAD2, removeTrace);
removeChild(_local2);
_local2 = null;
if (numChildren == 0){
dispatchEvent(new MMEvent(MMEvent.DEAD));
};
}
public function get sparkRotation():int{
return (_spark.rotation);
}
public function get sparkY():int{
return (_spark.y);
}
private function addTrace(_arg1:Event):void{
_count++;
if (_count < 12){
return;
};
odd = ((odd == 0)) ? 1 : 0;
if (odd){
return;
};
var _local2:Trace = new Trace();
_local2.addEventListener(MMEvent.DEAD2, removeTrace);
addChild(_local2);
_local2.x = sparkX;
_local2.y = sparkY;
_local2.rotation = sparkRotation;
}
function frame60(){
dispatchEvent(new MMEvent(MMEvent.DEAD));
stop();
}
public function clean():void{
removeEventListener(Event.ENTER_FRAME, addTrace);
removeChild(_spark);
}
public function get sparkX():int{
return (_spark.x);
}
}
}//package com.moonmana.splash.mc
Section 13
//Trace (com.moonmana.splash.mc.Trace)
package com.moonmana.splash.mc {
import flash.display.*;
import com.moonmana.splash.utils.*;
public class Trace extends MovieClip {
public function Trace(){
addFrameScript(29, frame30);
super();
}
function frame30(){
dispatchEvent(new MMEvent(MMEvent.DEAD2));
}
}
}//package com.moonmana.splash.mc
Section 14
//MMEvent (com.moonmana.splash.utils.MMEvent)
package com.moonmana.splash.utils {
import flash.events.*;
public class MMEvent extends Event {
public static const DEAD:String = "dead";
public static const END:String = "end";
public static const DEAD2:String = "dead2";
public function MMEvent(_arg1:String){
super(_arg1, true, false);
}
}
}//package com.moonmana.splash.utils
Section 15
//MoonManaLogo (com.moonmana.splash.MoonManaLogo)
package com.moonmana.splash {
import flash.display.*;
import flash.events.*;
import main.*;
import flash.net.*;
public class MoonManaLogo extends SimpleButton {
public function MoonManaLogo(){
if (Main.BUILD != Main.COOLBUDDY){
addEventListener(MouseEvent.MOUSE_DOWN, goMoonMana);
};
}
public static function goMoonMana(_arg1:Event):void{
var _local2:URLRequest = new URLRequest("http://www.moonmana.com/referer/5");
navigateToURL(_local2, "_blank");
}
}
}//package com.moonmana.splash
Section 16
//MoonManaSplash (com.moonmana.splash.MoonManaSplash)
package com.moonmana.splash {
import flash.events.*;
import com.moonmana.splash.utils.*;
import com.moonmana.splash.mc.*;
import com.moonmana.sponsors.*;
public class MoonManaSplash extends Splash {
private var _count:int;// = 0
public function MoonManaSplash(){
addFrameScript(199, frame200);
super();
addEventListener(Event.ENTER_FRAME, generateSpark);
}
private function removeSpark2(_arg1:Event):void{
var _local2:SparkAnim = (_arg1.target as SparkAnim);
_local2.removeEventListener(MMEvent.DEAD, removeSpark2);
removeChild(_local2);
_local2 = null;
}
function frame200(){
dispatchEvent(new MMEvent(MMEvent.END));
stop();
}
private function generateSpark(_arg1:Event):void{
_count++;
if ((((_count > 20)) || ((_count < 10)))){
return;
};
var _local2:SparkAnim = new SparkAnim();
_local2.addEventListener(MMEvent.DEAD, removeSpark);
addChild(_local2);
}
private function removeSpark(_arg1:Event):void{
var _local2:SparkAnim = (_arg1.target as SparkAnim);
_local2.removeEventListener(MMEvent.DEAD, removeSpark);
_local2.clean();
_local2.addEventListener(MMEvent.DEAD, removeSpark2);
}
}
}//package com.moonmana.splash
Section 17
//ArmorGamesMC (com.moonmana.sponsors.AG.ArmorGamesMC)
package com.moonmana.sponsors.AG {
import flash.events.*;
import com.moonmana.sponsors.*;
import flash.net.*;
public class ArmorGamesMC extends Splash {
public function ArmorGamesMC(){
addEventListener(MouseEvent.CLICK, goAG);
buttonMode = true;
}
public static function goAG(_arg1:Event):void{
var _local2:URLRequest = new URLRequest("http://www.armorgames.com");
navigateToURL(_local2, "_blank");
}
}
}//package com.moonmana.sponsors.AG
Section 18
//ArmorGamesMCAd (com.moonmana.sponsors.AG.ArmorGamesMCAd)
package com.moonmana.sponsors.AG {
import flash.display.*;
import flash.events.*;
public class ArmorGamesMCAd extends MovieClip {
public function ArmorGamesMCAd(){
addEventListener(MouseEvent.CLICK, ArmorGamesMC.goAG);
buttonMode = true;
}
}
}//package com.moonmana.sponsors.AG
Section 19
//AndkonLogo (com.moonmana.sponsors.Andkon.AndkonLogo)
package com.moonmana.sponsors.Andkon {
import flash.events.*;
import com.moonmana.ui.*;
import flash.net.*;
public class AndkonLogo extends ScreenObject {
public function AndkonLogo(){
super(26, 0);
addEventListener(MouseEvent.CLICK, go);
buttonMode = true;
}
public static function go(_arg1:Event):void{
var _local2:URLRequest = new URLRequest("http://www.andkon.com");
navigateToURL(_local2, "_blank");
}
}
}//package com.moonmana.sponsors.Andkon
Section 20
//CoolBuddyButton (com.moonmana.sponsors.coolbuddy.CoolBuddyButton)
package com.moonmana.sponsors.coolbuddy {
import flash.display.*;
public class CoolBuddyButton extends SimpleButton {
public function CoolBuddyButton(_arg1:DisplayObject=null, _arg2:DisplayObject=null, _arg3:DisplayObject=null, _arg4:DisplayObject=null){
super(_arg1, _arg2, _arg3, _arg4);
}
}
}//package com.moonmana.sponsors.coolbuddy
Section 21
//FacebookBtn (com.moonmana.sponsors.coolbuddy.FacebookBtn)
package com.moonmana.sponsors.coolbuddy {
import com.moonmana.ui.*;
public class FacebookBtn extends ScreenObject {
public function FacebookBtn(_arg1:int, _arg2:int){
super(_arg1, _arg2);
buttonMode = true;
}
}
}//package com.moonmana.sponsors.coolbuddy
Section 22
//FacebookCatchBtn (com.moonmana.sponsors.coolbuddy.FacebookCatchBtn)
package com.moonmana.sponsors.coolbuddy {
import com.moonmana.ui.*;
public class FacebookCatchBtn extends ScreenObject {
public function FacebookCatchBtn(_arg1:int, _arg2:int){
super(_arg1, _arg2);
buttonMode = true;
}
}
}//package com.moonmana.sponsors.coolbuddy
Section 23
//MoFunZoneMCAd (com.moonmana.sponsors.MoFunZone.MoFunZoneMCAd)
package com.moonmana.sponsors.MoFunZone {
import flash.display.*;
import flash.events.*;
public class MoFunZoneMCAd extends MovieClip {
public function MoFunZoneMCAd(){
addEventListener(MouseEvent.CLICK, MoFunZoneSplash.go);
buttonMode = true;
}
}
}//package com.moonmana.sponsors.MoFunZone
Section 24
//MoFunZoneSplash (com.moonmana.sponsors.MoFunZone.MoFunZoneSplash)
package com.moonmana.sponsors.MoFunZone {
import flash.events.*;
import com.moonmana.sponsors.*;
import flash.net.*;
public class MoFunZoneSplash extends Splash {
public function MoFunZoneSplash(){
addEventListener(MouseEvent.CLICK, go);
buttonMode = true;
}
public static function go(_arg1:Event):void{
var _local2:URLRequest = new URLRequest("http://www.mofunzone.com");
navigateToURL(_local2, "_blank");
}
}
}//package com.moonmana.sponsors.MoFunZone
Section 25
//Splash (com.moonmana.sponsors.Splash)
package com.moonmana.sponsors {
import flash.display.*;
public class Splash extends MovieClip {
}
}//package com.moonmana.sponsors
Section 26
//MMButton (com.moonmana.ui.MMButton)
package com.moonmana.ui {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class MMButton extends ScreenObject {
public var txtOver:MovieClip;
public var txtUp:MovieClip;
public var txtDown:MovieClip;
private var _label:String;
public var hit:MovieClip;
public function MMButton(_arg1:int, _arg2:int){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
super(_arg1, _arg2);
buttonMode = true;
addEventListener(MouseEvent.MOUSE_OVER, over);
addEventListener(MouseEvent.MOUSE_OUT, up);
addEventListener(MouseEvent.MOUSE_DOWN, down);
}
private function down(_arg1:MouseEvent=null):void{
gotoAndStop("down");
(getMC("txtDown").getChildByName("labelDown") as TextField).text = _label;
}
function frame2(){
stop();
}
function frame3(){
stop();
}
function frame1(){
stop();
}
private function over(_arg1:MouseEvent=null):void{
gotoAndStop("over");
var _local2:MovieClip = (getMC("txtOver").getChildByName("txt") as MovieClip);
(_local2.getChildByName("label") as TextField).text = _label;
}
public function setLabel(_arg1:String):void{
_label = _arg1;
(getMC("txtUp").getChildByName("label") as TextField).text = _arg1;
}
private function up(_arg1:MouseEvent=null):void{
gotoAndStop("up");
(getMC("txtUp").getChildByName("label") as TextField).text = _label;
}
}
}//package com.moonmana.ui
Section 27
//ScreenObject (com.moonmana.ui.ScreenObject)
package com.moonmana.ui {
import flash.display.*;
import flash.text.*;
public class ScreenObject extends MovieClip {
private var _x:int;
private var _y:int;
public function ScreenObject(_arg1:int, _arg2:int){
_x = _arg1;
_y = _arg2;
}
public function displace():void{
x = 2000;
}
public function place():void{
x = _x;
y = _y;
}
public function getButton(_arg1:String):SimpleButton{
return ((getChildByName(_arg1) as SimpleButton));
}
public function getMC(_arg1:String):MovieClip{
return ((getChildByName(_arg1) as MovieClip));
}
public function getTextField(_arg1:String):TextField{
return ((getChildByName(_arg1) as TextField));
}
}
}//package com.moonmana.ui
Section 28
//MenuChanger (com.moonmana.MenuChanger)
package com.moonmana {
import flash.events.*;
import main.*;
import flash.text.*;
import flash.ui.*;
import flash.net.*;
public class MenuChanger {
private var _myContextMenu:ContextMenu;
public function MenuChanger(_arg1:Main){
_myContextMenu = new ContextMenu();
removeDefaultItems();
addCustomMenuItems();
_arg1.contextMenu = _myContextMenu;
}
private function getURL(_arg1:String, _arg2:String):void{
var url = _arg1;
var method = _arg2;
var web:String = url;
var request:URLRequest = new URLRequest(web);
try {
navigateToURL(request, method);
} catch(e:Error) {
};
}
private function removeDefaultItems():void{
_myContextMenu.hideBuiltInItems();
var _local1:ContextMenuBuiltInItems = _myContextMenu.builtInItems;
_local1.print = true;
}
private function createLabel():TextField{
var _local1:TextField = new TextField();
return (_local1);
}
private function onClick(_arg1:ContextMenuEvent):void{
if (Main.BUILD == Main.MOFUNZONE){
getURL("http://www.MoFunZone.com", "get");
} else {
getURL("http://www.MoonMana.com", "get");
};
}
private function addCustomMenuItems():void{
var _local1:ContextMenuItem;
if (Main.BUILD == Main.MOFUNZONE){
_local1 = new ContextMenuItem("Go to MoFunZone.com");
} else {
_local1 = new ContextMenuItem("Go to MoonMana.com");
};
_local1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, onClick);
_myContextMenu.customItems.push(_local1);
}
}
}//package com.moonmana
Section 29
//AdLoader (CPMStar.AdLoader)
package CPMStar {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.system.*;
public class AdLoader extends Sprite {
private var cpmstarLoader:Loader;
private var contentspotid:String;
public function AdLoader(_arg1:String){
this.contentspotid = _arg1;
addEventListener(Event.ADDED, addedHandler);
}
private function dispatchHandler(_arg1:Event):void{
dispatchEvent(_arg1);
}
private function addedHandler(_arg1:Event):void{
removeEventListener(Event.ADDED, addedHandler);
Security.allowDomain("server.cpmstar.com");
var _local2 = "http://server.cpmstar.com/adviewas3.swf";
var _local3:DisplayObjectContainer = 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);
}
}
}//package CPMStar
Section 30
//MapLoader (data.MapLoader)
package data {
import flash.display.*;
import map.*;
import map.ui.*;
import map.maps.*;
public class MapLoader {
public static function getMapById(_arg1:Stage, _arg2:MapUI, _arg3:int):Map{
switch (_arg3){
case 11:
return (new Map1_1(_arg1, _arg2));
case 12:
return (new Map1_2(_arg1, _arg2));
case 13:
return (new Map1_3(_arg1, _arg2));
case 14:
return (new Map1_4(_arg1, _arg2));
case 15:
return (new Map1_5(_arg1, _arg2));
case 21:
return (new Map2_1(_arg1, _arg2));
case 22:
return (new Map2_2(_arg1, _arg2));
case 23:
return (new Map2_3(_arg1, _arg2));
case 24:
return (new Map2_4(_arg1, _arg2));
case 25:
return (new Map2_5(_arg1, _arg2));
case 31:
return (new Map3_1(_arg1, _arg2));
case 32:
return (new Map3_2(_arg1, _arg2));
case 33:
return (new Map3_3(_arg1, _arg2));
case 34:
return (new Map3_4(_arg1, _arg2));
case 35:
return (new Map3_5(_arg1, _arg2));
};
return (null);
}
}
}//package data
Section 31
//BundleManager (main.BundleManager)
package main {
import com.moonmana.bundles.*;
public class BundleManager {
private var en:Bundle;
public static const OTHER:int = 1;
public static const ANDKON:int = 4;
public static const BUILD:int = 1;
public function BundleManager(){
en = new Bundle();
super();
en.put("NEW_GAME", "NEW GAME");
en.put("LOAD_GAME", "LOAD GAME");
en.put("HIGHSCORES", "HIGHSCORES");
if (BUILD == ANDKON){
en.put("MORE_GAMES", "ANDKON ARCADE");
} else {
en.put("MORE_GAMES", "MORE GAMES");
};
en.put("SUBMIT_SCORE", "SUBMIT SCORE");
}
public function getEn():Bundle{
return (en);
}
}
}//package main
Section 32
//KeyHandler (main.KeyHandler)
package main {
import flash.display.*;
import flash.events.*;
public class KeyHandler {
private var escape:Boolean;// = false
private var space:Boolean;// = false
private var downArrow:Boolean;// = false
private var del:Boolean;// = false
private var isKeyDown:Boolean;// = false
private var keyDown:Object;
private var pressRepeatTime:Number;// = 0
private var upArrow:Boolean;// = false
private var key1:Boolean;// = false
private var key2:Boolean;// = false
private var key3:Boolean;// = false
private var key4:Boolean;// = false
private var pressTime:Number;// = 0
private var isKeyHold:Boolean;// = false
private var leftArrow:Boolean;// = false
private var lastRepeatTime:Number;// = 0
private var rightArrow:Boolean;// = false
private var tilda:Boolean;// = false
private var enter:Boolean;// = false
private var home:Boolean;// = false
private var e:Boolean;// = false
private var h:Boolean;// = false
private var k:Boolean;// = false
private var m:Boolean;// = false
private var p:Boolean;// = false
private var q:Boolean;// = false
private var o:Boolean;// = false
private static const KEY_REPEAT:int = 0;
private static const KEY_HOLD_TIME:int = 0;
public function KeyHandler(_arg1:Stage){
keyDown = {leftArrow:false, rightArrow:false, upArrow:false, downArrow:false, key1:false, key2:false, key3:false, key4:false, space:false, home:false, enter:false, escape:false, q:false, e:false, o:false, p:false, m:false, h:false, tilda:false};
super();
_arg1.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
_arg1.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
_arg1.addEventListener(Event.ENTER_FRAME, handleKeys);
}
private function keyUpHandler(_arg1:KeyboardEvent):void{
isKeyHold = false;
if ((((((_arg1.keyCode == 69)) || ((_arg1.keyCode == 35)))) || ((_arg1.keyCode == 48)))){
keyDown["e"] = false;
e = false;
} else {
if ((((((_arg1.keyCode == 81)) || ((_arg1.keyCode == 36)))) || ((_arg1.keyCode == 57)))){
keyDown["q"] = false;
q = false;
} else {
if (_arg1.keyCode == 80){
keyDown["p"] = false;
p = false;
} else {
if (_arg1.keyCode == 79){
keyDown["o"] = false;
o = false;
} else {
if (_arg1.keyCode == 77){
keyDown["m"] = false;
m = false;
} else {
if (_arg1.keyCode == 75){
keyDown["k"] = false;
k = false;
} else {
if (_arg1.keyCode == 72){
keyDown["h"] = false;
h = false;
} else {
if ((((_arg1.keyCode == 37)) || ((_arg1.keyCode == 65)))){
keyDown["leftArrow"] = false;
leftArrow = false;
} else {
if ((((_arg1.keyCode == 39)) || ((_arg1.keyCode == 68)))){
keyDown["rightArrow"] = false;
rightArrow = false;
} else {
if ((((_arg1.keyCode == 38)) || ((_arg1.keyCode == 87)))){
keyDown["upArrow"] = false;
upArrow = false;
} else {
if ((((_arg1.keyCode == 40)) || ((_arg1.keyCode == 83)))){
keyDown["downArrow"] = false;
downArrow = false;
} else {
if ((((_arg1.keyCode == 32)) || ((_arg1.keyCode == 96)))){
keyDown["space"] = false;
space = false;
} else {
if ((((_arg1.keyCode == 46)) || ((_arg1.keyCode == 53)))){
keyDown["del"] = false;
del = false;
} else {
if ((((_arg1.keyCode == 36)) || ((_arg1.keyCode == 54)))){
keyDown["home"] = false;
home = false;
} else {
if (_arg1.keyCode == 13){
keyDown["enter"] = false;
enter = false;
} else {
if (_arg1.keyCode == 27){
keyDown["escape"] = false;
escape = false;
} else {
if (_arg1.keyCode == 192){
keyDown["tilda"] = false;
tilda = false;
} else {
if ((((_arg1.keyCode == 49)) || ((_arg1.keyCode == 97)))){
keyDown["key1"] = false;
key1 = false;
} else {
if ((((_arg1.keyCode == 50)) || ((_arg1.keyCode == 98)))){
keyDown["key2"] = false;
key2 = false;
} else {
if ((((_arg1.keyCode == 51)) || ((_arg1.keyCode == 99)))){
keyDown["key3"] = false;
key3 = false;
} else {
if ((((_arg1.keyCode == 52)) || ((_arg1.keyCode == 100)))){
keyDown["key4"] = false;
key4 = false;
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
}
public function get isLeftDown():Boolean{
return (((isKeyDown) && (leftArrow)));
}
public function tick(_arg1:Number):void{
}
public function get isUpDown():Boolean{
return (((isKeyDown) && (upArrow)));
}
private function handleKeys(_arg1:Event):void{
isKeyDown = true;
}
public function get isDownDown():Boolean{
return (((isKeyDown) && (downArrow)));
}
public function get arrowPressed():Boolean{
return (((isKeyDown) && (((((((rightArrow) || (leftArrow))) || (upArrow))) || (downArrow)))));
}
public function get isRightDown():Boolean{
return (((isKeyDown) && (rightArrow)));
}
public function keyDownHandler(_arg1:KeyboardEvent):void{
if ((((_arg1.keyCode == 37)) || ((_arg1.keyCode == 65)))){
leftArrow = true;
} else {
if ((((_arg1.keyCode == 39)) || ((_arg1.keyCode == 68)))){
rightArrow = true;
} else {
if ((((_arg1.keyCode == 38)) || ((_arg1.keyCode == 87)))){
upArrow = true;
} else {
if ((((_arg1.keyCode == 40)) || ((_arg1.keyCode == 83)))){
downArrow = true;
} else {
if ((((((_arg1.keyCode == 81)) || ((_arg1.keyCode == 36)))) || ((_arg1.keyCode == 57)))){
q = true;
} else {
if ((((((_arg1.keyCode == 69)) || ((_arg1.keyCode == 35)))) || ((_arg1.keyCode == 48)))){
e = true;
} else {
if (_arg1.keyCode == 80){
p = true;
} else {
if (_arg1.keyCode == 79){
o = true;
} else {
if ((((_arg1.keyCode == 32)) || ((_arg1.keyCode == 96)))){
space = true;
} else {
if (_arg1.keyCode == 77){
m = true;
} else {
if (_arg1.keyCode == 75){
k = true;
} else {
if (_arg1.keyCode == 72){
h = true;
} else {
if ((((_arg1.keyCode == 46)) || ((_arg1.keyCode == 53)))){
del = true;
} else {
if ((((_arg1.keyCode == 36)) || ((_arg1.keyCode == 54)))){
home = true;
} else {
if (_arg1.keyCode == 13){
enter = true;
} else {
if (_arg1.keyCode == 27){
escape = true;
} else {
if (_arg1.keyCode == 192){
tilda = true;
} else {
if ((((_arg1.keyCode == 49)) || ((_arg1.keyCode == 97)))){
key1 = true;
} else {
if ((((_arg1.keyCode == 50)) || ((_arg1.keyCode == 98)))){
key2 = true;
} else {
if ((((_arg1.keyCode == 51)) || ((_arg1.keyCode == 99)))){
key3 = true;
} else {
if ((((_arg1.keyCode == 52)) || ((_arg1.keyCode == 100)))){
key4 = true;
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
}
}
}//package main
Section 33
//Locker (main.Locker)
package main {
import flash.display.*;
public class Locker {
private var _stage:Stage;
private static const lk:String = "prrqpdqd1frp";
public function Locker(_arg1:Stage){
_stage = _arg1;
}
private function de(_arg1:String):String{
var _local4:String;
var _local5:Number;
var _local2 = "";
var _local3:int;
while (_local3 < _arg1.length) {
_local4 = _arg1.substring(_local3, (_local3 + 1));
_local5 = _local4.charCodeAt();
_local2 = (_local2 + String.fromCharCode((_local5 - 3)));
_local3++;
};
return (_local2);
}
public function u():Boolean{
var _local1:Array = new Array();
_local1.push(de(lk));
var _local2:String = _stage.loaderInfo.url;
var _local3:Number = (_local2.indexOf("://") + 3);
var _local4:Number = _local2.indexOf("/", _local3);
var _local5:String = _local2.substring(_local3, _local4);
var _local6:Number = (_local5.lastIndexOf(".") - 1);
var _local7:Number = (_local5.lastIndexOf(".", _local6) + 1);
_local5 = _local5.substring(_local7, _local5.length);
trace(("domain -" + _local5));
trace(("us[i]: " + _local1[0]));
var _local8:int;
while (_local8 < _local1.length) {
if (_local5 == _local1[_local8]){
trace("valid");
return (true);
};
_local8++;
};
trace("invalid");
return (false);
}
public function isURL(_arg1:String):Boolean{
var _local2:String = _stage.loaderInfo.url;
var _local3:Number = (_local2.indexOf("://") + 3);
var _local4:Number = _local2.indexOf("/", _local3);
var _local5:String = _local2.substring(_local3, _local4);
var _local6:Number = (_local5.lastIndexOf(".") - 1);
var _local7:Number = (_local5.lastIndexOf(".", _local6) + 1);
_local5 = _local5.substring(_local7, _local5.length);
if (_local5 == _arg1){
return (true);
};
return (false);
}
public function isFGLallowed():Boolean{
var _local1:String = _stage.loaderInfo.url;
if ((((_local1.indexOf("flashgamelicense.com") >= 0)) || ((_local1.indexOf("file:///") >= 0)))){
return (true);
};
return (false);
}
public function isKong(_arg1:Stage):Boolean{
var _local2:String = _arg1.loaderInfo.url;
if (_local2.indexOf("kongregate") >= 0){
return (true);
};
return (false);
}
private function checkDependecies():Boolean{
return ((String.fromCharCode(119) == String.fromCharCode(String.fromCharCode(119).charCodeAt())));
}
public static function isNG(_arg1:Stage):Boolean{
var _local2:String = _arg1.loaderInfo.url;
if (_local2.indexOf("newgrounds") >= 0){
return (true);
};
return (false);
}
public static function isArmorGames(_arg1:Stage):Boolean{
var _local2:String = _arg1.loaderInfo.url;
if (_local2.indexOf("armorgames.com") >= 0){
return (true);
};
return (false);
}
public static function isAdAllowed(_arg1:Stage):Boolean{
var _local2:String = _arg1.loaderInfo.url;
if ((((((((_local2.indexOf("kongregate") >= 0)) || ((_local2.indexOf("fizzy.com") >= 0)))) || ((_local2.indexOf("freeonlinegames.com") >= 0)))) || ((_local2.indexOf("onlineflashgames.org") >= 0)))){
return (false);
};
return (true);
}
}
}//package main
Section 34
//Main (main.Main)
package main {
import com.moonmana.bundles.*;
import flash.display.*;
import flash.events.*;
import flash.text.*;
import map.ui.*;
import com.mochi.*;
import com.moonmana.*;
import utils.*;
import com.moonmana.mmad.*;
import com.moonmana.api.*;
import com.moonmana.splash.utils.*;
import utils.events.*;
import com.moonmana.splash.*;
import com.moonmana.splash.mc.*;
import com.moonmana.sponsors.*;
import map.maps.*;
import flash.utils.*;
public dynamic class Main extends MovieClip {
private var currentTime:Number;// = 0
private var lastTimeMS:Number;
public var preloader:Preloader;
public var spark:Spark;
public static const CPM:int = 0;
public static const ARMOR_GAMES:int = 0;
public static const SCREEN_WIDTH:int = 880;
public static const INTERLEVEL_AD:int = ON;
public static const MOFUNZONE:int = 2;
public static const MS:Number = 20;
public static const MOCHI:int = 1;
public static const AD_BUILD:int = 0;
public static const VERSION:String = "v.1.00";
public static const MOONMANA:int = 9;
public static const BUILD:int = 8;
public static const OFF:int = 1;
public static const ELITE_GAMES:int = 5;
public static const ANDKON:int = 4;
public static const MINDJOLT:int = 6;
public static const SCREEN_HEIGHT:int = 500;
public static const ON:int = 0;
public static const HACKS:int = 3;
public static const SECOND:int = 1000;
public static const FIZZY:int = 7;
public static const OTHER:int = 1;
public static const COOLBUDDY:int = 8;
private static var _navi:Navigator;
private static var _preloader:Preloader;
private static var _mms:Splash;
public static var debug:Boolean = false;
private static var _preloaderMap:MapPreloader;
public static var fps:Boolean = false;
private static var _options:Options = new Options();
private static var _kh:KeyHandler;
private static var _stage:Stage;
public function Main(){
lastTimeMS = getTimer();
super();
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
var _local1:MenuChanger = new MenuChanger(this);
_preloader = (getChildByName("preloader") as Preloader);
_stage = stage;
if (BUILD == MOONMANA){
AchievementAPI.init(_stage, "450", SCREEN_WIDTH, SCREEN_HEIGHT);
};
_preloader.stage = stage;
_preloader.addEventListener(Event.ENTER_FRAME, _preloader.update);
_preloader.addEventListener(StageEvent.LOADING_FINISHED, run);
addEventListener(Event.ADDED_TO_STAGE, mochi);
if (BUILD == COOLBUDDY){
_preloader.getChildByName("cbb").addEventListener(MouseEvent.CLICK, MMAd.goCoolBuddy);
} else {
_preloader.removeChild(_preloader.getChildByName("cbb"));
};
var _local2:MapUI = new MapUI();
_preloaderMap = new MapPreloader(stage, _local2);
_preloaderMap.x = ((-1 * SCREEN_WIDTH) / 2);
_preloaderMap.y = ((-1 * SCREEN_HEIGHT) / 2);
_preloader.addChildAt(_preloaderMap, 1);
addEventListener(Event.ENTER_FRAME, tick);
}
private function mochi(_arg1:Event):void{
Ad.show(this, ((SCREEN_WIDTH - 300) / 2), ((SCREEN_HEIGHT - 250) / 2));
MochiBot.track(this, "797433d3");
MochiServices.connect("c23d3122d731706f", root);
removeEventListener(Event.ADDED_TO_STAGE, mochi);
}
private function tick(_arg1:Event):void{
currentTime = getTimer();
if (_preloaderMap != null){
_preloaderMap.tick(currentTime);
};
if (_navi != null){
_navi.tick(currentTime);
};
if (_kh != null){
_kh.tick(currentTime);
};
}
function frame2(){
stop();
}
private function goMenu(_arg1:Event=null):void{
_mms.removeEventListener(MMEvent.END, goMenu);
stage.removeChild(_mms);
_mms = null;
SoundManager.loadSounds();
var _local2:Locker = new Locker(stage);
if ((((BUILD == MOONMANA)) && (!(_local2.isURL("moonmana.com"))))){
gotoAndStop(4);
return;
};
if (Main.BUILD == Main.MOFUNZONE){
};
_kh = new KeyHandler(stage);
_navi = new Navigator(stage);
}
private function dummy():void{
}
private function run(_arg1:Event=null):void{
_preloader.removeEventListener(StageEvent.LOADING_FINISHED, run);
(_preloader.getChildByName("playButton") as SimpleButton).addEventListener(MouseEvent.CLICK, start);
}
function frame3(){
stop();
}
function frame4(){
stop();
}
public function start(_arg1:Event=null):void{
Ad.remove();
_preloader.removeChild(_preloaderMap);
_preloaderMap = null;
if (BUILD == COOLBUDDY){
_preloader.getChildByName("cbb").removeEventListener(MouseEvent.CLICK, MMAd.goCoolBuddy);
};
(_preloader.getChildByName("playButton") as SimpleButton).removeEventListener(MouseEvent.CLICK, start);
removeChild(_preloader);
_preloader = null;
gotoAndStop(3);
_mms = new MoonManaSplash();
_mms.x = 440;
_mms.y = 250;
stage.addChild(_mms);
_mms.addEventListener(MMEvent.END, goMenu);
}
function frame1(){
stop();
}
public static function get stage():Stage{
return (_stage);
}
public static function get bundle():Bundle{
return (_options.bundle);
}
public static function get mm():Navigator{
return (_navi);
}
public static function get options():Options{
return (_options);
}
public static function debugTrace(_arg1:String):void{
var _local2:TextField = new TextField();
_local2.text = _arg1;
_local2.x = 20;
_local2.y = 80;
_stage.addChild(_local2);
}
public static function get kh():KeyHandler{
return (_kh);
}
}
}//package main
Section 35
//Navigator (main.Navigator)
package main {
import flash.display.*;
import flash.events.*;
import map.*;
import map.ui.*;
import com.mochi.*;
import ui.menus.*;
import map.statistics.*;
import utils.debug.*;
import flash.ui.*;
import utils.*;
import com.moonmana.mmad.*;
import com.moonmana.api.*;
import data.*;
import map.maps.*;
import flash.net.*;
public class Navigator {
private var _currentMap:Map;
private var _mouseHide:Boolean;// = false
private var _levelStartTime:int;// = 0
private var _nextLevelMenu:NextLevelMenu;
private var _score:Score;
private var _mainMenu:MainMenu;
private var _levelComplete:LevelCompleteUI;
private var _isLevelComplete:Boolean;// = false
private var _mapMask:MapMask;
private var _fps:FPSBox;
private var _ui:MapUI;
private var _finalMenu:FinalMenu;
private var _stage:Stage;
private static const BORDER:int = 50;
private static const MOUSE_HIDE_TIME:int = 3000;
public function Navigator(_arg1:Stage){
_levelComplete = new LevelCompleteUI();
_mapMask = new MapMask();
super();
_stage = _arg1;
if (Main.fps){
_fps = new FPSBox();
_fps.x = 380;
_fps.y = (Main.SCREEN_HEIGHT - 20);
};
showMenu();
_score = new Score();
}
public function goMainMenu(_arg1:Event=null):void{
var e = _arg1;
try {
_stage.removeChild(_currentMap);
} catch(e:Error) {
};
try {
_stage.removeChild(_ui);
} catch(e:Error) {
};
goMainMenuMap();
startOver();
}
private function goMainMenuMap():void{
_currentMap = new MapTitle(stage, _ui);
_mainMenu = new MainMenu(this);
_mainMenu.go();
}
public function get stage():Stage{
return (_stage);
}
private function mouseHide():void{
Mouse.hide();
_mouseHide = false;
_levelStartTime = 0;
}
public function goNextLevel(_arg1:Event=null):void{
var e = _arg1;
try {
_nextLevelMenu.close();
} catch(e:Error) {
};
try {
_stage.removeChild(_nextLevelMenu);
} catch(e:Error) {
};
_nextLevelMenu = null;
_score.capacity = (_score.capacity + _currentMap.totalCapacity);
_score.drops = (_score.drops + _currentMap.totalDrops);
try {
_stage.removeChild(_levelComplete);
} catch(e:Error) {
};
_stage.removeChild(_currentMap);
try {
_stage.removeChild(_ui);
} catch(e:Error) {
};
_currentMap = _currentMap.getNextMap();
save();
prepareUI();
if ((_currentMap is MapFinal)){
_finalMenu = new FinalMenu(this);
_finalMenu.go();
};
if (Main.BUILD == Main.MOFUNZONE){
try {
achieve();
} catch(e:Error) {
};
};
if (Main.BUILD == Main.MOONMANA){
try {
achieveMM();
} catch(e:Error) {
};
};
startOver();
}
public function showMenu(_arg1:Event=null):void{
_ui = new MapUI();
prepareUI();
goMainMenuMap();
startOver();
SoundManager.playMusic();
}
public function isSaved():Boolean{
var _local1:SharedObject = SharedObject.getLocal("game_data");
if (_local1.data.map == undefined){
return (false);
};
return (true);
}
private function goRestart(_arg1:MouseEvent):void{
_currentMap = _currentMap.getNewMap();
startOver();
}
public function save():void{
if (_currentMap.saveId == 0){
return;
};
var _local1:SharedObject = SharedObject.getLocal("game_data");
_local1.data.map = _currentMap.saveId;
_local1.data.capacity = _score.capacity;
_local1.data.drops = _score.drops;
_local1.flush();
}
private function startOver():void{
_isLevelComplete = false;
addMapChilds();
_stage.focus = null;
}
private function achieve():void{
}
public function submitScore(_arg1:MouseEvent):void{
MochiScores.showLeaderboard({boardID:"0e44eab778e47fd6", score:_score.score, onClose:goMainMenu, clip:_currentMap});
}
public function tick(_arg1:Number):void{
_currentMap.tick(_arg1);
if (_nextLevelMenu != null){
_nextLevelMenu.tick(_arg1);
};
if ((((_currentMap.state == Map.LEVEL_COMPLETE)) && (!(_isLevelComplete)))){
if (!(_currentMap is MapTitle)){
_stage.addChild(_levelComplete);
if (_currentMap.levelCompletePoint != null){
_levelComplete.x = _currentMap.levelCompletePoint.x;
_levelComplete.y = _currentMap.levelCompletePoint.y;
} else {
_levelComplete.place();
};
_levelComplete.gotoAndPlay(2);
};
_isLevelComplete = true;
if (!(_currentMap is MapTitle)){
showNextLevelUI();
};
} else {
if ((((_currentMap.state == Map.LEVEL_COMPLETE)) && ((_arg1 < (_currentMap.finishTime + _currentMap.levelCompleteTime))))){
_currentMap.tickComplete(_arg1);
} else {
if ((((_currentMap.state == Map.LEVEL_COMPLETE)) && ((_arg1 >= (_currentMap.finishTime + _currentMap.levelCompleteTime))))){
if ((_currentMap is MapTitle)){
goNextLevel();
};
};
};
};
}
private function showNextLevelUI():void{
_nextLevelMenu = new NextLevelMenu(this);
_nextLevelMenu.place();
_stage.addChild(_nextLevelMenu);
}
private function achieveMM():void{
if ((_currentMap is MapFinal)){
AchievementAPI.success("ganymede");
} else {
if ((_currentMap is Map1_3)){
AchievementAPI.success("first_obstacle");
} else {
if ((_currentMap is Map2_3)){
AchievementAPI.success("pink");
} else {
if ((_currentMap is Map3_1)){
AchievementAPI.success("colors");
} else {
if ((_currentMap is Map3_3)){
AchievementAPI.success("pass");
};
};
};
};
};
}
public function newGame(_arg1:Event=null):void{
_score.capacity = 0;
_score.drops = 0;
(_currentMap as MapTitle).newGame();
}
public function load():void{
var _local1:SharedObject = SharedObject.getLocal("game_data");
_currentMap = MapLoader.getMapById(_stage, _ui, _local1.data.map);
_score.capacity = _local1.data.capacity;
_score.drops = _local1.data.drops;
}
public function loadGame(_arg1:Event=null):void{
_stage.removeChild(_currentMap);
if (!isSaved()){
_currentMap = new Map1_1(stage, _ui);
} else {
load();
};
prepareUI();
startOver();
}
private function addMapChilds():void{
_stage.addChild(_currentMap);
if (!(_currentMap is MapTitle)){
_stage.addChild(_ui);
};
if (Main.fps){
_stage.addChild(_fps);
};
_stage.addChild(_mapMask);
_mapMask.place();
_currentMap.mask = _mapMask;
new Fader(stage);
}
public function get currentMap():Map{
return (_currentMap);
}
private function prepareUI():void{
_ui.place();
_ui.menuButton.addEventListener(MouseEvent.CLICK, goMainMenu);
if (Main.BUILD == Main.COOLBUDDY){
_ui.wtButton.addEventListener(MouseEvent.CLICK, MMAd.goCoolBuddyWT);
_ui.fbButton.addEventListener(MouseEvent.CLICK, MMAd.goCoolBuddyFacebook);
};
}
}
}//package main
Section 36
//Options (main.Options)
package main {
import com.moonmana.bundles.*;
import utils.*;
public class Options {
private var _bundle:Bundle;
private var _effects:Boolean;// = true
private var _music:Boolean;// = true
private var _showTips:Boolean;// = true
private var _language:int;// = 0
public static const LANGUAGE_EN:int = 2;
private static var bundleManager:BundleManager = new BundleManager();
public function Options(){
_language = LANGUAGE_EN;
_bundle = bundleManager.getEn();
}
public function get bundle():Bundle{
return (_bundle);
}
public function get music():Boolean{
return (_music);
}
public function switchShowTips():void{
_showTips = !(_showTips);
}
public function set showTips(_arg1:Boolean):void{
_showTips = _arg1;
}
public function switchMusic():void{
_music = !(_music);
if (!_music){
SoundManager.stopMusic();
} else {
SoundManager.playMusic();
};
}
public function switchEffects():void{
_effects = !(_effects);
}
public function get effects():Boolean{
return (_effects);
}
public function get showTips():Boolean{
return (_showTips);
}
}
}//package main
Section 37
//Preloader (main.Preloader)
package main {
import flash.display.*;
import flash.events.*;
import com.moonmana.ui.*;
import com.moonmana.sponsors.coolbuddy.*;
import com.moonmana.mmad.*;
import utils.events.*;
public dynamic class Preloader extends ScreenObject {
public var cbb:CoolBuddyButton;
public var playButton:SimpleButton;
public var adBox:AdsContainer;
private var _stage:Stage;
public function Preloader(){
addFrameScript(244, frame245);
super(0, 0);
}
public function update(_arg1:Event):void{
var _local2:Number = _stage.loaderInfo.bytesLoaded;
var _local3:Number = _stage.loaderInfo.bytesTotal;
var _local4:Number = 0;
if (_local3 > 0){
_local4 = Math.floor(((_local2 / _local3) * 100));
};
gotoAndStop((_local4 + 1));
if ((((_local2 == _local3)) || ((_local3 == 0)))){
removeEventListener(Event.ENTER_FRAME, update);
dispatchEvent(new StageEvent(StageEvent.LOADING_FINISHED));
gotoAndPlay(101);
};
}
public function getAdBox():MovieClip{
return ((getChildByName("adBox") as MovieClip));
}
function frame245(){
stop();
}
public function set stage(_arg1:Stage):void{
_stage = _arg1;
}
}
}//package main
Section 38
//AllCollectorsFullCondition (map.conditions.AllCollectorsFullCondition)
package map.conditions {
import map.systems.*;
public class AllCollectorsFullCondition extends Condition {
private var _collectors:Array;
public function AllCollectorsFullCondition(){
_collectors = new Array();
super();
}
override public function done():Boolean{
var _local4:Collector;
var _local1:int = _collectors.length;
if (_local1 == 0){
return (false);
};
var _local2:Boolean;
var _local3:int;
while (_local3 < _local1) {
_local4 = (_collectors[_local3] as Collector);
if (_local4.isFull()){
_local2 = true;
} else {
_local2 = false;
break;
};
_local3++;
};
return (_local2);
}
public function putCollector(_arg1:Collector):void{
_collectors.push(_arg1);
}
}
}//package map.conditions
Section 39
//Condition (map.conditions.Condition)
package map.conditions {
public class Condition {
public function done():Boolean{
return (false);
}
}
}//package map.conditions
Section 40
//ConditionsManager (map.conditions.ConditionsManager)
package map.conditions {
public class ConditionsManager {
private var _conditions:Array;
public function ConditionsManager(){
_conditions = new Array();
super();
}
public function done():Boolean{
var _local1:Boolean;
var _local2:int;
while (_local2 < _conditions.length) {
_local1 = ((_local1) || ((_conditions[_local2] as Condition).done()));
_local2++;
};
return (_local1);
}
public function push(_arg1:Condition):void{
_conditions.push(_arg1);
}
}
}//package map.conditions
Section 41
//SkipLevelCondition (map.conditions.SkipLevelCondition)
package map.conditions {
public class SkipLevelCondition extends Condition {
private var _skipped:Boolean;// = false
public function set skipped(_arg1:Boolean):void{
_skipped = _arg1;
}
override public function done():Boolean{
return (_skipped);
}
}
}//package map.conditions
Section 42
//Absorber (map.forces.Absorber)
package map.forces {
import map.*;
import map.particles.*;
public class Absorber extends Force {
private var _map:Map;
public function Absorber(_arg1:Map, _arg2:Boolean=true){
super(_arg2, false);
_map = _arg1;
}
override public function affect(_arg1:Array, _arg2:int):void{
var _local5:Particle;
var _local3:int = _arg1.length;
var _local4:int;
while (_local4 < _local3) {
_local5 = (_arg1[_local4] as Particle);
if (hitTestObject(_local5)){
_local4--;
_local3--;
_map.kill(_local5);
};
_local4++;
};
}
}
}//package map.forces
Section 43
//Explosion (map.forces.Explosion)
package map.forces {
import map.particles.*;
import map.utils.*;
public class Explosion extends Force {
private var _value:Number;// = 18
private var _lastTick:int;// = 0
private static const RADIUS2:int = 6000;
private static const WAVES:int = 3;
private static const TICK:int = 800;
public function Explosion(_arg1:Number=0){
if (_arg1 != 0){
_value = _arg1;
};
}
override public function affect(_arg1:Array, _arg2:int):void{
var _local3:int;
var _local4:int;
var _local5:Particle;
var _local6:int;
var _local7:Angle;
if (_arg2 >= (_lastTick + TICK)){
_lastTick = _arg2;
_local3 = _arg1.length;
_local4 = 0;
while (_local4 < _local3) {
_local5 = (_arg1[_local4] as Particle);
_local6 = MathUtils.distance2(_local5.x, _local5.y, x, y);
if (_local6 < RADIUS2){
_local7 = new Angle(x, y, _local5.x, _local5.y);
_local7.calculateRotation();
_local5.speedX = (_local5.speedX + (_value * Math.cos((((_local7.rotation + 180) * Math.PI) / 180))));
_local5.speedY = (_local5.speedY + (_value * Math.sin((((_local7.rotation + 180) * Math.PI) / 180))));
};
_local4++;
};
};
}
}
}//package map.forces
Section 44
//Force (map.forces.Force)
package map.forces {
import flash.display.*;
import flash.events.*;
import map.systems.*;
public class Force extends Dragable {
protected var _visible:Boolean;// = true
private var _lastOver:int;// = 0
private var _isOver:Boolean;// = false
private static const OVER_TICK:int = 250;
public function Force(_arg1:Boolean=true, _arg2:Boolean=true){
super(_visible, _arg2);
_visible = _arg1;
if (_visible){
addEventListener(MouseEvent.MOUSE_OVER, goOver);
} else {
alpha = 0;
};
}
public function tick(_arg1:int, _arg2:Stage):void{
if (((_isOver) && ((_arg1 >= (_lastOver + OVER_TICK))))){
_lastOver = _arg1;
if ((((((((_arg2.mouseX < (x - 32))) || ((_arg2.mouseX > (x + 32))))) || ((_arg2.mouseY < (y - 32))))) || ((_arg2.mouseY > (y + 32))))){
goOut();
_isOver = false;
};
};
}
private function goOut():void{
gotoAndPlay("out");
}
public function affect(_arg1:Array, _arg2:int):void{
}
private function goOver(_arg1:MouseEvent):void{
gotoAndPlay("over");
_isOver = true;
}
}
}//package map.forces
Section 45
//Gravity (map.forces.Gravity)
package map.forces {
import flash.display.*;
import map.particles.*;
public class Gravity extends Force {
private var _value:Number;// = 0.5
public var em:MovieClip;
private var MAX_SPEED:Number;// = 40
public function Gravity(_arg1:Number=0.5){
_value = _arg1;
visible = false;
}
override public function affect(_arg1:Array, _arg2:int):void{
var _local5:Particle;
var _local3:int = _arg1.length;
var _local4:int;
while (_local4 < _local3) {
_local5 = (_arg1[_local4] as Particle);
if (_local5.speedY >= MAX_SPEED){
return;
};
if ((_local5.speedY + _value) > MAX_SPEED){
_local5.speedY = MAX_SPEED;
} else {
_local5.speedY = (_local5.speedY + _value);
};
_local4++;
};
}
}
}//package map.forces
Section 46
//Painter (map.forces.Painter)
package map.forces {
import utils.effects.*;
import map.particles.*;
import map.utils.*;
public class Painter extends Force {
private static const RADIUS2:int = 40000;
override public function affect(_arg1:Array, _arg2:int):void{
var _local5:Particle;
var _local6:int;
var _local7:Number;
var _local3:int = _arg1.length;
var _local4:int;
while (_local4 < _local3) {
_local5 = (_arg1[_local4] as Particle);
_local6 = MathUtils.distance2(_local5.x, _local5.y, x, y);
if (_local6 < 10){
_local7 = 0;
} else {
if (_local6 > RADIUS2){
_local7 = 1;
} else {
_local7 = (Math.sqrt(_local6) / 200);
};
};
Colorizer.setColorMC(_local5, 0xFF00, (1 - _local7));
_local4++;
};
}
}
}//package map.forces
Section 47
//Sinusoyer (map.forces.Sinusoyer)
package map.forces {
import map.particles.*;
import map.utils.*;
public class Sinusoyer extends Force {
private var _value:Number;// = 2
private static const RADIUS2:int = 50;
public function Sinusoyer(_arg1:Number=0){
addFrameScript(0, frame1, 7, frame8);
super();
if (_arg1 != 0){
_value = _arg1;
};
}
function frame8(){
stop();
}
override public function affect(_arg1:Array, _arg2:int):void{
var _local5:Particle;
var _local6:int;
var _local7:Number;
var _local3:int = _arg1.length;
var _local4:int;
while (_local4 < _local3) {
_local5 = (_arg1[_local4] as Particle);
_local6 = MathUtils.distance2((_local5.x / 20), (_local5.y / 20), (x / 20), (y / 20));
if (_local6 < 10){
_local7 = (Math.sin(((_local5.speedX * Math.PI) / 180)) * _value);
} else {
if (_local6 > RADIUS2){
_local7 = 0;
} else {
_local7 = ((Math.sin(((_local5.speedX * Math.PI) / 180)) * _value) * (1 / _local6));
};
};
_local5.speedX = (_local5.speedX + (_local7 * Math.cos((((rotation + 90) * Math.PI) / 180))));
_local5.speedY = (_local5.speedY + (_local7 * Math.sin((((rotation + 90) * Math.PI) / 180))));
_local4++;
};
}
function frame1(){
stop();
}
}
}//package map.forces
Section 48
//Splitter (map.forces.Splitter)
package map.forces {
import map.particles.*;
import map.utils.*;
public class Splitter extends Force {
private var _value:Number;// = 1
private static const RADIUS2:int = 80000;
public function Splitter(_arg1:Number=0){
addFrameScript(0, frame1, 7, frame8);
super();
if (_arg1 != 0){
_value = _arg1;
};
}
function frame8(){
stop();
}
override public function affect(_arg1:Array, _arg2:int):void{
var _local5:Particle;
var _local6:int;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local3:int = _arg1.length;
var _local4:int;
while (_local4 < _local3) {
_local5 = (_arg1[_local4] as Particle);
_local6 = MathUtils.distance2(_local5.x, _local5.y, x, y);
if (_local6 < RADIUS2){
_local7 = Math.atan((_local5.speedX / _local5.speedY));
_local8 = (((((Math.random() * 2) > 1)) ? -1 : 1 * (_value + rotation)) * _local7);
_local9 = ((_local5.speedX * _local5.speedX) + (_local5.speedY * _local5.speedY));
_local10 = Math.tan(((_local8 * Math.PI) / 180));
_local5.speedY = ((_value * _local10) * Math.sqrt((_local9 / (1 + (_local10 * _local10)))));
_local5.speedX = ((_value * _local5.speedY) / _local10);
};
_local4++;
};
}
function frame1(){
stop();
}
}
}//package map.forces
Section 49
//Wind (map.forces.Wind)
package map.forces {
import map.particles.*;
import map.utils.*;
public class Wind extends Force {
private var _value:Number;// = 2
private static const RADIUS2:int = 50;
public function Wind(_arg1:Number=0){
if (_arg1 != 0){
_value = _arg1;
};
}
override public function affect(_arg1:Array, _arg2:int):void{
var _local5:Particle;
var _local6:int;
var _local7:Number;
var _local3:int = _arg1.length;
var _local4:int;
while (_local4 < _local3) {
_local5 = (_arg1[_local4] as Particle);
_local6 = MathUtils.distance2((_local5.x / 20), (_local5.y / 20), (x / 20), (y / 20));
if (_local6 < 10){
_local7 = _value;
} else {
if (_local6 > RADIUS2){
_local7 = 0;
} else {
_local7 = (_value * (1 / _local6));
};
};
_local5.speedX = (_local5.speedX + (_local7 * Math.cos((((rotation + 90) * Math.PI) / 180))));
_local5.speedY = (_local5.speedY + (_local7 * Math.sin((((rotation + 90) * Math.PI) / 180))));
_local4++;
};
}
}
}//package map.forces
Section 50
//WindDown (map.forces.WindDown)
package map.forces {
public class WindDown extends Wind {
public function WindDown(_arg1:Number=0){
addFrameScript(0, frame1, 7, frame8);
super(_arg1);
}
function frame8(){
stop();
}
function frame1(){
stop();
}
}
}//package map.forces
Section 51
//WindLeft (map.forces.WindLeft)
package map.forces {
public class WindLeft extends Wind {
public function WindLeft(_arg1:Number=0){
addFrameScript(0, frame1, 7, frame8);
super(_arg1);
rotation = 90;
}
function frame8(){
stop();
}
function frame1(){
stop();
}
}
}//package map.forces
Section 52
//WindRight (map.forces.WindRight)
package map.forces {
public class WindRight extends Wind {
public function WindRight(_arg1:Number=0){
addFrameScript(0, frame1, 7, frame8);
super(_arg1);
rotation = -90;
}
function frame8(){
stop();
}
function frame1(){
stop();
}
}
}//package map.forces
Section 53
//WindUp (map.forces.WindUp)
package map.forces {
public class WindUp extends Wind {
public function WindUp(_arg1:Number=0){
addFrameScript(0, frame1, 7, frame8);
super(_arg1);
rotation = 180;
}
function frame8(){
stop();
}
function frame1(){
stop();
}
}
}//package map.forces
Section 54
//Map1_1 (map.maps.Map1_1)
package map.maps {
import flash.display.*;
import map.*;
import map.ui.*;
import map.systems.*;
import map.particles.*;
import map.forces.*;
import flash.geom.*;
public class Map1_1 extends Map {
public function Map1_1(_arg1:Stage, _arg2:MapUI){
var _local4:Emitter;
var _local6:Wind;
super(_arg1, "1:1 So easy", _arg2, 880, 500);
_levelCompletePoint = new Point(180, 228);
var _local3:HelperUI = new HelperUI();
addChild(_local3);
_local3.alpha = 0.3;
_local4 = new Emitter(Particle.FIRE);
_local4.x = 10;
_local4.y = 250;
_local4.xVariation = 20;
_local4.emission = 100;
_local4.emissionCount = 2;
_local4.startSpeed = 13;
_local4.lifeTime = 71;
_local4.map = this;
_local4.rotation = 90;
addSystem(_local4);
var _local5:FireCollector = new FireCollector(this, 50);
_local5.x = 624;
_local5.y = 105;
_local5.fadeTick = 580;
addSystem(_local5);
_collectorsCondition.putCollector(_local5);
_local6 = new WindUp();
_local6.x = 260;
_local6.y = 95;
addForce(_local6);
}
override public function get saveId():int{
return (11);
}
override public function getNextMap():Map{
return (new Map1_2(_stage, _ui));
}
}
}//package map.maps
Section 55
//Map1_2 (map.maps.Map1_2)
package map.maps {
import flash.display.*;
import map.*;
import map.ui.*;
import map.systems.*;
import map.particles.*;
import map.forces.*;
import flash.geom.*;
public class Map1_2 extends Map {
public function Map1_2(_arg1:Stage, _arg2:MapUI){
var _local4:Emitter;
var _local5:FireCollector;
var _local6:Gravity;
var _local7:Wind;
var _local8:Wind;
super(_arg1, "1:2 First obstacle", _arg2, 880, 500);
_levelCompletePoint = new Point(650, 246);
var _local3:Absorber = new Absorber(this);
_local3.x = 440;
_local3.y = 250;
addForce(_local3);
_local4 = new Emitter(Particle.FIRE);
_local4.x = 440;
_local4.y = 10;
_local4.xVariation = 20;
_local4.emission = 80;
_local4.emissionCount = 2;
_local4.startSpeed = 10;
_local4.lifeTime = 45;
_local4.map = this;
_local4.rotation = 180;
addSystem(_local4);
_local5 = new FireCollector(this, 50);
_local5.x = 440;
_local5.y = 440;
_local5.fadeTick = 580;
addSystem(_local5);
_collectorsCondition.putCollector(_local5);
_local6 = new Gravity(0.4);
_local6.x = 500;
_local6.y = 300;
_local6.visible = false;
addForce(_local6);
_local7 = new WindRight(10);
_local7.x = 180;
_local7.y = 300;
addForce(_local7);
_local8 = new WindLeft();
_local8.x = 180;
_local8.y = 200;
addForce(_local8);
}
override public function get saveId():int{
return (12);
}
override public function getNextMap():Map{
return (new Map1_3(_stage, _ui));
}
}
}//package map.maps
Section 56
//Map1_3 (map.maps.Map1_3)
package map.maps {
import flash.display.*;
import map.*;
import map.ui.*;
import map.systems.*;
import map.particles.*;
import map.forces.*;
import flash.geom.*;
public class Map1_3 extends Map {
public function Map1_3(_arg1:Stage, _arg2:MapUI){
var _local4:Absorber;
var _local5:Emitter;
var _local6:Emitter;
super(_arg1, "1:3 Difference", _arg2, 880, 500);
_levelCompletePoint = new Point(680, 405);
var _local3:Absorber = new Absorber(this);
_local3.x = 260;
_local3.y = 250;
addForce(_local3);
_local4 = new Absorber(this);
_local4.x = 620;
_local4.y = 250;
addForce(_local4);
_local5 = new Emitter(Particle.STAR);
_local5.x = 140;
_local5.y = 380;
_local5.xVariation = 20;
_local5.emission = 160;
_local5.emissionCount = 2;
_local5.startSpeed = 8;
_local5.lifeTime = 67;
_local5.map = this;
_local5.rotation = 90;
addSystem(_local5);
_local6 = new Emitter(Particle.FIRE);
_local6.x = 740;
_local6.y = 120;
_local6.xVariation = 20;
_local6.emission = 160;
_local6.emissionCount = 2;
_local6.startSpeed = 8;
_local6.lifeTime = 67;
_local6.map = this;
_local6.rotation = -90;
addSystem(_local6);
var _local7:FireCollector = new FireCollector(this, 42);
_local7.x = 440;
_local7.y = 440;
_local7.fadeTick = 500;
addSystem(_local7);
_collectorsCondition.putCollector(_local7);
var _local8:StarCollector = new StarCollector(this, 42);
_local8.x = 440;
_local8.y = 140;
_local8.fadeTick = 500;
addSystem(_local8);
_collectorsCondition.putCollector(_local8);
var _local9:Wind = new WindDown();
_local9.x = 110;
_local9.y = 100;
addForce(_local9);
var _local10:Wind = new WindUp();
_local10.x = 180;
_local10.y = 100;
addForce(_local10);
}
override public function get saveId():int{
return (13);
}
override public function getNextMap():Map{
return (new Map1_4(_stage, _ui));
}
}
}//package map.maps
Section 57
//Map1_4 (map.maps.Map1_4)
package map.maps {
import flash.display.*;
import map.*;
import map.ui.*;
import map.systems.*;
import map.particles.*;
import map.forces.*;
import flash.geom.*;
public class Map1_4 extends Map {
public function Map1_4(_arg1:Stage, _arg2:MapUI){
var _local6:FireCollector;
super(_arg1, "1:4 Help", _arg2, 880, 500);
_levelCompletePoint = new Point(440, 240);
var _local3:Emitter = new Emitter(Particle.STAR);
_local3.x = 100;
_local3.y = 250;
_local3.rotation = -40;
_local3.xVariation = 20;
_local3.emission = 440;
_local3.emissionCount = 3;
_local3.startSpeed = 7;
_local3.lifeTime = 60;
_local3.map = this;
addSystem(_local3);
var _local4:Emitter = new Emitter(Particle.FIRE);
_local4.x = 680;
_local4.y = 350;
_local4.rotation = 40;
_local4.xVariation = 20;
_local4.emission = 450;
_local4.emissionCount = 3;
_local4.startSpeed = 7;
_local4.lifeTime = 60;
_local4.map = this;
addSystem(_local4);
var _local5:StarCollector = new StarCollector(this, 41);
_local5.x = 540;
_local5.y = 440;
_local5.fadeTick = 1000;
addSystem(_local5);
_collectorsCondition.putCollector(_local5);
_local6 = new FireCollector(this, 42);
_local6.x = 340;
_local6.y = 100;
_local6.fadeTick = 1000;
addSystem(_local6);
_collectorsCondition.putCollector(_local6);
var _local7:Wind = new WindDown();
_local7.x = 300;
_local7.y = 250;
addForce(_local7);
var _local8:Wind = new WindRight();
_local8.x = 400;
_local8.y = 250;
addForce(_local8);
var _local9:Wind = new WindLeft();
_local9.x = 500;
_local9.y = 250;
addForce(_local9);
}
override public function get saveId():int{
return (14);
}
override public function getNextMap():Map{
return (new Map1_5(_stage, _ui));
}
}
}//package map.maps
Section 58
//Map1_5 (map.maps.Map1_5)
package map.maps {
import flash.display.*;
import map.*;
import map.ui.*;
import map.systems.*;
import map.particles.*;
import map.forces.*;
import flash.geom.*;
public class Map1_5 extends Map {
public function Map1_5(_arg1:Stage, _arg2:MapUI){
super(_arg1, "1:5 Flames", _arg2, 880, 500);
_levelCompletePoint = new Point(350, 240);
var _local3:Emitter = new Emitter(Particle.DROP);
_local3.x = 10;
_local3.y = 490;
_local3.xVariation = 10;
_local3.emission = 300;
_local3.emissionCount = 2;
_local3.startSpeed = 10;
_local3.lifeTime = 60;
_local3.map = this;
_local3.rotation = 45;
addSystem(_local3);
var _local4:Emitter = new Emitter(Particle.FIRE);
_local4.x = 870;
_local4.y = 10;
_local4.xVariation = 10;
_local4.emission = 400;
_local4.emissionCount = 2;
_local4.startSpeed = 10;
_local4.lifeTime = 60;
_local4.map = this;
_local4.rotation = 225;
addSystem(_local4);
var _local5:Emitter = new Emitter(Particle.SPARK);
_local5.x = 870;
_local5.y = 490;
_local5.xVariation = 10;
_local5.emission = 400;
_local5.emissionCount = 2;
_local5.startSpeed = 7;
_local5.lifeTime = 30;
_local5.map = this;
_local5.rotation = 315;
addSystem(_local5);
var _local6:Emitter = new Emitter(Particle.STAR);
_local6.x = 10;
_local6.y = 10;
_local6.xVariation = 10;
_local6.emission = 400;
_local6.emissionCount = 2;
_local6.startSpeed = 7;
_local6.lifeTime = 30;
_local6.map = this;
_local6.rotation = 135;
addSystem(_local6);
var _local7:DropCollector = new DropCollector(this, 20);
_local7.x = 55;
_local7.y = 445;
_local7.fadeTick = 750;
addSystem(_local7);
_collectorsCondition.putCollector(_local7);
var _local8:DropCollector = new DropCollector(this, 20);
_local8.x = 180;
_local8.y = 165;
_local8.fadeTick = 750;
addSystem(_local8);
_collectorsCondition.putCollector(_local8);
var _local9:FireCollector = new FireCollector(this, 20);
_local9.x = 700;
_local9.y = 335;
_local9.fadeTick = 750;
addSystem(_local9);
_collectorsCondition.putCollector(_local9);
var _local10:FireCollector = new FireCollector(this, 20);
_local10.x = 825;
_local10.y = 55;
_local10.fadeTick = 750;
addSystem(_local10);
_collectorsCondition.putCollector(_local10);
var _local11:StarCollector = new StarCollector(this, 20);
_local11.x = 55;
_local11.y = 55;
_local11.fadeTick = 750;
addSystem(_local11);
_collectorsCondition.putCollector(_local11);
var _local12:SparkCollector = new SparkCollector(this, 30);
_local12.x = 825;
_local12.y = 445;
_local12.fadeTick = 750;
addSystem(_local12);
_collectorsCondition.putCollector(_local12);
var _local13:Wind = new WindRight();
_local13.x = 780;
_local13.y = 280;
addForce(_local13);
var _local14:Wind = new WindLeft();
_local14.x = 780;
_local14.y = 350;
addForce(_local14);
}
override public function get saveId():int{
return (15);
}
override public function getNextMap():Map{
return (new Map2_1(_stage, _ui));
}
}
}//package map.maps
Section 59
//Map2_1 (map.maps.Map2_1)
package map.maps {
import flash.display.*;
import map.*;
import map.ui.*;
import map.systems.*;
import map.particles.*;
import map.forces.*;
public class Map2_1 extends Map {
public function Map2_1(_arg1:Stage, _arg2:MapUI){
var _local4:Absorber;
var _local5:Emitter;
super(_arg1, "2:1 Fire Z-1", _arg2, 880, 500);
var _local3:Absorber = new Absorber(this);
_local3.x = 300;
_local3.y = 233;
addForce(_local3);
_local4 = new Absorber(this);
_local4.x = 580;
_local4.y = 233;
addForce(_local4);
_local5 = new Emitter(Particle.FIRE);
_local5.x = 870;
_local5.y = 10;
_local5.xVariation = 10;
_local5.emission = 200;
_local5.emissionCount = 2;
_local5.startSpeed = 7;
_local5.lifeTime = 93;
_local5.map = this;
_local5.rotation = 225;
addSystem(_local5);
var _local6:FireCollector = new FireCollector(this, 40);
_local6.x = 440;
_local6.y = 430;
_local6.fadeTick = 650;
addSystem(_local6);
_collectorsCondition.putCollector(_local6);
var _local7:Wind = new WindLeft();
_local7.x = 100;
_local7.y = 350;
addForce(_local7);
var _local8:Wind = new WindRight();
_local8.x = 200;
_local8.y = 350;
addForce(_local8);
}
override public function get saveId():int{
return (21);
}
override public function getNextMap():Map{
return (new Map2_2(_stage, _ui));
}
}
}//package map.maps
Section 60
//Map2_2 (map.maps.Map2_2)
package map.maps {
import flash.display.*;
import map.*;
import map.ui.*;
import map.systems.*;
import map.particles.*;
import map.forces.*;
import flash.geom.*;
public class Map2_2 extends Map {
public function Map2_2(_arg1:Stage, _arg2:MapUI){
var _local4:Emitter;
var _local5:SparkCollector;
var _local6:SparkCollector;
var _local7:SparkCollector;
super(_arg1, "2:2 Pink", _arg2, 880, 500);
_levelCompletePoint = new Point(150, 246);
var _local3:Absorber = new Absorber(this);
_local3.x = 505;
_local3.y = 185;
addForce(_local3);
_local4 = new Emitter(Particle.SPARK);
_local4.x = 100;
_local4.y = 450;
_local4.xVariation = 30;
_local4.emission = 185;
_local4.emissionCount = 2;
_local4.startSpeed = 12;
_local4.lifeTime = 150;
_local4.map = this;
_local4.rotation = 22;
addSystem(_local4);
_local5 = new SparkCollector(this, 30);
_local5.x = 700;
_local5.y = 300;
_local5.fadeTick = 2000;
addSystem(_local5);
_collectorsCondition.putCollector(_local5);
_local6 = new SparkCollector(this, 30);
_local6.x = 497;
_local6.y = 80;
_local6.fadeTick = 2000;
addSystem(_local6);
_collectorsCondition.putCollector(_local6);
_local7 = new SparkCollector(this, 30);
_local7.x = 410;
_local7.y = 400;
_local7.fadeTick = 2000;
addSystem(_local7);
_collectorsCondition.putCollector(_local7);
var _local8:Wind = new WindRight();
_local8.x = 570;
_local8.y = 400;
addForce(_local8);
var _local9:Wind = new WindDown();
_local9.x = 620;
_local9.y = 400;
addForce(_local9);
var _local10:Wind = new WindLeft();
_local10.x = 670;
_local10.y = 400;
addForce(_local10);
}
override public function get saveId():int{
return (22);
}
override public function getNextMap():Map{
return (new Map2_3(_stage, _ui));
}
}
}//package map.maps
Section 61
//Map2_3 (map.maps.Map2_3)
package map.maps {
import flash.display.*;
import map.*;
import map.ui.*;
import map.systems.*;
import map.particles.*;
import map.forces.*;
public class Map2_3 extends Map {
public function Map2_3(_arg1:Stage, _arg2:MapUI){
var _local4:Absorber;
var _local5:Emitter;
super(_arg1, "2:3 Fire Z-2", _arg2, 880, 500);
var _local3:Absorber = new Absorber(this);
_local3.x = 300;
_local3.y = 233;
addForce(_local3);
_local4 = new Absorber(this);
_local4.x = 580;
_local4.y = 233;
addForce(_local4);
_local5 = new Emitter(Particle.FIRE);
_local5.x = 870;
_local5.y = 10;
_local5.xVariation = 10;
_local5.emission = 200;
_local5.emissionCount = 2;
_local5.startSpeed = 7;
_local5.lifeTime = 93;
_local5.map = this;
_local5.rotation = 225;
addSystem(_local5);
var _local6:FireCollector = new FireCollector(this, 50);
_local6.x = 440;
_local6.y = 430;
_local6.fadeTick = 450;
addSystem(_local6);
_collectorsCondition.putCollector(_local6);
var _local7:FireCollector = new FireCollector(this, 50);
_local7.x = 440;
_local7.y = 150;
_local7.fadeTick = 650;
addSystem(_local7);
_collectorsCondition.putCollector(_local7);
var _local8:Wind = new WindRight();
_local8.x = 780;
_local8.y = 350;
addForce(_local8);
var _local9:Wind = new WindLeft();
_local9.x = 100;
_local9.y = 350;
addForce(_local9);
var _local10:Wind = new WindRight();
_local10.x = 200;
_local10.y = 350;
addForce(_local10);
var _local11:Wind = new WindLeft();
_local11.x = 680;
_local11.y = 350;
addForce(_local11);
}
override public function get saveId():int{
return (23);
}
override public function getNextMap():Map{
return (new Map2_4(_stage, _ui));
}
}
}//package map.maps
Section 62
//Map2_4 (map.maps.Map2_4)
package map.maps {
import flash.display.*;
import map.*;
import map.ui.*;
import map.systems.*;
import map.particles.*;
import map.forces.*;
import flash.geom.*;
public class Map2_4 extends Map {
public function Map2_4(_arg1:Stage, _arg2:MapUI){
var _local4:Absorber;
var _local10:Absorber;
var _local11:Emitter;
super(_arg1, "2:4 One way", _arg2, 880, 500);
_levelCompletePoint = new Point(180, 246);
var _local3:Absorber = new Absorber(this);
_local3.x = 680;
_local3.y = 120;
addForce(_local3);
_local4 = new Absorber(this);
_local4.x = 655;
_local4.y = 160;
addForce(_local4);
var _local5:Absorber = new Absorber(this);
_local5.x = 630;
_local5.y = 200;
addForce(_local5);
var _local6:Absorber = new Absorber(this);
_local6.x = 605;
_local6.y = 240;
addForce(_local6);
var _local7:Absorber = new Absorber(this);
_local7.x = 580;
_local7.y = 280;
addForce(_local7);
var _local8:Absorber = new Absorber(this);
_local8.x = 555;
_local8.y = 320;
addForce(_local8);
var _local9:Absorber = new Absorber(this);
_local9.x = 530;
_local9.y = 360;
addForce(_local9);
_local10 = new Absorber(this);
_local10.x = 505;
_local10.y = 400;
addForce(_local10);
_local11 = new Emitter(Particle.FIRE);
_local11.x = 10;
_local11.y = 400;
_local11.xVariation = 20;
_local11.emission = 85;
_local11.emissionCount = 2;
_local11.startSpeed = 12;
_local11.lifeTime = 116;
_local11.map = this;
_local11.rotation = 90;
addSystem(_local11);
var _local12:FireCollector = new FireCollector(this, 40);
_local12.x = 740;
_local12.y = 370;
_local12.fadeTick = 600;
addSystem(_local12);
_collectorsCondition.putCollector(_local12);
var _local13:Wind = new WindUp();
_local13.x = 180;
_local13.y = 300;
addForce(_local13);
}
override public function get saveId():int{
return (24);
}
override public function getNextMap():Map{
return (new Map2_5(_stage, _ui));
}
}
}//package map.maps
Section 63
//Map2_5 (map.maps.Map2_5)
package map.maps {
import flash.display.*;
import map.*;
import map.ui.*;
import map.systems.*;
import map.particles.*;
import map.forces.*;
import flash.geom.*;
public class Map2_5 extends Map {
public function Map2_5(_arg1:Stage, _arg2:MapUI){
super(_arg1, "2:5 Colors", _arg2, 880, 500);
_levelCompletePoint = new Point(400, 240);
var _local3:Emitter = new Emitter(Particle.DROP);
_local3.x = 440;
_local3.y = 10;
_local3.xVariation = 10;
_local3.emission = 300;
_local3.emissionCount = 2;
_local3.startSpeed = 4;
_local3.lifeTime = 50;
_local3.map = this;
_local3.rotation = 180;
_local3.bounces = true;
addSystem(_local3);
var _local4:Emitter = new Emitter(Particle.FIRE);
_local4.x = 700;
_local4.y = 10;
_local4.xVariation = 10;
_local4.emission = 260;
_local4.emissionCount = 2;
_local4.startSpeed = 5;
_local4.lifeTime = 60;
_local4.map = this;
_local4.rotation = 180;
_local4.bounces = false;
addSystem(_local4);
var _local5:Emitter = new Emitter(Particle.STAR);
_local5.x = 180;
_local5.y = 10;
_local5.xVariation = 10;
_local5.emission = 280;
_local5.emissionCount = 2;
_local5.startSpeed = 4;
_local5.lifeTime = 54;
_local5.map = this;
_local5.rotation = 180;
_local5.bounces = false;
addSystem(_local5);
var _local6:DropCollector = new DropCollector(this, 15);
_local6.x = 0xFF;
_local6.y = 420;
_local6.fadeTick = 500;
addSystem(_local6);
_collectorsCondition.putCollector(_local6);
var _local7:FireCollector = new FireCollector(this, 15);
_local7.x = 140;
_local7.y = 305;
_local7.fadeTick = 1000;
addSystem(_local7);
_collectorsCondition.putCollector(_local7);
var _local8:StarCollector = new StarCollector(this, 15);
_local8.x = 745;
_local8.y = 322;
_local8.fadeTick = 500;
addSystem(_local8);
_collectorsCondition.putCollector(_local8);
var _local9:Wind = new WindRight();
_local9.x = 385;
_local9.y = 420;
addForce(_local9);
var _local10:Wind = new WindLeft();
_local10.x = 500;
_local10.y = 420;
addForce(_local10);
var _local11:Wind = new WindLeft();
_local11.x = 615;
_local11.y = 420;
addForce(_local11);
var _local12:Wind = new WindDown();
_local12.x = 730;
_local12.y = 420;
addForce(_local12);
}
override public function get saveId():int{
return (25);
}
override public function getNextMap():Map{
return (new Map3_1(_stage, _ui));
}
}
}//package map.maps
Section 64
//Map3_1 (map.maps.Map3_1)
package map.maps {
import flash.display.*;
import map.*;
import map.ui.*;
import map.systems.*;
import map.particles.*;
import map.forces.*;
import flash.geom.*;
public class Map3_1 extends Map {
public function Map3_1(_arg1:Stage, _arg2:MapUI){
var _local6:FireCollector;
super(_arg1, "3:1 Panic", _arg2, 880, 500);
_levelCompletePoint = new Point(600, 246);
var _local3:Emitter = new Emitter(Particle.STAR);
_local3.x = 10;
_local3.y = 290;
_local3.rotation = 90;
_local3.xVariation = 15;
_local3.emission = 250;
_local3.emissionCount = 3;
_local3.startSpeed = 9;
_local3.lifeTime = 60;
_local3.map = this;
addSystem(_local3);
var _local4:Emitter = new Emitter(Particle.FIRE);
_local4.x = 10;
_local4.y = 230;
_local4.rotation = 90;
_local4.xVariation = 15;
_local4.emission = 250;
_local4.emissionCount = 2;
_local4.startSpeed = 9;
_local4.lifeTime = 60;
_local4.map = this;
addSystem(_local4);
var _local5:StarCollector = new StarCollector(this, 30);
_local5.x = 765;
_local5.y = 450;
_local5.fadeTick = 850;
addSystem(_local5);
_collectorsCondition.putCollector(_local5);
_local6 = new FireCollector(this, 30);
_local6.x = 765;
_local6.y = 50;
_local6.fadeTick = 850;
addSystem(_local6);
_collectorsCondition.putCollector(_local6);
var _local7:Wind = new WindUp();
_local7.x = 100;
_local7.y = 150;
addForce(_local7);
var _local8:Wind = new WindDown();
_local8.x = 200;
_local8.y = 150;
addForce(_local8);
var _local9:Splitter = new Splitter(1.05);
_local9.x = 500;
_local9.y = 350;
addForce(_local9);
}
override public function get saveId():int{
return (31);
}
override public function getNextMap():Map{
return (new Map3_2(_stage, _ui));
}
}
}//package map.maps
Section 65
//Map3_2 (map.maps.Map3_2)
package map.maps {
import flash.display.*;
import map.*;
import map.ui.*;
import map.systems.*;
import map.particles.*;
import map.forces.*;
import flash.geom.*;
public class Map3_2 extends Map {
public function Map3_2(_arg1:Stage, _arg2:MapUI){
var _local6:DropCollector;
super(_arg1, "3:2 Pass", _arg2, 880, 500);
_levelCompletePoint = new Point(100, 400);
var _local3:Emitter = new Emitter(Particle.STAR);
_local3.x = 10;
_local3.y = 250;
_local3.rotation = 90;
_local3.xVariation = 15;
_local3.emission = 250;
_local3.emissionCount = 2;
_local3.startSpeed = 8;
_local3.lifeTime = 95;
_local3.map = this;
addSystem(_local3);
var _local4:Emitter = new Emitter(Particle.DROP);
_local4.x = 870;
_local4.y = 250;
_local4.rotation = -90;
_local4.xVariation = 15;
_local4.emission = 250;
_local4.emissionCount = 2;
_local4.startSpeed = 8;
_local4.lifeTime = 95;
_local4.map = this;
addSystem(_local4);
var _local5:StarCollector = new StarCollector(this, 40);
_local5.x = 440;
_local5.y = 360;
_local5.fadeTick = 900;
addSystem(_local5);
_collectorsCondition.putCollector(_local5);
_local6 = new DropCollector(this, 40);
_local6.x = 440;
_local6.y = 140;
_local6.fadeTick = 900;
addSystem(_local6);
_collectorsCondition.putCollector(_local6);
var _local7:Sinusoyer = new Sinusoyer();
_local7.x = 100;
_local7.y = 100;
addForce(_local7);
var _local8:Wind = new WindRight();
_local8.x = 200;
_local8.y = 100;
addForce(_local8);
var _local9:Wind = new WindLeft();
_local9.x = 300;
_local9.y = 100;
addForce(_local9);
}
override public function get saveId():int{
return (32);
}
override public function getNextMap():Map{
return (new Map3_3(_stage, _ui));
}
}
}//package map.maps
Section 66
//Map3_3 (map.maps.Map3_3)
package map.maps {
import flash.display.*;
import map.*;
import map.ui.*;
import map.systems.*;
import map.particles.*;
import map.forces.*;
import flash.geom.*;
public class Map3_3 extends Map {
public function Map3_3(_arg1:Stage, _arg2:MapUI){
super(_arg1, "3:3 Little things", _arg2, 880, 500);
_levelCompletePoint = new Point(400, 240);
var _local3:Emitter = new Emitter(Particle.STAR);
_local3.x = 10;
_local3.y = 150;
_local3.rotation = 90;
_local3.xVariation = 15;
_local3.emission = 280;
_local3.emissionCount = 2;
_local3.startSpeed = 8;
_local3.lifeTime = 60;
_local3.map = this;
addSystem(_local3);
var _local4:Emitter = new Emitter(Particle.FIRE);
_local4.x = 870;
_local4.y = 250;
_local4.rotation = -90;
_local4.xVariation = 15;
_local4.emission = 280;
_local4.emissionCount = 2;
_local4.startSpeed = 8;
_local4.lifeTime = 53;
_local4.map = this;
addSystem(_local4);
var _local5:Emitter = new Emitter(Particle.DROP);
_local5.x = 10;
_local5.y = 350;
_local5.rotation = 90;
_local5.xVariation = 15;
_local5.emission = 280;
_local5.emissionCount = 2;
_local5.startSpeed = 8;
_local5.lifeTime = 45;
_local5.map = this;
addSystem(_local5);
var _local6:StarCollector = new StarCollector(this, 35);
_local6.x = 240;
_local6.y = 300;
_local6.fadeTick = 1000;
addSystem(_local6);
_collectorsCondition.putCollector(_local6);
var _local7:DropCollector = new DropCollector(this, 35);
_local7.x = 240;
_local7.y = 420;
_local7.fadeTick = 1000;
addSystem(_local7);
_collectorsCondition.putCollector(_local7);
var _local8:FireCollector = new FireCollector(this, 35);
_local8.x = 640;
_local8.y = 130;
_local8.fadeTick = 1000;
addSystem(_local8);
_collectorsCondition.putCollector(_local8);
var _local9:Wind = new WindRight();
_local9.x = 100;
_local9.y = 100;
addForce(_local9);
var _local10:Sinusoyer = new Sinusoyer();
_local10.x = 400;
_local10.y = 100;
addForce(_local10);
var _local11:Sinusoyer = new Sinusoyer();
_local11.x = 500;
_local11.y = 100;
addForce(_local11);
var _local12:Wind = new WindLeft();
_local12.x = 200;
_local12.y = 100;
addForce(_local12);
var _local13:Sinusoyer = new Sinusoyer();
_local13.x = 300;
_local13.y = 100;
addForce(_local13);
}
override public function get saveId():int{
return (33);
}
override public function getNextMap():Map{
return (new Map3_4(_stage, _ui));
}
}
}//package map.maps
Section 67
//Map3_4 (map.maps.Map3_4)
package map.maps {
import flash.display.*;
import map.*;
import map.ui.*;
import map.systems.*;
import map.particles.*;
import map.forces.*;
import flash.geom.*;
public class Map3_4 extends Map {
public function Map3_4(_arg1:Stage, _arg2:MapUI){
var _local4:Absorber;
var _local5:Emitter;
var _local6:DropCollector;
var _local7:Wind;
var _local8:Wind;
super(_arg1, "3:4 Drops", _arg2, 880, 500);
_levelCompletePoint = new Point(100, 400);
var _local3:Absorber = new Absorber(this);
_local3.x = 130;
_local3.y = 300;
addForce(_local3);
_local4 = new Absorber(this);
_local4.x = 510;
_local4.y = 300;
addForce(_local4);
_local5 = new Emitter(Particle.DROP);
_local5.x = 100;
_local5.y = 100;
_local5.rotation = 45;
_local5.xVariation = 15;
_local5.emission = 150;
_local5.emissionCount = 1;
_local5.startSpeed = 6;
_local5.lifeTime = 185;
_local5.bounces = true;
_local5.map = this;
addSystem(_local5);
_local6 = new DropCollector(this, 32);
_local6.x = 720;
_local6.y = 410;
_local6.fadeTick = 1200;
addSystem(_local6);
_collectorsCondition.putCollector(_local6);
_local7 = new WindUp();
_local7.x = 750;
_local7.y = 300;
addForce(_local7);
_local8 = new WindRight();
_local8.x = 750;
_local8.y = 200;
addForce(_local8);
var _local9:Splitter = new Splitter();
_local9.x = 750;
_local9.y = 100;
addForce(_local9);
var _local10:Gravity = new Gravity(0.8);
addForce(_local10);
}
override public function get saveId():int{
return (34);
}
override public function getNextMap():Map{
return (new Map3_5(_stage, _ui));
}
}
}//package map.maps
Section 68
//Map3_5 (map.maps.Map3_5)
package map.maps {
import flash.display.*;
import map.*;
import map.ui.*;
import map.systems.*;
import map.particles.*;
import map.forces.*;
import flash.geom.*;
public class Map3_5 extends Map {
public function Map3_5(_arg1:Stage, _arg2:MapUI){
var _local4:Absorber;
super(_arg1, "3:5 Ganymede", _arg2, 880, 500);
_levelCompletePoint = new Point(500, 260);
var _local3:Absorber = new Absorber(this);
_local3.x = 630;
_local3.y = 400;
addForce(_local3);
_local4 = new Absorber(this);
_local4.x = 170;
_local4.y = 295;
addForce(_local4);
var _local5:Absorber = new Absorber(this);
_local5.x = 720;
_local5.y = 185;
addForce(_local5);
var _local6:Absorber = new Absorber(this);
_local6.x = 362;
_local6.y = 173;
addForce(_local6);
var _local7:Emitter = new Emitter(Particle.FIRE);
_local7.x = 10;
_local7.y = 450;
_local7.rotation = 70;
_local7.xVariation = 15;
_local7.emission = 220;
_local7.emissionCount = 4;
_local7.startSpeed = 22;
_local7.lifeTime = 120;
_local7.map = this;
addSystem(_local7);
var _local8:FireCollector = new FireCollector(this, 60);
_local8.x = 200;
_local8.y = 145;
_local8.fadeTick = 800;
addSystem(_local8);
_collectorsCondition.putCollector(_local8);
var _local9:Sinusoyer = new Sinusoyer();
_local9.x = 700;
_local9.y = 350;
addForce(_local9);
var _local10:Sinusoyer = new Sinusoyer();
_local10.x = 600;
_local10.y = 350;
addForce(_local10);
var _local11:Sinusoyer = new Sinusoyer();
_local11.x = 500;
_local11.y = 350;
addForce(_local11);
var _local12:Sinusoyer = new Sinusoyer();
_local12.x = 400;
_local12.y = 350;
addForce(_local12);
var _local13:Sinusoyer = new Sinusoyer();
_local13.x = 300;
_local13.y = 350;
addForce(_local13);
}
override public function get saveId():int{
return (35);
}
override public function getNextMap():Map{
return (new MapFinal(_stage, _ui));
}
}
}//package map.maps
Section 69
//MapFinal (map.maps.MapFinal)
package map.maps {
import flash.display.*;
import map.*;
import map.ui.*;
import map.systems.*;
import map.particles.*;
import flash.geom.*;
public class MapFinal extends Map {
public function MapFinal(_arg1:Stage, _arg2:MapUI){
super(_arg1, "The end", _arg2, 880, 500);
_levelCompletePoint = new Point(100, 400);
var _local3:Emitter = new Emitter(Particle.SPARK);
_local3.x = 440;
_local3.y = 480;
_local3.rotation = 180;
_local3.xVariation = 400;
_local3.emission = 370;
_local3.emissionCount = 3;
_local3.startSpeed = 15;
_local3.lifeTime = 200;
_local3.map = this;
addSystem(_local3);
var _local4:TheEndUI = new TheEndUI();
_local4.place();
addChild(_local4);
}
override public function get saveId():int{
return (0);
}
}
}//package map.maps
Section 70
//MapPreloader (map.maps.MapPreloader)
package map.maps {
import flash.display.*;
import map.*;
import map.ui.*;
import map.systems.*;
import map.particles.*;
import map.forces.*;
public class MapPreloader extends Map {
public function MapPreloader(_arg1:Stage, _arg2:MapUI){
var _local3:Emitter;
super(_arg1, "", _arg2, 880, 500);
_local3 = new Emitter(Particle.FIRE);
_local3.x = 440;
_local3.y = 10;
_local3.xVariation = 300;
_local3.emission = 125;
_local3.emissionCount = 2;
_local3.startSpeed = 5.5;
_local3.lifeTime = 81;
_local3.map = this;
_local3.rotation = 180;
addSystem(_local3);
var _local4:Gravity = new Gravity(0.3);
addForce(_local4);
}
public function get mainMenu():MovieClip{
return ((getChildByName("mainMenu") as MovieClip));
}
public function newGame():void{
_skipLevelCondition.skipped = true;
}
override public function getNextMap():Map{
return (new Map1_1(_stage, _ui));
}
}
}//package map.maps
Section 71
//MapTitle (map.maps.MapTitle)
package map.maps {
import flash.display.*;
import map.*;
import map.ui.*;
import map.systems.*;
import map.particles.*;
import map.forces.*;
public class MapTitle extends Map {
private var _titleMC:Title;
public function MapTitle(_arg1:Stage, _arg2:MapUI){
super(_arg1, "", _arg2, 880, 500);
_levelCompleteTime = 3600;
var _local3:Emitter = new Emitter(Particle.FIRE);
_local3.x = 440;
_local3.y = 10;
_local3.xVariation = 300;
_local3.emission = 60;
_local3.emissionCount = 2;
_local3.startSpeed = 5.5;
_local3.lifeTime = 82;
_local3.map = this;
_local3.rotation = 180;
addSystem(_local3);
var _local4:Gravity = new Gravity(0.3);
addForce(_local4);
_titleMC = new Title();
_titleMC.place();
addChild(_titleMC);
}
public function newGame():void{
_skipLevelCondition.skipped = true;
}
public function get mainMenu():MovieClip{
return ((getChildByName("mainMenu") as MovieClip));
}
override public function getNextMap():Map{
return (new Map1_1(_stage, _ui));
}
public function get titleMC():Title{
return (_titleMC);
}
}
}//package map.maps
Section 72
//Drop (map.particles.Drop)
package map.particles {
import map.*;
import map.utils.*;
public class Drop extends Particle {
private var _bouncesIn:Boolean;// = false
private var _bouncesOut:Boolean;// = false
private static const MIN_FORCE_2:int = 6500;
private static const MAX_FORCE_2:int = 1900;
private static const MIDDLE_FORCE_2:int = 2000;
public function Drop(_arg1:Map, _arg2:Number, _arg3:Number){
super(_arg1, _arg2, _arg3);
_type = DROP;
}
public function set bouncesIn(_arg1:Boolean):void{
_bouncesIn = _arg1;
}
private function affectBounces():void{
var _local3:Particle;
var _local4:int;
var _local5:Angle;
var _local6:Number;
var _local1:int = _map.particles.length;
var _local2:int;
while (_local2 < _local1) {
_local3 = (_map.particles[_local2] as Particle);
_local4 = MathUtils.distance2(x, y, _local3.x, _local3.y);
if (_local4 < MIN_FORCE_2){
_local5 = new Angle(x, y, _local3.x, _local3.y);
_local5.calculateRotation();
if (_local4 < MAX_FORCE_2){
if (_bouncesOut){
_local6 = ((_local4 < (MAX_FORCE_2 / 3))) ? 4 : ((_local4 < ((MAX_FORCE_2 / 3) * 2))) ? 2 : 1;
x = (x + (_local6 * Math.cos(((((_local5.rotation + 90) + 180) * Math.PI) / 180))));
y = (y + (_local6 * Math.sin(((((_local5.rotation + 90) + 180) * Math.PI) / 180))));
};
} else {
if (_local4 > MIDDLE_FORCE_2){
if (_bouncesIn){
_local6 = ((_local4 > ((((MIN_FORCE_2 - MIDDLE_FORCE_2) / 3) * 2) + MIDDLE_FORCE_2))) ? 1 : ((_local4 > (((MIN_FORCE_2 - MIDDLE_FORCE_2) / 3) + MIDDLE_FORCE_2))) ? 2 : 4;
x = (x + (_local6 * Math.cos((((_local5.rotation + 90) * Math.PI) / 180))));
y = (y + (_local6 * Math.sin((((_local5.rotation + 90) * Math.PI) / 180))));
};
};
};
};
_local2++;
};
}
public function set bouncesOut(_arg1:Boolean):void{
_bouncesOut = _arg1;
}
override public function tick(_arg1:int):void{
super.tick(_arg1);
if (((_bouncesIn) || (_bouncesOut))){
affectBounces();
};
}
}
}//package map.particles
Section 73
//Fire (map.particles.Fire)
package map.particles {
import map.*;
public class Fire extends Drop {
public function Fire(_arg1:Map, _arg2:Number, _arg3:Number){
super(_arg1, _arg2, _arg3);
_type = FIRE;
}
}
}//package map.particles
Section 74
//Particle (map.particles.Particle)
package map.particles {
import flash.display.*;
import map.*;
public class Particle extends MovieClip {
private var _diffusion:int;// = 1
private var _lifeStep:int;// = 0
private var _lifeTime:int;// = 170
private var _speedY:Number;
private var _speedX:Number;
protected var _type:int;// = 0
protected var _map:Map;
public static const DOT:int = 2;
private static const DIE_TIME:int = 20;
public static const DROP:int = 0;
public static const FIRE:int = 4;
public static const STAR:int = 1;
public static const SPARK:int = 3;
public function Particle(_arg1:Map, _arg2:Number, _arg3:Number){
this._map = _arg1;
var _local4:Number = Math.cos((((_arg2 + 90) * Math.PI) / 180));
var _local5:Number = Math.sin((((_arg2 + 90) * Math.PI) / 180));
_speedX = (_local4 * _arg3);
_speedY = (_local5 * _arg3);
}
public function set diffusion(_arg1:int):void{
_diffusion = _arg1;
}
public function set lifeTime(_arg1:int):void{
_lifeTime = _arg1;
}
public function tick(_arg1:int):void{
var _local2:Number;
updateSpeeds();
_lifeStep++;
if (_lifeStep > (_lifeTime - DIE_TIME)){
_local2 = (1 - (((_lifeStep - _lifeTime) + DIE_TIME) / DIE_TIME));
scaleX = _local2;
scaleY = _local2;
};
if (_lifeStep == _lifeTime){
_map.kill(this);
};
}
public function set speedY(_arg1:Number):void{
_speedY = _arg1;
}
public function set speedX(_arg1:Number):void{
_speedX = _arg1;
}
public function isNotDying():Boolean{
return ((_lifeStep < (_lifeTime - (DIE_TIME / 4))));
}
public function get speedX():Number{
return (_speedX);
}
public function get speedY():Number{
return (_speedY);
}
private function updateSpeeds():void{
if ((((((speedX < 0)) && (((x - speedX) < 0)))) || (((x + speedX) > _map.width)))){
speedX = (speedX * -0.5);
speedY = (speedY + (((((Math.random() * 2) > 1)) ? -1 : 1 * Math.random()) * _diffusion));
};
x = (x + speedX);
if ((((((speedY < 0)) && (((y - speedY) < 0)))) || (((y + speedY) > _map.height)))){
speedY = (speedY * -0.5);
speedX = (speedX + (((((Math.random() * 2) > 1)) ? -1 : 1 * Math.random()) * _diffusion));
};
y = (y + speedY);
}
public function get type():int{
return (_type);
}
}
}//package map.particles
Section 75
//SimpleDrop (map.particles.SimpleDrop)
package map.particles {
import map.*;
public class SimpleDrop extends Drop {
public function SimpleDrop(_arg1:Map, _arg2:Number, _arg3:Number){
super(_arg1, _arg2, _arg3);
}
}
}//package map.particles
Section 76
//Star (map.particles.Star)
package map.particles {
import map.*;
public class Star extends Drop {
public function Star(_arg1:Map, _arg2:Number, _arg3:Number){
super(_arg1, _arg2, _arg3);
_type = STAR;
}
}
}//package map.particles
Section 77
//Zigzag (map.particles.Zigzag)
package map.particles {
import map.*;
public class Zigzag extends Drop {
public function Zigzag(_arg1:Map, _arg2:Number, _arg3:Number){
super(_arg1, _arg2, _arg3);
_type = SPARK;
}
}
}//package map.particles
Section 78
//Score (map.statistics.Score)
package map.statistics {
public class Score {
private var _drops:int;// = 0
private var _capacity:int;// = 0
public function get score():int{
return (((_drops > 20000)) ? 1000 : ((_drops < _capacity)) ? 0 : (102000 - (5 * _drops)));
}
public function get drops():int{
return (_drops);
}
public function set drops(_arg1:int):void{
_drops = _arg1;
}
public function set capacity(_arg1:int):void{
_capacity = _arg1;
}
public function get capacity():int{
return (_capacity);
}
}
}//package map.statistics
Section 79
//Collector (map.systems.Collector)
package map.systems {
import flash.display.*;
import map.*;
import map.particles.*;
import map.utils.*;
public class Collector extends System {
private var _capacity:int;
private var _drops:int;// = 0
protected var _type:int;// = 0
private var _mc:MovieClip;
private var _count:int;// = 0
private var _fadeTick:int;// = 200
private var _lastTick:int;// = 0
private var _map:Map;
private static const R2:int = 800;
public function Collector(_arg1:Map, _arg2:int){
_capacity = _arg2;
_map = _arg1;
_mc = (getChildByName("col") as MovieClip);
_mc.gotoAndStop(1);
}
public function get capacity():int{
return (_capacity);
}
public function get drops():int{
return (_drops);
}
override public function tick(_arg1:int):void{
var _local4:Particle;
var _local2:int = _map.particles.length;
var _local3:int;
while (_local3 < _local2) {
if (isFull()){
break;
};
_local4 = (_map.particles[_local3] as Particle);
if ((((((_local4.type == _type)) && (_local4.isNotDying()))) && ((MathUtils.distance2(x, y, _local4.x, _local4.y) <= R2)))){
_count++;
_mc.gotoAndStop(Math.round(((200 * _count) / _capacity)));
_map.kill(_local4);
_local3--;
_local2--;
_drops++;
};
_local3++;
};
if ((((_count > 0)) && ((_arg1 >= (_lastTick + _fadeTick))))){
_lastTick = _arg1;
if (((((isFull()) && (((Math.random() * 4) > 3)))) || (!(isFull())))){
_count--;
};
_mc.gotoAndStop(Math.round(((200 * _count) / _capacity)));
};
}
public function set fadeTick(_arg1:int):void{
_fadeTick = _arg1;
}
public function isFull():Boolean{
return ((_count == _capacity));
}
}
}//package map.systems
Section 80
//Dragable (map.systems.Dragable)
package map.systems {
import flash.display.*;
import flash.events.*;
import flash.ui.*;
public class Dragable extends MovieClip {
public function Dragable(_arg1:Boolean=true, _arg2:Boolean=true){
if (((_arg1) && (_arg2))){
addEventListener(MouseEvent.MOUSE_DOWN, drag);
addEventListener(MouseEvent.MOUSE_UP, drop);
};
}
private function drag(_arg1:Event):void{
startDrag();
}
public function drop(_arg1:Event):void{
stopDrag();
Mouse.show();
}
}
}//package map.systems
Section 81
//DropCollector (map.systems.DropCollector)
package map.systems {
import flash.display.*;
import map.*;
import map.particles.*;
public class DropCollector extends Collector {
public var col:MovieClip;
public function DropCollector(_arg1:Map, _arg2:int){
super(_arg1, _arg2);
_type = Particle.DROP;
}
}
}//package map.systems
Section 82
//Emitter (map.systems.Emitter)
package map.systems {
import flash.display.*;
import map.*;
import map.particles.*;
public class Emitter extends System {
private var _diffusion:int;// = 1
private var _lastEmissionTime:int;// = 0
private var _lifeTime:int;// = 180
private var _emissionCount:int;// = 2
private var _type:int;// = 1
private var _xVariation:int;// = 30
private var _map:Map;
private var _startSpeed:Number;// = 17
private var _emission:int;// = 50
public var em:MovieClip;
private var _bounces:Boolean;// = false
private var _visible:Boolean;// = false
public function Emitter(_arg1:int=0){
_type = _arg1;
if (!_visible){
removeChild(getChildByName("em"));
};
}
public function set startSpeed(_arg1:Number):void{
_startSpeed = _arg1;
}
public function set emission(_arg1:int):void{
_emission = _arg1;
}
public function set diffusion(_arg1:int):void{
_diffusion = _arg1;
}
public function set bounces(_arg1:Boolean):void{
_bounces = _arg1;
}
private function emitt():void{
var _local3:Drop;
var _local1:int = (Math.random() * 100);
if (_local1 < 20){
return;
};
var _local2:int;
while (_local2 < _emissionCount) {
switch (_type){
case Particle.STAR:
_local3 = new Star(_map, (rotation + 180), _startSpeed);
_local3.alpha = 0.3;
break;
case Particle.DROP:
_local3 = new SimpleDrop(_map, (rotation + 180), _startSpeed);
break;
case Particle.FIRE:
_local3 = new Fire(_map, (rotation + 180), _startSpeed);
break;
case Particle.SPARK:
_local3 = new Zigzag(_map, (rotation + 180), _startSpeed);
_local3.alpha = 0.3;
break;
};
_local3.lifeTime = _lifeTime;
_local3.diffusion = _diffusion;
_local3.bouncesIn = _bounces;
_local3.bouncesOut = _bounces;
_local3.x = (x + ((((((Math.random() * 2) > 1)) ? -1 : 1 * Math.random()) * _xVariation) * Math.sin(((((rotation + 180) + 90) * Math.PI) / 180))));
_local3.y = (y + ((((((Math.random() * 2) > 1)) ? -1 : 1 * Math.random()) * _xVariation) * Math.cos(((((rotation + 180) + 90) * Math.PI) / 180))));
_map.addParticle(_local3);
_local3.cacheAsBitmap = true;
_local2++;
};
}
public function set lifeTime(_arg1:int):void{
_lifeTime = _arg1;
}
override public function tick(_arg1:int):void{
if (_arg1 >= (_lastEmissionTime + _emission)){
_lastEmissionTime = _arg1;
emitt();
};
}
public function set xVariation(_arg1:int):void{
_xVariation = _arg1;
}
public function set map(_arg1:Map):void{
_map = _arg1;
}
public function set emissionCount(_arg1:int):void{
_emissionCount = _arg1;
}
}
}//package map.systems
Section 83
//FireCollector (map.systems.FireCollector)
package map.systems {
import flash.display.*;
import map.*;
import map.particles.*;
public class FireCollector extends Collector {
public var col:MovieClip;
public function FireCollector(_arg1:Map, _arg2:int){
super(_arg1, _arg2);
_type = Particle.FIRE;
}
}
}//package map.systems
Section 84
//SparkCollector (map.systems.SparkCollector)
package map.systems {
import flash.display.*;
import map.*;
import map.particles.*;
public class SparkCollector extends Collector {
public var col:MovieClip;
public function SparkCollector(_arg1:Map, _arg2:int){
super(_arg1, _arg2);
_type = Particle.SPARK;
}
}
}//package map.systems
Section 85
//StarCollector (map.systems.StarCollector)
package map.systems {
import flash.display.*;
import map.*;
import map.particles.*;
public class StarCollector extends Collector {
public var col:MovieClip;
public function StarCollector(_arg1:Map, _arg2:int){
super(_arg1, _arg2);
_type = Particle.STAR;
}
}
}//package map.systems
Section 86
//System (map.systems.System)
package map.systems {
import flash.display.*;
public class System extends MovieClip {
public function tick(_arg1:int):void{
}
}
}//package map.systems
Section 87
//Fader (map.ui.Fader)
package map.ui {
import flash.display.*;
import map.units.unit.*;
import com.moonmana.ui.*;
public class Fader extends ScreenObject {
public function Fader(_arg1:Stage){
addFrameScript(39, frame40);
super(0, 0);
place();
addEventListener(UnitEvent.DEAD, die);
_arg1.addChild(this);
}
private function die(_arg1:UnitEvent):void{
stage.removeChild(this);
}
function frame40(){
dispatchEvent(new UnitEvent(UnitEvent.DEAD));
stop();
}
}
}//package map.ui
Section 88
//HelperUI (map.ui.HelperUI)
package map.ui {
import com.moonmana.ui.*;
public class HelperUI extends ScreenObject {
public function HelperUI(){
addFrameScript(366, frame367);
super(190, 66);
place();
}
function frame367(){
stop();
}
}
}//package map.ui
Section 89
//LevelCompleteUI (map.ui.LevelCompleteUI)
package map.ui {
import main.*;
import com.moonmana.ui.*;
public class LevelCompleteUI extends ScreenObject {
public function LevelCompleteUI(){
addFrameScript(0, frame1, 133, frame134);
super((Main.SCREEN_WIDTH / 2), (Main.SCREEN_HEIGHT / 2));
}
function frame1(){
stop();
}
function frame134(){
stop();
}
}
}//package map.ui
Section 90
//MapUI (map.ui.MapUI)
package map.ui {
import flash.events.*;
import main.*;
import flash.text.*;
import com.moonmana.ui.*;
import com.moonmana.sponsors.coolbuddy.*;
import ui.*;
public class MapUI extends ScreenObject {
private var _soundButton:SoundButton;
public var level:TextField;
private var _level:TextField;
private var _facebook:FacebookBtn;
private var _wtButton:MMButton;
private var _menuButton:MMButton;
public function MapUI(){
_menuButton = new MMButton(-50, 8);
_wtButton = new MMButton(-40, 472);
_facebook = new FacebookBtn(837, 460);
super(0, 0);
if (Main.BUILD == Main.COOLBUDDY){
_soundButton = new SoundButton(846, 435);
} else {
_soundButton = new SoundButton(846, 469);
};
addChild(_soundButton);
_soundButton.place();
_soundButton.addEventListener(MouseEvent.CLICK, switchSound);
_level = (getChildByName("level") as TextField);
_menuButton.setLabel("MENU");
_menuButton.place();
addChild(_menuButton);
if (Main.BUILD == Main.COOLBUDDY){
_wtButton.setLabel("WALKTHROUGH");
_wtButton.place();
addChild(_wtButton);
addChild(_facebook);
_facebook.place();
};
}
public function get wtButton():MMButton{
return (_wtButton);
}
public function get fbButton():FacebookBtn{
return (_facebook);
}
public function get menuButton():MMButton{
return (_menuButton);
}
private function switchSound(_arg1:MouseEvent):void{
Main.options.switchMusic();
if (Main.options.music){
_soundButton.gotoAndStop(1);
} else {
_soundButton.gotoAndStop(2);
};
}
public function set levelName(_arg1:String):void{
_level.text = _arg1;
}
}
}//package map.ui
Section 91
//TheEndUI (map.ui.TheEndUI)
package map.ui {
import main.*;
import com.moonmana.ui.*;
public class TheEndUI extends ScreenObject {
public function TheEndUI(){
addFrameScript(0, frame1, 133, frame134);
super((Main.SCREEN_WIDTH / 2), (Main.SCREEN_HEIGHT / 2));
}
function frame1(){
stop();
}
function frame134(){
stop();
}
}
}//package map.ui
Section 92
//Title (map.ui.Title)
package map.ui {
import com.moonmana.ui.*;
public class Title extends ScreenObject {
public function Title(){
addFrameScript(218, frame219);
super(380, 240);
}
function frame219(){
gotoAndPlay("again");
}
}
}//package map.ui
Section 93
//UnitEvent (map.units.unit.UnitEvent)
package map.units.unit {
import flash.events.*;
public class UnitEvent extends Event {
public static const WALK:String = "walk";
public static const DEAD:String = "dead";
public static const HERO_DEAD:String = "herodead";
public static const USE_PERK:String = "usePerk";
public static const ROTATE_FLY:String = "rotateFly";
public static const ACTIVATED:String = "activated";
public static const FLY:String = "fly";
public static const LEVEL_UP:String = "levelUp";
public static const REALLY_DEAD:String = "reallyDead";
public static const STEP:String = "step";
public function UnitEvent(_arg1:String){
super(_arg1, true, false);
}
}
}//package map.units.unit
Section 94
//Angle (map.utils.Angle)
package map.utils {
public class Angle {
private var _objectY:Number;
private var _rotation:Number;
private var _targetX:Number;
private var _targetY:Number;
private var _objectX:Number;
public function Angle(_arg1:int=0, _arg2:int=0, _arg3:int=0, _arg4:int=0){
_targetX = _arg3;
_targetY = _arg4;
_objectX = _arg1;
_objectY = _arg2;
}
public function get objectY():Number{
return (_objectY);
}
public function calculateRotation():void{
var _local1:Number = (targetX - objectX);
var _local2:Number = (objectY - targetY);
var _local3:Number = Math.atan((_local1 / ((_local2 == 0)) ? 0.0001 : _local2));
_rotation = ((((objectY < targetY)) ? ((objectX > targetX)) ? -180 : 180 : 0 + ((_local3 / Math.PI) * 180)) + 180);
}
public function set targetX(_arg1:Number):void{
_targetX = _arg1;
}
public function set targetY(_arg1:Number):void{
_targetY = _arg1;
}
public function get targetX():Number{
return (_targetX);
}
public function get targetY():Number{
return (_targetY);
}
public function set objectX(_arg1:Number):void{
_objectX = _arg1;
}
public function set objectY(_arg1:Number):void{
_objectY = _arg1;
}
public function get dY():Number{
return ((_targetY - _objectY));
}
public function rotationRad():Number{
return (((_rotation * Math.PI) / 180));
}
public function get objectX():Number{
return (_objectX);
}
public function get dX():Number{
return ((_targetX - _objectX));
}
public function set rotation(_arg1:Number):void{
_rotation = _arg1;
}
public function get rotation():Number{
return (_rotation);
}
}
}//package map.utils
Section 95
//MathUtils (map.utils.MathUtils)
package map.utils {
public class MathUtils {
public static function compareAngles(_arg1:Number, _arg2:Number):int{
var _local3:Number = 0;
if (_arg1 > _arg2){
_local3 = (_arg1 - _arg2);
if (_local3 > 180){
return (-1);
};
if (_local3 < 180){
return (1);
};
return (-1);
} else {
if (_arg1 < _arg2){
_local3 = (_arg2 - _arg1);
if (_local3 > 180){
return (1);
};
if (_local3 < 180){
return (-1);
};
return (1);
};
};
return (0);
}
public static function distance2(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Number{
var _local5:Number = (_arg3 - _arg1);
var _local6:Number = (_arg2 - _arg4);
return (((_local5 * _local5) + (_local6 * _local6)));
}
}
}//package map.utils
Section 96
//Map (map.Map)
package map {
import flash.display.*;
import flash.events.*;
import map.conditions.*;
import flash.filters.*;
import map.ui.*;
import map.systems.*;
import map.particles.*;
import map.forces.*;
import flash.geom.*;
import com.moonmana.ui.*;
import utils.*;
import map.maps.*;
import flash.utils.*;
public class Map extends ScreenObject {
protected var _stage:Stage;
private var _forces:Array;
private var _w:int;
private var _state:int;// = 1
private var _finishTime:int;// = 0
private var _particles:Array;
protected var _ui:MapUI;
private var _lastBlur2:int;// = 0
private var _blur:BlurFilter;
protected var _levelCompleteTime:int;// = 4600
private var _startTime:int;
protected var _conditionsManager:ConditionsManager;
protected var _title:String;
private var _bd:BitmapData;
private var _systems:Array;
private var _h:int;
protected var _levelCompletePoint:Point;
protected var _skipLevelCondition:SkipLevelCondition;
private var _lastBlur:int;// = 0
protected var _collectorsCondition:AllCollectorsFullCondition;
private var colorFade:ColorTransform;
protected static const LEVEL_COMPLETE_TIME_PLUS:int = 7500;
private static const BLUR_2_TICK:int = 2750;
public static const PLAY:int = 1;
private static const BLUR_TICK:int = 100;
private static const X:int = 0;
private static const Y:int = 0;
public static const LEVEL_COMPLETE:int = 2;
public function Map(_arg1:Stage, _arg2:String, _arg3:MapUI, _arg4:int, _arg5:int){
_particles = new Array();
_systems = new Array();
_forces = new Array();
_skipLevelCondition = new SkipLevelCondition();
_collectorsCondition = new AllCollectorsFullCondition();
_startTime = getTimer();
_blur = new BlurFilter(15, 15, 2);
super(X, Y);
_stage = _arg1;
_title = _arg2;
_w = _arg4;
_h = _arg5;
_conditionsManager = new ConditionsManager();
_conditionsManager.push(_skipLevelCondition);
_conditionsManager.push(_collectorsCondition);
addBlurLayer();
this._ui = _arg3;
_arg3.levelName = _arg2;
addEventListener(MouseEvent.MOUSE_UP, drop);
}
public function get finishTime():int{
return (_finishTime);
}
private function addBlurLayer():void{
_bd = new BitmapData(width, height, true, 0);
var _local1:Bitmap = new Bitmap(_bd);
addChild(_local1);
}
public function get totalDrops():int{
var _local1:int;
var _local2:int;
while (_local2 < _systems.length) {
if ((_systems[_local2] is Collector)){
_local1 = (_local1 + (_systems[_local2] as Collector).drops);
};
_local2++;
};
return (_local1);
}
public function get state():int{
return (_state);
}
public function getNewMap():Map{
return (null);
}
public function get saveId():int{
return (0);
}
public function tick(_arg1:Number):void{
var _local2:int;
if ((((_state == PLAY)) && (_conditionsManager.done()))){
removeEventListener(MouseEvent.MOUSE_UP, drop);
_state = LEVEL_COMPLETE;
_finishTime = getTimer();
if ((this is MapTitle)){
rasterizeToBlurLayer((this as MapTitle).titleMC, _arg1);
rasterizeToBlurLayer((this as MapTitle).mainMenu, _arg1);
};
SoundManager.play(SoundManager.LC);
};
if (_state == PLAY){
_local2 = 0;
while (_local2 < _systems.length) {
(_systems[_local2] as System).tick(_arg1);
_local2++;
};
};
_local2 = 0;
while (_local2 < _particles.length) {
(_particles[_local2] as Particle).tick(_arg1);
if (_particles[_local2] != null){
rasterizeToBlurLayer((_particles[_local2] as MovieClip), _arg1);
};
_local2++;
};
if (_arg1 >= (_lastBlur + BLUR_TICK)){
_lastBlur = _arg1;
_bd.applyFilter(_bd, _bd.rect, new Point(), _blur);
};
_local2 = 0;
while (_local2 < _forces.length) {
(_forces[_local2] as Force).affect(_particles, _arg1);
(_forces[_local2] as Force).tick(_arg1, _stage);
_local2++;
};
}
public function get totalCapacity():int{
var _local1:int;
var _local2:int;
while (_local2 < _systems.length) {
if ((_systems[_local2] is Collector)){
_local1 = (_local1 + (_systems[_local2] as Collector).capacity);
};
_local2++;
};
return (_local1);
}
override public function get height():Number{
return (_h);
}
public function get particles():Array{
return (_particles);
}
public function addSystem(_arg1:System):void{
_systems.push(_arg1);
addChild(_arg1);
}
private function rasterizeToBlurLayer(_arg1:MovieClip, _arg2:int):void{
var _local3:MovieClip = new MovieClip();
_local3.width = _bd.width;
_local3.height = _bd.height;
_local3.addChild(_arg1);
_bd.draw(_local3, null, null, "add");
_local3.removeChild(_arg1);
_local3 = null;
}
public function addParticle(_arg1:Particle):void{
_particles.push(_arg1);
addChild(_arg1);
}
public function get underlay():MovieClip{
return (null);
}
override public function get width():Number{
return (_w);
}
public function addForce(_arg1:Force):void{
_forces.push(_arg1);
addChild(_arg1);
}
public function getNextMap():Map{
return (null);
}
public function skipMap(_arg1:Event=null):void{
_skipLevelCondition.skipped = true;
}
public function kill(_arg1:Particle):void{
var _local2:int;
while (_local2 < _particles.length) {
if (_particles[_local2] == _arg1){
_particles.splice(_local2, 1);
_arg1 = null;
break;
};
_local2++;
};
}
public function get isLast():Boolean{
return ((saveId == 0));
}
public function get levelCompleteTime():int{
return (_levelCompleteTime);
}
private function drop(_arg1:MouseEvent):void{
var _local2:int = _forces.length;
var _local3:int;
while (_local3 < _local2) {
(_forces[_local3] as Dragable).drop(_arg1);
_local3++;
};
}
public function tickComplete(_arg1:int):void{
var _local2:int;
while (_local2 < _systems.length) {
(_systems[_local2] as System).alpha = ((_systems[_local2] as System).alpha - 0.04);
_local2++;
};
_local2 = 0;
while (_local2 < _forces.length) {
(_forces[_local2] as Force).alpha = ((_forces[_local2] as Force).alpha - 0.04);
_local2++;
};
if (_arg1 >= (_lastBlur2 + BLUR_2_TICK)){
_lastBlur2 = _arg1;
_bd.applyFilter(_bd, new Rectangle(0, 0, _bd.width, _bd.height), new Point(), new BlurFilter(20, 20, 2));
};
}
public function get levelCompletePoint():Point{
return (_levelCompletePoint);
}
}
}//package map
Section 97
//MapBG (map.MapBG)
package map {
import flash.display.*;
public class MapBG extends MovieClip {
}
}//package map
Section 98
//MapMask (map.MapMask)
package map {
import main.*;
import com.moonmana.ui.*;
public class MapMask extends ScreenObject {
public function MapMask(){
super((Main.SCREEN_WIDTH / 2), (Main.SCREEN_HEIGHT / 2));
}
}
}//package map
Section 99
//LCSnd (sounds.LCSnd)
package sounds {
import flash.media.*;
public class LCSnd extends Sound {
}
}//package sounds
Section 100
//MusicSnd (sounds.MusicSnd)
package sounds {
import flash.media.*;
public class MusicSnd extends Sound {
}
}//package sounds
Section 101
//Eventable (ui.menus.Eventable)
package ui.menus {
public interface Eventable {
function bindEvents():void;
}
}//package ui.menus
Section 102
//FinalMenu (ui.menus.FinalMenu)
package ui.menus {
import flash.events.*;
import main.*;
import com.moonmana.ui.*;
import com.moonmana.mmad.*;
public class FinalMenu extends Menu {
private var _moonmana:MMButton;
private var _submitScore:MMButton;
private var _moreGames:MMButton;
private static const X:int = 0;
private static const Y:int = 0;
public function FinalMenu(_arg1:Navigator){
super(_arg1, X, Y);
}
override public function go():void{
_navigator.currentMap.addChild(this);
name = "finalMenu";
place();
}
override public function bindEvents():void{
_moreGames = new MMButton(443, 450);
_submitScore = new MMButton(643, 450);
_moonmana = new MMButton(205, 450);
_moreGames.setLabel(Main.bundle.getString("MORE_GAMES"));
_submitScore.setLabel(Main.bundle.getString("SUBMIT_SCORE"));
_moonmana.setLabel("DEVELOPED BY MOONMANA");
_moreGames.place();
_submitScore.place();
_moonmana.place();
addChild(_moreGames);
addChild(_submitScore);
addChild(_moonmana);
if (Main.BUILD == Main.MOONMANA){
_moreGames.addEventListener(MouseEvent.CLICK, MMAd.goMoonMana);
} else {
if (Main.BUILD == Main.COOLBUDDY){
_moreGames.addEventListener(MouseEvent.CLICK, MMAd.goCoolBuddy);
};
};
_submitScore.addEventListener(MouseEvent.CLICK, _navigator.submitScore);
_moonmana.addEventListener(MouseEvent.CLICK, MMAd.goMoonMana);
}
override public function unbindEvents():void{
if (Main.BUILD == Main.MOONMANA){
_moreGames.removeEventListener(MouseEvent.CLICK, MMAd.goMoonMana);
} else {
if (Main.BUILD == Main.COOLBUDDY){
_moreGames.removeEventListener(MouseEvent.CLICK, MMAd.goCoolBuddy);
};
};
_submitScore.removeEventListener(MouseEvent.CLICK, _navigator.submitScore);
}
}
}//package ui.menus
Section 103
//MainMenu (ui.menus.MainMenu)
package ui.menus {
import flash.events.*;
import main.*;
import com.mochi.*;
import com.moonmana.ui.*;
import com.moonmana.sponsors.coolbuddy.*;
import com.moonmana.mmad.*;
public class MainMenu extends Menu {
private var _highscores:MMButton;
private var _youmaybe:MMButton;
private var _cbb:CoolBuddyButton;
private var _moreGames:MMButton;
private var _newGame:MMButton;
private var _loadGame:MMButton;
private var _developed:MMButton;
private static const X:int = 0;
private static const Y:int = 0;
public function MainMenu(_arg1:Navigator){
super(_arg1, X, Y);
}
override public function go():void{
_navigator.currentMap.addChild(this);
name = "mainMenu";
place();
}
private function showScoreboard(_arg1:Event):void{
MochiScores.showLeaderboard({boardID:"0e44eab778e47fd6", onClose:hideScoreBoard, clip:_navigator.currentMap});
}
override public function bindEvents():void{
_newGame = new MMButton(12, 450);
_loadGame = new MMButton(212, 450);
_moreGames = new MMButton(412, 450);
_highscores = new MMButton(612, 450);
_newGame.scaleX = 1.4;
_loadGame.scaleX = 1.4;
_moreGames.scaleX = 1.4;
_highscores.scaleX = 1.4;
_newGame.scaleY = 1.4;
_loadGame.scaleY = 1.4;
_moreGames.scaleY = 1.4;
_highscores.scaleY = 1.4;
_youmaybe = new MMButton(160, 10);
_developed = new MMButton(555, 10);
_youmaybe.alpha = 0.4;
_developed.alpha = 0.4;
_newGame.setLabel(Main.bundle.getString("NEW_GAME"));
_loadGame.setLabel(Main.bundle.getString("LOAD_GAME"));
_moreGames.setLabel(Main.bundle.getString("MORE_GAMES"));
_youmaybe.setLabel("MUSIC BY YOUMAYBE");
_developed.setLabel("DEVELOPED BY MOONMANA");
_highscores.setLabel(Main.bundle.getString("HIGHSCORES"));
_newGame.place();
_loadGame.place();
_moreGames.place();
_highscores.place();
_youmaybe.place();
_developed.place();
addChild(_newGame);
addChild(_moreGames);
addChild(_loadGame);
addChild(_highscores);
_newGame.addEventListener(MouseEvent.CLICK, _navigator.newGame);
_loadGame.addEventListener(MouseEvent.CLICK, _navigator.loadGame);
if (Main.BUILD == Main.COOLBUDDY){
_moreGames.addEventListener(MouseEvent.CLICK, MMAd.goCoolBuddy);
} else {
if (Main.BUILD == Main.MOONMANA){
_moreGames.addEventListener(MouseEvent.CLICK, MMAd.goMoonMana);
};
};
if (Main.BUILD == Main.COOLBUDDY){
_cbb = new CoolBuddyButton();
_cbb.x = ((Main.SCREEN_WIDTH / 2) - 188);
_cbb.y = 0;
addChild(_cbb);
_cbb.addEventListener(MouseEvent.CLICK, MMAd.goCoolBuddy);
};
_highscores.addEventListener(MouseEvent.CLICK, showScoreboard);
_youmaybe.addEventListener(MouseEvent.CLICK, MMAd.goYoumaybe);
if (Main.BUILD == Main.MOONMANA){
_developed.addEventListener(MouseEvent.CLICK, MMAd.goMoonMana);
};
addChild(_youmaybe);
addChild(_developed);
}
private function hideScoreBoard(_arg1:Event=null):void{
}
override public function unbindEvents():void{
_newGame.removeEventListener(MouseEvent.CLICK, _navigator.goNextLevel);
_loadGame.removeEventListener(MouseEvent.CLICK, _navigator.loadGame);
if (Main.BUILD == Main.COOLBUDDY){
_moreGames.removeEventListener(MouseEvent.CLICK, MMAd.goCoolBuddy);
} else {
if (Main.BUILD == Main.MOONMANA){
_moreGames.removeEventListener(MouseEvent.CLICK, MMAd.goMoonMana);
};
};
if (Main.BUILD == Main.COOLBUDDY){
_cbb.removeEventListener(MouseEvent.CLICK, MMAd.goCoolBuddy);
};
_highscores.removeEventListener(MouseEvent.CLICK, showScoreboard);
_youmaybe.removeEventListener(MouseEvent.CLICK, MMAd.goYoumaybe);
if (Main.BUILD == Main.MOONMANA){
_developed.removeEventListener(MouseEvent.CLICK, MMAd.goMoonMana);
};
}
}
}//package ui.menus
Section 104
//Menu (ui.menus.Menu)
package ui.menus {
import main.*;
import com.moonmana.ui.*;
public class Menu extends ScreenObject implements Eventable {
protected var _navigator:Navigator;
public function Menu(_arg1:Navigator, _arg2:int, _arg3:int){
super(_arg2, _arg3);
_navigator = _arg1;
bindEvents();
}
public function close():void{
unbindEvents();
_navigator.stage.removeChild(this);
}
public function go():void{
_navigator.stage.addChild(this);
place();
}
public function bindEvents():void{
}
public function unbindEvents():void{
}
}
}//package ui.menus
Section 105
//NextLevelMenu (ui.menus.NextLevelMenu)
package ui.menus {
import flash.events.*;
import main.*;
import com.moonmana.ui.*;
import com.moonmana.sponsors.coolbuddy.*;
import com.moonmana.mmad.*;
public class NextLevelMenu extends Menu {
private var _facebook:FacebookCatchBtn;
private var _moreGames:MMButton;
private var _nextLevel:MMButton;
private var _coolBuddy:MMButton;
private static const X:int = 25;
private static const Y:int = -385;
public function NextLevelMenu(_arg1:Navigator){
super(_arg1, X, Y);
resetAlpha();
if (((!(Locker.isNG(Main.stage))) && ((Main.INTERLEVEL_AD == Main.ON)))){
Ad.show(this, (-25 + ((Main.SCREEN_WIDTH - 300) / 2)), (385 + ((Main.SCREEN_HEIGHT - 250) / 2)));
};
}
public function resetAlpha():void{
alpha = 0;
}
override public function go():void{
_navigator.currentMap.addChild(this);
name = "nextLevelMenu";
place();
}
public function tick(_arg1:int):void{
if (alpha < 1){
alpha = (alpha + 0.03);
};
}
override public function unbindEvents():void{
if (Main.BUILD == Main.MOONMANA){
_moreGames.removeEventListener(MouseEvent.CLICK, MMAd.goMoonMana);
} else {
if (Main.BUILD == Main.COOLBUDDY){
_moreGames.removeEventListener(MouseEvent.CLICK, MMAd.goCoolBuddy);
_facebook.removeEventListener(MouseEvent.CLICK, MMAd.goCoolBuddyFacebook);
_coolBuddy.removeEventListener(MouseEvent.CLICK, MMAd.goCoolBuddy);
};
};
_nextLevel.removeEventListener(MouseEvent.CLICK, _navigator.goNextLevel);
}
override public function bindEvents():void{
_moreGames = new MMButton(380, 450);
_nextLevel = new MMButton(260, 450);
_coolBuddy = new MMButton(316, 856);
_facebook = new FacebookCatchBtn(300, 400);
_moreGames.setLabel(Main.bundle.getString("MORE_GAMES"));
_nextLevel.setLabel("NEXT LEVEL");
_coolBuddy.setLabel("COOLBUDDY GAMES");
_moreGames.place();
_nextLevel.place();
_facebook.place();
_coolBuddy.place();
addChild(_moreGames);
addChild(_nextLevel);
if (Main.BUILD == Main.COOLBUDDY){
addChild(_facebook);
addChild(_coolBuddy);
};
if (Main.BUILD == Main.MOONMANA){
_moreGames.addEventListener(MouseEvent.CLICK, MMAd.goMoonMana);
} else {
if (Main.BUILD == Main.COOLBUDDY){
_moreGames.addEventListener(MouseEvent.CLICK, MMAd.goCoolBuddy);
_facebook.addEventListener(MouseEvent.CLICK, MMAd.goCoolBuddyFacebook);
_coolBuddy.addEventListener(MouseEvent.CLICK, MMAd.goCoolBuddy);
};
};
_nextLevel.addEventListener(MouseEvent.CLICK, _navigator.goNextLevel);
}
}
}//package ui.menus
Section 106
//SoundButton (ui.SoundButton)
package ui {
import com.moonmana.ui.*;
public class SoundButton extends ScreenObject {
public function SoundButton(_arg1:int, _arg2:int){
addFrameScript(0, frame1, 1, frame2);
super(_arg1, _arg2);
scaleX = 0.75;
scaleY = 0.75;
buttonMode = true;
focusRect = false;
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package ui
Section 107
//FPSBox (utils.debug.FPSBox)
package utils.debug {
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import flash.system.*;
public class FPSBox extends TextField {
private var frame:uint;// = 0
public function FPSBox():void{
textColor = 0xFF0000;
autoSize = "left";
addEventListener("enterFrame", everyFrame, false, 0, true);
}
private function everyFrame(_arg1:Event):void{
frame++;
var _local2:Number = (getTimer() / 1000);
text = (((Number((frame / _local2)).toPrecision(5) + " FPS, ") + Number((System.totalMemory / 1000000)).toPrecision(3)) + " MB");
}
public function deconstruct():void{
removeEventListener("enterFrame", everyFrame);
delete ??getglobalscope
[this];
}
public static function traceMemory(_arg1:String):void{
trace((((_arg1 + ": ") + Number((System.totalMemory / 1000000)).toPrecision(3)) + " MB"));
}
}
}//package utils.debug
Section 108
//Colorizer (utils.effects.Colorizer)
package utils.effects {
import flash.display.*;
import flash.filters.*;
public class Colorizer {
public static function setColor(_arg1:MovieClip, _arg2:Number, _arg3:Number):void{
var _local4:ColorMatrix = new ColorMatrix(null);
_local4.colorize(_arg2, _arg3);
var _local5:ColorMatrixFilter = new ColorMatrixFilter(_local4.matrix);
var _local6:Array = [_local5];
_arg1.filters = _local6;
}
public static function setHue(_arg1:MovieClip, _arg2:Number):void{
var _local3:ColorMatrix = new ColorMatrix(null);
_local3.adjustHue(_arg2);
var _local4:ColorMatrixFilter = new ColorMatrixFilter(_local3.matrix);
var _local5:Array = [_local4];
_arg1.filters = _local5;
}
public static function setColorMC(_arg1:MovieClip, _arg2:Number, _arg3:Number):void{
var _local4:ColorMatrix = new ColorMatrix(null);
_local4.colorize(_arg2, _arg3);
var _local5:ColorMatrixFilter = new ColorMatrixFilter(_local4.matrix);
var _local6:Array = [_local5];
_arg1.filters = _local6;
}
}
}//package utils.effects
Section 109
//ColorMatrix (utils.effects.ColorMatrix)
package utils.effects {
import flash.filters.*;
public class ColorMatrix {
public var matrix:Array;
private static var r_lum:Number = 0.212671;
private static var b_lum:Number = 0.072169;
private static var g_lum:Number = 0.71516;
private static var IDENTITY:Array = new Array(1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0);
public function ColorMatrix(_arg1:Object){
if ((_arg1 is ColorMatrix)){
matrix = _arg1.matrix.concat();
} else {
if ((_arg1 is Array)){
matrix = _arg1.concat();
} else {
reset();
};
};
}
public function adjustBrightness(_arg1:Number, _arg2:Number, _arg3:Number):void{
_arg2 = ((_arg2) || (_arg1));
_arg3 = ((_arg3) || (_arg1));
var _local4:Array = new Array(1, 0, 0, 0, _arg1, 0, 1, 0, 0, _arg2, 0, 0, 1, 0, _arg3, 0, 0, 0, 1, 0);
concat(_local4);
}
public function adjustSaturation(_arg1:Number):void{
var _local2:Number = (1 - _arg1);
var _local3:Number = (_local2 * r_lum);
var _local4:Number = (_local2 * g_lum);
var _local5:Number = (_local2 * b_lum);
var _local6:Array = new Array((_local3 + _arg1), _local4, _local5, 0, 0, _local3, (_local4 + _arg1), _local5, 0, 0, _local3, _local4, (_local5 + _arg1), 0, 0, 0, 0, 0, 1, 0);
concat(_local6);
}
public function adjustHue(_arg1:Number):void{
_arg1 = (_arg1 * (Math.PI / 180));
var _local2:Number = Math.cos(_arg1);
var _local3:Number = Math.sin(_arg1);
var _local4:Number = 0.213;
var _local5:Number = 0.715;
var _local6:Number = 0.072;
var _local7:Array = new Array(((_local4 + (_local2 * (1 - _local4))) + (_local3 * -(_local4))), ((_local5 + (_local2 * -(_local5))) + (_local3 * -(_local5))), ((_local6 + (_local2 * -(_local6))) + (_local3 * (1 - _local6))), 0, 0, ((_local4 + (_local2 * -(_local4))) + (_local3 * 0.143)), ((_local5 + (_local2 * (1 - _local5))) + (_local3 * 0.14)), ((_local6 + (_local2 * -(_local6))) + (_local3 * -0.283)), 0, 0, ((_local4 + (_local2 * -(_local4))) + (_local3 * -((1 - _local4)))), ((_local5 + (_local2 * -(_local5))) + (_local3 * _local5)), ((_local6 + (_local2 * (1 - _local6))) + (_local3 * _local6)), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1);
concat(_local7);
}
public function threshold(_arg1:Number):void{
var _local2:Array = new Array((r_lum * 0x0100), (g_lum * 0x0100), (b_lum * 0x0100), 0, (-256 * _arg1), (r_lum * 0x0100), (g_lum * 0x0100), (b_lum * 0x0100), 0, (-256 * _arg1), (r_lum * 0x0100), (g_lum * 0x0100), (b_lum * 0x0100), 0, (-256 * _arg1), 0, 0, 0, 1, 0);
concat(_local2);
}
public function reset():void{
matrix = IDENTITY.concat();
}
public function desaturate():void{
var _local1:Array = new Array(r_lum, g_lum, b_lum, 0, 0, r_lum, g_lum, b_lum, 0, 0, r_lum, g_lum, b_lum, 0, 0, 0, 0, 0, 1, 0);
concat(_local1);
}
public function adjustContrast(_arg1:Number, _arg2:Number, _arg3:Number):void{
_arg2 = ((_arg2) || (_arg1));
_arg3 = ((_arg3) || (_arg1));
_arg1 = (_arg1 + 1);
_arg2 = (_arg2 + 1);
_arg3 = (_arg3 + 1);
var _local4:Array = new Array(_arg1, 0, 0, 0, (128 * (1 - _arg1)), 0, _arg2, 0, 0, (128 * (1 - _arg2)), 0, 0, _arg3, 0, (128 * (1 - _arg3)), 0, 0, 0, 1, 0);
concat(_local4);
}
public function concat(_arg1:Array):void{
var _local5:Number;
var _local2:Array = new Array();
var _local3:Number = 0;
var _local4:Number = 0;
while (_local4 < 4) {
_local5 = 0;
while (_local5 < 5) {
_local2[(_local3 + _local5)] = (((((_arg1[_local3] * matrix[_local5]) + (_arg1[(_local3 + 1)] * matrix[(_local5 + 5)])) + (_arg1[(_local3 + 2)] * matrix[(_local5 + 10)])) + (_arg1[(_local3 + 3)] * matrix[(_local5 + 15)])) + ((_local5 == 4)) ? _arg1[(_local3 + 4)] : 0);
_local5++;
};
_local3 = (_local3 + 5);
_local4++;
};
matrix = _local2;
}
public function invert():void{
var _local1:Array = new Array(-1, 0, 0, 0, 0xFF, 0, -1, 0, 0, 0xFF, 0, 0, -1, 0, 0xFF, 0, 0, 0, 1, 0);
concat(_local1);
}
public function colorize(_arg1:Number, _arg2:Number):void{
var _local3:Number = (((_arg1 >> 16) & 0xFF) / 0xFF);
var _local4:Number = (((_arg1 >> 8) & 0xFF) / 0xFF);
var _local5:Number = ((_arg1 & 0xFF) / 0xFF);
var _local6:Number = (1 - _arg2);
var _local7:Array = new Array((_local6 + ((_arg2 * _local3) * r_lum)), ((_arg2 * _local3) * g_lum), ((_arg2 * _local3) * b_lum), 0, 0, ((_arg2 * _local4) * r_lum), (_local6 + ((_arg2 * _local4) * g_lum)), ((_arg2 * _local4) * b_lum), 0, 0, ((_arg2 * _local5) * r_lum), ((_arg2 * _local5) * g_lum), (_local6 + ((_arg2 * _local5) * b_lum)), 0, 0, 0, 0, 0, 1, 0);
concat(_local7);
}
public function setAlpha(_arg1:Number):void{
var _local2:Array = new Array(1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, _arg1, 0);
concat(_local2);
}
public function clone():ColorMatrix{
return (new ColorMatrix(matrix));
}
public function blend(_arg1:ColorMatrix, _arg2:Number):void{
var _local3:Number = (1 - _arg2);
var _local4:Number = 0;
while (_local4 < 20) {
matrix[_local4] = ((_local3 * matrix[_local4]) + (_arg2 * _arg1.matrix[_local4]));
_local4++;
};
}
public function get filter():ColorMatrixFilter{
return (new ColorMatrixFilter(matrix));
}
}
}//package utils.effects
Section 110
//StageEvent (utils.events.StageEvent)
package utils.events {
import flash.events.*;
public class StageEvent extends Event {
public static const LOADING_FINISHED:String = "loadingFinished";
public function StageEvent(_arg1:String){
super(_arg1, true, false);
}
}
}//package utils.events
Section 111
//SoundManager (utils.SoundManager)
package utils {
import flash.events.*;
import main.*;
import flash.media.*;
import sounds.*;
import flash.utils.*;
public class SoundManager {
private static var music:SoundChannel;
private static var currentMusic:Sound;
public static var MUSIC:MusicSnd;
public static var LC:LCSnd;
private static var ba:ByteArray = new ByteArray();
public static function playMusic(_arg1:Sound=null):void{
stopMusic();
if (Main.options.music){
if (_arg1 == null){
currentMusic = MUSIC;
} else {
currentMusic = _arg1;
};
music = currentMusic.play(0, 0);
music.addEventListener(Event.SOUND_COMPLETE, playSoundTrack);
};
}
public static function stopMusic():void{
if (music != null){
music.stop();
};
}
public static function getSpectrum():int{
var _local1:int;
var _local2:int;
var _local3:Number;
SoundMixer.computeSpectrum(ba, true);
var _local4:Array = new Array();
var _local5:int;
_local1 = 0;
while (_local1 < 128) {
_local3 = 0;
_local2 = 0;
while (_local2 < 4) {
_local3 = (_local3 + ba.readFloat());
_local2++;
};
_local3 = (_local3 / 4);
_local4[_local1] = Math.round((_local3 * 200));
if (_local4[_local1] > _local5){
_local5 = _local4[_local1];
};
_local1++;
};
return (_local5);
}
private static function playSoundTrack(_arg1:Event=null):void{
music.stop();
music.removeEventListener(Event.SOUND_COMPLETE, playSoundTrack);
currentMusic = MUSIC;
music = currentMusic.play(0, 0);
music.addEventListener(Event.SOUND_COMPLETE, playSoundTrack);
}
public static function loadSounds():void{
MUSIC = new MusicSnd();
LC = new LCSnd();
}
public static function play(_arg1:Sound):void{
if (Main.options.effects){
_arg1.play();
};
}
}
}//package utils
Section 112
//ButtonOver_82 (Waterfalls_2_fla.ButtonOver_82)
package Waterfalls_2_fla {
import flash.display.*;
public dynamic class ButtonOver_82 extends MovieClip {
public var txt:MovieClip;
public function ButtonOver_82(){
addFrameScript(7, frame8);
}
function frame8(){
stop();
}
}
}//package Waterfalls_2_fla
Section 113
//CollectorObj_55 (Waterfalls_2_fla.CollectorObj_55)
package Waterfalls_2_fla {
import flash.display.*;
public dynamic class CollectorObj_55 extends MovieClip {
public function CollectorObj_55(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Waterfalls_2_fla
Section 114
//FireCollectorObj_69 (Waterfalls_2_fla.FireCollectorObj_69)
package Waterfalls_2_fla {
import flash.display.*;
public dynamic class FireCollectorObj_69 extends MovieClip {
public function FireCollectorObj_69(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Waterfalls_2_fla
Section 115
//SparkCollectorObj_77 (Waterfalls_2_fla.SparkCollectorObj_77)
package Waterfalls_2_fla {
import flash.display.*;
public dynamic class SparkCollectorObj_77 extends MovieClip {
public function SparkCollectorObj_77(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Waterfalls_2_fla
Section 116
//StarCollectorObj_64 (Waterfalls_2_fla.StarCollectorObj_64)
package Waterfalls_2_fla {
import flash.display.*;
public dynamic class StarCollectorObj_64 extends MovieClip {
public function StarCollectorObj_64(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package Waterfalls_2_fla