Frame 1
function showMochiAd() {
trace("showing mochi ad");
MochiAd.showPreGameAd({id:"00d7f4711dc703bc", res:"600x400"});
}
stop();
Instance of Symbol 115 MovieClip "background" in Frame 1
on (release) {
getURL ("http://www.doof.com/?ref=cascade2", "_blank");
}
Instance of Symbol 137 MovieClip in Frame 1
on (release) {
getURL ("http://www.doof.com/?ref=cascade2", "_blank");
}
Frame 2
function __com_mochibot__(swfid, mc, lv, trk) {
var x;
var g;
var s;
var fv;
var sb;
var u;
var res;
var mb;
var mbc;
var pv;
mb = "__mochibot__";
mbc = "mochibot.com";
g = (_global ? (_global) : (_level0._root));
if (g[mb + swfid]) {
return(g[mb + swfid]);
}
s = System.security;
x = mc._root.getSWFVersion;
fv = (x ? (mc.getSWFVersion()) : ((_global ? 6 : 5)));
if (!s) {
s = {};
}
sb = s.sandboxType;
if (sb == "localWithFile") {
return(null);
}
x = s.allowDomain;
if (x) {
s.allowDomain(mbc);
}
x = s.allowInsecureDomain;
if (x) {
s.allowInsecureDomain(mbc);
}
pv = ((fv == 5) ? (getVersion()) : (System.capabilities.version));
u = (((((((((((("http://" + mbc) + "/my/core.swf?mv=8&fv=") + fv) + "&v=") + escape(pv)) + "&swfid=") + escape(swfid)) + "&l=") + lv) + "&f=") + mc) + (sb ? ("&sb=" + sb) : "")) + (trk ? "&t=1" : "");
lv = ((fv > 6) ? (mc.getNextHighestDepth()) : ((g[mb + "level"] ? (g[mb + "level"] + 1) : (lv))));
g[mb + "level"] = lv;
if (fv == 5) {
res = "_level" + lv;
if (!eval (res)) {
loadMovieNum (u, lv);
}
} else {
res = mc.createEmptyMovieClip(mb + swfid, lv);
res.loadMovie(u);
}
return(res);
}
__com_mochibot__("e5428004", this, 10301, true);
com.novelgames.flashgames.commonAS2.MainDevelopment.initialize(this);
stop();
Symbol 5 MovieClip [GIGYA] Frame 1
System.security.allowDomain("cdn.gigya.com");
System.security.allowInsecureDomain("cdn.gigya.com");
var mcWF = _root.createEmptyMovieClip("Wildfire", _root.getNextHighestDepth());
mcWF._lockroot = true;
mcWF._x = 0;
mcWF._y = 0;
mcWF.ModuleID = "PostModule1";
var cfg = ((_root[mcWF.ModuleID] = {}));
cfg.width = "600";
cfg.height = "400";
cfg.bookmarkURL = "http://www.doof.com/#/games/Cascade2";
cfg.widgetTitle = "Cascade 2";
cfg.advancedTracking = "true";
cfg.partner = "177341";
cfg.UIConfig = "<config><display showDesktop=\"true\" showEmail=\"true\" useTransitions=\"true\" showBookmark=\"true\" codeBoxHeight=\"auto\" showCodeBox=\"true\" showCloseButton=\"true\" bulletinChecked=\"false\" networksWithCodeBox=\"\"></display><body corner-roundness=\"8;8;8;8\"><background frame-color=\"Transparent\" gradient-color-begin=\"#353535\" gradient-color-end=\"#606060\" corner-roundness=\"8;8;8;8\"></background><controls size=\"11\" bold=\"true\"><snbuttons iconsOnly=\"false\" type=\"textUnder\" frame-color=\"#6D0000\" background-color=\"#FFFFFF\" over-background-color=\"#FFFFFF\" color=\"#CACACA\" corner-roundness=\"0;8;8;8\" gradient-color-begin=\"#8A8A8A\" gradient-color-end=\"#000000\" font=\"Arial\" size=\"11\" bold=\"false\" over-gradient-color-begin=\"#AAAAAA\" over-gradient-color-end=\"#000000\" over-color=\"#F4F4F4\" down-color=\"#000000\"><more frame-color=\"Transparent\"></more></snbuttons><textboxes frame-color=\"#000000\" color=\"#AAAAAA\" corner-roundness=\"0;0;0;0\" gradient-color-begin=\"#202020\" gradient-color-end=\"#0B0B0B\" font=\"Arial\" bold=\"false\"><codeboxes color=\"#EAEAEA\" frame-color=\"#8A8A8A\" gradient-color-begin=\"#000000\" font=\"Arial\" bold=\"false\"></codeboxes><inputs frame-color=\"#6D0000\"></inputs><dropdowns frame-color=\"#6D0000\" handle-gradient-color-begin=\"#B60000\" handle-gradient-color-end=\"#6D0000\" handle-over-gradient-color-begin=\"#FF0000\" handle-over-gradient-color-end=\"#DA0000\" handle-down-gradient-color-begin=\"#FF0000\" handle-down-gradient-color-end=\"#6D0000\" background-color=\"#6D0000\" gradient-color-begin=\"#000000\" font=\"Arial\" bold=\"false\"></dropdowns></textboxes><buttons frame-color=\"#FF0000\" gradient-color-begin=\"#FF2424\" gradient-color-end=\"#6D0000\" color=\"#F4F4F4\" corner-roundness=\"0;8;8;8\" font=\"Arial\" size=\"10\" bold=\"false\" down-frame-color=\"#000000\" over-gradient-color-begin=\"#DA0000\" down-gradient-color-begin=\"#910000\" over-gradient-color-end=\"#DA0000\" down-gradient-color-end=\"#FF0000\" over-color=\"#F4F4F4\"><post-buttons gradient-color-begin=\"#FF4949\" gradient-color-end=\"#6D0000\"></post-buttons></buttons><listboxes corner-roundness=\"5;5;5;5\"></listboxes><servicemarker gradient-color-begin=\"#DA0000\" gradient-color-end=\"#DA0000\"></servicemarker></controls><texts color=\"#FFFFFF\" font=\"Arial\" size=\"10\"><privacy color=\"#959595\" size=\"11\"></privacy><headers size=\"11\" bold=\"true\"></headers><labels size=\"11\" bold=\"true\"></labels><messages color=\"#D5D5D5\" frame-thickness=\"0\" corner-roundness=\"0;0;0;0\" gradient-color-begin=\"#B60000\" gradient-color-end=\"#000000\" size=\"11\" bold=\"true\"></messages><links color=\"#DFDFDF\" underline=\"false\" size=\"11\" bold=\"true\" over-color=\"#FFFFFF\"></links></texts></body></config>";
cfg.defaultContent = function () {
return("<object width=\"600\" height=\"400\">\u00A0<param name=\"movie\" value=\"http://static.doof.com/content/static/games/Cascade2/Cascade2Widget.swf\"></param>\u00A0<param name=\"wmode\" value=\"transparent\"></param>\u00A0<embed src=\"http://static.doof.com/content/static/games/Cascade2/Cascade2Widget.swf\" type=\"application/x-shockwave-flash\" wmode=\"transparent\" width=\"600\"\u00A0height=\"400\"></embed></object>");
};
cfg.onPostProfile = function (eventObj) {
trace((((("event fired eventObj.type=" + eventObj.type) + " eventObj.network=") + eventObj.network) + " eventObj.partnerData=") + eventObj.partnerData);
};
cfg.onLoad = function (eventObj) {
trace((("event fired eventObj.type=" + eventObj.type) + "eventObj.ModuleID=") + eventObj.ModuleID);
};
cfg.onClose = function (eventObj) {
mcWF._visible = false;
};
mcWF.loadMovie("http://cdn.gigya.com/WildFire/swf/wildfire.swf", "get");
Instance of Symbol 27 MovieClip "doofClick" in Symbol 38 MovieClip [endScreen] Frame 1
on (release) {
getURL ("http://www.doof.com/?ref=cascade2", "_blank");
}
Instance of Symbol 35 MovieClip "playAgain" in Symbol 38 MovieClip [endScreen] Frame 1
on (release) {
this._visible = false;
_root.gotoAndStop("splashScreen");
_parent.removeMovieClip(this);
}
Instance of Symbol 37 MovieClip "shareBTN" in Symbol 38 MovieClip [endScreen] Frame 1
on (release) {
this.attachMovie("GIGYA", "GIGYA", this.getNextHighestDepth());
}
Symbol 41 MovieClip [ScorePopup] Frame 1
#initclip 38
Object.registerClass("ScorePopup", com.novelgames.flashgames.bricks2AS2.ScorePopup);
#endinitclip
Symbol 43 MovieClip [blockColour] Frame 1
#initclip 28
Object.registerClass("blockColour", com.novelgames.flashgames.commonAS2.NewMovieClip);
#endinitclip
Symbol 47 MovieClip [Block] Frame 1
#initclip 29
Object.registerClass("Block", com.novelgames.flashgames.bricks2AS2.Block);
#endinitclip
Symbol 49 MovieClip [InstructionsButton] Frame 1
#initclip 30
Object.registerClass("InstructionsButton", com.novelgames.flashgames.commonAS2.InstructionsButton);
#endinitclip
Symbol 66 MovieClip [Instructions] Frame 1
#initclip 31
Object.registerClass("Instructions", com.novelgames.flashgames.commonAS2.Instructions);
#endinitclip
Instance of Symbol 65 MovieClip in Symbol 66 MovieClip [Instructions] Frame 1
on (release) {
getURL ("http://www.doof.com/?ref=cascade2", "_blank");
}
Symbol 70 MovieClip [MuteButton] Frame 1
#initclip 32
Object.registerClass("MuteButton", com.novelgames.flashgames.commonAS2.MuteButton);
#endinitclip
Symbol 75 MovieClip [empty] Frame 1
#initclip 33
Object.registerClass("empty", com.novelgames.flashgames.commonAS2.NewMovieClip);
#endinitclip
Symbol 97 MovieClip [Message] Frame 1
#initclip 34
Object.registerClass("Message", com.novelgames.flashgames.bricks2AS2.Message);
#endinitclip
stop();
Symbol 99 MovieClip [Game] Frame 1
#initclip 35
Object.registerClass("Game", com.novelgames.flashgames.bricks2AS2.Game);
#endinitclip
Instance of Symbol 65 MovieClip in Symbol 99 MovieClip [Game] Frame 1
on (release) {
getURL ("http://www.doof.com/?ref=cascade2", "_blank");
}
Symbol 101 MovieClip [Explode] Frame 1
#initclip 36
Object.registerClass("Explode", com.novelgames.flashgames.bricks2AS2.Explode);
#endinitclip
Symbol 113 MovieClip [Title] Frame 1
#initclip 37
Object.registerClass("Title", com.novelgames.flashgames.commonAS2.Title);
#endinitclip
Instance of Symbol 65 MovieClip in Symbol 113 MovieClip [Title] Frame 1
on (release) {
getURL ("http://www.doof.com/?ref=cascade2", "_blank");
}
Symbol 137 MovieClip Frame 105
_parent.showMochiAd();
Symbol 137 MovieClip Frame 201
stop();
Symbol 138 MovieClip [__Packages.MochiAd] Frame 0
class MochiAd
{
function MochiAd () {
}
static function getVersion() {
return("2.5");
}
static function showPreGameAd(options) {
var _local26 = {clip:_root, ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:16747008, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function () {
this.clip.stop();
}, ad_finished:function () {
this.clip.play();
}, ad_failed:function () {
trace("[MochiAd] Couldn't load an ad, make sure that your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_loaded:function (width, height) {
}, ad_skipped:function () {
}, ad_progress:function (percent) {
}};
options = _parseOptions(options, _local26);
if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def") {
options.ad_started();
options.ad_finished();
return(undefined);
}
var clip = options.clip;
var _local22 = 11000;
var _local25 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
options.ad_failed();
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local14 = _getRes(options);
var _local4 = _local14[0];
var _local13 = _local14[1];
mc._x = _local4 * 0.5;
mc._y = _local13 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk._x = _local4 * -0.5;
chk._y = _local13 * -0.5;
var _local6 = chk.createEmptyMovieClip("_mochiad_bar", 4);
if (options.no_progress_bar) {
_local6._visible = false;
delete options.no_progress_bar;
} else {
_local6._x = 10;
_local6._y = _local13 - 20;
}
var _local21 = options.color;
delete options.color;
var _local19 = options.background;
delete options.background;
var _local23 = options.outline;
delete options.outline;
var _local5 = _local6.createEmptyMovieClip("_outline", 1);
_local5.beginFill(_local19);
_local5.moveTo(0, 0);
_local5.lineTo(_local4 - 20, 0);
_local5.lineTo(_local4 - 20, 10);
_local5.lineTo(0, 10);
_local5.lineTo(0, 0);
_local5.endFill();
var _local3 = _local6.createEmptyMovieClip("_inside", 2);
_local3.beginFill(_local21);
_local3.moveTo(0, 0);
_local3.lineTo(_local4 - 20, 0);
_local3.lineTo(_local4 - 20, 10);
_local3.lineTo(0, 10);
_local3.lineTo(0, 0);
_local3.endFill();
_local3._xscale = 0;
var _local7 = _local6.createEmptyMovieClip("_outline", 3);
_local7.lineStyle(0, _local23, 100);
_local7.moveTo(0, 0);
_local7.lineTo(_local4 - 20, 0);
_local7.lineTo(_local4 - 20, 10);
_local7.lineTo(0, 10);
_local7.lineTo(0, 0);
chk.ad_msec = _local22;
chk.ad_timeout = _local25;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.regContLC = function (lc_name) {
mc._containerLCName = lc_name;
};
var sendHostProgress = false;
mc.lc.sendHostLoadProgress = function (lc_name) {
sendHostProgress = true;
};
mc.lc.adLoaded = options.ad_loaded;
mc.lc.adSkipped = options.ad_skipped;
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec;
};
mc.lc.rpc = function (callbackID, arg) {
MochiAd.rpc(clip, callbackID, arg);
};
mc.rpcTestFn = function (s) {
trace("[MOCHIAD rpcTestFn] " + s);
return(s);
};
chk.onEnterFrame = function () {
var _local6 = this._parent._parent;
var _local11 = this._parent._mochiad_ctr;
var _local5 = getTimer() - this.started;
var _local3 = false;
var _local4 = _local6.getBytesTotal();
var _local8 = _local6.getBytesLoaded();
var _local2 = (100 * _local8) / _local4;
var _local10 = (100 * _local5) / chk.ad_msec;
var _local9 = this._mochiad_bar._inside;
var _local13 = Math.min(100, Math.min(_local2 || 0, _local10));
_local13 = Math.max(this.last_pcnt, _local13);
this.last_pcnt = _local13;
_local9._xscale = _local13;
options.ad_progress(_local13);
if (sendHostProgress) {
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local2});
if (_local2 == 100) {
sendHostProgress = false;
}
}
if (!chk.showing) {
var _local7 = _local11.getBytesTotal();
if ((_local7 > 0) || (typeof(_local7) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if ((_local5 > chk.ad_timeout) && (_local2 == 100)) {
options.ad_failed();
_local3 = true;
}
}
if (_local5 > chk.ad_msec) {
_local3 = true;
}
if (((_local4 > 0) && (_local8 >= _local4)) && (_local3)) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
}
}
};
}
static function showClickAwayAd(options) {
var _local9 = {clip:_root, ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function () {
}, ad_finished:function () {
}, ad_loaded:function (width, height) {
}, ad_failed:function () {
trace("[MochiAd] Couldn't load an ad, make sure that your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function () {
}};
options = _parseOptions(options, _local9);
var clip = options.clip;
var _local8 = options.ad_timeout;
delete options.ad_timeout;
if (!load(options)) {
options.ad_failed();
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local4 = _getRes(options);
var _local10 = _local4[0];
var _local7 = _local4[1];
mc._x = _local10 * 0.5;
mc._y = _local7 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk.ad_timeout = _local8;
chk.started = getTimer();
chk.showing = false;
mc.lc.adLoaded = options.ad_loaded;
mc.lc.adSkipped = options.ad_skipped;
mc.lc.rpc = function (callbackID, arg) {
MochiAd.rpc(clip, callbackID, arg);
};
mc.rpcTestFn = function (s) {
trace("[MOCHIAD rpcTestFn] " + s);
return(s);
};
var _local20 = false;
mc.lc.regContLC = function (lc_name) {
mc._containerLCName = lc_name;
};
chk.onEnterFrame = function () {
var _local5 = this._parent._mochiad_ctr;
var _local4 = getTimer() - this.started;
var _local2 = false;
if (!chk.showing) {
var _local3 = _local5.getBytesTotal();
if ((_local3 > 0) || (typeof(_local3) == "undefined")) {
_local2 = true;
chk.showing = true;
chk.started = getTimer();
} else if (_local4 > chk.ad_timeout) {
options.ad_failed();
_local2 = true;
}
}
if (_local2) {
delete this.onEnterFrame;
}
};
}
static function showInterLevelAd(options) {
var _local13 = {clip:_root, ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function () {
this.clip.stop();
}, ad_finished:function () {
this.clip.play();
}, ad_failed:function () {
trace("[MochiAd] Couldn't load an ad, make sure that your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_loaded:function (width, height) {
}, ad_skipped:function () {
}};
options = _parseOptions(options, _local13);
var clip = options.clip;
var _local10 = 11000;
var _local12 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
options.ad_failed();
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local5 = _getRes(options);
var _local14 = _local5[0];
var _local11 = _local5[1];
mc._x = _local14 * 0.5;
mc._y = _local11 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk.ad_msec = _local10;
chk.ad_timeout = _local12;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.adLoaded = options.ad_loaded;
mc.lc.adSkipped = options.ad_skipped;
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec - 250;
};
mc.lc.rpc = function (callbackID, arg) {
MochiAd.rpc(clip, callbackID, arg);
};
mc.rpcTestFn = function (s) {
trace("[MOCHIAD rpcTestFn] " + s);
return(s);
};
chk.onEnterFrame = function () {
var _local5 = this._parent._mochiad_ctr;
var _local4 = getTimer() - this.started;
var _local2 = false;
if (!chk.showing) {
var _local3 = _local5.getBytesTotal();
if ((_local3 > 0) || (typeof(_local3) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if (_local4 > chk.ad_timeout) {
options.ad_failed();
_local2 = true;
}
}
if (_local4 > chk.ad_msec) {
_local2 = true;
}
if (_local2) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
}
}
};
}
static function showPreloaderAd(options) {
trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0");
showPreGameAd(options);
}
static function showTimedAd(options) {
trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0");
showInterLevelAd(options);
}
static function _allowDomains(server) {
var _local1 = server.split("/")[2].split(":")[0];
if (System.security) {
if (System.security.allowDomain) {
System.security.allowDomain("*");
System.security.allowDomain(_local1);
}
if (System.security.allowInsecureDomain) {
System.security.allowInsecureDomain("*");
System.security.allowInsecureDomain(_local1);
}
}
return(_local1);
}
static function load(options) {
var _local13 = {clip:_root, server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = _parseOptions(options, _local13);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = getVersion();
var _local9 = options.clip;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local9._mochiad_loaded) {
return(null);
}
var _local12 = options.depth;
delete options.depth;
var _local6 = _local9.createEmptyMovieClip("_mochiad", _local12);
var _local11 = _getRes(options);
options.res = (_local11[0] + "x") + _local11[1];
options.server = options.server + options.id;
delete options.id;
_local9._mochiad_loaded = true;
var _local4 = _local6.createEmptyMovieClip("_mochiad_ctr", 1);
for (var _local7 in options) {
_local4[_local7] = options[_local7];
}
var _local10 = _local4.server;
delete _local4.server;
var _local14 = _allowDomains(_local10);
_local6.onEnterFrame = function () {
if (this._mochiad_ctr._url != this._url) {
this.onEnterFrame = function () {
if (!this._mochiad_ctr) {
delete this.onEnterFrame;
MochiAd.unload(this._parent);
}
};
}
};
var _local5 = new LocalConnection();
var _local8 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local5.mc = _local6;
_local5.name = _local8;
_local5.hostname = _local14;
_local5.allowDomain = function (d) {
return(true);
};
_local5.allowInsecureDomain = _local5.allowDomain;
_local5.connect(_local8);
_local6.lc = _local5;
_local4.lc = _local8;
_local4.st = getTimer();
_local4.loadMovie(_local10 + ".swf", "POST");
return(_local6);
}
static function unload(clip) {
if (typeof(clip) == "undefined") {
clip = _root;
}
if (clip.clip && (clip.clip._mochiad)) {
clip = clip.clip;
}
if (!clip._mochiad) {
return(false);
}
if (clip._mochiad._containerLCName != undefined) {
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"unload"});
}
clip._mochiad.removeMovieClip();
delete clip._mochiad_loaded;
delete clip._mochiad;
return(true);
}
static function _isNetworkAvailable() {
if (System.security) {
var _local1 = System.security;
if (_local1.sandboxType == "localWithFile") {
return(false);
}
}
return(true);
}
static function _getRes(options) {
var _local3 = options.clip.getBounds();
var _local2 = 0;
var _local1 = 0;
if (typeof(options.res) != "undefined") {
var _local4 = options.res.split("x");
_local2 = parseFloat(_local4[0]);
_local1 = parseFloat(_local4[1]);
} else {
_local2 = _local3.xMax - _local3.xMin;
_local1 = _local3.yMax - _local3.yMin;
}
if ((_local2 == 0) || (_local1 == 0)) {
_local2 = Stage.width;
_local1 = Stage.height;
}
return([_local2, _local1]);
}
static function _parseOptions(options, defaults) {
var _local4 = {};
for (var _local8 in defaults) {
_local4[_local8] = defaults[_local8];
}
if (options) {
for (var _local8 in options) {
_local4[_local8] = options[_local8];
}
}
if (_root.mochiad_options) {
var _local5 = _root.mochiad_options.split("&");
var _local2 = 0;
while (_local2 < _local5.length) {
var _local3 = _local5[_local2].split("=");
_local4[unescape(_local3[0])] = unescape(_local3[1]);
_local2++;
}
}
if (_local4.id == "test") {
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
}
return(_local4);
}
static function rpc(clip, callbackID, arg) {
switch (arg.id) {
case "setValue" :
setValue(clip, arg.objectName, arg.value);
break;
case "getValue" :
var _local4 = getValue(clip, arg.objectName);
clip._mochiad.lc.send(clip._mochiad._containerLCName, "rpcResult", callbackID, _local4);
break;
case "runMethod" :
var _local3 = runMethod(clip, arg.method, arg.args);
clip._mochiad.lc.send(clip._mochiad._containerLCName, "rpcResult", callbackID, _local3);
break;
default :
trace("[mochiads rpc] unknown rpc id: " + arg.id);
}
}
static function setValue(base, objectName, value) {
var _local2 = objectName.split(".");
var _local1;
_local1 = 0;
while (_local1 < (_local2.length - 1)) {
if ((base[_local2[_local1]] == undefined) || (base[_local2[_local1]] == null)) {
return(undefined);
}
base = base[_local2[_local1]];
_local1++;
}
base[_local2[_local1]] = value;
}
static function getValue(base, objectName) {
var _local2 = objectName.split(".");
var _local1;
_local1 = 0;
while (_local1 < (_local2.length - 1)) {
if ((base[_local2[_local1]] == undefined) || (base[_local2[_local1]] == null)) {
return(undefined);
}
base = base[_local2[_local1]];
_local1++;
}
return(base[_local2[_local1]]);
}
static function runMethod(base, methodName, argsArray) {
var _local2 = methodName.split(".");
var _local1;
_local1 = 0;
while (_local1 < (_local2.length - 1)) {
if ((base[_local2[_local1]] == undefined) || (base[_local2[_local1]] == null)) {
return(undefined);
}
base = base[_local2[_local1]];
_local1++;
}
if (typeof(base[_local2[_local1]]) == "function") {
return(base[_local2[_local1]].apply(base, argsArray));
}
return(undefined);
}
}
Symbol 139 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewMovieClip] Frame 0
class com.novelgames.flashgames.commonAS2.NewMovieClip extends MovieClip
{
var _parent, _x, _y, _rotation, _visible, _alpha, _width, _height, _xscale, _yscale, _xmouse, _ymouse, _totalframes, _currentframe, _name, __mask, useHandCursor, __mouseEnabled, __mouseChildren, __numChildren, getInstanceAtDepth, getNextHighestDepth, onRelease, onRollOver, onRollOut, onPress, onReleaseOutside, onMouseMove, onEnterFrame, getURL, createMovieCount, attachMovie, createEmptyMovieClip;
function NewMovieClip () {
super();
}
function get parent() {
return(_parent);
}
function set x(x) {
_x = x;
//return(this.x);
}
function get x() {
return(_x);
}
function set y(y) {
_y = y;
//return(this.y);
}
function get y() {
return(_y);
}
function set rotation(rotation) {
_rotation = rotation;
//return(this.rotation);
}
function get rotation() {
return(_rotation);
}
function set visible(visible) {
_visible = visible;
//return(this.visible);
}
function get visible() {
return(_visible);
}
function set alpha(alpha) {
_alpha = alpha * 100;
//return(this.alpha);
}
function get alpha() {
return(_alpha / 100);
}
function get width() {
return(_width);
}
function set width(width) {
_width = width;
//return(this.width);
}
function get height() {
return(_height);
}
function set height(height) {
_height = height;
//return(this.height);
}
function set scaleX(scaleX) {
_xscale = scaleX * 100;
//return(this.scaleX);
}
function get scaleX() {
return(_xscale / 100);
}
function set scaleY(scaleY) {
_yscale = scaleY * 100;
//return(this.scaleY);
}
function get scaleY() {
return(_yscale / 100);
}
function set mouseX(mouseX) {
_xmouse = mouseX;
//return(this.mouseX);
}
function get mouseX() {
return(_xmouse);
}
function set mouseY(mouseY) {
_ymouse = mouseY;
//return(this.mouseY);
}
function get mouseY() {
return(_ymouse);
}
function get totalFrames() {
return(_totalframes);
}
function get currentFrame() {
return(_currentframe);
}
function get name() {
return(_name);
}
function set mask(mask) {
__mask = mask;
super.setMask(mask);
//return(this.mask);
}
function get mask() {
return(__mask);
}
function set buttonMode(buttonMode) {
useHandCursor = buttonMode;
//return(this.buttonMode);
}
function get buttonMode() {
return(useHandCursor);
}
function set mouseEnabled(mouseEnabled) {
__mouseEnabled = mouseEnabled;
//return(this.mouseEnabled);
}
function get mouseEnabled() {
return(__mouseEnabled);
}
function set mouseChildren(mouseChildren) {
__mouseChildren = mouseChildren;
//return(this.mouseChildren);
}
function get mouseChildren() {
return(__mouseChildren);
}
function get stage() {
return(com.novelgames.flashgames.commonAS2.NewStage.getNewStage());
}
function set numChildren(numChildren) {
__numChildren = numChildren;
//return(this.numChildren);
}
function get numChildren() {
if (__numChildren == undefined) {
__numChildren = 0;
}
return(__numChildren);
}
function get graphics() {
return(this);
}
function startDrag(lockCenter, bounds) {
if (lockCenter == undefined) {
super.startDrag();
} else if (bounds == undefined) {
super.startDrag(lockCenter);
} else {
super.startDrag(lockCenter, bounds.__get__left(), bounds.__get__top(), bounds.__get__right(), bounds.__get__bottom());
}
}
function beginFill(colour, alpha) {
if (alpha == undefined) {
alpha = 1;
}
super.beginFill(colour, alpha * 100);
}
function getBounds(target) {
var _local2 = super.getBounds(target);
return(new com.novelgames.flashgames.commonAS2.Rectangle(_local2.xMin, _local2.yMin, _local2.xMax - _local2.xMin, _local2.yMax - _local2.yMin));
}
function localToGlobal(point) {
var _local2 = {x:point.x, y:point.y};
super.localToGlobal(_local2);
return(_local2);
}
function globalToLocal(point) {
var _local2 = {x:point.x, y:point.y};
super.globalToLocal(_local2);
return(_local2);
}
function hitTestPoint(x, y, shapeFlag) {
if (shapeFlag == undefined) {
return(super.hitTest(x, y));
}
return(super.hitTest(x, y, shapeFlag));
}
function hitTestObject(obj) {
return(super.hitTest(obj));
}
function addChild(movieClip) {
if (movieClip.addedToParent) {
return(undefined);
}
if (movieClip._parent != this) {
trace("wrong addChild: " + [this, movieClip]);
}
if (movieClip == null) {
return(undefined);
}
addChildAt(movieClip, numChildren);
}
function addChildAt(movieClip, index) {
if (movieClip.addedToParent) {
return(undefined);
}
if (movieClip._parent != this) {
trace("wrong addChildAt: " + [this, movieClip]);
}
if (movieClip == null) {
return(undefined);
}
movieClip.addedToParent = true;
numChildren = ((numChildren+1));
setChildIndex(movieClip, index);
}
function removeChild(movieClip) {
if (!movieClip.addedToParent) {
return(undefined);
}
removeChildAt(movieClip.getDepth());
}
function removeChildAt(index) {
var _local5 = getInstanceAtDepth(index);
var _local3;
var _local2;
if (!_local5.addedToParent) {
return(undefined);
}
_local5.removeMovieClip();
_local3 = getNextHighestDepth();
_local2 = index + 1;
while (_local2 < _local3) {
getInstanceAtDepth(_local2).swapDepths(_local2 - 1);
_local2++;
}
numChildren = ((numChildren-1));
}
function setChildIndex(child, index) {
var _local3 = child.getDepth();
var _local2;
var _local1;
if (_local3 == index) {
return(undefined);
}
_local2 = ((_local3 < index) ? 1 : -1);
_local1 = _local3;
while (_local1 != index) {
child.swapDepths(_local1 + _local2);
_local1 = _local1 + _local2;
}
}
function getChildIndex(child) {
return(child.getDepth());
}
function addEventListener(type, listenerObject, listenerFunctionName) {
switch (type) {
case com.novelgames.flashgames.commonAS2.MouseEvent.CLICK :
onRelease = function () {
listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this));
};
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OVER :
onRollOver = function () {
listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this));
};
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OUT :
onRollOut = function () {
listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this));
};
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_DOWN :
onPress = function () {
listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this));
};
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_UP :
onRelease = function () {
listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this));
};
onReleaseOutside = onRelease;
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_MOVE :
onMouseMove = function () {
listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this));
};
break;
case com.novelgames.flashgames.commonAS2.Event.ENTER_FRAME :
onEnterFrame = function () {
listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this));
};
}
}
function removeEventListener(type) {
switch (type) {
case com.novelgames.flashgames.commonAS2.MouseEvent.CLICK :
onRelease = null;
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OVER :
onRollOver = null;
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OUT :
onRollOut = null;
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_DOWN :
onPress = null;
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_UP :
onRelease = null;
onReleaseOutside = null;
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_MOVE :
onMouseMove = null;
break;
case com.novelgames.flashgames.commonAS2.Event.ENTER_FRAME :
onEnterFrame = null;
}
}
function navigateToURL(urlRequest, window) {
getURL(urlRequest.url, window);
}
function createMovie(name) {
var _local4 = getNextHighestDepth();
var _local2;
if (createMovieCount == undefined) {
createMovieCount = 0;
}
if (name) {
_local2 = attachMovie(name, (name + "_") + createMovieCount, _local4);
} else {
_local2 = createEmptyMovieClip((name + "_") + createMovieCount, _local4);
_local2.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype;
}
_local2.addedToParent = false;
createMovieCount++;
return(_local2);
}
function createSound(name) {
return(new com.novelgames.flashgames.commonAS2.NewSound(this, name));
}
}
Symbol 140 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewStage] Frame 0
class com.novelgames.flashgames.commonAS2.NewStage
{
var addedListener, onKeyDown, onKeyUp;
function NewStage () {
addedListener = false;
onKeyDown = null;
onKeyUp = null;
}
static function getNewStage() {
if (newStage == null) {
newStage = new com.novelgames.flashgames.commonAS2.NewStage();
}
return(newStage);
}
function get stageWidth() {
return(Stage.width);
}
function get stageHeight() {
return(Stage.height);
}
function set focus(object) {
Selection.setFocus(object);
//return(focus);
}
function get focus() {
return(Selection.getFocus());
}
function addEventListener(type, listenerObject, listenerFunctionName) {
if (!addedListener) {
Key.addListener(this);
addedListener = true;
}
switch (type) {
case com.novelgames.flashgames.commonAS2.KeyboardEvent.KEY_DOWN :
onKeyDown = function () {
listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.KeyboardEvent(this));
};
break;
case com.novelgames.flashgames.commonAS2.KeyboardEvent.KEY_UP :
onKeyUp = function () {
listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.KeyboardEvent(this));
};
}
}
function removeEventListener(type) {
switch (type) {
case com.novelgames.flashgames.commonAS2.KeyboardEvent.KEY_DOWN :
onKeyDown = null;
break;
case com.novelgames.flashgames.commonAS2.KeyboardEvent.KEY_UP :
onKeyUp = null;
}
}
static var newStage = null;
}
Symbol 141 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.KeyboardEvent] Frame 0
class com.novelgames.flashgames.commonAS2.KeyboardEvent
{
function KeyboardEvent () {
}
function get charCode() {
return(Key.getAscii());
}
function get keyCode() {
return(Key.getCode());
}
function updateAfterEvent() {
_global.updateAfterEvent();
}
static var KEY_DOWN = "keyDown";
static var KEY_UP = "keyUp";
}
Symbol 142 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Rectangle] Frame 0
class com.novelgames.flashgames.commonAS2.Rectangle
{
var x, y, width, height;
function Rectangle (x, y, width, height) {
this.x = x;
this.y = y;
this.width = width;
this.height = height;
}
function get left() {
return(x);
}
function set left(left) {
x = left;
//return(this.left);
}
function get top() {
return(y);
}
function set top(top) {
y = top;
//return(this.top);
}
function get right() {
return(x + width);
}
function set right(right) {
width = right - x;
//return(this.right);
}
function get bottom() {
return(y + height);
}
function set bottom(bottom) {
height = bottom - y;
//return(this.bottom);
}
function get size() {
return({x:width, y:height});
}
function set size(size) {
width = size.x;
height = size.y;
//return(this.size);
}
function get topLeft() {
return({x:x, y:y});
}
function set topLeft(topLeft) {
x = topLeft.x;
y = topLeft.y;
//return(this.topLeft);
}
function get bottomRight() {
return({x:x + width, y:y + height});
}
function set bottomRight(bottomRight) {
width = x - bottomRight.x;
height = y - bottomRight.y;
//return(this.bottomRight);
}
}
Symbol 143 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.MouseEvent] Frame 0
class com.novelgames.flashgames.commonAS2.MouseEvent
{
var target, currentTarget;
function MouseEvent (target) {
this.target = target;
currentTarget = target;
}
function updateAfterEvent() {
_global.updateAfterEvent();
}
static var CLICK = "click";
static var DOUBLE_CLICK = "doubleClick";
static var MOUSE_DOWN = "mouseDown";
static var MOUSE_MOVE = "mouseMove";
static var MOUSE_OUT = "mouseOut";
static var MOUSE_OVER = "mouseOver";
static var MOUSE_UP = "mouseUp";
static var MOUSE_WHEEL = "mouseWheel";
static var ROLL_OUT = "rollOut";
static var ROLL_OVER = "rollOver";
}
Symbol 144 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Event] Frame 0
class com.novelgames.flashgames.commonAS2.Event
{
function Event () {
}
static var ENTER_FRAME = "enterFrame";
}
Symbol 145 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.URLRequest] Frame 0
class com.novelgames.flashgames.commonAS2.URLRequest
{
var url;
function URLRequest (url) {
this.url = url;
}
}
Symbol 146 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewSound] Frame 0
class com.novelgames.flashgames.commonAS2.NewSound extends Sound
{
var attachSound, start;
function NewSound (target, symbolName) {
super(target);
attachSound(symbolName);
}
function play() {
start();
}
}
Symbol 147 MovieClip [__Packages.com.novelgames.flashgames.bricks2AS2.Block] Frame 0
class com.novelgames.flashgames.bricks2AS2.Block extends com.novelgames.flashgames.commonAS2.NewMovieClip
{
var darkMask, colourDisplay, indexX, indexY, colour, isBomb, __set__x, __set__y, addEventListener, __set__buttonMode, cacheAsBitmap, stop, removeEventListener, gotoAndStop, __get__parent;
function Block () {
super();
darkMask.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype;
colourDisplay.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype;
}
function initialize(x, y, colour) {
var _local2;
indexX = x;
indexY = y;
this.colour = colour;
isBomb = false;
__set__x(x * com.novelgames.flashgames.bricks2AS2.Config.BLOCK_SIZE);
__set__y(y * com.novelgames.flashgames.bricks2AS2.Config.BLOCK_SIZE);
_local2 = new com.novelgames.flashgames.commonAS2.NewColorTransform();
_local2.__set__color(colour);
colourDisplay.transform.colorTransform = _local2;
addEventListener(com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_DOWN, this, "onClick");
__set__buttonMode(true);
cacheAsBitmap = true;
stop();
}
function setShowRatio(ratio) {
if (isBomb) {
return(undefined);
}
darkMask.__set__y((-com.novelgames.flashgames.bricks2AS2.Config.BLOCK_SIZE) * ratio);
}
function setColour(colour) {
var _local2;
this.colour = colour;
_local2 = new com.novelgames.flashgames.commonAS2.NewColorTransform();
_local2.__set__color(colour);
colourDisplay.transform.colorTransform = _local2;
}
function setClickable() {
addEventListener(com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_DOWN, this, "onClick");
__set__buttonMode(true);
}
function setUnclickable() {
removeEventListener(com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_DOWN);
__set__buttonMode(false);
}
function setBomb() {
isBomb = true;
gotoAndStop("bomb");
}
function onClick(mouseEvent) {
Object(__get__parent().parent).blockClicked(this);
}
}
Symbol 148 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewColorTransform] Frame 0
class com.novelgames.flashgames.commonAS2.NewColorTransform extends flash.geom.ColorTransform
{
var rgb;
function NewColorTransform () {
super();
}
function set color(color) {
rgb = color;
//return(this.color);
}
function get color() {
return(rgb);
}
}
Symbol 149 MovieClip [__Packages.com.novelgames.flashgames.bricks2AS2.Config] Frame 0
class com.novelgames.flashgames.bricks2AS2.Config
{
function Config () {
}
static var DIMENSION_X = 16;
static var DIMENSION_Y = 12;
static var BLOCK_SIZE = 25;
static var BLOCK_COLOURS = [14681601, 16763904, 52275];
static var BLOCK_INITIALROWS = 6;
static var BLOCK_MINGROUPSIZE = 3;
static var BLOCK_BOMBGROUPSIZE = 15;
static var BLOCK_ADDROWTIME = 100;
static var BLOCK_GAMEOVERTIME = 1000;
static var BLOCK_FALLACCELERATION = 1000;
static var BLOCK_MERGESPEED = 200;
static var BLOCK_BOMBEXPLODERADIUS = 3;
static var EXPLODE_TIME = 200;
static var EXPLODE_ROTATE = 180;
static var SCOREPOPUP_JUMPTIME = 150;
static var SCOREPOPUP_JUMPHEIGHT = 30;
static var SCOREPOPUP_STAYTIME = 150;
static var SCORE_GROUP = 50;
static var SCORE_EXTRA = 20;
static var SCORE_BOMB = 1000;
static var LEVEL_INITIALTIMEPERROW = 7000;
static var LEVEL_TIMEPERROWDECREASE = 500;
static var LEVEL_MINTIMEPERROW = 1000;
static var LEVEL_ROWS = 10;
static var MESSAGE_GAMEOVERTIME = 1000;
}
Symbol 150 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.InstructionsButton] Frame 0
class com.novelgames.flashgames.commonAS2.InstructionsButton extends com.novelgames.flashgames.commonAS2.NewMovieClip
{
var onRelease;
function InstructionsButton () {
super();
onRelease = function () {
this._parent._parent.showInstructionsFromGame();
};
}
}
Symbol 151 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Instructions] Frame 0
class com.novelgames.flashgames.commonAS2.Instructions extends MovieClip
{
var startButton, shownFromGame, _parent;
function Instructions () {
super();
startButton.onRelease = function () {
this._parent.startButtonClicked();
};
}
function initialize(shownFromGame) {
if (shownFromGame == undefined) {
shownFromGame = false;
}
this.shownFromGame = shownFromGame;
}
function startButtonClicked() {
if (!shownFromGame) {
_parent.gotoGamePage();
} else {
_parent.hideInstructionsFromGame();
}
}
}
Symbol 152 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.MuteButton] Frame 0
class com.novelgames.flashgames.commonAS2.MuteButton extends com.novelgames.flashgames.commonAS2.NewMovieClip
{
var gotoAndStop;
function MuteButton () {
super();
if (new Sound().getVolume() == 0) {
showOff();
} else {
showOn();
}
}
function onPress() {
if (new Sound().getVolume() == 0) {
new Sound().setVolume(100);
showOn();
} else {
new Sound().setVolume(0);
showOff();
}
}
function showOff() {
gotoAndStop("off");
}
function showOn() {
gotoAndStop("on");
}
}
Symbol 153 MovieClip [__Packages.com.novelgames.flashgames.bricks2AS2.Message] Frame 0
class com.novelgames.flashgames.bricks2AS2.Message extends com.novelgames.flashgames.commonAS2.NewMovieClip
{
var homeButton, playAgainButton, __set__visible, __get__parent;
function Message () {
super();
homeButton.__proto__ = com.novelgames.flashgames.commonAS2.NewButton.prototype;
playAgainButton.__proto__ = com.novelgames.flashgames.commonAS2.NewButton.prototype;
playAgainButton.__set__visible(false);
homeButton.__set__visible(false);
__set__visible(false);
playAgainButton.addEventListener(com.novelgames.flashgames.commonAS2.MouseEvent.CLICK, this, "playAgainButtonClicked");
homeButton.addEventListener(com.novelgames.flashgames.commonAS2.MouseEvent.CLICK, this, "homeButtonClicked");
}
function showGameOver() {
__set__visible(true);
}
function showPlayAgain() {
playAgainButton.__set__visible(true);
homeButton.__set__visible(true);
}
function playAgainButtonClicked(mouseEvent) {
Object(__get__parent().parent).gotoGamePage();
}
function homeButtonClicked(mouseEvent) {
Object(__get__parent().parent).gotoTitlePage();
}
}
Symbol 154 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewButton] Frame 0
class com.novelgames.flashgames.commonAS2.NewButton extends Button
{
var _xmouse, _ymouse, _visible, _alpha, _name, onRelease, onRollOver, onRollOut, onPress, onReleaseOutside;
function NewButton () {
super();
}
function set mouseX(mouseX) {
_xmouse = mouseX;
//return(this.mouseX);
}
function get mouseX() {
return(_xmouse);
}
function set mouseY(mouseY) {
_ymouse = mouseY;
//return(this.mouseY);
}
function get mouseY() {
return(_ymouse);
}
function set visible(visible) {
_visible = visible;
//return(this.visible);
}
function get visible() {
return(_visible);
}
function set alpha(alpha) {
_alpha = alpha * 100;
//return(this.alpha);
}
function get alpha() {
return(_alpha / 100);
}
function get name() {
return(_name);
}
function addEventListener(type, listenerObject, listenerFunctionName) {
switch (type) {
case com.novelgames.flashgames.commonAS2.MouseEvent.CLICK :
onRelease = function () {
listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this));
};
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OVER :
onRollOver = function () {
listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this));
};
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OUT :
onRollOut = function () {
listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this));
};
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_DOWN :
onPress = function () {
listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this));
};
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_UP :
onRelease = function () {
listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.MouseEvent(this));
};
onReleaseOutside = onRelease;
}
}
function removeEventListener(type) {
switch (type) {
case com.novelgames.flashgames.commonAS2.MouseEvent.CLICK :
onRelease = null;
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OVER :
onRollOver = null;
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.ROLL_OUT :
onRollOut = null;
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_DOWN :
onPress = null;
break;
case com.novelgames.flashgames.commonAS2.MouseEvent.MOUSE_UP :
onRelease = null;
onReleaseOutside = null;
}
}
}
Symbol 155 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.CommonGame] Frame 0
class com.novelgames.flashgames.commonAS2.CommonGame extends com.novelgames.flashgames.commonAS2.NewMovieClip
{
function CommonGame () {
super();
}
static function get gameStage() {
return(com.novelgames.flashgames.commonAS2.NewStage.getNewStage());
}
function pause() {
com.novelgames.flashgames.commonAS2.NewTimer.pause();
}
function unpause() {
com.novelgames.flashgames.commonAS2.NewTimer.unpause();
}
}
Symbol 156 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Timer] Frame 0
interface com.novelgames.flashgames.commonAS2.Timer
{
}
Symbol 157 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewTimer] Frame 0
class com.novelgames.flashgames.commonAS2.NewTimer implements com.novelgames.flashgames.commonAS2.Timer
{
static var pauseTime;
var delay, repeatCount, currentCount, listenerObject, listenerFunctionName, adjustedStartTime, usingDelay, intervalID;
function NewTimer (delay, repeatCount) {
if (repeatCount == undefined) {
repeatCount = 0;
}
this.delay = delay;
this.repeatCount = repeatCount;
currentCount = 0;
}
static function getTimer() {
if (paused) {
return(pauseTime - totalPausedTime);
}
return(getTimer() - totalPausedTime);
}
static function pause() {
if (paused) {
return(undefined);
}
paused = true;
pauseTime = getTimer();
}
static function unpause() {
if (!paused) {
return(undefined);
}
paused = false;
totalPausedTime = totalPausedTime + (getTimer() - pauseTime);
}
function addEventListener(type, listenerObject, listenerFunctionName) {
if (type != com.novelgames.flashgames.commonAS2.TimerEvent.TIMER) {
return(undefined);
}
this.listenerObject = listenerObject;
this.listenerFunctionName = listenerFunctionName;
}
function removeEventListener(type) {
if (type != com.novelgames.flashgames.commonAS2.TimerEvent.TIMER) {
return(undefined);
}
listenerObject = null;
listenerFunctionName = null;
}
function start() {
adjustedStartTime = getTimer();
usingDelay = delay;
clearInterval(intervalID);
intervalID = setInterval(this, "timerEventListener", delay);
}
function stop() {
clearInterval(intervalID);
}
function timerEventListener() {
currentCount++;
if (paused) {
clearInterval(intervalID);
usingDelay = Math.max(delay - (getTimer() - adjustedStartTime), 1);
currentCount--;
intervalID = setInterval(this, "timerEventListener", usingDelay);
return(undefined);
}
if ((getTimer() - adjustedStartTime) >= delay) {
adjustedStartTime = getTimer();
if (usingDelay != delay) {
clearInterval(intervalID);
usingDelay = delay;
intervalID = setInterval(this, "timerEventListener", usingDelay);
}
listenerObject[listenerFunctionName](new com.novelgames.flashgames.commonAS2.TimerEvent());
if ((repeatCount != 0) && (currentCount >= repeatCount)) {
clearInterval(intervalID);
}
} else {
clearInterval(intervalID);
usingDelay = Math.max(delay - (getTimer() - adjustedStartTime), 1);
currentCount--;
intervalID = setInterval(this, "timerEventListener", usingDelay);
}
}
static var paused = false;
static var totalPausedTime = 0;
}
Symbol 158 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.TimerEvent] Frame 0
class com.novelgames.flashgames.commonAS2.TimerEvent
{
function TimerEvent () {
}
function updateAfterEvent() {
_global.updateAfterEvent();
}
static var TIMER = "timer";
}
Symbol 159 MovieClip [__Packages.com.novelgames.flashgames.bricks2AS2.Game] Frame 0
class com.novelgames.flashgames.bricks2AS2.Game extends com.novelgames.flashgames.commonAS2.CommonGame
{
var message, levelText, scoreText, nextHolder, scoresHolder, explodesHolder, blocksHolder, noOfRowsAdded, explodes, isExploding, soundDestroy, createSound, soundBomb, soundAddRow, soundGameOver, __level, __score, timePerRow, blocks, nextBlocks, lastRowTime, nextTimer, startAddTime, addTimer, startExplodeTime, explodeTimer, fallingBlocks, startFallTime, fallTimer, mergingBlocks, startMergeTime, mergeTimer, startGameOverTime, gameOverTimer;
function Game () {
super();
message.__proto__ = com.novelgames.flashgames.bricks2AS2.Message.prototype;
levelText.__proto__ = com.novelgames.flashgames.commonAS2.NewTextField.prototype;
scoreText.__proto__ = com.novelgames.flashgames.commonAS2.NewTextField.prototype;
nextHolder.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype;
scoresHolder.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype;
explodesHolder.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype;
blocksHolder.__proto__ = com.novelgames.flashgames.commonAS2.NewMovieClip.prototype;
score = (0);
level = (1);
noOfRowsAdded = 0;
setLevel(level);
explodes = new Array();
scoresHolder.__set__mouseEnabled(false);
scoresHolder.__set__mouseChildren(false);
createBlocks();
createNextBlocks();
generateNextBlocks();
isExploding = false;
soundDestroy = createSound("SoundDestroy");
soundBomb = createSound("SoundBomb");
soundAddRow = createSound("SoundAddRow");
soundGameOver = createSound("SoundGameOver");
}
function set level(level) {
__level = level;
levelText.text = level.toString();
//return(this.level);
}
function get level() {
return(__level);
}
function set score(score) {
__score = score;
scoreText.text = score.toString();
//return(this.score);
}
function get score() {
return(__score);
}
function setLevel(level) {
this.level = (level);
timePerRow = com.novelgames.flashgames.bricks2AS2.Config.LEVEL_INITIALTIMEPERROW - ((level - 1) * com.novelgames.flashgames.bricks2AS2.Config.LEVEL_TIMEPERROWDECREASE);
if (timePerRow < com.novelgames.flashgames.bricks2AS2.Config.LEVEL_MINTIMEPERROW) {
timePerRow = com.novelgames.flashgames.bricks2AS2.Config.LEVEL_MINTIMEPERROW;
}
}
function createBlocks() {
var _local4;
var _local3;
var _local2;
blocks = new Array();
_local3 = 0;
while (_local3 < com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_X) {
blocks[_local3] = new Array();
_local2 = 0;
while (_local2 < com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_Y) {
blocks[_local3][_local2] = null;
_local2++;
}
_local3++;
}
_local3 = 0;
while (_local3 < com.novelgames.flashgames.bricks2AS2.Config.BLOCK_INITIALROWS) {
_local2 = 0;
while (_local2 < com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_X) {
_local4 = com.novelgames.flashgames.bricks2AS2.Block(blocksHolder.createMovie("Block"));
_local4.initialize(_local2, (com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_Y - com.novelgames.flashgames.bricks2AS2.Config.BLOCK_INITIALROWS) + _local3, com.novelgames.flashgames.bricks2AS2.Config.BLOCK_COLOURS[Math.floor(Math.random() * com.novelgames.flashgames.bricks2AS2.Config.BLOCK_COLOURS.length)]);
_local4.setShowRatio(1);
blocksHolder.addChild(_local4);
blocks[_local2][(com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_Y - com.novelgames.flashgames.bricks2AS2.Config.BLOCK_INITIALROWS) + _local3] = _local4;
_local2++;
}
_local3++;
}
}
function createNextBlocks() {
var _local2;
var _local3;
nextBlocks = new Array();
_local3 = 0;
while (_local3 < com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_X) {
_local2 = com.novelgames.flashgames.bricks2AS2.Block(nextHolder.createMovie("Block"));
_local2.initialize(_local3, 0, com.novelgames.flashgames.bricks2AS2.Config.BLOCK_COLOURS[Math.floor(Math.random() * com.novelgames.flashgames.bricks2AS2.Config.BLOCK_COLOURS.length)]);
_local2.setUnclickable();
nextHolder.addChild(_local2);
nextBlocks.push(_local2);
_local3++;
}
}
function generateNextBlocks() {
var _local2;
nextHolder.__set__visible(true);
_local2 = 0;
while (_local2 < com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_X) {
nextBlocks[_local2].setColour(com.novelgames.flashgames.bricks2AS2.Config.BLOCK_COLOURS[Math.floor(Math.random() * com.novelgames.flashgames.bricks2AS2.Config.BLOCK_COLOURS.length)]);
nextBlocks[_local2].setShowRatio(0);
_local2++;
}
lastRowTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer();
nextTimer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0);
nextTimer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onNextTime");
nextTimer.start();
}
function onNextTime(timerEvent) {
var _local4 = com.novelgames.flashgames.commonAS2.NewTimer.getTimer();
var _local3 = (_local4 - lastRowTime) / timePerRow;
var _local2;
if (_local3 > 1) {
_local3 = 1;
}
timerEvent.updateAfterEvent();
_local2 = 0;
while (_local2 < nextBlocks.length) {
nextBlocks[_local2].setShowRatio(_local3);
_local2++;
}
if (isExploding) {
return(undefined);
}
if (_local3 >= 1) {
nextTimer.stop();
addRow();
}
}
function addRow() {
var _local4;
var _local2;
var _local3;
_local2 = 0;
while (_local2 < com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_X) {
_local4 = com.novelgames.flashgames.bricks2AS2.Block(blocksHolder.createMovie("Block"));
_local4.initialize(_local2, com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_Y, nextBlocks[_local2].colour);
_local4.setShowRatio(1);
blocksHolder.addChild(_local4);
blocks[_local2][com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_Y] = _local4;
_local2++;
}
_local2 = 0;
while (_local2 < com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_X) {
_local3 = 0;
while (_local3 <= com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_Y) {
if (!blocks[_local2][_local3]) {
} else {
blocks[_local2][_local3].setUnclickable();
}
_local3++;
}
_local2++;
}
noOfRowsAdded++;
if ((noOfRowsAdded % com.novelgames.flashgames.bricks2AS2.Config.LEVEL_ROWS) == 0) {
setLevel(level + 1);
}
soundAddRow.play();
nextHolder.__set__visible(false);
startAddTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer();
addTimer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0);
addTimer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onAddTime");
addTimer.start();
}
function onAddTime(timerEvent) {
var _local5 = com.novelgames.flashgames.commonAS2.NewTimer.getTimer();
var _local4 = (_local5 - startAddTime) / com.novelgames.flashgames.bricks2AS2.Config.BLOCK_ADDROWTIME;
var _local3;
var _local2;
if (_local4 > 1) {
_local4 = 1;
}
timerEvent.updateAfterEvent();
_local3 = 0;
while (_local3 < com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_X) {
_local2 = 0;
while (_local2 < (com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_Y + 1)) {
if (!blocks[_local3][_local2]) {
} else {
blocks[_local3][_local2].y = (_local2 * com.novelgames.flashgames.bricks2AS2.Config.BLOCK_SIZE) - (com.novelgames.flashgames.bricks2AS2.Config.BLOCK_SIZE * _local4);
}
_local2++;
}
_local3++;
}
if (_local4 >= 1) {
addTimer.stop();
finishedAddingRow();
}
}
function finishedAddingRow() {
var _local2;
var _local3;
_local2 = 0;
while (_local2 < com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_X) {
if (blocks[_local2][0] != null) {
gameOver();
return(undefined);
}
_local2++;
}
_local2 = 0;
while (_local2 < com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_X) {
_local3 = 0;
while (_local3 < com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_Y) {
blocks[_local2][_local3] = blocks[_local2][_local3 + 1];
if (blocks[_local2][_local3]) {
blocks[_local2][_local3].indexX = _local2;
blocks[_local2][_local3].indexY = _local3;
blocks[_local2][_local3].setClickable();
}
_local3++;
}
_local2++;
}
generateNextBlocks();
}
function blockClicked(block) {
var _local3;
var _local10;
var _local9;
var _local7 = block.indexX;
var _local6 = block.indexY;
var _local5 = block.isBomb;
var _local2;
var _local4;
if (!_local5) {
_local3 = getGroup(block);
if (_local3.length < com.novelgames.flashgames.bricks2AS2.Config.BLOCK_MINGROUPSIZE) {
return(undefined);
}
_local10 = _local3.length - com.novelgames.flashgames.bricks2AS2.Config.BLOCK_MINGROUPSIZE;
_local9 = com.novelgames.flashgames.bricks2AS2.Config.SCORE_GROUP + (_local10 * com.novelgames.flashgames.bricks2AS2.Config.SCORE_EXTRA);
} else {
_local3 = getExplodeGroup(block);
_local9 = com.novelgames.flashgames.bricks2AS2.Config.SCORE_BOMB;
}
showScorePopup(block.__get__x() + (com.novelgames.flashgames.bricks2AS2.Config.BLOCK_SIZE / 2), block.__get__y() + (com.novelgames.flashgames.bricks2AS2.Config.BLOCK_SIZE / 2), _local9);
score = score + _local9;
isExploding = true;
_local2 = 0;
while (_local2 < _local3.length) {
if ((((!_local5) && (_local3.length >= com.novelgames.flashgames.bricks2AS2.Config.BLOCK_BOMBGROUPSIZE)) && (_local3[_local2].indexX == _local7)) && (_local3[_local2].indexY == _local6)) {
} else {
addExplode(_local3[_local2].indexX, _local3[_local2].indexY);
}
_local2++;
}
_local2 = 0;
while (_local2 < _local3.length) {
if ((((!_local5) && (_local3.length >= com.novelgames.flashgames.bricks2AS2.Config.BLOCK_BOMBGROUPSIZE)) && (_local3[_local2].indexX == _local7)) && (_local3[_local2].indexY == _local6)) {
_local3[_local2].setBomb();
soundBomb.play();
} else {
blocks[_local3[_local2].indexX][_local3[_local2].indexY] = null;
blocksHolder.removeChild(_local3[_local2]);
}
_local2++;
}
_local2 = 0;
while (_local2 < com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_X) {
_local4 = 0;
while (_local4 < com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_Y) {
if (!blocks[_local2][_local4]) {
} else {
blocks[_local2][_local4].setUnclickable();
}
_local4++;
}
_local2++;
}
soundDestroy.play();
startExplodeTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer();
explodeTimer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0);
explodeTimer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onExplodeTime");
explodeTimer.start();
}
function getGroup(block) {
var _local3 = [block];
var _local6 = 0;
var _local7 = 1;
var _local4;
var _local5;
var _local2;
while (_local6 < _local3.length) {
_local7 = _local3.length;
_local5 = _local6;
while (_local5 < _local3.length) {
_local4 = getAdjacentSameColouredBlocks(_local3[_local5]);
_local2 = 0;
while (_local2 < _local4.length) {
if (getBlockIsInGroup(_local4[_local2], _local3)) {
} else {
_local3.push(_local4[_local2]);
}
_local2++;
}
_local5++;
}
_local6 = _local7;
}
return(_local3);
}
function getAdjacentSameColouredBlocks(block) {
var _local4 = new Array();
var _local5 = block.colour;
var _local3 = block.indexX;
var _local2 = block.indexY;
if ((((_local3 > 0) && (blocks[_local3 - 1][_local2])) && (!blocks[_local3 - 1][_local2].isBomb)) && (blocks[_local3 - 1][_local2].colour == _local5)) {
_local4.push(blocks[_local3 - 1][_local2]);
}
if ((((_local3 < (com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_X - 1)) && (blocks[_local3 + 1][_local2])) && (!blocks[_local3 + 1][_local2].isBomb)) && (blocks[_local3 + 1][_local2].colour == _local5)) {
_local4.push(blocks[_local3 + 1][_local2]);
}
if ((((_local2 > 0) && (blocks[_local3][_local2 - 1])) && (!blocks[_local3][_local2 - 1].isBomb)) && (blocks[_local3][_local2 - 1].colour == _local5)) {
_local4.push(blocks[_local3][_local2 - 1]);
}
if ((((_local2 < (com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_Y - 1)) && (blocks[_local3][_local2 + 1])) && (!blocks[_local3][_local2 + 1].isBomb)) && (blocks[_local3][_local2 + 1].colour == _local5)) {
_local4.push(blocks[_local3][_local2 + 1]);
}
return(_local4);
}
function getBlockIsInGroup(block, group) {
var _local1;
_local1 = 0;
while (_local1 < group.length) {
if (group[_local1] == block) {
return(true);
}
_local1++;
}
return(false);
}
function getExplodeGroup(block) {
var _local6 = new Array();
var _local5 = block.indexX;
var _local4 = block.indexY;
var _local3;
var _local2;
_local3 = _local5 - com.novelgames.flashgames.bricks2AS2.Config.BLOCK_BOMBEXPLODERADIUS;
while (_local3 <= (_local5 + com.novelgames.flashgames.bricks2AS2.Config.BLOCK_BOMBEXPLODERADIUS)) {
if (_local3 < 0) {
} else {
if (_local3 >= com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_X) {
break;
}
_local2 = _local4 - com.novelgames.flashgames.bricks2AS2.Config.BLOCK_BOMBEXPLODERADIUS;
while (_local2 <= (_local4 + com.novelgames.flashgames.bricks2AS2.Config.BLOCK_BOMBEXPLODERADIUS)) {
if (_local2 < 0) {
} else {
if (_local2 >= com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_Y) {
break;
}
if ((Math.abs(_local3 - _local5) + Math.abs(_local2 - _local4)) > com.novelgames.flashgames.bricks2AS2.Config.BLOCK_BOMBEXPLODERADIUS) {
} else if (!blocks[_local3][_local2]) {
} else {
_local6.push(blocks[_local3][_local2]);
}
}
_local2++;
}
}
_local3++;
}
return(_local6);
}
function showScorePopup(x, y, score) {
var _local2 = com.novelgames.flashgames.bricks2AS2.ScorePopup(scoresHolder.createMovie("ScorePopup"));
_local2.initialize(x, y, score);
scoresHolder.addChild(_local2);
}
function addExplode(x, y) {
var _local2 = com.novelgames.flashgames.bricks2AS2.Explode(explodesHolder.createMovie("Explode"));
_local2.__set__x((x * com.novelgames.flashgames.bricks2AS2.Config.BLOCK_SIZE) + (com.novelgames.flashgames.bricks2AS2.Config.BLOCK_SIZE / 2));
_local2.__set__y((y * com.novelgames.flashgames.bricks2AS2.Config.BLOCK_SIZE) + (com.novelgames.flashgames.bricks2AS2.Config.BLOCK_SIZE / 2));
explodesHolder.addChild(_local2);
explodes.push(_local2);
}
function onExplodeTime(timerEvent) {
var _local4 = com.novelgames.flashgames.commonAS2.NewTimer.getTimer();
var _local3 = (_local4 - startExplodeTime) / com.novelgames.flashgames.bricks2AS2.Config.EXPLODE_TIME;
var _local2;
if (_local3 > 1) {
_local3 = 1;
}
timerEvent.updateAfterEvent();
_local2 = 0;
while (_local2 < explodes.length) {
explodes[_local2].scaleX = 1 - _local3;
explodes[_local2].scaleY = 1 - _local3;
explodes[_local2].rotation = _local3 * com.novelgames.flashgames.bricks2AS2.Config.EXPLODE_ROTATE;
_local2++;
}
if (_local3 >= 1) {
explodeTimer.stop();
_local2 = 0;
while (_local2 < explodes.length) {
explodesHolder.removeChild(explodes[_local2]);
_local2++;
}
explodes = new Array();
checkFall();
}
}
function checkFall() {
var _local4;
var _local3;
var _local2;
fallingBlocks = new Array();
_local3 = 0;
while (_local3 < com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_X) {
_local4 = 0;
_local2 = com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_Y - 1;
while (_local2 >= 0) {
if (!blocks[_local3][_local2]) {
_local4++;
} else if (_local4 > 0) {
blocks[_local3][_local2].targetY = _local2 + _local4;
fallingBlocks.push(blocks[_local3][_local2]);
blocks[_local3][_local2] = null;
}
_local2--;
}
_local3++;
}
if (fallingBlocks.length == 0) {
checkMerge();
} else {
startFallTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer();
fallTimer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0);
fallTimer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onFallTime");
fallTimer.start();
}
}
function onFallTime(timerEvent) {
var _local5 = com.novelgames.flashgames.commonAS2.NewTimer.getTimer();
var _local4 = _local5 - startFallTime;
var _local3 = (((com.novelgames.flashgames.bricks2AS2.Config.BLOCK_FALLACCELERATION * _local4) * _local4) / 1000000) / 2;
var _local2;
timerEvent.updateAfterEvent();
_local2 = 0;
while (_local2 < fallingBlocks.length) {
fallingBlocks[_local2].y = (fallingBlocks[_local2].indexY * com.novelgames.flashgames.bricks2AS2.Config.BLOCK_SIZE) + _local3;
if (fallingBlocks[_local2].y >= (fallingBlocks[_local2].targetY * com.novelgames.flashgames.bricks2AS2.Config.BLOCK_SIZE)) {
fallingBlocks[_local2].y = fallingBlocks[_local2].targetY * com.novelgames.flashgames.bricks2AS2.Config.BLOCK_SIZE;
blocks[fallingBlocks[_local2].indexX][fallingBlocks[_local2].targetY] = fallingBlocks[_local2];
fallingBlocks[_local2].indexY = fallingBlocks[_local2].targetY;
fallingBlocks.splice(_local2, 1);
_local2--;
}
_local2++;
}
if (fallingBlocks.length == 0) {
fallTimer.stop();
checkMerge();
}
}
function checkMerge() {
var _local8;
var _local7;
var _local9 = 0;
var _local10 = 0;
var _local6;
var _local5;
var _local4;
var _local2;
var _local3;
_local2 = 0;
while (_local2 < com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_X) {
if (blocks[_local2][com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_Y - 1]) {
break;
}
_local2++;
}
_local8 = _local2;
_local2 = com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_X - 1;
while (_local2 >= 0) {
if (blocks[_local2][com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_Y - 1]) {
break;
}
_local2--;
}
_local7 = _local2;
_local2 = _local8;
while (_local2 <= _local7) {
if (blocks[_local2][com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_Y - 1]) {
} else {
_local9++;
}
_local2++;
}
if (_local9 == 0) {
resumeControl();
return(undefined);
}
_local10 = ((com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_X - _local9) - _local8) - ((com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_X - 1) - _local7);
_local6 = Math.floor((com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_X - _local10) / 2);
if (_local6 < _local8) {
_local6 = _local8;
}
if (((_local6 + _local10) - 1) > _local7) {
_local6 = (_local7 - _local10) + 1;
}
mergingBlocks = new Array();
_local5 = 0;
_local2 = 0;
while (_local2 < com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_X) {
if (blocks[_local2][com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_Y - 1] == null) {
_local5++;
} else {
_local4 = _local6 - _local5;
if (_local4 == 0) {
} else {
_local3 = 0;
while (_local3 < com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_Y) {
if (!blocks[_local2][_local3]) {
} else {
blocks[_local2][_local3].targetX = _local2 + _local4;
mergingBlocks.push(blocks[_local2][_local3]);
blocks[_local2][_local3] = null;
}
_local3++;
}
}
}
_local2++;
}
startMergeTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer();
mergeTimer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0);
mergeTimer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onMergeTime");
mergeTimer.start();
}
function onMergeTime(timerEvent) {
var _local5 = com.novelgames.flashgames.commonAS2.NewTimer.getTimer();
var _local4 = _local5 - startMergeTime;
var _local2;
var _local3;
timerEvent.updateAfterEvent();
_local3 = 0;
while (_local3 < mergingBlocks.length) {
_local2 = mergingBlocks[_local3];
if (_local2.indexX < _local2.targetX) {
_local2.__set__x((_local2.indexX * com.novelgames.flashgames.bricks2AS2.Config.BLOCK_SIZE) + ((com.novelgames.flashgames.bricks2AS2.Config.BLOCK_MERGESPEED * _local4) / 1000));
if (_local2.__get__x() >= (_local2.targetX * com.novelgames.flashgames.bricks2AS2.Config.BLOCK_SIZE)) {
_local2.__set__x(_local2.targetX * com.novelgames.flashgames.bricks2AS2.Config.BLOCK_SIZE);
blocks[_local2.targetX][_local2.indexY] = _local2;
_local2.indexX = _local2.targetX;
mergingBlocks.splice(_local3, 1);
_local3--;
}
} else {
mergingBlocks[_local3].x = (mergingBlocks[_local3].indexX * com.novelgames.flashgames.bricks2AS2.Config.BLOCK_SIZE) - ((com.novelgames.flashgames.bricks2AS2.Config.BLOCK_MERGESPEED * _local4) / 1000);
if (_local2.__get__x() <= (_local2.targetX * com.novelgames.flashgames.bricks2AS2.Config.BLOCK_SIZE)) {
_local2.__set__x(_local2.targetX * com.novelgames.flashgames.bricks2AS2.Config.BLOCK_SIZE);
blocks[_local2.targetX][_local2.indexY] = _local2;
_local2.indexX = _local2.targetX;
mergingBlocks.splice(_local3, 1);
_local3--;
}
}
_local3++;
}
if (mergingBlocks.length == 0) {
mergeTimer.stop();
resumeControl();
}
}
function resumeControl() {
var _local3;
var _local2;
isExploding = false;
_local3 = 0;
while (_local3 < com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_X) {
_local2 = 0;
while (_local2 < com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_Y) {
if (!blocks[_local3][_local2]) {
} else {
blocks[_local3][_local2].setClickable();
}
_local2++;
}
_local3++;
}
}
function gameOver() {
var _local3;
var _local2;
_local3 = 0;
while (_local3 < com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_X) {
_local2 = 0;
while (_local2 < com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_Y) {
if (!blocks[_local3][_local2]) {
} else {
blocks[_local3][_local2].setUnclickable();
}
_local2++;
}
_local3++;
}
showPlayAgain();
}
function onGameOverTime(timerEvent) {
var _local7 = com.novelgames.flashgames.commonAS2.NewTimer.getTimer();
var _local6 = (_local7 - startGameOverTime) / com.novelgames.flashgames.bricks2AS2.Config.BLOCK_GAMEOVERTIME;
var _local4;
var _local5;
var _local3;
var _local2;
if (_local6 > 1) {
_local6 = 1;
}
_local4 = Math.floor(_local6 * com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_Y);
_local5 = (_local6 * com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_Y) - _local4;
_local4++;
_local3 = 0;
while (_local3 < com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_X) {
_local2 = 0;
while (_local2 < (com.novelgames.flashgames.bricks2AS2.Config.DIMENSION_Y + 1)) {
if (!blocks[_local3][_local2]) {
} else if (_local2 < _local4) {
blocks[_local3][_local2].setShowRatio(0);
} else if (_local2 > _local4) {
blocks[_local3][_local2].setShowRatio(1);
} else {
blocks[_local3][_local2].setShowRatio(1 - _local5);
}
_local2++;
}
_local3++;
}
if (_local6 >= 1) {
gameOverTimer.stop();
soundGameOver.play();
message.showGameOver();
gameOverTimer = new com.novelgames.flashgames.commonAS2.NewTimer(com.novelgames.flashgames.bricks2AS2.Config.MESSAGE_GAMEOVERTIME, 1);
gameOverTimer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "showPlayAgain");
gameOverTimer.start();
}
}
function showPlayAgain() {
var _local3 = _root.attachMovie("endScreen", "endScreen", _root.getNextHighestDepth());
trace(score);
trace(_local3.playAgain.score);
_local3.playAgain.score.text = score;
trace(_local3.playAgain.score.text);
}
}
Symbol 160 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.NewTextField] Frame 0
class com.novelgames.flashgames.commonAS2.NewTextField extends TextField
{
var _x, _y, _rotation, _visible, _alpha, _width, _height, scroll, maxscroll;
function NewTextField () {
super();
}
function set x(x) {
_x = x;
//return(this.x);
}
function get x() {
return(_x);
}
function set y(y) {
_y = y;
//return(this.y);
}
function get y() {
return(_y);
}
function set rotation(rotation) {
_rotation = rotation;
//return(this.rotation);
}
function get rotation() {
return(_rotation);
}
function set visible(visible) {
_visible = visible;
//return(this.visible);
}
function get visible() {
return(_visible);
}
function set alpha(alpha) {
_alpha = alpha * 100;
//return(this.alpha);
}
function get alpha() {
return(_alpha / 100);
}
function get width() {
return(_width);
}
function set width(width) {
_width = width;
//return(this.width);
}
function get height() {
return(_height);
}
function set height(height) {
_height = height;
//return(this.height);
}
function set scrollV(scrollV) {
scroll = scrollV;
//return(this.scrollV);
}
function get scrollV() {
return(scroll);
}
function set maxScrollV(maxScrollV) {
maxscroll = maxScrollV;
//return(this.maxScrollV);
}
function get maxScrollV() {
return(maxscroll);
}
function setTextFormat(textFormat, beginIndex, endIndex) {
if ((beginIndex == undefined) || (endIndex == undefined)) {
super.setTextFormat(textFormat);
} else {
super.setTextFormat(beginIndex, endIndex, textFormat);
}
}
}
Symbol 161 MovieClip [__Packages.com.novelgames.flashgames.bricks2AS2.ScorePopup] Frame 0
class com.novelgames.flashgames.bricks2AS2.ScorePopup extends com.novelgames.flashgames.commonAS2.NewMovieClip
{
var scoreText, __set__x, __set__y, cacheAsBitmap, originalY, startTime, timer, __get__parent;
function ScorePopup () {
super();
scoreText.__proto__ = com.novelgames.flashgames.commonAS2.NewTextField.prototype;
}
function initialize(x, y, score) {
__set__x(x);
__set__y(y);
scoreText.text = score.toString();
cacheAsBitmap = true;
originalY = y;
startTime = com.novelgames.flashgames.commonAS2.NewTimer.getTimer();
timer = new com.novelgames.flashgames.commonAS2.NewTimer(1, 0);
timer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "onJumpTime");
timer.start();
}
function onJumpTime(timerEvent) {
var _local3 = com.novelgames.flashgames.commonAS2.NewTimer.getTimer();
var _local2 = (_local3 - startTime) / com.novelgames.flashgames.bricks2AS2.Config.SCOREPOPUP_JUMPTIME;
if (_local2 > 1) {
_local2 = 1;
}
timerEvent.updateAfterEvent();
__set__y(originalY - (Math.sin(_local2 * Math.PI) * com.novelgames.flashgames.bricks2AS2.Config.SCOREPOPUP_JUMPHEIGHT));
if (_local2 >= 1) {
timer.stop();
timer = new com.novelgames.flashgames.commonAS2.NewTimer(com.novelgames.flashgames.bricks2AS2.Config.SCOREPOPUP_STAYTIME, 1);
timer.addEventListener(com.novelgames.flashgames.commonAS2.TimerEvent.TIMER, this, "finishedStaying");
timer.start();
}
}
function finishedStaying(timerEvent) {
__get__parent().removeChild(this);
}
}
Symbol 162 MovieClip [__Packages.com.novelgames.flashgames.bricks2AS2.Explode] Frame 0
class com.novelgames.flashgames.bricks2AS2.Explode extends com.novelgames.flashgames.commonAS2.NewMovieClip
{
function Explode () {
super();
}
}
Symbol 163 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.Title] Frame 0
class com.novelgames.flashgames.commonAS2.Title extends MovieClip
{
var startButton, highScoresButton, moreGamesButton, _parent, getURL;
function Title () {
super();
startButton.onRelease = function () {
this._parent.startButtonClicked();
};
highScoresButton.onRelease = function () {
this._parent.highScoresButtonClicked();
};
moreGamesButton.onRelease = function () {
this._parent.moreGamesButtonClicked();
};
}
function startButtonClicked() {
_parent.gotoInstructionsPage();
}
function highScoresButtonClicked() {
_parent.showHighScores();
}
function moreGamesButtonClicked() {
getURL("http://www.novelgames.com", "_blank");
}
}
Symbol 164 MovieClip [__Packages.com.novelgames.flashgames.commonAS2.MainDevelopment] Frame 0
class com.novelgames.flashgames.commonAS2.MainDevelopment extends MovieClip
{
var title, attachMovie, titleDepth, instructions, game, getNextHighestDepth, onEnterFrame, stop;
function MainDevelopment () {
super();
}
static function initialize(movieClip) {
movieClip.__proto__ = com.novelgames.flashgames.commonAS2.MainDevelopment.prototype;
movieClip.onEnterFrame = movieClip.checkTitle;
}
function gotoTitlePage() {
removePage();
title = com.novelgames.flashgames.commonAS2.Title(attachMovie("Title", "title", titleDepth));
}
function gotoInstructionsPage() {
removePage();
instructions = com.novelgames.flashgames.commonAS2.Instructions(attachMovie("Instructions", "instructions", titleDepth));
instructions.initialize();
}
function gotoGamePage() {
removePage();
game = attachMovie("Game", "game", titleDepth);
}
function showInstructionsFromGame() {
game.pause();
game._visible = false;
instructions = com.novelgames.flashgames.commonAS2.Instructions(attachMovie("Instructions", "instructions", getNextHighestDepth()));
instructions.swapDepths(titleDepth);
instructions.initialize(true);
}
function hideInstructionsFromGame() {
instructions.swapDepths(game.getDepth());
instructions.removeMovieClip();
instructions = null;
game._visible = true;
game.unpause();
}
function showHighScores() {
trace("showHighScores()");
}
function showEnterHighScore(score) {
trace(("showEnterHighScore(" + score) + ")");
_root.sendApiScore(score);
}
function checkTitle() {
if (!title) {
return(undefined);
}
onEnterFrame = null;
stop();
titleDepth = title.getDepth();
}
function removePage() {
if (title) {
title.removeMovieClip();
title = null;
}
if (instructions) {
instructions.removeMovieClip();
instructions = null;
}
if (game) {
game.removeMovieClip();
game = null;
}
}
}