Frame 1
game_title = "monster-match";
var my_menu = new ContextMenu();
my_menu.hideBuiltInItems();
_root.menu = my_menu;
loaded = _root.getBytesLoaded();
total = _root.getBytesTotal();
percent = loaded / total;
preloader.bar._width = percent * 200;
preloader.loading = ("Loading: " + Math.round(percent * 100)) + "%";
if (loaded == total) {
_root.gotoAndStop("INTRO");
}
Frame 2
_root.gotoAndPlay(1);
Frame 11
intro.onRelease = function () {
getURL ("http://www.gr8games.eu/?source=" + _root.game_title, "_blank");
};
Frame 21
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);
}
stop();
MochiAd.showPreGameAd({id:"425ff0bb661c4e27", res:"640x500"});
__com_mochibot__("d1384309", this, 10301, true);
Frame 31
stop();
disappear_sound = new Sound(this);
disappear_sound.attachSound("disappear");
click_sound = new Sound(this);
click_sound.attachSound("click");
error_sound = new Sound(this);
error_sound.attachSound("error");
Frame 51
function place_line() {
lines++;
update_data();
x = 0;
while (x < 10) {
tiles_placed++;
if (field[x][0] != 0) {
push_blocks(x);
}
tile = tiles.attachMovie("tile", "tile_" + tiles_placed, tiles_placed, {_x:10 + (45 * x), _y:415});
num = Math.floor(Math.random() * 8) + 1;
tile.gotoAndStop(num);
field[x][0] = tiles_placed;
x++;
}
can_draw = false;
drawing.clear();
delete tiles_to_remove;
tiles_to_remove = Array();
sound_button.swapDepths(_root.getNextHighestDepth());
pause_button.swapDepths(_root.getNextHighestDepth());
}
function push_blocks(col_number) {
i = 9;
while (i >= 0) {
if (field[col_number][i] != 0) {
if (i != 9) {
field[col_number][i + 1] = field[col_number][i];
_root.tiles["tile_" + field[col_number][i]]._y = _root.tiles["tile_" + field[col_number][i]]._y - 45;
} else {
_root.tiles.removeMovieClip();
_root.gotoAndStop("GAMEOVER");
sound_button.removeMovieClip();
pause_button.removeMovieClip();
}
}
i--;
}
}
function remove_tiles(tx, ty) {
_root.tiles["tile_" + field[tx][ty]].removeMovieClip();
field[tx][ty] = 0;
}
function update_field() {
i = 0;
while (i < 10) {
j = 1;
while (j < 10) {
if ((field[i][j] != 0) and (field[i][j - 1] == 0)) {
falling = j - 1;
while ((field[i][falling] == 0) and (falling >= 0)) {
field[i][falling] = field[i][falling + 1];
_root.tiles["tile_" + field[i][falling + 1]]._y = _root.tiles["tile_" + field[i][falling + 1]]._y + 45;
field[i][falling + 1] = 0;
falling--;
}
}
j++;
}
i++;
}
}
function update_data() {
if ((lines >= 0) && (lines < 10)) {
speed = 1.5;
level = 1;
} else if ((lines >= 10) && (lines < 20)) {
speed = 1.75;
level = 2;
} else if ((lines >= 20) && (lines < 30)) {
speed = 2;
level = 3;
} else if ((lines >= 30) && (lines < 40)) {
speed = 2.25;
level = 4;
} else if ((lines >= 40) && (lines < 50)) {
speed = 2.5;
level = 5;
} else if ((lines >= 50) && (lines < 60)) {
speed = 2.75;
level = 6;
} else if ((lines >= 60) && (lines < 70)) {
speed = 3;
level = 7;
} else if ((lines >= 80) && (lines < 90)) {
speed = 3.25;
level = 8;
} else if ((lines >= 90) && (lines < 100)) {
speed = 3.5;
level = 9;
} else if ((lines >= 100) && (lines < 150)) {
speed = 3.75;
level = 10;
} else if ((lines >= 150) && (lines < 200)) {
speed = 4;
level = 11;
} else if ((lines >= 200) && (lines < 250)) {
speed = 4.25;
level = 12;
} else if ((lines >= 250) && (lines < 500)) {
speed = 4.5;
level = 13;
} else if ((lines >= 500) && (lines < 1000)) {
speed = 4.75;
level = 14;
} else {
speed = 5;
level = 15;
}
}
function stop_drawing() {
can_draw = false;
drawing.clear();
delete tiles_to_remove;
tiles_to_remove = Array();
}
stop();
score = 0;
lines = 0;
speed = 1.5;
level = 1;
game_pause = false;
field = Array();
tiles_to_remove = Array();
interval = 450;
tiles_placed = 0;
x = 0;
while (x < 10) {
field[x] = Array();
y = 0;
while (y < 10) {
field[x][y] = 0;
y++;
}
x++;
}
createEmptyMovieClip("tiles", 1);
createEmptyMovieClip("drawing", 2);
can_draw = false;
_root.onEnterFrame = function () {
if (!game_pause) {
interval++;
next_line._width = interval * speed;
if ((interval * speed) > 450) {
interval = 0;
place_line();
}
if (can_draw) {
drawing.lineTo(_root._xmouse, _root._ymouse);
x_tile_drawing = Math.floor((_root._xmouse - 10) / 45);
y_tile_drawing = -Math.floor((_root._ymouse - 415) / 45);
if (field[x_tile_drawing][y_tile_drawing] != 0) {
current_color = _root.tiles["tile_" + field[x_tile_drawing][y_tile_drawing]]._currentframe;
if (current_color != starting_color) {
stop_drawing();
error_sound.start();
} else if (!starting_color) {
error_sound.start();
stop_drawing();
} else {
insert_it = true;
x = 0;
while (x < tiles_to_remove.length) {
if (tiles_to_remove[x] == ((y_tile_drawing * 10) + x_tile_drawing)) {
insert_it = false;
break;
}
x++;
}
if (insert_it) {
tiles_to_remove.push((y_tile_drawing * 10) + x_tile_drawing);
}
}
}
}
}
};
onMouseDown = function () {
x_tile_clicked = Math.floor((_root._xmouse - 10) / 45);
y_tile_clicked = -Math.floor((_root._ymouse - 415) / 45);
if ((((x_tile_clicked >= 0) and (x_tile_clicked <= 9)) and (y_tile_clicked >= 0)) and (y_tile_clicked <= 9)) {
if (field[x_tile_clicked][y_tile_clicked] != 0) {
starting_color = _root.tiles["tile_" + field[x_tile_clicked][y_tile_clicked]]._currentframe;
}
}
drawing.lineStyle(3, 0);
drawing.moveTo(_root._xmouse, _root._ymouse);
can_draw = true;
};
onMouseUp = function () {
if (tiles_to_remove.length > 1) {
count = 0;
x = 0;
while (x < tiles_to_remove.length) {
count++;
posx = tiles_to_remove[x] % 10;
posy = Math.floor(tiles_to_remove[x] / 10);
remove_tiles(posx, posy);
x++;
}
disappear_sound.start();
score = score + (count * 10);
score_txt.text = "punkty: " + score;
update_field();
}
stop_drawing();
};
Frame 61
stop();
count = false;
counter = 0;
submit.score = score;
submit_score = false;
on_close = function () {
_root.gotoAndStop("HOME");
};
on_error = function () {
_root.gotoAndStop("HOME");
};
on_display = function () {
count = true;
};
_root.kongregateServices.connect();
mochi.MochiServices.connect("425ff0bb661c4e27");
score_api = new LocalConnection();
onEnterFrame = function () {
if (submit_score == true) {
submit_score = false;
user = _root.submit.user;
if ((!(user === undefined)) && (user.length > 2)) {
submit._visible = 0;
mochi.MochiScores.showLeaderboard({boardID:"bcff8c98ce6148ae", score:score, name:user, res:"640x500", preloaderDisplay:false, onClose:on_close, onError:on_error, onDisplay:on_display});
} else {
submit.enter_your_name.gotoAndStop(2);
}
}
if (count == true) {
counter++;
if (counter == 150) {
count = false;
score_api.send(_root.gr8games_api, "submitScore", score);
}
}
if (_root.kongregateServices.connect) {
_root.kongregateScores.submit(score);
}
Nonoba.api.NonobaAPI.SubmitScore("score", score, function (response) {
});
_root.HPScoreService.postScore(score, "");
};
Frame 71
stop();
on_close = function () {
_root.gotoAndStop("HOME");
};
on_error = function () {
_root.gotoAndStop("HOME");
};
mochi.MochiServices.connect("425ff0bb661c4e27");
mochi.MochiScores.showLeaderboard({boardID:"bcff8c98ce6148ae", res:"640x500", preloaderDisplay:false, onClose:on_close, onError:on_error});
Symbol 6 MovieClip [circle] Frame 71
stop();
Symbol 102 MovieClip [__Packages.MochiAd] Frame 0
class MochiAd
{
function MochiAd () {
}
static function getVersion() {
return("2.7");
}
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 103 MovieClip [__Packages.mochi.MochiScores] Frame 0
class mochi.MochiScores
{
static var boardID, onClose, onError;
function MochiScores () {
}
static function setBoardID(boardID) {
mochi.MochiScores.boardID = boardID;
mochi.MochiServices.send("scores_setBoardID", {boardID:boardID});
}
static function showLeaderboard(options) {
if (options.clip != null) {
if ((options.clip != mochi.MochiServices.__get__clip()) || (mochi.MochiServices.__get__childClip()._target == undefined)) {
mochi.MochiServices.disconnect();
mochi.MochiServices.connect(mochi.MochiServices.__get__id(), options.clip);
}
delete options.clip;
}
if (options.name != null) {
if (typeof(options.name) == "object") {
if (options.name.text != undefined) {
options.name = options.name.text;
}
}
}
if (options.score != null) {
if (typeof(options.score) == "object") {
if (options.score.text != undefined) {
options.score = options.score.text;
}
}
}
if (options.onDisplay != null) {
options.onDisplay();
} else {
mochi.MochiServices.__get__clip().stop();
}
if (options.onClose != null) {
onClose = options.onClose;
} else {
onClose = function () {
mochi.MochiServices.__get__clip().play();
};
}
if (options.onError != null) {
onError = options.onError;
} else {
onError = onClose;
}
if (options.boardID == null) {
if (boardID != null) {
options.boardID = boardID;
}
}
mochi.MochiServices.send("scores_showLeaderboard", {options:options}, null, doClose);
}
static function closeLeaderboard() {
mochi.MochiServices.send("scores_closeLeaderboard");
}
static function getPlayerInfo(callbackObj, callbackMethod) {
mochi.MochiServices.send("scores_getPlayerInfo", null, callbackObj, callbackMethod);
}
static function submit(score, name, callbackObj, callbackMethod) {
mochi.MochiServices.send("scores_submit", {score:score, name:name}, callbackObj, callbackMethod);
}
static function requestList(callbackObj, callbackMethod) {
mochi.MochiServices.send("scores_requestList", null, callbackObj, callbackMethod);
}
static function scoresArrayToObjects(scores) {
var _local5 = {};
var _local1;
var _local4;
var _local2;
var _local6;
for (var _local8 in scores) {
if (typeof(scores[_local8]) == "object") {
if ((scores[_local8].cols != null) && (scores[_local8].rows != null)) {
_local5[_local8] = [];
_local2 = scores[_local8];
_local4 = 0;
while (_local4 < _local2.rows.length) {
_local6 = {};
_local1 = 0;
while (_local1 < _local2.cols.length) {
_local6[_local2.cols[_local1]] = _local2.rows[_local4][_local1];
_local1++;
}
_local5[_local8].push(_local6);
_local4++;
}
} else {
_local5[_local8] = {};
for (var _local7 in scores[_local8]) {
_local5[_local8][_local7] = scores[_local8][_local7];
}
}
} else {
_local5[_local8] = scores[_local8];
}
}
return(_local5);
}
static function doClose(args) {
if (args.error == true) {
if (args.errorCode == undefined) {
args.errorCode = "IOError";
}
onError.apply(null, [args.errorCode]);
} else {
onClose.apply();
}
}
}
Symbol 104 MovieClip [__Packages.mochi.MochiServices] Frame 0
class mochi.MochiServices
{
static var _id, _container, _clip, _sendChannelName, _rcvChannelName, __get__comChannelName, onError, _listenChannel, _rcvChannel, _loader, _loaderListener, _sendChannel;
function MochiServices () {
}
static function get id() {
return(_id);
}
static function get clip() {
return(_container);
}
static function get childClip() {
return(_clip);
}
static function getVersion() {
return("1.31");
}
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 get isNetworkAvailable() {
if (System.security) {
var _local1 = System.security;
if (_local1.sandboxType == "localWithFile") {
return(false);
}
}
return(true);
}
static function set comChannelName(val) {
if (val != undefined) {
if (val.length > 3) {
_sendChannelName = val + "_fromgame";
_rcvChannelName = val;
initComChannels();
}
}
//return(__get__comChannelName());
}
static function get connected() {
return(_connected);
}
static function connect(id, clip, onError) {
if ((!_connected) && (_clip == undefined)) {
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
}
if (onError != undefined) {
mochi.MochiServices.onError = onError;
} else if (mochi.MochiServices.onError == undefined) {
mochi.MochiServices.onError = function (errorCode) {
trace(errorCode);
};
}
}
static function disconnect() {
if (_connected || (_connecting)) {
_connecting = (_connected = false);
flush(true);
if (_clip != undefined) {
_clip.removeMovieClip();
delete _clip;
}
_listenChannel.close();
_rcvChannel.close();
}
}
static function init(id, clip) {
_id = id;
if (clip != undefined) {
_container = clip;
} else {
_container = _root;
}
loadCommunicator(id, _container);
}
static function loadCommunicator(id, clip) {
var _local2 = "_mochiservices_com_" + id;
if (_clip != null) {
return(_clip);
}
if (!isNetworkAvailable) {
return(null);
}
allowDomains(_gatewayURL);
_clip = clip.createEmptyMovieClip(_local2, 10336, false);
_loader = new MovieClipLoader();
if (_loaderListener.waitInterval != null) {
clearInterval(_loaderListener.waitInterval);
}
_loaderListener = {};
_loaderListener.onLoadError = function (target_mc, errorCode, httpStatus) {
trace("MochiServices could not load.");
mochi.MochiServices.disconnect();
mochi.MochiServices.onError.apply(null, [errorCode]);
};
_loaderListener.onLoadStart = function (target_mc) {
this.isLoading = true;
};
_loaderListener.startTime = getTimer();
_loaderListener.wait = function () {
if ((getTimer() - this.startTime) > 10000) {
if (!this.isLoading) {
mochi.MochiServices.disconnect();
mochi.MochiServices.onError.apply(null, ["IOError"]);
}
clearInterval(this.waitInterval);
}
};
_loaderListener.waitInterval = setInterval(_loaderListener, "wait", 1000);
_loader.addListener(_loaderListener);
_loader.loadClip(_gatewayURL, _clip);
_sendChannel = new LocalConnection();
_sendChannel._queue = [];
_rcvChannel = new LocalConnection();
_rcvChannel.allowDomain = function (d) {
return(true);
};
_rcvChannel.allowInsecureDomain = _rcvChannel.allowDomain;
_rcvChannel._nextcallbackID = 0;
_rcvChannel._callbacks = {};
listen();
return(_clip);
}
static function onStatus(infoObject) {
if (!(infoObject.level === "error")) {
} else {
_connected = false;
_listenChannel.connect(_listenChannelName);
}
}
static function listen() {
_listenChannel = new LocalConnection();
_listenChannel.handshake = function (args) {
mochi.MochiServices.__set__comChannelName(args.newChannel);
};
_listenChannel.allowDomain = function (d) {
return(true);
};
_listenChannel.allowInsecureDomain = _listenChannel.allowDomain;
_listenChannel.connect(_listenChannelName);
trace("Waiting for MochiAds services to connect...");
}
static function initComChannels() {
if (!_connected) {
_sendChannel.onStatus = function (infoObject) {
mochi.MochiServices.onStatus(infoObject);
};
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_clip, version:getVersion()});
_rcvChannel.onStatus = function (infoObject) {
mochi.MochiServices.onStatus(infoObject);
};
_rcvChannel.onReceive = function (pkg) {
var _local5 = pkg.callbackID;
var _local4 = this._callbacks[_local5];
if (!_local4) {
return(undefined);
}
var _local2 = _local4.callbackMethod;
var _local3 = _local4.callbackObject;
if (_local3 && (typeof(_local2) == "string")) {
_local2 = _local3[_local2];
}
if (_local2 != undefined) {
_local2.apply(_local3, pkg.args);
}
delete this._callbacks[_local5];
};
_rcvChannel.onError = function () {
mochi.MochiServices.onError.apply(null, ["IOError"]);
};
_rcvChannel.connect(_rcvChannelName);
trace("connected!");
_connecting = false;
_connected = true;
_listenChannel.close();
while (_sendChannel._queue.length > 0) {
_sendChannel.send(_sendChannelName, "onReceive", _sendChannel._queue.shift());
}
}
}
static function flush(error) {
var _local1;
var _local2;
while (_sendChannel._queue.length > 0) {
_local1 = _sendChannel._queue.shift();
if (_local1.callbackID != null) {
_local2 = _rcvChannel._callbacks[_local1.callbackID];
}
delete _rcvChannel._callbacks[_local1.callbackID];
if (error) {
handleError(_local1.args, _local2.callbackObject, _local2.callbackMethod);
}
}
}
static function handleError(args, callbackObject, callbackMethod) {
if (args != null) {
if (args.onError != null) {
args.onError.apply(null, ["NotConnected"]);
}
}
if (callbackMethod != null) {
args = {};
args.error = true;
args.errorCode = "NotConnected";
if ((callbackObject != null) && (typeof(callbackMethod) == "string")) {
callbackObject[callbackMethod](args);
} else if (callbackMethod != null) {
callbackMethod.apply(args);
}
}
}
static function send(methodName, args, callbackObject, callbackMethod) {
if (_connected) {
_sendChannel.send(_sendChannelName, "onReceive", {methodName:methodName, args:args, callbackID:_rcvChannel._nextcallbackID});
} else {
if ((_clip == undefined) || (!_connecting)) {
onError.apply(null, ["NotConnected"]);
handleError(args, callbackObject, callbackMethod);
flush(true);
return(undefined);
}
_sendChannel._queue.push({methodName:methodName, args:args, callbackID:_rcvChannel._nextcallbackID});
}
_rcvChannel._callbacks[_rcvChannel._nextcallbackID] = {callbackObject:callbackObject, callbackMethod:callbackMethod};
_rcvChannel._nextcallbackID++;
}
static var _gatewayURL = "http://www.mochiads.com/static/lib/services/services.swf";
static var _listenChannelName = "__mochiservices";
static var _connecting = false;
static var _connected = false;
}
Symbol 105 MovieClip [__Packages.Nonoba.api.NonobaAPI] Frame 0
class Nonoba.api.NonobaAPI
{
static var api;
function NonobaAPI () {
throw new Error("ERROR!: You cannot create an instance of the NonobaAPI class!");
}
static function SubmitScore(key, score, callback) {
if (!isInited) {
Init();
}
if (failed) {
if (callback) {
callback(ERROR);
}
return(undefined);
}
if (api && (api.SubmitScore)) {
api.SubmitScore(key, score, callback);
} else {
cachedRequests.push(function () {
Nonoba.api.NonobaAPI.SubmitScore(key, score, callback);
});
}
}
static function AwardAchievement(key, callback) {
if (!isInited) {
Init();
}
if (failed) {
if (callback) {
callback(ERROR, 0);
}
return(undefined);
}
if (api && (api.AwardAchievement)) {
api.AwardAchievement(key, callback);
} else {
cachedRequests.push(function () {
Nonoba.api.NonobaAPI.AwardAchievement(key, callback);
});
}
}
static function SetUserData(key, value, callback) {
if (!isInited) {
Init();
}
if (failed) {
if (callback) {
callback(ERROR);
}
return(undefined);
}
if (api && (api.SetUserData)) {
api.SetUserData(key, value, callback);
} else {
cachedRequests.push(function () {
Nonoba.api.NonobaAPI.SetUserData(key, value, callback);
});
}
}
static function GetUserData(key, callback) {
if (!isInited) {
Init();
}
if (failed) {
if (callback) {
callback(ERROR, "");
}
return(undefined);
}
if (api && (api.GetUserData)) {
api.GetUserData(key, callback);
} else {
cachedRequests.push(function () {
Nonoba.api.NonobaAPI.GetUserData(key, callback);
});
}
}
static function GetUsername(callback) {
if (!isInited) {
Init();
}
if (failed) {
if (callback) {
callback(ERROR, "");
}
return(undefined);
}
if (api && (api.GetUsername)) {
api.GetUsername(callback);
} else {
cachedRequests.push(function () {
Nonoba.api.NonobaAPI.GetUsername(callback);
});
}
}
static function Init(container) {
function emptyCache() {
var _local1 = 0;
while (_local1 < Nonoba.api.NonobaAPI.cachedRequests.length) {
Nonoba.api.NonobaAPI.cachedRequests[_local1]();
_local1++;
}
Nonoba.api.NonobaAPI.cachedRequests = [];
}
if (isInited) {
throw new Error("NonobaAPI can not be re-initialized!");
}
isInited = true;
var _local3 = _root.nonoba$apicodeas2;
if (!_local3) {
failed = true;
emptyCache();
}
System.security.allowDomain("*");
container = container || _root;
api = container.createEmptyMovieClip("___NonobaAPI__loader", container.getNextHighestDepth());
var _local5 = new MovieClipLoader();
_local5.addListener({onLoadComplete:function () {
var loadTimer = setInterval(mx.utils.Delegate.create(Nonoba.api.NonobaAPI, function () {
if (!(Nonoba.api.NonobaAPI.api.SubmitScore === undefined)) {
clearInterval(loadTimer);
emptyCache();
}
}), 500);
}, onLoadError:function () {
Nonoba.api.NonobaAPI.failed = true;
emptyCache();
}});
_local5.loadClip(_local3, api);
}
static var SUCCESS = "SUCCESS";
static var NOT_LOGGED_IN = "user not logged in";
static var ERROR = "error";
static var isInited = false;
static var loading = false;
static var cachedRequests = [];
static var failed = false;
}
Symbol 106 MovieClip [__Packages.mx.utils.Delegate] Frame 0
class mx.utils.Delegate extends Object
{
var func;
function Delegate (f) {
super();
func = f;
}
static function create(obj, func) {
var _local2 = function () {
var _local2 = arguments.callee.target;
var _local3 = arguments.callee.func;
return(_local3.apply(_local2, arguments));
};
_local2.target = obj;
_local2.func = func;
return(_local2);
}
function createDelegate(obj) {
return(create(obj, func));
}
}
Symbol 38 MovieClip Frame 1
logo.setMask(mask);
var n = 0;
var seconds = 0;
var arnd = (Math.random() * 15);
var brnd = (Math.random() * 15);
var arnd2 = (Math.random() * 15);
var brnd2 = (Math.random() * 15);
var a = 0;
while (a < 31) {
var b = 0;
while (b < 31) {
circ = mask.attachMovie("circle", "circle" + (n++), n);
circ._x = a * 16;
circ._y = b * 16;
var off = (25 + ((Math.cos((a / arnd) + (b / brnd2)) + Math.sin((b / brnd) + (a / arnd2))) * 12));
circ.gotoAndPlay(off >> 0);
circ.cacheAsBitmap = true;
b++;
}
a++;
}
Symbol 38 MovieClip Frame 150
_root.gotoAndStop("ADS");
Symbol 49 MovieClip Frame 1
stop();
onRelease = function () {
_root.click_sound.start();
_root.gotoAndStop("GAME");
};
onRollOver = function () {
this.nextFrame();
};
onRollOut = function () {
this.prevFrame();
};
Symbol 52 MovieClip Frame 1
stop();
onRelease = function () {
_root.click_sound.start();
_root.gotoAndStop("LEADERBOARD");
};
onRollOver = function () {
this.nextFrame();
};
onRollOut = function () {
this.prevFrame();
};
Symbol 55 MovieClip Frame 1
stop();
onRelease = function () {
_root.click_sound.start();
getURL ("http://www.gr8games.eu/?source=" + _root.game_title, "_blank");
};
onRollOver = function () {
this.nextFrame();
};
onRollOut = function () {
this.prevFrame();
};
Symbol 60 MovieClip Frame 1
stop();
onRelease = function () {
_root.click_sound.start();
_root.gotoAndStop("INSTRUCTION");
};
onRollOver = function () {
this.nextFrame();
};
onRollOut = function () {
this.prevFrame();
};
Symbol 63 MovieClip Frame 1
stop();
onRelease = function () {
_root.click_sound.start();
getURL ("http://www.gr8games.eu/free-games.html?source=" + _root.game_title, "_blank");
};
onRollOver = function () {
this.nextFrame();
};
onRollOut = function () {
this.prevFrame();
};
Symbol 80 MovieClip Frame 1
stop();
onRelease = function () {
_root.click_sound.setVolume(0);
_root.disappear_sound.setVolume(0);
_root.error_sound.setVolume(0);
this.nextFrame();
};
Symbol 80 MovieClip Frame 2
stop();
onRelease = function () {
_root.click_sound.setVolume(100);
_root.disappear_sound.setVolume(100);
_root.error_sound.setVolume(100);
this.prevFrame();
};
Symbol 83 MovieClip Frame 1
stop();
onRelease = function () {
_root.game_pause = true;
this.nextFrame();
};
Symbol 83 MovieClip Frame 2
stop();
onRelease = function () {
_root.game_pause = false;
this.prevFrame();
};
Symbol 95 MovieClip Frame 1
stop();
onRelease = function () {
_root.click_sound.start();
_root.submit_score = true;
};
onRollOver = function () {
this.nextFrame();
};
onRollOut = function () {
this.prevFrame();
};
Symbol 98 MovieClip Frame 1
stop();