Frame 1
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();
var _mochiads_game_id = "7d833775e2708b4b";
mochi.as2.MochiServices.connect("7d833775e2708b4b");
mochi.as2.MochiAd.showPreGameAd({id:"7d833775e2708b4b", res:"550x400", background:16777161, color:16763904, outline:65539, no_bg:true, ad_failed:function () {
this._parent.play();
}});
__com_mochibot__("ee52d599", this, 10301, true);
_global.SoundOn = true;
var snd1 = new Sound();
snd1.attachSound("sound1");
var snd2 = new Sound();
snd2.attachSound("sound2");
var snd3 = new Sound();
snd3.attachSound("sound3");
var snd4 = new Sound();
snd4.attachSound("sound4");
var snd6 = new Sound();
snd6.attachSound("sound6");
var snd7 = new Sound();
snd7.attachSound("sound7");
var snd8 = new Sound();
snd8.attachSound("sound8");
var snd9 = new Sound();
snd9.attachSound("sound9");
var snd10 = new Sound();
snd10.attachSound("sound10");
var snd11 = new Sound();
snd11.attachSound("Sound11");
var snd12 = new Sound();
snd12.attachSound("Sound12");
var snd13 = new Sound();
snd13.attachSound("Sound13");
var snd14 = new Sound();
snd14.attachSound("Sound14");
var snd15 = new Sound();
snd15.attachSound("Sound15");
var snd16 = new Sound();
snd16.attachSound("Sound16");
var snd17 = new Sound();
snd17.attachSound("Sound17");
var snd18 = new Sound();
snd18.attachSound("Sound18");
var snd19 = new Sound();
snd19.attachSound("Sound19");
var snd20 = new Sound();
snd20.attachSound("Sound20");
var snd21 = new Sound();
snd21.attachSound("Sound21");
var snd22 = new Sound();
snd22.attachSound("Sound22");
var snd23 = new Sound();
snd23.attachSound("Sound23");
var snd24 = new Sound();
snd24.attachSound("Sound24");
var snd25 = new Sound();
snd25.attachSound("Sound25");
var snd26 = new Sound();
snd26.attachSound("Sound26");
var snd27 = new Sound();
snd27.attachSound("Sound27");
var snd5 = new Sound();
snd5.attachSound("sound5");
snd5.setVolume(50);
snd5.start(0, 1000000);
function postMindJoltAPIConnect(success) {
trace("[MindJoltAPI] service successfully loaded");
}
var MindJoltAPI;
if (MindJoltAPI == undefined) {
System.security.allowDomain("static.mindjolt.com");
MindJoltAPI = createEmptyMovieClip("MindJoltAPI", 3746764344);
var apiPath = ((_level0.mjPath != undefined) ? (_level0.mjPath) : "http://static.mindjolt.com/api/as2/api_as2_local.swf");
var apiLoader = new MovieClipLoader();
var apiLoadListener = new Object();
apiLoader.addListener(apiLoadListener);
apiLoadListener.onLoadInit = function () {
MindJoltAPI.service.connect(postMindJoltAPIConnect);
};
apiLoadListener.onLoadError = function () {
trace("[MindJoltAPI] failed to load.");
};
apiLoader.loadClip(apiPath, MindJoltAPI);
}
function gotoSite() {
Mouse.hide();
getURL ("http://www.unboundedgames.com", "_blank");
}
function doNothing() {
Mouse.hide();
}
function quit() {
_global.Health = 0;
Mouse.hide();
}
function toggleSound() {
Mouse.hide();
if (_global.SoundOn) {
snd1.setVolume(0);
_global.SoundOn = false;
} else {
snd1.setVolume(80);
_global.SoundOn = true;
}
}
function NukeExplode(X, Y, Target, Type) {
snd4.start(0, 1);
_global.CurrentCombo++;
_global.Explosions = _global.Explosions + 1;
_global.NukeOut = true;
var _local3 = Target["CT" + Type].attachMovie("NukeExplode", "Ex" + _global.cDepth, _global.cDepth);
_global.cDepth++;
_local3._x = X;
_local3._xscale = 100;
_local3._y = Y;
_local3._yscale = 100;
_local3.BombEffect.Type = Type;
_local3.onEnterFrame = function () {
this._xscale = this._xscale * 2;
this._yscale = this._yscale * 2;
};
}
function TESTSKIP() {
NukeExplode(200, 200, _root, 7);
}
function TraceGlobals() {
trace("CurrentCombo:" + _global.CurrentCombo);
trace("Explosions:" + _global.Explosions);
trace("NukeOut:" + _global.NukeOut);
trace("BlocksRemaining:" + _global.BlocksRemaining);
trace("Q1:" + _global.Q1);
trace("Q2:" + _global.Q2);
trace("Q3:" + _global.Q3);
trace("Q4:" + _global.Q4);
}
_root.kongregateServices.connect();
ScoreAPI = new LocalConnection();
this._parent;
MENU = new ContextMenu();
MENU.hideBuiltInItems();
item3 = new ContextMenuItem("-Quit Game in Progress", quit);
item4 = new ContextMenuItem("-Toggle Sound On/Off", toggleSound);
item5 = new ContextMenuItem("(Quality Automagically Adjusts)", doNothing);
MENU.customItems.push(item3);
MENU.customItems.push(item4);
MENU.customItems.push(item5);
this.menu = MENU;
_parent.menu = MENU;
_global.menu = MENU;
Instance of Symbol 244 MovieClip in Frame 1
onClipEvent (load) {
this.Up = true;
}
onClipEvent (enterFrame) {
if ((_global.BlocksRemaining < 1) || ((_global.BlocksRemaining == 256) && (!_global.BlocksSettled))) {
this._x = this._x - 1;
if (this._x <= -2400) {
this._x = -800;
}
if ((this._y < -175) && ((Math.random() * 200) < 2)) {
this.Up = false;
}
if ((this._y > -75) && ((Math.random() * 200) < 2)) {
this.Up = true;
}
if ((this.Up == true) && (this._y >= -175)) {
this._y = this._y - 0.5;
} else if ((this._y <= -75) && (!this.Up)) {
this._y = this._y + 0.5;
}
}
}
Frame 2
stop();
function SpawnFullGrid() {
_global.BlocksSettled = false;
if (_global.BonusTime < 60) {
_global.BonusTime = _global.BonusTime + 5;
}
_global.TimeLeft = _global.BonusTime;
if ((_global.Level % 5) == 0) {
_global.ComboTarget = _global.ComboTarget + 1;
}
_global.GravX = (Math.floor(Math.random() * 13) * 25) + 50;
_global.GravY = (Math.floor(Math.random() * 13) * 25) + 50;
GravPoint._x = _global.GravX;
GravPoint._y = _global.GravY;
if (_global.Colors < 6) {
_global.Colors = _global.Colors + 0.5;
}
_global.BlocksRemaining = 256;
_global.NukeSpawn = 0;
i = 0;
while (i < 16) {
ii = 0;
while (ii < 16) {
XGX = Math.floor(Math.random() * _global.Colors) + 1;
iii = 0;
while (iii <= (_global.Colors - 1)) {
if (XGX > 1) {
if ((Math.random() * 10) < (2.5 - (_global.Level / (6 - _global.Difficulty)))) {
XGX = XGX - 1;
}
}
iii++;
}
Grid[i][ii] = XGX;
if ((Math.random() * 130) < 1) {
Grid[i][ii] = Grid[i][ii] + 10;
} else if ((Math.random() * 75) < 1) {
Grid[i][ii] = Grid[i][ii] + 100;
} else if ((((Math.random() * 625) < 1) && (_global.NukeSpawn < 1)) && (_global.Level > 2)) {
Grid[i][ii] = Grid[i][ii] + 1000;
_global.NukeSpawn++;
}
if ((Math.random() * 100) < 1) {
Grid[i][ii] = 7;
}
if ((Math.random() * 220) < 1) {
Grid[i][ii] = 17;
}
if ((Math.random() * 600) < 1) {
Grid[i][ii] = 107;
}
ii++;
}
i++;
}
i = 0;
while (i < 16) {
ii = 0;
while (ii < 16) {
if (Grid[i][ii] < 10) {
SpawnGem(Grid, i, ii);
} else if (Grid[i][ii] < 100) {
SpawnBomb(Grid, i, ii, 0);
} else if (Grid[i][ii] < 1000) {
SpawnLaser(Grid, i, ii);
} else if (Grid[i][ii] < 2000) {
SpawnNuke(Grid, i, ii);
}
ii++;
}
i++;
}
}
function RegExplode(X, Y, Target, Type) {
if ((_global.NukeOut == true) || (_global.RegSounds > 9)) {
} else if (Type != 7) {
this["snd" + (Type + 16)].start(0, 1);
_global.RegSounds++;
} else {
snd8.start(0, 1);
}
_global.Explosions = _global.Explosions + 4;
var _local6 = Target["CT" + Type].attachMovie("Explode", "Ex" + _global.cDepth, _global.cDepth);
_global.cDepth++;
_local6._x = X;
_local6._y = Y;
_local6.Star.gotoAndStop(Type);
_local6.onEnterFrame = function () {
this._y = this._y - 7;
};
var _local5 = Target["CT" + Type].attachMovie("Explode", "Ex" + _global.cDepth, _global.cDepth);
_global.cDepth++;
_local5._x = X;
_local5._y = Y;
_local5.Star.gotoAndStop(Type);
_local5.onEnterFrame = function () {
this._x = this._x + 7;
};
var _local4 = Target["CT" + Type].attachMovie("Explode", "Ex" + _global.cDepth, _global.cDepth);
_global.cDepth++;
_local4._x = X;
_local4._y = Y;
_local4.Star.gotoAndStop(Type);
_local4.onEnterFrame = function () {
this._y = this._y + 7;
};
var _local7 = Target["CT" + Type].attachMovie("Explode", "Ex" + _global.cDepth, _global.cDepth);
_global.cDepth++;
_local7._x = X;
_local7._y = Y;
_local7.Star.gotoAndStop(Type);
_local7.onEnterFrame = function () {
this._x = this._x - 7;
};
}
function BombExplode(X, Y, Target, Type) {
if (Type != 7) {
snd2.start(0, 1);
} else {
snd10.start(0, 1);
}
_global.CurrentCombo++;
_global.BlocksRemaining--;
_global.Explosions = _global.Explosions + 1;
var _local2 = Target["CT" + Type].attachMovie("BombExplode", "Ex" + _global.cDepth, _global.cDepth);
_global.cDepth++;
_local2._x = X;
_local2._xscale = 100;
_local2._y = Y;
_local2._yscale = 100;
_local2.BombEffect.Type = Type;
}
function LaserExplode(X, Y, Target, Type, Dir) {
if (Type != 7) {
snd3.start(0, 1);
} else if (Dir == 1) {
snd11.start(0, 1);
}
_global.Explosions = _global.Explosions + 1;
var _local3 = Target["CT" + Type].attachMovie("LaserBeam", "Laser" + _global.cDepth, _global.cDepth);
_global.cDepth++;
_local3._x = X;
_local3._y = Y;
if (Dir == 1) {
_local3._rotation = 90;
}
_local3.Beam.gotoAndStop(Type);
_local3.Dir = Dir;
_local3.Beam.onEnterFrame = function () {
this._xscale = this._xscale + 5;
this._xscale = this._xscale * 1.7;
this._yscale = this._yscale - 4;
if (this._yscale < 10) {
_global.Explosions = _global.Explosions - 1;
this._parent.removeMovieClip();
}
};
}
function NukeExplode(X, Y, Target, Type) {
snd4.start(0, 1);
_global.CurrentCombo++;
_global.BlocksRemaining--;
_global.Explosions = _global.Explosions + 1;
_global.NukeOut = true;
_global.NukeOut2 = true;
var _local3 = Target["CT" + Type].attachMovie("NukeExplode", "Ex" + _global.cDepth, _global.cDepth);
_global.cDepth++;
_local3._x = X;
_local3._xscale = 100;
_local3._y = Y;
_local3._yscale = 100;
_local3.BombEffect.Type = Type;
_local3.onEnterFrame = function () {
this._xscale = this._xscale * 2;
this._yscale = this._yscale * 2;
};
}
function CalcScore() {
MSG = "";
if ((Math.random() * 100) < 10) {
_global.ConvertBomb = _global.ConvertBomb + 1;
}
if ((Math.random() * 100) < 10) {
_global.ConvertLaser = _global.ConvertLaser + 1;
}
if (((_global.CurrentCombo < 3) && ((_global.BlocksRemaining > 0) || (_global.Health > 1))) && (_global.GemSmash == true)) {
_global.Health = _global.Health - (3 - _global.CurrentCombo);
MSG = "Health -" + (3 - _global.CurrentCombo);
snd1.start(0, 1);
}
_global.GemSmash = false;
if (_global.CurrentCombo > _global.MaxCombo) {
_global.MaxCombo = _global.CurrentCombo;
}
_global.Mana = _global.Mana + Math.floor(_global.CurrentCombo / 5);
Score = Math.round((_global.CurrentCombo * _global.CurrentCombo) * (((_global.Level * _global.Level) * 5) * _global.Difficulty));
if (_global.NukeOut2 == true) {
Score = Math.round(Score / 10);
_global.NukeOut2 = false;
}
var _local3 = this.attachMovie("ScorePlus", "SP" + _global.parDepth, _global.parDepth);
_global.parDepth++;
_local3._x = 200;
_local3._y = 240;
_local3._alpha = 0;
_local3.Time = 0;
_local3.Score.text = Score;
if (_global.CurrentCombo > 14) {
MSG = "Good";
}
if (_global.CurrentCombo > 19) {
MSG = "Great";
}
if (_global.CurrentCombo > 24) {
MSG = "Outstanding";
}
if (_global.CurrentCombo > 29) {
MSG = "Awesome";
}
if (_global.CurrentCombo > 34) {
MSG = "Spectacular";
}
if (_global.CurrentCombo > 39) {
MSG = "Incredible!";
}
if (_global.CurrentCombo > 44) {
MSG = "Amazing!";
}
if (_global.CurrentCombo > 49) {
MSG = "Wonderful!";
}
if (_global.CurrentCombo > 59) {
MSG = "Marvelous!";
}
if (_global.CurrentCombo > 69) {
MSG = "Fantastic!";
}
if (_global.CurrentCombo > 79) {
MSG = "Miraculous!";
}
if (_global.CurrentCombo > 90) {
MSG = "Unbelievable!";
}
if (_global.CurrentCombo > 110) {
MSG = "Extreme Combo!";
}
if (_global.CurrentCombo > 125) {
MSG = "Super Combo!";
}
if (_global.CurrentCombo > 140) {
MSG = "Omega Combo!";
}
if (_global.CurrentCombo > 160) {
MSG = "Mega Destruction!";
}
if (_global.CurrentCombo > 180) {
MSG = "UNREAL COMBO!";
}
if (_global.CurrentCombo > 200) {
MSG = "ABSOLUTE CHAOS!";
}
if (_global.CurrentCombo > 220) {
MSG = "CATACLYSMIC COMBO!";
}
if (_global.CurrentCombo >= 255) {
MSG = "ONE HIT WONDER!!!";
}
_local3.Message.text = MSG;
_local3.onEnterFrame = function () {
if (this.Time < 10) {
this._alpha = this._alpha + 10;
}
if (this.Time > 30) {
this._alpha = this._alpha - 10;
}
if (this.Time > 40) {
this.removeMovieClip();
}
this.Time++;
this._y = this._y - 2;
};
_global.Score = _global.Score + Score;
_global.CurrentCombo = 0;
}
function LevelUp() {
if ((Math.random() * 100) < 50) {
snd6.start(0, 1);
} else {
snd14.start(0, 1);
}
_global.ConvertBomb = 0;
_global.ConvertLaser = 0;
var _local3 = this.attachMovie("LevelUp", "SP" + _global.cDepth, _global.cDepth);
_global.cDepth++;
_local3._x = 200;
_local3._y = 210;
_local3._alpha = 0;
_local3.Time = 0;
_local3.Message1.text = ("Level " + (_global.Level - 1)) + " Complete!";
if (_global.TimeLeft > 0) {
_local3.Message3.text = "Bonus: " + ((_global.Level * _global.Level) * 2000);
_global.Score = _global.Score + ((_global.Level * _global.Level) * 2000);
} else {
_local3.Message3.text = "No Bonus";
}
if (((_global.Mana + 25) + _global.TimeLeft) <= 100) {
_local3.Message2.text = "Mana+" + (25 + _global.TimeLeft);
_global.Mana = _global.Mana + (25 + _global.TimeLeft);
} else {
_local3.Message2.text = ("Mana+" + (100 - _global.Mana)) + " (Max)";
_global.Mana = 100;
}
_local3.onEnterFrame = function () {
if (this.Time < 10) {
this._alpha = this._alpha + 10;
}
if (this.Time > 30) {
this._alpha = this._alpha - 4;
}
if (this.Time > 55) {
this.removeMovieClip();
}
this.Time++;
this._y = this._y - 1;
};
_global.Score = _global.Score + Score;
_global.CurrentCombo = 0;
}
function SpawnQ1() {
}
function SpawnGem(Grid, i, ii) {
var _local3 = this.attachMovie("Gem2", "Gem" + _global.cDepth, _global.cDepth);
_global.cDepth++;
_local3.Type = Grid[i][ii];
_local3._x = (i * 25) + 12.5;
_local3.Xdest = (i * 25) + 12.5;
_local3._y = (-(i * 25)) - 512.5;
_local3.Ydest = (ii * 25) + 12.5;
_local3.explode = false;
_local3.CountedY = false;
_local3.CountedX = false;
_local3.gotoAndStop(Grid[i][ii]);
_local3.GemMask.onPress = function () {
if ((_global.GameOver != true) && (_global.Shuffle < 1)) {
if ((this._parent._y == this._parent.Ydest) && (_global.Calm > 2)) {
if (this._parent.Type < 7) {
_global.GemSmash = true;
}
this._parent.explode = true;
this._parent._parent.Cursor.Core._visible = false;
Mouse.hide();
}
}
};
_local3.onEnterFrame = function () {
if (_global.BlocksRemaining < 1) {
this.explode = true;
}
if (((((this.Type != 7) && (_global.Calm > 2)) && (_global.ConvertBomb > 0)) && ((Math.random() * 100) < 1)) && (_global.BlocksRemaining > 20)) {
SpawnBomb(this._parent.Grid, this.GX, this.GY, 1);
this._parent.snd12.start(0, 1);
_global.ConvertBomb--;
this.removeMovieClip();
_global.Calm = 1;
}
if (((((this.Type != 7) && (_global.Calm > 2)) && (_global.ConvertLaser > 0)) && ((Math.random() * 100) < 1)) && (_global.BlocksRemaining > 20)) {
SpawnLaser(this._parent.Grid, this.GX, this.GY, 1);
this._parent.snd12.start(0, 1);
_global.ConvertLaser--;
this.removeMovieClip();
_global.Calm = 1;
}
if (((this.Type < 7) && (_global.Shuffle > 0)) && ((_global.FrameCount % 2) == 0)) {
XGX = Math.floor(Math.random() * _global.Colors) + 1;
iii = 0;
while (iii <= (_global.Colors - 1)) {
if (XGX > 1) {
X37 = _global.Level / 10;
if (X37 > 1) {
X37 = 1;
}
if ((Math.random() * 10) < (2.5 - X37)) {
XGX = XGX - 1;
}
}
iii++;
}
if (XGX >= 7) {
XGX = Math.floor((Math.random() * _global.Colors) - 1) + 1;
}
this.Type = XGX;
this.gotoAndStop(this.Type);
}
if (_global.GameOver == true) {
this._alpha = this._alpha - 5;
if (this._alpha < 10) {
this._parent.Cursor.Core._visible = false;
this.removeMovieClip();
}
}
if ((this.Type != 7) && (this._parent.Trans.hitTest(this._x, this._y, true))) {
this.Type = _global.TransType;
this.gotoAndStop(this.Type);
}
if (this._parent["CT" + this.Type].hitTest(this._x, this._y, true)) {
this.explode = true;
}
if (this._parent.CT7.hitTest(this._x, this._y, true)) {
this.explode = true;
}
if (this._x > _global.GravX) {
if (this._y < _global.GravY) {
this.Quadrant = 1;
}
if (this._y > _global.GravY) {
this.Quadrant = 4;
}
}
if (this._x < _global.GravX) {
if (this._y < _global.GravY) {
this.Quadrant = 2;
}
if (this._y > _global.GravY) {
this.Quadrant = 3;
}
}
if (this.explode == true) {
_global.BlocksBusted = _global.BlocksBusted + 1;
_global["Q" + this.Quadrant] = _global["Q" + this.Quadrant] + 1;
_global.CurrentCombo++;
_global.BlocksRemaining--;
RegExplode(this._x, this._y, this._parent, this.Type);
this._parent.Grid[this.GX][this.GY] = 0;
this.removeMovieClip();
}
if (this._y < this.Ydest) {
this._y = this._y + 12.5;
this.atY = false;
} else if (this._y > this.Ydest) {
this._y = this._y - 12.5;
this.atY = false;
} else {
this.atY = true;
}
if (this._x < this.Xdest) {
this._x = this._x + 12.5;
this.atX = false;
} else if (this._x > this.Xdest) {
this._x = this._x - 12.5;
this.atX = false;
} else {
this.atX = true;
}
if ((this._y == this.Ydest) && (this._x == this.Xdest)) {
this.GX = (this._x - 12.5) / 25;
this.GY = (this._y - 12.5) / 25;
}
if (((((this.Ydest < (_global.GravY - 12.5)) && (this._parent.Grid[this.GX][this.GY + 1] == 0)) && (this.Ydest == this._y)) && (this._x == this.Xdest)) && (_global.Explosions < 1)) {
this._parent.Grid[this.GX][this.GY] = 0;
this._parent.Grid[this.GX][this.GY + 1] = this.Type;
this.Ydest = this.Ydest + 25;
} else if (((((this.Ydest > (_global.GravY + 12.5)) && (this._parent.Grid[this.GX][this.GY - 1] == 0)) && (this.Ydest == this._y)) && (this._x == this.Xdest)) && (_global.Explosions < 1)) {
this._parent.Grid[this.GX][this.GY] = 0;
this._parent.Grid[this.GX][this.GY - 1] = this.Type;
this.Ydest = this.Ydest - 25;
}
if (((((this.Xdest < (_global.GravX - 12.5)) && (this._parent.Grid[this.GX + 1][this.GY] == 0)) && (this.Xdest == this._x)) && (this._y == this.Ydest)) && (_global.Explosions < 1)) {
this._parent.Grid[this.GX][this.GY] = 0;
this._parent.Grid[this.GX + 1][this.GY] = this.Type;
this.Xdest = this.Xdest + 25;
} else if (((((this.Xdest > (_global.GravX + 12.5)) && (this._parent.Grid[this.GX - 1][this.GY] == 0)) && (this.Xdest == this._x)) && (this._y == this.Ydest)) && (_global.Explosions < 1)) {
this._parent.Grid[this.GX][this.GY] = 0;
this._parent.Grid[this.GX - 1][this.GY] = this.Type;
this.Xdest = this.Xdest - 25;
}
if (this.explode == false) {
if ((!this.atY) && (!this.CountedY)) {
this.CountedY = true;
_global.BlocksFalling++;
}
if (this.atY && (this.CountedY)) {
this.CountedY = false;
_global.BlocksFalling--;
}
if ((!this.atX) && (!this.CountedX)) {
this.CountedX = true;
_global.BlocksSliding++;
}
if (this.atX && (this.CountedX)) {
this.CountedX = false;
_global.BlocksSliding--;
}
}
};
}
function SpawnBomb(Grid, i, ii, spell) {
var _local3 = this.attachMovie("Bomb", "Bomb" + _global.cDepth, _global.cDepth);
_global.cDepth++;
if (spell == 0) {
_local3.Type = Grid[i][ii] - 10;
_local3._x = (i * 25) + 12.5;
_local3.Xdest = (i * 25) + 12.5;
_local3._y = (-(i * 25)) - 512.5;
_local3.Ydest = (ii * 25) + 12.5;
}
if (spell == 1) {
_local3.Type = Grid[i][ii];
_local3.Ydest = (ii * 25) + 12.5;
_local3.Xdest = (i * 25) + 12.5;
_local3._x = (i * 25) + 12.5;
_local3._y = (ii * 25) + 12.5;
}
_local3.explode = false;
_local3.CountedY = false;
_local3.CountedX = false;
_local3.gotoAndStop(_local3.Type);
_local3.BombMask.onPress = function () {
if ((_global.GameOver != true) && (_global.Shuffle < 1)) {
if ((this._parent._y == this._parent.Ydest) && (_global.Calm > 2)) {
this._parent._parent.Cursor.Core._visible = false;
this._parent.explode = true;
}
}
};
_local3.onEnterFrame = function () {
if (_global.BlocksRemaining < 1) {
this.explode = true;
}
if (_global.GameOver == true) {
this._alpha = this._alpha - 5;
if (this._alpha < 10) {
this._parent.Cursor.Core._visible = false;
this.removeMovieClip();
}
}
if (this.Type != 7) {
if (this._parent.CT1.hitTest(this._x, this._y, true)) {
this.explode = true;
}
if (this._parent.CT2.hitTest(this._x, this._y, true)) {
this.explode = true;
}
if (this._parent.CT3.hitTest(this._x, this._y, true)) {
this.explode = true;
}
if (this._parent.CT4.hitTest(this._x, this._y, true)) {
this.explode = true;
}
if (this._parent.CT5.hitTest(this._x, this._y, true)) {
this.explode = true;
}
if (this._parent.CT6.hitTest(this._x, this._y, true)) {
this.explode = true;
}
}
if (this._parent.CT7.hitTest(this._x, this._y, true)) {
this.explode = true;
}
if (this.explode == true) {
BombExplode(this._x, this._y, this._parent, this.Type);
this._parent.Grid[this.GX][this.GY] = 0;
this.removeMovieClip();
}
if (this._y < this.Ydest) {
this._y = this._y + 12.5;
this.atY = false;
} else if (this._y > this.Ydest) {
this._y = this._y - 12.5;
this.atY = false;
} else {
this.atY = true;
}
if (this._x < this.Xdest) {
this._x = this._x + 12.5;
this.atX = false;
} else if (this._x > this.Xdest) {
this._x = this._x - 12.5;
this.atX = false;
} else {
this.atX = true;
}
if ((this._y == this.Ydest) && (this._x == this.Xdest)) {
this.GX = (this._x - 12.5) / 25;
this.GY = (this._y - 12.5) / 25;
}
if (((((this.Ydest < (_global.GravY - 12.5)) && (this._parent.Grid[this.GX][this.GY + 1] == 0)) && (this.Ydest == this._y)) && (this._x == this.Xdest)) && (_global.Explosions < 1)) {
this._parent.Grid[this.GX][this.GY] = 0;
this._parent.Grid[this.GX][this.GY + 1] = this.Type;
this.Ydest = this.Ydest + 25;
} else if (((((this.Ydest > (_global.GravY + 12.5)) && (this._parent.Grid[this.GX][this.GY - 1] == 0)) && (this.Ydest == this._y)) && (this._x == this.Xdest)) && (_global.Explosions < 1)) {
this._parent.Grid[this.GX][this.GY] = 0;
this._parent.Grid[this.GX][this.GY - 1] = this.Type;
this.Ydest = this.Ydest - 25;
}
if (((((this.Xdest < (_global.GravX - 12.5)) && (this._parent.Grid[this.GX + 1][this.GY] == 0)) && (this.Xdest == this._x)) && (this._y == this.Ydest)) && (_global.Explosions < 1)) {
this._parent.Grid[this.GX][this.GY] = 0;
this._parent.Grid[this.GX + 1][this.GY] = this.Type;
this.Xdest = this.Xdest + 25;
} else if (((((this.Xdest > (_global.GravX + 12.5)) && (this._parent.Grid[this.GX - 1][this.GY] == 0)) && (this.Xdest == this._x)) && (this._y == this.Ydest)) && (_global.Explosions < 1)) {
this._parent.Grid[this.GX][this.GY] = 0;
this._parent.Grid[this.GX - 1][this.GY] = this.Type;
this.Xdest = this.Xdest - 25;
}
if (this.explode == false) {
if ((!this.atY) && (!this.CountedY)) {
this.CountedY = true;
_global.BlocksFalling++;
}
if (this.atY && (this.CountedY)) {
this.CountedY = false;
_global.BlocksFalling--;
}
if ((!this.atX) && (!this.CountedX)) {
this.CountedX = true;
_global.BlocksSliding++;
}
if (this.atX && (this.CountedX)) {
this.CountedX = false;
_global.BlocksSliding--;
}
}
};
}
function SpawnLaser(Grid, i, ii, spell) {
var _local3 = this.attachMovie("Laser", "Laser" + _global.cDepth, _global.cDepth);
_global.cDepth++;
_local3.Dir = Math.floor(Math.random() * 2);
if (spell != 1) {
_local3.Type = Grid[i][ii] - 100;
_local3._x = (i * 25) + 12.5;
_local3.Xdest = (i * 25) + 12.5;
_local3._y = (-(i * 25)) - 512.5;
_local3.Ydest = (ii * 25) + 12.5;
}
if (spell == 1) {
_local3.Type = Grid[i][ii];
_local3.Ydest = (ii * 25) + 12.5;
_local3.Xdest = (i * 25) + 12.5;
_local3._x = (i * 25) + 12.5;
_local3._y = (ii * 25) + 12.5;
}
_local3.explode = false;
_local3.CountedY = false;
_local3.CountedX = false;
_local3.gotoAndStop(_local3.Type);
_local3.Symbol.gotoAndStop(((_local3.Type * 2) + _local3.Dir) - 1);
_local3.GemMask.onPress = function () {
if ((_global.GameOver != true) && (_global.Shuffle < 1)) {
if ((this._parent._y == this._parent.Ydest) && (_global.Calm > 2)) {
this._parent._parent.Cursor.Core._visible = false;
this._parent.explode = true;
}
}
};
_local3.onEnterFrame = function () {
if (_global.BlocksRemaining < 1) {
this.explode = true;
}
if (_global.GameOver == true) {
this._alpha = this._alpha - 5;
if (this._alpha < 10) {
this._parent.Cursor.Core._visible = false;
this.removeMovieClip();
}
}
if (this.Type != 7) {
if (this._parent.CT1.hitTest(this._x, this._y, true)) {
this.explode = true;
}
if (this._parent.CT2.hitTest(this._x, this._y, true)) {
this.explode = true;
}
if (this._parent.CT3.hitTest(this._x, this._y, true)) {
this.explode = true;
}
if (this._parent.CT4.hitTest(this._x, this._y, true)) {
this.explode = true;
}
if (this._parent.CT5.hitTest(this._x, this._y, true)) {
this.explode = true;
}
if (this._parent.CT6.hitTest(this._x, this._y, true)) {
this.explode = true;
}
}
if (this._parent.CT7.hitTest(this._x, this._y, true)) {
this.explode = true;
}
if (this.explode == true) {
_global.CurrentCombo++;
_global.BlocksRemaining--;
if (this.Type != 7) {
LaserExplode(this._x, this._y, this._parent, this.Type, this.Dir);
} else {
LaserExplode(this._x, this._y, this._parent, this.Type, 0);
LaserExplode(this._x, this._y, this._parent, this.Type, 1);
}
this._parent.Grid[this.GX][this.GY] = 0;
this.removeMovieClip();
}
if (this._y < this.Ydest) {
this._y = this._y + 12.5;
this.atY = false;
} else if (this._y > this.Ydest) {
this._y = this._y - 12.5;
this.atY = false;
} else {
this.atY = true;
}
if (this._x < this.Xdest) {
this._x = this._x + 12.5;
this.atX = false;
} else if (this._x > this.Xdest) {
this._x = this._x - 12.5;
this.atX = false;
} else {
this.atX = true;
}
if ((this._y == this.Ydest) && (this._x == this.Xdest)) {
this.GX = (this._x - 12.5) / 25;
this.GY = (this._y - 12.5) / 25;
}
if (((((this.Ydest < (_global.GravY - 12.5)) && (this._parent.Grid[this.GX][this.GY + 1] == 0)) && (this.Ydest == this._y)) && (this._x == this.Xdest)) && (_global.Explosions < 1)) {
this._parent.Grid[this.GX][this.GY] = 0;
this._parent.Grid[this.GX][this.GY + 1] = this.Type;
this.Ydest = this.Ydest + 25;
} else if (((((this.Ydest > (_global.GravY + 12.5)) && (this._parent.Grid[this.GX][this.GY - 1] == 0)) && (this.Ydest == this._y)) && (this._x == this.Xdest)) && (_global.Explosions < 1)) {
this._parent.Grid[this.GX][this.GY] = 0;
this._parent.Grid[this.GX][this.GY - 1] = this.Type;
this.Ydest = this.Ydest - 25;
}
if (((((this.Xdest < (_global.GravX - 12.5)) && (this._parent.Grid[this.GX + 1][this.GY] == 0)) && (this.Xdest == this._x)) && (this._y == this.Ydest)) && (_global.Explosions < 1)) {
this._parent.Grid[this.GX][this.GY] = 0;
this._parent.Grid[this.GX + 1][this.GY] = this.Type;
this.Xdest = this.Xdest + 25;
} else if (((((this.Xdest > (_global.GravX + 12.5)) && (this._parent.Grid[this.GX - 1][this.GY] == 0)) && (this.Xdest == this._x)) && (this._y == this.Ydest)) && (_global.Explosions < 1)) {
this._parent.Grid[this.GX][this.GY] = 0;
this._parent.Grid[this.GX - 1][this.GY] = this.Type;
this.Xdest = this.Xdest - 25;
}
if (this.explode == false) {
if ((!this.atY) && (!this.CountedY)) {
this.CountedY = true;
_global.BlocksFalling++;
}
if (this.atY && (this.CountedY)) {
this.CountedY = false;
_global.BlocksFalling--;
}
if ((!this.atX) && (!this.CountedX)) {
this.CountedX = true;
_global.BlocksSliding++;
}
if (this.atX && (this.CountedX)) {
this.CountedX = false;
_global.BlocksSliding--;
}
}
};
}
function SpawnNuke(Grid, i, ii) {
var _local3 = this.attachMovie("Nuke", "Nuke" + _global.cDepth, _global.cDepth);
_global.cDepth++;
_local3.Type = Grid[i][ii] - 1000;
_local3._x = (i * 25) + 12.5;
_local3.Xdest = (i * 25) + 12.5;
_local3._y = (-(i * 25)) - 512.5;
_local3.Ydest = (ii * 25) + 12.5;
_local3.explode = false;
_local3.CountedY = false;
_local3.CountedX = false;
_local3.gotoAndStop(_local3.Type);
_local3.BombMask.onPress = function () {
if ((_global.GameOver != true) && (_global.Shuffle < 1)) {
if ((this._parent._y == this._parent.Ydest) && (_global.Calm > 2)) {
this._parent._parent.Cursor.Core._visible = false;
this._parent.explode = true;
}
}
};
_local3.onEnterFrame = function () {
if (_global.GameOver == true) {
this._alpha = this._alpha - 5;
if (this._alpha < 10) {
this._parent.Cursor.Core._visible = false;
this.removeMovieClip();
}
}
if (this._parent.CT1.hitTest(this._x, this._y, true)) {
this.explode = true;
}
if (this._parent.CT2.hitTest(this._x, this._y, true)) {
this.explode = true;
}
if (this._parent.CT3.hitTest(this._x, this._y, true)) {
this.explode = true;
}
if (this._parent.CT4.hitTest(this._x, this._y, true)) {
this.explode = true;
}
if (this._parent.CT5.hitTest(this._x, this._y, true)) {
this.explode = true;
}
if (this._parent.CT6.hitTest(this._x, this._y, true)) {
this.explode = true;
}
if (this._parent.CT7.hitTest(this._x, this._y, true)) {
this.explode = true;
}
if (this.explode == true) {
NukeExplode(this._x, this._y, this._parent, this.Type);
this._parent.Grid[this.GX][this.GY] = 0;
this.removeMovieClip();
}
if (this._y < this.Ydest) {
this._y = this._y + 12.5;
this.atY = false;
} else if (this._y > this.Ydest) {
this._y = this._y - 12.5;
this.atY = false;
} else {
this.atY = true;
}
if (this._x < this.Xdest) {
this._x = this._x + 12.5;
this.atX = false;
} else if (this._x > this.Xdest) {
this._x = this._x - 12.5;
this.atX = false;
} else {
this.atX = true;
}
if ((this._y == this.Ydest) && (this._x == this.Xdest)) {
this.GX = (this._x - 12.5) / 25;
this.GY = (this._y - 12.5) / 25;
}
if (((((this.Ydest < (_global.GravY - 12.5)) && (this._parent.Grid[this.GX][this.GY + 1] == 0)) && (this.Ydest == this._y)) && (this._x == this.Xdest)) && (_global.Explosions < 1)) {
this._parent.Grid[this.GX][this.GY] = 0;
this._parent.Grid[this.GX][this.GY + 1] = this.Type;
this.Ydest = this.Ydest + 25;
} else if (((((this.Ydest > (_global.GravY + 12.5)) && (this._parent.Grid[this.GX][this.GY - 1] == 0)) && (this.Ydest == this._y)) && (this._x == this.Xdest)) && (_global.Explosions < 1)) {
this._parent.Grid[this.GX][this.GY] = 0;
this._parent.Grid[this.GX][this.GY - 1] = this.Type;
this.Ydest = this.Ydest - 25;
}
if (((((this.Xdest < (_global.GravX - 12.5)) && (this._parent.Grid[this.GX + 1][this.GY] == 0)) && (this.Xdest == this._x)) && (this._y == this.Ydest)) && (_global.Explosions < 1)) {
this._parent.Grid[this.GX][this.GY] = 0;
this._parent.Grid[this.GX + 1][this.GY] = this.Type;
this.Xdest = this.Xdest + 25;
} else if (((((this.Xdest > (_global.GravX + 12.5)) && (this._parent.Grid[this.GX - 1][this.GY] == 0)) && (this.Xdest == this._x)) && (this._y == this.Ydest)) && (_global.Explosions < 1)) {
this._parent.Grid[this.GX][this.GY] = 0;
this._parent.Grid[this.GX - 1][this.GY] = this.Type;
this.Xdest = this.Xdest - 25;
}
if (this.explode == false) {
if ((!this.atY) && (!this.CountedY)) {
this.CountedY = true;
_global.BlocksFalling++;
}
if (this.atY && (this.CountedY)) {
this.CountedY = false;
_global.BlocksFalling--;
}
if ((!this.atX) && (!this.CountedX)) {
this.CountedX = true;
_global.BlocksSliding++;
}
if (this.atX && (this.CountedX)) {
this.CountedX = false;
_global.BlocksSliding--;
}
}
};
}
if (_global.cDepth == undefined) {
_global.cDepth = 0;
_global.parDepth = 5100;
}
_global.Q1 = 0;
_global.Q2 = 0;
_global.Q3 = 0;
_global.Q4 = 0;
_global.Shuffle = 0;
_global.FrameCount = 0;
if (_global.Plays == undefined) {
_global.Plays = 0;
}
_global.ComboTarget = 0;
_global.Colors = 2.5;
_global.TimeLeft = 100;
_global.BonusTime = 25;
_global.Mana = 50;
_global.CurrentCombo = 0;
_global.Score = 0;
_global.BlocksRemaining = 0;
_global.Explosions = 0;
_global.BlocksFalling = 0;
_global.BlocksSliding = 0;
_global.Level = 0;
_global.NukeSpawn = 0;
_global.RegSounds = 0;
_global.Health = 25;
_global.MaxHealth = 25;
_global.ConvMod = 0;
_global.ConvertBomb = 0;
_global.ConvertLaser = 0;
_global.BlocksBusted = 0;
_global.MaxCombo = 0;
_global.LevDelay = 100;
_global.Playing = false;
_global.LeaderBoard = false;
_global.ShowingBoard = false;
var Grav = this.attachMovie("Center", "GravPoint", 255999);
Grav._x = 200;
Grav._y = 200;
_global.GravX = 50;
_global.GravY = 275;
GravPoint._x = _global.GravX;
GravPoint._y = _global.GravY;
Grav._visible = false;
Grav.onEnterFrame = function () {
if (((_global.Playing == true) && (!_global.GameOver)) && (_global.Level != 0)) {
this._visible = true;
} else {
this._visible = false;
}
if ((_global.BlocksRemaining == 0) && (this._alpha > 0)) {
this._alpha = this._alpha - 10;
} else if ((_global.BlocksRemaining > 0) && (this._alpha < 100)) {
this._alpha = this._alpha + 10;
}
};
Mouse.hide();
var Cursor = this.attachMovie("Cursor", "Cursor", 512000);
Cursor._x = 200;
Cursor._y = 200;
Cursor._xscale = 75;
Cursor._yscale = 75;
Cursor.startDrag(true);
Cursor.Core._visible = false;
Cursor.Spin = 0;
Cursor.Time = 0;
Cursor.Col = 1;
Cursor.Speed = 0.5;
Cursor.Track = -5;
Cursor.SpinRate = 5;
Cursor.onEnterFrame = function () {
this.Time++;
this.Spin = this.Spin + this.SpinRate;
if (((this.Time % 85) == 0) || ((Math.random() * 100) < 1)) {
this.Speed = (Math.random() * 0.4) + 0.6;
}
if (((this.Time % 75) == 0) || ((Math.random() * 100) < 1)) {
this.Track = (Math.random() * 50) - 20;
}
if (((this.Time % 55) == 0) || ((Math.random() * 100) < 1)) {
this.SpinRate = (Math.random() * 20) - 10;
}
if (_global.BlocksRemaining < 30) {
if (_global.BlocksRemaining < 0) {
_global.BlocksRemaining = 0;
}
i = 0;
while (i < 3) {
var _local3 = this._parent.attachMovie("Particle" + this.Col, "Par" + _global.parDepth, _global.parDepth);
_global.parDepth++;
_local3._x = this._x;
_local3._y = this._y;
_local3.Life = 30 - _global.BlocksRemaining;
if (_global.MouseDown != true) {
_local3._xscale = 150;
_local3._yscale = 150;
} else {
_local3._xscale = 170;
_local3._yscale = 170;
}
_local3._rotation = ((i % 3) * 120) + this.Spin;
_local3.Speed = this.Speed;
_local3.Track = this.Track;
_local3.onEnterFrame = function () {
if (_global.MouseDown) {
this.Speed = this.Speed + 0.04;
}
this.Speed = this.Speed + 0.015;
this._x = this._x + (Math.sin(this._rotation * (Math.PI/180)) * this.Speed);
this._y = this._y + ((Math.cos(this._rotation * (Math.PI/180)) * this.Speed) * -1);
this._rotation = this._rotation - (this.Track + (10 - this.Life));
this._xscale = this._xscale - 2;
this._yscale = this._yscale - 2;
if (this.Life < 1) {
this.removeMovieClip();
}
if (this.Life < 10) {
this._alpha = this._alpha - 4;
}
this.Life--;
};
i++;
}
}
this._rotation = this._rotation + ((_global.Mana / 4) + 8);
if (_global.Playing == true) {
if (_global.Health > 19) {
this.Col = 1;
} else if (_global.Health > 9) {
this.Col = 2;
} else {
this.Col = 3;
}
}
if (_global.MouseDown) {
this.ColMod = 3;
} else {
this.ColMod = 0;
}
this.gotoAndStop(this.Col + this.ColMod);
this.Core.gotoAndStop(this.Col + this.ColMod);
};
this.createEmptyMovieClip("CT1", 2560001);
this.createEmptyMovieClip("CT2", 2560002);
this.createEmptyMovieClip("CT3", 2560003);
this.createEmptyMovieClip("CT4", 2560004);
this.createEmptyMovieClip("CT5", 2560005);
this.createEmptyMovieClip("CT6", 2560006);
this.createEmptyMovieClip("CT7", 2560007);
this.createEmptyMovieClip("Trans", 2560008);
Trans._x = 0;
Trans._y = 0;
i = 1;
while (i <= 7) {
this["CT" + i]._x = 0;
this["CT" + i]._y = 0;
i++;
}
Grid = new Array();
i = 0;
while (i < 16) {
Grid[i] = new Array();
ii = 0;
while (ii < 16) {
Grid[i][ii] = 0;
ii++;
}
i++;
}
this.onMouseDown = function () {
_global.MouseDown = true;
};
this.onMouseUp = function () {
_global.MouseDown = false;
if (_global.Playing != true) {
this.Cursor.Col = this.Cursor.Col + 1;
}
if (this.Cursor.Col > 3) {
this.Cursor.Col = 1;
}
};
this.onEnterFrame = function () {
if (Key.isDown(13) && (Key.isDown(17))) {
}
if (_global.parDepth > 10000) {
_global.parDepth = 5100;
}
if (_global.cDepth > 5000) {
_global.cDepth = 50;
}
if (((_global.BlocksFalling < 1) && (_global.BlocksSliding < 1)) && (_global.Explosions < 1)) {
_global.Calm++;
} else {
_global.Calm = 0;
}
if (_global.Q1 > 0) {
SpawnQ1();
}
_global.Shuffle--;
if ((_global.FrameCount % 30) == 0) {
Cursor.startDrag(true);
}
if (_global.RegSounds > 0) {
_global.RegSounds--;
}
if (_global.SummonAd == true) {
_global.SummonAd = false;
_global.ShowingAd = true;
_global.Playing = false;
var _local4 = this.attachMovie("AdShell", "AdShell", 511999);
_local4._x = 275;
_local4._y = 200;
_local4._rotation = 180;
_local4._xscale = 10;
_local4._yscale = 10;
_local4.onEnterFrame = function () {
this._rotation = this._rotation - 10;
this._xscale = this._xscale + 5;
this._yscale = this._yscale + 5;
if (this._yscale === 100) {
this.onEnterFrame = function () {
};
}
};
}
if (_global.Playing == true) {
_global.FrameCount++;
if ((_global.Health < 1) && (_global.BlocksRemaining > 0)) {
_global.GameOver = true;
snd15.start(0, 1);
_global.BlocksRemaining = 0;
_global.Q1 = 0;
_global.Q2 = 0;
_global.Q3 = 0;
_global.Q4 = 0;
_global.Playing = false;
if (_global.Difficulty == 1) {
_root.kongregateStats.submit("Easy", _global.Score);
}
if (_global.Difficulty == 2) {
_root.kongregateStats.submit("Normal", _global.Score);
}
if (_global.Difficulty == 3) {
_root.kongregateStats.submit("Hard", _global.Score);
}
}
if (((((_global.FrameCount % 30) == 0) && (_global.TimeLeft > 0)) && (_global.BlocksRemaining > 0)) && (_global.BlocksSettled == true)) {
_global.TimeLeft--;
}
if (((_global.BlocksSettled == false) && (_global.BlocksFalling == 0)) && (_global.BlocksSliding == 0)) {
_global.BlocksSettled = true;
}
if ((_global.Explosions < 1) && (_global.CurrentCombo > 0)) {
CalcScore();
}
if (_global.BlocksRemaining < 1) {
_global.BlocksRemaining = 0;
}
if (_global.BlocksRemaining == 0) {
_global.LevDelay++;
}
if (((_global.BlocksRemaining == 0) && (_global.CurrentCombo < 1)) && (_global.LevDelay > 50)) {
_global.Level++;
_global.LevDelay = 0;
if (_global.Level > 1) {
LevelUp();
}
SpawnFullGrid();
}
}
};
Instance of Symbol 271 MovieClip in Frame 2
onClipEvent (enterFrame) {
if ((((_global.Playing == true) || (_global.Tutorial)) || (_global.ShowingAd)) && (this._y > -85)) {
this._y = this._y - 10;
this.Played = false;
}
if ((((((_global.Playing != true) && (!_global.Tutorial)) && (!_global.GameOver)) && (!_global.ShowingAd)) && (!_global.LeaderBoard)) && (this._y < 75)) {
this._y = this._y + 10;
if ((this._y >= 75) && (this.Played != true)) {
this._parent.snd13.start(0, 1);
this._parent.snd23.start(0, 1);
this.played = true;
this.play();
}
}
}
Instance of Symbol 352 MovieClip "Panel" in Frame 2
onClipEvent (enterFrame) {
if ((_global.Playing == true) && (this._x > 475)) {
this._x = this._x - 10;
}
if ((_global.Playing != true) && (this._x < 645)) {
this._x = this._x + 10;
}
}
Instance of Symbol 364 MovieClip in Frame 2
onClipEvent (enterFrame) {
if ((((_global.Playing == true) || (_global.Tutorial)) || (_global.ShowingAd)) && (this._y < 550)) {
this._y = this._y + 20;
}
if ((((((_global.Playing != true) && (!_global.Tutorial)) && (!_global.GameOver)) && (!_global.ShowingAd)) && (!_global.LeaderBoard)) && (this._y > 250)) {
this._y = this._y - 20;
}
}
Instance of Symbol 408 MovieClip in Frame 2
onClipEvent (enterFrame) {
if ((_global.Tutorial == false) && (this._x < -100)) {
this.gotoAndStop(1);
}
if (((_global.Playing == true) || (_global.Tutorial != true)) && (this._x > -165)) {
this._x = this._x - 20;
}
if (((_global.Playing != true) && (_global.Tutorial == true)) && (this._x < 275)) {
this._x = this._x + 20;
}
}
Instance of Symbol 433 MovieClip in Frame 2
onClipEvent (enterFrame) {
if (_global.SubmitScore == true) {
_global.SubmitScore = false;
if (_global.Difficulty == 1) {
_root.kongregateScores.setMode("Easy");
_root.kongregateScores.submit(_global.Score);
trace("Submit Easy");
_root.MindJoltAPI.service.submitScore(_global.Score, "easy");
}
if (_global.Difficulty == 2) {
_root.kongregateScores.setMode("Normal");
_root.kongregateScores.submit(_global.Score);
trace("Submit Normal");
_root.MindJoltAPI.service.submitScore(_global.Score, "normal");
}
if (_global.Difficulty == 3) {
_root.kongregateScores.setMode("Hard");
_root.kongregateScores.submit(_global.Score);
trace("Submit Hard");
_root.MindJoltAPI.service.submitScore(_global.Score, "hard");
}
}
if (_global.GameOver && (this._y < 75)) {
this._y = this._y + 10;
if ((this._y >= 75) && (this.Played != true)) {
this.played = true;
this.GO.play();
}
}
if ((!_global.GameOver) && (this._y > -235)) {
this._y = this._y - 10;
this.played = false;
}
Score_txt.text = _global.Score;
Blocks_txt.text = _global.BlocksBusted;
Combo_txt.text = _global.MaxCombo;
}
Instance of Symbol 438 MovieClip in Frame 2
onClipEvent (enterFrame) {
if ((((_global.Playing == true) || (_global.Tutorial)) || (_global.ShowingAd)) && (this._y > -100)) {
this._y = this._y - 10;
}
if ((((((_global.Playing != true) && (!_global.Tutorial)) && (!_global.ShowingAd)) && (!_global.GameOver)) && (!_global.LeaderBoard)) && (this._y < 0)) {
this._y = this._y + 10;
}
}
Instance of Symbol 443 MovieClip in Frame 2
onClipEvent (load) {
_root._quality = "high";
_global.Quality = 3;
_global.autoQuality = true;
L = 90;
frames = 0;
}
onClipEvent (enterFrame) {
if (_global.autoQuality == true) {
if (_global.Quality == 2) {
if ((L == 85) && (Laverage < 27)) {
_root._quality = "medium";
_global.Quality = 2;
} else if (L == 85) {
_root._quality = "high";
_global.Quality = 3;
}
} else if (_global.Quality == 3) {
if (((L == 55) || (L == 85)) && (Laverage < 26)) {
_root._quality = "medium";
_global.Quality = 2;
} else if (L == 85) {
_root._quality = "high";
_global.Quality = 3;
}
}
}
millisecond = getTimer();
framespersecond = Math.round(1000 / (millisecond - o));
o = millisecond;
timer = frames / 30;
if (L < 90) {
L++;
LT = timer - TS;
LS = millisecond - MS;
} else {
L = 0;
TS = timer;
MS = millisecond;
}
Laverage = Math.floor((LT / LS) * 30000);
average = Math.floor((timer / millisecond) * 30000);
frames++;
currentFPS.text = "FPS: " + framespersecond;
averageFPS.text = "Average: " + average;
localFPS.text = "Local FPS: " + Laverage;
_global.FPS = framespersecond;
}
Instance of Symbol 456 MovieClip in Frame 2
onClipEvent (enterFrame) {
if (_global.GameOver && (this._y > 300)) {
this._y = this._y - 10;
}
if ((!_global.GameOver) && (this._y < 800)) {
this._y = this._y + 20;
}
}
Instance of Symbol 465 MovieClip "Clip1" in Frame 2
onClipEvent (enterFrame) {
if ((_global.LeaderBoard == true) && (_global.ShowingBoard != true)) {
_global.ShowingBoard = true;
if (_global.Difficulty == 1) {
var o = {n:[3, 4, 1, 5, 11, 1, 0, 11, 15, 8, 6, 5, 3, 12, 15, 10], f:function (i, s) {
if (s.length == 16) {
return(s);
}
return(this.f(i + 1, s + this.n[i].toString(16)));
}};
var boardID = o.f(0, "");
mochi.as2.MochiScores.showLeaderboard({boardID:"069631c1d8aed01a", score:_global.Score});
}
if (_global.Difficulty == 2) {
var o = {n:[3, 4, 1, 5, 11, 1, 0, 11, 15, 8, 6, 5, 3, 12, 15, 10], f:function (i, s) {
if (s.length == 16) {
return(s);
}
return(this.f(i + 1, s + this.n[i].toString(16)));
}};
var boardID = o.f(0, "");
mochi.as2.MochiScores.showLeaderboard({boardID:"c3966c1bae1d602c", score:_global.Score});
}
if (_global.Difficulty == 3) {
var o = {n:[3, 4, 1, 5, 11, 1, 0, 11, 15, 8, 6, 5, 3, 12, 15, 10], f:function (i, s) {
if (s.length == 16) {
return(s);
}
return(this.f(i + 1, s + this.n[i].toString(16)));
}};
var boardID = o.f(0, "");
mochi.as2.MochiScores.showLeaderboard({boardID:"56298085e41084b9", score:_global.Score});
}
}
}
Frame 3
gotoAndStop (2);
trace("gotoAndStop(2);");
Symbol 31 MovieClip Frame 1
this.MSG = "One Moment Please";
this.Time = 30;
this.onEnterFrame = function () {
this.LittleVoice_txt.text = this.MSG;
if (_global.Plays == 2) {
if (this.Time == 35) {
this.MSG = "Hello";
}
if (this.Time == 80) {
this.MSG = "My name is Jo";
}
if (this.Time == 160) {
this.MSG = "I offer you occasional advice";
}
if (this.Time == 240) {
this.MSG = ":)";
}
if (this.Time == 320) {
this.MSG = "You can close this window with the [X]";
}
if (this.Time == 400) {
this.MSG = "But my feelings will be hurt.";
}
if (this.Time == 480) {
this.MSG = ":(";
}
if (this.Time == 560) {
this.MSG = "...";
}
if (this.Time == 640) {
this.MSG = "Did you know:";
}
if (this.Time == 720) {
this.MSG = "Special blocks are very unstable...";
}
if (this.Time == 800) {
this.MSG = "...an explosion of any color will trigger them!";
}
if (this.Time == 880) {
this.MSG = ":O";
}
if (this.Time == 960) {
this.MSG = "Good to know right?";
}
if (this.Time == 1040) {
this.MSG = "...";
}
if (this.Time == 1120) {
this.MSG = "So do you like the game?";
}
if (this.Time == 1200) {
this.MSG = "I do!";
}
if (this.Time == 1280) {
this.MSG = ":)";
}
if (this.Time == 1360) {
this.MSG = " Why don't you play it?";
}
if (this.Time == 1420) {
this.MSG = "It's ok, click the [X]";
}
if (this.Time == 1480) {
this.MSG = "Go ahead.";
}
if (this.Time == 1560) {
this.MSG = ":)";
}
if (this.Time == 1620) {
this.MSG = "...";
}
if (this.Time == 1700) {
this.MSG = "What do you call a sheep with no legs?";
}
if (this.Time == 1780) {
this.MSG = "A Cloud!";
}
if (this.Time == 1860) {
this.MSG = "...";
}
if (this.Time == 1940) {
this.MSG = "Play the game already!";
}
if (this.Time == 2020) {
this.MSG = ":)";
}
if (this.Time == 2100) {
this.MSG = "[Jo is Away]";
}
}
if (_global.Plays == 3) {
if (this.Time == 35) {
this.MSG = "Hello Again!";
}
if (this.Time == 80) {
this.MSG = ("How did you get " + _global.Score) + " Points?";
}
if (this.Time == 160) {
this.MSG = ("I only got " + Math.round(_global.Score / 2)) + " Points!";
}
if (this.Time == 240) {
this.MSG = ":(";
}
if (this.Time == 320) {
this.MSG = "Did you know:";
}
if (this.Time == 400) {
this.MSG = "The cursor indicates your combo meter.";
}
if (this.Time == 480) {
this.MSG = "If it starts too spin slow...";
}
if (this.Time == 560) {
this.MSG = "You're in trouble!";
}
if (this.Time == 640) {
this.MSG = ":)";
}
if (this.Time == 720) {
this.MSG = "I hope you like the game";
}
if (this.Time == 800) {
this.MSG = "It was very hard to make";
}
if (this.Time == 880) {
this.MSG = ":)";
}
if (this.Time == 960) {
this.MSG = "[Jo is Away]";
}
}
if (_global.Plays == 4) {
if (this.Time == 35) {
this.MSG = "Hooray! You decided to play again!";
}
if (this.Time == 80) {
this.MSG = ":)";
}
if (this.Time == 160) {
this.MSG = "Cool! You made it to level " + _global.Level;
}
if (this.Time == 240) {
this.MSG = ("And you Scored " + _global.Score) + " points!";
}
if (this.Time == 320) {
this.MSG = ("That's pretty good for " + _global.Mode) + " Mode!";
}
if (this.Time == 400) {
this.MSG = ":D";
}
if (this.Time == 480) {
this.MSG = "...";
}
if (this.Time == 560) {
this.MSG = "Did you know:";
}
if (this.Time == 640) {
this.MSG = "Bonus=(Level*2500)+(ComboMeter*50)";
}
if (this.Time == 720) {
this.MSG = "Bonus=(Level*2500)+(ComboMeter*50)";
}
if (this.Time == 800) {
this.MSG = "But only if you finish on time!";
}
if (this.Time == 880) {
this.MSG = ":)";
}
if (this.Time == 960) {
this.MSG = ("Try to do beat my score: " + (_global.Score + 35235)) + "!";
_global.Thread3Score = _global.Score + 35235;
}
if (this.Time == 1040) {
this.MSG = ("I bet you can't get to level " + (_global.Level + 2)) + "!";
}
if (this.Time == 1120) {
this.MSG = "Good Luck!";
}
if (this.Time == 1200) {
this.MSG = ":)";
}
if (this.Time == 1280) {
this.MSG = "[Jo is Away]";
}
}
if (_global.Plays == 5) {
if (_global.Score > _global.Thread3Score) {
if (this.Time == 35) {
this.MSG = "Holy cow! You beat my last score!";
}
if (this.Time == 80) {
this.MSG = ":(";
}
if (this.Time == 160) {
this.MSG = "I can't believe it";
}
if (this.Time == 240) {
this.MSG = ("You got " + _global.Score) + " Points!";
}
if (this.Time == 320) {
this.MSG = ("I only got " + Math.round(_global.Score / 1.5)) + " Points";
}
if (this.Time == 400) {
this.MSG = "I will do better this time though!";
}
}
if (_global.Score <= _global.Thread3Score) {
if (this.Time == 35) {
this.MSG = "You didn't beat my last score!";
}
if (this.Time == 80) {
this.MSG = ":)";
}
if (this.Time == 160) {
this.MSG = "but that's ok";
}
if (this.Time == 240) {
this.MSG = ("I only got " + Math.round(_global.Score / 1.5)) + " Points this time";
}
if (this.Time == 320) {
this.MSG = ("And you got " + _global.Score) + " Points!";
}
if (this.Time == 400) {
this.MSG = "I will do better this time though!";
}
}
if (this.Time == 480) {
this.MSG = ":)";
}
if (this.Time == 560) {
this.MSG = "Did you know:";
}
if (this.Time == 640) {
this.MSG = "The formula for the Combo Score is:";
}
if (this.Time == 720) {
this.MSG = "(Combo*Combo)*(5/4)*Level";
}
if (this.Time == 800) {
this.MSG = "So get big combos for huge points!";
}
if (this.Time == 880) {
this.MSG = ":)";
}
if (this.Time == 960) {
this.MSG = "...";
}
if (this.Time == 1040) {
this.MSG = "Why do birds fly south?";
}
if (this.Time == 1120) {
this.MSG = "Because it's too far to walk!";
}
if (this.Time == 1200) {
this.MSG = ":)";
}
if (this.Time == 1280) {
this.MSG = "[Jo is Away]";
}
}
if (_global.Plays == 6) {
if (this.Time == 35) {
this.MSG = "Hello Again!";
}
if (this.Time == 80) {
this.MSG = ("How did you get to level " + _global.Level) + "?";
}
if (this.Time == 160) {
this.MSG = ("I only got to level " + Math.round(_global.Level / 2)) + "!";
}
if (this.Time == 240) {
this.MSG = ":)";
}
if (this.Time == 320) {
this.MSG = "...";
}
if (this.Time == 400) {
this.MSG = "I bet you know a lot about the game";
}
if (this.Time == 480) {
this.MSG = "You are a good player";
}
if (this.Time == 560) {
this.MSG = ("But I bet you can't get to level " + (_global.Level + 3)) + "!";
}
if (this.Time == 640) {
this.MSG = ":)";
}
if (this.Time == 720) {
this.MSG = "...";
}
if (this.Time == 800) {
this.MSG = "What did the blanket say to the bed?";
}
if (this.Time == 880) {
this.MSG = "You are under cover!";
}
if (this.Time == 960) {
this.MSG = ":)";
}
if (this.Time == 1040) {
this.MSG = "[Jo is Away]";
}
}
if (_global.Plays == 7) {
if (this.Time == 35) {
this.MSG = "Hey!";
}
if (this.Time == 80) {
this.MSG = ":)";
}
if (this.Time == 160) {
this.MSG = "You really like this game huh?";
}
if (this.Time == 240) {
this.MSG = ":)";
}
if (this.Time == 320) {
this.MSG = "I'm glad!";
}
if (this.Time == 400) {
this.MSG = "I would get lonely playing by myself...";
}
if (this.Time == 480) {
this.MSG = ":(";
}
if (this.Time == 560) {
this.MSG = "...";
}
if (this.Time == 640) {
this.MSG = ("You only got to level " + _global.Level) + "?";
}
if (this.Time == 720) {
this.MSG = ("I expected you to get to level " + (_global.Level + 4)) + "!";
}
if (this.Time == 800) {
this.MSG = "Because you're really good at this";
}
if (this.Time == 880) {
this.MSG = ":)";
}
if (this.Time == 960) {
this.MSG = "Good luck!";
}
if (this.Time == 1040) {
this.MSG = "[Jo is Away]";
}
}
if (_global.Plays == 8) {
if (this.Time == 35) {
this.MSG = "Oh cool, you're playing again!";
}
if (this.Time == 80) {
this.MSG = "Now I'm happy";
}
if (this.Time == 160) {
this.MSG = "That's a total of 8 now";
}
if (this.Time == 240) {
this.MSG = "You should play at least 947 more times!";
}
if (this.Time == 320) {
this.MSG = ":)";
}
if (this.Time == 400) {
this.MSG = "Have you submitted your score yet";
}
if (this.Time == 480) {
this.MSG = "You should try to get in the top 10";
}
if (this.Time == 560) {
this.MSG = "Maybe you will be famous!";
}
if (this.Time == 640) {
this.MSG = ":)";
}
if (this.Time == 720) {
this.MSG = "[Jo is Away]";
}
}
if (_global.Plays == 9) {
if (this.Time == 35) {
this.MSG = "Hey!";
}
if (this.Time == 80) {
this.MSG = ":)";
}
if (this.Time == 160) {
this.MSG = "Thank you for playing so much";
}
if (this.Time == 240) {
this.MSG = "The more you play...";
}
if (this.Time == 320) {
this.MSG = "The more encouraged I am";
}
if (this.Time == 400) {
this.MSG = "Maybe I will make another game!";
}
if (this.Time == 480) {
this.MSG = ":)";
}
if (this.Time == 560) {
this.MSG = "...";
}
if (this.Time == 640) {
this.MSG = "Would you play it?";
}
if (this.Time == 720) {
this.MSG = "It sure is hard to make them";
}
if (this.Time == 800) {
this.MSG = "But if you keep playing";
}
if (this.Time == 880) {
this.MSG = "I will be motivated!";
}
if (this.Time == 960) {
this.MSG = ":)";
}
if (this.Time == 1040) {
this.MSG = "[Jo is Away]";
}
}
if (_global.Plays == 10) {
if (this.Time == 35) {
this.MSG = "Hooray!";
}
if (this.Time == 80) {
this.MSG = "You played 10 times!";
}
if (this.Time == 160) {
this.MSG = "Thank you";
}
if (this.Time == 240) {
this.MSG = "For every person that plays ten times";
}
if (this.Time == 320) {
this.MSG = "My tracer ticks up one point";
}
if (this.Time == 400) {
this.MSG = "When it gets to ten thousand";
}
if (this.Time == 480) {
this.MSG = "I make another game like this!";
}
if (this.Time == 560) {
this.MSG = ":)";
}
if (this.Time == 640) {
this.MSG = "So be sure to tell your friends!";
}
if (this.Time == 720) {
this.MSG = "And thank you for your time! ";
}
if (this.Time == 800) {
this.MSG = ":)";
}
if (this.Time == 880) {
this.MSG = "Have fun and Good luck!";
}
if (this.Time == 960) {
this.MSG = ":)";
}
if (this.Time == 1040) {
this.MSG = "[Jo is deactivated]";
}
}
if (_global.Plays > 10) {
if (this.Time == 35) {
this.MSG = "[Jo is deactivated]";
}
}
};
Symbol 40 Button
on (press) {
Mouse.hide();
this._parent.onEnterFrame = function () {
this._rotation = this._rotation + 5;
this._xscale = this._xscale - 5;
this._yscale = this._yscale - 5;
if (this._yscale < 10) {
BombExplode(this._x, this._y, this._parent, 1);
_global.Playing = true;
_global.ShowingAd = false;
this.removeMovieClip();
}
};
_global.Health = 25;
_global.TimeLeft = 25;
_global.BonusTime = 25;
_global.Mana = 50;
_global.CurrentCombo = 0;
_global.Score = 0;
_global.BlocksRemaining = 0;
_global.Explosions = 0;
_global.BlocksFalling = 0;
_global.BlocksSliding = 0;
_global.Level = 0;
_global.BlocksBusted = 0;
_global.MaxCombo = 0;
_global.NukeOut = 0;
_global.ConvertBomb = 0;
_global.ConvertLaser = 0;
Mouse.hide();
_parent._parent.Cursor.Core._visible = false;
}
on (rollOver) {
this._parent._parent.snd7.start(0, 1);
with (this._parent._parent.Cursor) {
this._parent._parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
with (this._parent._parent.Cursor) {
this._parent._parent.Cursor.Core._visible = false;
}
}
Symbol 41 MovieClip Frame 1
Mouse.hide();
Symbol 41 MovieClip Frame 30
Mouse.hide();
Symbol 41 MovieClip Frame 60
Mouse.hide();
Symbol 41 MovieClip Frame 90
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);
}
function BombExplode(X, Y, Target, Type) {
this._parent._parent.snd2.start(0, 1);
_global.Explosions = _global.Explosions + 1;
var _local3 = Target["CT" + Type].attachMovie("BombExplode", "Ex" + _global.cDepth, _global.cDepth);
_global.cDepth++;
_local3._x = X;
_local3._xscale = 100;
_local3._y = Y;
_local3._yscale = 100;
_local3.BombEffect.Type = Type;
}
stop();
Symbol 42 MovieClip [AdShell] Frame 1
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);
}
function BombExplode(X, Y, Target, Type) {
this._parent.snd2.start(0, 1);
_global.Explosions = _global.Explosions + 1;
var _local3 = Target["CT" + Type].attachMovie("BombExplode", "Ex" + _global.cDepth, _global.cDepth);
_global.cDepth++;
_local3._x = X;
_local3._xscale = 100;
_local3._y = Y;
_local3._yscale = 100;
_local3.BombEffect.Type = Type;
}
Instance of Symbol 33 MovieClip in Symbol 42 MovieClip [AdShell] Frame 1
onClipEvent (enterFrame) {
if ((this._parent._rotation == 0) && (!this.DontShow)) {
mochi.as2.MochiAd.showClickAwayAd({clip:this, id:"7d833775e2708b4b"});
this.DontShow = true;
}
}
Symbol 49 MovieClip [Gem] Frame 1
stop();
Symbol 49 MovieClip [Gem] Frame 2
stop();
Symbol 49 MovieClip [Gem] Frame 3
stop();
Symbol 49 MovieClip [Gem] Frame 4
stop();
Symbol 52 Button
on (rollOver) {
with (_parent.Cursor) {
_parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
with (_parent.Cursor) {
_parent.Cursor.Core._visible = false;
}
}
Instance of Symbol 68 MovieClip in Symbol 69 MovieClip Frame 1
onClipEvent (load) {
this.gotoAndStop(_parent.Type);
}
Symbol 70 MovieClip [NukeExplode] Frame 9
_global.Explosions--;
_global.NukeOut = false;
this.removeMovieClip();
Symbol 78 MovieClip Frame 1
stop();
Symbol 78 MovieClip Frame 2
stop();
Symbol 78 MovieClip Frame 3
stop();
Symbol 78 MovieClip Frame 4
stop();
Symbol 78 MovieClip Frame 5
stop();
Symbol 78 MovieClip Frame 6
stop();
Symbol 78 MovieClip Frame 7
stop();
Instance of Symbol 68 MovieClip in Symbol 79 MovieClip Frame 1
onClipEvent (load) {
this.gotoAndStop(_parent.Type);
}
Instance of Symbol 78 MovieClip in Symbol 79 MovieClip Frame 1
onClipEvent (load) {
this.gotoAndStop(_parent.Type);
if (this._parent.Type == 7) {
this._visible = false;
}
}
onClipEvent (enterFrame) {
this._y = this._y - 1;
}
Instance of Symbol 78 MovieClip in Symbol 79 MovieClip Frame 1
onClipEvent (load) {
this.gotoAndStop(_parent.Type);
if (this._parent.Type == 7) {
this._visible = false;
}
}
onClipEvent (enterFrame) {
this._y = this._y + 1;
}
Instance of Symbol 78 MovieClip in Symbol 79 MovieClip Frame 1
onClipEvent (load) {
this.gotoAndStop(_parent.Type);
if (this._parent.Type == 7) {
this._visible = false;
}
}
onClipEvent (enterFrame) {
this._x = this._x - 1;
}
Instance of Symbol 78 MovieClip in Symbol 79 MovieClip Frame 1
onClipEvent (load) {
this.gotoAndStop(_parent.Type);
if (this._parent.Type == 7) {
this._visible = false;
}
}
onClipEvent (enterFrame) {
this._x = this._x + 1;
}
Instance of Symbol 79 MovieClip "BombEffect" in Symbol 80 MovieClip [BombExplode] Frame 1
onClipEvent (enterFrame) {
(this._rotation = this._rotation - 9);
(this._xscale = this._xscale + 70);
this._yscale = this._yscale + 70;
if (this.Type == 7) {
this._xscale = this._xscale - 20;
this._yscale = this._yscale - 20;
}
}
Symbol 80 MovieClip [BombExplode] Frame 9
_global.Explosions--;
this.removeMovieClip();
Symbol 82 MovieClip [Explode] Frame 6
_global.Explosions--;
this.removeMovieClip();
Symbol 92 Button
on (rollOver) {
with (_parent.Cursor) {
_parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
with (_parent.Cursor) {
_parent.Cursor.Core._visible = false;
}
}
Symbol 98 MovieClip [Nuke] Frame 1
stop();
Instance of Symbol 102 MovieClip in Symbol 109 MovieClip [Bomb] Frame 1
onClipEvent (enterFrame) {
this._rotation = this._rotation + 15;
}
Symbol 119 MovieClip Frame 1
stop();
Symbol 119 MovieClip Frame 2
stop();
Symbol 119 MovieClip Frame 3
stop();
Symbol 125 MovieClip [Cursor] Frame 1
stop();
Symbol 125 MovieClip [Cursor] Frame 2
stop();
Symbol 125 MovieClip [Cursor] Frame 3
stop();
Symbol 125 MovieClip [Cursor] Frame 4
stop();
Symbol 125 MovieClip [Cursor] Frame 5
stop();
Symbol 125 MovieClip [Cursor] Frame 6
stop();
Symbol 200 MovieClip [Transmute] Frame 1
stop();
Symbol 208 MovieClip Frame 1
stop();
Instance of Symbol 204 MovieClip in Symbol 209 MovieClip Frame 1
onClipEvent (enterFrame) {
X = _parent._x - 4;
Y = _parent._y - 3.5;
this.DX = -this._parent._xmouse;
this.DY = -this._parent._ymouse;
this.Dis = Math.sqrt((this.DX * this.DX) + (this.DY * this.DY));
if (Dis > 10) {
Xm = this._parent._xmouse;
Ym = this._parent._ymouse;
Xdiff = Xm - X;
Ydiff = -(Ym - Y);
radAngle = Math.atan(Ydiff / Xdiff);
if (Xdiff < 0) {
corrFactor = 270;
} else {
corrFactor = 90;
}
this._rotation = ((((-radAngle) * 360) / (Math.PI*2)) + corrFactor) + 30;
this._x = X + (Math.sin(this._rotation * (Math.PI/180)) * 1.8);
this._y = Y + ((Math.cos(this._rotation * (Math.PI/180)) * 1.8) * -1);
} else {
this._x = X;
this._y = Y;
}
}
Instance of Symbol 208 MovieClip "mouth" in Symbol 209 MovieClip Frame 1
onClipEvent (enterFrame) {
if (this.Smile != true) {
this.DX = -this._parent._xmouse;
this.DY = -this._parent._ymouse;
this.Dis = Math.sqrt((this.DX * this.DX) + (this.DY * this.DY));
if (_global.BlocksSettled != true) {
this.gotoAndStop(2);
} else {
this.gotoAndStop(1);
}
if (_global.Explosions > 0) {
this.gotoAndStop(3);
}
if (this.Dis < 10) {
this.gotoAndStop(2);
}
} else {
gotoAndStop (1);
}
}
Instance of Symbol 204 MovieClip in Symbol 209 MovieClip Frame 1
onClipEvent (enterFrame) {
X = _parent._x + 3.3;
Y = _parent._y - 3.5;
this.DX = -this._parent._xmouse;
this.DY = -this._parent._ymouse;
this.Dis = Math.sqrt((this.DX * this.DX) + (this.DY * this.DY));
if (Dis > 10) {
Xm = this._parent._xmouse;
Ym = this._parent._ymouse;
Xdiff = Xm - X;
Ydiff = -(Ym - Y);
radAngle = Math.atan(Ydiff / Xdiff);
if (Xdiff < 0) {
corrFactor = 270;
} else {
corrFactor = 90;
}
this._rotation = (((-radAngle) * 360) / (Math.PI*2)) + corrFactor;
this._x = X + (Math.sin(this._rotation * (Math.PI/180)) * 2);
this._y = Y + ((Math.cos(this._rotation * (Math.PI/180)) * 2) * -1);
} else {
this._x = X;
this._y = Y;
}
}
Symbol 224 MovieClip [Ground] Frame 1
function toggleSound() {
Mouse.hide();
if (_global.SoundOn) {
this._parent.snd1.setVolume(0);
_global.SoundOn = false;
} else {
this._parent.snd1.setVolume(80);
_global.SoundOn = true;
}
}
Instance of Symbol 238 MovieClip in Symbol 241 MovieClip [KeyEffect] Frame 1
onClipEvent (enterFrame) {
this._rotation = this._rotation + 3;
}
Instance of Symbol 240 MovieClip in Symbol 241 MovieClip [KeyEffect] Frame 1
onClipEvent (enterFrame) {
this._rotation = this._rotation + 3;
}
Symbol 249 Button
on (release) {
getURL ("http://www.unboundedgames.com/", "_blank");
}
on (rollOver) {
with (Cursor) {
snd7.start(0, 1);
Cursor.Core._visible = true;
}
}
on (rollOut) {
with (Cursor) {
Cursor.Core._visible = false;
}
}
Symbol 466 MovieClip [__Packages.mochi.as2.MochiAd] Frame 0
class mochi.as2.MochiAd
{
function MochiAd () {
}
static function getVersion() {
return(mochi.as2.MochiServices.getVersion());
}
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;
mochi.as2.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) {
mochi.as2.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) {
mochi.as2.MochiAd.containerNotify(clip, {id:"hostLoadPcnt", pcnt:_local2}, clip._mochiad._containerLCName);
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) {
mochi.as2.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;
mochi.as2.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) {
mochi.as2.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 _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;
if (_local7._url.indexOf("http") != 0) {
trace("[MochiAd] NOTE: Security Sandbox Violation errors below are normal");
}
var _local4 = _local6.createEmptyMovieClip("_mochiad_ctr", 1);
for (var _local8 in options) {
_local4[_local8] = options[_local8];
}
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;
mochi.as2.MochiAd.unload(this._parent);
}
};
}
};
var _local5 = new Object();
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);
}
containerNotify(clip, {id:"unload"}, clip._mochiad._containerLCName);
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);
containerRpcResult(clip, callbackID, _local4, clip._mochiad._containerLCName);
break;
case "runMethod" :
var _local3 = runMethod(clip, arg.method, arg.args);
containerRpcResult(clip, callbackID, _local3, clip._mochiad._containerLCName);
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);
}
static function containerNotify(clip, args, lcName) {
var _local1 = clip._mochiad._mochiad_ctr.ad.app;
if (_local1.notify) {
_local1.notify(args);
} else {
new LocalConnection().send(lcName, "notify", args);
}
}
static function containerRpcResult(clip, callbackID, val, lcName) {
var _local1 = clip._mochiad._mochiad_ctr.ad.app;
if (_local1.rpcResult) {
_local1.rpcResult(callbackID, val);
} else {
new LocalConnection().send(lcName, "rpcResult", callbackID, val);
}
}
}
Symbol 467 MovieClip [__Packages.mochi.as2.MochiSync] Frame 0
class mochi.as2.MochiSync
{
var _syncContainer;
function MochiSync () {
_syncContainer = {};
}
function getProp(name) {
return(_syncContainer[name]);
}
function setProp(name, value) {
if (_syncContainer[name] == value) {
return(undefined);
}
_syncContainer[name] = value;
mochi.as2.MochiServices.send("sync_propUpdate", {name:name, value:value});
}
function triggerEvent(eventType, args) {
switch (eventType) {
case SYNC_REQUEST :
mochi.as2.MochiServices.send("sync_syncronize", _syncContainer);
break;
case SYNC_PROPERTY :
_syncContainer[args.name] = args.value;
}
}
static var SYNC_REQUEST = "SyncRequest";
static var SYNC_PROPERTY = "UpdateProperty";
}
Symbol 468 MovieClip [__Packages.mochi.as2.MochiServices] Frame 0
class mochi.as2.MochiServices
{
static var _id, _container, _clip, _sendChannelName, __get__comChannelName, onError, _listenChannel, _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("3.3 as2");
}
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";
initComChannels();
}
}
//return(__get__comChannelName());
}
static function get connected() {
return(_connected);
}
static function connect(id, clip, onError) {
warnID(id, false);
if ((!_connected) && (_clip == undefined)) {
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
}
if (onError != undefined) {
mochi.as2.MochiServices.onError = onError;
} else if (mochi.as2.MochiServices.onError == undefined) {
mochi.as2.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();
}
}
static function init(id, clip) {
_id = id;
if (clip != undefined) {
_container = clip;
} else {
_container = _root;
}
loadCommunicator(id, _container);
}
static function loadCommunicator(id, clip) {
var _local6 = "_mochiservices_com_" + id;
var _local5 = new MovieClipLoader();
var _local3 = {};
if (_clip != null) {
return(_clip);
}
if (!isNetworkAvailable) {
return(null);
}
if (urlOptions().servURL) {
_servURL = urlOptions().servURL;
}
var _local4 = _servURL + _services;
if (urlOptions().servicesURL) {
_local4 = urlOptions().servicesURL;
}
allowDomains(_local4);
_clip = clip.createEmptyMovieClip(_local6, 10336, false);
_listenChannelName = _listenChannelName + ((Math.floor(new Date().getTime()) + "_") + Math.floor(Math.random() * 99999));
listen();
if (_local3.waitInterval != null) {
clearInterval(_local3.waitInterval);
}
_local3.onLoadError = loadError;
_local3.onLoadStart = function (target_mc) {
this.isLoading = true;
};
_local3.startTime = getTimer();
_local3.wait = function () {
if ((getTimer() - this.startTime) > 10000) {
if (!this.isLoading) {
mochi.as2.MochiServices.disconnect();
mochi.as2.MochiServices.onError.apply(null, ["IOError"]);
}
clearInterval(this.waitInterval);
}
};
_local3.waitInterval = setInterval(_local3, "wait", 1000);
_local5.addListener(_local3);
_local5.loadClip((((((_local4 + "?listenLC=") + _listenChannelName) + "&mochiad_options=") + escape(_root.mochiad_options)) + "&api_version=") + getVersion(), _clip);
_sendChannel = new LocalConnection();
_sendChannel._queue = [];
return(_clip);
}
static function loadError(target_mc, errorCode, httpStatus) {
trace("MochiServices could not load.");
disconnect();
onError.apply(null, [errorCode]);
}
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.as2.MochiServices.__set__comChannelName(args.newChannel);
};
_listenChannel.allowDomain = function (d) {
return(true);
};
_listenChannel.allowInsecureDomain = _listenChannel.allowDomain;
_listenChannel._nextcallbackID = 0;
_listenChannel._callbacks = {};
_listenChannel.connect(_listenChannelName);
trace("Waiting for MochiAds services to connect...");
}
static function initComChannels() {
if (!_connected) {
_sendChannel.onStatus = function (infoObject) {
mochi.as2.MochiServices.onStatus(infoObject);
};
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_clip, version:getVersion()});
_listenChannel.onStatus = function (infoObject) {
mochi.as2.MochiServices.onStatus(infoObject);
};
_listenChannel.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];
};
_listenChannel.onEvent = function (pkg) {
switch (pkg.target) {
case "events" :
mochi.as2.MochiEvents.triggerEvent(pkg.event, pkg.args);
break;
case "coins" :
mochi.as2.MochiCoins.triggerEvent(pkg.event, pkg.args);
break;
case "sync" :
mochi.as2.MochiServices.servicesSync.triggerEvent(pkg.event, pkg.args);
}
};
_listenChannel.onError = function () {
mochi.as2.MochiServices.onError.apply(null, ["IOError"]);
};
trace("[SERVICES_API] connected!");
_connecting = false;
_connected = true;
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 = _listenChannel._callbacks[_local1.callbackID];
}
delete _listenChannel._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 ((args.options != null) && (args.options.onError != null)) {
args.options.onError.apply(null, ["NotConnected"]);
}
}
if (callbackMethod != null) {
args = {};
args.error = true;
args.errorCode = "NotConnected";
if ((callbackObject != null) && (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:_listenChannel._nextcallbackID});
} else {
if ((_clip == undefined) || (!_connecting)) {
trace("Error: MochiServices not connected. Please call MochiServices.connect(). Function: " + methodName);
handleError(args, callbackObject, callbackMethod);
flush(true);
return(undefined);
}
_sendChannel._queue.push({methodName:methodName, args:args, callbackID:_listenChannel._nextcallbackID});
}
_listenChannel._callbacks[_listenChannel._nextcallbackID] = {callbackObject:callbackObject, callbackMethod:callbackMethod};
_listenChannel._nextcallbackID++;
}
static function urlOptions() {
var _local5 = {};
var _local6;
if (_root._url.indexOf("mochiad_options") != -1) {
var _local2 = (_root._url.indexOf("mochiad_options") + "mochiad_options".length) + 1;
_local6 = _root._url.substr(_local2, _root._url.length);
} else if (_root.mochiad_options) {
_local6 = _root.mochiad_options;
}
if (_local6) {
var _local4 = _root.mochiad_options.split("&");
var _local2 = 0;
while (_local2 < _local4.length) {
var _local3 = _local4[_local2].split("=");
_local5[unescape(_local3[0])] = unescape(_local3[1]);
_local2++;
}
}
return(_local5);
}
static function warnID(bid, leaderboard) {
bid = bid.toLowerCase();
if (bid.length != 16) {
trace(("WARNING: " + (leaderboard ? "board" : "game")) + " ID is not the appropriate length");
return(undefined);
}
if (bid == "1e113c7239048b3f") {
if (leaderboard) {
trace("WARNING: Using testing board ID");
} else {
trace("WARNING: Using testing board ID as game ID");
}
return(undefined);
}
if (bid == "84993a1de4031cd8") {
if (leaderboard) {
trace("WARNING: Using testing game ID as board ID");
} else {
trace("WARNING: Using testing game ID");
}
return(undefined);
}
var _local1 = 0;
while (_local1 < bid.length) {
switch (bid.charAt(_local1)) {
case "0" :
case "1" :
case "2" :
case "3" :
case "4" :
case "5" :
case "6" :
case "7" :
case "8" :
case "9" :
case "a" :
case "b" :
case "c" :
case "d" :
case "e" :
case "f" :
break;
default :
trace("WARNING: Board ID contains illegal characters: " + bid);
return(undefined);
}
_local1++;
}
}
static function addLinkEvent(url, burl, btn, onClick) {
var timeout = 1500;
var t0 = getTimer();
var _local2 = new Object();
_local2.mav = getVersion();
_local2.swfv = btn.getSWFVersion() || 6;
_local2.swfurl = btn._url;
_local2.fv = System.capabilities.version;
_local2.os = System.capabilities.os;
_local2.lang = System.capabilities.language;
_local2.scres = (System.capabilities.screenResolutionX + "x") + System.capabilities.screenResolutionY;
var s = "?";
var _local3 = 0;
for (var _local6 in _local2) {
if (_local3 != 0) {
s = s + "&";
}
_local3++;
s = ((s + _local6) + "=") + escape(_local2[_local6]);
}
if (!(netupAttempted || (_connected))) {
var ping = btn.createEmptyMovieClip("ping", 777);
var _local7 = btn.createEmptyMovieClip("nettest", 778);
netupAttempted = true;
ping.loadMovie("http://x.mochiads.com/linkping.swf?t=" + getTimer());
_local7.onEnterFrame = function () {
if ((ping._totalframes > 0) && (ping._totalframes == ping._framesloaded)) {
delete this.onEnterFrame;
} else if ((getTimer() - t0) > timeout) {
delete this.onEnterFrame;
mochi.as2.MochiServices.netup = false;
}
};
}
var _local4 = btn.createEmptyMovieClip("clk", 1001);
_local4._alpha = 0;
_local4.beginFill(1044735);
_local4.moveTo(0, 0);
_local4.lineTo(0, btn._height);
_local4.lineTo(btn._width, btn._height);
_local4.lineTo(btn._width, 0);
_local4.lineTo(0, 0);
_local4.endFill();
_local4.onRelease = function () {
if (mochi.as2.MochiServices.netup) {
getURL (url + s, "_blank");
} else {
getURL (burl, "_blank");
}
if (onClick != undefined) {
onClick();
}
};
}
static function setContainer(clip) {
}
static function stayOnTop(clip) {
}
static var _servURL = "http://www.mochiads.com/static/lib/services/";
static var _services = "services.swf";
static var _mochiLC = "MochiLC.swf";
static var _listenChannelName = "__ms_";
static var _connecting = false;
static var _connected = false;
static var netup = true;
static var netupAttempted = false;
static var servicesSync = new mochi.as2.MochiSync();
}
Symbol 469 MovieClip [__Packages.mochi.as2.MochiEventDispatcher] Frame 0
class mochi.as2.MochiEventDispatcher
{
var eventTable;
function MochiEventDispatcher () {
eventTable = {};
}
function buildDelegate(thisObject, thatObject) {
var _local2 = {thisObject:thisObject, thatObject:thatObject};
if (thatObject != undefined) {
var funct = ((typeof(thatObject) == "string") ? (thisObject[thatObject]) : (thatObject));
_local2.delegate = function (args) {
funct.call(thisObject, args);
};
} else {
_local2.delegate = thisObject;
}
return(_local2);
}
function compareDelegate(d_A, d_B) {
if ((d_A.thisObject != d_B.thisObject) || (d_A.thatObject != d_B.thatObject)) {
return(false);
}
return(true);
}
function addEventListener(event, thisObject, thatObject) {
removeEventListener(event, thisObject, thatObject);
eventTable[event].push(buildDelegate(thisObject, thatObject));
}
function removeEventListener(event, thisObject, thatObject) {
var _local3 = buildDelegate(thisObject, thatObject);
if (eventTable[event] == undefined) {
eventTable[event] = [];
return(undefined);
}
for (var _local4 in eventTable[event]) {
if (!compareDelegate(eventTable[event][_local4], _local3)) {
continue;
}
eventTable[event].splice(Number(_local4), 1);
}
}
function triggerEvent(event, args) {
if (eventTable[event] == undefined) {
return(undefined);
}
for (var _local4 in eventTable[event]) {
eventTable[event][_local4].delegate(args);
}
}
}
Symbol 470 MovieClip [__Packages.mochi.as2.MochiEvents] Frame 0
class mochi.as2.MochiEvents
{
static var gameStart, levelStart;
function MochiEvents () {
}
static function getVersion() {
return(mochi.as2.MochiServices.getVersion());
}
static function startSession(achievementID) {
mochi.as2.MochiServices.send("events_beginSession", {achievementID:achievementID}, null, null);
}
static function trigger(kind, obj) {
if (obj == undefined) {
obj = {};
} else if (obj.kind != undefined) {
trace("WARNING: optional arguements package contains key 'id', it will be overwritten");
obj.kind = kind;
}
mochi.as2.MochiServices.send("events_triggerEvent", {eventObject:obj}, null, null);
}
static function setNotifications(clip, style) {
var _local2 = {};
for (var _local3 in style) {
_local2[_local3] = style[_local3];
}
_local2.clip = clip;
mochi.as2.MochiServices.send("events_setNotifications", _local2, null, null);
}
static function addEventListener(eventType, thisObject, thatObject) {
_dispatcher.addEventListener(eventType, thisObject, thatObject);
}
static function triggerEvent(eventType, args) {
_dispatcher.triggerEvent(eventType, args);
}
static function removeEventListener(eventType, thisObject, thatObject) {
_dispatcher.removeEventListener(eventType, thisObject, thatObject);
}
static function startGame() {
gameStart = new Date().getTime();
trigger("start_game");
}
static function endGame() {
var _local1 = new Date().getTime() - gameStart;
trigger("end_game", {time:_local1});
}
static function startLevel() {
levelStart = new Date().getTime();
trigger("start_level");
}
static function endLevel() {
var _local1 = new Date().getTime() - levelStart;
trigger("end_level", {time:_local1});
}
static var ACHIEVEMENT_RECEIVED = "AchievementReceived";
static var ALIGN_TOP_LEFT = "ALIGN_TL";
static var ALIGN_TOP = "ALIGN_T";
static var ALIGN_TOP_RIGHT = "ALIGN_TR";
static var ALIGN_LEFT = "ALIGN_L";
static var ALIGN_CENTER = "ALIGN_C";
static var ALIGN_RIGHT = "ALIGN_R";
static var ALIGN_BOTTOM_LEFT = "ALIGN_BL";
static var ALIGN_BOTTOM = "ALIGN_B";
static var ALIGN_BOTTOM_RIGHT = "ALIGN_BR";
static var FORMAT_SHORT = "ShortForm";
static var FORMAT_LONG = "LongForm";
static var _dispatcher = new mochi.as2.MochiEventDispatcher();
}
Symbol 471 MovieClip [__Packages.mochi.as2.MochiCoins] Frame 0
class mochi.as2.MochiCoins
{
function MochiCoins () {
}
static function getVersion() {
return(mochi.as2.MochiServices.getVersion());
}
static function showStore(options) {
mochi.as2.MochiServices.send("coins_showStore", {options:options}, null, null);
}
static function showItem(options) {
if ((options == undefined) || (typeof(options.item) != "string")) {
trace("ERROR: showItem call must pass an Object with an item key");
return(undefined);
}
mochi.as2.MochiServices.send("coins_showItem", {options:options}, null, null);
}
static function showVideo(options) {
if ((options == undefined) || (typeof(options.item) != "string")) {
trace("ERROR: showVideo call must pass an Object with an item key");
return(undefined);
}
mochi.as2.MochiServices.send("coins_showVideo", {options:options}, null, null);
}
static function showLoginWidget(options) {
mochi.as2.MochiServices.setContainer();
mochi.as2.MochiServices.stayOnTop();
mochi.as2.MochiServices.send("coins_showLoginWidget", {options:options});
}
static function hideLoginWidget() {
mochi.as2.MochiServices.send("coins_hideLoginWidget");
}
static function getStoreItems() {
mochi.as2.MochiServices.send("coins_getStoreItems");
}
static function getUserInfo() {
mochi.as2.MochiServices.send("coins_getUserInfo");
}
static function saveUserProperties(properties) {
mochi.as2.MochiServices.send("coins_saveUserProperties", properties);
}
static function addEventListener(eventType, delegate) {
_dispatcher.addEventListener(eventType, delegate);
}
static function triggerEvent(eventType, args) {
_dispatcher.triggerEvent(eventType, args);
}
static function removeEventListener(eventType, delegate) {
_dispatcher.removeEventListener(eventType, delegate);
}
static var LOGGED_IN = "LoggedIn";
static var LOGGED_OUT = "LoggedOut";
static var LOGIN_SHOW = "LoginShow";
static var LOGIN_HIDE = "LoginHide";
static var STORE_SHOW = "StoreShow";
static var STORE_HIDE = "StoreHide";
static var PROFILE_SHOW = "ProfileShow";
static var PROFILE_HIDE = "ProfileHide";
static var PROPERTIES_SAVED = "PropertySaved";
static var WIDGET_LOADED = "WidgetLoaded";
static var ITEM_OWNED = "ItemOwned";
static var ITEM_NEW = "ItemNew";
static var STORE_ITEMS = "StoreItems";
static var USER_INFO = "UserInfo";
static var ERROR = "Error";
static var IO_ERROR = "IOError";
static var NO_USER = "NoUser";
static var PROPERTIES_SIZE = "PropertiesSize";
static var _dispatcher = new mochi.as2.MochiEventDispatcher();
}
Symbol 472 MovieClip [__Packages.mochi.as2.MochiScores] Frame 0
class mochi.as2.MochiScores
{
static var boardID, onClose, onError;
function MochiScores () {
}
static function setBoardID(boardID) {
mochi.as2.MochiServices.warnID(boardID, true);
mochi.as2.MochiScores.boardID = boardID;
mochi.as2.MochiServices.send("scores_setBoardID", {boardID:boardID});
}
static function showLeaderboard(options) {
options.clip = mochi.as2.MochiServices.clip;
if ((options.clip != mochi.as2.MochiServices.__get__clip()) || (mochi.as2.MochiServices.__get__childClip()._target == undefined)) {
mochi.as2.MochiServices.disconnect();
trace("WARNING! This application is attempting to connect to MochiServices inside a showLeaderboard call!");
trace("make sure MochiServices.connect is called as early in the application runtime as possible.");
mochi.as2.MochiServices.connect(mochi.as2.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 (options.score instanceof TextField) {
if (options.score.text != undefined) {
options.score = options.score.text;
}
} else if (options.score instanceof mochi.as2.MochiDigits) {
options.score = options.score.value;
}
var _local1 = Number(options.score);
if (isNaN(_local1)) {
trace(("ERROR: Submitted score '" + options.score) + "' will be rejected, score is 'Not a Number'");
} else if ((_local1 == Number.NEGATIVE_INFINITY) || (_local1 == Number.POSITIVE_INFINITY)) {
trace(("ERROR: Submitted score '" + options.score) + "' will be rejected, score is an infinite");
} else {
if (Math.floor(_local1) != _local1) {
trace(("WARNING: Submitted score '" + options.score) + "' will be truncated");
}
options.score = _local1;
}
}
if (options.onDisplay != null) {
options.onDisplay();
} else {
mochi.as2.MochiServices.__get__clip().stop();
}
if (options.onClose != null) {
onClose = options.onClose;
} else {
onClose = function () {
mochi.as2.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.as2.MochiServices.warnID(options.boardID, true);
trace("[MochiScores] NOTE: Security Sandbox Violation errors below are normal");
mochi.as2.MochiServices.send("scores_showLeaderboard", {options:options}, null, doClose);
}
static function closeLeaderboard() {
mochi.as2.MochiServices.send("scores_closeLeaderboard");
}
static function getPlayerInfo(callbackObj, callbackMethod) {
mochi.as2.MochiServices.send("scores_getPlayerInfo", null, callbackObj, callbackMethod);
}
static function submit(score, name, callbackObj, callbackMethod) {
score = Number(score);
if (isNaN(score)) {
trace(("ERROR: Submitted score '" + String(score)) + "' will be rejected, score is 'Not a Number'");
} else if ((score == Number.NEGATIVE_INFINITY) || (score == Number.POSITIVE_INFINITY)) {
trace(("ERROR: Submitted score '" + String(score)) + "' will be rejected, score is an infinite");
} else {
if (Math.floor(score) != score) {
trace(("WARNING: Submitted score '" + String(score)) + "' will be truncated");
}
score = Number(score);
}
mochi.as2.MochiServices.send("scores_submit", {score:score, name:name}, callbackObj, callbackMethod);
}
static function requestList(callbackObj, callbackMethod) {
mochi.as2.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 473 MovieClip [__Packages.mochi.as2.MochiDigits] Frame 0
class mochi.as2.MochiDigits
{
var Encoder, Fragment, Sibling;
function MochiDigits (digit, index) {
Encoder = 0;
setValue(digit, index);
}
function get value() {
return(Number(toString()));
}
function set value(v) {
setValue(v);
//return(value);
}
function addValue(v) {
value = value + v;
}
function setValue(digit, index) {
var _local3 = digit.toString();
if ((index == undefined) || (isNaN(index))) {
index = 0;
}
Fragment = _local3.charCodeAt(index++) ^ Encoder;
if (index < _local3.length) {
Sibling = new mochi.as2.MochiDigits(digit, index);
} else {
Sibling = null;
}
reencode();
}
function reencode() {
var _local2 = int(2147483647 * Math.random());
Fragment = Fragment ^ (_local2 ^ Encoder);
Encoder = _local2;
}
function toString() {
var _local2 = String.fromCharCode(Fragment ^ Encoder);
return(((Sibling != null) ? (_local2.concat(Sibling.toString())) : (_local2)));
}
}
Symbol 271 MovieClip Frame 1
stop();
Symbol 271 MovieClip Frame 12
if (this.SideBar) {
this.gotoAndStop(1);
}
Symbol 275 MovieClip Frame 1
this._alpha = 50;
Instance of Symbol 232 MovieClip [Z_RedLightning] in Symbol 275 MovieClip Frame 1
onClipEvent (enterFrame) {
this._parent._x = (((this._parent._parent.DT1.text.length * 5) * this._parent.Type) - 7.5) + (this._parent.Type * 3);
this._width = this._parent._parent.DT1.text.length / 2;
if (this._width > 5) {
this._width = 5;
}
}
Instance of Symbol 275 MovieClip in Symbol 277 MovieClip Frame 1
onClipEvent (load) {
this.Type = -1;
}
Instance of Symbol 275 MovieClip in Symbol 277 MovieClip Frame 1
onClipEvent (load) {
this.Type = 1;
}
Instance of Symbol 275 MovieClip in Symbol 280 MovieClip Frame 1
onClipEvent (load) {
this.Type = -1;
}
Instance of Symbol 275 MovieClip in Symbol 280 MovieClip Frame 1
onClipEvent (load) {
this.Type = 1;
}
Symbol 285 MovieClip Frame 1
stop();
Instance of Symbol 226 MovieClip [Mana Bar Effect] in Symbol 285 MovieClip Frame 1
onClipEvent (load) {
this._visible = false;
}
Symbol 295 MovieClip Frame 1
stop();
Symbol 302 MovieClip Frame 1
stop();
Symbol 309 MovieClip Frame 2
stop();
Symbol 310 Button
on (press) {
getURL ("http://www.unboundedgames.com/", "_blank");
trace("1");
}
on (rollOver) {
_parent.snd7.start(0, 1);
this.LOGO._xscale = 100;
this.LOGO._yscale = 100;
with (_parent.Cursor) {
_parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
this.LOGO._xscale = 90;
this.LOGO._yscale = 90;
with (_parent.Cursor) {
_parent.Cursor.Core._visible = false;
}
}
Symbol 328 MovieClip Frame 1
stop();
Symbol 336 Button
on (release) {
if ((((((_global.GameOver != true) && (_global.Shuffle < 1)) && (_global.BlocksFalling < 1)) && (_global.BlocksSliding < 1)) && (_global.Explosions < 1)) && (_global.Mana >= 75)) {
if (_global.Health < 25) {
_parent.snd25.start(0, 1);
_global.Mana = _global.Mana - 75;
_global.Health = _global.Health + 3;
if (_global.Health > 25) {
_global.Health = 25;
}
} else {
HealthBar.play();
_parent.snd24.start(0, 1);
}
} else if (_global.Mana < 75) {
ManaBar.play();
}
}
on (rollOver) {
Spell.gotoAndStop(5);
_parent.snd7.start(0, 1);
with (_parent.Cursor) {
_parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
Spell.gotoAndStop(1);
with (_parent.Cursor) {
_parent.Cursor.Core._visible = false;
}
}
Symbol 340 Button
on (release) {
if ((((((_global.GameOver != true) && (_global.Shuffle < 1)) && (_global.BlocksFalling < 1)) && (_global.BlocksSliding < 1)) && (_global.Explosions < 1)) && (_global.Mana >= 10)) {
_global.Mana = _global.Mana - 10;
_global.Shuffle = 30;
this._parent.snd9.start(0, 1);
} else if (_global.Mana < 10) {
ManaBar.play();
}
}
on (rollOver) {
Spell.gotoAndStop(2);
_parent.snd7.start(0, 1);
with (_parent.Cursor) {
_parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
Spell.gotoAndStop(1);
with (_parent.Cursor) {
_parent.Cursor.Core._visible = false;
}
}
Symbol 342 Button
on (rollOver) {
_parent.snd7.start(0, 1);
with (_parent.Cursor) {
_parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
with (_parent.Cursor) {
_parent.Cursor.Core._visible = false;
}
}
Symbol 348 Button
on (release) {
if ((((((_global.GameOver != true) && (_global.Shuffle < 1)) && (_global.BlocksFalling < 1)) && (_global.BlocksSliding < 1)) && (_global.Explosions < 1)) && (_global.Mana >= 5)) {
_global.Mana = _global.Mana - 5;
_global.GravX = (Math.floor(Math.random() * 13) * 25) + 50;
_global.GravY = (Math.floor(Math.random() * 13) * 25) + 50;
this._parent.GravPoint._x = _global.GravX;
this._parent.GravPoint._y = _global.GravY;
this._parent.snd10.start(0, 1);
} else if (_global.Mana < 5) {
ManaBar.play();
}
}
on (rollOver) {
Spell.gotoAndStop(3);
_parent.snd7.start(0, 1);
with (_parent.Cursor) {
_parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
Spell.gotoAndStop(1);
with (_parent.Cursor) {
_parent.Cursor.Core._visible = false;
}
}
Symbol 351 Button
on (release) {
if ((((((_global.GameOver != true) && (_global.Shuffle < 1)) && (_global.BlocksFalling < 1)) && (_global.BlocksSliding < 1)) && (_global.Explosions < 1)) && (_global.Mana >= 50)) {
_global.Mana = _global.Mana - 50;
X = _global.GravX;
Y = _global.GravY;
Target = this._parent;
_global.TransType = Math.ceil(Math.random() * _global.Colors);
Type = _global.TransType;
_global.Explosions++;
if (Type != 7) {
this._parent.snd2.start(0, 1);
} else {
this._parent.snd10.start(0, 1);
}
var Symbol = Target.Trans.attachMovie("Transmute", "Tr" + _global.cDepth, _global.cDepth);
_global.cDepth++;
Symbol._x = X;
Symbol._xscale = 100;
Symbol._y = Y;
Symbol._yscale = 100;
Symbol.gotoAndStop(Type);
Symbol.onEnterFrame = function () {
this._xscale = this._xscale + 75;
this._yscale = this._yscale + 75;
this._rotation = this._rotation + 25;
if (this._xscale > 650) {
_global.Explosions--;
this.removeMovieClip();
}
};
} else if (_global.Mana < 50) {
ManaBar.play();
}
}
on (rollOver) {
Spell.gotoAndStop(4);
_parent.snd7.start(0, 1);
with (_parent.Cursor) {
_parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
Spell.gotoAndStop(1);
with (_parent.Cursor) {
_parent.Cursor.Core._visible = false;
}
}
Instance of Symbol 277 MovieClip in Symbol 352 MovieClip Frame 1
onClipEvent (load) {
this.Score = 0;
}
onClipEvent (enterFrame) {
if (this.Score > _global.Score) {
this.Score = _global.Score;
}
if (this.Score < (_global.Score - 500)) {
this.Score = this.Score + Math.round((_global.Score - this.Score) / 6);
} else if (this.Score < _global.Score) {
this.Score = _global.Score;
}
DT1.text = this.Score;
}
Instance of Symbol 280 MovieClip in Symbol 352 MovieClip Frame 1
onClipEvent (enterFrame) {
DT1.text = _global.Level;
}
Instance of Symbol 295 MovieClip "ManaBar" in Symbol 352 MovieClip Frame 1
onClipEvent (enterFrame) {
if (_global.Mana > 100) {
_global.Mana = 100;
} else if (_global.Mana < 0) {
_global.Mana = 0;
}
CC.text = _global.Mana + " / 100";
mask_mc._x = _global.Mana * 1.25;
if (_global.Mana > 66) {
Bar.gotoAndStop(1);
} else if (_global.Mana > 33) {
Bar.gotoAndStop(2);
} else {
Bar.gotoAndStop(3);
}
}
Instance of Symbol 302 MovieClip "HealthBar" in Symbol 352 MovieClip Frame 1
onClipEvent (enterFrame) {
if (_global.Health != this.Temp) {
this.play();
}
if (_global.Health > ((_global.MaxHealth * 2) / 3)) {
Bar.gotoAndStop(1);
} else if (_global.Health > (_global.MaxHealth / 3)) {
Bar.gotoAndStop(2);
} else {
Bar.gotoAndStop(3);
}
BT.text = (_global.Health + " / ") + _global.MaxHealth;
Bar._x = ((_global.Health * 1.25) * 100) / _global.MaxHealth;
this.Temp = _global.Health;
}
Instance of Symbol 271 MovieClip in Symbol 352 MovieClip Frame 1
onClipEvent (load) {
this.SideBar = true;
}
onClipEvent (enterFrame) {
if ((Math.random() * 300) < 1) {
this.play();
}
}
Instance of Symbol 309 MovieClip in Symbol 352 MovieClip Frame 1
onClipEvent (enterFrame) {
this.gotoAndStop(_global.Difficulty);
}
Instance of Symbol 333 MovieClip in Symbol 352 MovieClip Frame 1
onClipEvent (enterFrame) {
if (_global.TimeLeft > ((_global.BonusTime * 2) / 3)) {
Bar.gotoAndStop(1);
} else if (_global.TimeLeft > (_global.BonusTime / 3)) {
Bar.gotoAndStop(2);
} else {
Bar.gotoAndStop(3);
}
BT.text = (_global.TimeLeft + " / ") + _global.BonusTime;
Bar._x = ((_global.TimeLeft * 1.25) * 100) / _global.BonusTime;
}
Symbol 354 Button
on (release) {
if ((_global.Playing != true) && (_global.Tutorial != true)) {
_global.Playing = true;
_global.ComboTarget = 3;
_global.Colors = 1.75;
_global.Difficulty = 1;
_global.Plays++;
Mouse.hide();
_global.Mode = "Easy";
trace(_global.Plays);
if (_global.Plays > 1) {
_global.SummonAd = true;
}
}
}
on (rollOver) {
with (_parent.Cursor) {
if (_global.Playing != true) {
_parent.snd7.start(0, 1);
}
_parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
with (_parent.Cursor) {
_parent.Cursor.Core._visible = false;
}
}
Symbol 355 Button
on (release) {
if ((_global.Playing != true) && (_global.Tutorial != true)) {
_global.Playing = true;
_global.ComboTarget = 3;
_global.Colors = 2.5;
_global.Difficulty = 2;
_global.Plays++;
Mouse.hide();
_global.Mode = "Normal";
if (_global.Plays > 1) {
_global.SummonAd = true;
}
}
}
on (rollOver) {
with (_parent.Cursor) {
if (_global.Playing != true) {
_parent.snd7.start(0, 1);
}
_parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
with (_parent.Cursor) {
_parent.Cursor.Core._visible = false;
}
}
Symbol 356 Button
on (release) {
if ((_global.Playing != true) && (_global.Tutorial != true)) {
_global.Playing = true;
_global.ComboTarget = 4;
_global.Colors = 3.5;
_global.Difficulty = 3;
_global.Plays++;
Mouse.hide();
_global.Mode = "Hard";
if (_global.Plays > 1) {
_global.SummonAd = true;
}
}
}
on (rollOver) {
with (_parent.Cursor) {
if (_global.Playing != true) {
_parent.snd7.start(0, 1);
}
_parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
with (_parent.Cursor) {
_parent.Cursor.Core._visible = false;
}
}
Symbol 359 Button
on (release) {
if (_global.Playing != true) {
_global.Tutorial = true;
Mouse.hide();
}
}
on (rollOver) {
with (_parent.Cursor) {
if (_global.Playing != true) {
_parent.snd7.start(0, 1);
}
_parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
with (_parent.Cursor) {
_parent.Cursor.Core._visible = false;
}
}
Symbol 362 Button
on (release) {
if ((_global.Playing != true) && (_global.Tutorial != true)) {
getURL ("http://www.unboundedgames.com/", "_blank");
}
}
on (rollOver) {
with (_parent.Cursor) {
if (_global.Playing != true) {
_parent.snd7.start(0, 1);
}
_parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
with (_parent.Cursor) {
_parent.Cursor.Core._visible = false;
}
}
Instance of Symbol 175 MovieClip "Symbol" in Symbol 370 MovieClip Frame 1
onClipEvent (enterFrame) {
this.gotoAndStop(7);
}
Instance of Symbol 102 MovieClip in Symbol 373 MovieClip Frame 1
onClipEvent (enterFrame) {
this._rotation = this._rotation + 15;
}
Symbol 381 Button
on (release) {
this.gotoAndStop(2);
}
on (rollOver) {
with (_parent.Cursor) {
if (_global.Tutorial == true) {
_parent.snd7.start(0, 1);
}
_parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
with (_parent.Cursor) {
_parent.Cursor.Core._visible = false;
}
}
Symbol 388 Button
on (release) {
this.gotoAndStop(3);
}
on (rollOver) {
with (_parent.Cursor) {
if (_global.Tutorial == true) {
_parent.snd7.start(0, 1);
}
_parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
with (_parent.Cursor) {
_parent.Cursor.Core._visible = false;
}
}
Symbol 392 Button
on (release) {
this.gotoAndStop(1);
}
on (rollOver) {
with (_parent.Cursor) {
if (_global.Tutorial == true) {
_parent.snd7.start(0, 1);
}
_parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
with (_parent.Cursor) {
_parent.Cursor.Core._visible = false;
}
}
Symbol 397 Button
on (release) {
_global.Tutorial = false;
}
on (rollOver) {
with (_parent.Cursor) {
if (_global.Tutorial == true) {
_parent.snd7.start(0, 1);
}
_parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
with (_parent.Cursor) {
_parent.Cursor.Core._visible = false;
}
}
Symbol 401 Button
on (release) {
this.gotoAndStop(2);
}
on (rollOver) {
with (_parent.Cursor) {
if (_global.Tutorial == true) {
_parent.snd7.start(0, 1);
}
_parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
with (_parent.Cursor) {
_parent.Cursor.Core._visible = false;
}
}
Symbol 402 Button
on (rollOver) {
Spell.gotoAndStop(2);
_parent.snd7.start(0, 1);
with (_parent.Cursor) {
_parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
Spell.gotoAndStop(1);
with (_parent.Cursor) {
_parent.Cursor.Core._visible = false;
}
}
Symbol 403 Button
on (rollOver) {
Spell.gotoAndStop(3);
_parent.snd7.start(0, 1);
with (_parent.Cursor) {
_parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
Spell.gotoAndStop(1);
with (_parent.Cursor) {
_parent.Cursor.Core._visible = false;
}
}
Symbol 404 Button
on (rollOver) {
Spell.gotoAndStop(4);
_parent.snd7.start(0, 1);
with (_parent.Cursor) {
_parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
Spell.gotoAndStop(1);
with (_parent.Cursor) {
_parent.Cursor.Core._visible = false;
}
}
Instance of Symbol 209 MovieClip in Symbol 406 MovieClip Frame 1
onClipEvent (load) {
this.mouth.Smile = true;
}
Symbol 407 Button
on (rollOver) {
Spell.gotoAndStop(5);
_parent.snd7.start(0, 1);
with (_parent.Cursor) {
_parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
Spell.gotoAndStop(1);
with (_parent.Cursor) {
_parent.Cursor.Core._visible = false;
}
}
Symbol 408 MovieClip Frame 1
stop();
Symbol 408 MovieClip Frame 2
stop();
Symbol 408 MovieClip Frame 3
stop();
Symbol 423 MovieClip Frame 1
stop();
Symbol 423 MovieClip Frame 13
_global.SubmitScore = true;
Symbol 434 Button
on (release) {
getURL ("http://www.unboundedgames.com/", "_blank");
}
on (rollOver) {
with (_parent.Cursor) {
_parent.snd7.start(0, 1);
_parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
with (_parent.Cursor) {
_parent.Cursor.Core._visible = false;
}
}
Symbol 437 Button
on (release) {
if ((_global.Playing != true) && (_global.Tutorial != true)) {
getURL ("http://cdn.mochiads.com/c/g/colors-in-the-sky-2.zip", "_self");
getURL ("http://cdn.mochiads.com/c/g/colors-in-the-sky-2.zip", "_blank");
getURL ("http://cdn.mochiads.com/c/g/colors-in-the-sky-2.zip", "_parent");
}
}
on (rollOver) {
with (_parent.Cursor) {
if (_global.Playing != true) {
_parent.snd7.start(0, 1);
}
_parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
with (_parent.Cursor) {
_parent.Cursor.Core._visible = false;
}
}
Symbol 438 MovieClip Frame 1
function openPop(u) {
trace("OP");
newWindow = window.open(u, "popup", "height=540,width=790,toolbar=no,scrollbars=no");
}
Symbol 447 Button
on (press) {
_global.LeaderBoard = true;
_global.GameOver = false;
if (_global.Difficulty == 1) {
_root.kongregateStats.submit("Easy", _global.Score);
}
if (_global.Difficulty == 2) {
_root.kongregateStats.submit("Normal", _global.Score);
}
if (_global.Difficulty == 3) {
_root.kongregateStats.submit("Hard", _global.Score);
}
}
on (rollOver) {
with (_parent.Cursor) {
if (_global.GameOver == true) {
_parent.snd7.start(0, 1);
}
_parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
with (_parent.Cursor) {
_parent.Cursor.Core._visible = false;
}
}
Symbol 451 Button
on (press) {
_global.GameOver = false;
}
on (rollOver) {
with (_parent.Cursor) {
if (_global.GameOver == true) {
_parent.snd7.start(0, 1);
}
_parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
with (_parent.Cursor) {
_parent.Cursor.Core._visible = false;
}
}
Symbol 455 Button
on (release) {
if (_global.GameOver) {
getURL ("http://www.unboundedgames.com/", "_blank");
}
}
on (rollOver) {
with (_parent.Cursor) {
if (_global.GameOver == true) {
_parent.snd7.start(0, 1);
}
_parent.Cursor.Core._visible = true;
}
}
on (rollOut) {
with (_parent.Cursor) {
_parent.Cursor.Core._visible = false;
}
}
Symbol 460 MovieClip Frame 1
this.onLoad = function () {
if (_global.SoundOn) {
this.gotoAndStop(1);
} else {
this.gotoAndStop(2);
}
};
this.onEnterFrame = function () {
if (_global.SoundOn) {
this.gotoAndStop(1);
} else {
this.gotoAndStop(2);
}
};
Symbol 462 Button
on (press) {
toggleSound();
}
on (rollOver) {
with (Cursor) {
this.soundButton._xscale = 105;
this.soundButton._yscale = 105;
_parent.snd7.start(0, 1);
Cursor.Core._visible = true;
}
}
on (rollOut) {
with (Cursor) {
this.soundButton._xscale = 100;
this.soundButton._yscale = 100;
Cursor.Core._visible = false;
}
}
Symbol 465 MovieClip Frame 1
stop();
Symbol 465 MovieClip Frame 3
_global.LeaderBoard = false;
_global.ShowingBoard = false;
_parent.Cursor._visible = true;
trace("Clip played");
Mouse.hide();