Frame 1
function playAgain() {
_root.gotoAndStop("restart");
}
var StringMsg = "Hi there. You are using a DECOMPILER to see this message... I don't understand WHY you would use one for something like this, but regardless, if you would like to know a bit more about how I coded this you don't have to decompile this source. Just email me and perhaps we can talk about my game logic and how I did everything, my email is k2xl@k2xl.com.";
stop();
var SessionID = ((random(9999999) + "F") + new Date().getMilliseconds());
var Version = 1.1;
if (_root._url.indexOf("http://www") == 0) {
loadVariables ((((("http://www.k2xl.com/games/boomshine/version.php?version=" + Version) + "&session=") + SessionID) + "&url=") + _root._url, this, "GET");
} else {
loadVariables ((((("http://k2xl.com/games/boomshine/version.php?version=" + Version) + "&session=") + SessionID) + "&url=") + _root._url, this, "GET");
}
System.security.allowDomain("k2xl.com", "newgrounds.com", "*", "x.mochiads.com", "shockwave.com", "intranet.shockwave.com", "gameblast.shockwave.com", "www.shockwave.com", "dev.shockwave.com", "stage.shockwave.com");
_level0.swHighScoreObject = new Object();
_level0.swHighScoreObject.showTab = "view";
_level0.swHighScoreObject.gameId = "boomshine";
_level0.swHighScoreObject.gameTitle = "Boomshine";
_level0.swHighScoreObject.screenWidth = 550;
_level0.swHighScoreObject.screenHeight = 400;
_level0.swHighScoreObject.scoreDescriptor = "points";
_level0.swHighScoreObject.numPlayers = 1;
_level0.swHighScoreObject.player1Score = 123456789 /* 0x75BCD15 */;
_level0.swHighScoreObject.player2Score = 0;
_level0.swHighScoreObject.player3Score = 0;
_level0.swHighScoreObject.player4Score = 0;
_level0.HSHubURL = "http://www.shockwave.com/content/highscores/scorez-2002.swf";
MochiAd.showPreloaderAd({id:"fdeca3053d646d2e", res:"550x400"});
Stage.showMenu = false;
_root.SOUNDOFF = false;
Frame 2
nextFrame();
stop();
Stage.showMenu = false;
Frame 3
if (_root.getSWFVersion() < 8) {
txt.text = "I'm sorry. You need flash player 8!";
} else {
onEnterFrame = function () {
if (getBytesLoaded() >= getBytesTotal()) {
nextFrame();
} else {
txt.text = ("Loading..." + Math.round((100 * getBytesLoaded()) / getBytesTotal())) + "%";
}
};
}
stop();
Frame 4
gotoAndPlay ("done");
Frame 17
nextFrame();
Frame 18
_root.Depth = 11;
Stage.showMenu = false;
var TopText = "Game by Danny Miller <a href=\"http://www.k2xl.com\" target=\"_blank\">www.K2xL.com</a>\tMusic by Tim Halbert <a href=\"http://www.timhalbert.com\" target=\"_blank\">www.timhalbert.com</a>";
if (_root.LEVEL == -1) {
gotoAndStop ("menu");
}
_root.LEVEL = 0;
_root.TotalScore = 0;
var LevelInstructions = new Array(new flash.geom.Point(1, 5), new flash.geom.Point(2, 10), new flash.geom.Point(3, 15), new flash.geom.Point(5, 20), new flash.geom.Point(7, 25), new flash.geom.Point(10, 30), new flash.geom.Point(15, 35), new flash.geom.Point(21, 40), new flash.geom.Point(27, 45), new flash.geom.Point(33, 50), new flash.geom.Point(44, 55), new flash.geom.Point(55, 60));
Status = "";
_root._alpha = 0;
_root.onEnterFrame = function () {
_root._alpha = _root._alpha + (1 + (_root._alpha / 2));
if (_root._alpha >= 100) {
_root._alpha = 100;
delete this.onEnterFrame;
}
};
stop();
Instance of Symbol 21 MovieClip in Frame 18
onClipEvent (load) {
if (_root.SOUNDOFF) {
this.nextFrame();
} else {
stop();
}
}
on (release) {
stopAllSounds();
if (_root.SOUNDOFF) {
_root.SOUNDOFF = false;
this.prevFrame();
} else {
_root.SOUNDOFF = true;
this.nextFrame();
}
}
Instance of Symbol 27 MovieClip in Frame 18
on (release) {
_root.onEnterFrame = function () {
_root._alpha = _root._alpha / 1.1;
if (_root._alpha < 3) {
_root._alpha = 100;
delete this.onEnterFrame;
_root.nextFrame();
}
};
stopAllSounds();
if (!_root.SOUNDOFF) {
Cell.BoomSound.attachSound("music");
Cell.BoomSound.start(0, 9999);
}
}
Frame 19
_root.Depth = 11;
var goal = LevelInstructions[LEVEL].x;
var total = LevelInstructions[LEVEL].y;
Instructions.text = (((("Level " + (_root.LEVEL + 1)) + ": Goal: ") + goal) + " out of ") + total;
Current.text = "Current Score: " + Math.round(TotalScore / Math.PI);
_root._alpha = 0;
_root.onEnterFrame = function () {
_root._alpha = _root._alpha + (1 + (_root._alpha / 2));
if (_root._alpha >= 100) {
_root._alpha = 100;
delete this.onEnterFrame;
}
};
stop();
Instance of Symbol 27 MovieClip in Frame 19
on (release) {
_root.onEnterFrame = function () {
_root._alpha = _root._alpha / 1.1;
if (_root._alpha < 3) {
_root._alpha = 100;
delete this.onEnterFrame;
_root.nextFrame();
}
};
}
Frame 20
_root._alpha = 0;
_root.onEnterFrame = function () {
_root._alpha = _root._alpha + (1 + (_root._alpha / 2));
if (_root._alpha >= 100) {
_root._alpha = 100;
delete this.onEnterFrame;
}
};
stop();
function init() {
Cell.Cells = new ArrayList();
var _local2 = 0;
while (_local2 < CellCount) {
var _local1 = attachMovie("Cell", "Cell" + _local2, ++Depth);
var _local4 = new Color(_local1);
_local4.setRGB(random(16777216));
_local1._x = random(Stage.width);
_local1._y = random(Stage.height);
var _local3 = new Cell();
_local3.SetMC(_local1);
_local2++;
}
}
function GetExploded() {
return(CellCount - Cell.Cells.Size());
}
function UpdateStatusText() {
StatusText.text = ((((("Points: " + GetExploded()) + "/") + LevelInstructions[LEVEL].x) + " from ") + CellCount) + "";
}
function EndRound() {
var _local3 = (((((("http://www.k2xl.com/games/boomshine/datastore.php?got=" + GetExploded()) + "&total=") + LevelInstructions[LEVEL].y) + "&SESSION=") + SessionID) + "&VERSION=") + Version;
if (_root._url.indexOf("http://www") < 0) {
_local3 = (((((("http://k2xl.com/games/boomshine/datastore.php?got=" + GetExploded()) + "&total=") + LevelInstructions[LEVEL].y) + "&SESSION=") + SessionID) + "&VERSION=") + Version;
} else {
loadVariables (_local3, this, "GET");
}
var Won = false;
if (GetExploded() >= LevelInstructions[LEVEL].y) {
Cell.BoomSound.attachSound("boomwin");
Cell.BoomSound.start(0, 1);
Won = true;
var _local4 = (5 * GetExploded()) * Math.PI;
_root.Status = ((((("<font color=\"#00FF00\">BOOMSHINE!!! " + GetExploded()) + "/") + LevelInstructions[LEVEL].x) + " +") + _local4) + " POINTS!</font>";
_root.TotalScore = _root.TotalScore + _local4;
} else if (GetExploded() >= LevelInstructions[LEVEL].x) {
_root.Status = ((("<font color=\"#00FF00\">Good job! You got " + GetExploded()) + "/") + LevelInstructions[LEVEL].x) + "</font>";
Won = true;
Cell.BoomSound.attachSound("boomwin");
Cell.BoomSound.start(0, 1);
} else if ((_root.LEVEL == 0) && (GetExploded() == 0)) {
_root.Status = "<font color=\"#FF0000\" size=\"24\">You failed. Try clicking next to a dot to set off a chain reaction</font>";
} else if ((GetExploded() - LevelInstructions[LEVEL].x) == -1) {
_root.Status = "<font color=\"#00FF00\">So close! Just one away!</font>";
} else {
_root.Status = ((("<font color=\"#FF0000\">You failed to achieve your goal. You only got " + GetExploded()) + " of ") + LevelInstructions[LEVEL].x) + ".</font>";
}
Cell.RemoveAllCells();
delete _root.onEnterFrame;
_root.onEnterFrame = function () {
_root._alpha = _root._alpha / 1.05;
if (_root._alpha < 3) {
delete this.onEnterFrame;
if (Won) {
_root.TotalScore = _root.TotalScore + (GetExploded() * Math.PI);
if ((LevelInstructions.length - 1) == _root.LEVEL) {
nextFrame();
} else {
_root.LEVEL++;
_root.prevFrame();
}
} else {
_root.prevFrame();
}
}
};
}
var CellCount = LevelInstructions[LEVEL].y;
var Glow = attachMovie("MouseGlow", "MouseGlow", 9998);
startDrag (Glow, true);
var Pressed = false;
onMouseDown = function () {
if (!Pressed) {
Glow.removeMovieClip();
Pressed = true;
var _local1 = attachMovie("Cell", "Cell" + i, ++Depth);
_local1._x = _xmouse;
_local1._y = _ymouse;
var _local2 = new Cell();
_local2.SetMC(_local1);
_local2.Explode();
}
};
init();
UpdateStatusText();
Frame 21
_root._alpha = 0;
_root.onEnterFrame = function () {
_root._alpha = _root._alpha + (1 + (_root._alpha / 2));
if (_root._alpha >= 100) {
_root._alpha = 100;
delete this.onEnterFrame;
}
};
var Comment;
var CommentPoints = _root.SERVER_COMMENTS_POINTS.split(";;;");
var Comments = _root.SERVER_COMMENTS.split(";;;");
var i = 0;
while (i < Comments.length) {
if (Math.round(TotalScore / Math.PI) <= int(CommentPoints[i])) {
Comment = Comments[i];
break;
}
i++;
}
Status = ((("Final score: " + Math.round(TotalScore / Math.PI)) + "<br><font size=\"18\">") + Comment) + "</font>";
_level0.swHighScoreObject.player1Score = Math.round(TotalScore / Math.PI);
function EndRound() {
Cell.RemoveAllCells();
Cell.Cells = new ArrayList();
}
function init() {
var _local1 = 0;
while (_local1 < CellCount) {
var _local2 = attachMovie("Cell", "Cell" + _local1, ++Depth);
var _local4 = new Color(_local2);
_local4.setRGB(random(16777216));
_local2._x = (180 * Math.cos(_local1 / 4)) + (Stage.width / 2);
_local2._y = (180 * Math.sin(_local1 / 4)) + (Stage.height / 2);
var _local3 = new Cell();
_local3.dX = 0;
_local3.dY = 0;
_local3.SetMC(_local2);
_local1++;
}
}
var CellCount = 24;
Cell.Cells = new ArrayList();
var Depth = 11;
_root.LEVEL = -1;
Instance of Symbol 44 MovieClip "buttonInstances" in Frame 21
onClipEvent (load) {
docount = false;
}
onClipEvent (enterFrame) {
if (docount) {
trycount++;
if ((_level2.getBytesTotal() == -1) && (trycount > 60)) {
docount = false;
trycount = 0;
}
}
}
Instance of Symbol 47 MovieClip in Frame 21
on (release) {
Cell.RemoveAllCells();
Cell.Cells = new ArrayList();
_root.onEnterFrame = function () {
_root._alpha = _root._alpha / 1.1;
if (_root._alpha < 3) {
_root._alpha = 100;
delete this.onEnterFrame;
_root.gotoAndStop("restart");
}
};
}
Frame 22
gotoAndStop ("menu");
Symbol 49 MovieClip [__Packages.MochiAd] Frame 0
class MochiAd
{
function MochiAd () {
}
static function showPreloaderAd(options) {
var _local29 = {clip:_root, ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:16747008, background:16777161, outline:13994812};
options = _parseOptions(options, _local29);
var _local15 = options.clip;
var _local25 = 11000;
var _local28 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
return(undefined);
}
_local15.stop();
var mc = _local15._mochiad;
mc.onUnload = function () {
this._parent.play();
};
var _local16 = _getRes(options);
var _local5 = _local16[0];
var _local14 = _local16[1];
mc._x = _local5 * 0.5;
mc._y = _local14 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk._x = _local5 * -0.5;
chk._y = _local14 * -0.5;
var _local8 = chk.createEmptyMovieClip("_mochiad_bar", 4);
_local8._x = 10;
_local8._y = _local14 - 20;
var _local24 = options.color;
delete options.color;
var _local21 = options.background;
delete options.background;
var _local26 = options.outline;
delete options.outline;
var _local6 = _local8.createEmptyMovieClip("_outline", 1);
_local6.beginFill(_local21);
_local6.moveTo(0, 0);
_local6.lineTo(_local5 - 20, 0);
_local6.lineTo(_local5 - 20, 10);
_local6.lineTo(0, 10);
_local6.lineTo(0, 0);
_local6.endFill();
var _local4 = _local8.createEmptyMovieClip("_inside", 2);
_local4.beginFill(_local24);
_local4.moveTo(0, 0);
_local4.lineTo(_local5 - 20, 0);
_local4.lineTo(_local5 - 20, 10);
_local4.lineTo(0, 10);
_local4.lineTo(0, 0);
_local4.endFill();
_local4._xscale = 0;
var _local7 = _local8.createEmptyMovieClip("_outline", 3);
_local7.lineStyle(0, _local26, 100);
_local7.moveTo(0, 0);
_local7.lineTo(_local5 - 20, 0);
_local7.lineTo(_local5 - 20, 10);
_local7.lineTo(0, 10);
_local7.lineTo(0, 0);
chk.ad_msec = _local25;
chk.ad_timeout = _local28;
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.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec;
};
chk.onEnterFrame = function () {
var _local6 = this._parent._parent;
var _local12 = this._parent._mochiad_ctr;
var _local5 = getTimer() - this.started;
var _local3 = false;
var _local4 = _local6.getBytesTotal();
var _local8 = _local6.getBytesLoaded();
var _local10 = (100 * _local8) / _local4;
var _local11 = (100 * _local5) / chk.ad_msec;
var _local9 = this._mochiad_bar._inside;
var _local2 = Math.min(100, Math.min(_local10 || 0, _local11));
_local2 = Math.max(this.last_pcnt, _local2);
this.last_pcnt = _local2;
_local9._xscale = _local2;
if (!chk.showing) {
var _local7 = _local12.getBytesTotal();
if ((_local7 > 0) || (typeof(_local7) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if (_local5 > chk.ad_timeout) {
_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 showTimedAd(options) {
var _local15 = {clip:_root, ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd"};
options = _parseOptions(options, _local15);
var _local6 = options.clip;
var _local12 = 11000;
var _local14 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
return(undefined);
}
_local6.stop();
var mc = _local6._mochiad;
mc.onUnload = function () {
this._parent.play();
};
var _local7 = _getRes(options);
var _local16 = _local7[0];
var _local13 = _local7[1];
mc._x = _local16 * 0.5;
mc._y = _local13 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk.ad_msec = _local12;
chk.ad_timeout = _local14;
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.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec - 250;
};
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) {
_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 _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 _loadCommunicator(options) {
var _local25 = {clip:_root, com_server:"http://x.mochiads.com/com/1/", method:"loadCommunicator", depth:10337, id:"_UNKNOWN_"};
options = _parseOptions(options, _local25);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = "1.4";
var _local18 = options.clip;
var _local20 = "_mochiad_com_" + options.id;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local18[_local20]) {
return(_local18[_local20].lc);
}
var _local21 = options.com_server + options.id;
_allowDomains(_local21);
delete options.id;
delete options.com_server;
var _local24 = options.depth;
delete options.depth;
var _local17 = _local18.createEmptyMovieClip(_local20, _local24);
var _local11 = _local17.createEmptyMovieClip("_mochiad_com", 1);
for (var _local15 in options) {
_local11[_local15] = options[_local15];
}
var _local6 = new LocalConnection();
var _local16 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local6.mc = _local17;
_local6.name = _local16;
_local6.allowDomain = function (d) {
return(true);
};
_local6.allowInsecureDomain = _local6.allowDomain;
_local6.connect(_local16);
_local17.lc = _local6;
_local11.lc = _local16;
_local6._id = 0;
_local6._queue = [];
_local6.rpcResult = function (cb) {
cb = parseInt(cb);
var _local4 = this._callbacks[cb];
if (!_local4) {
return(undefined);
}
delete this._callbacks[cb];
var _local5 = [];
var _local3 = 2;
while (_local3 < _local4.length) {
_local5.push(_local4[_local3]);
_local3++;
}
_local3 = 1;
while (_local3 < arguments.length) {
_local5.push(arguments[_local3]);
_local3++;
}
var _local6 = _local4[1];
var _local7 = _local4[0];
if (_local7 && (typeof(_local6) == "string")) {
_local6 = _local7[_local6];
}
if (_local6) {
_local6.apply(_local7, _local5);
}
};
_local6._didConnect = function (endpoint) {
this._endpoint = endpoint;
var _local4 = this._queue;
delete this._queue;
var _local5 = this.doSend;
var _local2 = 0;
while (_local2 < _local4.length) {
var _local3 = _local4[_local2];
_local5.apply(this, _local3);
_local2++;
}
};
_local6.doSend = function (args, cbobj, cbfn) {
if (this._endpoint == null) {
var _local4 = [];
var _local3 = 0;
while (_local3 < arguments.length) {
_local4.push(arguments[_local3]);
_local3++;
}
this._queue.push(_local4);
return(undefined);
}
this._id = this._id + 1;
var _local5 = this._id;
if ((cbfn === undefined) || (cbfn === null)) {
cbfn = cbobj;
}
this._callbacks[_local5] = [cbobj, cbfn];
var _local7 = new LocalConnection();
var _local9 = _local7.send(this._endpoint, "rpc", _local5, args);
};
_local6._callbacks = {};
_local6._callbacks[0] = [_local6, "_didConnect"];
_local11.st = getTimer();
_local11.loadMovie(_local21 + ".swf", "POST");
return(_local6);
}
static function fetchHighScores(options, callbackObj, callbackMethod) {
var _local1 = _loadCommunicator({id:options.id});
if (!_local1) {
return(false);
}
var _local4 = ["fetchHighScores", options];
_local1.doSend(["fetchHighScores", options], callbackObj, callbackMethod);
return(true);
}
static function sendHighScore(options, callbackObj, callbackMethod) {
var _local1 = _loadCommunicator({id:options.id});
if (!_local1) {
return(false);
}
var _local4 = ["sendHighScore", options];
_local1.doSend(["sendHighScore", options], callbackObj, callbackMethod);
return(true);
}
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 = "1.4";
var _local7 = options.clip;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local7._mochiad_loaded) {
return(null);
}
var _local12 = options.depth;
delete options.depth;
var _local6 = _local7.createEmptyMovieClip("_mochiad", _local12);
var _local11 = _getRes(options);
options.res = (_local11[0] + "x") + _local11[1];
options.server = options.server + options.id;
delete options.id;
_local7._mochiad_loaded = true;
var _local4 = _local6.createEmptyMovieClip("_mochiad_ctr", 1);
for (var _local8 in options) {
_local4[_local8] = options[_local8];
}
if (_local7._url.indexOf("http") != 0) {
options.no_page = true;
}
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 _local9 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local5.mc = _local6;
_local5.name = _local9;
_local5.hostname = _local14;
_local5.allowDomain = function (d) {
return(true);
};
_local5.allowInsecureDomain = _local5.allowDomain;
_local5.connect(_local9);
_local6.lc = _local5;
_local4.lc = _local9;
_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);
}
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++;
}
}
return(_local4);
}
}
Symbol 50 MovieClip [__Packages.Comparable] Frame 0
interface Comparable
{
}
Symbol 51 MovieClip [__Packages.ArrayList] Frame 0
class ArrayList
{
var __List;
function ArrayList () {
__List = new Array();
}
function Size() {
return(__List.length);
}
function SortComparablesDESC() {
var _local6 = Size();
var _local3 = 0;
while (_local3 < _local6) {
var _local5 = __List[_local3];
var _local2 = 0;
while (_local2 < _local6) {
var _local4 = __List[_local2];
if (_local5.compareTo(_local4) > 0) {
Switch(_local2, _local3);
}
_local2++;
}
_local3++;
}
}
function SortComparablesASC() {
var _local6 = Size();
var _local3 = 0;
while (_local3 < _local6) {
var _local5 = __List[_local3];
var _local2 = 0;
while (_local2 < _local6) {
var _local4 = __List[_local2];
if (_local5.compareTo(_local4) < 0) {
Switch(_local2, _local3);
}
_local2++;
}
_local3++;
}
}
function Add(obj) {
if (obj == undefined) {
trace(("Warning: ArrayList.as Add() Class " + this) + ". Attempting to add undefined object");
}
if (!Contains(obj)) {
__List.push(obj);
}
}
function Contains(obj) {
var _local2 = 0;
while (_local2 < __List.length) {
if (__List[_local2].equals(obj) || (__List[_local2] == obj)) {
return(true);
}
_local2++;
}
return(false);
}
function Switch(i1, i2) {
var _local2 = __List[i1];
__List[i1] = __List[i2];
__List[i2] = _local2;
}
function Set(obj, index) {
__List[index] = obj;
}
function Remove(indexOrObject) {
if (indexOrObject instanceof Number) {
return(RemoveIndex(Number(indexOrObject)));
}
if (indexOrObject instanceof Comparable) {
return(RemoveComparable(Comparable(indexOrObject)));
}
return(RemoveObject(indexOrObject));
}
function Get(index) {
if (Size() > 0) {
return(__List[index]);
}
return(undefined);
}
function DeleteUndefinedObjects() {
var _local3 = Size();
var _local2 = 0;
while (_local2 < _local3) {
if ((__List[_local2] == undefined) || (("" + __List[_local2]).length == 0)) {
RemoveIndex(_local2);
}
_local2++;
}
}
function RemoveComparable(obj) {
var _local3 = new Array();
var _local5 = Size();
var _local4 = false;
if ((Size() == 1) && (__List[0].equals(obj))) {
__List.pop();
return(true);
}
var _local2 = 0;
while (_local2 < _local5) {
if (!__List[_local2].equals(obj)) {
_local3.push(__List[_local2]);
_local4 = true;
}
_local2++;
}
__List = _local3;
return(_local4);
}
function AddList(append) {
var _local3 = append.Size();
var _local2 = 0;
while (_local2 < _local3) {
Add(append.Get(_local2));
_local2++;
}
}
function RemoveObject(obj) {
var _local3 = new Array();
var _local5 = Size();
var _local4 = false;
if ((Size() == 1) && (__List[0] == obj)) {
__List.pop();
return(true);
}
var _local2 = 0;
while (_local2 < _local5) {
if (__List[_local2] != obj) {
_local3.push(__List[_local2]);
_local4 = true;
}
_local2++;
}
__List = _local3;
return(_local4);
}
function RemoveIndex(index) {
var _local3 = new Array();
var _local5 = Size();
var _local4 = false;
var _local2 = 0;
while (_local2 < _local5) {
if (_local2 != index) {
_local3.push(Get(_local2));
} else {
_local4 = true;
}
_local2++;
}
__List = _local3;
return(_local4);
}
function GetRandom() {
return(Get(random(Size())));
}
function toString() {
var _local3 = "<ArrayList>\n";
var _local4 = Size();
var _local2 = 0;
while (_local2 < _local4) {
_local3 = _local3 + (((((("\t<e" + _local2) + ">") + Get(_local2)) + "</e") + _local2) + ">\n");
_local2++;
}
_local3 = _local3 + "</Arraylist>";
return(_local3);
}
}
Symbol 52 MovieClip [__Packages.Cell] Frame 0
class Cell implements Comparable
{
var Exploding, dX, dY, NumHit, ID, MC;
function Cell () {
Exploding = false;
dX = (random(2) * -2) + 1;
if (random(2) == 0) {
dX = dX * 0.5;
}
dY = (random(2) * -2) + 1;
if (random(2) == 0) {
dY = dY * 0.5;
}
NumHit = 0;
}
function compareTo(other) {
return(0);
}
function equals(other) {
return(Cell(ID) == Cell(other).ID);
}
function SetMC(mc) {
MC = mc;
SetID(Cells.Size());
Cells.Add(this);
var InsideOf = this;
MC.onEnterFrame = function () {
InsideOf.Move();
};
}
function SetID(id) {
ID = id;
}
function Move() {
MC._x = MC._x + dX;
MC._y = MC._y + dY;
if (MC._x < 0) {
MC._x = 0;
dX = dX * -1;
} else if (MC._x > Stage.width) {
MC._x = Stage.width;
dX = dX * -1;
}
if (MC._y > Stage.height) {
MC._y = Stage.height;
dY = dY * -1;
} else if (MC._y < 0) {
MC._y = 0;
dY = dY * -1;
}
}
function Explode() {
SoundNote = random(5);
BoomSound.attachSound("boom" + (SoundNote % 5));
BoomSound.start(0, 0);
Cells.RemoveObject(this);
if ((Cells.Size() == 0) && (_root.LEVEL != -1)) {
BoomSound.attachSound("wipeout");
BoomSound.start(0.3, 1);
_root.BG.gotoAndPlay("boomshine");
} else if (_root.LevelInstructions[_root.LEVEL].x == _root.GetExploded()) {
if (_root.BG._currentframe <= 1) {
_root.BG.gotoAndPlay("goalmatched");
}
}
MC._alpha = 50;
var InitialExploded = _root.GetExploded();
Exploding = true;
var ExplodePercent = 7;
var OriginalWidth = MC._width;
var InsideOf = this;
delete MC.onEnterFrame;
_root.UpdateStatusText();
MC.onEnterFrame = function () {
var _local3 = ((OriginalWidth * ExplodePercent) - this._width) / 20;
this._width = this._width + _local3;
this._height = this._height + _local3;
InsideOf.CheckHitWithOthers();
if (((this._width / OriginalWidth) + 0.1) >= ExplodePercent) {
delete this.onEnterFrame;
if (InitialExploded == _root.GetExploded()) {
_root.EndRound();
}
InsideOf.Retract();
}
};
}
function Retract() {
MC.onEnterFrame = function () {
this._width = this._width / 1.1;
this._height = this._height / 1.1;
if (this._width < 3) {
delete this.onEnterFrame;
removeMovieClip(this);
this.removeMovieClip();
}
};
}
function IsExploding() {
return(Exploding);
}
static function RemoveAllCells() {
var _local3 = Cells.Size();
var _local1 = 0;
while (_local1 < _local3) {
var _local2 = Cell(Cells.Get(_local1));
_local2.Retract();
_local1++;
}
}
function CheckHitWithOthers() {
var _local4 = Cells.Size();
var _local2 = 0;
while (_local2 < _local4) {
var _local3 = Cell(Cells.Get(_local2));
if (_local3.Touches(this)) {
NumHit++;
_local3.Explode();
}
_local2++;
}
}
function Touches(other) {
return(Ptag(MC._x - other.MC._x, MC._y - other.MC._y) < ((MC._width / 2) + (other.MC._width / 2)));
}
function toString() {
return("<Cell/>");
}
static function Ptag(xdist, ydist) {
return(Math.sqrt((xdist * xdist) + (ydist * ydist)));
}
static var Cells = new ArrayList();
static var SoundNote = 0;
static var BoomSound = new Sound(_root);
}
Symbol 21 MovieClip Frame 1
stop();
Symbol 35 MovieClip Frame 1
stop();
Symbol 35 MovieClip Frame 20
stop();
Symbol 35 MovieClip Frame 41
stop();
Symbol 38 Button
on (release) {
_root.swHighScoreObject.showTab = "submit";
docount = true;
loadMovieNum (_root.HSHubURL, 2);
}
Symbol 41 Button
on (release) {
_root.swHighScoreObject.showTab = "view";
docount = true;
loadMovieNum (_root.HSHubURL, 2);
}