Frame 1
function moveOn() {
__com_mochibot__("4bd29dfd", this, 10301, true);
nextFrame();
}
function __com_mochibot__(swfid, mc, lv, trk) {
var x;
var g;
var s;
var fv;
var sb;
var u;
var res;
var mb;
var mbc;
var pv;
mb = "__mochibot__";
mbc = "mochibot.com";
g = (_global ? (_global) : (_level0._root));
if (g[mb + swfid]) {
return(g[mb + swfid]);
}
s = System.security;
x = mc._root.getSWFVersion;
fv = (x ? (mc.getSWFVersion()) : ((_global ? 6 : 5)));
if (!s) {
s = {};
}
sb = s.sandboxType;
if (sb == "localWithFile") {
return(null);
}
x = s.allowDomain;
if (x) {
s.allowDomain(mbc);
}
x = s.allowInsecureDomain;
if (x) {
s.allowInsecureDomain(mbc);
}
pv = ((fv == 5) ? (getVersion()) : (System.capabilities.version));
u = (((((((((((("http://" + mbc) + "/my/core.swf?mv=8&fv=") + fv) + "&v=") + escape(pv)) + "&swfid=") + escape(swfid)) + "&l=") + lv) + "&f=") + mc) + (sb ? ("&sb=" + sb) : "")) + (trk ? "&t=1" : "");
lv = ((fv > 6) ? (mc.getNextHighestDepth()) : ((g[mb + "level"] ? (g[mb + "level"] + 1) : (lv))));
g[mb + "level"] = lv;
if (fv == 5) {
res = "_level" + lv;
if (!eval (res)) {
loadMovieNum (u, lv);
}
} else {
res = mc.createEmptyMovieClip(mb + swfid, lv);
res.loadMovie(u);
}
return(res);
}
stop();
MochiAd.showPreGameAd({id:"e7ef81789aff96d2", res:"550x400", background:16712447, color:16711680, outline:16777215, no_bg:true, ad_finished:function () {
moveOn();
}});
Frame 2
stop();
mochi.MochiServices.connect("e7ef81789aff96d2");
var _mochiads_game_id = "e7ef81789aff96d2";
Frame 3
_root.gotoAndStop(4);
Frame 4
function onEnterFrame() {
var _local2 = new ContextMenu();
_local2.hideBuiltInItems();
var _local4 = new ContextMenuItem("Join Mochiads !", mySpin);
_local2.customItems.push(_local4);
mySpin = function () {
getURL ("https://www.mochiads.com/r/d12b91b9f5860432", blank);
};
var _local3 = new ContextMenuItem("Play More Games!", myLink);
_local2.customItems.push(_local3);
myLink = function () {
getURL ("http://www.banana-box.co.uk", blank);
};
_root.menu = _local2;
bMenuSet = true;
}
function beginGame() {
loadSaveGame();
attachMovie("title", "titleScr", 0, {_x:275, _y:200});
titleScr._alpha = 0;
attachMovie("mPointer", "Pointer", _root.getNextHighestDepth(), {_x:0, _y:0});
Mouse.hide();
if (gameLevel != undefined) {
removeMC(gameLevel);
}
}
function newGame(flag) {
playerScore = 0;
levelScore = 0;
playerLevel = flag;
levelTime = 0;
playerTotalTime = 0;
reds = 0;
blues = 0;
greens = 0;
cyans = 0;
magentas = 0;
yellows = 0;
bonusScore = 0;
retries = 5;
tested = 0;
rankCount = 0;
bLvl1 = true;
bLvl2 = false;
bLvl3 = false;
bLvl4 = false;
bLvl5 = false;
bLvl6 = false;
bLvl7 = false;
bLvl8 = false;
levelBalls = new Array();
levelStars = new Array();
targetBall = undefined;
nextTarget = undefined;
buildLevel(playerLevel);
clock = undefined;
flashPointer = undefined;
}
function gotoLevel(num) {
_root.bonusScore = 0;
_root.levelScore = 0;
attachMovie("level1", "gameLevel", 0, {_x:0, _y:0});
gameLevel.gotoAndStop((num * 2) - 1);
}
function buildLevel(num) {
if (num == 0) {
attachMovie("level" + num, "gameLevel", 0, {_x:0, _y:0});
gameLevel.gotoAndStop(1);
} else {
attachMovie("levelSelector", "selector", 0, {_x:275, _y:200});
selector.gotoAndStop(1);
}
}
function getAction(ball) {
Mouse.hide();
if ((targetBall != undefined) && (targetBall != ball)) {
tempBall = targetBall;
targetBall = undefined;
return(tempBall);
}
targetBall = ball;
return(null);
}
function testColours(ballA, ballB) {
newBall = undefined;
Mouse.hide();
switch (ballA) {
case "red" :
switch (ballB) {
case "blue" :
newBall = "magenta";
break;
case "green" :
newBall = "yellow";
break;
case "red" :
newBall = "red";
break;
case "black" :
newBall = "magenta";
break;
case "white" :
newBall = "yellow";
}
break;
case "blue" :
switch (ballB) {
case "blue" :
newBall = "blue";
break;
case "green" :
newBall = "cyan";
break;
case "red" :
newBall = "magenta";
break;
case "black" :
newBall = "cyan";
break;
case "white" :
newBall = "magenta";
}
break;
case "green" :
switch (ballB) {
case "blue" :
newBall = "cyan";
break;
case "green" :
newBall = "green";
break;
case "red" :
newBall = "yellow";
break;
case "black" :
newBall = "yellow";
break;
case "white" :
newBall = "cyan";
}
break;
case "yellow" :
switch (ballB) {
case "cyan" :
newBall = "green";
break;
case "magenta" :
newBall = "red";
break;
case "yellow" :
newBall = "yellow";
break;
case "black" :
newBall = "red";
break;
case "white" :
newBall = "green";
}
break;
case "cyan" :
switch (ballB) {
case "cyan" :
newBall = "cyan";
break;
case "magenta" :
newBall = "blue";
break;
case "yellow" :
newBall = "green";
break;
case "black" :
newBall = "green";
break;
case "white" :
newBall = "blue";
}
break;
case "magenta" :
switch (ballB) {
case "cyan" :
newBall = "blue";
break;
case "magenta" :
newBall = "magenta";
break;
case "yellow" :
newBall = "red";
break;
case "black" :
newBall = "blue";
break;
case "white" :
newBall = "red";
}
break;
case "white" :
switch (ballB) {
case "cyan" :
newBall = "blue";
break;
case "magenta" :
newBall = "red";
break;
case "yellow" :
newBall = "green";
break;
case "red" :
newBall = "yellow";
break;
case "blue" :
newBall = "magenta";
break;
case "green" :
newBall = "cyan";
break;
case "white" :
newBall = "white";
}
break;
case "black" :
switch (ballB) {
case "cyan" :
newBall = "green";
break;
case "magenta" :
newBall = "blue";
break;
case "yellow" :
newBall = "red";
break;
case "red" :
newBall = "magenta";
break;
case "blue" :
newBall = "cyan";
break;
case "green" :
newBall = "yellow";
break;
case "black" :
newBall = "black";
}
}
return(newBall);
}
function deleteBall(ball) {
levelScore = levelScore + ball.score;
for (i in levelBalls) {
if (levelBalls[i] == ball) {
levelBalls.splice(i, 1);
}
}
popper.start();
removeMC(ball);
checkLevelBalls();
}
function createBall(xpos, ypos, ballColour) {
newColourBall = attachMovie(ballColour + "Ball", ((ballColour + _root.getNextHighestDepth()) + "_") + Math.floor(xpos * ypos), _root.getNextHighestDepth(), {_x:xpos, _y:ypos});
newColourBall.ballColour = ballColour;
myShadow = new flash.filters.DropShadowFilter(5, 278, 0, 1, 16, 16, 1, 2, false, false, false);
newColourBall.filters = [myShadow];
Pointer.swapDepths(newColourBall);
levelBalls[levelBalls.length + 1] = newColourBall;
}
function createMagic(xpos, ypos, ballColour) {
attachMovie("smokePuff", (("sfx" + _root.getNextHighestDepth()) + "_") + Math.floor(xpos * ypos), _root.getNextHighestDepth(), {_x:xpos, _y:ypos, _xscale:120, _yscale:120, _alpha:50});
newColourBall = attachMovie("magic_" + ballColour, ((ballColour + _root.getNextHighestDepth()) + "_") + Math.floor(xpos * ypos), _root.getNextHighestDepth(), {_x:xpos, _y:ypos});
}
function checkLevelBalls() {
var _local1 = 0;
for (var _local2 in levelBalls) {
if (levelBalls[_local2].ballColour != undefined) {
_local1 = _local1 + 1;
}
}
if (_local1 <= 0) {
levelChange();
}
if (_local1 == 2) {
testOutcome();
}
if ((_local1 == 1) && (tested == 0)) {
checkTimer = setInterval(checkTime, 1000);
}
if ((_local1 == 1) && (tested == 1)) {
testOutcome();
}
}
function testOutcome() {
var _local1 = new Array();
for (var _local2 in levelBalls) {
if (levelBalls[_local2] != undefined) {
_local1[_local1.length] = levelBalls[_local2].ballColour;
}
}
var _local3 = testColours(_local1[0], _local1[1]);
if (_local3 == undefined) {
retryLevel();
}
}
function levelChange() {
clearInterval(checkTimer);
playerScore = playerScore + levelScore;
rankMulti = rankCount;
rankCount = 0;
tested = 0;
cleanArrays();
gameLevel.nextFrame();
}
function changeArea(flag) {
_root.removeMC(gameLevel);
clearInterval(checkTimer);
cleanArrays();
rankCount = 0;
_root.buildLevel(flag);
}
function removeMC(mc) {
var _local2 = _root.getInstanceAtDepth(0);
mc.swapDepths(0);
mc.removeMovieClip();
if (_local2 != undefined) {
_local2.swapDepths(0);
}
}
function createFX(actor) {
var _local2 = 1;
while (_local2 < 20) {
newParticle = attachMovie("particle", "part" + _root.getNextHighestDepth(), _root.getNextHighestDepth(), {_x:actor._x + ((Math.random() * 20) - 10), _y:actor._y + ((Math.random() * 20) - 10)});
newParticle.dirx = -4 + (Math.random() * 8);
newParticle.diry = (-Math.random()) * 15;
newParticle.Kullor = actor.ballColour;
_local2++;
}
}
function createTrail(actor) {
newTrail = attachMovie("trail", "part" + _root.getNextHighestDepth(), _root.getNextHighestDepth(), {_x:actor._x, _y:actor._y});
newTrail.Kullor = actor.ballColour;
}
function retryLevel() {
this.currentStage = gameLevel._currentframe;
clearInterval(checkTimer);
cleanArrays();
rankCount = 0;
tested = 0;
gameLevel.gotoAndStop(109);
}
function timeOut() {
this.currentStage = gameLevel._currentframe;
clearInterval(checkTimer);
cleanArrays();
if (retries > 0) {
tested = 0;
gameLevel.gotoAndStop(108);
} else {
tested = 0;
gameLevel.gotoAndStop(110);
}
}
function cleanArrays() {
for (var _local2 in levelBalls) {
removeMC(levelBalls[_local2]);
}
levelStars.removeAll();
levelBalls.removeAll();
for (var _local1 in levelBalls) {
}
}
function getTotalScore() {
var _local1 = 0;
i = 1;
while (i < 30) {
_local1 = _local1 + Number(levelScores[i]);
i++;
}
return(_local1);
}
function loadSaveGame() {
levelScores = new Array();
userData = SharedObject.getLocal("kullorsm");
if (userData.data.bPlayed != undefined) {
levelScores[0] = "scores";
levelScores[1] = userData.data.lvl_1;
levelScores[2] = userData.data.lvl_2;
levelScores[3] = userData.data.lvl_3;
levelScores[4] = userData.data.lvl_4;
levelScores[5] = userData.data.lvl_5;
levelScores[6] = userData.data.lvl_6;
levelScores[7] = userData.data.lvl_7;
levelScores[8] = userData.data.lvl_8;
levelScores[9] = userData.data.lvl_9;
levelScores[10] = userData.data.lvl_10;
levelScores[11] = userData.data.lvl_11;
levelScores[12] = userData.data.lvl_12;
levelScores[13] = userData.data.lvl_13;
levelScores[14] = userData.data.lvl_14;
levelScores[15] = userData.data.lvl_15;
levelScores[16] = userData.data.lvl_16;
levelScores[17] = userData.data.lvl_17;
levelScores[18] = userData.data.lvl_18;
levelScores[19] = userData.data.lvl_19;
levelScores[20] = userData.data.lvl_20;
levelScores[21] = userData.data.lvl_21;
levelScores[22] = userData.data.lvl_22;
levelScores[23] = userData.data.lvl_23;
levelScores[24] = userData.data.lvl_24;
levelScores[25] = userData.data.lvl_25;
levelScores[26] = userData.data.lvl_26;
levelScores[27] = userData.data.lvl_27;
levelScores[28] = userData.data.lvl_28;
levelScores[29] = userData.data.lvl_29;
levelScores[30] = userData.data.lvl_30;
levelScores[31] = userData.data.lvl_31;
levelScores[32] = userData.data.lvl_32;
levelScores[33] = userData.data.lvl_33;
levelScores[34] = userData.data.lvl_34;
levelScores[35] = userData.data.lvl_35;
levelScores[36] = userData.data.lvl_36;
levelScores[37] = userData.data.lvl_37;
levelScores[38] = userData.data.lvl_38;
levelScores[39] = userData.data.lvl_39;
levelScores[40] = userData.data.lvl_40;
levelScores[41] = userData.data.lvl_41;
levelScores[42] = userData.data.lvl_42;
levelScores[43] = userData.data.lvl_43;
levelScores[44] = userData.data.lvl_44;
levelScores[45] = userData.data.lvl_45;
levelScores[46] = userData.data.lvl_46;
levelScores[47] = userData.data.lvl_47;
levelScores[48] = userData.data.lvl_48;
} else {
userData.data.bPlayed = true;
userData.data.lvl_1 = 0;
userData.data.lvl_2 = 0;
userData.data.lvl_3 = 0;
userData.data.lvl_4 = 0;
userData.data.lvl_5 = 0;
userData.data.lvl_6 = 0;
userData.data.lvl_7 = 0;
userData.data.lvl_8 = 0;
userData.data.lvl_9 = 0;
userData.data.lvl_10 = 0;
userData.data.lvl_11 = 0;
userData.data.lvl_12 = 0;
userData.data.lvl_13 = 0;
userData.data.lvl_14 = 0;
userData.data.lvl_15 = 0;
userData.data.lvl_16 = 0;
userData.data.lvl_17 = 0;
userData.data.lvl_18 = 0;
userData.data.lvl_19 = 0;
userData.data.lvl_20 = 0;
userData.data.lvl_21 = 0;
userData.data.lvl_22 = 0;
userData.data.lvl_23 = 0;
userData.data.lvl_24 = 0;
userData.data.lvl_25 = 0;
userData.data.lvl_26 = 0;
userData.data.lvl_27 = 0;
userData.data.lvl_28 = 0;
userData.data.lvl_29 = 0;
userData.data.lvl_30 = 0;
userData.data.lvl_31 = 0;
userData.data.lvl_32 = 0;
userData.data.lvl_33 = 0;
userData.data.lvl_34 = 0;
userData.data.lvl_35 = 0;
userData.data.lvl_36 = 0;
userData.data.lvl_37 = 0;
userData.data.lvl_38 = 0;
userData.data.lvl_39 = 0;
userData.data.lvl_40 = 0;
userData.data.lvl_41 = 0;
userData.data.lvl_42 = 0;
userData.data.lvl_43 = 0;
userData.data.lvl_44 = 0;
userData.data.lvl_45 = 0;
userData.data.lvl_46 = 0;
userData.data.lvl_47 = 0;
userData.data.lvl_48 = 0;
levelScores[1] = 0;
levelScores[2] = 0;
levelScores[3] = 0;
levelScores[4] = 0;
levelScores[5] = 0;
levelScores[6] = 0;
levelScores[7] = 0;
levelScores[8] = 0;
levelScores[9] = 0;
levelScores[10] = 0;
levelScores[11] = 0;
levelScores[12] = 0;
levelScores[13] = 0;
levelScores[14] = 0;
levelScores[15] = 0;
levelScores[16] = 0;
levelScores[17] = 0;
levelScores[18] = 0;
levelScores[19] = 0;
levelScores[20] = 0;
levelScores[21] = 0;
levelScores[22] = 0;
levelScores[23] = 0;
levelScores[24] = 0;
levelScores[25] = 0;
levelScores[26] = 0;
levelScores[27] = 0;
levelScores[28] = 0;
levelScores[29] = 0;
levelScores[30] = 0;
levelScores[31] = 0;
levelScores[32] = 0;
levelScores[33] = 0;
levelScores[34] = 0;
levelScores[35] = 0;
levelScores[36] = 0;
levelScores[37] = 0;
levelScores[38] = 0;
levelScores[39] = 0;
levelScores[40] = 0;
levelScores[41] = 0;
levelScores[42] = 0;
levelScores[43] = 0;
levelScores[44] = 0;
levelScores[45] = 0;
levelScores[46] = 0;
levelScores[47] = 0;
levelScores[48] = 0;
}
}
function saveScores() {
userData.data.lvl_1 = levelScores[1];
userData.data.lvl_2 = levelScores[2];
userData.data.lvl_3 = levelScores[3];
userData.data.lvl_4 = levelScores[4];
userData.data.lvl_5 = levelScores[5];
userData.data.lvl_6 = levelScores[6];
userData.data.lvl_7 = levelScores[7];
userData.data.lvl_8 = levelScores[8];
userData.data.lvl_9 = levelScores[9];
userData.data.lvl_10 = levelScores[10];
userData.data.lvl_11 = levelScores[11];
userData.data.lvl_12 = levelScores[12];
userData.data.lvl_13 = levelScores[13];
userData.data.lvl_14 = levelScores[14];
userData.data.lvl_15 = levelScores[15];
userData.data.lvl_16 = levelScores[16];
userData.data.lvl_17 = levelScores[17];
userData.data.lvl_18 = levelScores[18];
userData.data.lvl_19 = levelScores[19];
userData.data.lvl_20 = levelScores[20];
userData.data.lvl_21 = levelScores[21];
userData.data.lvl_22 = levelScores[22];
userData.data.lvl_23 = levelScores[23];
userData.data.lvl_24 = levelScores[24];
userData.data.lvl_25 = levelScores[25];
userData.data.lvl_26 = levelScores[26];
userData.data.lvl_27 = levelScores[27];
userData.data.lvl_28 = levelScores[28];
userData.data.lvl_29 = levelScores[29];
userData.data.lvl_30 = levelScores[30];
userData.data.lvl_31 = levelScores[31];
userData.data.lvl_32 = levelScores[32];
userData.data.lvl_33 = levelScores[33];
userData.data.lvl_34 = levelScores[34];
userData.data.lvl_35 = levelScores[35];
userData.data.lvl_36 = levelScores[36];
userData.data.lvl_37 = levelScores[37];
userData.data.lvl_38 = levelScores[38];
userData.data.lvl_39 = levelScores[39];
userData.data.lvl_40 = levelScores[40];
userData.data.lvl_41 = levelScores[41];
userData.data.lvl_42 = levelScores[42];
userData.data.lvl_43 = levelScores[43];
userData.data.lvl_44 = levelScores[44];
userData.data.lvl_45 = levelScores[45];
userData.data.lvl_46 = levelScores[46];
userData.data.lvl_47 = levelScores[47];
userData.data.lvl_48 = levelScores[48];
}
this.stop();
bPlayMusic = true;
if (BGM == undefined) {
soundMC = this.createEmptyMovieClip("blah", 14);
clicked = new Sound(soundMC);
clicked.attachSound("click");
popper = new Sound(soundMC);
popper.attachSound("pop");
adder = new Sound(soundMC);
adder.attachSound("ching");
bang = new Sound(soundMC);
bang.attachSound("bang");
sndTrans = new Sound(soundMC);
sndTrans.attachSound("tranSnd");
BGM = new Sound(soundMC);
BGM.attachSound("bgm");
BGM.start();
BGM.onSoundComplete = function () {
if (_root.bPlayMusic) {
this.start();
}
};
BGM.setVolume(100);
}
attachMovie("mute", "mute", 1, {_x:15, _y:370});
myShadow = new flash.filters.DropShadowFilter(5, 45, 0, 1, 10, 10, 1, 2, false, false, false);
mute.filters = [myShadow];
beginGame();
this.onRollOver = function () {
Mouse.hide();
};
checkTime = function () {
if (_root.tested == 0) {
_root.tested = 1;
_root.checkLevelBalls();
}
_root.clearInterval(_root.checkTimer);
};
Symbol 9 MovieClip [mute] Frame 1
function onEnterFrame() {
if (_root.bPlayMusic) {
this.gotoAndStop(1);
} else {
this.gotoAndStop(2);
}
}
function onPress() {
if (_root.bPlayMusic) {
_root.bPlayMusic = false;
_root.BGM.setVolume(0);
} else {
_root.bPlayMusic = true;
_root.BGM.setVolume(100);
}
}
Symbol 18 MovieClip [smokePuff] Frame 1
function onEnterFrame() {
if (this._currentframe > 26) {
_root.removeMC(this);
}
}
Symbol 18 MovieClip [smokePuff] Frame 32
function onEnterFrame() {
if (this._currentframe > 18) {
_root.removeMC(this);
}
}
Symbol 26 MovieClip [magic_red] Frame 1
#initclip 9
Object.registerClass("magic_red", magicItem);
#endinitclip
Symbol 36 MovieClip [magic_green] Frame 1
#initclip 3
Object.registerClass("magic_green", magicItem);
#endinitclip
Symbol 40 MovieClip [magic_blue] Frame 1
#initclip 4
Object.registerClass("magic_blue", magicItem);
#endinitclip
Symbol 46 MovieClip [magic_magenta] Frame 1
#initclip 5
Object.registerClass("magic_magenta", magicItem);
#endinitclip
Symbol 84 MovieClip [magic_yellow] Frame 1
#initclip 6
Object.registerClass("magic_yellow", magicItem);
#endinitclip
Symbol 90 MovieClip [magic_cyan] Frame 1
#initclip 7
Object.registerClass("magic_cyan", magicItem);
#endinitclip
Symbol 91 MovieClip [magic_white] Frame 1
#initclip 8
Object.registerClass("magic_white", magicItem);
#endinitclip
Symbol 94 MovieClip [myLink] Frame 1
function onRelease() {
getURL ("http://www.smileygamer.com/freecontent.html?gameref=1970", "_blank");
}
Symbol 469 MovieClip [__Packages.MochiAd] Frame 0
class MochiAd
{
function MochiAd () {
}
static function getVersion() {
return("2.7");
}
static function showPreGameAd(options) {
var _local26 = {clip:_root, ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:16747008, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function () {
this.clip.stop();
}, ad_finished:function () {
this.clip.play();
}, ad_failed:function () {
}, ad_loaded:function (width, height) {
}, ad_skipped:function () {
}, ad_progress:function (percent) {
}};
options = _parseOptions(options, _local26);
if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def") {
options.ad_started();
options.ad_finished();
return(undefined);
}
var clip = options.clip;
var _local22 = 11000;
var _local25 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
options.ad_failed();
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local14 = _getRes(options);
var _local4 = _local14[0];
var _local13 = _local14[1];
mc._x = _local4 * 0.5;
mc._y = _local13 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk._x = _local4 * -0.5;
chk._y = _local13 * -0.5;
var _local6 = chk.createEmptyMovieClip("_mochiad_bar", 4);
if (options.no_progress_bar) {
_local6._visible = false;
delete options.no_progress_bar;
} else {
_local6._x = 10;
_local6._y = _local13 - 20;
}
var _local21 = options.color;
delete options.color;
var _local19 = options.background;
delete options.background;
var _local23 = options.outline;
delete options.outline;
var _local5 = _local6.createEmptyMovieClip("_outline", 1);
_local5.beginFill(_local19);
_local5.moveTo(0, 0);
_local5.lineTo(_local4 - 20, 0);
_local5.lineTo(_local4 - 20, 10);
_local5.lineTo(0, 10);
_local5.lineTo(0, 0);
_local5.endFill();
var _local3 = _local6.createEmptyMovieClip("_inside", 2);
_local3.beginFill(_local21);
_local3.moveTo(0, 0);
_local3.lineTo(_local4 - 20, 0);
_local3.lineTo(_local4 - 20, 10);
_local3.lineTo(0, 10);
_local3.lineTo(0, 0);
_local3.endFill();
_local3._xscale = 0;
var _local7 = _local6.createEmptyMovieClip("_outline", 3);
_local7.lineStyle(0, _local23, 100);
_local7.moveTo(0, 0);
_local7.lineTo(_local4 - 20, 0);
_local7.lineTo(_local4 - 20, 10);
_local7.lineTo(0, 10);
_local7.lineTo(0, 0);
chk.ad_msec = _local22;
chk.ad_timeout = _local25;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.regContLC = function (lc_name) {
mc._containerLCName = lc_name;
};
var sendHostProgress = false;
mc.lc.sendHostLoadProgress = function (lc_name) {
sendHostProgress = true;
};
mc.lc.adLoaded = options.ad_loaded;
mc.lc.adSkipped = options.ad_skipped;
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec;
};
mc.lc.rpc = function (callbackID, arg) {
MochiAd.rpc(clip, callbackID, arg);
};
mc.rpcTestFn = function (s) {
return(s);
};
chk.onEnterFrame = function () {
var _local6 = this._parent._parent;
var _local11 = this._parent._mochiad_ctr;
var _local5 = getTimer() - this.started;
var _local3 = false;
var _local4 = _local6.getBytesTotal();
var _local8 = _local6.getBytesLoaded();
var _local2 = (100 * _local8) / _local4;
var _local10 = (100 * _local5) / chk.ad_msec;
var _local9 = this._mochiad_bar._inside;
var _local13 = Math.min(100, Math.min(_local2 || 0, _local10));
_local13 = Math.max(this.last_pcnt, _local13);
this.last_pcnt = _local13;
_local9._xscale = _local13;
options.ad_progress(_local13);
if (sendHostProgress) {
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local2});
if (_local2 == 100) {
sendHostProgress = false;
}
}
if (!chk.showing) {
var _local7 = _local11.getBytesTotal();
if ((_local7 > 0) || (typeof(_local7) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if ((_local5 > chk.ad_timeout) && (_local2 == 100)) {
options.ad_failed();
_local3 = true;
}
}
if (_local5 > chk.ad_msec) {
_local3 = true;
}
if (((_local4 > 0) && (_local8 >= _local4)) && (_local3)) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
}
}
};
}
static function showClickAwayAd(options) {
var _local9 = {clip:_root, ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function () {
}, ad_finished:function () {
}, ad_loaded:function (width, height) {
}, ad_failed:function () {
}, ad_skipped:function () {
}};
options = _parseOptions(options, _local9);
var clip = options.clip;
var _local8 = options.ad_timeout;
delete options.ad_timeout;
if (!load(options)) {
options.ad_failed();
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local4 = _getRes(options);
var _local10 = _local4[0];
var _local7 = _local4[1];
mc._x = _local10 * 0.5;
mc._y = _local7 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk.ad_timeout = _local8;
chk.started = getTimer();
chk.showing = false;
mc.lc.adLoaded = options.ad_loaded;
mc.lc.adSkipped = options.ad_skipped;
mc.lc.rpc = function (callbackID, arg) {
MochiAd.rpc(clip, callbackID, arg);
};
mc.rpcTestFn = function (s) {
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 () {
}, ad_loaded:function (width, height) {
}, ad_skipped:function () {
}};
options = _parseOptions(options, _local13);
var clip = options.clip;
var _local10 = 11000;
var _local12 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
options.ad_failed();
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local5 = _getRes(options);
var _local14 = _local5[0];
var _local11 = _local5[1];
mc._x = _local14 * 0.5;
mc._y = _local11 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk.ad_msec = _local10;
chk.ad_timeout = _local12;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.adLoaded = options.ad_loaded;
mc.lc.adSkipped = options.ad_skipped;
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec - 250;
};
mc.lc.rpc = function (callbackID, arg) {
MochiAd.rpc(clip, callbackID, arg);
};
mc.rpcTestFn = function (s) {
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) {
showPreGameAd(options);
}
static function showTimedAd(options) {
showInterLevelAd(options);
}
static function _allowDomains(server) {
var _local1 = server.split("/")[2].split(":")[0];
if (System.security) {
if (System.security.allowDomain) {
System.security.allowDomain("*");
System.security.allowDomain(_local1);
}
if (System.security.allowInsecureDomain) {
System.security.allowInsecureDomain("*");
System.security.allowInsecureDomain(_local1);
}
}
return(_local1);
}
static function load(options) {
var _local13 = {clip:_root, server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = _parseOptions(options, _local13);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = getVersion();
var _local9 = options.clip;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local9._mochiad_loaded) {
return(null);
}
var _local12 = options.depth;
delete options.depth;
var _local6 = _local9.createEmptyMovieClip("_mochiad", _local12);
var _local11 = _getRes(options);
options.res = (_local11[0] + "x") + _local11[1];
options.server = options.server + options.id;
delete options.id;
_local9._mochiad_loaded = true;
var _local4 = _local6.createEmptyMovieClip("_mochiad_ctr", 1);
for (var _local7 in options) {
_local4[_local7] = options[_local7];
}
var _local10 = _local4.server;
delete _local4.server;
var _local14 = _allowDomains(_local10);
_local6.onEnterFrame = function () {
if (this._mochiad_ctr._url != this._url) {
this.onEnterFrame = function () {
if (!this._mochiad_ctr) {
delete this.onEnterFrame;
MochiAd.unload(this._parent);
}
};
}
};
var _local5 = new LocalConnection();
var _local8 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local5.mc = _local6;
_local5.name = _local8;
_local5.hostname = _local14;
_local5.allowDomain = function (d) {
return(true);
};
_local5.allowInsecureDomain = _local5.allowDomain;
_local5.connect(_local8);
_local6.lc = _local5;
_local4.lc = _local8;
_local4.st = getTimer();
_local4.loadMovie(_local10 + ".swf", "POST");
return(_local6);
}
static function unload(clip) {
if (typeof(clip) == "undefined") {
clip = _root;
}
if (clip.clip && (clip.clip._mochiad)) {
clip = clip.clip;
}
if (!clip._mochiad) {
return(false);
}
if (clip._mochiad._containerLCName != undefined) {
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"unload"});
}
clip._mochiad.removeMovieClip();
delete clip._mochiad_loaded;
delete clip._mochiad;
return(true);
}
static function _isNetworkAvailable() {
if (System.security) {
var _local1 = System.security;
if (_local1.sandboxType == "localWithFile") {
return(false);
}
}
return(true);
}
static function _getRes(options) {
var _local3 = options.clip.getBounds();
var _local2 = 0;
var _local1 = 0;
if (typeof(options.res) != "undefined") {
var _local4 = options.res.split("x");
_local2 = parseFloat(_local4[0]);
_local1 = parseFloat(_local4[1]);
} else {
_local2 = _local3.xMax - _local3.xMin;
_local1 = _local3.yMax - _local3.yMin;
}
if ((_local2 == 0) || (_local1 == 0)) {
_local2 = Stage.width;
_local1 = Stage.height;
}
return([_local2, _local1]);
}
static function _parseOptions(options, defaults) {
var _local4 = {};
for (var _local8 in defaults) {
_local4[_local8] = defaults[_local8];
}
if (options) {
for (var _local8 in options) {
_local4[_local8] = options[_local8];
}
}
if (_root.mochiad_options) {
var _local5 = _root.mochiad_options.split("&");
var _local2 = 0;
while (_local2 < _local5.length) {
var _local3 = _local5[_local2].split("=");
_local4[unescape(_local3[0])] = unescape(_local3[1]);
_local2++;
}
}
if (_local4.id == "test") {
}
return(_local4);
}
static function rpc(clip, callbackID, arg) {
switch (arg.id) {
case "setValue" :
setValue(clip, arg.objectName, arg.value);
break;
case "getValue" :
var _local4 = getValue(clip, arg.objectName);
clip._mochiad.lc.send(clip._mochiad._containerLCName, "rpcResult", callbackID, _local4);
break;
case "runMethod" :
var _local3 = runMethod(clip, arg.method, arg.args);
clip._mochiad.lc.send(clip._mochiad._containerLCName, "rpcResult", callbackID, _local3);
}
}
static function setValue(base, objectName, value) {
var _local2 = objectName.split(".");
var _local1;
_local1 = 0;
while (_local1 < (_local2.length - 1)) {
if ((base[_local2[_local1]] == undefined) || (base[_local2[_local1]] == null)) {
return(undefined);
}
base = base[_local2[_local1]];
_local1++;
}
base[_local2[_local1]] = value;
}
static function getValue(base, objectName) {
var _local2 = objectName.split(".");
var _local1;
_local1 = 0;
while (_local1 < (_local2.length - 1)) {
if ((base[_local2[_local1]] == undefined) || (base[_local2[_local1]] == null)) {
return(undefined);
}
base = base[_local2[_local1]];
_local1++;
}
return(base[_local2[_local1]]);
}
static function runMethod(base, methodName, argsArray) {
var _local2 = methodName.split(".");
var _local1;
_local1 = 0;
while (_local1 < (_local2.length - 1)) {
if ((base[_local2[_local1]] == undefined) || (base[_local2[_local1]] == null)) {
return(undefined);
}
base = base[_local2[_local1]];
_local1++;
}
if (typeof(base[_local2[_local1]]) == "function") {
return(base[_local2[_local1]].apply(base, argsArray));
}
return(undefined);
}
}
Symbol 470 MovieClip [__Packages.magicItem] Frame 0
class magicItem extends MovieClip
{
var timer, _y, _x;
function magicItem () {
super();
timer = setInterval(timeup, 1500, this);
}
function destroy() {
_root.attachMovie("smokePuff", (("sfx" + _root.getNextHighestDepth()) + "_") + Math.floor(_x * _y), _root.getNextHighestDepth(), {_x:_x, _y:_y, _xscale:120, _yscale:120, _alpha:50});
_root.removeMC(this);
}
function timeup(actor) {
clearInterval(actor.timer);
actor.destroy();
}
}
Symbol 98 MovieClip Frame 1
function onPress() {
_root.gotoAndStop(4);
}
function onEnterFrame() {
if (!this.bShow) {
this._y = 500;
} else if (this._y > 360) {
dist = this._y - 360;
this._y = this._y - (dist * 0.1);
}
}
Symbol 112 MovieClip Frame 1
function onRelease() {
getURL ("http://www.smileygamer.com/?gameref=1970", "_blank");
}
Symbol 112 MovieClip Frame 200
function onRelease() {
getURL ("http://www.smileygamer.com/?gameref=1970", "_blank");
}
_root.playb.bShow = true;
Symbol 125 MovieClip Frame 1
function onPress() {
_root.targetBall = undefined;
}
Symbol 221 MovieClip [levelSelector] Frame 1
this.nButton.onRelease = function () {
_root.player_name = this._parent.pName.text;
this._parent.gotoAndStop(2);
};
Symbol 221 MovieClip [levelSelector] Frame 2
function onEnterFrame() {
if (_root.levelScores[1] <= 0) {
this.b2._alpha = 50;
}
if (_root.levelScores[2] <= 0) {
this.b3._alpha = 50;
}
if (_root.levelScores[3] <= 0) {
this.b4._alpha = 50;
}
if (_root.levelScores[4] <= 0) {
this.b5._alpha = 50;
}
if (_root.levelScores[5] <= 0) {
this.b6._alpha = 50;
}
if (_root.levelScores[6] <= 0) {
this.b7._alpha = 50;
}
if (_root.levelScores[7] <= 0) {
this.b8._alpha = 50;
}
if (_root.levelScores[8] <= 0) {
this.b9._alpha = 50;
}
if (_root.levelScores[9] <= 0) {
this.b10._alpha = 50;
}
if (_root.levelScores[10] <= 0) {
this.b11._alpha = 50;
}
if (_root.levelScores[11] <= 0) {
this.b12._alpha = 50;
}
if (_root.levelScores[12] <= 0) {
this.b13._alpha = 50;
}
if (_root.levelScores[13] <= 0) {
this.b14._alpha = 50;
}
if (_root.levelScores[14] <= 0) {
this.b15._alpha = 50;
}
if (_root.levelScores[15] <= 0) {
this.b16._alpha = 50;
}
if (_root.levelScores[16] <= 0) {
this.b17._alpha = 50;
}
if (_root.levelScores[17] <= 0) {
this.b18._alpha = 50;
}
if (_root.levelScores[18] <= 0) {
this.b19._alpha = 50;
}
if (_root.levelScores[19] <= 0) {
this.b20._alpha = 50;
}
if (_root.levelScores[20] <= 0) {
this.b21._alpha = 50;
}
if (_root.levelScores[21] <= 0) {
this.b22._alpha = 50;
}
if (_root.levelScores[22] <= 0) {
this.b23._alpha = 50;
}
if (_root.levelScores[23] <= 0) {
this.b24._alpha = 50;
}
if (_root.levelScores[24] <= 0) {
this.b25._alpha = 50;
}
if (_root.levelScores[25] <= 0) {
this.b26._alpha = 50;
}
if (_root.levelScores[26] <= 0) {
this.b27._alpha = 50;
}
if (_root.levelScores[27] <= 0) {
this.b28._alpha = 50;
}
if (_root.levelScores[28] <= 0) {
this.b29._alpha = 50;
}
if (_root.levelScores[29] <= 0) {
this.b30._alpha = 50;
}
}
this.leftButton.onRelease = function () {
this._parent.gotoAndStop(1);
};
this.rightb.onRelease = function () {
this._parent.gotoAndStop(2);
};
this.b1.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(1);
}
};
this.b2.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(2);
}
};
this.b3.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(3);
}
};
this.b4.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(4);
}
};
this.b5.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(5);
}
};
this.b6.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(6);
}
};
this.b7.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(7);
}
};
this.b8.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(8);
}
};
this.b9.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(9);
}
};
this.b10.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(10);
}
};
this.b11.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(11);
}
};
this.b12.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(12);
}
};
this.b13.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(13);
}
};
this.b14.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(14);
}
};
this.b15.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(15);
}
};
this.b16.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(16);
}
};
this.b17.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(17);
}
};
this.b18.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(18);
}
};
this.b19.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(19);
}
};
this.b20.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(20);
}
};
this.b21.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(21);
}
};
this.b22.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(22);
}
};
this.b23.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(23);
}
};
this.b24.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(24);
}
};
this.b25.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(25);
}
};
this.b26.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(26);
}
};
this.b27.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(27);
}
};
this.b28.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(28);
}
};
this.b29.onRelease = function () {
if (this._alpha >= 75) {
_root.gotoLevel(29);
}
};
Symbol 223 MovieClip [beginoTrans] Frame 1
function onEnterFrame() {
if (!this.bSetup) {
this.counter = 0;
this.numSpawns = 0;
this.bSetup = true;
_root.sndTrans.start();
}
if (this.bGrow) {
this._xscale = this._xscale * 1.32;
this._alpha = this._alpha + 5;
this._yscale = this._xscale;
this.counter++;
} else {
if (this.counter > 4) {
this.counter = 0;
Ltrans = _root.attachMovie("transition2", "trans", _root.getNextHighestDepth(), {_x:275, _y:200});
Ltrans._xscale = 200;
Ltrans._yscale = 200;
Ltrans._alpha = 100;
Ltrans.bGrow = false;
this.numSpawns++;
}
this._xscale = this._xscale * 0.7;
this._alpha = this._alpha - 5;
this._yscale = this._xscale;
}
if (this._width >= 1200) {
this.bGrow = false;
_root.newGame(flag);
}
if ((this._width <= 10) && (!this.bGrow)) {
_root.removeMC(this);
}
}
Symbol 225 MovieClip [changeTrans] Frame 1
function onEnterFrame() {
if (!this.bSetup) {
this.counter = 0;
this.numSpawns = 0;
this.bSetup = true;
_root.sndTrans.start();
}
if (this.bGrow) {
this._xscale = this._xscale * 1.32;
this._alpha = this._alpha + 5;
this._yscale = this._xscale;
this.counter++;
} else {
if (this.counter > 4) {
this.counter = 0;
Ltrans = _root.attachMovie("transition2", "trans", _root.getNextHighestDepth(), {_x:275, _y:200});
Ltrans._xscale = 200;
Ltrans._yscale = 200;
Ltrans._alpha = 100;
Ltrans.bGrow = false;
this.numSpawns++;
}
this._xscale = this._xscale * 0.7;
this._alpha = this._alpha - 5;
this._yscale = this._xscale;
}
if ((this._width >= 1200) && (this.bGrow == true)) {
this.bGrow = false;
_root.changeArea(flag);
}
if ((this._width <= 10) && (!this.bGrow)) {
_root.removeMC(this);
}
}
Symbol 229 MovieClip Frame 1
function onEnterFrame() {
this._rotation = this._rotation + 8;
}
Symbol 235 MovieClip [yellowBall] Frame 1
function onEnterFrame() {
this.score = 40;
if (this.ballColour == undefined) {
this.ballColour = "yellow";
_root.levelBalls[_root.levelBalls.length + 1] = this;
_root.rankCount++;
}
if (this.bHasTarget) {
this.fTime++;
this.targetBall.bChosen = true;
sideA = this._x - this.targetBall._x;
sideB = this._y - this.targetBall._y;
distance = Math.sqrt((sideA * sideA) + (sideB * sideB));
if (distance >= 40) {
angle = Math.atan2(sideB, sideA);
posx = this._x + ((distance * 3) * Math.cos(angle - 1.5));
posy = this._y + ((distance * 3) * Math.sin(angle - 1.5));
this._rotation = this._rotation + 30;
sideA = posx - this.targetBall._x;
sideB = posy - this.targetBall._y;
angle = Math.atan2(sideB, sideA);
this.dirx = Math.cos(angle) * 20;
this.diry = Math.sin(angle) * 20;
}
if (distance < 40) {
this.collideTarget();
}
this._x = this._x - this.dirx;
this._y = this._y - this.diry;
_root.createTrail(this);
}
if (_root.targetBall == this) {
if ((this._currentframe > 26) || (this._currentframe < 15)) {
this.gotoAndPlay(15);
}
} else if (this.bChosen) {
if ((this._currentframe > 44) || (this._currentframe < 30)) {
this.gotoAndPlay(30);
}
} else if (this._currentframe > 14) {
this.gotoAndPlay(1);
}
}
function onPress() {
action = _root.getAction(this);
_root.clicked.start();
if (action != null) {
newBallColour = _root.testColours(action.ballColour, this.ballColour);
if (newBallColour != undefined) {
this.targetBall = action;
this.newBall = newBallColour;
this.bHasTarget = true;
this.fTime = 0;
} else {
_root.targetBall = this;
}
}
}
function collideTarget() {
if (this.newBall != this.ballColour) {
_root.createBall(this.targetBall._x, this.targetBall._y, newBall);
} else {
_root.createMagic(this.targetBall._x, this.targetBall._y, newBall);
}
_root.createFX(this.targetBall);
switch (this.targetBall.ballColour) {
case "cyan" :
_root.cyans++;
break;
case "yellow" :
_root.yellows++;
break;
case "magenta" :
_root.magentas++;
}
_root.deleteBall(this.targetBall);
_root.yellows++;
_root.deleteBall(this);
}
function onRollOver() {
_root.nextTarget = this;
}
function onRollOut() {
_root.nextTarget = undefined;
}
Symbol 241 MovieClip [whiteBall] Frame 1
function onEnterFrame() {
this.score = 0;
if (this.ballColour == undefined) {
this.ballColour = "white";
_root.levelBalls[_root.levelBalls.length + 1] = this;
}
if (this.bHasTarget) {
this.fTime++;
this.targetBall.bChosen = true;
sideA = this._x - this.targetBall._x;
sideB = this._y - this.targetBall._y;
distance = Math.sqrt((sideA * sideA) + (sideB * sideB));
if (distance >= 40) {
angle = Math.atan2(sideB, sideA);
posx = this._x + ((distance * 3) * Math.cos(angle + 1.5));
posy = this._y + ((distance * 3) * Math.sin(angle + 1.5));
sideA = posx - this.targetBall._x;
sideB = posy - this.targetBall._y;
angle = Math.atan2(sideB, sideA);
this.dirx = Math.cos(angle) * 20;
this.diry = Math.sin(angle) * 20;
this._rotation = this._rotation + 30;
}
if (distance < 40) {
this.collideTarget();
}
this._x = this._x - this.dirx;
this._y = this._y - this.diry;
_root.createTrail(this);
}
if (_root.targetBall == this) {
if ((this._currentframe > 27) || (this._currentframe < 15)) {
this.gotoAndPlay(15);
}
} else if (this.bChosen) {
if ((this._currentframe > 44) || (this._currentframe < 30)) {
this.gotoAndPlay(30);
}
} else if (this._currentframe > 13) {
this.gotoAndPlay(1);
}
}
function onPress() {
action = _root.getAction(this);
_root.clicked.start();
if (action != null) {
newBallColour = _root.testColours(action.ballColour, this.ballColour);
if (newBallColour != undefined) {
this.targetBall = action;
this.newBall = newBallColour;
this.bHasTarget = true;
this.fTime = 0;
} else {
_root.targetBall = this;
}
}
}
function collideTarget() {
if (this.newBall != this.ballColour) {
_root.createBall(this.targetBall._x, this.targetBall._y, newBall);
} else {
_root.createMagic(this.targetBall._x, this.targetBall._y, newBall);
}
_root.createFX(this.targetBall);
switch (this.targetBall.ballColour) {
case "red" :
_root.reds++;
break;
case "blue" :
_root.blues++;
break;
case "green" :
_root.blues++;
break;
case "magenta" :
_root.magentas++;
break;
case "yellow" :
_root.yellow++;
break;
case "cyan" :
_root.cyans++;
}
_root.deleteBall(this.targetBall);
_root.deleteBall(this);
}
function onRollOver() {
_root.nextTarget = this;
}
function onRollOut() {
_root.nextTarget = undefined;
}
Symbol 242 MovieClip [transition] Frame 1
function onEnterFrame() {
if (!this.bSetup) {
this.counter = 0;
this.numSpawns = 0;
this.bSetup = true;
_root.sndTrans.start();
}
if (this.bGrow) {
this._xscale = this._xscale * 1.32;
this._alpha = this._alpha + 5;
this._yscale = this._xscale;
this.counter++;
} else {
if (this.counter > 4) {
this.counter = 0;
Ltrans = _root.attachMovie("transition2", "trans", _root.getNextHighestDepth(), {_x:275, _y:200});
Ltrans._xscale = 200;
Ltrans._yscale = 200;
Ltrans._alpha = 100;
Ltrans.bGrow = false;
this.numSpawns++;
}
this._xscale = this._xscale * 0.7;
this._alpha = this._alpha - 5;
this._yscale = this._xscale;
}
if (this._width >= 1200) {
this.bGrow = false;
_root.gameLevel.nextFrame();
}
if ((this._width <= 10) && (!this.bGrow)) {
_root.removeMC(this);
}
}
Symbol 245 MovieClip [trail] Frame 1
function onEnterFrame() {
this._xscale = this._xscale * 0.9;
this._yscale = this._xscale;
if (this._xscale < 5) {
_root.removeMC(this);
}
}
Symbol 257 MovieClip Frame 1
function onRelease() {
getURL ("http://www.smileygamer.com/?gameref=1970", "_blank");
}
Symbol 264 MovieClip Frame 1
function onRelease() {
getURL ("http://jbgames.wordpress.com/", "_blank");
}
Symbol 276 MovieClip [title] Frame 1
function onEnterFrame() {
if (this._alpha < 100) {
this._alpha = this._alpha + 5;
}
if (!this.bsetup) {
this.gotoAndStop(1);
this.bsetup = true;
}
if (this.bplayGame && (!this.bClicked)) {
Ltrans = _root.attachMovie("beginoTrans", "trans", _root.getNextHighestDepth(), {_x:275, _y:200});
Ltrans._xscale = 1;
Ltrans._yscale = 1;
Ltrans._alpha = 0;
Ltrans.bGrow = true;
Ltrans.flag = 1;
this.bClicked = true;
}
if (this.bplayTut && (!this.bClicked)) {
Ltrans = _root.attachMovie("beginoTrans", "trans", _root.getNextHighestDepth(), {_x:275, _y:200});
Ltrans._xscale = 1;
Ltrans._yscale = 1;
Ltrans._alpha = 0;
Ltrans.bGrow = true;
Ltrans.flag = 0;
this.bClicked = true;
}
if (this._currentframe > 25) {
_root.removeMC(this);
}
}
this.pButton.onPress = function () {
this._parent.bplayGame = true;
this._parent.gotoAndPlay(1);
};
this.tutButton.onPress = function () {
this._parent.bplayTut = true;
this._parent.gotoAndPlay(1);
};
this.mgButton.onPress = function () {
getURL ("http://www.smileygamer.com/?gameref=1970", "_blank");
};
this.hsButton.onPress = function () {
getURL ("http://www.smileygamer.com/highscores/1970/kullors-school-of-magic.html?gameref=1970", "_blank");
};
Symbol 277 MovieClip [retryTransition] Frame 1
function onEnterFrame() {
if (!this.bSetup) {
this.counter = 0;
this.numSpawns = 0;
this.bSetup = true;
_root.sndTrans.start();
}
if (this.bGrow) {
this._xscale = this._xscale * 1.32;
this._alpha = this._alpha + 5;
this._yscale = this._xscale;
this.counter++;
} else {
if (this.counter > 4) {
this.counter = 0;
Ltrans = _root.attachMovie("transition2", "trans", _root.getNextHighestDepth(), {_x:275, _y:200});
Ltrans._xscale = 200;
Ltrans._yscale = 200;
Ltrans._alpha = 100;
Ltrans.bGrow = false;
this.numSpawns++;
}
this._xscale = this._xscale * 0.7;
this._alpha = this._alpha - 5;
this._yscale = this._xscale;
}
if (this._width >= 1200) {
this.bGrow = false;
_root.gameLevel.gotoAndStop(_root.currentStage);
}
if ((this._width <= 10) && (!this.bGrow)) {
_root.removeMC(this);
}
}
Symbol 283 MovieClip [redBall] Frame 1
function onEnterFrame() {
this.score = 30;
if (this.ballColour == undefined) {
this.ballColour = "red";
_root.levelBalls[_root.levelBalls.length + 1] = this;
_root.rankCount++;
}
if (this.bHasTarget) {
this.fTime++;
this.targetBall.bChosen = true;
sideA = this._x - this.targetBall._x;
sideB = this._y - this.targetBall._y;
distance = Math.sqrt((sideA * sideA) + (sideB * sideB));
if (distance >= 40) {
angle = Math.atan2(sideB, sideA);
posx = this._x + ((distance * 3) * Math.cos(angle + 1.5));
posy = this._y + ((distance * 3) * Math.sin(angle + 1.5));
sideA = posx - this.targetBall._x;
sideB = posy - this.targetBall._y;
angle = Math.atan2(sideB, sideA);
this.dirx = Math.cos(angle) * 20;
this.diry = Math.sin(angle) * 20;
this._rotation = this._rotation + 30;
}
if (distance < 40) {
this.collideTarget();
}
this._x = this._x - this.dirx;
this._y = this._y - this.diry;
_root.createTrail(this);
}
if (_root.targetBall == this) {
if ((this._currentframe > 27) || (this._currentframe < 15)) {
this.gotoAndPlay(15);
}
} else if (this.bChosen) {
if ((this._currentframe > 44) || (this._currentframe < 30)) {
this.gotoAndPlay(30);
}
} else if (this._currentframe > 13) {
this.gotoAndPlay(1);
}
}
function onPress() {
action = _root.getAction(this);
_root.clicked.start();
if (action != null) {
newBallColour = _root.testColours(action.ballColour, this.ballColour);
if (newBallColour != undefined) {
this.targetBall = action;
this.newBall = newBallColour;
this.bHasTarget = true;
this.fTime = 0;
} else {
_root.targetBall = this;
}
}
}
function collideTarget() {
if (this.newBall != this.ballColour) {
_root.createBall(this.targetBall._x, this.targetBall._y, newBall);
} else {
_root.createMagic(this.targetBall._x, this.targetBall._y, newBall);
}
_root.createFX(this.targetBall);
switch (this.targetBall.ballColour) {
case "red" :
_root.reds++;
break;
case "blue" :
_root.blues++;
break;
case "green" :
_root.blues++;
}
_root.deleteBall(this.targetBall);
_root.reds++;
_root.deleteBall(this);
}
function onRollOver() {
_root.nextTarget = this;
}
function onRollOut() {
_root.nextTarget = undefined;
}
Symbol 296 MovieClip [rank] Frame 1
function onEnterFrame() {
if (this._currentframe != 1) {
if (this._xscale < 80) {
this._xscale = this._xscale * 1.25;
this._yscale = this._xscale;
this.bMakeNoise = true;
} else if ((this._xscale >= 79) && (this.bMakeNoise)) {
this.bMakeNoise = false;
_root.bang.start();
}
}
}
Symbol 304 MovieClip [particle] Frame 1
function onEnterFrame() {
switch (this.Kullor) {
case "red" :
this.gotoAndStop(7);
break;
case "blue" :
this.gotoAndStop(2);
break;
case "green" :
this.gotoAndStop(3);
break;
case "cyan" :
this.gotoAndStop(4);
break;
case "yellow" :
this.gotoAndStop(5);
break;
case "magenta" :
this.gotoAndStop(6);
break;
default :
this.gotoAndStop(8);
}
this._alpha = this._alpha - 2;
if (this._alpha < 5) {
_root.removeMC(this);
}
this.dirx = this.dirx * 0.98;
this.diry = this.diry + 1;
this._x = this._x + (this.dirx / 2);
this._y = this._y + (this.diry / 2);
}
Symbol 317 MovieClip [mPointer] Frame 1
function onEnterFrame() {
this._x = _root._xmouse;
this._y = _root._ymouse;
if ((_root.targetBall != undefined) && (_root.nextTarget != undefined)) {
this.newColour = _root.testColours(_root.targetBall.ballColour, _root.nextTarget.ballColour);
} else {
this.newColour = undefined;
}
switch (this.newColour) {
case "red" :
this.gotoAndStop(2);
break;
case "blue" :
this.gotoAndStop(3);
break;
case "green" :
this.gotoAndStop(4);
break;
case "cyan" :
this.gotoAndStop(5);
break;
case "magenta" :
this.gotoAndStop(6);
break;
case "yellow" :
this.gotoAndStop(7);
break;
default :
this.gotoAndStop(1);
}
if ((_root.targetBall.ballColour == _root.nextTarget.ballColour) && (this.newColour != undefined)) {
this.gotoAndStop(8);
}
if (_root.targetBall == _root.nextTarget) {
this.gotoAndStop(1);
}
}
Symbol 320 MovieClip [magentaBall] Frame 1
function onEnterFrame() {
this.score = 40;
if (this.ballColour == undefined) {
this.ballColour = "magenta";
_root.levelBalls[_root.levelBalls.length + 1] = this;
_root.rankCount++;
}
if (this.bHasTarget) {
this.fTime++;
this.targetBall.bChosen = true;
sideA = this._x - this.targetBall._x;
sideB = this._y - this.targetBall._y;
distance = Math.sqrt((sideA * sideA) + (sideB * sideB));
if (distance >= 40) {
angle = Math.atan2(sideB, sideA);
posx = this._x + ((distance * 3) * Math.cos(angle - 1.5));
posy = this._y + ((distance * 3) * Math.sin(angle - 1.5));
sideA = posx - this.targetBall._x;
sideB = posy - this.targetBall._y;
angle = Math.atan2(sideB, sideA);
this.dirx = Math.cos(angle) * 25;
this.diry = Math.sin(angle) * 25;
this._rotation = this._rotation + 30;
}
if (distance < 40) {
this.collideTarget();
}
this._x = this._x - this.dirx;
this._y = this._y - this.diry;
_root.createTrail(this);
}
if (_root.targetBall == this) {
if ((this._currentframe > 27) || (this._currentframe < 15)) {
this.gotoAndPlay(15);
}
} else if (this.bChosen) {
if ((this._currentframe > 44) || (this._currentframe < 30)) {
this.gotoAndPlay(30);
}
} else if (this._currentframe > 13) {
this.gotoAndPlay(1);
}
}
function onPress() {
action = _root.getAction(this);
_root.clicked.start();
if (action != null) {
newBallColour = _root.testColours(action.ballColour, this.ballColour);
if (newBallColour != undefined) {
this.targetBall = action;
this.newBall = newBallColour;
this.bHasTarget = true;
this.fTime = 0;
} else {
_root.targetBall = this;
}
}
}
function collideTarget() {
if (this.newBall != this.ballColour) {
_root.createBall(this.targetBall._x, this.targetBall._y, newBall);
} else {
_root.createMagic(this.targetBall._x, this.targetBall._y, newBall);
}
_root.createFX(this.targetBall);
switch (this.targetBall.ballColour) {
case "cyan" :
_root.cyans++;
break;
case "yellow" :
_root.yellows++;
break;
case "magenta" :
_root.magentas++;
}
_root.deleteBall(this.targetBall);
_root.magentas++;
_root.deleteBall(this);
}
function onRollOver() {
_root.nextTarget = this;
}
function onRollOut() {
_root.nextTarget = undefined;
}
Symbol 321 MovieClip [MainTrans] Frame 1
function onEnterFrame() {
if (!this.bSetup) {
this.counter = 0;
this.numSpawns = 0;
this.bSetup = true;
_root.sndTrans.start();
}
if (this.bGrow) {
this._xscale = this._xscale * 1.32;
this._alpha = this._alpha + 5;
this._yscale = this._xscale;
this.counter++;
} else {
if (this.counter > 4) {
this.counter = 0;
Ltrans = _root.attachMovie("transition2", "trans", _root.getNextHighestDepth(), {_x:275, _y:200});
Ltrans._xscale = 200;
Ltrans._yscale = 200;
Ltrans._alpha = 100;
Ltrans.bGrow = false;
this.numSpawns++;
}
this._xscale = this._xscale * 0.7;
this._alpha = this._alpha - 5;
this._yscale = this._xscale;
}
if (this._width >= 1200) {
this.bGrow = false;
_root.removeMC(_root.gameLevel);
_root.beginGame();
}
if ((this._width <= 10) && (!this.bGrow)) {
_root.removeMC(this);
}
}
Symbol 329 MovieClip Frame 1
function onPress() {
if (!this.bClicked) {
_root.retryLevel();
this.bClicked = true;
}
}
Symbol 340 MovieClip Frame 1
function onEnterFrame() {
if (!this.bSetup) {
if (_root.bPlayMusic == true) {
_root.BGM.setVolume(100);
}
this.bSetup = true;
}
if (this._currentframe > 60) {
_root.removeMC(this);
}
if (this._currentframe == 10) {
_root.adder.start();
}
if (this._currentframe == 30) {
_root.adder.start();
}
if (this._currentframe == 50) {
_root.adder.start();
}
}
Symbol 346 MovieClip [blueBall] Frame 1
function onEnterFrame() {
this.score = 20;
if (this.ballColour == undefined) {
this.ballColour = "blue";
_root.levelBalls[_root.levelBalls.length + 1] = this;
_root.rankCount++;
}
if (this.bHasTarget) {
this.fTime++;
this.targetBall.bChosen = true;
sideA = this._x - this.targetBall._x;
sideB = this._y - this.targetBall._y;
distance = Math.sqrt((sideA * sideA) + (sideB * sideB));
if (distance >= 40) {
angle = Math.atan2(sideB, sideA);
posx = this._x + ((distance * 3) * Math.cos(angle + 1.5));
posy = this._y + ((distance * 3) * Math.sin(angle + 1.5));
sideA = posx - this.targetBall._x;
sideB = posy - this.targetBall._y;
angle = Math.atan2(sideB, sideA);
this.dirx = Math.cos(angle) * 20;
this.diry = Math.sin(angle) * 20;
this._rotation = this._rotation + 30;
}
if (distance < 40) {
this.collideTarget();
}
this._x = this._x - this.dirx;
this._y = this._y - this.diry;
_root.createTrail(this);
}
if (_root.targetBall == this) {
if ((this._currentframe > 27) || (this._currentframe < 15)) {
this.gotoAndPlay(15);
}
} else if (this.bChosen) {
if ((this._currentframe > 44) || (this._currentframe < 30)) {
this.gotoAndPlay(30);
}
} else if (this._currentframe > 13) {
this.gotoAndPlay(1);
}
}
function onPress() {
action = _root.getAction(this);
_root.clicked.start();
if (action != null) {
newBallColour = _root.testColours(action.ballColour, this.ballColour);
if (newBallColour != undefined) {
this.targetBall = action;
this.newBall = newBallColour;
this.bHasTarget = true;
this.fTime = 0;
} else {
_root.targetBall = this;
}
}
}
function collideTarget() {
if (this.newBall != this.ballColour) {
_root.createBall(this.targetBall._x, this.targetBall._y, newBall);
} else {
_root.createMagic(this.targetBall._x, this.targetBall._y, newBall);
}
_root.createFX(this.targetBall);
switch (this.targetBall.ballColour) {
case "red" :
_root.reds++;
break;
case "blue" :
_root.blues++;
break;
case "green" :
_root.blues++;
}
_root.deleteBall(this.targetBall);
_root.blues++;
_root.deleteBall(this);
}
function onRollOver() {
_root.nextTarget = this;
}
function onRollOut() {
_root.nextTarget = undefined;
}
Symbol 352 MovieClip [cyanBall] Frame 1
function onEnterFrame() {
this.score = 30;
if (this.ballColour == undefined) {
this.ballColour = "cyan";
_root.levelBalls[_root.levelBalls.length + 1] = this;
_root.rankCount++;
}
if (this.bHasTarget) {
this.fTime++;
this.targetBall.bChosen = true;
sideA = this._x - this.targetBall._x;
sideB = this._y - this.targetBall._y;
distance = Math.sqrt((sideA * sideA) + (sideB * sideB));
if (distance >= 40) {
angle = Math.atan2(sideB, sideA);
posx = this._x + ((distance * 3) * Math.cos(angle - 1.5));
posy = this._y + ((distance * 3) * Math.sin(angle - 1.5));
sideA = posx - this.targetBall._x;
sideB = posy - this.targetBall._y;
angle = Math.atan2(sideB, sideA);
this.dirx = Math.cos(angle) * 20;
this.diry = Math.sin(angle) * 20;
this._rotation = this._rotation + 30;
}
if (distance < 40) {
this.collideTarget();
}
this._x = this._x - this.dirx;
this._y = this._y - this.diry;
_root.createTrail(this);
}
if (_root.targetBall == this) {
if ((this._currentframe > 27) || (this._currentframe < 15)) {
this.gotoAndPlay(15);
}
} else if (this.bChosen) {
if ((this._currentframe > 44) || (this._currentframe < 30)) {
this.gotoAndPlay(30);
}
} else if (this._currentframe > 13) {
this.gotoAndPlay(1);
}
}
function onPress() {
action = _root.getAction(this);
_root.clicked.start();
if (action != null) {
newBallColour = _root.testColours(action.ballColour, this.ballColour);
if (newBallColour != undefined) {
this.targetBall = action;
this.newBall = newBallColour;
this.bHasTarget = true;
this.fTime = 0;
} else {
_root.targetBall = this;
}
}
}
function collideTarget() {
if (this.newBall != this.ballColour) {
_root.createBall(this.targetBall._x, this.targetBall._y, newBall);
} else {
_root.createMagic(this.targetBall._x, this.targetBall._y, newBall);
}
_root.createFX(this.targetBall);
switch (this.targetBall.ballColour) {
case "cyan" :
_root.cyans++;
break;
case "yellow" :
_root.yellows++;
break;
case "magenta" :
_root.magentas++;
}
_root.deleteBall(this.targetBall);
_root.cyans++;
_root.deleteBall(this);
}
function onRollOver() {
_root.nextTarget = this;
}
function onRollOut() {
_root.nextTarget = undefined;
}
Symbol 359 MovieClip [greenBall] Frame 1
function onEnterFrame() {
this.score = 20;
if (this.ballColour == undefined) {
this.ballColour = "green";
_root.levelBalls[_root.levelBalls.length + 1] = this;
_root.rankCount++;
}
if (this.bHasTarget) {
this.fTime++;
this.targetBall.bChosen = true;
sideA = this._x - this.targetBall._x;
sideB = this._y - this.targetBall._y;
distance = Math.sqrt((sideA * sideA) + (sideB * sideB));
if (distance >= 40) {
angle = Math.atan2(sideB, sideA);
posx = this._x + ((distance * 3) * Math.cos(angle + 1.5));
posy = this._y + ((distance * 3) * Math.sin(angle + 1.5));
sideA = posx - this.targetBall._x;
sideB = posy - this.targetBall._y;
angle = Math.atan2(sideB, sideA);
this.dirx = Math.cos(angle) * 25;
this.diry = Math.sin(angle) * 25;
this._rotation = this._rotation + 30;
}
if (distance < 40) {
this.collideTarget();
}
this._x = this._x - this.dirx;
this._y = this._y - this.diry;
_root.createTrail(this);
}
if (_root.targetBall == this) {
if ((this._currentframe > 27) || (this._currentframe < 15)) {
this.gotoAndPlay(15);
}
} else if (this.bChosen) {
if ((this._currentframe > 44) || (this._currentframe < 30)) {
this.gotoAndPlay(30);
}
} else if (this._currentframe > 13) {
this.gotoAndPlay(1);
}
}
function onPress() {
action = _root.getAction(this);
_root.clicked.start();
if (action != null) {
newBallColour = _root.testColours(action.ballColour, this.ballColour);
if (newBallColour != undefined) {
this.targetBall = action;
this.newBall = newBallColour;
this.bHasTarget = true;
this.fTime = 0;
} else {
_root.targetBall = this;
}
}
}
function collideTarget() {
if (this.newBall != this.ballColour) {
_root.createBall(this.targetBall._x, this.targetBall._y, newBall);
} else {
_root.createMagic(this.targetBall._x, this.targetBall._y, newBall);
}
_root.createFX(this.targetBall);
switch (this.targetBall.ballColour) {
case "red" :
_root.reds++;
break;
case "blue" :
_root.blues++;
break;
case "green" :
_root.blues++;
}
_root.deleteBall(this.targetBall);
_root.greens++;
_root.deleteBall(this);
}
function onRollOver() {
_root.nextTarget = this;
}
function onRollOut() {
_root.nextTarget = undefined;
}
Symbol 361 MovieClip Frame 1
function onEnterFrame() {
if (!this.bSetUp) {
this.bSetUp = true;
this.diry = -2 + Math.random();
this.dirx = -1 + (Math.random() * 2);
this.old_y = this._y;
this.old_x = this._x;
}
this.diry = this.diry + 0.03;
this._y = this._y + this.diry;
this._x = this._x + this.dirx;
this._alpha = this._alpha * 0.95;
if (this._alpha < 5) {
this._y = this.old_y;
this._x = this.old_x;
this.diry = -2 + Math.random();
this.dirx = -1 + (Math.random() * 2);
this._alpha = 100;
}
}
Symbol 362 MovieClip Frame 35
stop();
Symbol 364 MovieClip Frame 1
function onPress() {
if (!this.bClicked) {
Ltrans = _root.attachMovie("transition", "trans", _root.getNextHighestDepth(), {_x:275, _y:200});
Ltrans._xscale = 1;
Ltrans._yscale = 1;
Ltrans._alpha = 0;
Ltrans.bGrow = true;
this.bClicked = true;
_root.reds = 0;
_root.blues = 0;
_root.greens = 0;
_root.cyans = 0;
_root.magentas = 0;
_root.yellows = 0;
_root.bonusScore = 0;
_root.levelScore = 0;
}
}
function onEnterFrame() {
if (!this.bsetup) {
this.bsetup = true;
this.counter = 0;
this._y = 500;
}
if (this.counter > 100) {
if (this._y > 341) {
dist = this._y - 341;
this._y = this._y - (dist * 0.1);
}
} else {
this.counter++;
}
}
Symbol 369 MovieClip Frame 1
function onRelease() {
if (!this.bClicked) {
tScore = _root.getTotalScore();
url = "http://www.smileygamer.com/scripts/highscores.php";
lv = new LoadVars();
lv.id = 1970;
lv.score = (tScore * 100) + (tScore % 97);
lv.player = _root.player_name;
lv.sendAndLoad(url, lv, "GET");
allowed_site = "smileygamer.com";
if (_root._url.indexOf(allowed_site) == -1) {
getURL ("http://www.smileygamer.com/highscores/1970/kullors-school-of-magic.html?gameref=1970", "_blank");
}
this.bClicked = true;
this.gotoAndStop(2);
}
}
function onEnterFrame() {
if (!this.bClicked) {
this.gotoAndStop(1);
}
}
Symbol 413 MovieClip Frame 1
function onEnterFrame() {
if (!this.bSetup) {
current = _root.gameLevel._currentframe / 2;
MochiAd.showClickAwayAd({clip:this.add_show, id:"e7ef81789aff96d2"});
this.subBut._x = 500;
if (_root.levelScores[current] < _root.levelScore) {
this.subBut._x = 136;
_root.levelScores[current] = _root.levelScore;
_root.saveScores();
}
this.bSetup = true;
if (_root.bPlayMusic) {
_root.BGM.setVolume(70);
}
this.count = 0;
this.blueC = 0;
this.redC = 0;
this.cyC = 0;
this.yellC = 0;
this.magC = 0;
this.greenC = 0;
this.lScore = 0;
this.bScore = 0;
this.tScore = _root.levelScores[current];
this.rank.gotoAndStop(1);
this.rank._xscale = 10;
this.rank._yscale = 10;
}
this.blueQ.text = String(_root.blues);
this.greenQ.text = String(_root.greens);
this.redQ.text = String(_root.reds);
this.cyanQ.text = String(_root.cyans);
this.yellowQ.text = String(_root.yellows);
this.magentaQ.text = String(_root.magentas);
if (this.blueC < (_root.blues * 20)) {
this.blueC = this.blueC + 5;
this.blueSc.text = String(this.blueC);
}
if (this.greenC < (_root.greens * 20)) {
this.greenC = this.greenC + 5;
this.greenSc.text = String(this.greenC);
}
if (this.redC < (_root.reds * 30)) {
this.redC = this.redC + 5;
this.redSc.text = String(this.redC);
}
if (this.cyC < (_root.cyans * 30)) {
this.cyC = this.cyC + 5;
this.cyanSc.text = String(this.cyC);
}
if (this.yellC < (_root.yellows * 40)) {
this.yellC = this.yellC + 5;
this.yellowSc.text = String(this.yellC);
}
if (this.magC < (_root.magentas * 40)) {
this.magC = this.magC + 5;
this.magentaSc.text = String(this.magC);
}
if (this.lScore < _root.levelScore) {
this.lScore = this.lScore + 10;
if (this.lScore > _root.levelScore) {
this.lScore = _root.levelScore;
}
this.levelScore.text = this.lScore;
}
this.totalScore.text = this.tScore;
this.combScore.text = _root.getTotalScore();
if (this.bScore < _root.bonusScore) {
this.bScore = this.bScore + 5;
if (this.bScore > _root.bonusScore) {
this.bScore = _root.bonusScore;
}
this.timeBonus.text = this.bScore;
}
this.testC = (((((this.blueC + this.greenC) + this.redC) + this.cyC) + this.magC) + this.yellC) + this.bScore;
if (this.count > 1) {
if (this.testC < _root.levelScore) {
_root.adder.start();
this.count = 0;
}
}
this.count++;
if ((this.testC == _root.levelScore) && (!this.Ranked)) {
getRank();
}
}
function getTimes() {
this.levelTime.text = time_to_string(_root.levelTime);
this.TotalTime.text = time_to_string(_root.playerTotalTime);
}
function time_to_string(time_to_convert) {
elapsed_hours = Math.floor(time_to_convert / 3600000);
remaining = time_to_convert - (elapsed_hours * 3600000);
elapsed_minutes = Math.floor(remaining / 60000);
remaining = remaining - (elapsed_minutes * 60000);
elapsed_seconds = Math.floor(remaining / 1000);
remaining = remaining - (elapsed_seconds * 1000);
elapsed_fs = Math.floor(remaining / 10);
if (elapsed_minutes < 10) {
minutes = "0" + elapsed_minutes.toString();
} else {
minutes = elapsed_minutes.toString();
}
if (elapsed_seconds < 10) {
seconds = "0" + elapsed_seconds.toString();
} else {
seconds = elapsed_seconds.toString();
}
return((minutes + ":") + seconds);
}
function getRank() {
if (_root.levelScore < (15 * _root.rankMulti)) {
this.rank.gotoAndStop(6);
}
if (_root.levelScore >= (15 * _root.rankMulti)) {
this.rank.gotoAndStop(5);
}
if (_root.levelScore > (20 * _root.rankMulti)) {
this.rank.gotoAndStop(4);
}
if (_root.levelScore > (30 * _root.rankMulti)) {
this.rank.gotoAndStop(3);
}
if (_root.levelScore > (50 * _root.rankMulti)) {
this.rank.gotoAndStop(2);
}
this.Ranked = true;
}
Symbol 419 MovieClip [blackBall] Frame 1
function onEnterFrame() {
this.score = 0;
if (this.ballColour == undefined) {
this.ballColour = "black";
_root.levelBalls[_root.levelBalls.length + 1] = this;
}
if (this.bHasTarget) {
this.fTime++;
this.targetBall.bChosen = true;
sideA = this._x - this.targetBall._x;
sideB = this._y - this.targetBall._y;
distance = Math.sqrt((sideA * sideA) + (sideB * sideB));
if (distance >= 40) {
angle = Math.atan2(sideB, sideA);
posx = this._x + ((distance * 3) * Math.cos(angle + 1.5));
posy = this._y + ((distance * 3) * Math.sin(angle + 1.5));
sideA = posx - this.targetBall._x;
sideB = posy - this.targetBall._y;
angle = Math.atan2(sideB, sideA);
this.dirx = Math.cos(angle) * 20;
this.diry = Math.sin(angle) * 20;
this._rotation = this._rotation + 30;
}
if (distance < 40) {
this.collideTarget();
}
this._x = this._x - this.dirx;
this._y = this._y - this.diry;
_root.createTrail(this);
}
if (_root.targetBall == this) {
if ((this._currentframe > 27) || (this._currentframe < 15)) {
this.gotoAndPlay(15);
}
} else if (this.bChosen) {
if ((this._currentframe > 44) || (this._currentframe < 30)) {
this.gotoAndPlay(30);
}
} else if (this._currentframe > 13) {
this.gotoAndPlay(1);
}
}
function onPress() {
action = _root.getAction(this);
_root.clicked.start();
if (action != null) {
newBallColour = _root.testColours(action.ballColour, this.ballColour);
if (newBallColour != undefined) {
this.targetBall = action;
this.newBall = newBallColour;
this.bHasTarget = true;
this.fTime = 0;
} else {
_root.targetBall = this;
}
}
}
function collideTarget() {
if (this.newBall != this.ballColour) {
_root.createBall(this.targetBall._x, this.targetBall._y, newBall);
} else {
_root.createMagic(this.targetBall._x, this.targetBall._y, newBall);
}
_root.createFX(this.targetBall);
switch (this.targetBall.ballColour) {
case "red" :
_root.reds++;
break;
case "blue" :
_root.blues++;
break;
case "green" :
_root.blues++;
break;
case "magenta" :
_root.magentas++;
break;
case "yellow" :
_root.yellow++;
break;
case "cyan" :
_root.cyans++;
}
_root.deleteBall(this.targetBall);
_root.deleteBall(this);
}
function onRollOver() {
_root.nextTarget = this;
}
function onRollOut() {
_root.nextTarget = undefined;
}
Symbol 434 MovieClip [GameFinished] Frame 1
function onEnterFrame() {
_root.BGM.setVolume(50);
}
this.subButton.onPress = function () {
mochi.MochiScores.showLeaderboard({boardID:"c2aa7e70c4d5b7ed", score:_root.playerScore, name:this._parent.playerName.text, onClose:function () {
_root.beginGame();
}});
_root.removeMC(_root.gameLevel);
_root.removeMC(titleScr);
};
Symbol 437 MovieClip Frame 1
function onPress() {
if (!this.bClicked) {
Ltrans = _root.attachMovie("MainTrans", "trans", _root.getNextHighestDepth(), {_x:275, _y:200});
Ltrans._xscale = 1;
Ltrans._yscale = 1;
Ltrans._alpha = 0;
Ltrans.bGrow = true;
this.bClicked = true;
_root.reds = 0;
_root.blues = 0;
_root.greens = 0;
_root.cyans = 0;
_root.magentas = 0;
_root.yellows = 0;
_root.bonusScore = 0;
_root.levelScore = 0;
}
}
Symbol 440 MovieClip Frame 1
function onPress() {
if (!this.bClicked) {
Ltrans = _root.attachMovie("retryTransition", "trans", _root.getNextHighestDepth(), {_x:275, _y:200});
Ltrans._xscale = 1;
Ltrans._yscale = 1;
Ltrans._alpha = 0;
Ltrans.bGrow = true;
this.bClicked = true;
_root.reds = 0;
_root.blues = 0;
_root.greens = 0;
_root.cyans = 0;
_root.magentas = 0;
_root.yellows = 0;
_root.bonusScore = 0;
_root.levelScore = 0;
}
}
Symbol 444 MovieClip Frame 1
function onEnterFrame() {
_root.BGM.setVolume(50);
}
this.subButton.onPress = function () {
mochi.MochiScores.showLeaderboard({boardID:"9519d6bf4a6b1795", score:_root.playerScore, name:this._parent.playerName.text, onClose:function () {
_root.beginGame();
}});
_root.removeMC(_root.gameLevel);
_root.removeMC(titleScr);
};