Section 1
//MochiAd (mochi.as3.MochiAd)
package mochi.as3 {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class MochiAd {
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function showClickAwayAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:5500, 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);
};
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];
if (Security.sandboxType == "application"){
return (_local2);
};
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:5500, 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 mc:MovieClip;
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 (!(clip is DisplayObject)){
trace("Warning: Object passed as container clip not a descendant of the DisplayObject type");
return (null);
};
if (MovieClip(clip).stage == null){
trace("Warning: Container clip for ad is not attached to the stage");
return (null);
};
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;
mc = 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;
} else {
trace("[MochiAd] NOTE: Security Sandbox Violation errors below are normal");
};
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();
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
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.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function (_arg1:IOErrorEvent):void{
trace("[MochiAds] Blocked URL");
});
if (!options.skip){
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.right - _local3.left);
_local5 = (_local3.top - _local3.bottom);
};
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 complete:Boolean;
var unloaded:Boolean;
var sendHostProgress:Boolean;
var fn:Function;
var r:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:5500, 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{
}, progress_override:function (_arg1:Object):Number{
return (NaN);
}, bar_offset:0};
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;
if (options.skip){
ad_timeout = 0;
};
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);
var bar:MovieClip = createEmptyMovieClip(chk, "_mochiad_bar", 4);
if (options.no_progress_bar){
bar.visible = false;
delete options.no_progress_bar;
} else {
bar.x = (10 + options.bar_offset);
bar.y = (h - 20);
};
var bar_w:Number = ((w - bar.x) - 10);
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(bar_w, 0);
backing.lineTo(bar_w, 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(bar_w, 0);
inside.lineTo(bar_w, 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(bar_w, 0);
outline.lineTo(bar_w, 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 progress:Number = Math.min(1, options.progress_override(clip));
var f:Function = function (_arg1:Event):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
complete = true;
if (unloaded){
MochiAd.unload(clip);
};
};
if (!isNaN(progress)){
complete = (progress == 1);
} else {
if (clip.loaderInfo.bytesLoaded == clip.loaderInfo.bytesTotal){
complete = true;
} else {
if ((clip.root is MovieClip)){
r = (clip.root as MovieClip);
if (r.framesLoaded >= r.totalFrames){
complete = true;
} else {
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
};
} else {
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
};
};
};
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);
};
sendHostProgress = false;
mc.sendHostLoadProgress = function (_arg1:String):void{
sendHostProgress = true;
};
chk["onEnterFrame"] = function ():void{
var _local12: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;
var _local7:Number = Math.min(1, options.progress_override(_local1));
if (_local7 == 1){
complete = true;
};
if (complete){
_local6 = Math.max(1, _local6);
_local5 = _local6;
};
var _local8:Number = ((100 * _local6) / _local5);
if (!isNaN(_local7)){
_local8 = (100 * _local7);
};
var _local9:Number = ((100 * _local3) / chk.ad_msec);
var _local10:Object = this._mochiad_bar._inside;
var _local11:Number = Math.min(100, Math.min(((_local8) || (0)), _local9));
_local11 = Math.max(this.last_pcnt, _local11);
this.last_pcnt = _local11;
_local10.scaleX = (_local11 * 0.01);
options.ad_progress(_local11);
if (sendHostProgress){
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local8});
if (_local8 >= 100){
sendHostProgress = false;
};
};
if (!chk.showing){
_local12 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local12 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if ((((_local3 > chk.ad_timeout)) && ((_local8 == 100)))){
options.ad_failed();
_local4 = true;
};
};
};
if (_local3 > chk.ad_msec){
_local4 = true;
};
if (((complete) && (_local4))){
if (unloaded){
MochiAd.unload(_local1);
} else {
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 mochi.as3
Section 2
//MochiCoins (mochi.as3.MochiCoins)
package mochi.as3 {
public class MochiCoins {
public static const STORE_HIDE:String = "StoreHide";
public static const NO_USER:String = "NoUser";
public static const IO_ERROR:String = "IOError";
public static const ITEM_NEW:String = "ItemNew";
public static const ITEM_OWNED:String = "ItemOwned";
public static const STORE_ITEMS:String = "StoreItems";
public static const ERROR:String = "Error";
public static const STORE_SHOW:String = "StoreShow";
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public static var _inventory:MochiInventory;
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function getStoreItems():void{
MochiServices.send("coins_getStoreItems");
}
public static function get inventory():MochiInventory{
return (_inventory);
}
public static function showStore(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("coins_showStore", {options:_arg1}, null, null);
}
public static function requestFunding(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_requestFunding", _arg1);
}
public static function showItem(_arg1:Object=null):void{
if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){
trace("ERROR: showItem call must pass an Object with an item key");
return;
};
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("coins_showItem", {options:_arg1}, null, null);
}
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function showVideo(_arg1:Object=null):void{
if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){
trace("ERROR: showVideo call must pass an Object with an item key");
return;
};
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("coins_showVideo", {options:_arg1}, null, null);
}
addEventListener(MochiSocial.LOGGED_IN, function (_arg1:Object):void{
_inventory = new MochiInventory();
});
addEventListener(MochiSocial.LOGGED_OUT, function (_arg1:Object):void{
_inventory = null;
});
}
}//package mochi.as3
Section 3
//MochiDigits (mochi.as3.MochiDigits)
package mochi.as3 {
public final class MochiDigits {
private var _eh379:MochiDigits;
private var _mv179:Number;
private var _rm478:Number;
public function MochiDigits(_arg1:Number=0, _arg2:uint=0):void{
_rm478 = 0;
setValue(_arg1, _arg2);
}
public function _wp417():void{
var _local1:uint = int((2147483647 * Math.random()));
_mv179 = (_mv179 ^ (_local1 ^ _rm478));
_rm478 = _local1;
}
public function set value(_arg1:Number):void{
setValue(_arg1);
}
public function toString():String{
var _local1:String = String.fromCharCode((_mv179 ^ _rm478));
if (_eh379 != null){
_local1 = (_local1 + _eh379.toString());
};
return (_local1);
}
public function setValue(_arg1:Number=0, _arg2:uint=0):void{
var _local3:String = _arg1.toString();
var _temp1 = _arg2;
_arg2 = (_arg2 + 1);
_mv179 = (_local3.charCodeAt(_temp1) ^ _rm478);
if (_arg2 < _local3.length){
_eh379 = new MochiDigits(_arg1, _arg2);
} else {
_eh379 = null;
};
_wp417();
}
public function get value():Number{
return (Number(this.toString()));
}
public function addValue(_arg1:Number):void{
value = (value + _arg1);
}
}
}//package mochi.as3
Section 4
//MochiEventDispatcher (mochi.as3.MochiEventDispatcher)
package mochi.as3 {
public class MochiEventDispatcher {
private var _sl829:Object;
public function MochiEventDispatcher():void{
_sl829 = {};
}
public function triggerEvent(_arg1:String, _arg2:Object):void{
var _local3:Object;
if (_sl829[_arg1] == undefined){
return;
};
for (_local3 in _sl829[_arg1]) {
var _local6 = _sl829[_arg1];
_local6[_local3](_arg2);
};
}
public function removeEventListener(_arg1:String, _arg2:Function):void{
var _local3:Object;
if (_sl829[_arg1] == undefined){
_sl829[_arg1] = [];
return;
};
for (_local3 in _sl829[_arg1]) {
if (_sl829[_arg1][_local3] != _arg2){
} else {
_sl829[_arg1].splice(Number(_local3), 1);
};
};
}
public function addEventListener(_arg1:String, _arg2:Function):void{
removeEventListener(_arg1, _arg2);
_sl829[_arg1].push(_arg2);
}
}
}//package mochi.as3
Section 5
//MochiEvents (mochi.as3.MochiEvents)
package mochi.as3 {
import flash.display.*;
public class MochiEvents {
public static const ALIGN_BOTTOM_LEFT:String = "ALIGN_BL";
public static const FORMAT_LONG:String = "LongForm";
public static const ALIGN_BOTTOM:String = "ALIGN_B";
public static const ACHIEVEMENT_RECEIVED:String = "AchievementReceived";
public static const FORMAT_SHORT:String = "ShortForm";
public static const ALIGN_TOP_RIGHT:String = "ALIGN_TR";
public static const ALIGN_BOTTOM_RIGHT:String = "ALIGN_BR";
public static const ALIGN_TOP:String = "ALIGN_T";
public static const ALIGN_LEFT:String = "ALIGN_L";
public static const ALIGN_RIGHT:String = "ALIGN_R";
public static const ALIGN_TOP_LEFT:String = "ALIGN_TL";
public static const ALIGN_CENTER:String = "ALIGN_C";
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
private static var gameStart:Number;
private static var levelStart:Number;
public static function endPlay():void{
MochiServices.send("events_clearRoundID", null, null, null);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function trackEvent(_arg1:String, _arg2=null):void{
MochiServices.send("events_trackEvent", {tag:_arg1, value:_arg2}, null, null);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
public static function startSession(_arg1:String):void{
MochiServices.send("events_beginSession", {achievementID:_arg1}, null, null);
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function setNotifications(_arg1:MovieClip, _arg2:Object):void{
var _local4:Object;
var _local3:Object = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
_local3.clip = _arg1;
MochiServices.send("events_setNotifications", _local3, null, null);
}
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function startPlay(_arg1:String="gameplay"):void{
MochiServices.send("events_setRoundID", {tag:String(_arg1)}, null, null);
}
}
}//package mochi.as3
Section 6
//MochiInventory (mochi.as3.MochiInventory)
package mochi.as3 {
import flash.events.*;
import flash.utils.*;
public dynamic class MochiInventory extends Proxy {
private var _timer:Timer;
private var _dn57:Array;
private var _aw134:Number;
private var _qi536:Object;
private var _dm415:Object;
private var _hb158:Number;
private var _re185:Boolean;
public static const READY:String = "InvReady";
public static const ERROR:String = "Error";
public static const IO_ERROR:String = "IoError";
private static const KEY_SALT:String = " syncMaint";
public static const WRITTEN:String = "InvWritten";
public static const NOT_READY:String = "InvNotReady";
public static const VALUE_ERROR:String = "InvValueError";
private static const CONSUMER_KEY:String = "MochiConsumables";
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public function MochiInventory():void{
MochiCoins.addEventListener(MochiCoins.ITEM_OWNED, _ak440);
MochiCoins.addEventListener(MochiCoins.ITEM_NEW, _dx176);
MochiSocial.addEventListener(MochiSocial.LOGGED_IN, _uh693);
MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, _ul287);
_dm415 = new Object();
_re185 = false;
_hb158 = 0;
_aw134 = 0;
_timer = new Timer(1000);
_timer.addEventListener(TimerEvent.TIMER, _gf250);
_timer.start();
if (MochiSocial._uh693){
_uh693();
} else {
_ul287();
};
}
private function _dx176(_arg1:Object):void{
if (!this[(_arg1.id + KEY_SALT)]){
this[(_arg1.id + KEY_SALT)] = 0;
};
if (!this[_arg1.id]){
this[_arg1.id] = 0;
};
this[(_arg1.id + KEY_SALT)] = (this[(_arg1.id + KEY_SALT)] + _arg1.count);
this[_arg1.id] = (this[_arg1.id] + _arg1.count);
if (((_arg1.privateProperties) && (_arg1.privateProperties.consumable))){
if (!this[_arg1.privateProperties.tag]){
this[_arg1.privateProperties.tag] = 0;
};
this[_arg1.privateProperties.tag] = (this[_arg1.privateProperties.tag] + (_arg1.privateProperties.inc * _arg1.count));
};
}
public function release():void{
MochiCoins.removeEventListener(MochiCoins.ITEM_NEW, _dx176);
MochiSocial.removeEventListener(MochiSocial.LOGGED_IN, _uh693);
MochiSocial.removeEventListener(MochiSocial.LOGGED_OUT, _ul287);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){
if (_qi536 == null){
triggerEvent(ERROR, {type:NOT_READY});
return (-1);
};
if (_qi536[_arg1]){
return (MochiDigits(_qi536[_arg1]).value);
};
return (undefined);
}
private function _uh693(_arg1:Object=null):void{
MochiUserData.get(CONSUMER_KEY, _bt72);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function hasProperty(_arg1):Boolean{
if (_qi536 == null){
triggerEvent(ERROR, {type:NOT_READY});
return (false);
};
if (_qi536[_arg1] == undefined){
return (false);
};
return (true);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextNameIndex(_arg1:int):int{
return (((_arg1)>=_dn57.length) ? 0 : (_arg1 + 1));
}
private function _lo104(_arg1:MochiUserData):void{
_re185 = false;
if (_arg1.error){
triggerEvent(ERROR, {type:IO_ERROR, error:_arg1.error});
_hb158 = -1;
};
triggerEvent(WRITTEN, {});
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{
var _local3:MochiDigits;
if (_qi536 == null){
triggerEvent(ERROR, {type:NOT_READY});
return;
};
if (!(_arg2 is Number)){
triggerEvent(ERROR, {type:VALUE_ERROR, error:"Invalid type", arg:_arg2});
return;
};
if (_qi536[_arg1]){
_local3 = MochiDigits(_qi536[_arg1]);
if (_local3.value == _arg2){
return;
};
_local3.value = _arg2;
} else {
_dn57.push(_arg1);
_qi536[_arg1] = new MochiDigits(_arg2);
};
_aw134++;
}
private function _ak440(_arg1:Object):void{
_dm415[_arg1.id] = {properties:_arg1.properties, count:_arg1.count};
}
private function _gf250(_arg1:Event=null):void{
var _local3:String;
if (((_re185) || ((_aw134 == _hb158)))){
return;
};
_hb158 = _aw134;
var _local2:Object = {};
for (_local3 in _qi536) {
_local2[_local3] = MochiDigits(_qi536[_local3]).value;
};
MochiUserData.put(CONSUMER_KEY, _local2, _lo104);
_re185 = true;
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextName(_arg1:int):String{
return (_dn57[(_arg1 - 1)]);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function deleteProperty(_arg1):Boolean{
if (!_qi536[_arg1]){
return (false);
};
_dn57.splice(_dn57.indexOf(_arg1), 1);
delete _qi536[_arg1];
return (true);
}
private function _bt72(_arg1:MochiUserData):void{
var _local2:String;
var _local3:Number;
if (_arg1.error){
triggerEvent(ERROR, {type:IO_ERROR, error:_arg1.error});
return;
};
_qi536 = {};
_dn57 = new Array();
if (_arg1.data){
for (_local2 in _arg1.data) {
_dn57.push(_local2);
_qi536[_local2] = new MochiDigits(_arg1.data[_local2]);
};
};
for (_local2 in _dm415) {
_local3 = _dm415[_local2].count;
if (_qi536[(_local2 + KEY_SALT)]){
_local3 = (_local3 - _qi536[(_local2 + KEY_SALT)].value);
};
if (_local3 == 0){
} else {
_dx176({id:_local2, count:_local3, properties:_dm415[_local2].properties});
};
};
triggerEvent(READY, {});
}
private function _ul287(_arg1:Object=null):void{
_qi536 = null;
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
}
}//package mochi.as3
Section 7
//MochiScores (mochi.as3.MochiScores)
package mochi.as3 {
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){
delete options.clip;
MochiServices.setContainer();
MochiServices.bringToTop();
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.warnID(options.boardID, true);
trace("[MochiScores] NOTE: Security Sandbox Violation errors below are normal");
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) && ((_arg1.error == true)))) && (onErrorHandler))){
if (_arg1.errorCode == null){
_arg1.errorCode = "IOError";
};
onErrorHandler(_arg1.errorCode);
MochiServices.doClose();
return;
};
onCloseHandler();
MochiServices.doClose();
}
public static function setBoardID(_arg1:String):void{
MochiServices.warnID(_arg1, true);
MochiScores.boardID = _arg1;
MochiServices.send("scores_setBoardID", {boardID:_arg1});
}
}
}//package mochi.as3
Section 8
//MochiServices (mochi.as3.MochiServices)
package mochi.as3 {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class MochiServices {
public static const CONNECTED:String = "onConnected";
private static var _container:Object;
private static var _connected:Boolean = false;
private static var _queue:Array;
private static var _swfVersion:String;
private static var _preserved:Object;
public static var netupAttempted:Boolean = false;
private static var _sendChannel:LocalConnection;
private static var _nextCallbackID:Number;
private static var _clip:MovieClip;
private static var _ol704:Loader;
private static var _id:String;
private static var _services:String = "services.swf";
private static var _servURL:String = "http://www.mochiads.com/static/lib/services/";
public static var widget:Boolean = false;
private static var _timer:Timer;
private static var _sendChannelName:String;
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
private static var _callbacks:Object;
private static var _connecting:Boolean = false;
private static var _mochiLocalConnection:MovieClip;
private static var _listenChannelName:String = "__ms_";
public static var onError:Object;
public static var netup:Boolean = true;
private static var _mochiLC:String = "MochiLC.swf";
public static function isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function get connected():Boolean{
return (_connected);
}
private static function onReceive(_arg1:Object):void{
var methodName:String;
var pkg = _arg1;
var cb:String = pkg.callbackID;
var cblst:Object = _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 _callbacks[cb];
}
public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{
if (_connected){
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_nextCallbackID});
} else {
if ((((_clip == null)) || (!(_connecting)))){
trace(("Error: MochiServices not connected. Please call MochiServices.connect(). Function: " + _arg1));
handleError(_arg2, _arg3, _arg4);
flush(true);
return;
};
_queue.push({methodName:_arg1, args:_arg2, callbackID:_nextCallbackID});
};
if (_clip != null){
if (_callbacks != null){
_callbacks[_nextCallbackID] = {callbackObject:_arg3, callbackMethod:_arg4};
_nextCallbackID++;
};
};
}
private static function init(_arg1:String, _arg2:Object):void{
_id = _arg1;
if (_arg2 != null){
_container = _arg2;
loadCommunicator(_arg1, _container);
};
}
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().time));
_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 detach(_arg1:Event):void{
var _local2:LoaderInfo = LoaderInfo(_arg1.target);
_local2.removeEventListener(Event.COMPLETE, detach);
_local2.removeEventListener(IOErrorEvent.IO_ERROR, detach);
_local2.removeEventListener(Event.COMPLETE, loadLCBridgeComplete);
_local2.removeEventListener(IOErrorEvent.IO_ERROR, loadError);
}
public static function stayOnTop():void{
_container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true);
if (_clip != null){
_clip.visible = true;
};
}
private static function loadLCBridgeComplete(_arg1:Event):void{
var _local2:Loader = LoaderInfo(_arg1.target).loader;
_mochiLocalConnection = MovieClip(_local2.content);
listen();
}
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 {
_mochiLocalConnection.close();
} catch(error:Error) {
};
};
if (_timer != null){
try {
_timer.stop();
_timer.removeEventListener(TimerEvent.TIMER, connectWait);
_timer = null;
} 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(_local2);
Security.allowInsecureDomain(_local2);
};
};
return (_local2);
}
public static function getVersion():String{
return ("3.9.1 as3");
}
public static function doClose():void{
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
}
public static function warnID(_arg1:String, _arg2:Boolean):void{
_arg1 = _arg1.toLowerCase();
if (_arg1.length != 16){
trace((("WARNING: " + (_arg2) ? "board" : "game") + " ID is not the appropriate length"));
return;
} else {
if (_arg1 == "1e113c7239048b3f"){
if (_arg2){
trace("WARNING: Using testing board ID");
} else {
trace("WARNING: Using testing board ID as game ID");
};
return;
} else {
if (_arg1 == "84993a1de4031cd8"){
if (_arg2){
trace("WARNING: Using testing game ID as board ID");
} else {
trace("WARNING: Using testing game ID");
};
return;
};
};
};
var _local3:Number = 0;
while (_local3 < _arg1.length) {
switch (_arg1.charAt(_local3)){
case "0":
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
case "a":
case "b":
case "c":
case "d":
case "e":
case "f":
break;
default:
trace(("WARNING: Board ID contains illegal characters: " + _arg1));
return;
};
_local3++;
};
}
private static function flush(_arg1:Boolean):void{
var _local2:Object;
var _local3:Object;
if (((_clip) && (_queue))){
while (_queue.length > 0) {
_local2 = _queue.shift();
_local3 = null;
if (_local2 != null){
if (_local2.callbackID != null){
_local3 = _callbacks[_local2.callbackID];
};
delete _callbacks[_local2.callbackID];
if (((_arg1) && (!((_local3 == null))))){
handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod);
};
};
};
};
}
public static function get id():String{
return (_id);
}
private static function onEvent(_arg1:Object):void{
var _local2:String = _arg1.target;
var _local3:String = _arg1.event;
switch (_local2){
case "services":
MochiServices.triggerEvent(_arg1.event, _arg1.args);
break;
case "events":
MochiEvents.triggerEvent(_arg1.event, _arg1.args);
break;
case "coins":
MochiCoins.triggerEvent(_arg1.event, _arg1.args);
break;
case "social":
MochiSocial.triggerEvent(_arg1.event, _arg1.args);
break;
};
}
private static function urlOptions(_arg1:Object):Object{
var _local3:String;
var _local4:Array;
var _local5:Number;
var _local6:Array;
var _local2:Object = {};
if (_arg1.stage){
_local3 = _arg1.stage.loaderInfo.parameters.mochiad_options;
} else {
_local3 = _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 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://link.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 setContainer(_arg1:Object=null, _arg2:Boolean=true):void{
if (_clip.parent){
_clip.parent.removeChild(_clip);
};
if (_arg1 != null){
if ((_arg1 is DisplayObjectContainer)){
_container = _arg1;
};
};
if (_arg2){
if ((_container is DisplayObjectContainer)){
DisplayObjectContainer(_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 loadError(_arg1:Object):void{
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
MochiServices.disconnect();
MochiServices.onError("IOError");
}
public static function get childClip():Object{
return (_clip);
}
private static function initComChannels():void{
if (!_connected){
trace("[SERVICES_API] connected!");
_connecting = false;
_connected = true;
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"registerGame", preserved:_preserved, id:_id, version:getVersion(), parentURL:_container.loaderInfo.loaderURL});
_clip.onReceive = onReceive;
_clip.onEvent = onEvent;
_clip.onError = function ():void{
MochiServices.onError("IOError");
};
while (_queue.length > 0) {
_mochiLocalConnection.send(_sendChannelName, "onReceive", _queue.shift());
};
};
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
private static function listen():void{
_mochiLocalConnection.connect(_listenChannelName);
_clip.handshake = function (_arg1:Object):void{
MochiServices.comChannelName = _arg1.newChannel;
};
trace("Waiting for MochiAds services to connect...");
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
private static function loadLCBridge(_arg1:Object):void{
var _local2:Loader = new Loader();
var _local3:String = (_servURL + _mochiLC);
var _local4:URLRequest = new URLRequest(_local3);
_local2.contentLoaderInfo.addEventListener(Event.COMPLETE, detach);
_local2.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, detach);
_local2.contentLoaderInfo.addEventListener(Event.COMPLETE, loadLCBridgeComplete);
_local2.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
_local2.load(_local4);
_arg1.addChild(_local2);
}
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{
if (_clip != null){
return (_clip);
};
if (!MochiServices.isNetworkAvailable()){
return (null);
};
if (urlOptions(_arg2).servURL){
_servURL = urlOptions(_arg2).servURL;
};
var _local3:String = (_servURL + _services);
if (urlOptions(_arg2).servicesURL){
_local3 = urlOptions(_arg2).servicesURL;
};
_listenChannelName = (_listenChannelName + ((Math.floor(new Date().time) + "_") + Math.floor((Math.random() * 99999))));
MochiServices.allowDomains(_local3);
_clip = new MovieClip();
loadLCBridge(_clip);
_ol704 = new Loader();
_ol704.contentLoaderInfo.addEventListener(Event.COMPLETE, detach);
_ol704.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, detach);
_ol704.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
var _local4:URLRequest = new URLRequest(_local3);
var _local5:URLVariables = new URLVariables();
_local5.listenLC = _listenChannelName;
_local5.mochiad_options = _arg2.loaderInfo.parameters.mochiad_options;
_local5.api_version = getVersion();
if (widget){
_local5.widget = true;
};
_local4.data = _local5;
_ol704.load(_local4);
_clip.addChild(_ol704);
_sendChannel = new LocalConnection();
_queue = [];
_nextCallbackID = 0;
_callbacks = {};
_timer = new Timer(10000, 1);
_timer.addEventListener(TimerEvent.TIMER, connectWait);
_timer.start();
return (_clip);
}
public static function get clip():Object{
return (_container);
}
public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{
var id = _arg1;
var clip = _arg2;
var onError = _arg3;
warnID(id, false);
if ((clip is DisplayObject)){
if (clip.stage == null){
trace("MochiServices connect requires the containing clip be attached to the stage");
};
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 bringToTop(_arg1:Event=null):void{
var e = _arg1;
if (((!((MochiServices.clip == null))) && (!((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 connectWait(_arg1:TimerEvent):void{
if (!_connected){
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load. (timeout)");
MochiServices.disconnect();
MochiServices.onError("IOError");
} else {
_timer.stop();
_timer.removeEventListener(TimerEvent.TIMER, connectWait);
_timer = null;
};
}
}
}//package mochi.as3
Section 9
//MochiSocial (mochi.as3.MochiSocial)
package mochi.as3 {
public class MochiSocial {
public static const LOGGED_IN:String = "LoggedIn";
public static const ACTION_CANCELED:String = "onCancel";
public static const PROPERTIES_SIZE:String = "PropertiesSize";
public static const IO_ERROR:String = "IOError";
public static const NO_USER:String = "NoUser";
public static const FRIEND_LIST:String = "FriendsList";
public static const PROFILE_DATA:String = "ProfileData";
public static const GAMEPLAY_DATA:String = "GameplayData";
public static const ACTION_COMPLETE:String = "onComplete";
public static const LOGIN_SHOW:String = "LoginShow";
public static const PROFILE_HIDE:String = "ProfileHide";
public static const USER_INFO:String = "UserInfo";
public static const PROPERTIES_SAVED:String = "PropertySaved";
public static const WIDGET_LOADED:String = "WidgetLoaded";
public static const ERROR:String = "Error";
public static const LOGGED_OUT:String = "LoggedOut";
public static const PROFILE_SHOW:String = "ProfileShow";
public static const LOGIN_HIDE:String = "LoginHide";
public static const LOGIN_SHOWN:String = "LoginShown";
public static var _user_info:Object = null;
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public static function requestFan(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_requestFan", _arg1);
}
public static function postToStream(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_postToStream", _arg1);
}
public static function getFriendsList(_arg1:Object=null):void{
MochiServices.send("social_getFriendsList", _arg1);
}
public static function requestLogin(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_requestLogin", _arg1);
}
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function saveUserProperties(_arg1:Object):void{
MochiServices.send("social_saveUserProperties", _arg1);
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
public static function inviteFriends(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_inviteFriends", _arg1);
}
public static function get _uh693():Boolean{
return (!((_user_info == null)));
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function showLoginWidget(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("social_showLoginWidget", {options:_arg1});
}
public static function getAPIURL():String{
if (!_user_info){
return (null);
};
return (_user_info.api_url);
}
public static function hideLoginWidget():void{
MochiServices.send("social_hideLoginWidget");
}
public static function getAPIToken():String{
if (!_user_info){
return (null);
};
return (_user_info.api_token);
}
MochiSocial.addEventListener(MochiSocial.LOGGED_IN, function (_arg1:Object):void{
_user_info = _arg1;
});
MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, function (_arg1:Object):void{
_user_info = null;
});
}
}//package mochi.as3
Section 10
//MochiUserData (mochi.as3.MochiUserData)
package mochi.as3 {
import flash.events.*;
import flash.utils.*;
import flash.net.*;
public class MochiUserData extends EventDispatcher {
public var callback:Function;// = null
public var operation:String;// = null
public var error:Event;// = null
public var data;// = null
public var _ol704:URLLoader;
public var _mk23:String;// = null
public function MochiUserData(_arg1:String="", _arg2:Function=null){
this._mk23 = _arg1;
this.callback = _arg2;
}
public function _tp546(_arg1):ByteArray{
var _local2:ByteArray = new ByteArray();
_local2.objectEncoding = ObjectEncoding.AMF3;
_local2.writeObject(_arg1);
_local2.compress();
return (_local2);
}
public function errorHandler(_arg1:IOErrorEvent):void{
data = null;
error = _arg1;
if (callback != null){
_yo23();
} else {
dispatchEvent(_arg1);
};
close();
}
public function _or148(_arg1):void{
request("put", _tp546(_arg1));
}
public function _fy668(_arg1:ByteArray){
_arg1.objectEncoding = ObjectEncoding.AMF3;
_arg1.uncompress();
return (_arg1.readObject());
}
public function _vy736(_arg1:SecurityErrorEvent):void{
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + _arg1.toString())));
}
public function _fl521():void{
request("get", _tp546(null));
}
override public function toString():String{
return ((((((((("[MochiUserData operation=" + operation) + " key=\"") + _mk23) + "\" data=") + data) + " error=\"") + error) + "\"]"));
}
public function _yo23():void{
try {
callback(this);
} catch(e:Error) {
trace(("[MochiUserData] exception during callback: " + e));
};
}
public function request(_arg1:String, _arg2:ByteArray):void{
var _operation = _arg1;
var _data = _arg2;
operation = _operation;
var api_url:String = MochiSocial.getAPIURL();
var api_token:String = MochiSocial.getAPIToken();
if ((((api_url == null)) || ((api_token == null)))){
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, "not logged in"));
return;
};
_ol704 = new URLLoader();
var args:URLVariables = new URLVariables();
args.op = _operation;
args._mk23 = _mk23;
var req:URLRequest = new URLRequest((((MochiSocial.getAPIURL() + "/") + "MochiUserData?") + args.toString()));
req.method = URLRequestMethod.POST;
req.contentType = "application/x-mochi-userdata";
req.requestHeaders = [new URLRequestHeader("x-mochi-services-version", MochiServices.getVersion()), new URLRequestHeader("x-mochi-api-token", api_token)];
req.data = _data;
_ol704.dataFormat = URLLoaderDataFormat.BINARY;
_ol704.addEventListener(Event.COMPLETE, completeHandler);
_ol704.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
_ol704.addEventListener(SecurityErrorEvent.SECURITY_ERROR, _vy736);
try {
_ol704.load(req);
} catch(e:SecurityError) {
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + e.toString())));
};
}
public function completeHandler(_arg1:Event):void{
var event = _arg1;
try {
if (_ol704.data.length){
data = _fy668(_ol704.data);
} else {
data = null;
};
} catch(e:Error) {
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("deserialize error: " + e.toString())));
return;
};
if (callback != null){
_yo23();
} else {
dispatchEvent(event);
};
close();
}
public function close():void{
if (_ol704){
_ol704.removeEventListener(Event.COMPLETE, completeHandler);
_ol704.removeEventListener(IOErrorEvent.IO_ERROR, errorHandler);
_ol704.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, _vy736);
_ol704.close();
_ol704 = null;
};
error = null;
callback = null;
}
public static function get(_arg1:String, _arg2:Function):void{
var _local3:MochiUserData = new MochiUserData(_arg1, _arg2);
_local3._fl521();
}
public static function put(_arg1:String, _arg2, _arg3:Function):void{
var _local4:MochiUserData = new MochiUserData(_arg1, _arg3);
_local4._or148(_arg2);
}
}
}//package mochi.as3
Section 11
//BitmapAsset (mx.core.BitmapAsset)
package mx.core {
import flash.display.*;
public class BitmapAsset extends FlexBitmap implements IFlexAsset, IFlexDisplayObject {
mx_internal static const VERSION:String = "3.5.0.12683";
public function BitmapAsset(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
public function get measuredWidth():Number{
if (bitmapData){
return (bitmapData.width);
};
return (0);
}
public function get measuredHeight():Number{
if (bitmapData){
return (bitmapData.height);
};
return (0);
}
public function setActualSize(_arg1:Number, _arg2:Number):void{
width = _arg1;
height = _arg2;
}
public function move(_arg1:Number, _arg2:Number):void{
this.x = _arg1;
this.y = _arg2;
}
}
}//package mx.core
Section 12
//ByteArrayAsset (mx.core.ByteArrayAsset)
package mx.core {
import flash.utils.*;
public class ByteArrayAsset extends ByteArray implements IFlexAsset {
mx_internal static const VERSION:String = "3.5.0.12683";
}
}//package mx.core
Section 13
//EdgeMetrics (mx.core.EdgeMetrics)
package mx.core {
public class EdgeMetrics {
public var top:Number;
public var left:Number;
public var bottom:Number;
public var right:Number;
mx_internal static const VERSION:String = "3.5.0.12683";
public static const EMPTY:EdgeMetrics = new EdgeMetrics(0, 0, 0, 0);
;
public function EdgeMetrics(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0){
this.left = _arg1;
this.top = _arg2;
this.right = _arg3;
this.bottom = _arg4;
}
public function clone():EdgeMetrics{
return (new EdgeMetrics(left, top, right, bottom));
}
}
}//package mx.core
Section 14
//FlexBitmap (mx.core.FlexBitmap)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexBitmap extends Bitmap {
mx_internal static const VERSION:String = "3.5.0.12683";
public function FlexBitmap(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){
var bitmapData = _arg1;
var pixelSnapping = _arg2;
var smoothing = _arg3;
super(bitmapData, pixelSnapping, smoothing);
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 15
//FlexMovieClip (mx.core.FlexMovieClip)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexMovieClip extends MovieClip {
mx_internal static const VERSION:String = "3.5.0.12683";
public function FlexMovieClip(){
super();
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 16
//FontAsset (mx.core.FontAsset)
package mx.core {
import flash.text.*;
public class FontAsset extends Font implements IFlexAsset {
mx_internal static const VERSION:String = "3.5.0.12683";
}
}//package mx.core
Section 17
//IBorder (mx.core.IBorder)
package mx.core {
public interface IBorder {
function get borderMetrics():EdgeMetrics;
}
}//package mx.core
Section 18
//IFlexAsset (mx.core.IFlexAsset)
package mx.core {
public interface IFlexAsset {
}
}//package mx.core
Section 19
//IFlexDisplayObject (mx.core.IFlexDisplayObject)
package mx.core {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.accessibility.*;
public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher {
function get visible():Boolean;
function get rotation():Number;
function localToGlobal(_arg1:Point):Point;
function get name():String;
function set width(_arg1:Number):void;
function get measuredHeight():Number;
function get blendMode():String;
function get scale9Grid():Rectangle;
function set name(_arg1:String):void;
function set scaleX(_arg1:Number):void;
function set scaleY(_arg1:Number):void;
function get measuredWidth():Number;
function get accessibilityProperties():AccessibilityProperties;
function set scrollRect(_arg1:Rectangle):void;
function get cacheAsBitmap():Boolean;
function globalToLocal(_arg1:Point):Point;
function get height():Number;
function set blendMode(_arg1:String):void;
function get parent():DisplayObjectContainer;
function getBounds(_arg1:DisplayObject):Rectangle;
function get opaqueBackground():Object;
function set scale9Grid(_arg1:Rectangle):void;
function setActualSize(_arg1:Number, _arg2:Number):void;
function set alpha(_arg1:Number):void;
function set accessibilityProperties(_arg1:AccessibilityProperties):void;
function get width():Number;
function hitTestPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean;
function set cacheAsBitmap(_arg1:Boolean):void;
function get scaleX():Number;
function get scaleY():Number;
function get scrollRect():Rectangle;
function get mouseX():Number;
function get mouseY():Number;
function set height(_arg1:Number):void;
function set mask(_arg1:DisplayObject):void;
function getRect(_arg1:DisplayObject):Rectangle;
function get alpha():Number;
function set transform(_arg1:Transform):void;
function move(_arg1:Number, _arg2:Number):void;
function get loaderInfo():LoaderInfo;
function get root():DisplayObject;
function hitTestObject(_arg1:DisplayObject):Boolean;
function set opaqueBackground(_arg1:Object):void;
function set visible(_arg1:Boolean):void;
function get mask():DisplayObject;
function set x(_arg1:Number):void;
function set y(_arg1:Number):void;
function get transform():Transform;
function set filters(_arg1:Array):void;
function get x():Number;
function get y():Number;
function get filters():Array;
function set rotation(_arg1:Number):void;
function get stage():Stage;
}
}//package mx.core
Section 20
//IRepeaterClient (mx.core.IRepeaterClient)
package mx.core {
public interface IRepeaterClient {
function get instanceIndices():Array;
function set instanceIndices(_arg1:Array):void;
function get isDocument():Boolean;
function set repeaters(_arg1:Array):void;
function initializeRepeaterArrays(_arg1:IRepeaterClient):void;
function get repeaters():Array;
function set repeaterIndices(_arg1:Array):void;
function get repeaterIndices():Array;
}
}//package mx.core
Section 21
//MovieClipAsset (mx.core.MovieClipAsset)
package mx.core {
public class MovieClipAsset extends FlexMovieClip implements IFlexAsset, IFlexDisplayObject, IBorder {
private var _do192:Number;
private var _bc332:Number;
mx_internal static const VERSION:String = "3.5.0.12683";
public function MovieClipAsset(){
_bc332 = width;
_do192 = height;
}
public function get measuredWidth():Number{
return (_bc332);
}
public function get measuredHeight():Number{
return (_do192);
}
public function setActualSize(_arg1:Number, _arg2:Number):void{
width = _arg1;
height = _arg2;
}
public function move(_arg1:Number, _arg2:Number):void{
this.x = _arg1;
this.y = _arg2;
}
public function get borderMetrics():EdgeMetrics{
if (scale9Grid == null){
return (EdgeMetrics.EMPTY);
};
return (new EdgeMetrics(scale9Grid.left, scale9Grid.top, Math.ceil((measuredWidth - scale9Grid.right)), Math.ceil((measuredHeight - scale9Grid.bottom))));
}
}
}//package mx.core
Section 22
//MovieClipLoaderAsset (mx.core.MovieClipLoaderAsset)
package mx.core {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.system.*;
public class MovieClipLoaderAsset extends MovieClipAsset implements IFlexAsset, IFlexDisplayObject {
protected var initialHeight:Number;// = 0
private var loader:Loader;// = null
private var initialized:Boolean;// = false
protected var initialWidth:Number;// = 0
private var _pv220:Number;
private var _se1038:Number;
mx_internal static const VERSION:String = "3.5.0.12683";
public function MovieClipLoaderAsset(){
var _local1:LoaderContext = new LoaderContext();
_local1.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain);
if (("allowLoadBytesCodeExecution" in _local1)){
_local1["allowLoadBytesCodeExecution"] = true;
};
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.loadBytes(movieClipData, _local1);
addChild(loader);
}
override public function get width():Number{
if (!initialized){
return (initialWidth);
};
return (super.width);
}
override public function set width(_arg1:Number):void{
if (!initialized){
_se1038 = _arg1;
} else {
loader.width = _arg1;
};
}
override public function get measuredHeight():Number{
return (initialHeight);
}
private function completeHandler(_arg1:Event):void{
initialized = true;
initialWidth = loader.width;
initialHeight = loader.height;
if (!isNaN(_se1038)){
loader.width = _se1038;
};
if (!isNaN(_pv220)){
loader.height = _pv220;
};
dispatchEvent(_arg1);
}
override public function set height(_arg1:Number):void{
if (!initialized){
_pv220 = _arg1;
} else {
loader.height = _arg1;
};
}
override public function get measuredWidth():Number{
return (initialWidth);
}
override public function get height():Number{
if (!initialized){
return (initialHeight);
};
return (super.height);
}
public function get movieClipData():ByteArray{
return (null);
}
}
}//package mx.core
Section 23
//mx_internal (mx.core.mx_internal)
package mx.core {
public namespace mx_internal = "http://www.adobe.com/2006/flex/mx/internal";
}//package mx.core
Section 24
//SoundAsset (mx.core.SoundAsset)
package mx.core {
import flash.media.*;
public class SoundAsset extends Sound implements IFlexAsset {
mx_internal static const VERSION:String = "3.5.0.12683";
}
}//package mx.core
Section 25
//NameUtil (mx.utils.NameUtil)
package mx.utils {
import flash.display.*;
import mx.core.*;
import flash.utils.*;
public class NameUtil {
mx_internal static const VERSION:String = "3.5.0.12683";
private static var counter:int = 0;
public static function displayObjectToString(_arg1:DisplayObject):String{
var result:String;
var o:DisplayObject;
var s:String;
var indices:Array;
var displayObject = _arg1;
try {
o = displayObject;
while (o != null) {
if (((((o.parent) && (o.stage))) && ((o.parent == o.stage)))){
break;
};
s = o.name;
if ((o is IRepeaterClient)){
indices = IRepeaterClient(o).instanceIndices;
if (indices){
s = (s + (("[" + indices.join("][")) + "]"));
};
};
result = ((result == null)) ? s : ((s + ".") + result);
o = o.parent;
};
} catch(e:SecurityError) {
};
return (result);
}
public static function createUniqueName(_arg1:Object):String{
if (!_arg1){
return (null);
};
var _local2:String = getQualifiedClassName(_arg1);
var _local3:int = _local2.indexOf("::");
if (_local3 != -1){
_local2 = _local2.substr((_local3 + 2));
};
var _local4:int = _local2.charCodeAt((_local2.length - 1));
if ((((_local4 >= 48)) && ((_local4 <= 57)))){
_local2 = (_local2 + "_");
};
return ((_local2 + counter++));
}
}
}//package mx.utils
Section 26
//Audio (Audio)
package {
import flash.display.*;
import flash.media.*;
public class Audio {
public static const MAX_CUE_SOUNDS:int = 16;
public static const MUSIC_VOLUME:Number = 1;
public static const SOUND_VOLUME:Number = 1;
public static var cue_sound:Array = new Array(MAX_CUE_SOUNDS);
public static var cue_sound_timer:Array = new Array(MAX_CUE_SOUNDS);
public static var sound_channel:SoundChannel = new SoundChannel();
public static var music_playing:Class;
public static var sound_cue_index:int;
public static var cue_sound_volume:Array = new Array(MAX_CUE_SOUNDS);
public static var music_mc:MovieClip = null;
public static var sound_transform:SoundTransform = new SoundTransform();
public static function stopMusic():void{
Main.stage_ref.removeChild(music_mc);
music_mc = null;
music_playing = null;
}
public static function playMusic(_arg1:Class, _arg2:Boolean=true, _arg3:Number=0, _arg4:Number=0):void{
if (((Main.music_on) && (!((music_playing == _arg1))))){
if (music_mc != null){
Main.stage_ref.removeChild(music_mc);
music_mc = null;
};
music_playing = _arg1;
music_mc = new (_arg1);
Main.stage_ref.addChild(music_mc);
};
}
public static function audioTick():void{
var _local1:int;
while (_local1 < MAX_CUE_SOUNDS) {
if ((((cue_sound_timer[_local1] >= 0)) && ((--cue_sound_timer[_local1] == -1)))){
Audio.playSound(cue_sound[_local1], cue_sound_volume[_local1]);
};
_local1++;
};
}
public static function cueSound(_arg1:Sound, _arg2:Number=1, _arg3:int=0):void{
var _local4:int;
if (_arg1 != null){
_local4 = 0;
while (_local4 < MAX_CUE_SOUNDS) {
if ((((cue_sound_timer[_local4] == _arg3)) && ((_arg1.length == cue_sound[_local4].length)))){
return;
};
_local4++;
};
cue_sound[sound_cue_index] = _arg1;
cue_sound_timer[sound_cue_index] = _arg3;
cue_sound_volume[sound_cue_index] = _arg2;
if (++sound_cue_index >= MAX_CUE_SOUNDS){
sound_cue_index = 0;
};
};
}
public static function playSound(_arg1:Sound, _arg2:Number=1, _arg3:Number=0):void{
if (Main.sfx_on){
sound_transform.volume = (_arg2 * SOUND_VOLUME);
sound_transform.pan = _arg3;
sound_channel = _arg1.play(0, 0, sound_transform);
};
}
}
}//package
Section 27
//Gfx (Gfx)
package {
import flash.display.*;
import flash.geom.*;
import flash.text.*;
import flash.filters.*;
public class Gfx {
public static const LEFT:int = 8;
public static const _em235:int = 0x0100;
public static const TEXT_OFFSET:int = 0;
public static const BOTTOM:int = 4;
public static const _bm65:int = 0x0200;
public static const TOP:int = 1;
public static const RIGHT:int = 2;
public static var matrix:Matrix = new Matrix();
public static var hframe:int;
public static var saturate_filter:ColorMatrixFilter = new ColorMatrixFilter();
public static var temp_bd:BitmapData;
public static var dimensions:Array = new Array();
public static var width:int;
public static var point:Point = new Point();
public static var height:int;
public static var text_field:TextField;
public static var _gd871:Rectangle = new Rectangle();
public static var vframe:int;
public static var text_field_bd:BitmapData;
public static function drawString(_arg1:BitmapData, _arg2:String, _arg3:Number, _arg4:Number, _arg5:int, _arg6:Number, _arg7:TextFormat):void{
if ((((_arg2.length == 0)) || ((_arg6 <= 0)))){
return;
};
stringToImage(_arg2, -1, _arg7);
Gfx.drawFrame(_arg1, text_field_bd, _arg3, _arg4, 0, 1, 1, _arg5, new ColorTransform(1, 1, 1, _arg6));
}
public static function drawFrame(_arg1:BitmapData, _arg2:BitmapData, _arg3:int=0, _arg4:int=0, _arg5:int=0, _arg6:int=1, _arg7:int=1, _arg8:int=-1, _arg9:ColorTransform=null, _arg10:Boolean=false, _arg11:Boolean=false, _arg12:Boolean=false):void{
if ((((_arg5 < 0)) || ((_arg5 >= (_arg6 * _arg7))))){
return;
};
width = (_arg2.width / _arg6);
height = (_arg2.height / _arg7);
_gd871.width = width;
_gd871.height = height;
if (_arg8 != -1){
_arg3 = (_arg3 + alignX(_arg8, width));
_arg4 = (_arg4 + alignY(_arg8, height));
};
hframe = (_arg5 % _arg6);
vframe = (_arg5 / _arg6);
if (((((_arg10) || (_arg11))) || (!((_arg9 == null))))){
matrix.identity();
if (((_arg10) || (_arg11))){
matrix.scale((_arg10) ? -1 : 1, (_arg11) ? -1 : 1);
matrix.translate((_arg10) ? ((_arg3 + (hframe * width)) + width) : (_arg3 - (hframe * width)), (_arg11) ? ((_arg4 + (vframe * height)) + height) : (_arg4 - (vframe * height)));
} else {
matrix.translate((_arg3 - (hframe * width)), (_arg4 - (vframe * height)));
};
_gd871.x = _arg3;
_gd871.y = _arg4;
_arg1.draw(_arg2, matrix, _arg9, null, _gd871, false);
} else {
_gd871.x = (hframe * width);
_gd871.y = (vframe * height);
point.x = _arg3;
point.y = _arg4;
_arg1.copyPixels(_arg2, _gd871, point, null, null, _arg12);
};
}
public static function stringToImage(_arg1:String, _arg2:int, _arg3:TextFormat, _arg4:int=5):BitmapData{
text_field = new TextField();
text_field.autoSize = TextFieldAutoSize.LEFT;
text_field.defaultTextFormat = _arg3;
text_field.embedFonts = true;
text_field.htmlText = _arg1;
if (_arg2 != -1){
text_field.width = _arg2;
text_field.wordWrap = true;
} else {
text_field.wordWrap = false;
};
text_field_bd = new BitmapData((text_field.width + _arg4), text_field.height, true, 0);
matrix.identity();
matrix.ty = TEXT_OFFSET;
text_field_bd.draw(text_field, matrix, null, null, null, true);
return (text_field_bd);
}
public static function initSaturateFilter(_arg1:Number=0):void{
var _local2:Number = 0.3086;
var _local3:Number = 0.6094;
var _local4:Number = 0.082;
var _local5:Number = (((1 - _arg1) * _local2) + _arg1);
var _local6:Number = ((1 - _arg1) * _local3);
var _local7:Number = ((1 - _arg1) * _local4);
var _local8:Number = ((1 - _arg1) * _local2);
var _local9:Number = (((1 - _arg1) * _local3) + _arg1);
var _local10:Number = ((1 - _arg1) * _local4);
var _local11:Number = ((1 - _arg1) * _local2);
var _local12:Number = ((1 - _arg1) * _local3);
var _local13:Number = (((1 - _arg1) * _local4) + _arg1);
saturate_filter = new ColorMatrixFilter([_local5, _local6, _local7, 0, 0, _local8, _local9, _local10, 0, 0, _local11, _local12, _local13, 0, 0, 0, 0, 0, 1, 0]);
}
public static function saturateImage(_arg1:BitmapData):BitmapData{
_arg1.applyFilter(_arg1, _arg1.rect, new Point(0, 0), saturate_filter);
return (_arg1);
}
public static function alignX(_arg1:int, _arg2:Number):int{
if ((_arg1 & _em235) != 0){
return ((-(_arg2) >> 1));
};
if ((_arg1 & RIGHT) != 0){
return (-(_arg2));
};
return (0);
}
public static function alignY(_arg1:int, _arg2:Number):int{
if ((_arg1 & _bm65) != 0){
return ((-(_arg2) >> 1));
};
if ((_arg1 & BOTTOM) != 0){
return (-(_arg2));
};
return (0);
}
public static function drawScaled(_arg1:BitmapData, _arg2:BitmapData, _arg3:int, _arg4:int, _arg5:int, _arg6:Number, _arg7:Number, _arg8:int, _arg9:ColorTransform, _arg10:Number=1, _arg11:Number=1, _arg12:Boolean=false, _arg13:Boolean=false):void{
width = ((_arg2.width / _arg4) * _arg10);
height = ((_arg2.height / _arg5) * _arg11);
if (_arg8 != -1){
if ((_arg8 & _em235) != 0){
_arg6 = (_arg6 - (width / 2));
} else {
if ((_arg8 & RIGHT) != 0){
_arg6 = (_arg6 - width);
};
};
if ((_arg8 & _bm65) != 0){
_arg7 = (_arg7 - (height / 2));
};
if ((_arg8 & BOTTOM) != 0){
_arg7 = (_arg7 - height);
};
};
matrix.identity();
if (_arg12){
matrix.scale(-(_arg10), _arg11);
matrix.translate(((_arg6 + ((_arg3 % _arg4) * width)) + width), (_arg7 - (int((_arg3 / _arg4)) * height)));
} else {
matrix.scale(_arg10, _arg11);
matrix.translate((_arg6 - ((_arg3 % _arg4) * width)), (_arg7 - (int((_arg3 / _arg4)) * height)));
};
_gd871.x = _arg6;
_gd871.y = _arg7;
_gd871.width = (width + 1);
_gd871.height = (height + 1);
_arg1.draw(_arg2, matrix, _arg9, null, _gd871, _arg13);
}
}
}//package
Section 28
//Main (Main)
package {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.geom.*;
import flash.text.*;
import flash.utils.*;
import flash.filters.*;
import flash.net.*;
import mochi.as3.*;
import flash.system.*;
import flash.ui.*;
public class Main extends Sprite {
private const LEFT:int = 8;
private const _ij815:int = 48;
private const _em235:int = 0x0100;
private const _md298:int = 3;
private const _wp852:String = "BCDFGHKLMNPRSTY";
private const _jv520:int = 4;
private const _xf692:int = 9;
private const _ps38:int = 6;
private const _jk1175:int = 235;
private const _na1114:int = 5;
private const _yi539:int = 4;
private const _lv385:int = 12;
private const _ec1057:int = 6;
private const _am821:Array;
private const _rg926:int = 7;
private const _mj626:int = 0;
private const _hd866:Number = 0.2;
private const _gk1117:int = 9;
private const _ee717:int = 70;
private const _ms451:int = 2;
private const _dn315:int = 2;
private const _ex629:Array;
private const _la396:int = 1;
private const TOP:int = 1;
private const _iq1163:int = 52;
private const _rn918:Array;
private const _uu376:int = 500;
private const _sg931:int = 1;
private const _nx505:Array;
private const _in1182:int = 2;
private const _bk838:int = 0;
private const _jq792:int = 1;
private const _cd251:int = 65;
private const _xt333:int = 4;
private const _cl622:int = 90;
private const _kg260:int = 2;
private const _bm65:int = 0x0200;
private const _jy638:int = 335;
private const _px534:int = 5;
private const _ja487:int = 250;
private const _lq885:int = 1;
private const _en1161:int = 4;
private const RIGHT:int = 2;
private const _mm350:int = 7;
private const _sk130:int = 2;
private const _tu170:BitmapData;
private const _cp991:int = 394;
private const _gg367:int = 3;
private const _pc1172:int = 50;
private const BOTTOM:int = 4;
private const _bd692:int = 1;
private const _pd820:int = 13;
private const _mt682:Array;
private const _mu904:int = 5;
private const _ur966:Array;
private const _dt231:int = 0;
private const _tq654:int = 1;
private const _lx778:int = 38;
private const _tr602:Array;
private const _qp441:String = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
private const _cf134:Array;
private const _be105:int = 0;
private const _qr881:int = 48;
private const _xy86:int = 3;
private const _tr238:int = 571;
private const _ev415:int = 3;
private const _mc378:int = -1;
private const _bx1147:int = 3;
private const _gn377:int = 6;
private const _kw858:int = 4;
private const _jq468:int = 609;
private const _wt409:Array;
private const _qm846:Array;
private const _qi409:String = "AEIOU";
private const _lg105:Array;
private const _gn650:int = 9;
private const _qr676:int = 4;
private const _up766:int = 2;
private const _ts241:int = 3;
private const _jt518:int = 3;
private const _ch136:int = 16;
private const _oj1124:Array;
private const _px285:int = 0;
private const _ht855:int = 4;
private const _rn441:int = 265;
private const _ac79:Array;
private const _gg342:int = 0;
private const _fy458:int = 5;
private const _fl1175:int = 300000;
private const _ut429:int = 20;
private const _pa611:String = "AAAAAAABBCCDDDDEEEEEEEEEFFGGGHHIIIIIIIJKLLLLMMNNNNNNOOOOOOOOPPQRRRRRRSSSSTTTTTTUUUVVWWXYYZ";
private const _yd1000:int = 5;
private const _xy622:Number = 0.05;
private const _ba16:int = 63;
private const _sf963:int = 370;
private const _ft879:String = "v0.1.8, 12th October 2010";
private const _cr566:int = 1;
private const _gg972:int = 2;
private const _eq841:int = 7;
private const _ss154:String = "JQVWXZ";
private const _md302:int = 3;
private var _mb999:Array;
private var _nk1091:Array;
private var _yi429:int;
private var _se585:int;
private var _bs345:BitmapData;
private var _ib943:Array;
private var _rd521:int;
private var _ke859:Array;
private var _og877:int;// = -1
private var _ai1182:int;
private var _ap1050:ColorMatrixFilter;
private var _ci725:int;
private var _sv206:BitmapData;
private var _sa382:ColorTransform;
private var _cy996:BitmapData;
private var _uw759:BitmapData;
private var _ao473:BitmapData;
private var _ir1074:Number;
private var _go1176:Boolean;// = false
private var _wm705:String;
private var _lg1089:int;
private var _gk916:int;// = 10
private var _dx421:int;
private var _fi863:BitmapData;
private var _sd895:int;
private var _rv329:Array;
private var _mv135:String;
private var _py506:Boolean;
private var _aq87:int;
private var _kp602:int;
private var _tp592:Array;
private var _df1053:int;
private var _ss1168:int;
private var _rh801:int;// = 150
private var _ox830:SharedObject;
private var _rl614:int;// = 0
private var _pg33:int;
private var _lx806:int;
private var _iv955:Number;
private var _ap561:int;
private var _kp449:int;
private var _ix769:int;
private var _bm825:Array;
private var _sf1160:int;
private var _mi615:String;
private var _tq1125:String;
private var _wv1041:String;
private var _na1009:int;
private var _yd457:int;
private var _pj492:Number;// = 0
private var _st1004:Array;
private var _pw202:Array;
private var _ny929:Array;
private var _io22:int;
private var _fb503:BitmapData;
private var _is504:int;
private var _pp868:String;
private var _vc491:Array;
private var _mv206:Array;
private var _be898:MovieClip;// = null
private var _mf68:int;// = 30
private var _tv786:Array;
private var _ma1087:BitmapData;
private var _nd987:Array;
private var hiscore:Array;
private var _vw1035:String;
private var _dt990:int;
private var _ng489:int;
private var _bk842:Boolean;
private var debug:Boolean;// = false
private var _lo962:int;
private var _ra492:Array;
private var _hk551:int;
private var _ga424:Array;
private var ticks:int;// = 0
private var _vr837:Boolean;
private var _fe50:Boolean;
private var _cx548:Array;
private var _sh300:Number;
private var _ku1060:Boolean;// = false
private var _xr1026:Number;
private var _pm219:Boolean;// = false
private var _pc1125:Boolean;
private var _fc260:Array;
private var _ww731:int;
private var _mo672:String;
private var _qf1002:Number;
private var _ln161:BitmapData;
private var _eh95:int;
private var _pj751:Number;
private var _dq940:Array;
private var _cj514:Array;
private var _yt275:BitmapData;
private var _kl682:Sprite;
private var _wl1137:int;
private var _ac706:Array;
private var _na527:String;
private var _wu380:Array;
private var _kx1070:int;
private var _rm895:Stats;
private var _jl315:Array;
private var _br519:int;
private var _me1077:int;
private var _tg146:BitmapData;
private var _cx549:Array;
private var _il256:Array;
private var _wc31:int;
private var _uy218:MochiDigits;
private var _ao1071:Array;
private var matrix:Matrix;
private var _sb770:Number;
private var _iq13:int;
private var _eu402:Boolean;
private var _lu743:Boolean;
private var _ya367:int;// = 0
private var _kh551:Number;// = -1
private var _ur851:int;
private var _he245:int;
private var _uv860:Number;// = -1
private var _sl44:Array;
public static const GAME_STATE_LEADERBOARD:int = 5;
public static const STAGE_WIDTH:int = 640;
public static const GAME_STATE_SUBMIT_SCORE:int = 8;
public static const GAME_STATE_TITLE:int = 2;
public static const GAME_STATE_CREDITS:int = 6;
public static const STAGE_HEIGHT:int = 480;
public static const GAME_STATE_SUMMARY:int = 4;
public static const GAME_STATE_INITIALISING:int = -1;
public static const GAME_STATE_DEV_LOGO:int = 0;
public static const STAGE_HCENTRE:int = (STAGE_WIDTH >> 1);
public static const TRANSITION_OUT:int = -1;
public static const GAME_STATE_SPONSOR_LOGO:int = 1;
public static const STAGE_VCENTRE:int = (STAGE_HEIGHT >> 1);
public static const CANVAS:BitmapData = new BitmapData(STAGE_WIDTH, STAGE_HEIGHT, false, 0);
public static const TRANSITION_IN:int = 1;
public static const GAME_STATE_TUTORIAL:int = 7;
public static const GAME_STATE_GAME:int = 3;
public static var prev_game_state:int = game_state;
public static var game_state:int = -1;
public static var transition_dir:int = 0;
public static var background:BitmapData;
public static var bg_option:int = -1;
public static var paused:Boolean = false;
public static var music_on:Boolean = true;
public static var foreground:BitmapData;
public static var bg_theme:int;
public static var stage_ref:Stage;
public static var sfx_on:Boolean = true;
public static var speech_on:Boolean = false;
public function Main(){
var _local1:int;
var _local2:int;
var _local3:int;
_ox830 = SharedObject.getLocal("my_word");
matrix = new Matrix();
_tu170 = new BitmapData(64, 48, false, 6792379);
_fc260 = new Array(_eq841);
_rn918 = ["b0bb4ab402b67447", "6a5c1f4fc8af12ca", "a0638a8dee294852", "26d110db85c89d2c"];
_uy218 = new MochiDigits();
hiscore = new Array(_jv520);
_cx549 = new Array(_eq841);
_jl315 = new Array(_gk1117);
_ib943 = new Array();
_il256 = new Array();
_ra492 = new Array();
_ao1071 = new Array();
_nk1091 = new Array();
_ga424 = new Array();
_bm825 = new Array();
_ex629 = ["FUCK", "TWAT", "CUNT", "NIGGER", "KIKE", "PORN", "PENIS", "SLUT", "WHORE", "CLIT", "BITCH", "DILDO", "VAGINA", "SHIT", "PISS", "BITCH", "DICK", "COCK", "PUSSY", "TITS"];
_mt682 = [1, 3, 3, 2, 1, 4, 2, 4, 1, 8, 5, 1, 3, 1, 1, 3, 10, 1, 1, 1, 1, 4, 4, 8, 4, 10];
_wt409 = [-282, -219, -155, -92, 0, 32, 92, 153, 213];
_nx505 = [185, 201, 220, 242, 265];
_ac79 = [0, 1, 2, 3, 4, 8, 7, 6, 5];
_am821 = [LEFT, LEFT, LEFT, LEFT, _em235, LEFT, LEFT, LEFT, LEFT];
_tr602 = [0.6, 0.701, 0.8, 0.901, 1];
_qm846 = [31, 29, 29, 29, 29, 31, 36, 41, 45];
_oj1124 = [34, 33, 31, 30, 29, 30, 34, 37, 39];
_lg105 = [-4, 57, 121, 184, 245, 307, 370, 437, 501];
_wu380 = new Array(_en1161);
_pw202 = new Array(_en1161);
_mv206 = new Array(_en1161);
_vc491 = new Array(_en1161);
_sl44 = new Array(_en1161);
_tp592 = new Array(_en1161);
_ny929 = new Array(_en1161);
_mb999 = new Array(_en1161);
_st1004 = new Array(_en1161);
_ur966 = [[1, 1.5, 1.19], [1.5, 1, 1.35], [1.66, 1.47, 1]];
_cf134 = [[5, 2], [6, 2], [2, 7]];
_nd987 = new Array(_ht855);
_tv786 = new Array(_ht855);
_rv329 = new Array(_ht855);
_dq940 = new Array(_ht855);
_cx548 = new Array(_ht855);
_cj514 = new Array(_ht855);
_ss1168 = game_state;
super();
_local1 = 0;
while (_local1 < _jv520) {
hiscore[_local1] = new Array(_kw858);
_local2 = 0;
while (_local2 < _kw858) {
hiscore[_local1][_local2] = 0;
_local2++;
};
_local1++;
};
var _local4:int;
_local1 = 0;
while (_local1 < Res.DICTIONARIES.length) {
_local3 = (Res.DICTIONARIES[_local1].length / (_local1 + 3));
_local4 = (_local4 + _local3);
trace((((("Dictionary " + (_local1 + 3)) + " size: ") + _local3.toString()) + " words"));
_local1++;
};
trace(("Total words = " + _local4));
_kj106();
_local1 = 0;
while (_local1 < _en1161) {
_wu380[_local1] = false;
_tp592[_local1] = 0;
_local1++;
};
_mm332();
_ln161 = Gfx.stringToImage("_", -1, Res.tf_player_word);
Gfx.initSaturateFilter(0.3);
_local1 = (5 * 3);
while (_local1 < (5 * 6)) {
Gfx.saturateImage(Res.IMAGES_BLOCKS[_local1]);
_local1++;
};
addEventListener(Event.ENTER_FRAME, update);
if (Preloader.show_dev_logo){
startTransition(GAME_STATE_DEV_LOGO);
} else {
if (Preloader.show_sponsor_logo){
startTransition(GAME_STATE_SPONSOR_LOGO);
} else {
startTransition(GAME_STATE_TITLE);
};
};
}
final private function _xn624():void{
var _local1:int;
var _local2:int;
var _local3:Number;
var _local4:Number;
var _local5:int;
var _local6:Boolean;
var _local7:Boolean;
var _local8:Number;
var _local9:Number;
var _local10:int;
_local1 = 0;
while (_local1 < _gn650) {
_local2 = 0;
while (_local2 < _yd1000) {
_local5 = _ac79[_local1];
_local9 = _du472(_local5, _local2);
_local3 = (STAGE_HCENTRE + (_wt409[_local5] * _local9));
if (((((_lu743) && ((_local2 == _xt333)))) && ((_il256[_local5][_local2] == _mc378)))){
_local10 = ((_local5 > 4)) ? (4 - (_local5 - 4)) : _local5;
Gfx.drawFrame(CANVAS, Res.IMAGES_BLOCK_FADES[_local10], _local3, _nx505[_local2], _sd895, _gn377, 1, (TOP | _am821[_local5]), null, (_local5 > 4));
} else {
if (_il256[_local5][_local2] != _mc378){
_local7 = (((_local2 == (_yd1000 - 1))) && (_ke859[_local5]));
_local6 = (((_local2 == (_yd1000 - 1))) && ((_local5 == _og877)));
if ((((((((_local2 == _xt333)) && ((_ap561 > 0)))) && (((ticks % 9) > 3)))) && ((_local5 == _jl315[(_ap561 - 1)])))){
_local8 = 2;
} else {
_local8 = (_local7) ? 0.2 : 1;
};
Gfx.drawScaled(CANVAS, _ga424[_local5][_local2], 0, 1, 1, _local3, (_nx505[_local2] + ((_nk1091[_local5][_local2] > 0)) ? (_nk1091[_local5][_local2] * (_nx505[(_local2 + 1)] - _nx505[_local2])) : 0), (TOP | _am821[_local5]), new ColorTransform(_local8, _local8, _local8, _ra492[_local5][_local2]), _local9, _local9, false, true);
};
};
_local2++;
};
_local1++;
};
_local1 = 0;
while (_local1 < _gn650) {
if (((_lu743) && (!((_bm825[_local1] == -1))))){
Gfx.drawFrame(CANVAS, ((_bm825[_local1] == 1)) ? Res.IMAGE_BLOCK_VANISH_BONUS : Res.IMAGE_BLOCK_VANISH, _lg105[_local1], _jk1175, 0, 1, 1, -1, new ColorTransform(1, 1, 1, _sh300));
};
_local1++;
};
}
final private function _ea612():void{
MochiScores.closeLeaderboard();
startTransition(GAME_STATE_TITLE);
}
final private function _qk1014(_arg1:String, _arg2:int=-1):void{
var _local3:Boolean;
var _local4:int;
if (((_td641()) && ((_mi615.length < _gk1117)))){
_local3 = false;
switch (_kx1070){
case _bk838:
if (_arg2 == -1){
_local4 = 0;
while (_local4 < _gk1117) {
if (_ib943[_local4][_xt333] == _arg1){
if (!_ke859[_local4]){
_arg2 = _local4;
_local4 = _gk1117;
};
};
_local4++;
};
};
if (_arg2 != -1){
_jl315[_ap561] = _arg2;
_local3 = true;
_mi615 = (_mi615 + _arg1);
_ke859[_arg2] = true;
_bk842 = _va792();
};
break;
case _sk130:
_local3 = true;
_mi615 = (_mi615 + _arg1);
_local4 = 0;
while (_local4 < _he245) {
if (_pp868.substr(_local4, 1) == _arg1){
if (!_ke859[_local4]){
_ke859[_local4] = true;
_local4 = _he245;
};
};
_local4++;
};
break;
};
if (_local3){
_eh95 = (_eh95 + _mt682[_yy361(_arg1)]);
_ap561 = _mi615.length;
_ft619();
Audio.playSound(Res.SOUNDS_TYPE[(_ap561 - 1)]);
Audio.playSound(Res.SOUNDS_SCRIBBLE[_vv1101(Res.SOUNDS_SCRIBBLE.length)], 0.6);
_is504 = _be105;
_rd521 = 0;
_pg33 = (STAGE_HCENTRE + (_fi863.width >> 1));
_lx806 = _cp991;
};
};
}
final private function _br853():void{
if (paused){
resume();
} else {
pause();
};
}
final private function _vv1101(_arg1:int):int{
return (((_arg1 == 0)) ? 0 : Math.floor((Math.random() * _arg1)));
}
final private function resume():void{
paused = false;
Menu.in_menu = false;
}
final private function drawBar(_arg1:int, _arg2:int, _arg3:Number, _arg4:Number, _arg5:int, _arg6:int, _arg7:int, _arg8:int, _arg9:int):void{
_arg5 = (_arg5 * (_arg1 / _arg2));
_arg3 = (_arg3 + Gfx.alignX(_arg9, _arg5));
_arg4 = (_arg4 + Gfx.alignY(_arg9, _arg6));
if (_arg7 > 0){
CANVAS.fillRect(new Rectangle((_arg3 - _arg7), (_arg4 - _arg7), (_arg5 + (_arg7 << 1)), (_arg6 + (_arg7 << 1))), 0);
};
CANVAS.fillRect(new Rectangle(_arg3, _arg4, _arg5, _arg6), _arg8);
}
final private function _vq855(_arg1:String, _arg2:int):void{
Gfx.stringToImage(_arg1, -1, new TextFormat("menu_font", 16, _arg2, true));
_ac706.unshift(Gfx.text_field_bd);
}
final private function _jy407():void{
if (_is504 != -1){
if (++_rd521 >= (_cf134[_is504][0] * _cf134[_is504][1])){
if (_is504 == _up766){
_kp379();
};
_is504 = -1;
};
};
}
final private function _gb1008(_arg1:Number):String{
var _local2:String = String(_arg1);
var _local3 = "";
var _local4:String = ((_local2.indexOf(".") == -1)) ? _local2 : _local2.substr(0, _local2.indexOf("."));
var _local5:int = _local4.length;
while (_local5 >= 0) {
_local3 = (_local4.substr(_local5, 1) + _local3);
if ((((((((_local4.length - _local5) % 3) == 0)) && ((_local5 < _local4.length)))) && ((_local5 > 0)))){
_local3 = ("," + _local3);
};
_local5--;
};
return (_local3);
}
final private function _au67():int{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:int;
_local1 = 0;
while (_local1 < _gn650) {
_local2 = 0;
while (_local2 < _yd1000) {
_local3 = 0;
while (_local3 < _ss154.length) {
if (_ib943[_local1][_local2] == _ss154[_local3]){
_local4++;
};
_local3++;
};
_local2++;
};
_local1++;
};
return (_local4);
}
final private function _kd48():void{
var _local1:int;
switch (game_state){
case GAME_STATE_TITLE:
drawBackground();
Gfx.drawFrame(CANVAS, Res.IMAGE_GAME_LOGO, STAGE_HCENTRE, 14, 0, 1, 1, (_em235 | TOP), new ColorTransform(1, 1, 1, _ir1074));
if (debug){
Gfx.drawString(CANVAS, "Debugging on!", 0, 0, -1, 1, new TextFormat("menu_font", 24, 0, true));
};
break;
case GAME_STATE_TUTORIAL:
case GAME_STATE_LEADERBOARD:
drawBackground();
break;
case GAME_STATE_CREDITS:
drawBackground();
Gfx.drawString(CANVAS, _ft879, 0, 0, -1, 0.5, new TextFormat("menu_font", 18, 0xFFFFFF, true));
break;
case GAME_STATE_GAME:
drawBackground();
if (!paused){
_xn624();
_mx202();
};
_qt545();
_ia685();
if (_iv955 > 0){
Gfx.drawScaled(CANVAS, _tu170, 0, 1, 1, 0, 0, -1, new ColorTransform(1, 1, 1, _iv955), 10, 10);
};
break;
case GAME_STATE_SUMMARY:
drawBackground();
if (_iv955 > 0){
Gfx.drawScaled(CANVAS, _tu170, 0, 1, 1, 0, 0, -1, new ColorTransform(1, 1, 1, _iv955), 10, 10);
};
_hi923();
break;
case GAME_STATE_SUBMIT_SCORE:
drawBackground();
break;
};
if (Menu.in_menu){
Menu.draw();
};
graphics.clear();
graphics.beginBitmapFill(CANVAS, null, false, false);
graphics.drawRect(0, 0, STAGE_WIDTH, STAGE_HEIGHT);
graphics.endFill();
if (transition_dir != 0){
graphics.beginFill(0, _pj492);
graphics.drawRect(0, 0, STAGE_WIDTH, STAGE_HEIGHT);
graphics.endFill();
};
}
final private function _ex68():void{
var _local1:int;
var _local2:String;
if (((_td641()) && ((_ap561 > 0)))){
_local2 = _mi615.substr((_mi615.length - 1), 1);
Audio.playSound(Res.SOUND_DELETE_LETTER);
switch (_kx1070){
case _bk838:
_ke859[_jl315[(_ap561 - 1)]] = false;
_bk842 = _va792();
break;
case _sk130:
_local1 = 0;
while (_local1 < _he245) {
if (_local2 == _pp868.substr(_local1, 1)){
_ke859[_local1] = false;
};
_local1++;
};
break;
};
_eh95 = (_eh95 - _mt682[_yy361(_local2)]);
_mi615 = _mi615.substr(0, (_mi615.length - 1));
_ap561 = _mi615.length;
_ft619();
_is504 = _sg931;
_rd521 = 0;
_pg33 = (STAGE_HCENTRE + (_fi863.width >> 1));
_lx806 = _cp991;
};
}
final private function _vw28(_arg1:int):void{
var _local2:int;
if (_arg1 != -1){
if (_arg1 != Menu.OPTION_TOGGLE_SFX){
Audio.playSound(Res.SOUND_SELECT);
};
switch (_arg1){
case Menu.OPTION_START_GAME:
_kx1070 = _bk838;
Menu.setup(Menu.MENU_GAME_MODE);
break;
case Menu.OPTION_TYPE_COLLAPSE:
case Menu.OPTION_TYPE_3_LETTERS:
case Menu.OPTION_TYPE_EXCHANGE:
switch (_arg1){
case Menu.OPTION_TYPE_COLLAPSE:
_kx1070 = _bk838;
break;
case Menu.OPTION_TYPE_3_LETTERS:
_kx1070 = _sk130;
break;
case Menu.OPTION_TYPE_EXCHANGE:
_kx1070 = _md302;
break;
};
Menu.setup(Menu.MENU_GAME_MODE);
break;
case Menu.OPTION_MODE_CASUAL:
case Menu.OPTION_MODE_ARCADE:
case Menu.OPTION_MODE_TIMED:
case Menu.OPTION_MODE_LIMITED_WORDS:
_yd457 = (_arg1 - Menu.OPTION_MODE_CASUAL);
if (Menu.current_menu == Menu.MENU_GAME_MODE){
startTransition(GAME_STATE_GAME);
} else {
startTransition(GAME_STATE_LEADERBOARD);
};
break;
case Menu.OPTION_HOW_TO_PLAY:
if (game_state == GAME_STATE_GAME){
_vr837 = true;
};
startTransition(GAME_STATE_TUTORIAL);
break;
case Menu.OPTION_LEADERBOARD:
Menu.setup(Menu.MENU_CHOOSE_LEADERBOARD);
break;
case Menu.OPTION_SUBMIT_SCORE:
game_state = GAME_STATE_SUBMIT_SCORE;
Mouse.show();
Menu.in_menu = false;
MochiScores.showLeaderboard({boardID:_rn918[_yd457], score:_uy218.value, onClose:_vv411, onError:_vv411});
break;
case Menu.OPTION_BACK_TO_MAIN_MENU:
if (game_state != GAME_STATE_TITLE){
startTransition(GAME_STATE_TITLE);
} else {
Menu.setup(Menu.MENU_MAIN);
};
break;
case Menu.OPTION_MENU_GAME_MODE:
Menu.setup(Menu.MENU_GAME_MODE);
break;
case Menu.OPTION_CREDITS:
startTransition(GAME_STATE_CREDITS);
break;
case Menu.OPTION_RESUME_GAME:
_br853();
break;
case Menu.OPTION_GIVE_UP:
paused = true;
Menu.setup(Menu.MENU_CONFIRM_GIVE_UP);
Audio.playSound(Res.SOUND_SELECT);
break;
case Menu.OPTION_GIVE_UP_YES:
resume();
_bo251();
break;
case Menu.OPTION_GIVE_UP_NO:
resume();
break;
case Menu.OPTION_PAUSE:
pause();
Audio.playSound(Res.SOUND_SELECT);
break;
case Menu.OPTION_QUIT_GAME:
if (game_state == GAME_STATE_SUMMARY){
startTransition(GAME_STATE_TITLE);
} else {
Menu.setup(Menu.MENU_CONFIRM_QUIT);
};
break;
case Menu.OPTION_QUIT_YES:
startTransition(GAME_STATE_TITLE);
break;
case Menu.OPTION_QUIT_NO:
Menu.setup(Menu.MENU_PAUSED);
break;
case Menu.OPTION_TOGGLE_MUSIC:
if (music_on){
music_on = false;
Audio.stopMusic();
} else {
music_on = true;
Audio.playMusic(Res.CLASS_MUSIC_THEME);
};
Menu.setup(Menu.current_menu, false);
break;
case Menu.OPTION_TOGGLE_SFX:
sfx_on = !(sfx_on);
Menu.setup(Menu.current_menu, false);
Audio.playSound(Res.SOUNDS_TYPE[8]);
break;
case Menu.OPTION_TOGGLE_FULLSCREEN:
stage.fullScreenSourceRect = new Rectangle(0, 0, STAGE_WIDTH, STAGE_HEIGHT);
if (stage.displayState == StageDisplayState.FULL_SCREEN){
stage.displayState = StageDisplayState.NORMAL;
} else {
stage.displayState = StageDisplayState.FULL_SCREEN;
};
Menu.setup(Menu.current_menu, false);
break;
case Menu.OPTION_TOGGLE_SPEECH:
speech_on = !(speech_on);
Menu.setup(Menu.current_menu, false);
break;
case Menu.OPTION_CHANGE_THEME:
if (++bg_option >= _ev415){
bg_option = -1;
};
Menu.setup(Menu.current_menu, false);
_nw254();
break;
case Menu.OPTION_EXIT_OPTIONS:
if (game_state == GAME_STATE_GAME){
Menu.setup(Menu.MENU_PAUSED);
} else {
Menu.setup(Menu.MENU_MAIN);
};
_yd495();
break;
case Menu.OPTION_MEGADEV:
navigateToURL(new URLRequest("http://www.megadev.co.uk"), "_blank");
break;
case Menu.OPTION_OPTIONS:
Menu.setup(Menu.MENU_OPTIONS);
break;
case Menu.OPTION_ENTER_WORD:
_cp1000();
break;
case Menu.OPTION_BACKSPACE:
_ex68();
break;
case Menu.OPTION_CANCEL_WORD:
if (_td641()){
_kp379(true);
};
break;
case Menu.OPTION_JUMBLE:
_local2 = (_uy218.value >> 2);
if (_local2 > 0){
_sc781(-(_local2));
_vq855(((((Res.text_XML.jumble + " (-") + _local2.toString()) + ") ") + _mi615), 0xAA0000);
};
_kp379();
_nr163();
break;
case Menu.OPTION_LEAVE_SUMMARY:
startTransition(GAME_STATE_GAME);
break;
case Menu.OPTION_RETRY:
if (game_state == GAME_STATE_SUMMARY){
startTransition(GAME_STATE_GAME);
} else {
Menu.setup(Menu.MENU_CONFIRM_RETRY);
};
break;
case Menu.OPTION_RETRY_YES:
startTransition(GAME_STATE_GAME);
break;
case Menu.OPTION_RETRY_NO:
Menu.setup(Menu.MENU_PAUSED);
break;
case Menu.OPTION_GAMES_DOT_COM:
navigateToURL(new URLRequest("http://x.mochiads.com/link/51dd640d743d345c"), "_blank");
break;
case Menu.OPTION_MORE_GAMES:
navigateToURL(new URLRequest(((game_state == GAME_STATE_GAME)) ? "http://x.mochiads.com/link/8ce60f2f2193cf0a" : "http://x.mochiads.com/link/b23bf07273ed97c4"), "_blank");
break;
};
};
}
final private function _gw834():void{
var _local1:int;
var _local2:Array;
var _local3:int;
var _local4:int;
var _local5:int;
if (_ix769 > 0){
_ix769--;
} else {
_pj492 = (_pj492 + (transition_dir * _hd866));
if ((((_pj492 <= -1)) || ((_pj492 >= 2)))){
if (transition_dir == TRANSITION_IN){
Menu.in_menu = false;
Menu.num_menu_items = 0;
_iv955 = 0;
paused = false;
prev_game_state = game_state;
game_state = _ss1168;
switch (prev_game_state){
case GAME_STATE_INITIALISING:
stage_ref = stage;
Res.loadText();
_local1 = 0;
while (_local1 < _eq841) {
_fc260[_local1] = (Res.DICTIONARIES[_local1].length / (_xy86 + _local1));
_local1++;
};
stage.addEventListener(KeyboardEvent.KEY_UP, _fj754);
stage.addEventListener(MouseEvent.MOUSE_UP, _fj943);
stage.addEventListener(Event.DEACTIVATE, _ai180);
stage.quality = StageQuality.HIGH;
_kl682 = new Sprite();
_kl682.addChild(Res.BITMAP_CURSOR);
_kl682.mouseEnabled = false;
break;
};
switch (_ss1168){
case GAME_STATE_DEV_LOGO:
_qg334(Res.CLASS_SWF_DEV_LOGO, true, true, 50, 50);
break;
case GAME_STATE_SPONSOR_LOGO:
_io22 = 100;
_qg334(Res.CLASS_SWF_GAMES_DOT_COM_LOGO, true, true, (-(STAGE_HCENTRE) + 45), (-(STAGE_VCENTRE) + 40));
break;
case GAME_STATE_TITLE:
switch (prev_game_state){
case GAME_STATE_INITIALISING:
case GAME_STATE_SPONSOR_LOGO:
case GAME_STATE_DEV_LOGO:
Audio.playMusic(Res.CLASS_MUSIC_THEME);
break;
};
Menu.setup(Menu.MENU_MAIN);
if (Preloader.use_mochi_login){
MochiSocial.showLoginWidget({x:8, y:(STAGE_HEIGHT - 40)});
};
_nw254();
_ir1074 = 0;
_vr837 = false;
break;
case GAME_STATE_GAME:
_qk565();
break;
case GAME_STATE_SUMMARY:
Menu.addItem(Menu.getString(Menu.OPTION_LEAVE_SUMMARY), Menu.OPTION_LEAVE_SUMMARY, STAGE_HCENTRE, (STAGE_HEIGHT - _ch136), (BOTTOM | _em235), Res.tf_menu_black);
break;
case GAME_STATE_CREDITS:
_local2 = [Res.text_XML.title_credits, "", Res.text_XML.developed_by_megadev, "", Res.text_XML.credits_code, Res.text_XML.credits_mike, "", Res.text_XML.credits_art, Res.text_XML.credits_jon, "", Res.text_XML.credits_audio, Res.text_XML.credits_nick, "", Res.text_XML.credits_qa, Res.text_XML.credits_dan];
_local3 = 30;
_local4 = (_local2.length * _local3);
_local5 = ((STAGE_VCENTRE - (_local4 >> 1)) - 8);
_local1 = 0;
while (_local1 < _local2.length) {
Menu.addItem(_local2[_local1], ((_local2[_local1].toString() == "")) ? Menu.MENU_GAP : Menu.OPTION_NULL, STAGE_HCENTRE, (_local5 + (_local1 * _local3)), (TOP | _em235), Res.tf_menu_black);
_local1++;
};
Menu.addItem("", Menu.OPTION_BACK_TO_MAIN_MENU, (STAGE_WIDTH - 50), STAGE_HEIGHT, (BOTTOM | RIGHT), Res.tf_menu_black);
Menu.addItem("", Menu.OPTION_MEGADEV, 8, (STAGE_HEIGHT - 8), (BOTTOM | LEFT), null);
break;
case GAME_STATE_TUTORIAL:
_qg334(Res.CLASS_SWF_TUTORIAL, true, true, -(STAGE_HCENTRE), -(STAGE_VCENTRE));
break;
case GAME_STATE_LEADERBOARD:
MochiScores.showLeaderboard({boardID:_rn918[_yd457], onClose:_ea612, onError:_ea612});
break;
};
transition_dir = 0;
startTransition(game_state, TRANSITION_OUT);
} else {
transition_dir = 0;
};
};
};
}
final private function _vv411():void{
MochiScores.closeLeaderboard();
game_state = GAME_STATE_SUMMARY;
Menu.num_menu_items = 0;
Menu.mouse_over_menu_item = -1;
Menu.addItem("", Menu.OPTION_SUBMIT_SCORE, STAGE_HCENTRE, (STAGE_HEIGHT - 130), (TOP | _em235), Res.tf_menu_black);
Menu.addItem("", Menu.OPTION_RETRY, STAGE_HCENTRE, (STAGE_HEIGHT - 90), (TOP | _em235), Res.tf_menu_black);
Menu.addItem("", Menu.OPTION_QUIT_GAME, STAGE_HCENTRE, (STAGE_HEIGHT - 50), (TOP | _em235), Res.tf_menu_black);
}
final private function _uv318():void{
if (++_aq87 >= _xf692){
_aq87 = 0;
};
}
final private function update(_arg1:Event):void{
if (!_pm219){
tick();
};
_kd48();
}
final private function _va792():Boolean{
var _local1:int;
while (_local1 < _gn650) {
if (((_ke859[_local1]) && ((_il256[_local1][_xt333] == _cr566)))){
return (true);
};
_local1++;
};
return (false);
}
final private function _gm130():void{
var _local1:int;
if (--_gk916 < 0){
_mm332();
_gk916 = (100 + _vv1101(200));
};
_local1 = 0;
while (_local1 < _en1161) {
if (_wu380[_local1]){
_mv206[_local1] = (_mv206[_local1] + _sl44[_local1]);
if (_st1004[_local1] > 0){
var _local2 = _st1004;
var _local3 = _local1;
var _local4 = (_local2[_local3] - 1);
_local2[_local3] = _local4;
if (_local4 <= 0){
_ny929[_local1] = -1;
};
} else {
_tp592[_local1] = (_tp592[_local1] + (_ny929[_local1] * 0.05));
if (_tp592[_local1] >= 1){
_st1004[_local1] = (10 + _vv1101(15));
} else {
if (_tp592[_local1] <= 0){
_local2 = _mb999;
_local3 = _local1;
_local4 = (_local2[_local3] + 1);
_local2[_local3] = _local4;
if (_local4 >= _na1114){
_wu380[_local1] = false;
} else {
_tp592[_local1] = 1;
_ny929[_local1] = 1;
};
};
};
};
};
_local1++;
};
}
final private function _pe865(_arg1:int):void{
var _local2:String = _mi615.substr((_ap561 - 1), 1);
var _local3:int = _jl315[(_ap561 - 1)];
var _local4 = -1;
var _local5:int = _local3;
var _local6:int;
while ((((((_local5 >= 0)) && ((_local5 < _gk1117)))) && ((_local6 < 2)))) {
_local5 = (_local5 + _arg1);
if ((((_local5 < 0)) || ((_local5 >= _gk1117)))){
_local6++;
_local5 = ((_local5 < 0)) ? (_gk1117 - 1) : 0;
};
if (_ib943[_local5][(_yd1000 - 1)] == _local2){
if (!_ke859[_local5]){
_local4 = _local5;
_local5 = _gk1117;
_local6 = 1;
};
};
};
trace(("_new_column = " + _local4));
if (_local4 != -1){
_jl315[(_ap561 - 1)] = _local4;
_ke859[_local3] = false;
_ke859[_local4] = true;
Audio.playSound(Res.SOUNDS_TYPE[(_ap561 - 1)]);
};
}
final private function _du472(_arg1:int, _arg2:int):Number{
return ((_tr602[_arg2] + (_nk1091[_arg1][_arg2] * 0.1)));
}
final private function _ci311():void{
var _local1:int;
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local1 = 0;
while (_local1 < _en1161) {
if (((_wu380[_local1]) && ((_tp592[_local1] > 0)))){
_local2 = _ur966[bg_theme][0];
_local3 = _ur966[bg_theme][1];
_local4 = _ur966[bg_theme][2];
Gfx.drawFrame(CANVAS, Res.IMAGES_PEOPLE[((_pw202[_local1] * _na1114) + _mb999[_local1])], _mv206[_local1], _vc491[_local1], 0, 1, 1, -1, new ColorTransform(_local2, _local3, _local4, _tp592[_local1]), (_sl44[_local1] < 0));
if ((((_ny929[_local1] < 0)) && ((_mb999[_local1] < (_na1114 - 1))))){
Gfx.drawFrame(CANVAS, Res.IMAGES_PEOPLE[(((_pw202[_local1] * _na1114) + _mb999[_local1]) + 1)], _mv206[_local1], _vc491[_local1], 0, 1, 1, -1, new ColorTransform(_local2, _local3, _local4, (1 - _tp592[_local1])), (_sl44[_local1] < 0));
};
};
_local1++;
};
}
final private function _sc781(_arg1:int):void{
if (!debug){
_uy218.addValue(_arg1);
if (_uy218.value < 0){
_uy218.setValue(0);
};
if (_uy218.value > hiscore[_kx1070][_yd457]){
hiscore[_kx1070][_yd457] = _uy218.value;
};
};
}
final private function _sv55():void{
_lo962 = 0;
var _local1:int;
while (_local1 < _gn650) {
if (_ps362(_ib943[_local1][_xt333])){
_lo962++;
};
_local1++;
};
}
final private function _xk999(_arg1:int, _arg2:int, _arg3:Boolean=true, _arg4:Boolean=true, _arg5:Number=1):void{
var _local9:int;
var _local6 = 0xFFFFFF;
if (_arg3){
_ib943[_arg1][_arg2] = _gs11();
};
if (_arg2 == 0){
_local9 = _dt231;
if (Math.random() < 0.05){
_local9 = _cr566;
} else {
if (Math.random() < 0.05){
_local9 = _ms451;
};
};
_il256[_arg1][_arg2] = _local9;
};
var _local7:String = _ib943[_arg1][_arg2];
if (_ps362(_local7)){
_local6 = 16774672;
};
_ra492[_arg1][_arg2] = _arg5;
var _local8:int = ((_arg1 > 4)) ? (4 - (_arg1 - 4)) : _arg1;
_ga424[_arg1][_arg2] = new BitmapData(Res.IMAGES_BLOCKS[_local8].width, Res.IMAGES_BLOCKS[_local8].height, true, 0);
Gfx.drawFrame(_ga424[_arg1][_arg2], Res.IMAGES_BLOCKS[((_local8 + (_il256[_arg1][_arg2] * 5)) + (_arg4) ? (3 * 5) : 0)], 0, 0, 0, 1, 1, -1, null, (_arg1 > 4));
Gfx.drawString(_ga424[_arg1][_arg2], _local7, _qm846[_arg1], _ij815, (_em235 | _bm65), 1, new TextFormat("block_font", 40, _local6, true));
Gfx.drawScaled(_ga424[_arg1][_arg2], Gfx.text_field_bd, 0, 1, 1, _oj1124[_arg1], _lv385, (_em235 | _bm65), null, 1, 0.5, false, true);
Gfx.drawString(_ga424[_arg1][_arg2], _mt682[_yy361(_local7)].toString(), (_qm846[_arg1] + 14), (_ij815 + 5), -1, 1, new TextFormat("menu_font", 16, 0xFFFFFF, true));
}
final private function _cp1000():void{
var _local1:int;
var _local2:Boolean;
var _local3:int;
if (_td641()){
switch (_kx1070){
default:
if (_ap561 >= _xy86){
_local2 = _tm1048(_mi615);
switch (_kx1070){
case _bk838:
if (_local2){
_hg47(_mi615);
_lu743 = true;
_sd895 = 0;
_ww731 = _jt518;
_sh300 = 1;
_dt990 = _dn315;
_iq13 = 0;
_wl1137 = _ap561;
_local1 = 0;
while (_local1 < _gk1117) {
if (_ke859[_local1]){
_bm825[_local1] = ((_il256[_local1][_xt333] == _cr566)) ? _cr566 : _dt231;
_il256[_local1][_xt333] = _mc378;
} else {
_bm825[_local1] = _mc378;
};
_local1++;
};
} else {
_hg47("That's not a word!");
_is504 = _up766;
_rd521 = 0;
_pg33 = STAGE_HCENTRE;
_lx806 = _cp991;
Audio.playSound(Res.SOUND_CROSS_OUT);
};
break;
case _sk130:
if (_local2){
_local1 = 0;
while (_local1 < _he245) {
if (!_ke859[_local1]){
_local2 = false;
_local1 = _he245;
};
_local1++;
};
};
if (_local2){
if ((((((_se585 + 1) % 10) == 0)) && ((_he245 < _gk1117)))){
_he245++;
};
_xe632();
};
break;
};
if (_local2){
switch (_yd457){
case _tq654:
_df1053 = (_df1053 - 5);
_me1077 = (_df1053 + (_ap561 * 10));
_me1077 = Math.min(_me1077, _uu376);
break;
};
};
_eh95 = (_eh95 * _ap561);
if (_local2){
_eh95 = (_eh95 + (_bk842) ? _eh95 : 0);
_se585++;
var _local4 = _cx549;
var _local5 = (_mi615.length - _xy86);
var _local6 = (_local4[_local5] + 1);
_local4[_local5] = _local6;
_tb988(_ec1057);
_vq855(((("(+" + _eh95) + ") ") + _mi615), 0x606060);
if (_mi615 == _na527){
_vq855(Res.text_XML.text_bonus_word, 0x606060);
_sc781(100);
_fh845();
};
_sc781(_eh95);
if (_eh95 > _dx421){
_vw1035 = _mi615;
_dx421 = _eh95;
};
_kp379();
} else {
_sf1160++;
_local3 = (_eh95 / 10);
_sc781(-(_local3));
_vq855(((("(-" + _local3.toString()) + ") ") + _mi615), 0xAA0000);
};
if (_yd457 == _ts241){
if (--_ur851 <= 0){
_bo251();
};
};
};
break;
};
};
}
final private function _yy361(_arg1:String):int{
return ((_arg1.charCodeAt(0) - _cd251));
}
final private function _qt545():void{
var _local2:int;
Gfx.drawFrame(CANVAS, _ma1087, 55, 420);
Gfx.drawFrame(CANVAS, _ao473, (55 + _ma1087.width), 420);
Gfx.drawFrame(CANVAS, _tg146, 41, 441);
Gfx.drawFrame(CANVAS, _fb503, (41 + _tg146.width), 441);
Gfx.drawFrame(CANVAS, _uw759, 105, 337);
Gfx.drawFrame(CANVAS, _cy996, 545, 337, 0, 1, 1, (TOP | RIGHT));
switch (_yd457){
case _gg972:
Gfx.drawFrame(CANVAS, _sv206, STAGE_HCENTRE, 338, 0, 1, 1, (TOP | _em235));
Gfx.drawFrame(CANVAS, _yt275, STAGE_HCENTRE, 358, 0, 1, 1, (TOP | _em235));
break;
case _tq654:
drawBar(_me1077, _uu376, STAGE_HCENTRE, _sf963, _ja487, _ps38, 0, 0xFF0000, (TOP | _em235));
break;
};
var _local1:int;
while (_local1 < _mm350) {
if (_ac706[_local1] != null){
Gfx.drawFrame(CANVAS, _ac706[_local1], (613 - (_local1 * 8)), (455 - (_local1 * 14)), 0, 1, 1, (RIGHT | TOP));
};
_local1++;
};
if (((!(_py506)) && (!((_kx1070 == _md302))))){
if (((!(paused)) && (!(((ticks % 9) == 0))))){
_local2 = ((_ap561 == 0)) ? 0 : _fi863.width;
Gfx.drawFrame(CANVAS, _ln161, (STAGE_HCENTRE + (_local2 / 2)), _cp991, 0, 1, 1, (TOP | _em235));
};
if (_ap561 > 0){
Gfx.drawFrame(CANVAS, _fi863, STAGE_HCENTRE, _cp991, 0, 1, 1, (TOP | _em235));
Gfx.drawFrame(CANVAS, _bs345, STAGE_HCENTRE, 444, 0, 1, 1, (TOP | _em235));
};
};
}
final private function _le285(_arg1:Number):String{
var _local3:Number;
var _local2:int = Math.floor((_arg1 / 60000));
_local3 = (_arg1 - (_local2 * 60000));
var _local4:int = Math.floor((_local3 / 1000));
_local3 = (_local3 - (_local4 * 1000));
return (((((((_local2 < 10)) ? "0" : "" + _local2.toString()) + ":") + ((_local4 < 10)) ? "0" : "") + _local4.toString()));
}
final private function _hg47(_arg1:String):void{
if (speech_on){
};
}
final private function _nm406():void{
var _local1:SoundTransform;
if (_be898 != null){
_local1 = _be898.soundTransform;
_local1.volume = 0;
_be898.soundTransform = _local1;
_be898.stop();
removeChild(_be898);
_be898 = null;
};
}
final private function _fj754(_arg1:KeyboardEvent):void{
var _local2:String;
var _local3:int;
var _local4:String;
if (debug){
switch (_arg1.keyCode){
case Keyboard.NUMPAD_MULTIPLY:
_pm219 = !(_pm219);
break;
case Keyboard.CONTROL:
if (debug){
if (!_go1176){
addChild(_rm895);
} else {
removeChild(_rm895);
};
_go1176 = !(_go1176);
};
break;
};
};
switch (game_state){
case GAME_STATE_TITLE:
if (((!(debug)) && ((Preloader.host.length == 0)))){
switch (_arg1.keyCode){
case Keyboard.F3:
debug = true;
_rm895 = new Stats();
Audio.playSound(Res.SOUNDS_TYPE[8]);
break;
};
};
break;
case GAME_STATE_GAME:
switch (_arg1.charCode){
default:
_local2 = String.fromCharCode(_arg1.charCode);
_local3 = _local2.charCodeAt(0);
if (_local3 >= 97){
_local3 = (_local3 - 32);
};
if ((((_local3 >= _cd251)) && ((_local3 <= _cl622)))){
_local4 = String.fromCharCode(_local3);
_qk1014(_local4, -1);
};
break;
};
switch (_arg1.keyCode){
case Keyboard.LEFT:
if (_td641()){
switch (_kx1070){
case _bk838:
_pe865(-1);
break;
case _md302:
if (((_td641()) && ((_na1009 > 0)))){
_na1009--;
};
break;
};
};
break;
case Keyboard.RIGHT:
if (_td641()){
switch (_kx1070){
case _bk838:
_pe865(1);
break;
case _md302:
if (((_td641()) && ((_na1009 < (_br519 - 2))))){
_na1009++;
};
break;
};
};
break;
case Keyboard.SHIFT:
if (_td641()){
_vw28(Menu.OPTION_JUMBLE);
};
break;
case Keyboard.DELETE:
if (_td641()){
_kp379(true);
};
break;
case Keyboard.BACKSPACE:
if (_td641()){
_ex68();
};
break;
case Keyboard.ESCAPE:
_br853();
break;
case Keyboard.ENTER:
if (_td641()){
_cp1000();
};
break;
case Keyboard.SPACE:
if (_pm219){
tick();
} else {
if (_td641()){
_pe865(1);
};
};
break;
};
};
}
final private function _hu30():void{
}
final private function drawBackground():void{
Gfx.drawFrame(CANVAS, background);
_ci311();
Gfx.drawFrame(CANVAS, foreground);
}
final private function tick():void{
var _local1:int;
ticks++;
Audio.audioTick();
if (!paused){
_gm130();
};
if (((!((_kl682 == null))) && (_kl682.stage))){
_kl682.x = (mouseX - 12);
_kl682.y = ((mouseY - Res.BITMAP_CURSOR.height) + 20);
setChildIndex(_kl682, 0);
};
switch (game_state){
case GAME_STATE_DEV_LOGO:
if (((!((_be898 == null))) && ((_be898.currentFrame >= _be898.totalFrames)))){
_nm406();
startTransition(GAME_STATE_SPONSOR_LOGO);
};
break;
case GAME_STATE_SPONSOR_LOGO:
if (((!((_be898 == null))) && ((--_io22 < 0)))){
_nm406();
startTransition(GAME_STATE_TITLE);
};
break;
case GAME_STATE_CREDITS:
Menu.tick();
break;
case GAME_STATE_TUTORIAL:
if (_be898 != null){
if (_be898.getBounds(stage).height > 0){
_pc1125 = true;
};
if (((_pc1125) && ((_be898.getBounds(stage).height <= 0)))){
_nm406();
if (_vr837){
startTransition(GAME_STATE_GAME);
} else {
startTransition(GAME_STATE_TITLE);
};
};
};
break;
case GAME_STATE_TITLE:
if (transition_dir == 0){
if (_ir1074 < 1){
_ir1074 = (_ir1074 + 0.1);
} else {
if (Menu.in_menu){
Menu.tick();
};
};
};
break;
case GAME_STATE_GAME:
switch (_kx1070){
case _bk838:
if (_ew477(_lx778, _rn441, _tr238, _ee717)){
_og877 = ((mouseX - _lx778) / _ba16);
} else {
_og877 = -1;
};
if (transition_dir == 0){
_uy491();
};
if (_kp602 > 0){
_kp602--;
};
if (_sh300 > 0){
_sh300 = (_sh300 - 0.05);
};
if ((((_dt990 > 0)) && ((--_dt990 == 0)))){
Audio.playSound(Res.SOUNDS_TYPE[_iq13]);
if (++_iq13 < _wl1137){
_dt990 = _dn315;
};
};
if (_lu743){
if (--_ww731 <= 0){
_ww731 = _jt518;
if (++_sd895 >= _gn377){
_lu743 = false;
_rq312();
};
};
} else {
if (_eu402){
_be1064();
};
};
break;
};
if (((((!(paused)) && (!(_fe50)))) && (!(_py506)))){
switch (_yd457){
case _tq654:
if (--_me1077 <= 0){
_bo251();
};
break;
case _gg972:
_wc31 = (_wc31 - (getTimer() - _qf1002));
if (_wc31 <= 0){
_wc31 = 0;
_bo251();
};
_wv1041 = _le285(_wc31);
if (_wv1041 != _tq1125){
_tb988(_px534);
_tq1125 = _wv1041;
};
break;
};
};
_yg258();
_uv318();
_jy407();
if (Menu.in_menu){
Menu.tick();
if (_iv955 < 0.5){
_iv955 = (_iv955 + 0.05);
};
} else {
if (_iv955 > 0){
_iv955 = (_iv955 - 0.05);
};
};
break;
case GAME_STATE_SUMMARY:
Menu.tick();
if (_iv955 < 0.5){
_iv955 = (_iv955 + 0.05);
};
if (_pj751 < 1){
_pj751 = (_pj751 + 0.1);
};
break;
};
if (transition_dir != 0){
_gw834();
};
_qf1002 = getTimer();
}
final private function _uy491():void{
var _local2:int;
var _local3:int;
var _local1:Boolean;
_local2 = 0;
while (_local2 < _gn650) {
_local3 = 0;
while (_local3 < _yd1000) {
if (_ra492[_local2][_local3] < 1){
_ra492[_local2][_local3] = (_ra492[_local2][_local3] + _xy622);
_local1 = true;
};
_local3++;
};
_local2++;
};
if (((_fe50) && (!(_local1)))){
_fe50 = false;
};
}
final private function _mx202():void{
var _local1:Boolean;
var _local2:int;
while (_local2 < _ya367) {
_local1 = true;
if ((ticks % 10) <= 1){
switch (_tv786[_local2]){
case Menu.OPTION_GIVE_UP:
case Menu.OPTION_JUMBLE:
_local1 = ((!((_lo962 == 0))) && (!((_lo962 == 9))));
break;
};
};
if (_local1){
_sa382 = (_mx682(_local2)) ? new ColorTransform(1.5, 1.5, 1.5) : null;
Gfx.drawFrame(CANVAS, _nd987[_local2], _rv329[_local2], _dq940[_local2], 0, 1, 1, -1, _sa382);
};
_local2++;
};
}
final private function _kj106():void{
trace("loadData()");
try {
if (_ox830.data.exists){
music_on = _ox830.data.music_on;
sfx_on = _ox830.data.sfx_on;
bg_theme = _ox830.data.bg_option;
speech_on = _ox830.data.speech_on;
hiscore = _ox830.data.hiscore;
};
} catch(e:Error) {
trace(("error = " + e));
};
}
final private function _hi923():void{
var _local1:String;
var _local2:String;
var _local3:int;
var _local4:int;
Gfx.drawFrame(CANVAS, Res.IMAGE_TEXT_GAME_OVER, STAGE_HCENTRE, 14, 0, 1, 1, (TOP | _em235), new ColorTransform(1, 1, 1, _pj751));
_local4 = 0;
while (_local4 < 5) {
switch (_local4){
case 0:
_local1 = "Score";
_local2 = _uy218.value.toString();
break;
case 1:
_local1 = "Words spelt";
_local2 = _se585.toString();
break;
case 2:
_local1 = "Wrong words";
_local2 = _sf1160.toString();
break;
case 3:
_local1 = "Average word length";
_local2 = _xr1026.toString();
break;
case 4:
_local1 = "Best word";
_local2 = (((_vw1035 + " (") + _dx421.toString()) + ")");
break;
};
_local3 = (175 + (_local4 * 32));
Gfx.drawString(CANVAS, _local1, 120, _local3, -1, 1, Res.tf_menu_black);
Gfx.drawString(CANVAS, _local2, (STAGE_WIDTH - 120), _local3, (TOP | RIGHT), 1, Res.tf_menu_black);
_local4++;
};
}
final private function _fh845():void{
_na527 = _ty992(_bw835(4, 6));
_uw759 = Gfx.stringToImage(((getXMLString("label_bonus") + ": ") + _na527), -1, new TextFormat("menu_font", 24, 0x606060, true));
}
final private function _bw835(_arg1:Number, _arg2:Number):Number{
return ((Math.floor((Math.random() * ((1 + _arg2) - _arg1))) + _arg1));
}
final private function pause():void{
if ((((game_state == GAME_STATE_GAME)) && (!(paused)))){
paused = true;
Menu.setup(Menu.MENU_PAUSED, false);
};
}
final private function _fj943(_arg1:MouseEvent):void{
var _local2:String;
var _local3:int;
if (transition_dir == 0){
if (((Menu.in_menu) && ((Menu.mouse_over_menu_item >= 0)))){
_vw28(Menu.menu_item_id[Menu.mouse_over_menu_item]);
return;
};
switch (game_state){
case GAME_STATE_GAME:
if (_td641()){
if ((((_og877 >= 0)) && ((_og877 < _gn650)))){
if (_ke859[_og877]){
if (_mi615.length >= _xy86){
_cp1000();
};
} else {
_local2 = _ib943[_og877][(_yd1000 - 1)];
_qk1014(_local2, _og877);
};
} else {
_local3 = 0;
while (_local3 < _ya367) {
if (_mx682(_local3)){
_vw28(_tv786[_local3]);
_local3 = _ya367;
};
_local3++;
};
};
};
break;
};
};
}
final private function _wj1176(_arg1:String):Array{
var _local3:int;
var _local2:int = _arg1.length;
var _local4:Array = new Array(_local2);
_local3 = 0;
while (_local3 < _local2) {
_local4[_local3] = _arg1.substr(_local3, 1);
_local3++;
};
return (_local4);
}
final private function _rq312():void{
var _local1:int;
var _local2:int;
_eu402 = true;
_local1 = 0;
while (_local1 < _gk1117) {
if (_il256[_local1][_xt333] == _mc378){
_local2 = 0;
while (_local2 < _xt333) {
_ao1071[_local1][_local2] = 0;
_nk1091[_local1][_local2] = 0.001;
_local2++;
};
};
_local1++;
};
}
final private function _ty992(_arg1:int):String{
var _local2:int;
var _local3:String;
if (_arg1 == -1){
_arg1 = _bw835(_xy86, _gk1117);
};
do {
_local2 = (_vv1101(_fc260[(_arg1 - _xy86)]) * _arg1);
_local3 = Res.DICTIONARIES[(_arg1 - _xy86)].substr(_local2, _arg1);
} while (_ex629.indexOf(_local3) != -1);
return (_local3);
}
final private function _ei288(_arg1:String, _arg2:int, _arg3:int, _arg4:int, _arg5:Number, _arg6:Boolean, _arg7:Boolean):void{
var _local11:int;
var _local8:int = _arg1.length;
var _local9:int = (_local8 * _qr881);
var _local10:int = (_arg2 + Gfx.alignX(_arg4, _local9));
var _local12:int;
while (_local12 < _local8) {
_local11 = (_local10 + (_local12 * _qr881));
Gfx.drawString(CANVAS, _arg1.substr(_local12, 1), (_local11 + (_qr881 >> 1)), (_arg3 + (_iq1163 >> 1)), (_em235 | _bm65), _arg5, Res.tf_exchange);
_local12++;
};
}
final private function _tm1048(_arg1:String):Boolean{
if (_arg1.length < _xy86){
return (false);
};
var _local2:int;
do {
trace("finding index...");
_local2 = Res.DICTIONARIES[(_arg1.length - _xy86)].indexOf(_arg1, (_local2 + 1));
} while (((!((_local2 == -1))) && (!(((_local2 % _arg1.length) == 0)))));
trace(("_index = " + _local2));
if (_local2 == -1){
trace("word is not valid...");
return (false);
};
trace("word is valid!");
return (true);
}
final private function _qw482():void{
}
final private function _yd495():void{
trace("saveData()");
try {
_ox830.data.exists = true;
_ox830.data.music_on = music_on;
_ox830.data.sfx_on = sfx_on;
_ox830.data.bg_theme = bg_option;
_ox830.data.speech_on = speech_on;
_ox830.data.hiscore = hiscore;
_ox830.flush();
} catch(e:Error) {
Security.showSettings(SecurityPanel.LOCAL_STORAGE);
};
}
final private function _ym555(_arg1:Boolean=false, _arg2:Boolean=false, _arg3:Boolean=false):String{
var _local5:int;
var _local4:Boolean = ((!(_arg2)) && (((_arg1) || ((Math.random() < 0.4)))));
if (_arg3){
_local5 = _au67();
if ((((Math.random() < 0.05)) && ((_local5 < 3)))){
return (_ss154.substr(_vv1101(_ss154.length), 1));
};
};
return ((_local4) ? _qi409.substr(_vv1101(_qi409.length), 1) : _wp852.substr(_vv1101(_wp852.length), 1));
}
final private function _mc1124(_arg1:int):void{
if (_ai1182 != _arg1){
_aq87 = 0;
_ai1182 = _arg1;
};
}
final private function _ew477(_arg1:int, _arg2:int, _arg3:int, _arg4:int):Boolean{
if ((((((((mouseX > _arg1)) && ((mouseX < (_arg1 + _arg3))))) && ((mouseY > _arg2)))) && ((mouseY < (_arg2 + _arg4))))){
return (true);
};
return (false);
}
final private function _ps362(_arg1:String):Boolean{
return (!((_qi409.indexOf(_arg1, 0) == -1)));
}
final private function _gs11():String{
var _local3:String;
var _local4:String;
var _local1:int = _vv1101(_mo672.length);
var _local2:String = _mo672.substring(_local1, (_local1 + 1));
if (_mo672.length == 1){
_mo672 = _pa611;
} else {
_local3 = _mo672.substring(0, _local1);
_local4 = _mo672.substring((_local1 + 1), _mo672.length);
_mo672 = (_local3 + _local4);
};
return (_local2);
}
final private function _td641():Boolean{
if (((((((((((((((!(_py506)) && (!(paused)))) && (!(_fe50)))) && ((_ci725 <= 0)))) && (!((_is504 == _up766))))) && (!(_lu743)))) && (!(_eu402)))) && ((_kp602 <= 0)))){
return (true);
};
return (false);
}
final private function _qt720(_arg1:Array):Array{
var _local2:Array;
do {
_local2 = new Array();
while (_arg1.length > 0) {
_local2.push(_arg1.splice(Math.floor((Math.random() * _arg1.length)), 1));
};
} while (_arg1 == _local2);
return (_local2);
}
final private function _tf599(_arg1:BitmapData, _arg2:int, _arg3:int, _arg4:int, _arg5:int):void{
_arg3 = (_arg3 + Gfx.alignX(_arg5, _arg1.width));
_arg4 = (_arg4 + Gfx.alignY(_arg5, _arg1.height));
_nd987[_ya367] = _arg1;
_tv786[_ya367] = _arg2;
_cx548[_ya367] = _arg1.width;
_cj514[_ya367] = _arg1.height;
_rv329[_ya367] = _arg3;
_dq940[_ya367] = _arg4;
_ya367++;
}
final private function _mx682(_arg1:int):Boolean{
if ((((((((mouseX > _rv329[_arg1])) && ((mouseX < (_rv329[_arg1] + _cx548[_arg1]))))) && ((mouseY > _dq940[_arg1])))) && ((mouseY < (_dq940[_arg1] + _cj514[_arg1]))))){
return (true);
};
return (false);
}
final private function _xe632():void{
_pp868 = "";
var _local1:int;
while (_local1 < _he245) {
_pp868 = (_pp868 + _gs11());
_local1++;
};
}
final private function _nw254():void{
bg_theme = ((bg_option == -1)) ? _vv1101(_ev415) : bg_option;
switch (bg_theme){
case 0:
background = Bitmap(new Res.CLASS_IMAGE_BG_0()).bitmapData;
foreground = Bitmap(new Res.CLASS_IMAGE_FG_0()).bitmapData;
break;
case 1:
background = Bitmap(new Res.CLASS_IMAGE_BG_1()).bitmapData;
foreground = Bitmap(new Res.CLASS_IMAGE_FG_1()).bitmapData;
break;
case 2:
background = Bitmap(new Res.CLASS_IMAGE_BG_2()).bitmapData;
foreground = Bitmap(new Res.CLASS_IMAGE_FG_2()).bitmapData;
break;
};
}
final private function _ft619():void{
_fi863 = Gfx.stringToImage(_mi615, -1, Res.tf_player_word, 4);
var _local1:String = ((((("(" + _eh95) + " * ") + _ap561) + ") = ") + (_eh95 * _ap561));
_bs345 = Gfx.stringToImage(_local1, -1, Res.tf_hud);
}
final private function _yg258():void{
if (_yi429 != _uy218.value){
if (_yi429 < _uy218.value){
_yi429 = Math.min((_yi429 = (_yi429 + 3)), _uy218.value);
} else {
_yi429 = Math.max((_yi429 = (_yi429 - 3)), _uy218.value);
};
_tb988(_lq885);
};
if (_lg1089 < hiscore[_kx1070][_yd457]){
_lg1089 = Math.min((_lg1089 = (_lg1089 + 3)), hiscore[_kx1070][_yd457]);
_tb988(_md298);
};
}
final private function _mm332():void{
var _local1:int;
var _local2 = -1;
_local1 = 0;
while (_local1 < _en1161) {
if (!_wu380[_local1]){
_local2 = _local1;
};
_local1++;
};
if (_local2 != -1){
_wu380[_local2] = true;
_tp592[_local2] = 0;
_ny929[_local2] = 1;
_mb999[_local2] = 0;
_st1004[_local2] = 0;
_pw202[_local2] = _vv1101(_bx1147);
_mv206[_local2] = _vv1101(STAGE_WIDTH);
_sl44[_local2] = ((0.75 + (Math.random() * 0.3)) * ((Math.random() < 0.5)) ? -1 : 1);
_vc491[_local2] = 20;
};
}
final private function _ai180(_arg1:Event):void{
pause();
}
final private function startTransition(_arg1:int, _arg2:int=1):void{
trace((("startTransition(" + _arg1) + ")"));
if (transition_dir == 0){
if (((!((_kl682 == null))) && (_kl682.stage))){
removeChild(_kl682);
};
transition_dir = _arg2;
_ss1168 = _arg1;
_pj492 = ((_arg2 == TRANSITION_IN)) ? 0 : 1;
if (_arg2 == TRANSITION_IN){
if (Preloader.use_mochi_login){
MochiSocial.hideLoginWidget();
};
};
};
}
final private function _be1064():void{
var _local1:int;
var _local2:int;
var _local3:int;
_eu402 = false;
_local1 = 0;
while (_local1 < _gn650) {
_local2 = (_yd1000 - 1);
while (_local2 >= 0) {
if (_il256[_local1][_local2] != _mc378){
if (_nk1091[_local1][_local2] > 0){
_eu402 = true;
if (_ao1071[_local1][_local2] < 0.1){
_ao1071[_local1][_local2] = (_ao1071[_local1][_local2] + 0.01);
};
_nk1091[_local1][_local2] = (_nk1091[_local1][_local2] + _ao1071[_local1][_local2]);
if (_nk1091[_local1][_local2] >= 1){
_il256[_local1][(_local2 + 1)] = _il256[_local1][_local2];
_ib943[_local1][(_local2 + 1)] = _ib943[_local1][_local2];
_ga424[_local1][(_local2 + 1)] = _ga424[_local1][_local2];
_il256[_local1][_local2] = _mc378;
_ao1071[_local1][(_local2 + 1)] = _ao1071[_local1][_local2];
_nk1091[_local1][_local2] = 0;
_nk1091[_local1][(_local2 + 1)] = 0;
if ((((_local2 == (_yd1000 - 2))) || (((!((_il256[_local1][(_local2 + 2)] == _mc378))) && ((_ao1071[_local1][(_local2 + 2)] == 0)))))){
_ao1071[_local1][_local2] = 0;
_ao1071[_local1][(_local2 + 1)] = 0;
};
if (_local2 == 0){
_xk999(_local1, 0, true, true, 0);
} else {
if ((_local2 + 1) == _xt333){
_xk999(_local1, (_local2 + 1), false, false, 1);
};
};
};
};
};
_local2--;
};
_local1++;
};
if (!_eu402){
_ke859 = new Array(_gk1117);
_local1 = 0;
while (_local1 < _gn650) {
_local2 = 1;
while (_local2 < _yd1000) {
if (_il256[_local1][_local2] == _ms451){
_local3 = _qp441.indexOf(_ib943[_local1][_local2]);
_ib943[_local1][_local2] = _qp441.substr(((_qp441.indexOf(_ib943[_local1][_local2]) + 1) % 26), 1);
_xk999(_local1, _local2, false, (_local2 < _xt333), 1);
};
_local2++;
};
_local1++;
};
_sv55();
};
}
final private function _qk565():void{
var _local1:int;
if (_vr837){
_vr837 = false;
pause();
return;
};
_fe50 = true;
paused = false;
_py506 = false;
_mo672 = _pa611;
_nr163();
switch (_yd457){
case _gg972:
_wc31 = _fl1175;
_wv1041 = _le285(_wc31);
_tq1125 = "";
break;
case _ts241:
_ur851 = _pc1172;
break;
};
_me1077 = (_df1053 = _uu376);
_uy218.setValue(0);
_se585 = 0;
_sf1160 = 0;
_dx421 = 0;
_vw1035 = "";
_yi429 = 0;
_lg1089 = hiscore[_kx1070][_yd457];
_dt990 = 0;
_bk842 = false;
_is504 = -1;
_fh845();
_kp379(false, true);
_ac706 = new Array(_mm350);
_local1 = 0;
while (_local1 < _mm350) {
_ac706[_local1] = null;
_local1++;
};
_local1 = 0;
while (_local1 < _eq841) {
_cx549[_local1] = 0;
_local1++;
};
_ya367 = 0;
_tf599(Res.IMAGE_BUTTON_CLEAR, Menu.OPTION_CANCEL_WORD, 446, 384, (TOP | LEFT));
_tf599(Res.IMAGE_BUTTON_ENTER, Menu.OPTION_ENTER_WORD, 454, 407, (TOP | LEFT));
_tf599(Res.IMAGE_BUTTON_BACKSPACE, Menu.OPTION_BACKSPACE, 462, 430, (TOP | LEFT));
_tf599(Res.IMAGE_BUTTON_MENU, Menu.OPTION_PAUSE, 194, 376, (TOP | RIGHT));
_tf599(Res.IMAGE_BUTTON_GIVE_UP, Menu.OPTION_GIVE_UP, 186, 399, (TOP | RIGHT));
_tf599(Res.IMAGE_BUTTON_JUMBLE, Menu.OPTION_JUMBLE, 470, 453, (TOP | LEFT));
_nw254();
_tb988(-1);
}
final private function _ia685():void{
switch (_is504){
case _be105:
case _sg931:
Gfx.drawFrame(CANVAS, Res.IMAGES_PENCIL_ANIMS[_is504], (_pg33 - 20), (_lx806 - 44), _rd521, _cf134[_is504][0], _cf134[_is504][1]);
break;
case _up766:
Gfx.drawFrame(CANVAS, Res.IMAGES_PENCIL_ANIMS[_up766], 207, 351, _rd521, _cf134[_is504][0], _cf134[_is504][1]);
break;
};
}
final private function _is852(_arg1:Event):void{
}
final private function _bo251():void{
var _local1:int;
var _local2:int;
if (!_py506){
_py506 = true;
_pj751 = 0;
_local1 = 0;
_local2 = 0;
while (_local2 < _cx549.length) {
if (_cx549[_local2] > 0){
trace(((("word_count[" + _local2) + "] = ") + _cx549[_local2]));
_local1 = (_local1 + (_cx549[_local2] * (_local2 + _xy86)));
trace(("(word_count[i] * (i + SHORTEST_WORD)) = " + (_cx549[_local2] * (_local2 + _xy86))));
};
_local2++;
};
trace(("_total = " + _local1));
_xr1026 = (Math.round(((_local1 / _se585) * 100)) / 100);
if (_se585 == 0){
_xr1026 = 0;
};
if (_uy218.value >= hiscore[_kx1070][_yd457]){
hiscore[_kx1070][_yd457] = _uy218.value;
_lg1089 = hiscore[_kx1070][_yd457];
_yd495();
};
_vv411();
};
}
final private function _qg334(_arg1:Class, _arg2:Boolean=true, _arg3:Boolean=true, _arg4:int=0, _arg5:int=0):void{
trace((("playAnim(" + _arg1) + ")"));
_nm406();
_pc1125 = false;
_be898 = new (_arg1);
_be898.tabEnabled = false;
_be898.x = (STAGE_HCENTRE + _arg4);
_be898.y = (STAGE_VCENTRE + _arg5);
if (_arg2){
_be898.play();
} else {
_be898.stop();
};
if (!sfx_on){
_be898.soundTransform = new SoundTransform(0);
};
if (_arg3){
addChild(_be898);
};
}
final private function _og585():Boolean{
switch (game_state){
case GAME_STATE_DEV_LOGO:
case GAME_STATE_SUBMIT_SCORE:
case GAME_STATE_TUTORIAL:
return (false);
};
return (true);
}
final private function _kp379(_arg1:Boolean=false, _arg2:Boolean=false):void{
if (((_arg2) || ((_ap561 > 0)))){
_mi615 = "";
_ap561 = 0;
_eh95 = 0;
_ke859 = new Array(_gk1117);
if (_arg1){
Audio.playSound(Res.SOUND_DELETE_LETTER);
};
};
}
final private function _tb988(_arg1:int=-1):void{
var _local2:int;
while (_local2 < _rg926) {
if ((((_local2 == _arg1)) || ((_arg1 == -1)))){
switch (_local2){
case _px285:
_ma1087 = Gfx.stringToImage((Res.text_XML.score + ": "), -1, Res.tf_hud);
break;
case _lq885:
_ao473 = Gfx.stringToImage(_gb1008(_yi429), -1, Res.tf_hud);
break;
case _kg260:
_tg146 = Gfx.stringToImage((Res.text_XML.hiscore + ": "), -1, Res.tf_hud);
break;
case _md298:
_fb503 = Gfx.stringToImage(_gb1008(_lg1089), -1, Res.tf_hud);
break;
case _qr676:
if (_yd457 == _gg972){
_sv206 = Gfx.stringToImage(Res.text_XML.time, -1, Res.tf_hud);
};
break;
case _px534:
if (_yd457 == _gg972){
_yt275 = Gfx.stringToImage(_wv1041, -1, Res.tf_hud);
};
break;
case _ec1057:
_cy996 = Gfx.stringToImage((((getXMLString("words") + ": ") + _se585.toString()) + ((_yd457 == _ts241)) ? ("/" + _pc1172.toString()) : ""), -1, new TextFormat("menu_font", 24, 0x606060, true));
break;
};
};
_local2++;
};
}
final private function _nr163():void{
var _local1:int;
var _local2:int;
trace("initBoard()");
_eu402 = false;
_lu743 = false;
_kp602 = 30;
_local1 = 0;
while (_local1 < _gn650) {
_ib943[_local1] = new Array();
_il256[_local1] = new Array();
_ra492[_local1] = new Array();
_ao1071[_local1] = new Array();
_nk1091[_local1] = new Array();
_ga424[_local1] = new Array();
_local2 = 0;
while (_local2 < _yd1000) {
_ra492[_local1][_local2] = 1;
_ao1071[_local1][_local2] = 0;
_nk1091[_local1][_local2] = 0;
_il256[_local1][_local2] = _dt231;
_ib943[_local1][_local2] = _ym555(false, true, false);
_local2++;
};
_local1++;
};
_local2 = 0;
while (_local2 < _yd1000) {
_local1 = 0;
while (_local1 < (3 + _vv1101(3))) {
_ib943[_vv1101(_gn650)][_local2] = _ym555(true, false, false);
_local1++;
};
_local2++;
};
_local1 = 0;
while (_local1 < _gn650) {
_local2 = 0;
while (_local2 < _yd1000) {
_xk999(_local1, _local2, false, (_local2 < _xt333), -(((_xt333 - _local2) * 0.2)));
_local2++;
};
_local1++;
};
_sv55();
Audio.playSound(Res.SOUNDS_TYPE[8]);
}
final private function _nl874():void{
if (((_og585()) && (((!((mouseX == _kh551))) || (!((mouseY == _uv860))))))){
Mouse.hide();
_ku1060 = true;
_kh551 = mouseX;
_uv860 = mouseY;
_rl614 = 0;
};
}
public static function getXMLString(_arg1:String):String{
return (String(Res.text_XML[_arg1]));
}
}
}//package
Section 29
//Menu (Menu)
package {
import flash.display.*;
import flash.geom.*;
import flash.text.*;
public class Menu extends Sprite {
public static const OPTION_RESUME_GAME:int = 7;
public static const _mm350:int = 8;
public static const MENU_BAR_TITLE:int = 2;
public static const MENU_PAUSED:Array = [TITLE_PAUSED, MENU_GAP, OPTION_RESUME_GAME, OPTION_HOW_TO_PLAY, OPTION_RETRY, OPTION_OPTIONS, OPTION_MORE_GAMES, OPTION_QUIT_GAME];
public static const TITLE_CONFIRM_GIVE_UP:int = -6;
public static const MENU_GAME_OVER:Array = [OPTION_SUBMIT_SCORE, OPTION_RETRY, OPTION_MORE_GAMES, OPTION_QUIT_GAME];
public static const MENU_CHOOSE_LEADERBOARD:Array = [TITLE_CHOOSE_LEADERBOARD, MENU_GAP, OPTION_MODE_CASUAL, OPTION_MODE_ARCADE, OPTION_MODE_TIMED, OPTION_MODE_LIMITED_WORDS, OPTION_BACK_TO_MAIN_MENU];
public static const OPTION_ENTER_WORD:int = 40;
public static const OPTION_TOGGLE_FULLSCREEN:int = 12;
public static const OPTION_RETRY:int = 45;
public static const TITLE_CONFIRM_RETRY:int = -4;
public static const OPTION_MODE_ARCADE:int = 26;
public static const OPTION_BACK_TO_MAIN_MENU:int = 6;
public static const OPTION_MEGADEV:int = 4;
public static const MENU_GAME_TYPE:Array = [TITLE_SELECT_GAME_TYPE, MENU_GAP, OPTION_TYPE_COLLAPSE, OPTION_TYPE_EXCHANGE, OPTION_BACK_TO_MAIN_MENU];
public static const MAX_TEXT_BOX_LINE_WIDTH:int = 480;
public static const OPTION_LEADERBOARD:int = 2;
public static const OPTION_QUIT_GAME:int = 8;
public static const MAX_MENU_ITEMS:int = 10;
public static const TITLE_CHOOSE_LEADERBOARD:int = -9;
public static const OPTION_HOW_TO_PLAY:int = 1;
public static const MENU_MAIN:Array = [OPTION_START_GAME, OPTION_HOW_TO_PLAY, OPTION_OPTIONS, OPTION_LEADERBOARD, OPTION_CREDITS, OPTION_MORE_GAMES];
public static const OPTION_JUMBLE:int = 39;
public static const OPTION_CREDITS:int = 3;
public static const OPTION_OPTIONS:int = 14;
public static const OPTION_MODE_CASUAL:int = 25;
public static const OPTION_GIVE_UP:int = 43;
public static const OPTION_TYPE_COLLAPSE:int = 17;
public static const MAX_SPLIT_LINES:int = 20;
public static const OPTION_TOGGLE_MUSIC:int = 9;
public static const OPTION_CANCEL_WORD:int = 42;
public static const MENU_GAME_MODE:Array = [TITLE_SELECT_GAME_MODE, MENU_GAP, OPTION_MODE_CASUAL, OPTION_MODE_ARCADE, OPTION_MODE_TIMED, OPTION_MODE_LIMITED_WORDS, OPTION_BACK_TO_MAIN_MENU];
public static const OPTION_TOGGLE_SFX:int = 10;
public static const MENU_BAR_HIGHLIGHTED:int = 4;
public static const TITLE_SELECT_GAME_TYPE:int = -1;
public static const OPTION_NULL:int = -10;
public static const TITLE_PAUSED:int = -7;
public static const DIALOG_BUFFER:int = 8;
public static const MENU_CONFIRM_GIVE_UP:Array = [TITLE_CONFIRM_GIVE_UP, MENU_GAP, OPTION_GIVE_UP_YES, OPTION_GIVE_UP_NO];
public static const OPTION_SUBMIT_SCORE:int = 13;
public static const OPTION_BACKSPACE:int = 41;
public static const TITLE_CONFIRM_QUIT:int = -5;
public static const OPTION_MORE_GAMES:int = 5;
public static const MENU_SPACING:int = -15;
public static const OPTION_GIVE_UP_YES:int = 37;
public static const OPTION_TYPE_3_LETTERS:int = 20;
public static const OPTION_TYPE_EXCHANGE:int = 18;
public static const MENU_CONFIRM_RETRY:Array = [TITLE_CONFIRM_RETRY, MENU_GAP, OPTION_RETRY_YES, OPTION_RETRY_NO];
public static const OPTION_TYPE_TYPING:int = 19;
public static const OPTION_GIVE_UP_NO:int = 38;
public static const OPTION_RETRY_YES:int = 48;
public static const OPTION_QUIT_YES:int = 35;
public static const OPTION_RETRY_NO:int = 49;
public static const OPTION_GAMES_DOT_COM:int = 50;
public static const MENU_CONFIRM_QUIT:Array = [TITLE_CONFIRM_QUIT, MENU_GAP, OPTION_QUIT_YES, OPTION_QUIT_NO];
public static const TEXT_BOX_VBUFFER:int = 22;
public static const TITLE_CREDITS:int = -3;
public static const TITLE_OPTIONS:int = -8;
public static const TITLE_SELECT_GAME_MODE:int = -2;
public static const OPTION_MODE_TIMED:int = 27;
public static const OPTION_PAUSE:int = 47;
public static const MENU_BAR_NORMAL:int = 1;
public static const OPTION_LEAVE_SUMMARY:int = 44;
public static const MENU_OPTIONS:Array = [TITLE_OPTIONS, MENU_GAP, OPTION_TOGGLE_MUSIC, OPTION_TOGGLE_SFX, OPTION_CHANGE_THEME, OPTION_EXIT_OPTIONS];
public static const MENU_GAP_HEIGHT:int = 30;
public static const MENU_GAP:int = -11;
public static const OPTION_START_GAME:int = 0;
public static const MENU_BAR_HEIGHT:int = 30;
public static const TEXT_BOX_HBUFFER:int = 26;
public static const OPTION_TOGGLE_SPEECH:int = 11;
public static const OPTION_CHANGE_THEME:int = 15;
public static const OPTION_EXIT_OPTIONS:int = 16;
public static const MENU_BAR_ACHIEVEMENT:int = 8;
public static const OPTION_QUIT_NO:int = 36;
public static const OPTION_MODE_LIMITED_WORDS:int = 28;
public static const OPTION_MENU_GAME_MODE:int = 24;
public static var menu_type:Array;
public static var message_sound_delay:int = 0;
public static var text_box_char:int;
public static var message_xo:Array = new Array(_mm350);
public static var in_menu:Boolean = false;
public static var dialog_image_top:int;
public static var button_sprites:Array = new Array(4);
public static var menu_bar_top:Array = new Array(MAX_MENU_ITEMS);
public static var current_menu:Array;
public static var split_text_width:int;
public static var split_text_right:int;
public static var split_text_height:int;
public static var split_text_top:int;
public static var menu_item_id:Array = new Array(MAX_MENU_ITEMS);
public static var split_text_left:int;
public static var menu_bd:Array = new Array(MAX_MENU_ITEMS);
public static var menu_opacity:Number;
public static var mouse_over_menu_item:int = -1;
public static var achievement_icon_frame:int = 0;
public static var num_menu_items:int;
public static var menu_bar_hcentre:Array = new Array(MAX_MENU_ITEMS);
public static var message_string:Array = new Array(_mm350);
public static var split_text:Array = new Array(MAX_SPLIT_LINES);
public static var num_split_text_lines:int;
public static var text_box_string:String;
public static var display_dialog:Boolean;
public static var mouse_hold_timer:int = 0;
public static var dialog_image:BitmapData;
public static var menu_bar_height:Array = new Array(MAX_MENU_ITEMS);
public static var menu_bar_width:Array = new Array(MAX_MENU_ITEMS);
public static var message_opacity:Array = new Array(_mm350);
public static function mouseIsOverMenuItem():int{
var _local1:int;
while (_local1 < num_menu_items) {
if ((((((((Main.stage_ref.mouseX > (menu_bar_hcentre[_local1] - (menu_bar_width[_local1] >> 1)))) && ((Main.stage_ref.mouseX < (menu_bar_hcentre[_local1] + (menu_bar_width[_local1] >> 1)))))) && ((Main.stage_ref.mouseY > menu_bar_top[_local1])))) && ((Main.stage_ref.mouseY < (menu_bar_top[_local1] + menu_bar_height[_local1]))))){
return (_local1);
};
_local1++;
};
return (-1);
}
public static function setup(_arg1:Array, _arg2:Boolean=true):void{
var _local5:int;
var _local6:int;
var _local7:Boolean;
var _local8:int;
var _local9:Boolean;
display_dialog = false;
var _local3:int = Main.STAGE_VCENTRE;
if ((((Main.game_state == Main.GAME_STATE_TITLE)) || ((_arg1 == Menu.MENU_GAME_OVER)))){
_local3 = 350;
};
menu_type = _arg1;
num_menu_items = 0;
mouse_over_menu_item = -1;
in_menu = true;
num_menu_items = 0;
current_menu = _arg1;
var _local4:int;
_local8 = 0;
while (_local8 < _arg1.length) {
_local6 = _arg1[_local8];
_local7 = true;
_local9 = true;
switch (_local6){
case OPTION_SUBMIT_SCORE:
_local9 = Preloader.use_mochi_login;
break;
case OPTION_TOGGLE_FULLSCREEN:
_local9 = Main.stage_ref.hasOwnProperty("displayState");
break;
};
if (_local9){
if (_arg1[_local8] == MENU_GAP){
_local4 = (_local4 + (MENU_GAP_HEIGHT + MENU_SPACING));
} else {
addItem(getString(_local6), _local6, Main.STAGE_HCENTRE, -1, (Gfx.TOP | Gfx._em235), Res.tf_menu_black);
_local4 = (_local4 + (menu_bar_height[(num_menu_items - 1)] + ((_local8 < (_arg1.length - 1))) ? MENU_SPACING : 0));
};
};
_local8++;
};
_local5 = (_local3 - (_local4 >> 1));
var _local10:int;
_local8 = 0;
while (_local8 < _arg1.length) {
if (_arg1[_local8] != MENU_GAP){
menu_bar_top[_local10] = _local5;
_local5 = (_local5 + (menu_bar_height[_local10] + MENU_SPACING));
_local10++;
} else {
_local5 = (_local5 + (MENU_GAP_HEIGHT + MENU_SPACING));
};
_local8++;
};
menu_opacity = (_arg2) ? 0 : 1;
addItem("", OPTION_GAMES_DOT_COM, (Main.STAGE_WIDTH - 8), (Main.STAGE_HEIGHT - 3), (Gfx.BOTTOM | Gfx.RIGHT), null);
}
public static function getString(_arg1:int):String{
switch (_arg1){
case TITLE_CHOOSE_LEADERBOARD:
return (Res.text_XML.title_choose_leaderboard);
case TITLE_OPTIONS:
return (Res.text_XML.title_options);
case TITLE_CREDITS:
return (Res.text_XML.title_credits);
case TITLE_PAUSED:
return (Res.text_XML.title_paused);
case TITLE_CONFIRM_GIVE_UP:
return (Res.text_XML.title_give_up);
case TITLE_CONFIRM_QUIT:
return (Res.text_XML.title_quit);
case TITLE_CONFIRM_RETRY:
return (Res.text_XML.title_retry);
case TITLE_SELECT_GAME_TYPE:
return (Res.text_XML.select_game_type);
case TITLE_SELECT_GAME_MODE:
return (Res.text_XML.select_game_mode);
case OPTION_CREDITS:
return (Res.text_XML.credits);
case OPTION_GIVE_UP:
return (Res.text_XML.give_up);
case OPTION_HOW_TO_PLAY:
return (Res.text_XML.how_to_play);
case OPTION_LEADERBOARD:
return (Res.text_XML.leaderboard);
case OPTION_BACK_TO_MAIN_MENU:
return (Res.text_XML.back);
case OPTION_LEAVE_SUMMARY:
case OPTION_EXIT_OPTIONS:
return (Res.text_XML.back);
case OPTION_QUIT_YES:
case OPTION_GIVE_UP_YES:
case OPTION_RETRY_YES:
return (Res.text_XML.yes);
case OPTION_QUIT_NO:
case OPTION_GIVE_UP_NO:
case OPTION_RETRY_NO:
return (Res.text_XML.no);
case OPTION_TYPE_COLLAPSE:
return (Res.text_XML.normal);
case OPTION_TYPE_EXCHANGE:
return (Res.text_XML.exchange);
case OPTION_TYPE_TYPING:
return (Res.text_XML.typing);
case OPTION_MODE_CASUAL:
return (Res.text_XML.casual);
case OPTION_MODE_ARCADE:
return (Res.text_XML.arcade);
case OPTION_MODE_LIMITED_WORDS:
return (Res.text_XML.limited_words);
case OPTION_MODE_TIMED:
return (Res.text_XML.timed);
case OPTION_MORE_GAMES:
return (Res.text_XML.more_games);
case OPTION_OPTIONS:
return (Res.text_XML.options);
case OPTION_QUIT_GAME:
return (Res.text_XML.quit);
case OPTION_RESUME_GAME:
return (Res.text_XML.resume);
case OPTION_START_GAME:
return (Res.text_XML.start_game);
case OPTION_SUBMIT_SCORE:
return (Res.text_XML.submit_score);
case OPTION_RETRY:
return (Res.text_XML.retry);
case OPTION_CHANGE_THEME:
switch (Main.bg_option){
case -1:
return (((Main.getXMLString("txt_theme") + ": ") + Res.text_XML.random));
default:
return (((Main.getXMLString("txt_theme") + ": ") + Main.getXMLString(("theme_" + Main.bg_option.toString()))));
};
case OPTION_TOGGLE_MUSIC:
return ((Main.music_on) ? Res.text_XML.music_on : Res.text_XML.music_off);
case OPTION_TOGGLE_SFX:
return ((Main.sfx_on) ? Res.text_XML.sound_on : Res.text_XML.sound_off);
case OPTION_TOGGLE_SPEECH:
return ((Main.speech_on) ? Res.text_XML.speech_on : Res.text_XML.speech_off);
case OPTION_TOGGLE_FULLSCREEN:
return (((Main.stage_ref.displayState == StageDisplayState.FULL_SCREEN)) ? Res.text_XML.full_screen_on : Res.text_XML.full_screen_off);
};
return ("");
}
public static function draw():void{
var _local1:Boolean;
var _local2:int;
var _local3:ColorTransform;
if (in_menu){
_local2 = 0;
while (_local2 < num_menu_items) {
_local1 = false;
if (menu_item_id[mouse_over_menu_item] >= 0){
if (mouse_over_menu_item == _local2){
_local1 = true;
};
};
switch (menu_item_id[_local2]){
case OPTION_GAMES_DOT_COM:
case OPTION_MEGADEV:
_local3 = new ColorTransform((_local1) ? 1.3 : 1, (_local1) ? 1.3 : 1, (_local1) ? 1.3 : 1);
_local1 = false;
break;
default:
_local3 = new ColorTransform(1, 1, 1, menu_opacity);
break;
};
if (_local1){
Gfx.drawFrame(Main.CANVAS, Res.IMAGE_MENU_SELECTION_BLACK, menu_bar_hcentre[_local2], ((menu_bar_top[_local2] + menu_bar_height[_local2]) - 4), 0, 1, 1, (Gfx.BOTTOM | Gfx._em235), new ColorTransform(1, 1, 1, menu_opacity));
};
if ((((_local2 == 0)) && ((menu_item_id[_local2] < 0)))){
Gfx.drawFrame(Main.CANVAS, Res.IMAGE_TILDE, ((menu_bar_hcentre[_local2] - (menu_bar_width[_local2] >> 1)) - 6), (menu_bar_top[_local2] + (menu_bar_height[_local2] >> 1)), 0, 1, 1, (Gfx._bm65 | Gfx.RIGHT), new ColorTransform(1, 1, 1, menu_opacity));
Gfx.drawFrame(Main.CANVAS, Res.IMAGE_TILDE, (menu_bar_hcentre[_local2] + (menu_bar_width[_local2] >> 1)), (menu_bar_top[_local2] + (menu_bar_height[_local2] >> 1)), 0, 1, 1, (Gfx._bm65 | Gfx.LEFT), new ColorTransform(1, 1, 1, menu_opacity));
};
Gfx.drawFrame(Main.CANVAS, menu_bd[_local2], menu_bar_hcentre[_local2], menu_bar_top[_local2], 0, 1, 1, (Gfx.TOP | Gfx._em235), _local3);
_local2++;
};
};
}
public static function addItem(_arg1:String, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:TextFormat):void{
in_menu = true;
menu_opacity = 0;
menu_item_id[num_menu_items] = _arg2;
switch (_arg2){
case OPTION_GAMES_DOT_COM:
menu_bd[num_menu_items] = Res.IMAGE_GAMES_DOT_COM_LOGO;
break;
case OPTION_MEGADEV:
menu_bd[num_menu_items] = Res.IMAGE_MEGADEV_LOGO;
break;
default:
if (_arg1.length == 0){
_arg1 = getString(_arg2);
};
menu_bd[num_menu_items] = Gfx.stringToImage(_arg1, -1, _arg6);
break;
};
menu_bar_width[num_menu_items] = menu_bd[num_menu_items].width;
menu_bar_height[num_menu_items] = menu_bd[num_menu_items].height;
_arg3 = (_arg3 + (Gfx.alignX(_arg5, menu_bar_width[num_menu_items]) + (menu_bar_width[num_menu_items] >> 1)));
_arg4 = (_arg4 + Gfx.alignY(_arg5, menu_bar_height[num_menu_items]));
menu_bar_hcentre[num_menu_items] = _arg3;
menu_bar_top[num_menu_items] = _arg4;
num_menu_items++;
}
public static function tick():void{
var _local1:int;
if (((in_menu) && ((Main.transition_dir == 0)))){
if (menu_opacity < 1){
menu_opacity = Math.min(1, (menu_opacity = (menu_opacity + 0.1)));
} else {
_local1 = mouseIsOverMenuItem();
if (_local1 != mouse_over_menu_item){
mouse_hold_timer = 0;
if (menu_item_id[_local1] >= 0){
mouse_over_menu_item = _local1;
Audio.playSound(Res.SOUND_ROLLOVER);
} else {
mouse_over_menu_item = -1;
};
};
};
};
}
}
}//package
Section 30
//Preloader (Preloader)
package {
import flash.events.*;
import flash.display.*;
import mochi.as3.*;
import flash.utils.*;
import flash.net.*;
import flash.text.*;
public dynamic class Preloader extends MovieClip {
private const _xt44:int = 640;
private const _hu288:int;
private const _lk105:int;
private const _wm422:int = 480;
private const _yc519:Boolean = false;
private const _ti777:String = "This game is site-locked. To obtain a license please e-mail info@megadev.co.uk";
private const _lc111:String = "c775dece867d8771";
private var _um663:MovieClip;
private var _pa805:Number;// = 0
private var _ti397:Boolean;// = false
private var _nv178:Number;// = 0
private var _dd192:Boolean;// = false
private var _xa347:Boolean;// = false
public static const VERSION_MOCHIADS:int = 1;
public static const VERSION_FGL:int = 2;
public static const VERSION_GAMES_DOT_COM:int = 0;
public static const VERSION_TEST:int = 4;
public static const VERSION_MEGADEV:int = 3;
public static var show_sponsor_logo:Boolean = false;
public static var site_lock_url:Array = new Array(5);
public static var show_dev_logo:Boolean = false;
public static var version:int = 1;
public static var CLASS_BG_LOADING:Class = Preloader_CLASS_BG_LOADING;
public static var host:String;
public static var use_mochi_login:Boolean = false;
public static var IMAGE_BG_LOADING:BitmapData = Bitmap(new CLASS_BG_LOADING()).bitmapData;
public function Preloader(){
var _tf:TextFormat;
var _warning:TextField;
_hu288 = (_xt44 >> 1);
_lk105 = (_wm422 >> 1);
_um663 = new MovieClip();
super();
host = this.root.loaderInfo.url.split("/")[2];
trace(("host = " + host));
switch (version){
case VERSION_GAMES_DOT_COM:
site_lock_url[0] = "games.com";
site_lock_url[1] = "aol.com";
_xa347 = true;
show_dev_logo = false;
show_sponsor_logo = false;
use_mochi_login = false;
break;
case VERSION_MOCHIADS:
_xa347 = true;
use_mochi_login = true;
_xa347 = true;
show_dev_logo = false;
show_sponsor_logo = true;
break;
case VERSION_FGL:
site_lock_url[0] = "flashgamelicense.com";
site_lock_url[1] = "megadev.co.uk";
_xa347 = true;
use_mochi_login = true;
break;
case VERSION_MEGADEV:
site_lock_url[0] = "megadev.co.uk";
_xa347 = true;
use_mochi_login = true;
break;
case VERSION_TEST:
_xa347 = false;
use_mochi_login = true;
break;
};
var _continue = (site_lock_url[0] == undefined);
var i:int;
while (i < site_lock_url.length) {
trace(((("site_lock_url[" + i) + "] = ") + site_lock_url[i]));
if (((!((site_lock_url[i] == undefined))) && ((host.indexOf(site_lock_url[i]) == (host.length - site_lock_url[i].length))))){
trace("site is ok!");
_continue = true;
i = site_lock_url.length;
};
i = (i + 1);
};
if (_continue){
try {
if (((_xa347) || (use_mochi_login))){
MochiServices.connect(_lc111, root, _hj181);
};
if (_xa347){
MochiAd.showPreGameAd({clip:root, id:_lc111, res:"640x480", background:2245926, color:7448973, outline:7448973, no_bg:true, ad_finished:_oc394, ad_failed:_oc394, ad_skipped:_oc394});
} else {
_dd192 = true;
};
} catch(error:Error) {
};
stop();
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.focus = this;
addEventListener(Event.ENTER_FRAME, tick);
} else {
_tf = new TextFormat();
_tf.font = "Arial";
_tf.size = 16;
_tf.color = 0xFFFFFF;
_warning = new TextField();
_warning.defaultTextFormat = _tf;
_warning.text = _ti777;
_warning.width = _xt44;
_warning.wordWrap = true;
addChild(_warning);
_warning.x = 40;
_warning.y = 220;
};
}
final private function _hj181(_arg1:String):void{
trace((("mochiServicesError(" + _arg1) + ")"));
}
public function tick(_arg1:Event):void{
graphics.clear();
graphics.beginBitmapFill(IMAGE_BG_LOADING, null, false, false);
graphics.drawRect(0, 0, _xt44, _wm422);
graphics.endFill();
if (_nv178 > 0){
graphics.beginFill(0, Math.min(1, _nv178));
graphics.drawRect(0, 0, _xt44, _wm422);
graphics.endFill();
};
if (!_ti397){
if (((_dd192) && (_es529()))){
_ti397 = true;
};
} else {
if ((_nv178 = (_nv178 + 0.05)) > 2){
init();
};
};
}
final private function init():void{
var _local2:Object;
trace("init()");
removeEventListener(Event.ENTER_FRAME, tick);
CLASS_BG_LOADING = null;
IMAGE_BG_LOADING = null;
nextFrame();
var _local1:Class = Class(getDefinitionByName("Main"));
if (_local1){
_local2 = new (_local1);
addChild((_local2 as DisplayObject));
};
}
final private function _es529():Boolean{
if (((((!(_yc519)) && ((framesLoaded >= totalFrames)))) || (((((_yc519) && ((_pa805 < 1)))) && (((_pa805 = (_pa805 + 0.01)) >= 1)))))){
return (true);
};
return (false);
}
final private function _oc394():void{
trace("mochiAdsDone()");
_dd192 = true;
if (_es529()){
_ti397 = true;
};
}
}
}//package
Section 31
//Preloader_CLASS_BG_LOADING (Preloader_CLASS_BG_LOADING)
package {
import mx.core.*;
public class Preloader_CLASS_BG_LOADING extends BitmapAsset {
}
}//package
Section 32
//Res (Res)
package {
import flash.display.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.xml.*;
public class Res {
public static const IMAGE_BUTTON_GIVE_UP:BitmapData = Bitmap(new CLASS_IMAGE_BUTTON_GIVE_UP()).bitmapData;
public static const tf_blocks:TextFormat = new TextFormat("block_font", 40, 0xFFFFFF, true);
public static const CLASS_IMAGE_FG_1:Class = Res_CLASS_IMAGE_FG_1;
public static const CLASS_IMAGE_BLOCK_0_FADE:Class = Res_CLASS_IMAGE_BLOCK_0_FADE;
public static const IMAGE_BUTTON_BACKSPACE:BitmapData = Bitmap(new CLASS_IMAGE_BUTTON_BACKSPACE()).bitmapData;
public static const PLAYER_WORD_FONT_SIZE:int = 48;
public static const CLASS_IMAGE_BUTTON_MENU:Class = Res_CLASS_IMAGE_BUTTON_MENU;
public static const CLASS_SWF_TUTORIAL:Class = Res_CLASS_SWF_TUTORIAL;
public static const SOUND_ROLLOVER:Sound = new CLASS_SOUND_ROLLOVER();
public static const CLASS_IMAGE_BUTTON_ENTER:Class = Res_CLASS_IMAGE_BUTTON_ENTER;
public static const CLASS_IMAGE_MENU_SELECTION_BLACK:Class = Res_CLASS_IMAGE_MENU_SELECTION_BLACK;
public static const IMAGES_PEOPLE:Array = [Bitmap(new CLASS_IMAGE_PERSON_1A()).bitmapData, Bitmap(new CLASS_IMAGE_PERSON_1B()).bitmapData, Bitmap(new CLASS_IMAGE_PERSON_1C()).bitmapData, Bitmap(new CLASS_IMAGE_PERSON_1D()).bitmapData, Bitmap(new CLASS_IMAGE_PERSON_1E()).bitmapData, Bitmap(new CLASS_IMAGE_PERSON_2A()).bitmapData, Bitmap(new CLASS_IMAGE_PERSON_2B()).bitmapData, Bitmap(new CLASS_IMAGE_PERSON_2C()).bitmapData, Bitmap(new CLASS_IMAGE_PERSON_2D()).bitmapData, Bitmap(new CLASS_IMAGE_PERSON_2E()).bitmapData, Bitmap(new CLASS_IMAGE_PERSON_3A()).bitmapData, Bitmap(new CLASS_IMAGE_PERSON_3B()).bitmapData, Bitmap(new CLASS_IMAGE_PERSON_3C()).bitmapData, Bitmap(new CLASS_IMAGE_PERSON_3D()).bitmapData, Bitmap(new CLASS_IMAGE_PERSON_3E()).bitmapData];
public static const CLASS_XML_TEXT_EN:Class = Res_CLASS_XML_TEXT_EN;
public static const SOUND_SELECT:Sound = new CLASS_SOUND_SELECT();
public static const CLASS_IMAGE_BLOCK_VANISH_BONUS:Class = Res_CLASS_IMAGE_BLOCK_VANISH_BONUS;
public static const CLASS_SOUND_CROSS_OUT:Class = Res_CLASS_SOUND_CROSS_OUT;
public static const CLASS_IMAGE_CURSOR:Class = Res_CLASS_IMAGE_CURSOR;
public static const SUMMARY_TEXT_SIZE:int = 20;
public static const BITMAP_CURSOR:Bitmap = Bitmap(new CLASS_IMAGE_CURSOR());
public static const CLASS_IMAGE_PERSON_1B:Class = Res_CLASS_IMAGE_PERSON_1B;
public static const CLASS_IMAGE_PERSON_1C:Class = Res_CLASS_IMAGE_PERSON_1C;
public static const CLASS_IMAGE_PERSON_1D:Class = Res_CLASS_IMAGE_PERSON_1D;
public static const notepad_font:String = "Res_notepad_font";
public static const CLASS_IMAGE_PERSON_1A:Class = Res_CLASS_IMAGE_PERSON_1A;
public static const CLASS_SWF_DEV_LOGO:Class = Res_CLASS_SWF_DEV_LOGO;
public static const CLASS_IMAGE_TEXT_GAME_OVER:Class = Res_CLASS_IMAGE_TEXT_GAME_OVER;
public static const IMAGE_GAMES_DOT_COM_LOGO:BitmapData = Bitmap(new CLASS_IMAGE_GAMES_DOT_COM_LOGO()).bitmapData;
public static const CLASS_IMAGE_BG_1:Class = Res_CLASS_IMAGE_BG_1;
public static const CLASS_IMAGE_BG_2:Class = Res_CLASS_IMAGE_BG_2;
public static const CLASS_IMAGE_BUTTON_GIVE_UP:Class = Res_CLASS_IMAGE_BUTTON_GIVE_UP;
public static const CLASS_IMAGE_BG_0:Class = Res_CLASS_IMAGE_BG_0;
public static const HUD_FONT_SIZE:int = 32;
public static const CLASS_SOUND_DELETE_LETTER:Class = Res_CLASS_SOUND_DELETE_LETTER;
public static const CLASS_IMAGE_BLOCK_4_FADE:Class = Res_CLASS_IMAGE_BLOCK_4_FADE;
public static const CLASS_IMAGE_PERSON_2A:Class = Res_CLASS_IMAGE_PERSON_2A;
public static const CLASS_IMAGE_PERSON_2B:Class = Res_CLASS_IMAGE_PERSON_2B;
public static const CLASS_IMAGE_PERSON_2D:Class = Res_CLASS_IMAGE_PERSON_2D;
public static const CLASS_IMAGE_PERSON_2E:Class = Res_CLASS_IMAGE_PERSON_2E;
public static const CLASS_IMAGE_PERSON_1E:Class = Res_CLASS_IMAGE_PERSON_1E;
public static const tf_notepad:TextFormat = new TextFormat("menu_font", 28, 0x606060, true);
public static const CLASS_MUSIC_THEME:Class = Res_CLASS_MUSIC_THEME;
public static const BOARD_LETTER_SIZE:int = 40;
public static const CLASS_IMAGE_BLOCK_1_FADE:Class = Res_CLASS_IMAGE_BLOCK_1_FADE;
public static const CLASS_IMAGE_PERSON_2C:Class = Res_CLASS_IMAGE_PERSON_2C;
public static const IMAGE_MEGADEV_LOGO:BitmapData = Bitmap(new CLASS_IMAGE_MEGADEV_LOGO()).bitmapData;
public static const CLASS_IMAGE_PERSON_3A:Class = Res_CLASS_IMAGE_PERSON_3A;
public static const CLASS_IMAGE_PERSON_3B:Class = Res_CLASS_IMAGE_PERSON_3B;
public static const CLASS_IMAGE_PERSON_3C:Class = Res_CLASS_IMAGE_PERSON_3C;
public static const CLASS_IMAGE_PERSON_3E:Class = Res_CLASS_IMAGE_PERSON_3E;
public static const CLASS_DICT_4:Class = Res_CLASS_DICT_4;
public static const CLASS_DICT_5:Class = Res_CLASS_DICT_5;
public static const CLASS_DICT_6:Class = Res_CLASS_DICT_6;
public static const CLASS_DICT_7:Class = Res_CLASS_DICT_7;
public static const CLASS_DICT_3:Class = Res_CLASS_DICT_3;
public static const CLASS_DICT_8:Class = Res_CLASS_DICT_8;
public static const CLASS_DICT_9:Class = Res_CLASS_DICT_9;
public static const CLASS_IMAGE_PERSON_3D:Class = Res_CLASS_IMAGE_PERSON_3D;
public static const CLASS_SWF_GAMES_DOT_COM_LOGO:Class = Res_CLASS_SWF_GAMES_DOT_COM_LOGO;
public static const CLASS_IMAGE_ERASE_LETTER:Class = Res_CLASS_IMAGE_ERASE_LETTER;
public static const CLASS_IMAGE_TILDE:Class = Res_CLASS_IMAGE_TILDE;
public static const block_font:String = "Res_block_font";
public static const IMAGE_CURSOR:BitmapData = BITMAP_CURSOR.bitmapData;
public static const CLASS_IMAGE_BUTTON_BACKSPACE:Class = Res_CLASS_IMAGE_BUTTON_BACKSPACE;
public static const CLASS_IMAGE_GAME_LOGO:Class = Res_CLASS_IMAGE_GAME_LOGO;
public static const IMAGE_MENU_SELECTION_BLACK:BitmapData = Bitmap(new CLASS_IMAGE_MENU_SELECTION_BLACK()).bitmapData;
public static const CLASS_IMAGE_MEGADEV_LOGO:Class = Res_CLASS_IMAGE_MEGADEV_LOGO;
public static const tf_menu_black:TextFormat = new TextFormat("menu_font", 40, 0, true);
public static const IMAGE_BLOCK_VANISH:BitmapData = Bitmap(new CLASS_IMAGE_BLOCK_VANISH()).bitmapData;
public static const IMAGES_PENCIL_ANIMS:Array = [Bitmap(new CLASS_IMAGE_WRITE_LETTER()).bitmapData, Bitmap(new CLASS_IMAGE_ERASE_LETTER()).bitmapData, Bitmap(new CLASS_IMAGE_CROSS_WORD_OUT()).bitmapData];
public static const IMAGES_BLOCKS:Array = [Bitmap(new CLASS_IMAGE_BLOCK_0()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_1()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_2()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_3()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_4()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_0B()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_1B()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_2B()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_3B()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_4B()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_0R()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_1R()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_2R()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_3R()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_4R()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_0()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_1()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_2()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_3()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_4()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_0B()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_1B()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_2B()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_3B()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_4B()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_0R()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_1R()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_2R()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_3R()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_4R()).bitmapData];
public static const menu_font:String = "Res_menu_font";
public static const CLASS_IMAGE_BLOCK_0:Class = Res_CLASS_IMAGE_BLOCK_0;
public static const CLASS_IMAGE_BLOCK_1:Class = Res_CLASS_IMAGE_BLOCK_1;
public static const CLASS_IMAGE_BLOCK_2:Class = Res_CLASS_IMAGE_BLOCK_2;
public static const CLASS_IMAGE_BLOCK_3:Class = Res_CLASS_IMAGE_BLOCK_3;
public static const CLASS_IMAGE_BLOCK_4:Class = Res_CLASS_IMAGE_BLOCK_4;
public static const IMAGE_TILDE:BitmapData = Bitmap(new CLASS_IMAGE_TILDE()).bitmapData;
public static const tf_menu_white:TextFormat = new TextFormat("menu_font", 40, 0xFFFFFF, true);
public static const SOUND_CROSS_OUT:Sound = new CLASS_SOUND_CROSS_OUT();
public static const IMAGE_BUTTON_JUMBLE:BitmapData = Bitmap(new CLASS_IMAGE_BUTTON_JUMBLE()).bitmapData;
public static const CLASS_SOUND_TYPE_1:Class = Res_CLASS_SOUND_TYPE_1;
public static const CLASS_SOUND_TYPE_2:Class = Res_CLASS_SOUND_TYPE_2;
public static const CLASS_SOUND_TYPE_3:Class = Res_CLASS_SOUND_TYPE_3;
public static const CLASS_IMAGE_BLOCK_2_FADE:Class = Res_CLASS_IMAGE_BLOCK_2_FADE;
public static const CLASS_SOUND_TYPE_5:Class = Res_CLASS_SOUND_TYPE_5;
public static const IMAGE_BUTTON_MENU:BitmapData = Bitmap(new CLASS_IMAGE_BUTTON_MENU()).bitmapData;
public static const CLASS_SOUND_TYPE_7:Class = Res_CLASS_SOUND_TYPE_7;
public static const CLASS_SOUND_TYPE_8:Class = Res_CLASS_SOUND_TYPE_8;
public static const CLASS_SOUND_TYPE_4:Class = Res_CLASS_SOUND_TYPE_4;
public static const CLASS_SOUND_TYPE_6:Class = Res_CLASS_SOUND_TYPE_6;
public static const tf_exchange:TextFormat = new TextFormat("block_font", 40, 0, true);
public static const IMAGE_BLOCK_VANISH_BONUS:BitmapData = Bitmap(new CLASS_IMAGE_BLOCK_VANISH_BONUS()).bitmapData;
public static const SOUNDS_TYPE:Array = [new CLASS_SOUND_TYPE_0(), new CLASS_SOUND_TYPE_1(), new CLASS_SOUND_TYPE_2(), new CLASS_SOUND_TYPE_3(), new CLASS_SOUND_TYPE_4(), new CLASS_SOUND_TYPE_5(), new CLASS_SOUND_TYPE_6(), new CLASS_SOUND_TYPE_7(), new CLASS_SOUND_TYPE_8()];
public static const CLASS_IMAGE_BLOCK_VANISH:Class = Res_CLASS_IMAGE_BLOCK_VANISH;
public static const SOUNDS_SCRIBBLE:Array = [new CLASS_SOUND_SCRIBBLE_0(), new CLASS_SOUND_SCRIBBLE_1(), new CLASS_SOUND_SCRIBBLE_2(), new CLASS_SOUND_SCRIBBLE_3(), new CLASS_SOUND_SCRIBBLE_4()];
public static const IMAGE_BUTTON_CLEAR:BitmapData = Bitmap(new CLASS_IMAGE_BUTTON_CLEAR()).bitmapData;
public static const CLASS_IMAGE_BLOCK_0B:Class = Res_CLASS_IMAGE_BLOCK_0B;
public static const CLASS_IMAGE_WRITE_LETTER:Class = Res_CLASS_IMAGE_WRITE_LETTER;
public static const tf_player_word:TextFormat = new TextFormat("menu_font", 48, 0x606060, true);
public static const CLASS_SOUND_TYPE_0:Class = Res_CLASS_SOUND_TYPE_0;
public static const CLASS_IMAGE_BLOCK_0R:Class = Res_CLASS_IMAGE_BLOCK_0R;
public static const CLASS_IMAGE_GAMES_DOT_COM_LOGO:Class = Res_CLASS_IMAGE_GAMES_DOT_COM_LOGO;
public static const MESSAGE_TEXT_SIZE:int = 15;
public static const CLASS_IMAGE_BLOCK_1B:Class = Res_CLASS_IMAGE_BLOCK_1B;
public static const CLASS_IMAGE_BLOCK_1R:Class = Res_CLASS_IMAGE_BLOCK_1R;
public static const tf_hud:TextFormat = new TextFormat("menu_font", 30, 0x606060, true);
public static const CLASS_IMAGE_BUTTON_CLEAR:Class = Res_CLASS_IMAGE_BUTTON_CLEAR;
public static const CLASS_IMAGE_BLOCK_2B:Class = Res_CLASS_IMAGE_BLOCK_2B;
public static const DICTIONARIES:Array = [new CLASS_DICT_3().toString(), new CLASS_DICT_4().toString(), new CLASS_DICT_5().toString(), new CLASS_DICT_6().toString(), new CLASS_DICT_7().toString(), new CLASS_DICT_8().toString(), new CLASS_DICT_9().toString()];
public static const CLASS_IMAGE_BLOCK_2R:Class = Res_CLASS_IMAGE_BLOCK_2R;
public static const IMAGES_BLOCK_FADES:Array = [Bitmap(new CLASS_IMAGE_BLOCK_0_FADE()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_1_FADE()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_2_FADE()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_3_FADE()).bitmapData, Bitmap(new CLASS_IMAGE_BLOCK_4_FADE()).bitmapData];
public static const CLASS_IMAGE_CROSS_WORD_OUT:Class = Res_CLASS_IMAGE_CROSS_WORD_OUT;
public static const CLASS_SOUND_SCRIBBLE_0:Class = Res_CLASS_SOUND_SCRIBBLE_0;
public static const CLASS_SOUND_SCRIBBLE_1:Class = Res_CLASS_SOUND_SCRIBBLE_1;
public static const CLASS_SOUND_SCRIBBLE_3:Class = Res_CLASS_SOUND_SCRIBBLE_3;
public static const CLASS_IMAGE_BLOCK_3B:Class = Res_CLASS_IMAGE_BLOCK_3B;
public static const CLASS_SOUND_SELECT:Class = Res_CLASS_SOUND_SELECT;
public static const IMAGE_GAME_LOGO:BitmapData = Bitmap(new CLASS_IMAGE_GAME_LOGO()).bitmapData;
public static const CLASS_SOUND_SCRIBBLE_2:Class = Res_CLASS_SOUND_SCRIBBLE_2;
public static const CLASS_IMAGE_BUTTON_JUMBLE:Class = Res_CLASS_IMAGE_BUTTON_JUMBLE;
public static const CLASS_IMAGE_BLOCK_3R:Class = Res_CLASS_IMAGE_BLOCK_3R;
public static const CLASS_SOUND_ROLLOVER:Class = Res_CLASS_SOUND_ROLLOVER;
public static const SOUND_DELETE_LETTER:Sound = new CLASS_SOUND_DELETE_LETTER();
public static const CLASS_IMAGE_BLOCK_4B:Class = Res_CLASS_IMAGE_BLOCK_4B;
public static const CLASS_IMAGE_BLOCK_3_FADE:Class = Res_CLASS_IMAGE_BLOCK_3_FADE;
public static const CLASS_SOUND_SCRIBBLE_4:Class = Res_CLASS_SOUND_SCRIBBLE_4;
public static const IMAGE_BUTTON_ENTER:BitmapData = Bitmap(new CLASS_IMAGE_BUTTON_ENTER()).bitmapData;
public static const IMAGE_TEXT_GAME_OVER:BitmapData = Bitmap(new CLASS_IMAGE_TEXT_GAME_OVER()).bitmapData;
public static const LETTER_VALUE_SIZE:int = 10;
public static const CLASS_IMAGE_BLOCK_4R:Class = Res_CLASS_IMAGE_BLOCK_4R;
public static const CLASS_IMAGE_FG_0:Class = Res_CLASS_IMAGE_FG_0;
public static const CLASS_IMAGE_FG_2:Class = Res_CLASS_IMAGE_FG_2;
public static var text_XML:XML;
public static function loadText():void{
var _local1:ByteArray = new CLASS_XML_TEXT_EN();
var _local2:String = _local1.readUTFBytes(_local1.length);
text_XML = new XML(_local2);
}
}
}//package
Section 33
//Res_block_font (Res_block_font)
package {
import mx.core.*;
public class Res_block_font extends FontAsset {
}
}//package
Section 34
//Res_CLASS_DICT_3 (Res_CLASS_DICT_3)
package {
import mx.core.*;
public class Res_CLASS_DICT_3 extends ByteArrayAsset {
}
}//package
Section 35
//Res_CLASS_DICT_4 (Res_CLASS_DICT_4)
package {
import mx.core.*;
public class Res_CLASS_DICT_4 extends ByteArrayAsset {
}
}//package
Section 36
//Res_CLASS_DICT_5 (Res_CLASS_DICT_5)
package {
import mx.core.*;
public class Res_CLASS_DICT_5 extends ByteArrayAsset {
}
}//package
Section 37
//Res_CLASS_DICT_6 (Res_CLASS_DICT_6)
package {
import mx.core.*;
public class Res_CLASS_DICT_6 extends ByteArrayAsset {
}
}//package
Section 38
//Res_CLASS_DICT_7 (Res_CLASS_DICT_7)
package {
import mx.core.*;
public class Res_CLASS_DICT_7 extends ByteArrayAsset {
}
}//package
Section 39
//Res_CLASS_DICT_8 (Res_CLASS_DICT_8)
package {
import mx.core.*;
public class Res_CLASS_DICT_8 extends ByteArrayAsset {
}
}//package
Section 40
//Res_CLASS_DICT_9 (Res_CLASS_DICT_9)
package {
import mx.core.*;
public class Res_CLASS_DICT_9 extends ByteArrayAsset {
}
}//package
Section 41
//Res_CLASS_IMAGE_BG_0 (Res_CLASS_IMAGE_BG_0)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BG_0 extends BitmapAsset {
}
}//package
Section 42
//Res_CLASS_IMAGE_BG_1 (Res_CLASS_IMAGE_BG_1)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BG_1 extends BitmapAsset {
}
}//package
Section 43
//Res_CLASS_IMAGE_BG_2 (Res_CLASS_IMAGE_BG_2)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BG_2 extends BitmapAsset {
}
}//package
Section 44
//Res_CLASS_IMAGE_BLOCK_0 (Res_CLASS_IMAGE_BLOCK_0)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BLOCK_0 extends BitmapAsset {
}
}//package
Section 45
//Res_CLASS_IMAGE_BLOCK_0_FADE (Res_CLASS_IMAGE_BLOCK_0_FADE)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BLOCK_0_FADE extends BitmapAsset {
}
}//package
Section 46
//Res_CLASS_IMAGE_BLOCK_0B (Res_CLASS_IMAGE_BLOCK_0B)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BLOCK_0B extends BitmapAsset {
}
}//package
Section 47
//Res_CLASS_IMAGE_BLOCK_0R (Res_CLASS_IMAGE_BLOCK_0R)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BLOCK_0R extends BitmapAsset {
}
}//package
Section 48
//Res_CLASS_IMAGE_BLOCK_1 (Res_CLASS_IMAGE_BLOCK_1)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BLOCK_1 extends BitmapAsset {
}
}//package
Section 49
//Res_CLASS_IMAGE_BLOCK_1_FADE (Res_CLASS_IMAGE_BLOCK_1_FADE)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BLOCK_1_FADE extends BitmapAsset {
}
}//package
Section 50
//Res_CLASS_IMAGE_BLOCK_1B (Res_CLASS_IMAGE_BLOCK_1B)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BLOCK_1B extends BitmapAsset {
}
}//package
Section 51
//Res_CLASS_IMAGE_BLOCK_1R (Res_CLASS_IMAGE_BLOCK_1R)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BLOCK_1R extends BitmapAsset {
}
}//package
Section 52
//Res_CLASS_IMAGE_BLOCK_2 (Res_CLASS_IMAGE_BLOCK_2)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BLOCK_2 extends BitmapAsset {
}
}//package
Section 53
//Res_CLASS_IMAGE_BLOCK_2_FADE (Res_CLASS_IMAGE_BLOCK_2_FADE)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BLOCK_2_FADE extends BitmapAsset {
}
}//package
Section 54
//Res_CLASS_IMAGE_BLOCK_2B (Res_CLASS_IMAGE_BLOCK_2B)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BLOCK_2B extends BitmapAsset {
}
}//package
Section 55
//Res_CLASS_IMAGE_BLOCK_2R (Res_CLASS_IMAGE_BLOCK_2R)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BLOCK_2R extends BitmapAsset {
}
}//package
Section 56
//Res_CLASS_IMAGE_BLOCK_3 (Res_CLASS_IMAGE_BLOCK_3)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BLOCK_3 extends BitmapAsset {
}
}//package
Section 57
//Res_CLASS_IMAGE_BLOCK_3_FADE (Res_CLASS_IMAGE_BLOCK_3_FADE)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BLOCK_3_FADE extends BitmapAsset {
}
}//package
Section 58
//Res_CLASS_IMAGE_BLOCK_3B (Res_CLASS_IMAGE_BLOCK_3B)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BLOCK_3B extends BitmapAsset {
}
}//package
Section 59
//Res_CLASS_IMAGE_BLOCK_3R (Res_CLASS_IMAGE_BLOCK_3R)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BLOCK_3R extends BitmapAsset {
}
}//package
Section 60
//Res_CLASS_IMAGE_BLOCK_4 (Res_CLASS_IMAGE_BLOCK_4)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BLOCK_4 extends BitmapAsset {
}
}//package
Section 61
//Res_CLASS_IMAGE_BLOCK_4_FADE (Res_CLASS_IMAGE_BLOCK_4_FADE)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BLOCK_4_FADE extends BitmapAsset {
}
}//package
Section 62
//Res_CLASS_IMAGE_BLOCK_4B (Res_CLASS_IMAGE_BLOCK_4B)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BLOCK_4B extends BitmapAsset {
}
}//package
Section 63
//Res_CLASS_IMAGE_BLOCK_4R (Res_CLASS_IMAGE_BLOCK_4R)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BLOCK_4R extends BitmapAsset {
}
}//package
Section 64
//Res_CLASS_IMAGE_BLOCK_VANISH (Res_CLASS_IMAGE_BLOCK_VANISH)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BLOCK_VANISH extends BitmapAsset {
}
}//package
Section 65
//Res_CLASS_IMAGE_BLOCK_VANISH_BONUS (Res_CLASS_IMAGE_BLOCK_VANISH_BONUS)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BLOCK_VANISH_BONUS extends BitmapAsset {
}
}//package
Section 66
//Res_CLASS_IMAGE_BUTTON_BACKSPACE (Res_CLASS_IMAGE_BUTTON_BACKSPACE)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BUTTON_BACKSPACE extends BitmapAsset {
}
}//package
Section 67
//Res_CLASS_IMAGE_BUTTON_CLEAR (Res_CLASS_IMAGE_BUTTON_CLEAR)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BUTTON_CLEAR extends BitmapAsset {
}
}//package
Section 68
//Res_CLASS_IMAGE_BUTTON_ENTER (Res_CLASS_IMAGE_BUTTON_ENTER)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BUTTON_ENTER extends BitmapAsset {
}
}//package
Section 69
//Res_CLASS_IMAGE_BUTTON_GIVE_UP (Res_CLASS_IMAGE_BUTTON_GIVE_UP)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BUTTON_GIVE_UP extends BitmapAsset {
}
}//package
Section 70
//Res_CLASS_IMAGE_BUTTON_JUMBLE (Res_CLASS_IMAGE_BUTTON_JUMBLE)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BUTTON_JUMBLE extends BitmapAsset {
}
}//package
Section 71
//Res_CLASS_IMAGE_BUTTON_MENU (Res_CLASS_IMAGE_BUTTON_MENU)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_BUTTON_MENU extends BitmapAsset {
}
}//package
Section 72
//Res_CLASS_IMAGE_CROSS_WORD_OUT (Res_CLASS_IMAGE_CROSS_WORD_OUT)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_CROSS_WORD_OUT extends BitmapAsset {
}
}//package
Section 73
//Res_CLASS_IMAGE_CURSOR (Res_CLASS_IMAGE_CURSOR)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_CURSOR extends BitmapAsset {
}
}//package
Section 74
//Res_CLASS_IMAGE_ERASE_LETTER (Res_CLASS_IMAGE_ERASE_LETTER)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_ERASE_LETTER extends BitmapAsset {
}
}//package
Section 75
//Res_CLASS_IMAGE_FG_0 (Res_CLASS_IMAGE_FG_0)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_FG_0 extends BitmapAsset {
}
}//package
Section 76
//Res_CLASS_IMAGE_FG_1 (Res_CLASS_IMAGE_FG_1)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_FG_1 extends BitmapAsset {
}
}//package
Section 77
//Res_CLASS_IMAGE_FG_2 (Res_CLASS_IMAGE_FG_2)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_FG_2 extends BitmapAsset {
}
}//package
Section 78
//Res_CLASS_IMAGE_GAME_LOGO (Res_CLASS_IMAGE_GAME_LOGO)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_GAME_LOGO extends BitmapAsset {
}
}//package
Section 79
//Res_CLASS_IMAGE_GAMES_DOT_COM_LOGO (Res_CLASS_IMAGE_GAMES_DOT_COM_LOGO)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_GAMES_DOT_COM_LOGO extends BitmapAsset {
}
}//package
Section 80
//Res_CLASS_IMAGE_MEGADEV_LOGO (Res_CLASS_IMAGE_MEGADEV_LOGO)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_MEGADEV_LOGO extends BitmapAsset {
}
}//package
Section 81
//Res_CLASS_IMAGE_MENU_SELECTION_BLACK (Res_CLASS_IMAGE_MENU_SELECTION_BLACK)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_MENU_SELECTION_BLACK extends BitmapAsset {
}
}//package
Section 82
//Res_CLASS_IMAGE_PERSON_1A (Res_CLASS_IMAGE_PERSON_1A)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_PERSON_1A extends BitmapAsset {
}
}//package
Section 83
//Res_CLASS_IMAGE_PERSON_1B (Res_CLASS_IMAGE_PERSON_1B)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_PERSON_1B extends BitmapAsset {
}
}//package
Section 84
//Res_CLASS_IMAGE_PERSON_1C (Res_CLASS_IMAGE_PERSON_1C)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_PERSON_1C extends BitmapAsset {
}
}//package
Section 85
//Res_CLASS_IMAGE_PERSON_1D (Res_CLASS_IMAGE_PERSON_1D)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_PERSON_1D extends BitmapAsset {
}
}//package
Section 86
//Res_CLASS_IMAGE_PERSON_1E (Res_CLASS_IMAGE_PERSON_1E)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_PERSON_1E extends BitmapAsset {
}
}//package
Section 87
//Res_CLASS_IMAGE_PERSON_2A (Res_CLASS_IMAGE_PERSON_2A)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_PERSON_2A extends BitmapAsset {
}
}//package
Section 88
//Res_CLASS_IMAGE_PERSON_2B (Res_CLASS_IMAGE_PERSON_2B)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_PERSON_2B extends BitmapAsset {
}
}//package
Section 89
//Res_CLASS_IMAGE_PERSON_2C (Res_CLASS_IMAGE_PERSON_2C)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_PERSON_2C extends BitmapAsset {
}
}//package
Section 90
//Res_CLASS_IMAGE_PERSON_2D (Res_CLASS_IMAGE_PERSON_2D)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_PERSON_2D extends BitmapAsset {
}
}//package
Section 91
//Res_CLASS_IMAGE_PERSON_2E (Res_CLASS_IMAGE_PERSON_2E)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_PERSON_2E extends BitmapAsset {
}
}//package
Section 92
//Res_CLASS_IMAGE_PERSON_3A (Res_CLASS_IMAGE_PERSON_3A)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_PERSON_3A extends BitmapAsset {
}
}//package
Section 93
//Res_CLASS_IMAGE_PERSON_3B (Res_CLASS_IMAGE_PERSON_3B)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_PERSON_3B extends BitmapAsset {
}
}//package
Section 94
//Res_CLASS_IMAGE_PERSON_3C (Res_CLASS_IMAGE_PERSON_3C)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_PERSON_3C extends BitmapAsset {
}
}//package
Section 95
//Res_CLASS_IMAGE_PERSON_3D (Res_CLASS_IMAGE_PERSON_3D)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_PERSON_3D extends BitmapAsset {
}
}//package
Section 96
//Res_CLASS_IMAGE_PERSON_3E (Res_CLASS_IMAGE_PERSON_3E)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_PERSON_3E extends BitmapAsset {
}
}//package
Section 97
//Res_CLASS_IMAGE_TEXT_GAME_OVER (Res_CLASS_IMAGE_TEXT_GAME_OVER)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_TEXT_GAME_OVER extends BitmapAsset {
}
}//package
Section 98
//Res_CLASS_IMAGE_TILDE (Res_CLASS_IMAGE_TILDE)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_TILDE extends BitmapAsset {
}
}//package
Section 99
//Res_CLASS_IMAGE_WRITE_LETTER (Res_CLASS_IMAGE_WRITE_LETTER)
package {
import mx.core.*;
public class Res_CLASS_IMAGE_WRITE_LETTER extends BitmapAsset {
}
}//package
Section 100
//Res_CLASS_MUSIC_THEME (Res_CLASS_MUSIC_THEME)
package {
import mx.core.*;
import flash.utils.*;
public class Res_CLASS_MUSIC_THEME extends MovieClipLoaderAsset {
public var _ti66:Class;
private static var bytes:ByteArray = null;
public function Res_CLASS_MUSIC_THEME(){
_ti66 = Res_CLASS_MUSIC_THEME_dataClass;
super();
initialWidth = (11000 / 20);
initialHeight = (8000 / 20);
}
override public function get movieClipData():ByteArray{
if (bytes == null){
bytes = ByteArray(new _ti66());
};
return (bytes);
}
}
}//package
Section 101
//Res_CLASS_MUSIC_THEME_dataClass (Res_CLASS_MUSIC_THEME_dataClass)
package {
import mx.core.*;
public class Res_CLASS_MUSIC_THEME_dataClass extends ByteArrayAsset {
}
}//package
Section 102
//Res_CLASS_SOUND_CROSS_OUT (Res_CLASS_SOUND_CROSS_OUT)
package {
import mx.core.*;
public class Res_CLASS_SOUND_CROSS_OUT extends SoundAsset {
}
}//package
Section 103
//Res_CLASS_SOUND_DELETE_LETTER (Res_CLASS_SOUND_DELETE_LETTER)
package {
import mx.core.*;
public class Res_CLASS_SOUND_DELETE_LETTER extends SoundAsset {
}
}//package
Section 104
//Res_CLASS_SOUND_ROLLOVER (Res_CLASS_SOUND_ROLLOVER)
package {
import mx.core.*;
public class Res_CLASS_SOUND_ROLLOVER extends SoundAsset {
}
}//package
Section 105
//Res_CLASS_SOUND_SCRIBBLE_0 (Res_CLASS_SOUND_SCRIBBLE_0)
package {
import mx.core.*;
public class Res_CLASS_SOUND_SCRIBBLE_0 extends SoundAsset {
}
}//package
Section 106
//Res_CLASS_SOUND_SCRIBBLE_1 (Res_CLASS_SOUND_SCRIBBLE_1)
package {
import mx.core.*;
public class Res_CLASS_SOUND_SCRIBBLE_1 extends SoundAsset {
}
}//package
Section 107
//Res_CLASS_SOUND_SCRIBBLE_2 (Res_CLASS_SOUND_SCRIBBLE_2)
package {
import mx.core.*;
public class Res_CLASS_SOUND_SCRIBBLE_2 extends SoundAsset {
}
}//package
Section 108
//Res_CLASS_SOUND_SCRIBBLE_3 (Res_CLASS_SOUND_SCRIBBLE_3)
package {
import mx.core.*;
public class Res_CLASS_SOUND_SCRIBBLE_3 extends SoundAsset {
}
}//package
Section 109
//Res_CLASS_SOUND_SCRIBBLE_4 (Res_CLASS_SOUND_SCRIBBLE_4)
package {
import mx.core.*;
public class Res_CLASS_SOUND_SCRIBBLE_4 extends SoundAsset {
}
}//package
Section 110
//Res_CLASS_SOUND_SELECT (Res_CLASS_SOUND_SELECT)
package {
import mx.core.*;
public class Res_CLASS_SOUND_SELECT extends SoundAsset {
}
}//package
Section 111
//Res_CLASS_SOUND_TYPE_0 (Res_CLASS_SOUND_TYPE_0)
package {
import mx.core.*;
public class Res_CLASS_SOUND_TYPE_0 extends SoundAsset {
}
}//package
Section 112
//Res_CLASS_SOUND_TYPE_1 (Res_CLASS_SOUND_TYPE_1)
package {
import mx.core.*;
public class Res_CLASS_SOUND_TYPE_1 extends SoundAsset {
}
}//package
Section 113
//Res_CLASS_SOUND_TYPE_2 (Res_CLASS_SOUND_TYPE_2)
package {
import mx.core.*;
public class Res_CLASS_SOUND_TYPE_2 extends SoundAsset {
}
}//package
Section 114
//Res_CLASS_SOUND_TYPE_3 (Res_CLASS_SOUND_TYPE_3)
package {
import mx.core.*;
public class Res_CLASS_SOUND_TYPE_3 extends SoundAsset {
}
}//package
Section 115
//Res_CLASS_SOUND_TYPE_4 (Res_CLASS_SOUND_TYPE_4)
package {
import mx.core.*;
public class Res_CLASS_SOUND_TYPE_4 extends SoundAsset {
}
}//package
Section 116
//Res_CLASS_SOUND_TYPE_5 (Res_CLASS_SOUND_TYPE_5)
package {
import mx.core.*;
public class Res_CLASS_SOUND_TYPE_5 extends SoundAsset {
}
}//package
Section 117
//Res_CLASS_SOUND_TYPE_6 (Res_CLASS_SOUND_TYPE_6)
package {
import mx.core.*;
public class Res_CLASS_SOUND_TYPE_6 extends SoundAsset {
}
}//package
Section 118
//Res_CLASS_SOUND_TYPE_7 (Res_CLASS_SOUND_TYPE_7)
package {
import mx.core.*;
public class Res_CLASS_SOUND_TYPE_7 extends SoundAsset {
}
}//package
Section 119
//Res_CLASS_SOUND_TYPE_8 (Res_CLASS_SOUND_TYPE_8)
package {
import mx.core.*;
public class Res_CLASS_SOUND_TYPE_8 extends SoundAsset {
}
}//package
Section 120
//Res_CLASS_SWF_DEV_LOGO (Res_CLASS_SWF_DEV_LOGO)
package {
import mx.core.*;
public class Res_CLASS_SWF_DEV_LOGO extends MovieClipAsset {
}
}//package
Section 121
//Res_CLASS_SWF_GAMES_DOT_COM_LOGO (Res_CLASS_SWF_GAMES_DOT_COM_LOGO)
package {
import mx.core.*;
import flash.utils.*;
public class Res_CLASS_SWF_GAMES_DOT_COM_LOGO extends MovieClipLoaderAsset {
public var _ti66:Class;
private static var bytes:ByteArray = null;
public function Res_CLASS_SWF_GAMES_DOT_COM_LOGO(){
_ti66 = Res_CLASS_SWF_GAMES_DOT_COM_LOGO_dataClass;
super();
initialWidth = (11000 / 20);
initialHeight = (8000 / 20);
}
override public function get movieClipData():ByteArray{
if (bytes == null){
bytes = ByteArray(new _ti66());
};
return (bytes);
}
}
}//package
Section 122
//Res_CLASS_SWF_GAMES_DOT_COM_LOGO_dataClass (Res_CLASS_SWF_GAMES_DOT_COM_LOGO_dataClass)
package {
import mx.core.*;
public class Res_CLASS_SWF_GAMES_DOT_COM_LOGO_dataClass extends ByteArrayAsset {
}
}//package
Section 123
//Res_CLASS_SWF_TUTORIAL (Res_CLASS_SWF_TUTORIAL)
package {
import mx.core.*;
import flash.utils.*;
public class Res_CLASS_SWF_TUTORIAL extends MovieClipLoaderAsset {
public var _ti66:Class;
private static var bytes:ByteArray = null;
public function Res_CLASS_SWF_TUTORIAL(){
_ti66 = Res_CLASS_SWF_TUTORIAL_dataClass;
super();
initialWidth = (0x3200 / 20);
initialHeight = (9600 / 20);
}
override public function get movieClipData():ByteArray{
if (bytes == null){
bytes = ByteArray(new _ti66());
};
return (bytes);
}
}
}//package
Section 124
//Res_CLASS_SWF_TUTORIAL_dataClass (Res_CLASS_SWF_TUTORIAL_dataClass)
package {
import mx.core.*;
public class Res_CLASS_SWF_TUTORIAL_dataClass extends ByteArrayAsset {
}
}//package
Section 125
//Res_CLASS_XML_TEXT_EN (Res_CLASS_XML_TEXT_EN)
package {
import mx.core.*;
public class Res_CLASS_XML_TEXT_EN extends ByteArrayAsset {
}
}//package
Section 126
//Res_menu_font (Res_menu_font)
package {
import mx.core.*;
public class Res_menu_font extends FontAsset {
}
}//package
Section 127
//Res_notepad_font (Res_notepad_font)
package {
import mx.core.*;
public class Res_notepad_font extends FontAsset {
}
}//package
Section 128
//Stats (Stats)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.text.*;
import flash.utils.*;
import flash.system.*;
public class Stats extends Sprite {
protected const WIDTH:uint = 70;
protected const _xq1163:uint = 100;
protected var timer:uint;
protected var _yl906:uint;
protected var _gu73:Object;
protected var _gx702:Number;
protected var xml:XML;
protected var _nm1050:Bitmap;
protected var _uq536:uint;
protected var fps:uint;
protected var _uq202:uint;
protected var text:TextField;
protected var _gd871:Rectangle;
protected var style:StyleSheet;
protected var _tb188:uint;
protected var _ao676:uint;
protected var _nt178:Number;
public function Stats(_arg1:Object=null):void{
_gu73 = {bg:51, fps:0xFFFF00, _tb188:0xFF00, _gx702:0xFFFF, memmax:0xFF0070};
super();
if (_arg1){
if (_arg1.bg != null){
_gu73.bg = _arg1.bg;
};
if (_arg1.fps != null){
_gu73.fps = _arg1.fps;
};
if (_arg1._tb188 != null){
_gu73._tb188 = _arg1._tb188;
};
if (_arg1._gx702 != null){
_gu73._gx702 = _arg1._gx702;
};
if (_arg1.memmax != null){
_gu73.memmax = _arg1.memmax;
};
};
_nt178 = 0;
xml = <xml><fps>FPS:</fps><ms>MS:</ms><mem>MEM:</mem><memMax>MAX:</memMax></xml>
;
style = new StyleSheet();
style.setStyle("xml", {fontSize:"9px", fontFamily:"_sans", leading:"-2px"});
style.setStyle("fps", {color:_tp1028(_gu73.fps)});
style.setStyle("_tb188", {color:_tp1028(_gu73._tb188)});
style.setStyle("_gx702", {color:_tp1028(_gu73._gx702)});
style.setStyle("memMax", {color:_tp1028(_gu73.memmax)});
text = new TextField();
text.width = WIDTH;
text.height = 50;
text.styleSheet = style;
text.condenseWhite = true;
text.selectable = false;
text.mouseEnabled = false;
_nm1050 = new Bitmap();
_nm1050.y = 50;
_gd871 = new Rectangle((WIDTH - 1), 0, 1, (_xq1163 - 50));
addEventListener(Event.ADDED_TO_STAGE, init, false, 0, true);
addEventListener(Event.REMOVED_FROM_STAGE, _uk1063, false, 0, true);
}
private function _uk1063(_arg1:Event):void{
graphics.clear();
while (numChildren > 0) {
removeChildAt(0);
};
_nm1050.bitmapData.dispose();
removeEventListener(MouseEvent.CLICK, _gf989);
removeEventListener(Event.ENTER_FRAME, update);
}
private function _gf989(_arg1:MouseEvent):void{
if (((mouseY / height) > 0.5)){
stage.frameRate--;
} else {
stage.frameRate++;
};
xml.fps = ((("FPS: " + fps) + " / ") + stage.frameRate);
text.htmlText = xml;
}
private function init(_arg1:Event):void{
graphics.beginFill(_gu73.bg);
graphics.drawRect(0, 0, WIDTH, _xq1163);
graphics.endFill();
addChild(text);
_nm1050.bitmapData = new BitmapData(WIDTH, (_xq1163 - 50), false, _gu73.bg);
addChild(_nm1050);
addEventListener(MouseEvent.CLICK, _gf989);
addEventListener(Event.ENTER_FRAME, update);
}
private function update(_arg1:Event):void{
timer = getTimer();
if ((timer - 1000) > _uq202){
_uq202 = timer;
_gx702 = Number((System.totalMemory * 9.54E-7).toFixed(3));
_nt178 = ((_nt178 > _gx702)) ? _nt178 : _gx702;
_ao676 = Math.min(_nm1050.height, ((fps / stage.frameRate) * _nm1050.height));
_uq536 = (Math.min(_nm1050.height, Math.sqrt(Math.sqrt((_gx702 * 5000)))) - 2);
_yl906 = (Math.min(_nm1050.height, Math.sqrt(Math.sqrt((_nt178 * 5000)))) - 2);
_nm1050.bitmapData.scroll(-1, 0);
_nm1050.bitmapData.fillRect(_gd871, _gu73.bg);
_nm1050.bitmapData.setPixel((_nm1050.width - 1), (_nm1050.height - _ao676), _gu73.fps);
_nm1050.bitmapData.setPixel((_nm1050.width - 1), (_nm1050.height - ((timer - _tb188) >> 1)), _gu73._tb188);
_nm1050.bitmapData.setPixel((_nm1050.width - 1), (_nm1050.height - _uq536), _gu73._gx702);
_nm1050.bitmapData.setPixel((_nm1050.width - 1), (_nm1050.height - _yl906), _gu73.memmax);
xml.fps = ((("FPS: " + fps) + " / ") + stage.frameRate);
xml._gx702 = ("MEM: " + _gx702);
xml.memMax = ("MAX: " + _nt178);
fps = 0;
};
fps++;
xml._tb188 = ("MS: " + (timer - _tb188));
_tb188 = timer;
text.htmlText = xml;
}
private function _tp1028(_arg1:int):String{
return (("#" + _arg1.toString(16)));
}
}
}//package