Section 1
//MD5 (com.adobe.crypto.MD5)
package com.adobe.crypto {
import com.adobe.utils.*;
public class MD5 {
private static function ff(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(f, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private static function createBlocks(_arg1:String):Array{
var _local2:Array;
var _local3:int;
var _local4:int;
var _local5:int;
_local2 = new Array();
_local3 = (_arg1.length * 8);
_local4 = 0xFF;
_local5 = 0;
while (_local5 < _local3) {
_local2[(_local5 >> 5)] = (_local2[(_local5 >> 5)] | ((_arg1.charCodeAt((_local5 / 8)) & _local4) << (_local5 % 32)));
_local5 = (_local5 + 8);
};
_local2[(_local3 >> 5)] = (_local2[(_local3 >> 5)] | (128 << (_local3 % 32)));
_local2[((((_local3 + 64) >>> 9) << 4) + 14)] = _local3;
return (_local2);
}
private static function ii(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(i, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private static function f(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg2) | (~(_arg1) & _arg3)));
}
private static function g(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg3) | (_arg2 & ~(_arg3))));
}
private static function h(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 ^ _arg2) ^ _arg3));
}
private static function i(_arg1:int, _arg2:int, _arg3:int):int{
return ((_arg2 ^ (_arg1 | ~(_arg3))));
}
private static function transform(_arg1:Function, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int):int{
var _local9:int;
_local9 = (((_arg2 + int(_arg1(_arg3, _arg4, _arg5))) + _arg6) + _arg8);
return ((IntUtil.rol(_local9, _arg7) + _arg3));
}
private static function hh(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(h, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
public static function hash(_arg1:String):String{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:Array;
var _local11:int;
var _local12:int;
_local2 = 1732584193;
_local3 = -271733879;
_local4 = -1732584194;
_local5 = 271733878;
_local10 = createBlocks(_arg1);
_local11 = _local10.length;
_local12 = 0;
while (_local12 < _local11) {
_local6 = _local2;
_local7 = _local3;
_local8 = _local4;
_local9 = _local5;
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 7, -680876936);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 1)], 12, -389564586);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 17, 606105819);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 3)], 22, -1044525330);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 7, -176418897);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 5)], 12, 1200080426);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 17, -1473231341);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 7)], 22, -45705983);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 7, 1770035416);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 9)], 12, -1958414417);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 17, -42063);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 11)], 22, -1990404162);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 7, 1804603682);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 13)], 12, -40341101);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 17, -1502002290);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 15)], 22, 1236535329);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 5, -165796510);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 6)], 9, -1069501632);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 14, 643717713);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 0)], 20, -373897302);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 5, -701558691);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 10)], 9, 38016083);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 14, -660478335);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 4)], 20, -405537848);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 5, 568446438);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 14)], 9, -1019803690);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 14, -187363961);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 8)], 20, 1163531501);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 5, -1444681467);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 2)], 9, -51403784);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 14, 1735328473);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 12)], 20, -1926607734);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 4, -378558);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 8)], 11, -2022574463);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 16, 1839030562);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 14)], 23, -35309556);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 4, -1530992060);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 4)], 11, 1272893353);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 16, -155497632);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 10)], 23, -1094730640);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 4, 681279174);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 0)], 11, -358537222);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 16, -722521979);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 6)], 23, 76029189);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 4, -640364487);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 12)], 11, -421815835);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 16, 530742520);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 2)], 23, -995338651);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 6, -198630844);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 7)], 10, 1126891415);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 15, -1416354905);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 5)], 21, -57434055);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 6, 1700485571);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 3)], 10, -1894986606);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 15, -1051523);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 1)], 21, -2054922799);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 6, 1873313359);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 15)], 10, -30611744);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 15, -1560198380);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 13)], 21, 1309151649);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 6, -145523070);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 11)], 10, -1120210379);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 15, 718787259);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 9)], 21, -343485551);
_local2 = (_local2 + _local6);
_local3 = (_local3 + _local7);
_local4 = (_local4 + _local8);
_local5 = (_local5 + _local9);
_local12 = (_local12 + 16);
};
return ((((IntUtil.toHex(_local2) + IntUtil.toHex(_local3)) + IntUtil.toHex(_local4)) + IntUtil.toHex(_local5)));
}
private static function gg(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(g, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
}
}//package com.adobe.crypto
Section 2
//IntUtil (com.adobe.utils.IntUtil)
package com.adobe.utils {
public class IntUtil {
private static var hexChars:String = "0123456789abcdef";
public static function toHex(_arg1:int, _arg2:Boolean=false):String{
var _local3:String;
var _local4:int;
var _local5:int;
_local3 = "";
if (_arg2){
_local4 = 0;
while (_local4 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> (((3 - _local4) * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> ((3 - _local4) * 8)) & 15))));
_local4++;
};
} else {
_local5 = 0;
while (_local5 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> ((_local5 * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> (_local5 * 8)) & 15))));
_local5++;
};
};
return (_local3);
}
public static function ror(_arg1:int, _arg2:int):uint{
var _local3:int;
_local3 = (32 - _arg2);
return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3))));
}
public static function rol(_arg1:int, _arg2:int):int{
return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))));
}
}
}//package com.adobe.utils
Section 3
//allsounds_1 (kilotron_fla.allsounds_1)
package kilotron_fla {
import flash.display.*;
public dynamic class allsounds_1 extends MovieClip {
public function allsounds_1(){
addFrameScript(0, );
}
function (){
stop();
}
}
}//package kilotron_fla
Section 4
//bomb_smoker3_16 (kilotron_fla.bomb_smoker3_16)
package kilotron_fla {
import flash.display.*;
public dynamic class bomb_smoker3_16 extends MovieClip {
public var sm:MovieClip;
}
}//package kilotron_fla
Section 5
//bomb_smoker4_15 (kilotron_fla.bomb_smoker4_15)
package kilotron_fla {
import flash.display.*;
public dynamic class bomb_smoker4_15 extends MovieClip {
public var sm:MovieClip;
public function bomb_smoker4_15(){
addFrameScript(30,
);
}
function
(){
stop();
}
}
}//package kilotron_fla
Section 6
//MochiAd (mochi.as3.MochiAd)
package mochi.as3 {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.utils.*;
import flash.system.*;
public class MochiAd {
public static function getVersion():String{
return ("3.0 as3");
}
public static function showClickAwayAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_timeout:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var sendHostProgress:Boolean;
var options = _arg1;
DEFAULTS = {ad_timeout:2000, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function ():void{
}, ad_finished:function ():void{
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_timeout = 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();
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = 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);
};
sendHostProgress = false;
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Number;
var _local3:Boolean;
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
return;
};
_local1 = this.parent._mochiad_ctr;
_local2 = (getTimer() - this.started);
_local3 = false;
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;
_local2 = _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 DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = 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();
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = 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{
var _local1:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
_local1 = (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;
_local2 = 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 _local1:Object;
var _local2:Number;
var _local3:Boolean;
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
_local1 = this.parent._mochiad_ctr;
_local2 = (getTimer() - this.started);
_local3 = false;
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 _local3:Object;
var _local4:String;
var _local5:Array;
var _local6:Number;
var _local7:Array;
_local3 = {};
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"){
};
return (_local3);
}
public static function _cleanup(_arg1:Object):void{
var idx:Number;
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);
};
idx = 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 DEFAULTS:Object;
var clip:Object;
var depth:Number;
var mc:MovieClip;
var wh:Array;
var lv:URLVariables;
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;
DEFAULTS = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
if (!MochiAd._isNetworkAvailable()){
return (null);
};
try {
if (clip._mochiad_loaded){
return (null);
};
} catch(e:Error) {
throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
depth = options.depth;
delete options.depth;
mc = createEmptyMovieClip(clip, "_mochiad", depth);
wh = 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;
//unresolved jump
};
lv = new URLVariables();
for (k in options) {
v = options[k];
if (!(v is Function)){
lv[k] = v;
};
};
server = lv.server;
delete lv.server;
hostname = _allowDomains(server);
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.lc = lc;
mc.lcName = name;
lv.lc = name;
lv.st = getTimer();
loader = new Loader();
g = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
MochiAd.unload(clip);
};
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g);
req = new URLRequest(((server + ".swf?cacheBust=") + new Date().getTime()));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function (_arg1:IOErrorEvent):void{
});
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;
var _local5:Number;
_local4 = _arg2.split(".");
_local5 = 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;
_local4 = 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 _local3:Object;
var _local4:Number;
var _local5:Number;
var _local6:Array;
_local3 = _arg2.getBounds(_arg2.root);
_local4 = 0;
_local5 = 0;
if (typeof(_arg1.res) != "undefined"){
_local6 = _arg1.res.split("x");
_local4 = parseFloat(_local6[0]);
_local5 = parseFloat(_local6[1]);
} else {
_local4 = (_local3.xMax - _local3.xMin);
_local5 = (_local3.yMax - _local3.yMin);
};
if ((((_local4 == 0)) || ((_local5 == 0)))){
_local4 = _arg2.stage.stageWidth;
_local5 = _arg2.stage.stageHeight;
};
return ([_local4, _local5]);
}
public static function adShowing(_arg1:Object):void{
_arg1.origFrameRate = _arg1.stage.frameRate;
_arg1.stage.frameRate = 30;
}
public static function getValue(_arg1:Object, _arg2:String):Object{
var _local3:Array;
var _local4:Number;
_local3 = _arg2.split(".");
_local4 = 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;
};
}
public static function setValue(_arg1:Object, _arg2:String, _arg3:Object):void{
var _local4:Array;
var _local5:Number;
_local4 = _arg2.split(".");
_local5 = 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 DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var bar:MovieClip;
var bar_color:Number;
var bar_background:Number;
var bar_outline:Number;
var backing_mc:MovieClip;
var backing:Object;
var inside_mc:MovieClip;
var inside:Object;
var outline_mc:MovieClip;
var outline:Object;
var complete:Boolean;
var unloaded:Boolean;
var f:Function;
var sendHostProgress:Boolean;
var fn:Function;
var r:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
}, ad_skipped:function ():void{
}, ad_progress:function (_arg1:Number):void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def"){
options.ad_started();
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
return;
};
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = 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{
var fn:Function;
MochiAd._cleanup(mc);
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.x = (w * -0.5);
chk.y = (h * -0.5);
bar = createEmptyMovieClip(chk, "_mochiad_bar", 4);
if (options.no_progress_bar){
bar.visible = false;
delete options.no_progress_bar;
} else {
bar.x = 10;
bar.y = (h - 20);
};
bar_color = options.color;
delete options.color;
bar_background = options.background;
delete options.background;
bar_outline = options.outline;
delete options.outline;
backing_mc = createEmptyMovieClip(bar, "_outline", 1);
backing = backing_mc.graphics;
backing.beginFill(bar_background);
backing.moveTo(0, 0);
backing.lineTo((w - 20), 0);
backing.lineTo((w - 20), 10);
backing.lineTo(0, 10);
backing.lineTo(0, 0);
backing.endFill();
inside_mc = createEmptyMovieClip(bar, "_inside", 2);
inside = inside_mc.graphics;
inside.beginFill(bar_color);
inside.moveTo(0, 0);
inside.lineTo((w - 20), 0);
inside.lineTo((w - 20), 10);
inside.lineTo(0, 10);
inside.lineTo(0, 0);
inside.endFill();
inside_mc.scaleX = 0;
outline_mc = createEmptyMovieClip(bar, "_outline", 3);
outline = outline_mc.graphics;
outline.lineStyle(0, bar_outline, 100);
outline.moveTo(0, 0);
outline.lineTo((w - 20), 0);
outline.lineTo((w - 20), 10);
outline.lineTo(0, 10);
outline.lineTo(0, 0);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
_local1 = (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;
f = function (_arg1:Event):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
complete = true;
if (unloaded){
MochiAd.unload(clip);
};
};
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
if ((clip.root is MovieClip)){
r = (clip.root as MovieClip);
if (r.framesLoaded >= r.totalFrames){
complete = true;
};
};
mc.unloadAd = function ():void{
unloaded = true;
if (complete){
MochiAd.unload(clip);
};
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = 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{
return (_arg1);
};
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
sendHostProgress = false;
mc.sendHostLoadProgress = function (_arg1:String):void{
sendHostProgress = true;
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Object;
var _local3:Number;
var _local4:Boolean;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Object;
var _local10:Number;
var _local11:Number;
if (((!(this.parent)) || (!(this.parent.parent)))){
delete this["onEnterFrame"];
return;
};
_local1 = this.parent.parent.root;
_local2 = this.parent._mochiad_ctr;
_local3 = (getTimer() - this.started);
_local4 = false;
_local5 = _local1.loaderInfo.bytesTotal;
_local6 = _local1.loaderInfo.bytesLoaded;
if (complete){
_local6 = Math.max(1, _local6);
_local5 = _local6;
};
_local7 = ((100 * _local6) / _local5);
_local8 = ((100 * _local3) / chk.ad_msec);
_local9 = this._mochiad_bar._inside;
_local10 = Math.min(100, Math.min(((_local7) || (0)), _local8));
_local10 = Math.max(this.last_pcnt, _local10);
this.last_pcnt = _local10;
_local9.scaleX = (_local10 * 0.01);
options.ad_progress(_local10);
if (sendHostProgress){
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local7});
if (_local7 == 100){
sendHostProgress = false;
};
};
if (!chk.showing){
_local11 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local11 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if ((((_local3 > chk.ad_timeout)) && ((_local7 == 100)))){
options.ad_failed();
_local4 = true;
};
};
};
if (_local3 > chk.ad_msec){
_local4 = true;
};
if (((complete) && (_local4))){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function showPreloaderAd(_arg1:Object):void{
MochiAd.showPreGameAd(_arg1);
}
public static function showTimedAd(_arg1:Object):void{
MochiAd.showInterLevelAd(_arg1);
}
public static function doOnEnterFrame(_arg1:MovieClip):void{
var f:Function;
var mc = _arg1;
f = 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 7
//BasicProgressBar (source.gui.BasicProgressBar)
package source.gui {
import flash.display.*;
import flash.geom.*;
public class BasicProgressBar extends Sprite {
private var :int;
private var :int;
private var :int;
private var :int;
private var :int;
private var :BitmapData;
private var :Bitmap;
public function BasicProgressBar(_arg1:int, _arg2:int, _arg3:uint, _arg4:uint){
= _arg3;
= _arg4;
= ( - 2);
= ( - 6);
= 0;
x = _arg1;
y = _arg2;
= new BitmapData(, , false, 0);
= new Bitmap();
addChild();
}
private function ():void{
.fillRect(.rect, 0);
.fillRect(new Rectangle(1, 3, int((( / 100) * )), ), 0xFF0000);
}
public function setPercentage(_arg1:uint):void{
= _arg1;
();
}
}
}//package source.gui
Section 8
//FPSCounter (source.gui.FPSCounter)
package source.gui {
import flash.display.*;
import flash.text.*;
import flash.utils.*;
public class FPSCounter extends Sprite {
private static var sTime:Number;
private static var dText:TextField;
private static var fNum:int;
private static var frameRate:int;
public function FPSCounter(){
var _local1:TextFormat;
super();
dText = new TextField();
dText.autoSize = TextFieldAutoSize.LEFT;
_local1 = new TextFormat();
_local1.font = "Arial";
_local1.color = 0xFF0000;
_local1.bold = true;
_local1.size = 15;
dText.defaultTextFormat = _local1;
dText.text = "init fps";
addChild(dText);
}
public static function update():void{
var _local1:int;
if (++fNum > 100){
_local1 = (getTimer() - sTime);
frameRate = Math.floor((fNum / ((getTimer() - sTime) / 1000)));
dText.text = ("FPS: " + frameRate);
fNum = 0;
sTime = getTimer();
};
}
}
}//package source.gui
Section 9
//GameGui (source.gui.GameGui)
package source.gui {
import source.*;
import flash.display.*;
import flash.events.*;
import flash.text.*;
import source.io.*;
import flash.filters.*;
import flash.net.*;
public class GameGui extends Sprite {
private var :Bitmap;
private var :BitmapData;
private var :FPSCounter;
private static var labelHolder:Sprite;
private static var scoreDisplay:TextField;
private static var arcadeBomb:SimpleButton;
private static var instance:GameGui;
private static var leechLabs:SimpleButton;
private static var leechLabsURL:URLRequest;
private static var bevelFilter:BevelFilter;
private static var documentClass:GameCore;
private static var scoreBar:BasicProgressBar;
private static var levelDisplay:TextField;
private static var glowFilter:GlowFilter;
private static var dropShadow:DropShadowFilter;
private static var timeDisplay:TextField;
private static var moveDisplay:TextField;
private static var arcadeBombURL:URLRequest;
public function init():void{
= TextureLoader.getTexture("menubg");
= new Bitmap( );
addChild();
= new FPSCounter();
.x = 500;
();
arcadeBomb = new arcacxdebomb();
arcadeBomb.x = 492.5;
arcadeBomb.y = 424.5;
dropShadow = new DropShadowFilter(5, 45, 0, 1, 5, 5, 1, 1, false, false, false);
arcadeBomb.filters = [dropShadow];
arcadeBombURL = new URLRequest("http://www.arcadebomb.com");
arcadeBomb.addEventListener(MouseEvent.MOUSE_UP, );
addChild(arcadeBomb);
leechLabs = new addthisgame();
leechLabs.x = 282;
leechLabs.y = 456.5;
bevelFilter = new BevelFilter(1, 45, 0xFFFFFF, 1, 0, 1, 2, 2, 1, 1, "inner", false);
glowFilter = new GlowFilter(0x3300, 1, 2, 2, 1, 1, false, false);
leechLabs.filters = [bevelFilter, glowFilter];
leechLabsURL = new URLRequest("http://www.leechlabs.com");
leechLabs.addEventListener(MouseEvent.MOUSE_UP, );
addChild(leechLabs);
}
public function ():void{
var _local1:uint;
_local1 = 470;
labelHolder = new Sprite();
levelDisplay = (545, 76, 35, labelHolder, "01");
scoreBar = new BasicProgressBar(448, 142, 150, 20);
scoreBar.setPercentage(50);
scoreDisplay = (448, 208, 150, labelHolder, "99901");
timeDisplay = (448, 274, 100, labelHolder, "01:25");
moveDisplay = (555, 308, 50, labelHolder, "201");
addChild(scoreBar);
addChild(labelHolder);
}
public function (_arg1:int, _arg2:int, _arg3:Sprite, _arg4:String):void{
var _local5:TextField;
var _local6:TextFormat;
_local5 = new TextField();
_local5.embedFonts = true;
_local5.antiAliasType = AntiAliasType.NORMAL;
_local5.autoSize = TextFieldAutoSize.CENTER;
_local5.selectable = false;
_local6 = new TextFormat();
_local6.font = "Adventure Subtitles";
_local6.color = 0x333333;
_local6.bold = true;
_local6.size = 20;
_local6.align = "center";
_local5.defaultTextFormat = _local6;
_local5.text = _arg4;
_local5.x = _arg1;
_local5.y = _arg2;
_arg3.addChild(_local5);
}
private function (_arg1:MouseEvent):void{
navigateToURL(arcadeBombURL, "_blank");
}
private function (_arg1:MouseEvent):void{
navigateToURL(leechLabsURL, "_blank");
}
public function (_arg1:int, _arg2:int, _arg3:int, _arg4:Sprite, _arg5:String):TextField{
var _local6:TextField;
var _local7:TextFormat;
_local6 = new TextField();
_local6.embedFonts = true;
_local6.antiAliasType = AntiAliasType.NORMAL;
_local6.width = _arg3;
_local6.height = 20;
_local6.selectable = false;
_local6.background = true;
_local6.backgroundColor = 0;
_local7 = new TextFormat();
_local7.font = "Digital dream Fat";
_local7.color = 0xFF0000;
_local7.bold = true;
_local7.size = 15;
_local7.align = "center";
_local6.defaultTextFormat = _local7;
_local6.text = _arg5;
_local6.x = _arg1;
_local6.y = _arg2;
_arg4.addChild(_local6);
return (_local6);
}
public static function getInstance(_arg1):GameGui{
if (instance == null){
instance = new (GameGui);
documentClass = _arg1;
documentClass.addChild(instance);
};
return (instance);
}
public static function setMovesLeft(_arg1:int):void{
moveDisplay.text = ("" + _arg1);
}
public static function clearDisplays():void{
levelDisplay.text = "";
scoreBar.setPercentage(0);
scoreDisplay.text = "";
timeDisplay.text = "";
moveDisplay.text = "";
}
public static function setLevelNum(_arg1:int):void{
levelDisplay.text = ("" + _arg1);
}
public static function setTimeLeft(_arg1:String):void{
timeDisplay.text = _arg1;
}
public static function setTotalScore(_arg1:int):void{
scoreDisplay.text = ("" + _arg1);
}
public static function setLevelScore(_arg1:int):void{
scoreBar.setPercentage(_arg1);
}
}
}//package source.gui
Section 10
//MenuButtonEvent (source.gui.MenuButtonEvent)
package source.gui {
import flash.events.*;
public class MenuButtonEvent extends Event {
private var :String;
public static const PRESSED:String = "pressed";
public static const RELEASED:String = "released";
public function MenuButtonEvent(_arg1:String, _arg2:String){
super(_arg1, true);
= _arg2;
}
public function get label():String{
return ();
}
override public function clone():Event{
return (new MenuButtonEvent(type, ));
}
}
}//package source.gui
Section 11
//HighScoreBoard (source.highscores.HighScoreBoard)
package source.highscores {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import com.adobe.crypto.*;
import flash.net.*;
import flash.system.*;
public class HighScoreBoard extends Sprite {
private var :Array;
private var :URLRequest;
private var :Array;
private var :TextFormat;
private var :TextField;
private var :uint;
private static var loader:URLLoader;
private static var submitScoreRequest:URLRequest;
private static var policyLoaded:Boolean = false;
private static var submitter:URLLoader;
private static var loadScoreRequest:URLRequest;
public function HighScoreBoard(_arg1:uint, _arg2:Number, _arg3:Number, _arg4:Array){
var _local5:uint;
var _local6:uint;
var _local7:TextField;
var _local8:TextField;
var _local9:TextField;
super();
x = _arg2;
y = _arg3;
= _arg4;
= _arg1;
= new Array();
_local5 = 0;
while (_local5 < ) {
_local6 = (_local5 + 1);
_local7 = (25, (_local5 * 25), 30, 25, ("" + _local6));
_local8 = (60, (_local5 * 25), 125, 25, "".toUpperCase());
_local9 = (185, (_local5 * 25), 200, 25, "loading ...");
_local7.filters = ;
_local8.filters = ;
_local9.filters = ;
[_local5] = new HighScoreField(_local7, _local8, _local9);
_local5++;
};
= (85, 0xFF, 200, 25, "view all highscores");
();
}
public function (_arg1:int, _arg2:int, _arg3:uint, _arg4:uint, _arg5:String):TextField{
var _local6:TextField;
_local6 = new TextField();
_local6.embedFonts = true;
_local6.antiAliasType = AntiAliasType.NORMAL;
_local6.width = _arg3;
_local6.height = _arg4;
_local6.selectable = false;
= new TextFormat();
.font = "Adventure Subtitles";
.color = 0x95F700;
.bold = true;
.size = 20;
.align = "center";
_local6.defaultTextFormat = ;
_local6.text = _arg5;
_local6.x = _arg1;
_local6.y = _arg2;
= new URLRequest("http://hiscore.arcadebomb.com/kilotron.php");
_local6.addEventListener(MouseEvent.MOUSE_UP, );
_local6.addEventListener(MouseEvent.MOUSE_OVER, );
_local6.addEventListener(MouseEvent.MOUSE_OUT, );
addChild(_local6);
return (_local6);
}
public function postHighScores(_arg1:String, _arg2:Number):void{
var _local3:URLVariables;
_local3 = new URLVariables();
_local3.n = _arg1;
_local3.s = _arg2;
_local3.t = new Date().getTime();
_local3.k = Math.floor((Math.random() * 100));
_local3.m = MD5.hash(("" + ((_arg2 + _local3.k) * 6061)));
submitScoreRequest.data = _local3;
submitter.load(submitScoreRequest);
}
private function (_arg1:MouseEvent):void{
.textColor = 3407769;
}
private function (_arg1:Event):void{
var _local2:URLLoader;
var _local3:uint;
var _local4:uint;
_local2 = URLLoader(_arg1.target);
_local3 = 0;
while (_local3 < ) {
_local4 = (_local3 + 1);
[_local3].name.text = _local2.data[("name" + _local4)];
[_local3].score.text = _local2.data[("score" + _local4)];
_local3++;
};
}
private function
():void{
loadScoreRequest = new URLRequest("http://hiscore.arcadebomb.com/kilot_get.php");
loadScoreRequest.method = URLRequestMethod.POST;
submitScoreRequest = new URLRequest("http://hiscore.arcadebomb.com/kilot_submit.php");
submitScoreRequest.method = "POST";
loader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE, );
loader.addEventListener(IOErrorEvent.IO_ERROR, );
submitter = new URLLoader();
submitter.dataFormat = URLLoaderDataFormat.VARIABLES;
submitter.addEventListener(Event.COMPLETE, );
submitter.addEventListener(IOErrorEvent.IO_ERROR, );
}
private function (_arg1:Event):void{
loadHighScores();
}
private function (_arg1:MouseEvent):void{
.textColor = 0x95F700;
}
private function (_arg1:IOErrorEvent):void{
}
public function ():void{
if (!policyLoaded){
Security.allowDomain("*");
Security.loadPolicyFile("http://hiscore.arcadebomb.com/crossdomain.xml");
policyLoaded = true;
};
}
public function loadHighScores():void{
var _local1:uint;
var _local2:uint;
();
_local1 = 0;
while (_local1 < ) {
_local2 = (_local1 + 1);
[_local1].name.text = "...";
[_local1].score.text = "... loading ...";
_local1++;
};
loader.load(loadScoreRequest);
}
public function (_arg1:int, _arg2:int, _arg3:uint, _arg4:uint, _arg5:String):TextField{
var _local6:TextField;
var _local7:TextFormat;
_local6 = new TextField();
_local6.embedFonts = true;
_local6.antiAliasType = AntiAliasType.NORMAL;
_local6.width = _arg3;
_local6.height = _arg4;
_local6.selectable = false;
_local6.type = TextFieldType.DYNAMIC;
_local7 = new TextFormat();
_local7.font = "Adventure Subtitles";
_local7.color = 0x95F700;
_local7.bold = true;
_local7.size = 20;
_local7.align = "left";
_local6.defaultTextFormat = _local7;
_local6.text = _arg5;
_local6.x = _arg1;
_local6.y = _arg2;
addChild(_local6);
return (_local6);
}
private function (_arg1:MouseEvent):void{
navigateToURL(, "_blank");
.textColor = 0x95F700;
}
}
}//package source.highscores
Section 12
//HighScoreField (source.highscores.HighScoreField)
package source.highscores {
import flash.text.*;
public class HighScoreField {
public var score:TextField;
public var name:TextField;
public var :TextField;
public function HighScoreField(_arg1:TextField, _arg2:TextField, _arg3:TextField){
= _arg1;
name = _arg2;
score = _arg3;
}
}
}//package source.highscores
Section 13
//TextureLoader (source.io.TextureLoader)
package source.io {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class TextureLoader extends Sprite {
private var loader:Loader;
private var :int;
private var :Array;
private static var loadingNow:String;
private static var instance:TextureLoader;
private static var CACHE:Array;
public static function getInstance(_arg1):TextureLoader{
if (instance == null){
instance = new (TextureLoader);
_arg1.addChild(instance);
};
return (instance);
}
private static function addImage(_arg1:String):void{
var _local2:Class;
_local2 = (getDefinitionByName(_arg1) as Class);
CACHE[_arg1] = new _local2(0, 0);
}
public static function getTexture(_arg1:String):BitmapData{
return (CACHE[_arg1]);
}
public static function loadImages():void{
CACHE = new Array(0);
addImage("menubg");
addImage("tile0");
addImage("tile1");
addImage("tile2");
addImage("tile3");
addImage("tile4");
addImage("tile5");
addImage("tile6");
addImage("tile7");
addImage("tile8");
addImage("tile10");
addImage("tile11");
addImage("tile12");
addImage("tile13");
addImage("tile14");
addImage("tile15");
addImage("tile16");
addImage("tile17");
addImage("tile18");
addImage("tile19");
addImage("tile20");
addImage("tile21");
addImage("tile22");
addImage("tile23");
addImage("tile24");
addImage("tile25");
addImage("tilebg0");
addImage("tilebg1");
addImage("spacedoor0");
addImage("spacedoor1");
addImage("spacedoor2");
addImage("spacedoor3");
addImage("tileselect");
addImage("movetile_left");
addImage("movetile_right");
addImage("movetile_up");
addImage("movetile_down");
addImage("explos0");
addImage("explos1");
addImage("explos2");
addImage("explos3");
addImage("explos4");
addImage("explos5");
addImage("explos6");
addImage("menu_gameover");
addImage("menu_howtoplay");
addImage("menu_credits");
addImage("menu_options");
addImage("menu_highscores");
addImage("menu_slider");
addImage("menubuttonbg");
addImage("menubuttonhl");
addImage("menubuttontxt0");
addImage("menubuttontxt1");
addImage("menubuttontxt2");
addImage("menubuttontxt3");
addImage("menubuttontxt4");
addImage("submenubg");
addImage("tutorial0");
addImage("tutorial1");
addImage("backtomenu_button_bg");
addImage("backtomenu_button_hl");
addImage("backtomenu_button_txt1");
addImage("backtomenu_button_txt2");
addImage("backtomenu_button_txt3");
addImage("comboparticle");
addImage("smallbutton_bg");
addImage("smallbutton_hl");
addImage("smallbutton_txt0");
addImage("smallbutton_txt1");
addImage("howtoplayarrow");
addImage("energybeam0");
addImage("energybeam1");
addImage("energybeam2");
addImage("energybeam3");
addImage("energybeam4");
addImage("energybeam5");
addImage("finishlevel");
addImage("instrbg");
addImage("closetip_bg");
addImage("closetip_hl");
addImage("closetip_txt");
addImage("tips_hide");
addImage("tips_show");
addImage("showtip_bg");
addImage("showtip_hl");
addImage("showtip_txt");
}
}
}//package source.io
Section 14
//SoundControler (source.sound.SoundControler)
package source.sound {
import flash.events.*;
import flash.media.*;
public class SoundControler extends EventDispatcher {
public var channel:SoundChannel;
public var isComplete:Boolean;
public function SoundControler(_arg1:SoundChannel){
isComplete = false;
channel = _arg1;
_arg1.addEventListener(Event.SOUND_COMPLETE, soundComplete);
}
private function soundComplete(_arg1:Event):void{
isComplete = true;
channel.stop();
SoundManager.soundComplete();
}
}
}//package source.sound
Section 15
//SoundManager (source.sound.SoundManager)
package source.sound {
import source.*;
import flash.display.*;
import flash.events.*;
import flash.media.*;
import source.io.*;
import flash.utils.*;
public class SoundManager extends Sprite {
private static var sounds:Array;
private static var soundVolume:Number;
private static var soundBar:SlideBar;
private static var musicVolumeTransform:SoundTransform;
private static var channels:Array;
private static var instance:SoundManager;
private static var musicChannel:SoundChannel;
private static var musicVolume:Number;
private static var soundVolumeTransform:SoundTransform;
private static var currentSong:String;
private static var musicBar:SlideBar;
public function SoundManager(){
musicVolumeTransform = new SoundTransform();
soundVolumeTransform = new SoundTransform();
channels = new Array(0);
}
public static function getSoundVolume():Number{
return (soundVolume);
}
public static function stopMusic():void{
musicChannel.stop();
}
public static function setSoundVolume(_arg1:Number):void{
var _local2:uint;
soundVolume = Math.max(0, Math.min(1, _arg1));
soundVolumeTransform.volume = soundVolume;
_local2 = 0;
while (_local2 < channels.length) {
channels[_local2].channel.soundTransform = soundVolumeTransform;
_local2++;
};
if (soundBar != null){
soundBar.setPosition(soundVolume);
};
}
public static function loadSounds():void{
sounds = new Array(0);
addSound("back");
addSound("open");
addSound("submitscore");
addSound("gameover");
addSound("powerup");
addSound("powerdown");
addSound("markdirection");
addSound("swaptiles");
addSound("explos");
addSound("combo");
addSound("finish");
addSound("nuke");
addMusic("intro");
addMusic("song0");
addMusic("song1");
}
public static function playMusic(_arg1:String):void{
currentSong = _arg1;
musicChannel = sounds[_arg1].play(0, 999);
musicChannel.soundTransform = musicVolumeTransform;
}
private static function addMusic(_arg1:String):void{
var _local2:Class;
_local2 = (getDefinitionByName(("music_" + _arg1)) as Class);
sounds[_arg1] = new (_local2);
}
public static function setSlideBars(_arg1:SlideBar, _arg2:SlideBar):void{
soundBar = _arg1;
musicBar = _arg2;
}
public static function setMusicVolume(_arg1:Number):void{
musicVolume = Math.max(0, Math.min(1, _arg1));
musicVolumeTransform.volume = musicVolume;
musicChannel.soundTransform = musicVolumeTransform;
if (musicBar != null){
musicBar.setPosition(musicVolume);
};
}
public static function soundComplete():void{
var _local1:uint;
_local1 = 0;
while (_local1 < channels.length) {
if (channels[_local1].isComplete){
channels[_local1].channel.stop();
var _temp1 = _local1;
_local1 = (_local1 - 1);
channels.splice(_temp1, 1);
return;
};
_local1++;
};
}
public static function getMusicVolume():Number{
return (musicVolume);
}
public static function getInstance(_arg1):SoundManager{
if (instance == null){
instance = new (SoundManager);
_arg1.addChild(instance);
};
return (instance);
}
private static function addSound(_arg1:String):void{
var _local2:Class;
_local2 = (getDefinitionByName(("sound_" + _arg1)) as Class);
sounds[_arg1] = new (_local2);
}
public static function playSound(_arg1:String):void{
var _local2:SoundChannel;
_local2 = sounds[_arg1].play();
_local2.soundTransform = soundVolumeTransform;
channels.push(new SoundControler(_local2));
}
public static function stopAll():void{
var _local1:uint;
_local1 = 0;
while (_local1 < channels.length) {
channels[_local1].channel.stop();
var _temp1 = _local1;
_local1 = (_local1 - 1);
channels.splice(_temp1, 1);
_local1++;
};
}
}
}//package source.sound
Section 16
//CloseButton (source.tutorial.CloseButton)
package source.tutorial {
import source.*;
import flash.display.*;
import source.io.*;
public class CloseButton extends BasicButton {
private var text:String;
private var :BitmapData;
public function CloseButton(_arg1:String, _arg2:String, _arg3:int, _arg4:int, _arg5:uint, _arg6:uint){
super(_arg1, "", _arg3, _arg4, _arg5, _arg6);
text = _arg2;
= new BitmapData(width, height, true, 0);
}
override public function getGraphics():BitmapData{
();
return ( );
}
private function ():void{
var _local1:BitmapData;
var _local2:BitmapData;
.lock();
.fillRect( .rect, 0);
_local1 = TextureLoader.getTexture("closetip_bg");
_local2 = TextureLoader.getTexture(text);
.draw(_local1);
if (selected){
.draw(TextureLoader.getTexture("closetip_hl"));
};
.draw(_local2);
.unlock();
}
}
}//package source.tutorial
Section 17
//FieldInstruction (source.tutorial.FieldInstruction)
package source.tutorial {
import source.*;
import flash.display.*;
import flash.geom.*;
import flash.text.*;
import source.io.*;
import flash.filters.*;
public class FieldInstruction {
private var :BitmapData;
private var buttons:Array;
public var showInstructions:Boolean;
private var :GameTips;
private var :Array;
private var :BitmapData;
public var
:ShowTip;
public var currentTip:int;
private var :TextField;
private var x:int;
private var y:int;
public function FieldInstruction(_arg1:int, _arg2:int){
var _local3:TextFormat;
super();
x = _arg1;
y = _arg2;
= new GameTips();
showInstructions = true;
currentTip = 0;
= TextureLoader.getTexture("instrbg");
= new BitmapData(.rect.width, .rect.height, true, 0);
= new TextField();
.embedFonts = true;
.antiAliasType = AntiAliasType.NORMAL;
.width = 310;
.height = 220;
.selectable = false;
.multiline = true;
_local3 = new TextFormat();
_local3.font = "Adventure Subtitles";
_local3.color = 0x95F700;
_local3.bold = true;
_local3.size = 15;
_local3.align = "left";
.defaultTextFormat = _local3;
();
buttons = new Array(0);
buttons.push(new CloseButton("close", "closetip_txt", 10, 180, 59, 36));
buttons.push(new ShowButton("show", "showtip_txt", 75, 180, 87, 36));
= new ShowTip(165, 180);
}
public function getGraphics():BitmapData{
.fillRect( .rect, 0);
if (currentTip >= 0){
.draw();
();
};
return ( );
}
public function getRect():Rectangle{
return ( .rect);
}
public function checkPress(_arg1:Number, _arg2:Number):void{
var _local3:uint;
var _local4:uint;
var _local5:BasicButton;
var _local6:uint;
var _local7:BasicButton;
if (currentTip >= 0){
_local3 = ((_arg1 - this.x) - 30);
_local4 = ((_arg2 - this.y) - 41);
_local6 = 0;
while (_local6 < buttons.length) {
_local7 = buttons[_local6];
if ((((((((_local3 > _local7.x)) && ((_local4 > _local7.y)))) && ((_local3 < (_local7.x + _local7.width))))) && ((_local4 < (_local7.y + _local7.height))))){
_local5 = _local7;
break;
};
_local6++;
};
if (_local5 != null){
switch (_local5.label){
case "close":
currentTip = -1;
break;
case "show":
if (showInstructions){
.show = false;
showInstructions = false;
} else {
if (!showInstructions){
showInstructions = true;
.show = true;
};
};
break;
};
};
};
}
private function (_arg1:BasicButton):void{
var _local2:Matrix;
_local2 = new Matrix();
_local2.translate(_arg1.x, _arg1.y);
.draw(_arg1.getGraphics(), _local2);
}
public function setTip(_arg1:int):void{
if (showInstructions){
currentTip = _arg1;
} else {
currentTip = -1;
};
}
public function getPoint():Point{
return (new Point(x, y));
}
private function ():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Boolean;
var _local9:Boolean;
var _local10:Number;
var _local11:BitmapFilter;
_local1 = 0x4400;
_local2 = 45;
_local3 = 1;
_local4 = 1;
_local5 = 1;
_local6 = 2;
_local7 = 1;
_local8 = false;
_local9 = false;
_local10 = BitmapFilterQuality.HIGH;
_local11 = new DropShadowFilter(_local6, _local2, _local1, _local3, _local4, _local5, _local7, _local10, _local8, _local9);
= new Array();
.push(_local11);
}
public function checkMouse(_arg1:Number, _arg2:Number):void{
var _local3:uint;
var _local4:uint;
var _local5:uint;
var _local6:BasicButton;
if (currentTip >= 0){
_local3 = ((_arg1 - this.x) - 30);
_local4 = ((_arg2 - this.y) - 41);
_local5 = 0;
while (_local5 < buttons.length) {
_local6 = buttons[_local5];
if ((((((((_local3 > _local6.x)) && ((_local4 > _local6.y)))) && ((_local3 < (_local6.x + _local6.width))))) && ((_local4 < (_local6.y + _local6.height))))){
_local6.selected = true;
} else {
_local6.selected = false;
};
_local5++;
};
};
}
private function ():void{
var _local1:Instruction;
var _local2:Matrix;
var _local3:uint;
var _local4:uint;
var _local5:InstructionPicture;
_local1 = .getInstruction(currentTip);
.text = _local1.text;
.filters = ;
_local2 = new Matrix();
_local2.translate(10, 10);
.draw( , _local2);
_local3 = 0;
while (_local3 < _local1.assets.length) {
_local5 = _local1.assets[_local3];
_local2 = new Matrix();
_local2.translate(_local5.position.x, _local5.position.y);
.draw(TextureLoader.getTexture(_local5.name), _local2);
_local3++;
};
_local4 = 0;
while (_local4 < buttons.length) {
(buttons[_local4]);
_local4++;
};
_local2 = new Matrix();
_local2.translate(
.x,
.y);
.draw(
.getGraphics(), _local2);
}
}
}//package source.tutorial
Section 18
//GameInstructor (source.tutorial.GameInstructor)
package source.tutorial {
import flash.geom.*;
public class GameInstructor {
private var
:Array;
public function GameInstructor(){
var _local1:String;
super();
= new Array(0);
_local1 = "To advance to the next level you have to";
_local1 = (_local1 + "\nfill up the level score meter before");
_local1 = (_local1 + "\nthe time runs out.");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\nThe difficulty slowly increases with");
_local1 = (_local1 + "\n each new level.");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\n1/5");
(_local1, [new InstructionPicture("howtoplayarrow", new Point(370, 100))]);
_local1 = "Click and drag a piece to swap it with";
_local1 = (_local1 + "\nan adjacent piece.");
_local1 = (_local1 + "\nAlign 3 or more pieces of");
_local1 = (_local1 + "\nthe same color to remove them.");
_local1 = (_local1 + "\nPieces will refill and you");
_local1 = (_local1 + "\nscore points.");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\nYou can only swap pieces if its");
_local1 = (_local1 + "\ncreating a match");
_local1 = (_local1 + "\nor if you have special moves.");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\n2/5");
(_local1, [new InstructionPicture("tutorial0", new Point(280, 270))]);
_local1 = "Special moves allow you to swap pieces";
_local1 = (_local1 + "\neven if its not creating a match.");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\nYou will earn the most special moves");
_local1 = (_local1 + "\nin the very first few easier levels.");
_local1 = (_local1 + "\nSo the best is to save them up until");
_local1 = (_local1 + "\nyou really need them in the higher levels.");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\n3/5");
(_local1, [new InstructionPicture("howtoplayarrow", new Point(370, 270))]);
_local1 = "You get special moves for doing combos";
_local1 = (_local1 + "\nor matches of 4 pieces.");
_local1 = (_local1 + "\nThe bigger the combo, the more");
_local1 = (_local1 + "\nspecial moves you get.");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\nYou can accumulate a maximum of");
_local1 = (_local1 + "\n99 special moves.");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\n4/5");
(_local1, [new InstructionPicture("tutorial1", new Point(160, 235))]);
_local1 = "Eventually you will get introduced to";
_local1 = (_local1 + "\nspecial pieces and obstacles.");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\nThis one for example can be matched");
_local1 = (_local1 + "\nwith any piece, except for special pieces.");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\nOther special pieces will be explained");
_local1 = (_local1 + "\nand unlocked during the game.");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\n5/5");
(_local1, [new InstructionPicture("tile10", new Point(260, 220))]);
}
public function getInstruction(_arg1:uint):Instruction{
return (
[_arg1]);
}
private function
(_arg1:String, _arg2:Array):void{
.push(new Instruction(_arg1, _arg2));
}
public function getMax():uint{
return ((
.length - 1));
}
}
}//package source.tutorial
Section 19
//GameTips (source.tutorial.GameTips)
package source.tutorial {
import flash.geom.*;
public class GameTips {
private var
:Array;
public function GameTips(){
var _local1:String;
super();
= new Array(0);
_local1 = "To advance to the next level you have to";
_local1 = (_local1 + "\nfill up the level score meter before");
_local1 = (_local1 + "\nthe time runs out.");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\nClick and drag to swap adjacent pieces.");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\nCombos give you special moves, without");
_local1 = (_local1 + "\nspecial moves you can only swap if");
_local1 = (_local1 + "\nit aranges 3 or more pieces of matching");
_local1 = (_local1 + "\ncolor.");
(_local1, [new InstructionPicture("tutorial0", new Point(220, 160))]);
_local1 = "Obstacles, will additionally increase";
_local1 = (_local1 + "\nthe difficulty.");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\nThis one for example can not be");
_local1 = (_local1 + "\nmatched or moved at all.");
(_local1, [new InstructionPicture("tile20", new Point(230, 125))]);
_local1 = "Special pieces, will come in handy";
_local1 = (_local1 + "\nwhen everything seems stuck.");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\nThis one for example can be");
_local1 = (_local1 + "\nmatched with any color piece,");
_local1 = (_local1 + "\nexcept for special pieces.");
(_local1, [new InstructionPicture("tile10", new Point(230, 125))]);
_local1 = "\nThis one gives some extra Points.";
(_local1, [new InstructionPicture("tile11", new Point(230, 125))]);
_local1 = "\nThis one can be moved,";
_local1 = (_local1 + "\nbut can't be matched.");
(_local1, [new InstructionPicture("tile21", new Point(230, 125))]);
_local1 = "\nThis one gives you 10 extra";
_local1 = (_local1 + "\nseconds time extension.");
(_local1, [new InstructionPicture("tile12", new Point(230, 125))]);
_local1 = "\nThis one clears a horizontal row.";
(_local1, [new InstructionPicture("tile13", new Point(230, 125))]);
_local1 = "\nThis one clears a vertical row.";
(_local1, [new InstructionPicture("tile14", new Point(230, 125))]);
_local1 = "\nThis one clears a diagonal row";
_local1 = (_local1 + "\nfrom top left to lower right.");
(_local1, [new InstructionPicture("tile15", new Point(230, 125))]);
_local1 = "\nThis one clears a diagonal row";
_local1 = (_local1 + "\nfrom lower left to top right.");
(_local1, [new InstructionPicture("tile16", new Point(230, 125))]);
_local1 = "\nThis one clears a horizontal";
_local1 = (_local1 + "\nand a vertical row.");
(_local1, [new InstructionPicture("tile17", new Point(230, 125))]);
_local1 = "\nThis one clears the diagonal rows.";
(_local1, [new InstructionPicture("tile18", new Point(230, 125))]);
_local1 = "\nThese obstacles can only be";
_local1 = (_local1 + "\nmoved in the direction which");
_local1 = (_local1 + "\nthe green arrow is pointing.");
(_local1, [new InstructionPicture("tile22", new Point(230, 125))]);
_local1 = "\nThe final piece will nuke its";
_local1 = (_local1 + "\nsurrounding pieces, clearing");
_local1 = (_local1 + "\na big area.");
_local1 = (_local1 + "\n");
_local1 = (_local1 + "\nDon't forget to do combos,");
_local1 = (_local1 + "\nwhenever you can or you will not");
_local1 = (_local1 + "\nlast very long in the high levels.");
(_local1, [new InstructionPicture("tile19", new Point(230, 125))]);
}
public function getInstruction(_arg1:uint):Instruction{
return (
[_arg1]);
}
private function
(_arg1:String, _arg2:Array):void{
.push(new Instruction(_arg1, _arg2));
}
public function getMax():uint{
return ((
.length - 1));
}
}
}//package source.tutorial
Section 20
//Instruction (source.tutorial.Instruction)
package source.tutorial {
public class Instruction {
public var assets:Array;
public var text:String;
public function Instruction(_arg1:String, _arg2:Array){
text = _arg1;
assets = _arg2;
}
}
}//package source.tutorial
Section 21
//InstructionPicture (source.tutorial.InstructionPicture)
package source.tutorial {
import flash.geom.*;
public class InstructionPicture {
public var position:Point;
public var name:String;
public function InstructionPicture(_arg1:String, _arg2:Point){
name = _arg1;
position = _arg2;
}
}
}//package source.tutorial
Section 22
//ShowButton (source.tutorial.ShowButton)
package source.tutorial {
import source.*;
import flash.display.*;
import source.io.*;
public class ShowButton extends BasicButton {
private var text:String;
private var :BitmapData;
public function ShowButton(_arg1:String, _arg2:String, _arg3:int, _arg4:int, _arg5:uint, _arg6:uint){
super(_arg1, "", _arg3, _arg4, _arg5, _arg6);
text = _arg2;
= new BitmapData(width, height, true, 0);
}
override public function getGraphics():BitmapData{
();
return ( );
}
private function ():void{
var _local1:BitmapData;
var _local2:BitmapData;
.lock();
.fillRect( .rect, 0);
_local1 = TextureLoader.getTexture("showtip_bg");
_local2 = TextureLoader.getTexture(text);
.draw(_local1);
if (selected){
.draw(TextureLoader.getTexture("showtip_hl"));
};
.draw(_local2);
.unlock();
}
}
}//package source.tutorial
Section 23
//ShowTip (source.tutorial.ShowTip)
package source.tutorial {
import flash.display.*;
import source.io.*;
public class ShowTip {
private var :BitmapData;
public var y:int;
public var show:Boolean;
public var x:int;
public function ShowTip(_arg1:int, _arg2:int){
x = _arg1;
y = _arg2;
show = true;
= new BitmapData(36, 36, true, 0);
}
public function getGraphics():BitmapData{
();
return ( );
}
private function ():void{
.lock();
.fillRect( .rect, 0);
if (show){
.draw(TextureLoader.getTexture("tips_show"));
} else {
.draw(TextureLoader.getTexture("tips_hide"));
};
.unlock();
}
}
}//package source.tutorial
Section 24
//SyncTimer (source.utils.SyncTimer)
package source.utils {
import flash.utils.*;
public class SyncTimer {
private var
:int;
private var :int;
public function SyncTimer(){
reset();
}
public function addTime(_arg1:uint):void{
= ( - _arg1);
}
public function reset():void{
= 0;
= 0;
}
public function getSecondsLeft(_arg1:int):int{
return (Math.max(0, (_arg1 - ( / 1000))));
}
public function update(_arg1:Boolean):void{
var _local2:int;
_local2 = getTimer();
if (_arg1){
= ( + (_local2 -
));
};
= _local2;
}
public function ():int{
return ();
}
public function getString(_arg1:int):String{
var _local2:int;
var _local3:int;
var _local4:String;
var _local5:String;
_local2 = Math.floor((_arg1 / 60));
_local3 = Math.round((_arg1 % 60));
if (_local2 < 10){
_local5 = ("0" + _local2);
} else {
_local5 = ("" + _local2);
};
if (_local3 < 10){
_local4 = ("0" + _local3);
} else {
_local4 = ("" + _local3);
};
return (new String(((_local5 + ":") + _local4)));
}
}
}//package source.utils
Section 25
//AnimatedParticle (source.AnimatedParticle)
package source {
import flash.display.*;
import flash.geom.*;
public class AnimatedParticle {
private var :Array;
public function AnimatedParticle(){
= new Array(0);
}
public function
():Array{
return ();
}
public function getFrame(_arg1:uint):BitmapData{
return ([_arg1]);
}
public function destroy():void{
var _local1:uint;
_local1 = 0;
while (_local1 < .length) {
[_local1].dispose();
[_local1] = null;
var _temp1 = _local1;
_local1 = (_local1 - 1);
.splice(_temp1, 1);
_local1++;
};
}
public function addFrame(_arg1:BitmapData):void{
.push(_arg1);
}
public function ():uint{
return (.length);
}
}
}//package source
Section 26
//BackButton (source.BackButton)
package source {
import flash.display.*;
import source.io.*;
public class BackButton extends BasicButton {
private var text:String;
private var :BitmapData;
public function BackButton(_arg1:String, _arg2:String, _arg3:int, _arg4:int, _arg5:uint, _arg6:uint){
super(_arg1, "", _arg3, _arg4, _arg5, _arg6);
text = _arg2;
= new BitmapData(width, height, true, 0);
}
override public function getGraphics():BitmapData{
();
return ( );
}
private function ():void{
var _local1:BitmapData;
var _local2:BitmapData;
.lock();
.fillRect( .rect, 0);
_local1 = TextureLoader.getTexture("backtomenu_button_bg");
_local2 = TextureLoader.getTexture(text);
.draw(_local1);
if (selected){
.draw(TextureLoader.getTexture("backtomenu_button_hl"));
};
.draw(_local2);
.unlock();
}
}
}//package source
Section 27
//BasicButton (source.BasicButton)
package source {
import flash.display.*;
public class BasicButton {
public var width:uint;
public var height:uint;
public var label:String;
private var :BitmapData;
public var y:int;
public var selected:Boolean;
public var x:int;
public function BasicButton(_arg1:String, _arg2:String, _arg3:int, _arg4:int, _arg5:uint, _arg6:uint){
label = _arg1;
x = _arg3;
y = _arg4;
width = _arg5;
height = _arg6;
selected = false;
}
public function getGraphics():BitmapData{
return ( );
}
}
}//package source
Section 28
//CachedParticle (source.CachedParticle)
package source {
import flash.display.*;
public class CachedParticle {
public var frame:uint;
public var lastFrame:uint;
public var x:Number;
public var y:Number;
private var texture:AnimatedParticle;
public function CachedParticle(_arg1:Number, _arg2:Number, _arg3:AnimatedParticle){
x = _arg1;
y = _arg2;
texture = _arg3;
frame = 0;
lastFrame = texture.();
}
public function getTexture():BitmapData{
return (texture.getFrame(frame++));
}
}
}//package source
Section 29
//CheckResult (source.CheckResult)
package source {
public class CheckResult {
public var tileI:uint;
public var tileJ:uint;
public var length:uint;
public function CheckResult(_arg1:uint, _arg2:uint, _arg3:uint){
tileI = _arg1;
tileJ = _arg2;
length = _arg3;
}
public function ():String{
return (new String(((((("i: " + tileI) + " j: ") + tileJ) + " length: ") + length)));
}
}
}//package source
Section 30
//EnergyBeam (source.EnergyBeam)
package source {
import flash.display.*;
import source.io.*;
public class EnergyBeam {
private var :uint;
private var currentFrame:uint;
public var x:int;
public var y:int;
public var rotation:Number;
public function EnergyBeam(_arg1:int, _arg2:int, _arg3:Number){
x = _arg1;
y = _arg2;
rotation = _arg3;
= 6;
currentFrame = Math.floor((Math.random() * ));
}
public function getGraphics():BitmapData{
currentFrame++;
if (currentFrame >= ){
currentFrame = 0;
};
return (TextureLoader.getTexture(("energybeam" + currentFrame)));
}
}
}//package source
Section 31
//FieldChecker (source.FieldChecker)
package source {
import flash.geom.*;
import source.io.*;
public class FieldChecker {
private static var fieldHeight:uint;
private static var fieldWidth:uint;
private static var wildTileNum:uint;
private static var checkField:Array;
private static var matchColor:int = -1;
public function FieldChecker(_arg1:int){
wildTileNum = _arg1;
}
public function (_arg1, _arg2, _arg3:int):Boolean{
if ((((((((_arg1 < 0)) || ((_arg1 > (fieldWidth - 1))))) || ((_arg2 < 0)))) || ((_arg2 > (fieldHeight - 1))))){
return (false);
};
return (canMatch(checkField[_arg1][_arg2].type, _arg3));
}
public function lookForPossibles(_arg1:Array):Boolean{
var _local2:int;
var _local3:int;
checkField = _arg1;
fieldWidth = _arg1.length;
fieldHeight = _arg1[0].length;
_local2 = 0;
while (_local2 < _arg1.length) {
_local3 = 0;
while (_local3 < _arg1.length) {
if ((_local2, _local3, [1, 0], [[-2, 0], [-1, -1], [-1, 1], [2, -1], [2, 1], [3, 0]])){
return (true);
};
if ((_local2, _local3, [2, 0], [[1, -1], [1, 1]])){
return (true);
};
if ((_local2, _local3, [0, 1], [[0, -2], [-1, -1], [1, -1], [-1, 2], [1, 2], [0, 3]])){
return (true);
};
if ((_local2, _local3, [0, 2], [[-1, 1], [1, 1]])){
return (true);
};
_local3++;
};
_local2++;
};
return (false);
}
public function getHorizontalMatches(_arg1:Array):Array{
var _local2:Array;
var _local3:uint;
var _local4:uint;
var _local5:uint;
var _local6:uint;
_local2 = new Array(0);
_local3 = 0;
while (_local3 < _arg1[0].length) {
_local4 = 0;
while (_local4 < (_arg1.length - 2)) {
_local5 = 0;
matchColor = -1;
_local6 = (_local4 + 1);
while (_local6 < _arg1.length) {
if (canMatch(_arg1[_local6][_local3].type, _arg1[_local4][_local3].type)){
_local5++;
} else {
break;
};
_local6++;
};
if (_local5 > 1){
_local2.push(new CheckResult(_local4, _local3, (_local5 + 1)));
_local4 = (_local4 + _local5);
};
_local4++;
};
_local3++;
};
return (_local2);
}
public function (_arg1, _arg2:uint, _arg3, _arg4:Array):Boolean{
var _local5:int;
var _local6:uint;
_local5 = checkField[_arg1][_arg2].type;
matchColor = -1;
if (! ((_arg1 + _arg3[0]), (_arg2 + _arg3[1]), _local5)){
return (false);
};
_local6 = 0;
while (_local6 < _arg4.length) {
if ( ((_arg1 + _arg4[_local6][0]), (_arg2 + _arg4[_local6][1]), _local5)){
return (true);
};
_local6++;
};
return (false);
}
public function getVerticalMatches(_arg1:Array):Array{
var _local2:Array;
var _local3:uint;
var _local4:uint;
var _local5:uint;
var _local6:uint;
_local2 = new Array(0);
_local3 = 0;
while (_local3 < _arg1.length) {
_local4 = 0;
while (_local4 < (_arg1[0].length - 2)) {
_local5 = 0;
matchColor = -1;
_local6 = (_local4 + 1);
while (_local6 < _arg1[0].length) {
if (canMatch(_arg1[_local3][_local6].type, _arg1[_local3][_local4].type)){
_local5++;
} else {
break;
};
_local6++;
};
if (_local5 > 1){
_local2.push(new CheckResult(_local3, _local4, (_local5 + 1)));
_local4 = (_local4 + _local5);
};
_local4++;
};
_local3++;
};
return (_local2);
}
public static function validMove(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint, _arg5:Array):Boolean{
var _local6:Array;
var _local7:Tile;
var _local8:Boolean;
_local6 = _arg5;
_local7 = _local6[_arg1][_arg2];
_local6[_arg1][_arg2] = _local6[_arg3][_arg4];
_local6[_arg3][_arg4] = _local7;
_local8 = checkFieldsValid(_local6);
_local7 = _local6[_arg1][_arg2];
_local6[_arg1][_arg2] = _local6[_arg3][_arg4];
_local6[_arg3][_arg4] = _local7;
return (_local8);
}
private static function canMatch(_arg1:uint, _arg2:uint):Boolean{
if ((((_arg1 > wildTileNum)) || ((_arg2 > wildTileNum)))){
return (false);
};
if (FieldChecker.matchColor == -1){
if ((((_arg1 < wildTileNum)) && ((_arg2 == wildTileNum)))){
FieldChecker.matchColor = _arg1;
} else {
if ((((_arg1 == wildTileNum)) && ((_arg2 < wildTileNum)))){
FieldChecker.matchColor = _arg2;
} else {
if ((((_arg1 == wildTileNum)) && ((_arg2 == wildTileNum)))){
return (true);
};
FieldChecker.matchColor = _arg1;
};
};
};
if (_arg1 == _arg2){
return (true);
};
if ((((_arg1 == wildTileNum)) && ((_arg2 == FieldChecker.matchColor)))){
return (true);
};
if ((((_arg1 == FieldChecker.matchColor)) && ((_arg2 == wildTileNum)))){
return (true);
};
return (false);
}
public static function checkFieldsValid(_arg1:Array):Boolean{
var _local2:uint;
var _local3:uint;
var _local4:uint;
var _local5:int;
var _local6:int;
_local6 = 0;
while (_local6 < _arg1[0].length) {
_local5 = 0;
while (_local5 < (_arg1.length - 2)) {
_local2 = _arg1[_local5][_local6].type;
_local3 = (_local5 + 1);
_local4 = 0;
FieldChecker.matchColor = -1;
while (((!((_arg1[_local3][_local6] == null))) && ((canMatch(_arg1[_local3][_local6].type, _local2) == true)))) {
_local3++;
_local4++;
if (_local3 >= _arg1.length){
break;
};
};
if (_local4 > 1){
return (true);
};
_local5++;
};
_local6++;
};
_local5 = 0;
while (_local5 < _arg1.length) {
_local6 = 0;
while (_local6 < (_arg1[0].length - 2)) {
_local2 = _arg1[_local5][_local6].type;
_local3 = (_local6 + 1);
_local4 = 0;
FieldChecker.matchColor = -1;
while (((!((_arg1[_local5][_local3] == null))) && ((canMatch(_arg1[_local5][_local3].type, _local2) == true)))) {
_local3++;
_local4++;
if (_local3 >= _arg1[0].length){
break;
};
};
if (_local4 > 1){
return (true);
};
_local6++;
};
_local5++;
};
return (false);
}
}
}//package source
Section 32
//FinishDisplay (source.FinishDisplay)
package source {
import flash.display.*;
import flash.geom.*;
import flash.text.*;
import source.sound.*;
import source.io.*;
public class FinishDisplay {
public var y:int;
public var width:int;
private var :int;
private var state:uint;
private var
:uint;
private var :TextField;
private var :BitmapData;
private var
:TextField;
public var height:int;
private var :uint;
private var
:uint;
private var
:TextField;
private var
:TextField;
public var x:int;
public function FinishDisplay(_arg1:int, _arg2:int, _arg3:uint, _arg4:uint){
x = _arg1;
y = _arg2;
width = _arg3;
height = _arg4;
= new BitmapData(width, height, true, 0);
= ();
= ();
= ();
= ();
}
public function getGraphics():BitmapData{
var _local1:Matrix;
.lock();
.copyPixels(TextureLoader.getTexture("finishlevel"), .rect, new Point(0, 0), null, null, true);
_local1 = new Matrix();
_local1.translate(20, 20);
.draw( , _local1);
_local1 = new Matrix();
_local1.translate(20, 80);
.draw(
, _local1);
_local1 = new Matrix();
_local1.translate(20, 100);
.draw(
, _local1);
_local1 = new Matrix();
_local1.translate(20, 140);
.draw(
, _local1);
.unlock();
return ( );
}
public function getState():int{
switch (state){
case 0:
if (
<
){
= (
+ 10);
.text = ("Time Bonus " +
);
} else {
.text = ("Time Bonus " +
);
= 50;
state = 1;
SoundManager.playSound("markdirection");
};
break;
case 1:
.text = ("Total Score " + );
if (-- < 0){
state = 2;
};
break;
case 2:
break;
};
return (state);
}
public function setTexts(_arg1:uint, _arg2:uint, _arg3:int, _arg4:uint):void{
.text = (("Level " + _arg1) + " Complete");
.text = ("Level Score " + _arg2);
.text = "Time Bonus ";
.text = "";
state = 0;
= _arg3;
= 0;
= _arg4;
SoundManager.playSound("markdirection");
}
private function ():TextField{
var _local1:TextField;
var _local2:TextFormat;
_local1 = new TextField();
_local1.embedFonts = true;
_local1.antiAliasType = AntiAliasType.NORMAL;
_local1.width = 200;
_local1.height = 50;
_local1.selectable = false;
_local1.multiline = false;
_local2 = new TextFormat();
_local2.font = "Adventure Subtitles";
_local2.color = 0x95F700;
_local2.bold = true;
_local2.size = 15;
_local2.align = "left";
_local1.defaultTextFormat = _local2;
return (_local1);
}
}
}//package source
Section 33
//GameCore (source.GameCore)
package source {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import source.gui.*;
import source.sound.*;
import source.io.*;
import mochi.as3.*;
import flash.filters.*;
import flash.ui.*;
import flash.utils.*;
public dynamic class GameCore extends MovieClip {
private var
:TextureLoader;
private var
:PlayField;
private var :GameGui;
public var mb1:addthisgame;
public var mb2:arcacxdebomb;
private var :ParticleRenderer;
private var :SoundManager;
private var :Boolean;
private var
:MovieClip;
private static var hiddenContextMenu:ContextMenu;
private static var instance:GameCore;
public function GameCore(){
addFrameScript(0, , 1, , 2, , 3,
, 4, );
instance = this;
hiddenContextMenu = new ContextMenu();
hiddenContextMenu.hideBuiltInItems();
contextMenu = hiddenContextMenu;
= new bomb_preloader();
.x = 322;
.y = 249;
.stop();
.loaderbar.stop();
addChild(
);
addEventListener(Event.ENTER_FRAME, );
}
private function init():void{
var _local1:*;
_local1 = getDefinitionByName("AdventureSubtitlesLinkage");
Font.registerFont(_local1);
_local1 = getDefinitionByName("DigitaldreamFatLinkage");
Font.registerFont(_local1);
= false;
= TextureLoader.getInstance(this);
= SoundManager.getInstance(this);
= GameGui.getInstance(this);
TextureLoader.loadImages();
SoundManager.loadSounds();
.init();
= new PlayField(400, 400, 30, 41);
addChild(
);
.spaceDoor.changeState("open");
= new ParticleRenderer();
this.addEventListener(Event.ENTER_FRAME, update);
stage.addEventListener(KeyboardEvent.KEY_DOWN, );
stage.addEventListener(KeyboardEvent.KEY_UP, );
stage.addEventListener(MouseEvent.MOUSE_DOWN, );
stage.addEventListener(MouseEvent.MOUSE_UP,
);
stage.addEventListener(MouseEvent.MOUSE_WHEEL, );
stage.addEventListener(MouseEvent.MOUSE_MOVE, );
}
private function
(_arg1:MouseEvent):void{
= false;
if (
.running){
if ((((
.isLocked == false)) && ((
.fieldInstruction.currentTip < 0)))){
.unselect();
};
} else {
.soundBar.stopDragging();
.musicBar.stopDragging();
};
}
private function (_arg1:MouseEvent):void{
if (
.running){
if ((((
.isLocked == false)) && ((
.fieldInstruction.currentTip < 0)))){
if (
.tileIsSelected()){
.moveMouse(mouseX, mouseY);
};
} else {
.fieldInstruction.checkMouse(mouseX, mouseY);
};
} else {
if (
.soundBar.dragged){
SoundManager.setSoundVolume(
.soundBar.getPercentage());
};
if (
.musicBar.dragged){
SoundManager.setMusicVolume(
.musicBar.getPercentage());
};
};
}
private function (_arg1:KeyboardEvent):void{
switch (_arg1.keyCode){
case 32:
break;
case 68:
break;
};
}
function (){
gotoAndStop(5);
}
function (){
stop();
}
function (){
stop();
init();
}
private function (_arg1:Event){
var _local2:int;
var _local3:int;
var _local4:int;
_local2 = this.root.loaderInfo.bytesLoaded;
_local3 = this.root.loaderInfo.bytesTotal;
if ((_local2 / _local3) < 1){
_local4 = Math.round(((_local2 / _local3) * 100));
.loaderbar.gotoAndStop(_local4);
} else {
.gotoAndPlay(4);
removeEventListener(Event.ENTER_FRAME, );
addEventListener(Event.ENTER_FRAME, );
};
}
private function (_arg1:Event){
if (
.currentFrame >= 235){
removeEventListener(Event.ENTER_FRAME, );
gotoAndStop("Mochiad");
};
}
function (){
MochiAd.showPreGameAd({clip:root, id:"b6263e16932e64ee", res:"640x480"});
}
private function (_arg1:KeyboardEvent):void{
switch (_arg1.keyCode){
};
}
function
(){
gotoAndStop(5);
}
private function (_arg1:MouseEvent):void{
}
private function update(_arg1:Event):void{
FPSCounter.update();
if (
.running == false){
.menuPanel.checkMouse(mouseX, mouseY);
};
.update();
}
private function (_arg1:MouseEvent):void{
if (
.running){
= true;
if ((((
.isLocked == false)) && ((
.fieldInstruction.currentTip < 0)))){
.selectCoordynates(mouseX, mouseY);
} else {
.fieldInstruction.checkPress(mouseX, mouseY);
};
} else {
.menuPanel.checkPress(mouseX, mouseY);
};
}
}
}//package source
Section 34
//InGameButton (source.InGameButton)
package source {
import flash.display.*;
import flash.events.*;
import source.sound.*;
import source.io.*;
public class InGameButton extends Sprite {
public var
:PlayField;
private var text:String;
public var label:String;
private var :BitmapData;
public var state:uint;
public var selected:Boolean;
public function InGameButton(_arg1:String, _arg2:int, _arg3:int, _arg4:PlayField){
label = _arg1;
state = 0;
= _arg4;
text = "backtomenu_button_txt1";
x = _arg2;
y = _arg3;
selected = false;
= new BitmapData(TextureLoader.getTexture("backtomenu_button_bg").rect.width, TextureLoader.getTexture("backtomenu_button_bg").rect.height, true, 0);
addChild(new Bitmap( ));
addEventListener(MouseEvent.MOUSE_DOWN, );
addEventListener(MouseEvent.MOUSE_OVER, );
addEventListener(MouseEvent.MOUSE_OUT, );
();
}
private function (_arg1:MouseEvent):void{
if (state > 0){
selected = true;
();
};
}
private function (_arg1:MouseEvent):void{
if (state > 0){
selected = false;
();
};
}
private function ():void{
var _local1:BitmapData;
var _local2:BitmapData;
.lock();
.fillRect( .rect, 0);
if (state > 0){
_local1 = TextureLoader.getTexture("backtomenu_button_bg");
_local2 = TextureLoader.getTexture(text);
.draw(_local1);
if (selected){
.draw(TextureLoader.getTexture("backtomenu_button_hl"));
};
.draw(_local2);
};
.unlock();
}
public function changeState(_arg1:uint):void{
switch (_arg1){
case 0:
state = 0;
break;
case 1:
state = 1;
text = "backtomenu_button_txt1";
break;
case 2:
state = 2;
text = "backtomenu_button_txt3";
break;
};
();
}
private function (_arg1:MouseEvent):void{
switch (state){
case 0:
break;
case 1:
.running = false;
.menuPanel.showMenu = true;
SoundManager.playSound("open");
changeState(2);
break;
case 2:
SoundManager.playSound("back");
.running = true;
.menuPanel.showMenu = false;
MenuPanel.state = 0;
.menuPanel.buttons =
.menuPanel.buttons_main;
if (
.displayClip.contains(
.scoreFields)){
.displayClip.removeChild(
.scoreFields);
};
if (
.displayClip.contains(
.scoreBoard)){
.displayClip.removeChild(
.scoreBoard);
};
if (
.contains(
.soundBar)){
.removeChild(
.soundBar);
};
if (
.contains(
.musicBar)){
.removeChild(
.musicBar);
};
changeState(1);
break;
};
}
}
}//package source
Section 35
//Level (source.Level)
package source {
public class Level {
public var levelDimension:uint;
public var levelScoreNeeded:uint;
public var tipNum:int;
public var totalTime:uint;
public var unlockedColors:uint;
public var boxNum0:uint;
public var unlockedSpecial:uint;
public var boxNum2:uint;
public var specialUnlocked:Boolean;
public var boxNum1:uint;
public function Level(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint, _arg5:uint, _arg6:Boolean, _arg7:uint, _arg8:uint, _arg9:uint, _arg10:int){
levelDimension = _arg1;
levelScoreNeeded = _arg2;
totalTime = _arg3;
unlockedColors = _arg4;
unlockedSpecial = _arg5;
specialUnlocked = _arg6;
boxNum0 = _arg7;
boxNum1 = _arg8;
boxNum2 = _arg9;
tipNum = _arg10;
}
}
}//package source
Section 36
//LevelLoader (source.LevelLoader)
package source {
public class LevelLoader {
private var :Array;
public function LevelLoader(){
= new Array();
[0] = new Level(4, 500, 20, 2, 0, false, 0, 0, 0, 0);
[1] = new Level(5, 700, 20, 3, 0, false, 1, 0, 0, 1);
[2] = new Level(5, 800, 20, 3, 0, true, 1, 0, 0, 2);
[3] = new Level(6, 900, 20, 3, 1, true, 2, 0, 0, 3);
[4] = new Level(6, 1000, 20, 3, 1, true, 2, 1, 0, 4);
[5] = new Level(6, 1000, 20, 4, 2, true, 2, 1, 0, 5);
[6] = new Level(7, 1000, 25, 4, 3, true, 2, 2, 0, 6);
[7] = new Level(7, 1000, 25, 4, 4, true, 2, 2, 0, 7);
[8] = new Level(8, 1000, 30, 4, 5, true, 2, 2, 0, 8);
[9] = new Level(8, 1000, 30, 5, 6, true, 2, 2, 0, 9);
[10] = new Level(8, 1000, 30, 5, 7, true, 3, 2, 0, 10);
[11] = new Level(8, 1000, 30, 5, 8, true, 3, 3, 0, 11);
[12] = new Level(9, 1000, 35, 5, 8, true, 3, 3, 1, 12);
[13] = new Level(9, 1000, 35, 6, 8, true, 3, 3, 1, 13);
[14] = new Level(9, 1000, 35, 7, 8, true, 3, 3, 1, -1);
[15] = new Level(10, 1000, 40, 7, 8, true, 3, 3, 2, -1);
[16] = new Level(10, 1000, 40, 8, 8, true, 3, 3, 2, -1);
[17] = new Level(10, 1000, 40, 8, 8, true, 3, 3, 3, -1);
[18] = new Level(10, 1000, 40, 8, 8, true, 4, 3, 3, -1);
[19] = new Level(10, 1000, 40, 8, 8, true, 4, 4, 3, -1);
[20] = new Level(10, 1000, 40, 8, 8, true, 4, 4, 4, -1);
[21] = new Level(10, 1000, 40, 8, 8, true, 5, 4, 4, -1);
[22] = new Level(10, 1000, 40, 8, 8, true, 5, 5, 5, -1);
[23] = new Level(10, 1000, 40, 8, 8, true, 6, 5, 5, -1);
[24] = new Level(10, 1000, 50, 8, 8, true, 6, 6, 5, -1);
[25] = new Level(10, 1000, 50, 8, 8, true, 6, 6, 6, -1);
[26] = new Level(10, 1000, 50, 8, 8, true, 7, 6, 6, -1);
[27] = new Level(10, 1000, 50, 8, 8, true, 7, 7, 6, -1);
[28] = new Level(10, 1000, 50, 8, 8, true, 7, 7, 7, -1);
[29] = new Level(10, 1000, 55, 8, 8, true, 8, 7, 7, -1);
[30] = new Level(10, 1000, 60, 8, 8, true, 8, 8, 7, -1);
[31] = new Level(10, 1000, 55, 8, 8, true, 8, 8, 8, -1);
[32] = new Level(10, 1000, 50, 8, 8, true, 9, 8, 8, -1);
[33] = new Level(10, 1000, 50, 8, 8, true, 9, 9, 8, -1);
[34] = new Level(10, 1000, 50, 8, 8, true, 9, 9, 9, -1);
[35] = new Level(10, 1000, 50, 8, 8, true, 10, 9, 9, -1);
[36] = new Level(10, 1000, 50, 8, 8, true, 10, 10, 9, -1);
[37] = new Level(10, 1000, 50, 8, 8, true, 10, 10, 10, -1);
[38] = new Level(10, 1000, 45, 8, 8, true, 10, 10, 10, -1);
[39] = new Level(10, 1000, 40, 8, 8, true, 10, 10, 10, -1);
[40] = new Level(10, 1000, 40, 8, 8, true, 10, 10, 10, -1);
[41] = new Level(10, 1000, 40, 8, 8, true, 10, 10, 10, -1);
[42] = new Level(10, 1000, 35, 8, 8, true, 10, 10, 10, -1);
[43] = new Level(10, 1000, 30, 8, 8, true, 10, 10, 10, -1);
}
public function setLevel(_arg1:PlayField, _arg2:uint):void{
var _local3:Level;
_local3 = [_arg2];
_arg1.levelDimension = _local3.levelDimension;
_arg1.levelScoreNeeded = _local3.levelScoreNeeded;
_arg1.totalTime = _local3.totalTime;
_arg1.unlockedColors = _local3.unlockedColors;
_arg1.unlockedSpecial = _local3.unlockedSpecial;
_arg1.specialUnlocked = _local3.specialUnlocked;
_arg1.boxNum0 = _local3.boxNum0;
_arg1.boxNum1 = _local3.boxNum1;
_arg1.boxNum2 = _local3.boxNum2;
_arg1.fieldInstruction.setTip(_local3.tipNum);
}
public function getMaxLevels():uint{
return (.length);
}
}
}//package source
Section 37
//MenuButton (source.MenuButton)
package source {
import flash.display.*;
import source.io.*;
public class MenuButton extends BasicButton {
private var text:String;
private var :BitmapData;
public function MenuButton(_arg1:String, _arg2:String, _arg3:int, _arg4:int, _arg5:uint, _arg6:uint){
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
text = _arg2;
= new BitmapData(width, height, true, 0);
}
override public function getGraphics():BitmapData{
();
return ( );
}
private function ():void{
var _local1:BitmapData;
var _local2:BitmapData;
.lock();
.fillRect( .rect, 0);
_local1 = TextureLoader.getTexture("menubuttonbg");
_local2 = TextureLoader.getTexture(text);
.draw(_local1);
if (selected){
.draw(TextureLoader.getTexture("menubuttonhl"));
};
.draw(_local2);
.unlock();
}
}
}//package source
Section 38
//MenuPanel (source.MenuPanel)
package source {
import flash.display.*;
import flash.geom.*;
import flash.text.*;
import source.tutorial.*;
import source.sound.*;
import source.io.*;
import flash.filters.*;
public class MenuPanel {
private var
:Array;
private var :Array;
private var width:uint;
public var buttons:Array;
public var
:Array;
public var
:Array;
public var
:uint;
private var :BitmapData;
public var
:Array;
private var height:uint;
private var
:PlayField;
public var buttons_main:Array;
public var showMenu:Boolean;
public static var state:int;
public static var gameInstructor:GameInstructor;
public function MenuPanel(_arg1:uint, _arg2:uint, _arg3:PlayField){
var _local4:uint;
var _local5:uint;
super();
= _arg3;
width = _arg1;
height = _arg2;
state = 0;
= 0;
= new BitmapData(_arg1, _arg2, true, 4278190080);
= new Array(0);
_local4 = 0;
while (_local4 < 10) {
.push(new EnergyBeam(90, 33, 0));
.push(new EnergyBeam(90, 340, 0));
.push(new EnergyBeam(60, 90, (Math.PI / 2)));
.push(new EnergyBeam(367, 90, (Math.PI / 2)));
_local4++;
};
buttons = new Array(0);
buttons_main = new Array(0);
= new Array(0);
= new Array(0);
= new Array(0);
.push(new BackButton("backtomenu", "backtomenu_button_txt1", 145, 375, 110, 18));
.push(new SmallButton("prev", "smallbutton_txt0", 100, 335, 46, 18));
.push(new SmallButton("next", "smallbutton_txt1", 254, 335, 46, 18));
.push(new BackButton("submitscore", "backtomenu_button_txt2", 70, 275, 110, 18));
.push(new BackButton("backtomenu", "backtomenu_button_txt1", 220, 275, 110, 18));
.push(new BackButton("backtomenu", "backtomenu_button_txt1", 145, 375, 110, 18));
_local5 = 75;
buttons_main.push(new MenuButton("new", "menubuttontxt0", 100, _local5, 200, 40));
buttons_main.push(new MenuButton("how", "menubuttontxt1", 100, (_local5 + 50), 200, 40));
buttons_main.push(new MenuButton("options", "menubuttontxt2", 100, (_local5 + 100), 200, 40));
buttons_main.push(new MenuButton("credits", "menubuttontxt3", 100, (_local5 + 150), 200, 40));
buttons_main.push(new MenuButton("highscores", "menubuttontxt4", 100, (_local5 + 200), 200, 40));
buttons = buttons_main;
();
gameInstructor = new GameInstructor();
showMenu = true;
}
public function getGraphics():BitmapData{
.lock();
if (showMenu){
switch (state){
case 0:
();
break;
case 1:
();
break;
case 2:
();
break;
case 3:
();
break;
case 4:
();
break;
case -1:
();
break;
};
} else {
.fillRect( .rect, 0);
};
.unlock();
return ( );
}
private function
():void{
var _local1:*;
var _local2:Matrix;
var _local3:uint;
.fillRect( .rect, 4278190080);
_local1 = TextureLoader.getTexture("menu_gameover");
_local2 = new Matrix();
_local2.translate(20, 20);
.draw(_local1, _local2);
_local3 = 0;
while (_local3 < buttons.length) {
(buttons[_local3]);
_local3++;
};
}
private function ():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Boolean;
var _local9:Boolean;
var _local10:Number;
var _local11:BitmapFilter;
_local1 = 0x4400;
_local2 = 45;
_local3 = 1;
_local4 = 1;
_local5 = 1;
_local6 = 2;
_local7 = 1;
_local8 = false;
_local9 = false;
_local10 = BitmapFilterQuality.HIGH;
_local11 = new DropShadowFilter(_local6, _local2, _local1, _local3, _local4, _local5, _local7, _local10, _local8, _local9);
= new Array();
.push(_local11);
}
private function
():void{
var _local1:*;
var _local2:uint;
.fillRect( .rect, 4278190080);
_local1 = TextureLoader.getTexture("menu_highscores");
.draw(_local1);
_local2 = 0;
while (_local2 < buttons.length) {
(buttons[_local2]);
_local2++;
};
}
private function
(_arg1:EnergyBeam):void{
var _local2:Matrix;
_local2 = new Matrix();
_local2.rotate(_arg1.rotation);
_local2.translate(_arg1.x, _arg1.y);
.draw(_arg1.getGraphics(), _local2, null, "add");
}
private function
():void{
var _local1:BitmapData;
var _local2:uint;
var _local3:uint;
.fillRect( .rect, 4278190080);
_local1 = TextureLoader.getTexture("submenubg");
.draw(_local1);
_local2 = 0;
while (_local2 < buttons.length) {
(buttons[_local2]);
_local2++;
};
_local3 = 0;
while (_local3 <
.length) {
(
[_local3]);
_local3++;
};
}
private function (_arg1:BasicButton):void{
var _local2:Matrix;
_local2 = new Matrix();
_local2.translate(_arg1.x, _arg1.y);
.draw(_arg1.getGraphics(), _local2);
}
public function checkPress(_arg1:Number, _arg2:Number):void{
var _local3:uint;
var _local4:uint;
var _local5:BasicButton;
var _local6:uint;
var _local7:BasicButton;
_local3 = (_arg1 - 30);
_local4 = (_arg2 - 41);
_local6 = 0;
while (_local6 < buttons.length) {
_local7 = buttons[_local6];
if ((((((((_local3 > _local7.x)) && ((_local4 > _local7.y)))) && ((_local3 < (_local7.x + _local7.width))))) && ((_local4 < (_local7.y + _local7.height))))){
_local5 = _local7;
break;
};
_local6++;
};
if (_local5 != null){
switch (_local5.label){
case "new":
state = 0;
.newGame();
SoundManager.playSound("open");
break;
case "how":
state = 1;
= 0;
buttons =
;
();
SoundManager.playSound("open");
break;
case "credits":
buttons =
;
();
state = 2;
SoundManager.playSound("open");
break;
case "options":
buttons =
;
();
state = 4;
SoundManager.playSound("open");
if (!
.contains(
.soundBar)){
.addChild(
.soundBar);
};
if (!
.contains(
.musicBar)){
.addChild(
.musicBar);
};
break;
case "backtomenu":
state = 0;
buttons = buttons_main;
if (
.displayClip.contains(
.scoreFields)){
.displayClip.removeChild(
.scoreFields);
};
if (
.displayClip.contains(
.scoreBoard)){
.displayClip.removeChild(
.scoreBoard);
};
if (
.contains(
.soundBar)){
.removeChild(
.soundBar);
};
if (
.contains(
.musicBar)){
.removeChild(
.musicBar);
};
SoundManager.playSound("back");
break;
case "submitscore":
.postHighscore();
state = 3;
buttons =
;
if (
.displayClip.contains(
.scoreFields)){
.displayClip.removeChild(
.scoreFields);
};
.displayClip.addChild(
.scoreBoard);
SoundManager.playSound("submitscore");
break;
case "highscores":
state = 3;
buttons =
;
.showHighScores();
.displayClip.addChild(
.scoreBoard);
SoundManager.playSound("open");
break;
case "prev":
= Math.max(0, (
- 1));
SoundManager.playSound("back");
break;
case "next":
= Math.min(gameInstructor.getMax(), (
+ 1));
SoundManager.playSound("open");
break;
};
};
}
private function
():void{
var _local1:*;
var _local2:Matrix;
var _local3:TextField;
var _local4:TextFormat;
var _local5:Instruction;
var _local6:uint;
var _local7:uint;
var _local8:InstructionPicture;
.fillRect( .rect, 4278190080);
_local1 = TextureLoader.getTexture("menu_howtoplay");
.draw(_local1);
_local2 = new Matrix();
_local3 = new TextField();
_local3.embedFonts = true;
_local3.antiAliasType = AntiAliasType.NORMAL;
_local3.width = 310;
_local3.height = 220;
_local3.selectable = false;
_local3.multiline = true;
_local4 = new TextFormat();
_local4.font = "Adventure Subtitles";
_local4.color = 0x95F700;
_local4.bold = true;
_local4.size = 15;
_local4.align = "left";
_local3.defaultTextFormat = _local4;
_local5 = gameInstructor.getInstruction(
);
_local3.text = _local5.text;
_local3.filters = ;
_local2 = new Matrix();
_local2.translate(45, 105);
.draw(_local3, _local2);
_local6 = 0;
while (_local6 < _local5.assets.length) {
_local8 = _local5.assets[_local6];
_local2 = new Matrix();
_local2.translate(_local8.position.x, _local8.position.y);
.draw(TextureLoader.getTexture(_local8.name), _local2);
_local6++;
};
_local7 = 0;
while (_local7 < buttons.length) {
(buttons[_local7]);
_local7++;
};
}
public function goGameOver():void{
showMenu = true;
state = -1;
buttons =
;
}
private function ():void{
var _local1:*;
var _local2:uint;
.fillRect( .rect, 4278190080);
_local1 = TextureLoader.getTexture("menu_credits");
.draw(_local1);
_local2 = 0;
while (_local2 < buttons.length) {
(buttons[_local2]);
_local2++;
};
}
private function ():void{
var _local1:*;
var _local2:uint;
.fillRect( .rect, 4278190080);
_local1 = TextureLoader.getTexture("menu_options");
.draw(_local1);
_local2 = 0;
while (_local2 < buttons.length) {
(buttons[_local2]);
_local2++;
};
}
public function checkMouse(_arg1:Number, _arg2:Number):void{
var _local3:uint;
var _local4:uint;
var _local5:uint;
var _local6:BasicButton;
_local3 = (_arg1 - 30);
_local4 = (_arg2 - 41);
_local5 = 0;
while (_local5 < buttons.length) {
_local6 = buttons[_local5];
if ((((((((_local3 > _local6.x)) && ((_local4 > _local6.y)))) && ((_local3 < (_local6.x + _local6.width))))) && ((_local4 < (_local6.y + _local6.height))))){
_local6.selected = true;
} else {
_local6.selected = false;
};
_local5++;
};
}
}
}//package source
Section 39
//Particle (source.Particle)
package source {
import flash.display.*;
import flash.geom.*;
public class Particle {
public var vx:Number;
public var vy:Number;
private var :Number;
public var blendMode:String;
public var texture:BitmapData;
private var :int;// = 20
private var :Number;
public var canRemove:Boolean;// = false
public var x:Number;
public var y:Number;
public function Particle(_arg1:Number, _arg2:Number, _arg3:int, _arg4:int, _arg5:Number, _arg6:int, _arg7:BitmapData){
var _local8:BitmapData;
var _local9:BitmapData;
var _local10:Number;
var _local11:Number;
var _local12:Matrix;
canRemove = false;
= 20;
super();
x = _arg1;
y = _arg2;
vx = 0;
vy = 0;
= _arg6;
= _arg5;
_local8 = _arg7;
_arg3 = Math.max(1, _arg3);
_arg4 = Math.max(1, _arg4);
_local9 = new BitmapData(_arg3, _arg4, true, 0);
_local10 = ((1 / _local8.width) * _arg3);
_local11 = ((1 / _local8.height) * _arg4);
_local12 = new Matrix();
_local12.scale(_local10, _local11);
_local9.draw(_local8, _local12);
texture = _local9;
}
public function update():void{
vy = (vy * );
vx = (vx * );
x = (x + vx);
y = (y + vy);
if (-- < 0){
();
if (-- < 0){
canRemove = true;
};
};
}
public function kill():void{
texture.dispose();
}
public function
():void{
var _local1:BitmapData;
var _local2:ColorTransform;
_local1 = texture.clone();
texture.fillRect(texture.rect, 0);
_local2 = new ColorTransform(1, 1, 1, 0.75, 0, 0, 0, 0);
texture.draw(_local1, null, _local2);
_local1.dispose();
}
}
}//package source
Section 40
//ParticleRenderer (source.ParticleRenderer)
package source {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import source.io.*;
import flash.ui.*;
import flash.utils.*;
public class ParticleRenderer {
private const GRAVITY:Number = 0.981;
private var :BitmapData;
private var :Array;
public static var textureRes:uint;
private static var anim:AnimatedParticle;
private static var animatedParticles:Array;
private static var particleCache:Array;
private static var defaultRes:uint;
public function ParticleRenderer(){
var _local1:uint;
super();
defaultRes = 200;
textureRes = defaultRes;
= new BitmapData(textureRes, textureRes, true, 0);
= new Array(0);
animatedParticles = new Array(0);
_local1 = 0;
while (_local1 < 5) {
();
_local1++;
};
particleCache = animatedParticles;
}
public function (_arg1:AnimatedParticle):void{
var _local2:uint;
.fillRect(.rect, 0);
_local2 = 0;
while (_local2 < .length) {
if ([_local2].canRemove){
[_local2].kill();
[_local2] = null;
var _temp1 = _local2;
_local2 = (_local2 - 1);
.splice(_temp1, 1);
} else {
[_local2].update();
drawParticle([_local2]);
};
_local2++;
};
_arg1.addFrame(.clone());
}
public function ():void{
anim = new AnimatedParticle();
doExplosion();
while (.length) {
(anim);
};
animatedParticles.push(anim);
}
public function doExplosion():void{
var _local1:uint;
var _local2:int;
var _local3:int;
var _local4:uint;
var _local5:Particle;
_local1 = 0;
while (_local1 < 50) {
_local2 = Math.round((Math.random() * 6));
_local3 = Math.round((Math.random() * 20));
_local4 = 80;
_local5 = new Particle((textureRes / 2), (textureRes / 2), _local4, _local4, 0.98, _local3, TextureLoader.getTexture(("explos" + _local2)));
_local5.vx = ((getRandomVelocity(10) * _local4) * 0.005);
_local5.vy = ((getRandomVelocity(10) * _local4) * 0.005);
_local5.blendMode = "add";
.push(_local5);
_local1++;
};
}
public function drawParticle(_arg1:Particle):void{
var _local2:Matrix;
_local2 = new Matrix();
_local2.translate((_arg1.x - (_arg1.texture.width / 2)), (_arg1.y - (_arg1.texture.height / 2)));
.draw(_arg1.texture, _local2, null, _arg1.blendMode);
}
private static function resizeFrame(_arg1:BitmapData, _arg2:Number):BitmapData{
var _local3:Number;
var _local4:BitmapData;
var _local5:Matrix;
_local3 = (_arg2 / defaultRes);
_local4 = new BitmapData(int(_arg2), int(_arg2), true, 0);
_local5 = new Matrix();
_local5.scale(_local3, _local3);
_local4.draw(_arg1, _local5);
return (_local4);
}
public static function getTexture():AnimatedParticle{
return (particleCache[Math.floor((Math.random() * particleCache.length))]);
}
public static function setResolution(_arg1:Number):void{
var _local2:uint;
if (textureRes != defaultRes){
clearCache();
};
if (_arg1 == defaultRes){
particleCache = animatedParticles;
textureRes = defaultRes;
} else {
particleCache = new Array(0);
_local2 = 0;
while (_local2 < animatedParticles.length) {
particleCache.push(resizeAnimation(animatedParticles[_local2], _arg1));
_local2++;
};
textureRes = _arg1;
};
}
private static function resizeAnimation(_arg1:AnimatedParticle, _arg2:Number):AnimatedParticle{
var _local3:Array;
var _local4:AnimatedParticle;
var _local5:uint;
_local3 = _arg1.
();
_local4 = new AnimatedParticle();
_local5 = 0;
while (_local5 < _local3.length) {
_local4.addFrame(resizeFrame(_local3[_local5], _arg2));
_local5++;
};
return (_local4);
}
private static function clearCache():void{
var _local1:uint;
_local1 = 0;
while (_local1 < particleCache.length) {
particleCache[_local1].destroy();
particleCache[_local1] = null;
var _temp1 = _local1;
_local1 = (_local1 - 1);
particleCache.splice(_temp1, 1);
_local1++;
};
}
private static function getRandomVelocity(_arg1:Number):Number{
return (((-(_arg1) / 2) + (Math.round(((Math.random() * _arg1) * 100)) / 100)));
}
}
}//package source
Section 41
//ParticleSystem (source.ParticleSystem)
package source {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
import source.io.*;
import flash.ui.*;
import flash.utils.*;
public class ParticleSystem {
private const GRAVITY:Number = 0.981;
private var :BitmapData;
private var :Array;
private var width:uint;
private var height:uint;
private var :Array;
public function ParticleSystem(_arg1:uint, _arg2:uint){
width = _arg1;
height = _arg2;
= new BitmapData(_arg1, _arg2, true, 0);
= new Array(0);
= new Array(0);
}
public function getGraphics():BitmapData{
return ();
}
public function update():void{
var _local1:uint;
var _local2:uint;
var _local3:CachedParticle;
.lock();
.fillRect(.rect, 0);
_local1 = 0;
while (_local1 < .length) {
_local3 = [_local1];
if (_local3.frame < _local3.lastFrame){
.copyPixels(_local3.getTexture(), new Rectangle(0, 0, ParticleRenderer.textureRes, ParticleRenderer.textureRes), new Point((_local3.x - (ParticleRenderer.textureRes / 2)), (_local3.y - (ParticleRenderer.textureRes / 2))), null, null, true);
} else {
_local3 = null;
var _temp1 = _local1;
_local1 = (_local1 - 1);
.splice(_temp1, 1);
};
_local1++;
};
_local2 = 0;
while (_local2 < .length) {
if ([_local2].canRemove){
[_local2].kill();
[_local2] = null;
var _temp2 = _local2;
_local2 = (_local2 - 1);
.splice(_temp2, 1);
} else {
[_local2].update();
drawParticle([_local2]);
};
_local2++;
};
.unlock();
}
public function doExplosion(_arg1:int, _arg2:int, _arg3:Number):void{
.push(new CachedParticle(_arg1, _arg2, ParticleRenderer.getTexture()));
}
public function drawParticle(_arg1:Particle):void{
.copyPixels(_arg1.texture, _arg1.texture.rect, new Point((_arg1.x - (_arg1.texture.width / 2)), (_arg1.y - (_arg1.texture.height / 2))), null, null, true);
}
public function comboParticle(_arg1:int, _arg2:int):void{
var _local3:int;
var _local4:Particle;
_local3 = 20;
_local4 = new Particle(_arg1, _arg2, 180, 40, 0.98, _local3, TextureLoader.getTexture("comboparticle"));
_local4.vy = (-5 + (getRandomVelocity(10) * 0.005));
.push(_local4);
}
public function scoreParticle(_arg1:int, _arg2:int, _arg3:int):void{
var _local4:TextField;
var _local5:TextFormat;
var _local6:String;
var _local7:BitmapData;
var _local8:int;
var _local9:int;
var _local10:Particle;
_local4 = new TextField();
_local4.autoSize = TextFieldAutoSize.LEFT;
_local4.selectable = false;
_local5 = new TextFormat();
_local5.font = "Maiandra GD";
_local5.color = 0x95F700;
_local5.bold = true;
_local5.size = 50;
_local5.align = "left";
_local4.defaultTextFormat = _local5;
_local6 = ("" + _arg3);
_local4.text = _local6;
_local7 = new BitmapData(200, 55, true, 0);
_local7.draw(_local4);
_local8 = 200;
_local9 = 10;
_local10 = new Particle(_arg1, _arg2, 200, 55, 0.98, _local9, _local7);
_local10.vy = (-5 + (getRandomVelocity(10) * 0.005));
.push(_local10);
}
private static function getRandomVelocity(_arg1:Number):Number{
return (((-(_arg1) / 2) + (Math.round(((Math.random() * _arg1) * 100)) / 100)));
}
}
}//package source
Section 42
//PlayField (source.PlayField)
package source {
import flash.display.*;
import flash.geom.*;
import flash.text.*;
import source.tutorial.*;
import source.gui.*;
import source.sound.*;
import source.io.*;
import source.utils.*;
import source.highscores.*;
import flash.filters.*;
public class PlayField extends Sprite {
private var
:Point;
private var :uint;
private var
:Array;
private var
:uint;
public var totalTime:Number;
public var unlockedColors:uint;
private var
:uint;
public var levelDimension:uint;
private var
:uint;
public var unlockedSpecial:uint;
private var
:ParticleSystem;
public var
:Number;
public var soundBar:SlideBar;
private var
:uint;
private var
:uint;
private var matchColor:int;// = -1
private var :Boolean;
public var :InGameButton;
public var :FinishDisplay;
private var :LevelLoader;
private var :Boolean;
private var
:BlurFilter;
private var
:Boolean;
public var :TextField;
public var levelScoreNeeded:int;
private var :uint;
public var specialUnlocked:Boolean;
private var wildTileNum:uint;
public var isLocked:Boolean;
private var :uint;
private var
:uint;
private var :uint;
private var :Number;
private var
:BitmapData;
private var :uint;
public var :TextField;
public var displayClip:Sprite;
public var fieldInstruction:FieldInstruction;
private var
:Boolean;
private var
:Array;
private var
:Boolean;
private var
:uint;
private var :Array;
private var
:FieldChecker;
public var
:int;
private var glowFilter:GlowFilter;
private var
:uint;
public var
:int;
public var scoreBoard:HighScoreBoard;
private var :Array;
private var :TileCache;
public var :int;
private var
:uint;
private var :BitmapData;
private var :uint;
private var :uint;
private var :BitmapData;
public var :int;
private var :uint;
public var running:Boolean;
private var :uint;
public var spaceDoor:SpaceDoor;
public var boxNum0:uint;
public var boxNum1:uint;
public var boxNum2:uint;
public var musicBar:SlideBar;
public var menuPanel:MenuPanel;
private var :Tile;
public var scoreFields:Sprite;
private var :uint;
private var :Rectangle;
public static var gameTimer:SyncTimer;
public static var MAX_SPECIALMOVES = 99;
private static var randomizing:Boolean;
public function PlayField(_arg1:uint, _arg2:uint, _arg3:int, _arg4:int){
matchColor = -1;
super();
();
= new Point(0, 0);
= new Rectangle(0, 0, _arg1, _arg2);
= new TileCache();
addEventListener(MenuButtonEvent.RELEASED, );
running = false;
= new LevelLoader();
menuPanel = new MenuPanel(_arg1, _arg2, this);
fieldInstruction = new FieldInstruction(30, 70);
randomizing = false;
= false;
= false;
wildTileNum = 10;
= (wildTileNum + 1);
= ( + 1);
= (
+ 1);
= (
+ 1);
= (
+ 1);
= (
+ 1);
= (
+ 1);
= ( + 1);
= ( + 1);
= (
+ 1);
= (
+ 1);
= ( + 1);
= ( + 4);
= (
+ 1);
= new FieldChecker(wildTileNum);
= 25;
gameTimer = new SyncTimer();
glowFilter = new GlowFilter(0xFF0000, 1, 16, 16, 2, 1, false, false);
= new BlurFilter(4, 4, 1);
= _arg1;
= _arg2;
this.x = _arg3;
this.y = _arg4;
= new BitmapData(
, , true, 0);
= new BitmapData(
, , true, 0);
= new BitmapData(
, , true, 0);
displayClip = new Sprite();
displayClip.addChild(new Bitmap());
spaceDoor = new SpaceDoor(_arg1, _arg2);
= new ParticleSystem(_arg1, _arg2);
= new FinishDisplay(100, 100, 200, 200);
addChild(displayClip);
();
scoreBoard = new HighScoreBoard(10, 20, 75, );
();
();
SoundManager.playSound("swaptiles");
SoundManager.playMusic("intro");
SoundManager.setMusicVolume(0.5);
SoundManager.setSoundVolume(0.3);
}
public function
(_arg1:uint, _arg2:uint):void{
var _local3:Array;
var _local4:uint;
var _local5:uint;
var _local6:uint;
var _local7:Tile;
var _local8:Number;
var _local9:Number;
_local3 = (_arg1, _arg2);
_local4 = 0;
_local5 = _local3[3].y;
_local6 = _local3[3].x;
while (_local6 <= _local3[0].x) {
_local7 =
[_local6][_local5];
if (_local7.type <= wildTileNum){
_local4++;
[_local6][_local5] = null;
_local7.y = (-() * 2);
[_local6].push(_local7);
_local8 = ((_local6 * ) + ( / 2));
_local9 = ((_local5 * ) + ( / 2));
.doExplosion(_local8, _local9, );
};
_local5++;
_local6++;
};
(1, _local4);
}
private function (_arg1:Tile):void{
if ((((_arg1.type >= )) && ((_arg1.type <= ( + 3))))){
_arg1.type = ( + Math.round((Math.random() * 3)));
if (_arg1.tileI == 0){
_arg1.type = ( + 1);
} else {
if (_arg1.tileI == ( - 1)){
_arg1.type = ;
};
};
if (_arg1.tileJ == 0){
_arg1.type = ( + 3);
} else {
if (_arg1.tileJ == ( - 1)){
_arg1.type = ( + 2);
};
};
};
}
public function ():void{
var _local1:int;
var _local2:int;
var _local3:Tile;
var _local4:Boolean;
var _local5:uint;
= false;
isLocked = true;
_local1 = 0;
while (_local1 <
.length) {
_local2 = (
[0].length - 2);
while (_local2 > -1) {
if (
[_local1][_local2] != null){
_local3 =
[_local1][_local2];
_local3.isSelected = false;
_local3.markDirection = "";
if (_local3.type <
){
if (
[_local1][(_local2 + 1)] == null){
_local3.tileJ = (_local2 + 1);
[_local1][(_local2 + 1)] = _local3;
.push(_local3);
[_local1][_local2] = null;
= true;
} else {
if (
[_local1][(_local2 + 1)].type >=
){
_local4 = false;
_local5 = (_local2 + 1);
while (
[_local1][_local5] != null) {
if (_local5 < (
[0].length - 1)){
_local5 = (_local5 + 1);
_local4 = true;
} else {
_local4 = false;
break;
};
};
if (_local4 == true){
_local3.tileJ = _local5;
[_local1][_local5] = _local3;
.push(_local3);
[_local1][_local2] = null;
= true;
};
};
};
};
};
_local2--;
};
_local1++;
};
}
public function (_arg1:uint, _arg2:uint):void{
var _local3:Array;
var _local4:uint;
var _local5:uint;
var _local6:uint;
var _local7:Tile;
var _local8:Number;
var _local9:Number;
_local3 = (_arg1, _arg2);
_local4 = 0;
_local5 = _local3[2].y;
_local6 = _local3[2].x;
while (_local6 <= _local3[1].x) {
_local7 =
[_local6][_local5];
if (_local7.type <= wildTileNum){
_local4++;
[_local6][_local5] = null;
_local7.y = (-() * 2);
[_local6].push(_local7);
_local8 = ((_local6 * ) + ( / 2));
_local9 = ((_local5 * ) + ( / 2));
.doExplosion(_local8, _local9, );
};
_local5--;
_local6++;
};
(1, _local4);
}
public function (_arg1:Tile):void{
var _local2:uint;
var _local3:uint;
var _local4:Tile;
var _local5:Number;
var _local6:Number;
_local2 = 0;
_local3 = 0;
while (_local3 < ) {
_local4 =
[_arg1.tileI][_local3];
if (_local4.type <= wildTileNum){
_local2++;
[_local4.tileI][_local3] = null;
_local4.y = (-() * 2);
[_local4.tileI].push(_local4);
_local5 = ((_local4.tileI * ) + ( / 2));
_local6 = ((_local3 * ) + ( / 2));
.doExplosion(_local5, _local6, );
};
_local3++;
};
(1, _local2);
}
public function
():void{
var _local1:uint;
var _local2:Tile;
var _local3:Boolean;
var _local4:uint;
_local1 = 0;
while (_local1 <
.length) {
if (
[_local1].length > 0){
_local2 =
[_local1].pop();
_local2.tileI = _local1;
_local2.canDelete = false;
_local2.setType(());
_local3 = true;
_local4 = 0;
while (
[_local1][_local4] != null) {
if (_local4 < (
[0].length - 1)){
_local4 = (_local4 + 1);
_local3 = true;
} else {
_local3 = false;
break;
};
};
if (_local3 == true){
_local2.tileJ = _local4;
[_local1][_local4] = _local2;
.push(_local2);
};
};
_local1++;
};
}
public function
():void{
var _local1:int;
.changeState(0);
SoundManager.stopMusic();
SoundManager.playSound("submitscore");
= false;
= false;
isLocked = true;
= false;
_local1 = (gameTimer.getSecondsLeft(totalTime) * 10);
= ( + _local1);
= true;
.setTexts((
+ 1),
, _local1, );
= 0;
if (++
< .getMaxLevels()){
.setLevel(this,
);
} else {
= true;
};
= totalTime;
gameTimer.reset();
= new Array(0);
.fillRect(.rect, 0);
}
private function
():void{
var _local1:uint;
var _local2:uint;
_local1 = 0;
while (_local1 < ) {
_local2 = 0;
while (_local2 < ) {
[_local1][_local2].setType(());
_local2++;
};
_local1++;
};
();
}
public function
(_arg1:Tile):Boolean{
switch (_arg1.type){
case :
(_arg1);
(_arg1);
(1, 10);
();
return (true);
case
:
(_arg1);
SoundManager.playSound("nuke");
();
return (true);
case
:
gameTimer.addTime(10000);
(_arg1);
(1, 1);
(_arg1);
();
return (true);
case
:
(_arg1);
(_arg1);
(_arg1);
();
return (true);
case
:
(_arg1);
(_arg1);
(_arg1);
();
return (true);
case
:
(_arg1);
(_arg1.tileI, _arg1.tileJ);
(_arg1);
();
return (true);
case
:
(_arg1);
(_arg1.tileI, _arg1.tileJ);
(_arg1);
();
return (true);
case :
(_arg1);
(_arg1);
(_arg1);
(_arg1);
();
return (true);
case :
(_arg1);
(_arg1.tileI, _arg1.tileJ);
(_arg1.tileI, _arg1.tileJ);
(_arg1);
();
return (true);
case
:
break;
case :
break;
};
return (false);
}
public function
():Boolean{
var _local1:Array;
var _local2:Array;
var _local3:uint;
var _local4:uint;
var _local5:uint;
_local1 =
.getHorizontalMatches(
);
_local2 =
.getVerticalMatches(
);
if (((_local1.length) || (_local2.length))){
_local3 = 0;
while (_local3 < _local1.length) {
_local4 = _local1[_local3].tileI;
while (_local4 < (_local1[_local3].tileI + _local1[_local3].length)) {
[_local4][_local1[_local3].tileJ].setType(());
_local4++;
};
_local3++;
};
_local3 = 0;
while (_local3 < _local2.length) {
_local5 = _local2[_local3].tileJ;
while (_local5 < (_local2[_local3].tileJ + _local2[_local3].length)) {
[_local2[_local3].tileI][_local5].setType(());
_local5++;
};
_local3++;
};
return (true);
};
return (false);
}
private function
():void{
var _local1:uint;
var _local2:String;
var _local3:uint;
_local1 = 0;
while (_local1 <
.length) {
_local2 = "";
_local3 = 0;
while (_local3 <
[0].length) {
_local2 = (_local2 + (" " +
[_local1][_local3].type));
_local3++;
};
_local1++;
};
}
private function
():void{
var _local1:uint;
var _local2:uint;
var _local3:Tile;
= new Array();
= new Array();
_local1 = 0;
while (_local1 < ) {
[_local1] = new Array();
[_local1] = new Array(0);
_local2 = 0;
while (_local2 < ) {
_local3 = new Tile(_local1, _local2);
_local3.setPosition((_local1 * ), (_local2 * ));
[_local1][_local2] = _local3;
_local2++;
};
_local1++;
};
}
private function ():void{
= null;
();
= false;
}
private function ():void{
var _local1:uint;
var _local2:Boolean;
_local1 = 0;
randomizing = false;
isLocked = true;
while ((((_local1 < 100)) && (
()))) {
_local1++;
randomizing = true;
};
if (!randomizing){
_local2 =
.lookForPossibles(
);
if (!_local2){
();
};
};
if (randomizing){
} else {
isLocked = false;
if (spaceDoor.status == 0){
if (menuPanel.showMenu){
menuPanel.showMenu = false;
};
spaceDoor.changeState("open");
SoundManager.playSound("swaptiles");
} else {
randomizing = true;
};
};
}
private function (_arg1:int, _arg2:int):void{
var _local3:int;
var _local4:Number;
_local3 = 0;
if ( ){
= false;
_local4 = Math.max(1, Math.floor(Math.sqrt((_arg1 / 2))));
if (_local4 > 1){
= Math.min(MAX_SPECIALMOVES, ( + _local4));
.comboParticle(200, 200);
SoundManager.playSound("combo");
} else {
if (_arg1 == 4){
= Math.min(MAX_SPECIALMOVES, ( + 1));
.comboParticle(200, 200);
SoundManager.playSound("combo");
};
};
_local3 = int((_arg2 * _local4));
} else {
_local3 = _arg2;
};
_local3 = (_local3 * 10);
.scoreParticle(280, 220, _local3);
= (
+ _local3);
= ( + _local3);
}
public function update():void{
var _local1:Boolean;
var _local2:uint;
var _local3:Tile;
var _local4:uint;
var _local5:uint;
var _local6:Point;
var _local7:uint;
if (running){
_local1 = new Boolean((((isLocked == false)) && ((spaceDoor.status == 1))));
if (fieldInstruction.currentTip >= 0){
_local1 = false;
};
gameTimer.update(_local1);
if ((((spaceDoor.status == 1)) && ((.state == 0)))){
.changeState(1);
};
.update();
if (randomizing){
();
};
();
if (.length){
_local2 = 0;
while (_local2 < .length) {
_local3 = [_local2];
_local4 = (_local3.tileI * );
_local5 = (_local3.tileJ * );
_local6 = new Point((_local4 - _local3.x), (_local5 - _local3.y));
if (_local6.length > ){
_local3.x = (_local3.x + ((_local6.x / _local6.length) * ));
_local3.y = (_local3.y + ((_local6.y / _local6.length) * ));
} else {
_local3.x = _local4;
_local3.y = _local5;
var _temp1 = _local2;
_local2 = (_local2 - 1);
.splice(_temp1, 1);
};
_local2++;
};
if (.length == 0){
if (
== true){
= false;
();
} else {
if (
){
();
} else {
isLocked = ();
};
};
};
} else {
if (()){
();
();
};
};
();
.draw(
.getGraphics());
if (spaceDoor.status == 1){
.copyPixels(fieldInstruction.getGraphics(), fieldInstruction.getRect(), fieldInstruction.getPoint(), null, null, true);
};
} else {
gameTimer.update(false);
};
.copyPixels(menuPanel.getGraphics(), ,
, null, null, true);
.copyPixels(spaceDoor.getGraphics(), ,
, null, null, true);
if (
){
if (.getState() == 2){
= false;
if ( == true){
spaceDoor.setOpen();
();
} else {
_local7 = Math.round((Math.random() * 1));
SoundManager.playMusic(("song" + _local7));
(levelDimension, levelDimension);
};
} else {
.copyPixels(.getGraphics(), new Rectangle(0, 0, 200, 200), new Point(.x, .y), null, null, true);
};
};
();
}
public function (_arg1:uint, _arg2:uint):void{
var _local3:uint;
var _local4:uint;
var _local5:uint;
var _local6:uint;
= _arg1;
= _arg2;
_local3 = Math.floor((
/ ));
_local4 = Math.floor(( / ));
= int(((_local3 + _local4) / 2));
ParticleRenderer.setResolution(( * 2));
.precacheTextures(, ( / TextureLoader.getTexture("tilebg0").rect.width));
_local5 = 0;
while (_local5 < ) {
_local6 = 0;
while (_local6 < ) {
.copyPixels(.getTexture("tilebg0"), .getRect(), new Point(int((_local6 * _local3)), int((_local5 * _local4))));
_local6++;
};
_local5++;
};
();
();
(boxNum0,
);
(boxNum1, );
(boxNum2, );
}
public function unselect():void{
var _local1:*;
var _local2:uint;
var _local3:uint;
var _local4:uint;
var _local5:uint;
_local1 = false;
if ( != null){
if (((!((.markDirection == ""))) && (!((.markDirection == null))))){
_local2 = .tileI;
_local3 = .tileJ;
_local1 = true;
switch (.markDirection){
case "left":
if (_local2 > 0){
_local4 = (_local2 - 1);
_local5 = _local3;
} else {
_local1 = false;
};
break;
case "right":
if (_local2 < (
.length - 1)){
_local4 = (_local2 + 1);
_local5 = _local3;
} else {
_local1 = false;
};
break;
case "up":
if (_local3 > 0){
_local4 = _local2;
_local5 = (_local3 - 1);
} else {
_local1 = false;
};
break;
case "down":
if (_local3 < (
[0].length - 1)){
_local4 = _local2;
_local5 = (_local3 + 1);
} else {
_local1 = false;
};
break;
default:
_local1 = false;
};
};
if (((_local1) && ((,
[_local4][_local5])))){
if (FieldChecker.validMove(_local2, _local3, _local4, _local5,
)){
(_local2, _local3, _local4, _local5);
(
[_local2][_local3]);
(
[_local4][_local5]);
} else {
if ( > 0){
--;
(_local2, _local3, _local4, _local5);
(
[_local2][_local3]);
(
[_local4][_local5]);
} else {
SoundManager.playSound("powerdown");
};
};
} else {
SoundManager.playSound("powerdown");
};
.markDirection = "";
.select(false);
= null;
};
}
private function (_arg1:uint, _arg2:uint):void{
[_arg1][_arg2].canDelete = true;
.doExplosion(((_arg1 * ) + ( / 2)), ((_arg2 * ) + ( / 2)), );
}
private function (_arg1:Tile, _arg2:Tile):Boolean{
var _local3:uint;
var _local4:uint;
_local3 = _arg1.type;
_local4 = _arg2.type;
if (((!((_local3 ==
))) && (!((_local4 ==
))))){
if ((((((_local3 < )) || ((_local3 > ( + 3))))) && ((((_local4 < )) || ((_local4 > ( + 3))))))){
return (true);
};
switch (_arg1.markDirection){
case "left":
if ((((_local3 >= )) && ((_local3 <= ( + 3))))){
if (_local3 != ){
return (false);
};
};
if ((((_local4 >= )) && ((_local4 <= ( + 3))))){
if (_local4 != ( + 1)){
return (false);
};
};
return (true);
case "right":
if ((((_local3 >= )) && ((_local3 <= ( + 3))))){
if (_local3 != ( + 1)){
return (false);
};
};
if ((((_local4 >= )) && ((_local4 <= ( + 3))))){
if (_local4 != ){
return (false);
};
};
return (true);
case "up":
if ((((_local3 >= )) && ((_local3 <= ( + 3))))){
if (_local3 != ( + 2)){
return (false);
};
};
if ((((_local4 >= )) && ((_local4 <= ( + 3))))){
if (_local4 != ( + 3)){
return (false);
};
};
return (true);
case "down":
if ((((_local3 >= )) && ((_local3 <= ( + 3))))){
if (_local3 != ( + 3)){
return (false);
};
};
if ((((_local4 >= )) && ((_local4 <= ( + 3))))){
if (_local4 != ( + 2)){
return (false);
};
};
return (true);
};
};
return (false);
}
public function (_arg1:uint, _arg2:uint):Array{
var _local3:Array;
var _local4:Array;
var _local5:Array;
var _local6:Array;
var _local7:Array;
var _local8:*;
var _local9:int;
var _local10:int;
var _local11:*;
_local3 = new Array(1, 1, -1, -1);
_local4 = new Array(1, -1, 1, -1);
_local5 = new Array(( - 1), ( - 1), 0, 0);
_local6 = new Array(( - 1), 0, ( - 1), 0);
_local7 = new Array(0);
_local8 = 0;
while (_local8 < 4) {
_local9 = Math.abs((_arg1 - _local5[_local8]));
_local10 = Math.abs((_arg2 - _local6[_local8]));
_local11 = Math.min(_local9, _local10);
_local7.push(new Point((_arg1 + (_local3[_local8] * _local11)), (_arg2 + (_local4[_local8] * _local11))));
_local8++;
};
return (_local7);
}
public function (_arg1:Tile):void{
var _local2:uint;
var _local3:uint;
var _local4:Tile;
var _local5:Number;
var _local6:Number;
_local2 = Math.max(0, (_arg1.tileI - 1));
while (_local2 < Math.min(, (_arg1.tileI + 2))) {
_local3 = Math.max(0, (_arg1.tileJ - 1));
while (_local3 < Math.min(, (_arg1.tileJ + 2))) {
_local4 =
[_local2][_local3];
if ((((_local4.type <= wildTileNum)) || ((((_local2 == _arg1.tileI)) && ((_local3 == _arg1.tileJ)))))){
[_local2][_local3] = null;
_local4.y = (-() * 2);
[_local2].push(_local4);
_local5 = ((_local2 * ) + ( / 2));
_local6 = ((_local3 * ) + ( / 2));
.doExplosion(_local5, _local6, );
};
_local3++;
};
_local2++;
};
(1, 15);
}
public function tileIsSelected():Boolean{
if ( == null){
return (false);
};
return (true);
}
private function
(_arg1:Tile):void{
var _local2:Number;
var _local3:Number;
_local2 = ((_arg1.tileI * ) + ( / 2));
_local3 = ((_arg1.tileJ * ) + ( / 2));
.doExplosion(_local2, _local3, );
SoundManager.playSound("explos");
}
public function
():void{
scoreFields = new Sprite();
scoreFields.filters = ;
= (50, 130, "score");
= (50, 190, "name");
}
public function selectCoordynates(_arg1:Number, _arg2:Number):void{
var _local3:uint;
var _local4:uint;
if ((((((((_arg1 >= x)) && ((_arg2 >= y)))) && ((_arg1 < (400 + x))))) && ((_arg2 < (400 + y))))){
_local3 = Math.floor(((_arg1 - x) / ));
_local4 = Math.floor(((_arg2 - y) / ));
=
[_local3][_local4];
if (
() == false){
SoundManager.playSound("powerup");
.select(true);
};
};
}
public function postHighscore():void{
scoreBoard.postHighScores(.text, );
}
public function moveMouse(_arg1:Number, _arg2:Number):void{
var _local3:Number;
var _local4:Number;
_local3 = ((_arg1 - x) - (.x + ( / 2)));
_local4 = ((_arg2 - y) - (.y + ( / 2)));
if ((((Math.abs(_local3) > Math.abs(_local4))) && ((Math.abs(_local3) > ( / 2))))){
if ((((_local3 > 0)) && (!((.markDirection == "right"))))){
.markDirection = "right";
SoundManager.playSound("markdirection");
} else {
if ((((_local3 < 0)) && (!((.markDirection == "left"))))){
.markDirection = "left";
SoundManager.playSound("markdirection");
};
};
} else {
if ((((Math.abs(_local4) > Math.abs(_local3))) && ((Math.abs(_local4) > ( / 2))))){
if ((((_local4 > 0)) && (!((.markDirection == "down"))))){
.markDirection = "down";
SoundManager.playSound("markdirection");
} else {
if ((((_local4 < 0)) && (!((.markDirection == "up"))))){
.markDirection = "up";
SoundManager.playSound("markdirection");
};
};
};
};
}
public function showHighScores():void{
scoreBoard.loadHighScores();
}
private function (_arg1:int):int{
var _local2:int;
_local2 = ();
while (_local2 == _arg1) {
_local2 = ();
};
return (_local2);
}
private function ():void{
var _local1:BitmapData;
var _local2:uint;
var _local3:uint;
var _local4:Tile;
.fillRect(, 0);
_local2 = 0;
while (_local2 < ) {
_local3 = 0;
while (_local3 < ) {
if (
[_local2][_local3] != null){
_local4 =
[_local2][_local3];
if (_local4.isSelected){
_local1 = .getTexture(("tile" + _local4.type)).clone();
_local1.applyFilter(_local1, .getRect(), new Point(0, 0),
);
_local1.applyFilter(_local1, .getRect(), new Point(0, 0), glowFilter);
} else {
_local1 = .getTexture(("tile" + _local4.type));
};
.copyPixels(_local1, .getRect(), new Point(int(_local4.x), int(_local4.y)), null, null, true);
if (_local4.isSelected){
.copyPixels(.getTexture("tileselect"), .getRect(), new Point(int(_local4.x), int(_local4.y)), null, null, true);
};
if (((!((_local4.markDirection == ""))) && (!((_local4.markDirection == null))))){
.copyPixels(.getTexture(("movetile_" + _local4.markDirection)), .getRect(), new Point(int(_local4.x), int(_local4.y)), null, null, true);
};
};
_local3++;
};
_local2++;
};
.copyPixels(, ,
);
.copyPixels(
, ,
, null, null, true);
}
private function ():Boolean{
var _local1:uint;
_local1 = 0;
while (_local1 <
.length) {
if (
[_local1].length > 0){
return (true);
};
_local1++;
};
return (false);
}
public function (_arg1:int, _arg2:int, _arg3:String):TextField{
var _local4:TextField;
var _local5:TextFormat;
_local4 = new TextField();
_local4.embedFonts = true;
_local4.antiAliasType = AntiAliasType.NORMAL;
_local4.autoSize = TextFieldAutoSize.LEFT;
_local4.selectable = true;
_local4.maxChars = 10;
_local4.type = TextFieldType.INPUT;
_local5 = new TextFormat();
_local5.font = "Adventure Subtitles";
_local5.color = 0x95F700;
_local5.bold = true;
_local5.size = 50;
_local5.align = "left";
_local4.defaultTextFormat = _local5;
_local4.text = _arg3;
_local4.x = _arg1;
_local4.y = _arg2;
scoreFields.addChild(_local4);
return (_local4);
}
public function
(_arg1:uint, _arg2:uint):void{
var _local3:uint;
var _local4:Number;
var _local5:Number;
_local3 = 0;
while (_local3 < _arg1) {
_local4 = Math.floor((Math.random() * ));
_local5 = Math.floor((Math.random() * ));
while (
[_local4][_local5].type >=
) {
_local4 = Math.floor((Math.random() * ));
_local5 = Math.floor((Math.random() * ));
};
if (_arg2 == ){
[_local4][_local5].setType();
(
[_local4][_local5]);
} else {
[_local4][_local5].setType(_arg2);
};
_local3++;
};
}
private function ():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Boolean;
var _local9:Boolean;
var _local10:Number;
var _local11:BitmapFilter;
_local1 = 0x6600;
_local2 = 45;
_local3 = 1;
_local4 = 2;
_local5 = 2;
_local6 = 3;
_local7 = 1;
_local8 = false;
_local9 = false;
_local10 = BitmapFilterQuality.HIGH;
_local11 = new DropShadowFilter(_local6, _local2, _local1, _local3, _local4, _local5, _local7, _local10, _local8, _local9);
= new Array();
.push(_local11);
}
public function newGame():void{
var _local1:uint;
= false;
fieldInstruction.showInstructions = true;
SoundManager.stopMusic();
.changeState(0);
_local1 = Math.round((Math.random() * 1));
SoundManager.playMusic(("song" + _local1));
spaceDoor.changeState("close");
SoundManager.playSound("swaptiles");
running = true;
= 0;
= 0;
= 0;
= 0;
.setLevel(this,
);
= totalTime;
= false;
= false;
isLocked = false;
= false;
= false;
gameTimer.reset();
= new Array(0);
.fillRect(.rect, 0);
(levelDimension, levelDimension);
}
public function ():void{
if ((((.length == 0)) && (!(isLocked)))){
if (
>= levelScoreNeeded){
if (spaceDoor.status == 1){
isLocked = true;
.changeState(0);
SoundManager.playSound("finish");
spaceDoor.changeState("close");
SoundManager.playSound("swaptiles");
};
} else {
= gameTimer.getSecondsLeft(totalTime);
if (
<= 0){
();
};
};
} else {
if (isLocked){
if ((((.length == 0)) && ((
>= levelScoreNeeded)))){
if (spaceDoor.status == 0){
();
};
};
};
};
}
public function (_arg1:int, _arg2:int, _arg3:String):TextField{
var _local4:TextField;
var _local5:TextFormat;
_local4 = new TextField();
_local4.embedFonts = true;
_local4.antiAliasType = AntiAliasType.NORMAL;
_local4.autoSize = TextFieldAutoSize.LEFT;
_local4.selectable = false;
_local4.type = TextFieldType.DYNAMIC;
_local4.maxChars = 8;
_local4.restrict = "0-9A-Z";
_local5 = new TextFormat();
_local5.font = "Adventure Subtitles";
_local5.color = 0x95F700;
_local5.bold = true;
_local5.size = 80;
_local5.align = "left";
_local4.defaultTextFormat = _local5;
_local4.text = _arg3;
_local4.x = _arg1;
_local4.y = _arg2;
scoreFields.addChild(_local4);
return (_local4);
}
private function ():void{
soundBar = new SlideBar("sound", 55, 143, 153);
musicBar = new SlideBar("music", 55, 230, 153);
SoundManager.setSlideBars(soundBar, musicBar);
}
public function (_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint):void{
var _local5:Tile;
SoundManager.playSound("swaptiles");
_local5 = new Tile(0, 0);
_local5.setTo(
[_arg1][_arg2]);
[_arg1][_arg2].setTo(
[_arg3][_arg4]);
[_arg3][_arg4].setTo(_local5);
.push(
[_arg1][_arg2],
[_arg3][_arg4]);
= true;
= true;
}
private function (_arg1:MenuButtonEvent):void{
switch (_arg1.label){
case "sound":
SoundManager.setSoundVolume(soundBar.getPercentage());
break;
case "music":
SoundManager.setMusicVolume(musicBar.getPercentage());
break;
};
}
public function (_arg1:Tile):void{
var _local2:uint;
var _local3:uint;
var _local4:Tile;
var _local5:Number;
var _local6:Number;
_local2 = 0;
_local3 = 0;
while (_local3 < ) {
_local4 =
[_local3][_arg1.tileJ];
if (_local4.type <= wildTileNum){
_local2++;
[_local3][_local4.tileJ] = null;
_local4.y = (-() * 2);
[_local3].push(_local4);
_local5 = ((_local3 * ) + ( / 2));
_local6 = ((_local4.tileJ * ) + ( / 2));
.doExplosion(_local5, _local6, );
};
_local3++;
};
(1, _local2);
}
private function (_arg1:Tile):void{
[_arg1.tileI][_arg1.tileJ] = null;
_arg1.y = (-() * 2);
[_arg1.tileI].push(_arg1);
}
public function ():void{
.changeState(0);
SoundManager.playSound("gameover");
SoundManager.stopMusic();
SoundManager.playMusic("intro");
running = false;
menuPanel.goGameOver();
displayClip.addChild(scoreFields);
.text = ("" + );
.text = "name";
}
public function ():Boolean{
var _local1:Boolean;
var _local2:int;
var _local3:int;
var _local4:Array;
var _local5:Array;
var _local6:int;
var _local7:int;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Tile;
_local1 = false;
_local4 =
.getHorizontalMatches(
);
_local5 =
.getVerticalMatches(
);
if (((_local4.length) || (_local5.length))){
SoundManager.playSound("explos");
_local6 = 1;
_local7 = 0;
_local3 = 0;
while (_local3 < _local4.length) {
_local6 = (_local6 * _local4[_local3].length);
_local2 = _local4[_local3].tileI;
while (_local2 < (_local4[_local3].tileI + _local4[_local3].length)) {
(
[_local2][_local4[_local3].tileJ].tileI,
[_local2][_local4[_local3].tileJ].tileJ);
_local7++;
_local2++;
};
_local3++;
};
_local2 = 0;
while (_local2 < _local5.length) {
_local6 = (_local6 * _local5[_local2].length);
_local3 = _local5[_local2].tileJ;
while (_local3 < (_local5[_local2].tileJ + _local5[_local2].length)) {
(
[_local5[_local2].tileI][_local3].tileI,
[_local5[_local2].tileI][_local3].tileJ);
_local7++;
_local3++;
};
_local2++;
};
_local2 = 0;
while (_local2 <
.length) {
_local3 = 0;
while (_local3 <
[0].length) {
if (
[_local2][_local3] != null){
if (
[_local2][_local3].canDelete){
_local12 =
[_local2][_local3];
if (_local12.isSelected){
_local12.select(false);
= null;
};
_local12.y = (-() * 2);
[_local2].push(_local12);
[_local2][_local3] = null;
};
};
_local3++;
};
_local2++;
};
(_local6, _local7);
();
= false;
return (true);
};
return (false);
}
private function ():void{
= new InGameButton("ingame", 467, 333, this);
addChild();
}
private function ():void{
var _local1:String;
if (running){
GameGui.setLevelNum((
+ 1));
GameGui.setTotalScore( );
GameGui.setLevelScore(Math.round(((100 / levelScoreNeeded) *
)));
= gameTimer.getSecondsLeft(totalTime);
_local1 = gameTimer.getString(
);
GameGui.setTimeLeft(_local1);
GameGui.setMovesLeft();
} else {
GameGui.clearDisplays();
};
}
private function ():uint{
if (specialUnlocked){
if (Math.round((Math.random() * Math.max(8, (unlockedColors + unlockedSpecial)))) == 0){
return ((wildTileNum + Math.round((Math.random() * unlockedSpecial))));
};
return (Math.round((Math.random() * unlockedColors)));
//unresolved jump
};
return (Math.round((Math.random() * unlockedColors)));
}
}
}//package source
Section 43
//SlideBar (source.SlideBar)
package source {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import source.gui.*;
import source.io.*;
public class SlideBar extends Sprite {
public var label:String;
private var :BitmapData;
private var
:uint;
public var dragged:Boolean;
private var :Sprite;
private var :Bitmap;
private var :Rectangle;
public function SlideBar(_arg1:String, _arg2:int, _arg3:int, _arg4:uint){
= new Sprite();
label = _arg1;
= _arg4;
= TextureLoader.getTexture("menu_slider");
= new Bitmap( );
.addChild();
addEventListener(MouseEvent.MOUSE_DOWN, );
addEventListener(MouseEvent.MOUSE_UP,
);
addChild();
x = _arg2;
y = _arg3;
dragged = false;
= new Rectangle(0, 0,
, 0);
}
private function
(_arg1:MouseEvent):void{
stopDragging();
}
public function stopDragging():void{
if (dragged){
.stopDrag();
dragged = false;
dispatchEvent(new MenuButtonEvent(MenuButtonEvent.RELEASED, this.label));
};
}
public function getPercentage():Number{
var _local1:Number;
_local1 = (Math.round(((100 /
) * .x)) / 100);
return (_local1);
}
public function setPosition(_arg1:Number):void{
var _local2:Number;
_local2 = (_arg1 *
);
.x = _local2;
}
public function ():void{
dragged = true;
.startDrag(true, );
}
private function (_arg1:MouseEvent):void{
();
}
}
}//package source
Section 44
//SmallButton (source.SmallButton)
package source {
import flash.display.*;
import source.io.*;
public class SmallButton extends BasicButton {
private var text:String;
private var :BitmapData;
public function SmallButton(_arg1:String, _arg2:String, _arg3:int, _arg4:int, _arg5:uint, _arg6:uint){
super(_arg1, "", _arg3, _arg4, _arg5, _arg6);
text = _arg2;
= new BitmapData(width, height, true, 0);
}
override public function getGraphics():BitmapData{
();
return ( );
}
private function ():void{
var _local1:BitmapData;
var _local2:BitmapData;
.lock();
.fillRect( .rect, 0);
_local1 = TextureLoader.getTexture("smallbutton_bg");
_local2 = TextureLoader.getTexture(text);
.draw(_local1);
if (selected){
.draw(TextureLoader.getTexture("smallbutton_hl"));
};
.draw(_local2);
.unlock();
}
}
}//package source
Section 45
//SpaceDoor (source.SpaceDoor)
package source {
import flash.display.*;
import flash.geom.*;
import source.io.*;
public class SpaceDoor {
private var :BitmapData;
private var width:uint;
private var :uint;
private var :Point;
private var :Point;
private var
:Point;
private var :Point;
private var height:uint;
private var :BitmapData;
private var :BitmapData;
private var :BitmapData;
private var :BitmapData;
public var status:uint;
private var :Boolean;
private var :uint;
public function SpaceDoor(_arg1:uint, _arg2:uint){
status = 0;
= true;
width = _arg1;
height = _arg2;
= 5;
= 10;
= new BitmapData(_arg1, _arg2, true, 0);
= TextureLoader.getTexture("spacedoor0");
= TextureLoader.getTexture("spacedoor1");
= TextureLoader.getTexture("spacedoor2");
= TextureLoader.getTexture("spacedoor3");
= new Point(0, 0);
= new Point(0, 200);
= new Point(0, 0);
= new Point(0, 0);
}
public function changeState(_arg1:String):void{
switch (_arg1){
case "open":
status = 2;
= true;
break;
case "close":
status = 2;
= false;
break;
};
}
public function setOpen():void{
status = 1;
= false;
}
public function getGraphics():BitmapData{
();
return ( );
}
private function ():void{
.lock();
.fillRect( .rect, 0);
if (status == 0){
.copyPixels(, .rect, new Point(0, 0), null, null, true);
.copyPixels(, .rect, new Point(0, 0), null, null, true);
.copyPixels(, .rect, new Point(0, 0), null, null, true);
.copyPixels(, .rect, new Point(0, 0), null, null, true);
} else {
if (status == 1){
} else {
if (){
if (
.x > -400){
.y = (.y - );
.copyPixels(, .rect, , null, null, true);
.y = (.y + );
.copyPixels(, .rect, , null, null, true);
.x = (
.x - );
.copyPixels(, .rect,
, null, null, true);
.x = (.x + );
.copyPixels(, .rect, , null, null, true);
} else {
status = 1;
= false;
= new Point(0, -200);
= new Point(0, 400);
= new Point(-400, 0);
= new Point(400, 0);
};
} else {
if (
.x < 0){
.y = (.y + );
.copyPixels(, .rect, , null, null, true);
.y = (.y - );
.copyPixels(, .rect, , null, null, true);
.x = (
.x + );
.copyPixels(, .rect,
, null, null, true);
.x = (.x - );
.copyPixels(, .rect, , null, null, true);
} else {
status = 0;
= true;
= new Point(0, 0);
= new Point(0, 200);
= new Point(0, 0);
= new Point(0, 0);
.copyPixels(, .rect, new Point(0, 0), null, null, true);
.copyPixels(, .rect, new Point(0, 0), null, null, true);
.copyPixels(, .rect, new Point(0, 0), null, null, true);
.copyPixels(, .rect, new Point(0, 0), null, null, true);
};
};
};
};
.unlock();
}
}
}//package source
Section 46
//Tile (source.Tile)
package source {
public class Tile {
public var y:int;
public var :uint;
public var canDelete:Boolean;
public var tileJ:uint;
public var tileI:uint;
public var isSelected:Boolean;
public var markDirection:String;
public var x:int;
public var type:uint;
public function Tile(_arg1:uint, _arg2:uint){
tileI = _arg1;
tileJ = _arg2;
type = 0;
isSelected = false;
canDelete = false;
}
public function select(_arg1:Boolean):void{
isSelected = _arg1;
if (_arg1 == false){
this.markDirection = "";
};
}
public function setTo(_arg1:Tile):void{
x = _arg1.x;
y = _arg1.y;
type = _arg1.type;
isSelected = false;
canDelete = false;
markDirection = "";
}
public function setPosition(_arg1:int, _arg2:int):void{
x = _arg1;
y = _arg2;
}
public function setType(_arg1:uint):void{
type = _arg1;
}
}
}//package source
Section 47
//TileCache (source.TileCache)
package source {
import flash.display.*;
import flash.geom.*;
import source.io.*;
public class TileCache {
private var rect:Rectangle;
private var
:Array;
private var
:Array;
public function TileCache(){
var _local1:uint;
super();
= new Array(0);
("tileselect");
("tilebg0");
("tilebg1");
("movetile_left");
("movetile_right");
("movetile_up");
("movetile_down");
_local1 = 0;
while (_local1 < 26) {
if (_local1 != 9){
(("tile" + _local1));
};
_local1++;
};
}
public function getTexture(_arg1:String):BitmapData{
return (
[_arg1]);
}
private function clearCache():void{
var _local1:BitmapData;
while (
.length) {
_local1 =
.shift();
_local1.dispose();
_local1 = null;
};
= null;
}
public function precacheTextures(_arg1:int, _arg2:Number):void{
var _local3:Matrix;
var _local4:uint;
var _local5:BitmapData;
var _local6:String;
if (
!= null){
clearCache();
};
rect = new Rectangle(0, 0, _arg1, _arg1);
= new Array(0);
_local3 = new Matrix();
_local3.scale(_arg2, _arg2);
_local4 = 0;
while (_local4 <
.length) {
_local5 = new BitmapData(_arg1, _arg1, true, 0);
_local6 =
[_local4];
_local5.draw(TextureLoader.getTexture(_local6), _local3);
[_local6] = _local5;
_local4++;
};
}
private function
(_arg1:String):void{
.push(_arg1);
}
public function getRect():Rectangle{
return (rect);
}
}
}//package source
Section 48
//addthisgame (addthisgame)
package {
import flash.display.*;
public dynamic class addthisgame extends SimpleButton {
}
}//package
Section 49
//AdventureSubtitlesLinkage (AdventureSubtitlesLinkage)
package {
import flash.text.*;
public dynamic class AdventureSubtitlesLinkage extends Font {
}
}//package
Section 50
//arcacxdebomb (arcacxdebomb)
package {
import flash.display.*;
public dynamic class arcacxdebomb extends SimpleButton {
}
}//package
Section 51
//backtomenu_button_bg (backtomenu_button_bg)
package {
import flash.display.*;
public dynamic class backtomenu_button_bg extends BitmapData {
public function backtomenu_button_bg(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 52
//backtomenu_button_hl (backtomenu_button_hl)
package {
import flash.display.*;
public dynamic class backtomenu_button_hl extends BitmapData {
public function backtomenu_button_hl(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 53
//backtomenu_button_txt1 (backtomenu_button_txt1)
package {
import flash.display.*;
public dynamic class backtomenu_button_txt1 extends BitmapData {
public function backtomenu_button_txt1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 54
//backtomenu_button_txt2 (backtomenu_button_txt2)
package {
import flash.display.*;
public dynamic class backtomenu_button_txt2 extends BitmapData {
public function backtomenu_button_txt2(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 55
//backtomenu_button_txt3 (backtomenu_button_txt3)
package {
import flash.display.*;
public dynamic class backtomenu_button_txt3 extends BitmapData {
public function backtomenu_button_txt3(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 56
//bomb_preloader (bomb_preloader)
package {
import flash.display.*;
public dynamic class bomb_preloader extends MovieClip {
public var loaderbar:MovieClip;
public function bomb_preloader(){
addFrameScript(0, , 2, , 234, );
}
function (){
}
function (){
}
function (){
stop();
}
}
}//package
Section 57
//closetip_bg (closetip_bg)
package {
import flash.display.*;
public dynamic class closetip_bg extends BitmapData {
public function closetip_bg(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 58
//closetip_hl (closetip_hl)
package {
import flash.display.*;
public dynamic class closetip_hl extends BitmapData {
public function closetip_hl(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 59
//closetip_txt (closetip_txt)
package {
import flash.display.*;
public dynamic class closetip_txt extends BitmapData {
public function closetip_txt(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 60
//comboparticle (comboparticle)
package {
import flash.display.*;
public dynamic class comboparticle extends BitmapData {
public function comboparticle(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 61
//DigitaldreamFatLinkage (DigitaldreamFatLinkage)
package {
import flash.text.*;
public dynamic class DigitaldreamFatLinkage extends Font {
}
}//package
Section 62
//energybeam0 (energybeam0)
package {
import flash.display.*;
public dynamic class energybeam0 extends BitmapData {
public function energybeam0(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 63
//energybeam1 (energybeam1)
package {
import flash.display.*;
public dynamic class energybeam1 extends BitmapData {
public function energybeam1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 64
//energybeam2 (energybeam2)
package {
import flash.display.*;
public dynamic class energybeam2 extends BitmapData {
public function energybeam2(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 65
//energybeam3 (energybeam3)
package {
import flash.display.*;
public dynamic class energybeam3 extends BitmapData {
public function energybeam3(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 66
//energybeam4 (energybeam4)
package {
import flash.display.*;
public dynamic class energybeam4 extends BitmapData {
public function energybeam4(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 67
//energybeam5 (energybeam5)
package {
import flash.display.*;
public dynamic class energybeam5 extends BitmapData {
public function energybeam5(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 68
//explos0 (explos0)
package {
import flash.display.*;
public dynamic class explos0 extends BitmapData {
public function explos0(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 69
//explos1 (explos1)
package {
import flash.display.*;
public dynamic class explos1 extends BitmapData {
public function explos1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 70
//explos2 (explos2)
package {
import flash.display.*;
public dynamic class explos2 extends BitmapData {
public function explos2(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 71
//explos3 (explos3)
package {
import flash.display.*;
public dynamic class explos3 extends BitmapData {
public function explos3(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 72
//explos4 (explos4)
package {
import flash.display.*;
public dynamic class explos4 extends BitmapData {
public function explos4(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 73
//explos5 (explos5)
package {
import flash.display.*;
public dynamic class explos5 extends BitmapData {
public function explos5(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 74
//explos6 (explos6)
package {
import flash.display.*;
public dynamic class explos6 extends BitmapData {
public function explos6(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 75
//finishlevel (finishlevel)
package {
import flash.display.*;
public dynamic class finishlevel extends BitmapData {
public function finishlevel(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 76
//howtoplayarrow (howtoplayarrow)
package {
import flash.display.*;
public dynamic class howtoplayarrow extends BitmapData {
public function howtoplayarrow(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 77
//instrbg (instrbg)
package {
import flash.display.*;
public dynamic class instrbg extends BitmapData {
public function instrbg(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 78
//menu_credits (menu_credits)
package {
import flash.display.*;
public dynamic class menu_credits extends BitmapData {
public function menu_credits(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 79
//menu_gameover (menu_gameover)
package {
import flash.display.*;
public dynamic class menu_gameover extends BitmapData {
public function menu_gameover(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 80
//menu_highscores (menu_highscores)
package {
import flash.display.*;
public dynamic class menu_highscores extends BitmapData {
public function menu_highscores(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 81
//menu_howtoplay (menu_howtoplay)
package {
import flash.display.*;
public dynamic class menu_howtoplay extends BitmapData {
public function menu_howtoplay(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 82
//menu_options (menu_options)
package {
import flash.display.*;
public dynamic class menu_options extends BitmapData {
public function menu_options(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 83
//menu_slider (menu_slider)
package {
import flash.display.*;
public dynamic class menu_slider extends BitmapData {
public function menu_slider(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 84
//menubg (menubg)
package {
import flash.display.*;
public dynamic class menubg extends BitmapData {
public function menubg(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 85
//menubuttonbg (menubuttonbg)
package {
import flash.display.*;
public dynamic class menubuttonbg extends BitmapData {
public function menubuttonbg(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 86
//menubuttonhl (menubuttonhl)
package {
import flash.display.*;
public dynamic class menubuttonhl extends BitmapData {
public function menubuttonhl(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 87
//menubuttontxt0 (menubuttontxt0)
package {
import flash.display.*;
public dynamic class menubuttontxt0 extends BitmapData {
public function menubuttontxt0(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 88
//menubuttontxt1 (menubuttontxt1)
package {
import flash.display.*;
public dynamic class menubuttontxt1 extends BitmapData {
public function menubuttontxt1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 89
//menubuttontxt2 (menubuttontxt2)
package {
import flash.display.*;
public dynamic class menubuttontxt2 extends BitmapData {
public function menubuttontxt2(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 90
//menubuttontxt3 (menubuttontxt3)
package {
import flash.display.*;
public dynamic class menubuttontxt3 extends BitmapData {
public function menubuttontxt3(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 91
//menubuttontxt4 (menubuttontxt4)
package {
import flash.display.*;
public dynamic class menubuttontxt4 extends BitmapData {
public function menubuttontxt4(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 92
//movetile_down (movetile_down)
package {
import flash.display.*;
public dynamic class movetile_down extends BitmapData {
public function movetile_down(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 93
//movetile_left (movetile_left)
package {
import flash.display.*;
public dynamic class movetile_left extends BitmapData {
public function movetile_left(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 94
//movetile_right (movetile_right)
package {
import flash.display.*;
public dynamic class movetile_right extends BitmapData {
public function movetile_right(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 95
//movetile_up (movetile_up)
package {
import flash.display.*;
public dynamic class movetile_up extends BitmapData {
public function movetile_up(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 96
//music_intro (music_intro)
package {
import flash.media.*;
public dynamic class music_intro extends Sound {
}
}//package
Section 97
//music_song0 (music_song0)
package {
import flash.media.*;
public dynamic class music_song0 extends Sound {
}
}//package
Section 98
//music_song1 (music_song1)
package {
import flash.media.*;
public dynamic class music_song1 extends Sound {
}
}//package
Section 99
//showtip_bg (showtip_bg)
package {
import flash.display.*;
public dynamic class showtip_bg extends BitmapData {
public function showtip_bg(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 100
//showtip_hl (showtip_hl)
package {
import flash.display.*;
public dynamic class showtip_hl extends BitmapData {
public function showtip_hl(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 101
//showtip_txt (showtip_txt)
package {
import flash.display.*;
public dynamic class showtip_txt extends BitmapData {
public function showtip_txt(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 102
//smallbutton_bg (smallbutton_bg)
package {
import flash.display.*;
public dynamic class smallbutton_bg extends BitmapData {
public function smallbutton_bg(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 103
//smallbutton_hl (smallbutton_hl)
package {
import flash.display.*;
public dynamic class smallbutton_hl extends BitmapData {
public function smallbutton_hl(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 104
//smallbutton_txt0 (smallbutton_txt0)
package {
import flash.display.*;
public dynamic class smallbutton_txt0 extends BitmapData {
public function smallbutton_txt0(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 105
//smallbutton_txt1 (smallbutton_txt1)
package {
import flash.display.*;
public dynamic class smallbutton_txt1 extends BitmapData {
public function smallbutton_txt1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 106
//sound_back (sound_back)
package {
import flash.media.*;
public dynamic class sound_back extends Sound {
}
}//package
Section 107
//sound_combo (sound_combo)
package {
import flash.media.*;
public dynamic class sound_combo extends Sound {
}
}//package
Section 108
//sound_explos (sound_explos)
package {
import flash.media.*;
public dynamic class sound_explos extends Sound {
}
}//package
Section 109
//sound_finish (sound_finish)
package {
import flash.media.*;
public dynamic class sound_finish extends Sound {
}
}//package
Section 110
//sound_gameover (sound_gameover)
package {
import flash.media.*;
public dynamic class sound_gameover extends Sound {
}
}//package
Section 111
//sound_markdirection (sound_markdirection)
package {
import flash.media.*;
public dynamic class sound_markdirection extends Sound {
}
}//package
Section 112
//sound_nuke (sound_nuke)
package {
import flash.media.*;
public dynamic class sound_nuke extends Sound {
}
}//package
Section 113
//sound_open (sound_open)
package {
import flash.media.*;
public dynamic class sound_open extends Sound {
}
}//package
Section 114
//sound_powerdown (sound_powerdown)
package {
import flash.media.*;
public dynamic class sound_powerdown extends Sound {
}
}//package
Section 115
//sound_powerup (sound_powerup)
package {
import flash.media.*;
public dynamic class sound_powerup extends Sound {
}
}//package
Section 116
//sound_submitscore (sound_submitscore)
package {
import flash.media.*;
public dynamic class sound_submitscore extends Sound {
}
}//package
Section 117
//sound_swaptiles (sound_swaptiles)
package {
import flash.media.*;
public dynamic class sound_swaptiles extends Sound {
}
}//package
Section 118
//spacedoor0 (spacedoor0)
package {
import flash.display.*;
public dynamic class spacedoor0 extends BitmapData {
public function spacedoor0(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 119
//spacedoor1 (spacedoor1)
package {
import flash.display.*;
public dynamic class spacedoor1 extends BitmapData {
public function spacedoor1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 120
//spacedoor2 (spacedoor2)
package {
import flash.display.*;
public dynamic class spacedoor2 extends BitmapData {
public function spacedoor2(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 121
//spacedoor3 (spacedoor3)
package {
import flash.display.*;
public dynamic class spacedoor3 extends BitmapData {
public function spacedoor3(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 122
//submenubg (submenubg)
package {
import flash.display.*;
public dynamic class submenubg extends BitmapData {
public function submenubg(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 123
//tile0 (tile0)
package {
import flash.display.*;
public dynamic class tile0 extends BitmapData {
public function tile0(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 124
//tile1 (tile1)
package {
import flash.display.*;
public dynamic class tile1 extends BitmapData {
public function tile1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 125
//tile10 (tile10)
package {
import flash.display.*;
public dynamic class tile10 extends BitmapData {
public function tile10(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 126
//tile11 (tile11)
package {
import flash.display.*;
public dynamic class tile11 extends BitmapData {
public function tile11(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 127
//tile12 (tile12)
package {
import flash.display.*;
public dynamic class tile12 extends BitmapData {
public function tile12(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 128
//tile13 (tile13)
package {
import flash.display.*;
public dynamic class tile13 extends BitmapData {
public function tile13(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 129
//tile14 (tile14)
package {
import flash.display.*;
public dynamic class tile14 extends BitmapData {
public function tile14(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 130
//tile15 (tile15)
package {
import flash.display.*;
public dynamic class tile15 extends BitmapData {
public function tile15(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 131
//tile16 (tile16)
package {
import flash.display.*;
public dynamic class tile16 extends BitmapData {
public function tile16(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 132
//tile17 (tile17)
package {
import flash.display.*;
public dynamic class tile17 extends BitmapData {
public function tile17(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 133
//tile18 (tile18)
package {
import flash.display.*;
public dynamic class tile18 extends BitmapData {
public function tile18(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 134
//tile19 (tile19)
package {
import flash.display.*;
public dynamic class tile19 extends BitmapData {
public function tile19(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 135
//tile2 (tile2)
package {
import flash.display.*;
public dynamic class tile2 extends BitmapData {
public function tile2(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 136
//tile20 (tile20)
package {
import flash.display.*;
public dynamic class tile20 extends BitmapData {
public function tile20(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 137
//tile21 (tile21)
package {
import flash.display.*;
public dynamic class tile21 extends BitmapData {
public function tile21(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 138
//tile22 (tile22)
package {
import flash.display.*;
public dynamic class tile22 extends BitmapData {
public function tile22(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 139
//tile23 (tile23)
package {
import flash.display.*;
public dynamic class tile23 extends BitmapData {
public function tile23(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 140
//tile24 (tile24)
package {
import flash.display.*;
public dynamic class tile24 extends BitmapData {
public function tile24(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 141
//tile25 (tile25)
package {
import flash.display.*;
public dynamic class tile25 extends BitmapData {
public function tile25(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 142
//tile3 (tile3)
package {
import flash.display.*;
public dynamic class tile3 extends BitmapData {
public function tile3(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 143
//tile4 (tile4)
package {
import flash.display.*;
public dynamic class tile4 extends BitmapData {
public function tile4(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 144
//tile5 (tile5)
package {
import flash.display.*;
public dynamic class tile5 extends BitmapData {
public function tile5(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 145
//tile6 (tile6)
package {
import flash.display.*;
public dynamic class tile6 extends BitmapData {
public function tile6(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 146
//tile7 (tile7)
package {
import flash.display.*;
public dynamic class tile7 extends BitmapData {
public function tile7(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 147
//tile8 (tile8)
package {
import flash.display.*;
public dynamic class tile8 extends BitmapData {
public function tile8(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 148
//tilebg0 (tilebg0)
package {
import flash.display.*;
public dynamic class tilebg0 extends BitmapData {
public function tilebg0(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 149
//tilebg1 (tilebg1)
package {
import flash.display.*;
public dynamic class tilebg1 extends BitmapData {
public function tilebg1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 150
//tileselect (tileselect)
package {
import flash.display.*;
public dynamic class tileselect extends BitmapData {
public function tileselect(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 151
//tips_hide (tips_hide)
package {
import flash.display.*;
public dynamic class tips_hide extends BitmapData {
public function tips_hide(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 152
//tips_show (tips_show)
package {
import flash.display.*;
public dynamic class tips_show extends BitmapData {
public function tips_show(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 153
//tutorial0 (tutorial0)
package {
import flash.display.*;
public dynamic class tutorial0 extends BitmapData {
public function tutorial0(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 154
//tutorial1 (tutorial1)
package {
import flash.display.*;
public dynamic class tutorial1 extends BitmapData {
public function tutorial1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package