Frame 1
function gotoMenu() {
gotoAndPlay ("title");
}
function gotoHiscores() {
gotoAndPlay ("hiscores");
}
function gotoPractice() {
gotoAndPlay ("practice");
}
function gotoGame() {
gotoAndPlay ("running");
}
function gotoHelp() {
gotoAndPlay ("instructions");
}
Stage.showMenu = false;
_quality = "HIGH";
stop();
var musicOn = false;
var isUnlocked = false;
_global.masterVolume = new Sound();
var restoreVolume = _global.masterVolume.getVolume();
var transFunc;
play();
MochiAd.showPreGameAd({id:"f75b3321bff54721", res:"500x350", no_bg:true, color:13369344, outline:16777215});
mochi.MochiServices.connect("f75b3321bff54721");
Frame 2
stop();
transition.gotoAndPlay("close");
transFunc = gotoMenu;
Frame 21
function setDecimalPlaces(num, dp) {
if (dp <= 0) {
return(String(Math.round(num)));
}
var _local5 = Math.pow(10, dp);
var _local1 = String(Math.round(num * _local5));
if (num < 1) {
while (_local1.length < (dp + 1)) {
_local1 = "0" + _local1;
}
}
var _local4 = (_local1.slice(0, -dp) + ".") + _local1.slice(-dp);
return(_local4);
}
function initSave() {
var _local1 = SharedObject.getLocal("crumbs_save");
var _local2 = false;
for (i in _local1.data) {
_local2 = true;
}
if (!_local2) {
_local1.data.levels = new Array();
_local1.flush();
}
}
function saveState() {
var _local1 = SharedObject.getLocal("crumbs_save");
_local1.data.levels[0] = unlockCode;
_local1.flush();
}
function getState() {
var _local1 = SharedObject.getLocal("crumbs_save");
if (_local1.data.levels[0] == unlockCode) {
isUnlocked = true;
}
}
stop();
var unlockCode = "gb57x8sde23pj0tz";
initSave();
getState();
var numStages = 5;
var currentStage = 0;
if (isUnlocked) {
menu.gotoAndStop("unlocked");
}
var totalScore = 0;
var foodType = new String();
var gameType = new String();
backgroundScrollerInst.init("LogoBG", 2, 1);
menu.btnPlayInst.onRelease = function () {
sfxClick.start();
gameType = "challenge";
transition.gotoAndPlay("close");
transFunc = gotoHelp;
};
menu.btnScoresInst.onRelease = function () {
sfxClick.start();
transition.gotoAndPlay("close");
transFunc = gotoHiscores;
};
menu.btnPracticeInst.onRelease = function () {
sfxClick.start();
transition.gotoAndPlay("close");
transFunc = gotoPractice;
};
sfxClick = new Sound(this.createEmptyMovieClip("sfx0", 5000));
sfxClick.attachSound("button_click.wav");
sfxChomp1 = new Sound(this.createEmptyMovieClip("sfx1", 5001));
sfxChomp1.attachSound("chomp1a.wav");
sfxChomp2 = new Sound(this.createEmptyMovieClip("sfx2", 5002));
sfxChomp2.attachSound("chomp2a.wav");
sfxReady = new Sound(this.createEmptyMovieClip("sfx3", 5003));
sfxReady.attachSound("ready.wav");
sfxGo = new Sound(this.createEmptyMovieClip("sfx4", 5004));
sfxGo.attachSound("go.wav");
sfxTimeUp = new Sound(this.createEmptyMovieClip("sfx5", 5005));
sfxTimeUp.attachSound("timeup.wav");
sfxYouAte = new Sound(this.createEmptyMovieClip("sfx6", 5006));
sfxYouAte.attachSound("youate.wav");
sfxTitleLoop = new Sound(this.createEmptyMovieClip("sfx7", 5007));
sfxTitleLoop.attachSound("title_loop.wav");
sfxTitleIntro = new Sound(this.createEmptyMovieClip("sfx8", 5008));
sfxTitleIntro.attachSound("intro.wav");
sfxTitleIntro.onSoundComplete = function () {
sfxTitleLoop.start(0, 99999);
};
sfxTitleIntro.start();
onEnterFrame = function () {
backgroundScrollerInst.update();
};
Frame 31
stop();
btnBackInst.onRelease = function () {
transition.gotoAndPlay("close");
transFunc = gotoMenu;
};
btnStage1.onRelease = function () {
numStages = 1;
currentStage = 0;
sfxClick.start();
gameType = "practice";
transition.gotoAndPlay("close");
transFunc = gotoGame;
};
btnStage2.onRelease = function () {
numStages = 1;
currentStage = 1;
sfxClick.start();
gameType = "practice";
transition.gotoAndPlay("close");
transFunc = gotoGame;
};
btnStage3.onRelease = function () {
numStages = 1;
currentStage = 2;
sfxClick.start();
gameType = "practice";
transition.gotoAndPlay("close");
transFunc = gotoGame;
};
btnStage4.onRelease = function () {
numStages = 1;
currentStage = 3;
sfxClick.start();
gameType = "practice";
transition.gotoAndPlay("close");
transFunc = gotoGame;
};
btnStage5.onRelease = function () {
numStages = 1;
currentStage = 4;
sfxClick.start();
gameType = "practice";
transition.gotoAndPlay("close");
transFunc = gotoGame;
};
backgroundScrollerInst.init("LogoBG", 2, 1);
onEnterFrame = function () {
backgroundScrollerInst.update();
};
Frame 41
stop();
btnContinueInst.onRelease = function () {
transition.gotoAndPlay("close");
transFunc = gotoGame;
};
Frame 51
function setFoodType() {
foodType = stages[currentStage];
cookie01._visible = false;
cookie02._visible = false;
cookie03._visible = false;
cookie04._visible = false;
cookie05._visible = false;
switch (foodType) {
case "cookie01" :
cookie01._visible = true;
foodTotal = TOTAL_COOKIE_01;
return;
case "cookie02" :
cookie02._visible = true;
foodTotal = TOTAL_COOKIE_02;
return;
case "cookie03" :
cookie03._visible = true;
foodTotal = TOTAL_COOKIE_03;
return;
case "cookie04" :
cookie04._visible = true;
foodTotal = TOTAL_COOKIE_04;
return;
case "cookie05" :
cookie05._visible = true;
foodTotal = TOTAL_COOKIE_05;
}
}
function startGame() {
initTime = getTimer();
currTime = MAX_TIME;
clickAreaInst.enabled = true;
gameState = "running";
}
function initGame() {
gameState = "start";
clickAreaInst.enabled = false;
time.text = MAX_TIME / 1000;
timeUpAnimInst.gotoAndStop("off");
helpClip._visible = false;
readyGoInst.gotoAndPlay("start");
}
function stageComplete() {
if (!isQuitting) {
if (gameType == "practice") {
transFunc = gotoSelect;
} else {
transFunc = nextStage;
}
transition.gotoAndPlay("close");
}
}
function gotoSelect() {
Mouse.show();
cursorInst._x = -50;
cursorInst._y = -50;
biteHolder.removeMovieClip();
biteMaskHolder.removeMovieClip();
gotoAndPlay ("practice");
}
function quitGame() {
Mouse.show();
cursorInst._x = -50;
cursorInst._y = -50;
biteHolder.removeMovieClip();
biteMaskHolder.removeMovieClip();
gotoAndPlay ("title");
}
function nextStage() {
currentStage++;
if (currentStage < numStages) {
biteHolder.removeMovieClip();
biteMaskHolder.removeMovieClip();
createEmptyMovieClip("biteMaskHolder", Z_MASK);
PlateInst.setMask("biteMaskHolder");
createEmptyMovieClip("biteHolder", Z_BITE);
biteHolder._visible = false;
biteNum = 0;
setFoodType();
initGame();
} else {
biteHolder.removeMovieClip();
biteMaskHolder.removeMovieClip();
gotoAndPlay ("complete");
}
}
function getPercentCrumbs() {
if (biteNum == 0) {
eaten = 0;
} else {
eaten = 100 - ((countCrumbs(PRECISION, this[foodType]) / foodTotal) * 100);
}
totalScore = totalScore + eaten;
if (eaten < 10) {
eatenStr = setDecimalPlaces(eaten, 3);
} else if (eaten < 100) {
eatenStr = setDecimalPlaces(eaten, 2);
} else {
eatenStr = "100.0";
}
}
function releaseBite() {
growBite = false;
addBite(biteMarkerInst._x, biteMarkerInst._y, biteMarkerInst._xscale);
biteMarkerInst._visible = false;
biteMarkerInst._xscale = 100;
biteMarkerInst._yscale = 100;
cursorInst._visible = true;
}
function addBite(bx, by, bscale) {
biteMaskHolder.attachMovie("BiteMask", "bite" + biteNum, biteNum);
biteHolder.attachMovie("BiteMask", "bite" + biteNum, biteNum);
biteHolder["bite" + biteNum]._x = bx;
biteHolder["bite" + biteNum]._y = by;
biteHolder["bite" + biteNum]._xscale = bscale;
biteHolder["bite" + biteNum]._yscale = bscale;
biteHolder["bite" + biteNum]._visible = false;
biteMaskHolder["bite" + biteNum]._x = bx;
biteMaskHolder["bite" + biteNum]._y = by;
biteMaskHolder["bite" + biteNum]._xscale = bscale;
biteMaskHolder["bite" + biteNum]._yscale = bscale;
particleBurst(biteHolder["bite" + biteNum], 12);
biteNum++;
}
function countCrumbs(res, foodInst) {
var _local12 = createEmptyMovieClip("debug", 10000);
var _local11 = 0;
var _local9 = new Array();
var _local2 = 0;
var _local8 = foodInst._x - (foodInst._width / 2);
var _local7 = foodInst._y - (foodInst._height / 2);
var _local6 = foodInst._width / res;
var _local5 = foodInst._height / res;
var _local4 = 0;
while (_local4 < (res + 1)) {
var _local1 = 0;
while (_local1 < (res + 1)) {
_local9[_local2] = biteHolder.hitTest(_local8 + (_local4 * _local6), _local7 + (_local1 * _local5), true);
_local2++;
_local1++;
}
_local4++;
}
_local2 = 0;
_local4 = 0;
while (_local4 < (res + 1)) {
var _local1 = 0;
while (_local1 < (res + 1)) {
if (_local9[_local2] == false) {
if (foodInst.hitTest(_local8 + (_local4 * _local6), _local7 + (_local1 * _local5), true)) {
_local11++;
}
}
_local2++;
_local1++;
}
_local4++;
}
trace(_local11);
return(_local11);
}
function particleBurst(shape, numBursts) {
var _local9 = 0.0174533;
var _local11 = 12;
var _local15 = 0;
var _local12 = 360 / numBursts;
var _local3 = createEmptyMovieClip("particleHolder", 10000);
var _local2 = 0;
while (_local2 < numBursts) {
_local3.attachMovie("particleSystem", "burst" + _local2, _local2 * 10);
_local3["burst" + _local2]._x = shape._x;
_local3["burst" + _local2]._y = shape._y;
currAngle = _local12 * _local2;
var _local7 = Math.sin(currAngle * _local9);
var _local6 = -Math.cos(currAngle * _local9);
var _local5 = 0;
while (_local5 < 1000) {
_local3["burst" + _local2]._x = _local3["burst" + _local2]._x + _local7;
_local3["burst" + _local2]._y = _local3["burst" + _local2]._y + _local6;
if (!shape.hitTest(_local3["burst" + _local2]._x, _local3["burst" + _local2]._y, true)) {
_local3["burst" + _local2].init("crumbParticle", 3, 8, _local7 * 2, _local6 * 2);
_local3["burst" + _local2].setSpeedRandomness(2, 2);
_local3["burst" + _local2].setLifeRandomness(0.5);
_local3["burst" + _local2].setScaling(0.8);
_local3["burst" + _local2].setAlpha(false);
_local3["burst" + _local2].setSpawnArea(20, 20);
_local3["burst" + _local2].holder._x = _local3["burst" + _local2]._x;
_local3["burst" + _local2].holder._y = _local3["burst" + _local2]._y;
break;
}
_local5++;
}
_local2++;
}
var _local10 = false;
var _local4 = 0;
while (_local4 < _local11) {
if (this[foodType].hitTest(particleHolder["burst" + _local4]._x, particleHolder["burst" + _local4]._y, true)) {
if (!biteHolder.hitTest(particleHolder["burst" + _local4]._x, particleHolder["burst" + _local4]._y, true)) {
particleHolder["burst" + _local4].burst();
_local10 = true;
}
}
_local4++;
}
if (_local10) {
var _local14 = Math.random();
if (_local14 > 0.5) {
sfxChomp1.start();
} else {
sfxChomp2.start();
}
}
}
stop();
var PRECISION = 80;
var TOTAL_COOKIE_01 = 5050;
var TOTAL_COOKIE_02 = 3781;
var TOTAL_COOKIE_03 = 4572;
var TOTAL_COOKIE_04 = 3568;
var TOTAL_COOKIE_05 = 3931;
var Z_BITE = 1000;
var Z_MASK = 2000;
var MAX_GROWRATE = 8.5;
var MAX_TIME = 5000;
var stages = new Array("cookie01", "cookie02", "cookie03", "cookie04", "cookie05");
var gameState = "start";
var isQuitting = false;
setFoodType();
initGame();
var initTime = 0;
var currTime = MAX_TIME;
var growBite = false;
var growRate = MAX_GROWRATE;
var biteNum = 0;
var eaten = 0;
var eatenStr = new String();
biteMarkerInst._visible = false;
createEmptyMovieClip("biteMaskHolder", Z_MASK);
PlateInst.setMask("biteMaskHolder");
createEmptyMovieClip("biteHolder", Z_BITE);
biteHolder._visible = false;
musicOn = false;
sfxTitleLoop.stop();
Mouse.hide();
onMouseMove = function () {
cursorInst._x = _xmouse;
cursorInst._y = _ymouse;
updateAfterEvent();
};
clickAreaInst.onPress = function () {
biteMarkerInst._x = _xmouse;
biteMarkerInst._y = _ymouse;
biteMarkerInst._visible = true;
cursorInst._visible = false;
growRate = MAX_GROWRATE;
growBite = true;
};
clickAreaInst.onRelease = function () {
releaseBite();
};
btnQuit.onRelease = function () {
stopAllSounds();
sfxClick.start();
isQuitting = true;
transition.gotoAndPlay("close");
transFunc = quitGame;
};
onEnterFrame = function () {
switch (gameState) {
case "start" :
return;
case "running" :
if (growBite) {
biteMarkerInst._xscale = biteMarkerInst._xscale + growRate;
biteMarkerInst._yscale = biteMarkerInst._yscale + growRate;
growRate = growRate * 0.95;
}
if (currTime > 0) {
currTime = MAX_TIME - (getTimer() - initTime);
time.text = Math.round(currTime / 1000);
} else {
currTime = 0;
if (growBite) {
releaseBite();
}
clickAreaInst.enabled = false;
timeUpAnimInst.gotoAndPlay("start");
gameState = "finish";
}
return;
case "finish" :
}
};
Frame 61
function enterScore(playerName, score) {
mochi.MochiScores.submit(score, playerName, _root, "scoreSent");
scoreinput.gotoAndStop("wait");
}
function scoreSent(scoreObj) {
for (var _local4 in scoreObj.scores.alltime.rows) {
scoreAllValues.unshift(scoreObj.scores.alltime.rows[_local4][0] / 100);
scoreAllNames.unshift(scoreObj.scores.alltime.rows[_local4][1]);
scoreAllGeo.unshift(scoreObj.scores.alltime.rows[_local4][2]);
}
for (var _local3 in scoreObj.scores.weekly.rows) {
scoreWeekValues.unshift(scoreObj.scores.weekly.rows[_local3][0] / 100);
scoreWeekNames.unshift(scoreObj.scores.weekly.rows[_local3][1]);
scoreWeekGeo.unshift(scoreObj.scores.weekly.rows[_local3][2]);
}
var _local1 = 0;
while (_local1 < 10) {
if (scoreWeekValues[_local1] == undefined) {
scoretable["n" + _local1].text = "DAV";
scoretable["s" + _local1].text = "10.00";
} else {
scoretable["n" + _local1].text = scoreWeekNames[_local1];
scoretable["s" + _local1].text = scoreWeekValues[_local1];
}
_local1++;
}
scoreinput._visible = false;
scoretable.btnAllTime.gotoAndStop("off");
scoretable.btnToday.gotoAndStop("on");
scoretable._visible = true;
}
stop();
Mouse.show();
if (isUnlocked) {
scoreinput.unlockedClip._visible = false;
}
if (!musicOn) {
sfxTitleLoop.start(0, 99999);
musicOn = true;
}
saveState();
var scoreAllValues = new Array();
var scoreAllNames = new Array();
var scoreWeekValues = new Array();
var scoreWeekNames = new Array();
scoretable._visible = false;
totalScore = totalScore / 5;
var score = setDecimalPlaces(totalScore, 2);
scoreinput.scoreBox.text = score + "%";
Selection.setFocus(scoreinput.nameBox);
mochi.MochiScores.setBoardID("e8eeec873d956452");
scoreinput.btnEnter.onRelease = function () {
var _local1 = score * 100;
enterScore(scoreinput.nameBox.text.toUpperCase(), _local1);
sfxClick.start();
};
var keyListener = new Object();
keyListener.onKeyDown = function () {
if (Key.getCode() == 13) {
var _local1 = score * 100;
enterScore(scoreinput.nameBox.text.toUpperCase(), _local1);
sfxClick.start();
removeListener(keyListener);
}
};
Key.addListener(keyListener);
scoretable.btnAllTime.onRelease = function () {
sfxClick.start();
var _local1 = 0;
while (_local1 < 10) {
if (scoreAllValues[_local1] == undefined) {
scoretable["n" + _local1].text = "DAV";
scoretable["s" + _local1].text = "10.00";
} else {
scoretable["n" + _local1].text = scoreAllNames[_local1];
scoretable["s" + _local1].text = scoreAllValues[_local1];
}
_local1++;
}
scoretable.btnAllTime.gotoAndStop("on");
scoretable.btnWeek.gotoAndStop("off");
};
scoretable.btnWeek.onRelease = function () {
sfxClick.start();
var _local1 = 0;
while (_local1 < 10) {
if (scoreWeekValues[_local1] == undefined) {
scoretable["n" + _local1].text = "DAV";
scoretable["s" + _local1].text = "10.00";
} else {
scoretable["n" + _local1].text = scoreWeekNames[_local1];
scoretable["s" + _local1].text = scoreWeekValues[_local1];
}
_local1++;
}
scoretable.btnAllTime.gotoAndStop("off");
scoretable.btnWeek.gotoAndStop("on");
};
scoretable.btnBackInst.onRelease = function () {
sfxClick.start();
transition.gotoAndPlay("close");
transFunc = gotoMenu;
};
backgroundScrollerInst.init("LogoBG", 2, 1);
onEnterFrame = function () {
backgroundScrollerInst.update();
};
Frame 71
function scoresReceived(scoreObj) {
for (var _local4 in scoreObj.scores.alltime.rows) {
scoreAllValues.unshift(scoreObj.scores.alltime.rows[_local4][0] / 100);
scoreAllNames.unshift(scoreObj.scores.alltime.rows[_local4][1]);
scoreAllGeo.unshift(scoreObj.scores.alltime.rows[_local4][2]);
}
for (var _local3 in scoreObj.scores.weekly.rows) {
scoreWeekValues.unshift(scoreObj.scores.weekly.rows[_local3][0] / 100);
scoreWeekNames.unshift(scoreObj.scores.weekly.rows[_local3][1]);
scoreWeekGeo.unshift(scoreObj.scores.weekly.rows[_local3][2]);
}
var _local1 = 0;
while (_local1 < 10) {
if (scoreWeekValues[_local1] == undefined) {
scoretable["n" + _local1].text = "DAV";
scoretable["s" + _local1].text = "10.00";
} else {
scoretable["n" + _local1].text = scoreWeekNames[_local1];
scoretable["s" + _local1].text = scoreWeekValues[_local1];
}
_local1++;
}
scorewait._visible = false;
scoretable.btnAllTime.gotoAndStop("off");
scoretable.btnToday.gotoAndStop("on");
scoretable._visible = true;
}
stop();
var scoreAllValues = new Array();
var scoreAllNames = new Array();
var scoreWeekValues = new Array();
var scoreWeekNames = new Array();
scoretable._visible = false;
mochi.MochiScores.setBoardID("e8eeec873d956452");
mochi.MochiScores.requestList(_root, "scoresReceived");
scoretable.btnAllTime.onRelease = function () {
sfxClick.start();
var _local1 = 0;
while (_local1 < 10) {
if (scoreAllValues[_local1] == undefined) {
scoretable["n" + _local1].text = "DAV";
scoretable["s" + _local1].text = "10.00";
} else {
scoretable["n" + _local1].text = scoreAllNames[_local1];
scoretable["s" + _local1].text = scoreAllValues[_local1];
}
_local1++;
}
scoretable.btnAllTime.gotoAndStop("on");
scoretable.btnWeek.gotoAndStop("off");
};
scoretable.btnWeek.onRelease = function () {
sfxClick.start();
var _local1 = 0;
while (_local1 < 10) {
if (scoreWeekValues[_local1] == undefined) {
scoretable["n" + _local1].text = "DAV";
scoretable["s" + _local1].text = "10.00";
} else {
scoretable["n" + _local1].text = scoreWeekNames[_local1];
scoretable["s" + _local1].text = scoreWeekValues[_local1];
}
_local1++;
}
scoretable.btnAllTime.gotoAndStop("off");
scoretable.btnWeek.gotoAndStop("on");
};
scoretable.btnBackInst.onRelease = function () {
sfxClick.start();
transition.gotoAndPlay("close");
transFunc = gotoMenu;
};
backgroundScrollerInst.init("LogoBG", 2, 1);
onEnterFrame = function () {
backgroundScrollerInst.update();
};
Symbol 6 MovieClip [particleSystem] Frame 1
#initclip 6
Object.registerClass("particleSystem", ParticleSystem);
#endinitclip
Symbol 15 MovieClip Frame 1
blocker.useHandCursor = false;
Symbol 16 MovieClip Frame 1
stop();
Symbol 16 MovieClip Frame 13
_parent.transFunc();
Symbol 16 MovieClip Frame 24
gotoAndStop ("off");
Symbol 154 MovieClip [__Packages.mochi.MochiServices] Frame 0
class mochi.MochiServices
{
static var _id, _container, _clip, _sendChannelName, _rcvChannelName, __get__comChannelName, onError, _listenChannel, _rcvChannel, _loader, _loaderListener, _sendChannel;
function MochiServices () {
}
static function get id() {
return(_id);
}
static function get clip() {
return(_container);
}
static function get childClip() {
return(_clip);
}
static function getVersion() {
return("1.31");
}
static function allowDomains(server) {
var _local1 = server.split("/")[2].split(":")[0];
if (System.security) {
if (System.security.allowDomain) {
System.security.allowDomain("*");
System.security.allowDomain(_local1);
}
if (System.security.allowInsecureDomain) {
System.security.allowInsecureDomain("*");
System.security.allowInsecureDomain(_local1);
}
}
return(_local1);
}
static function get isNetworkAvailable() {
if (System.security) {
var _local1 = System.security;
if (_local1.sandboxType == "localWithFile") {
return(false);
}
}
return(true);
}
static function set comChannelName(val) {
if (val != undefined) {
if (val.length > 3) {
_sendChannelName = val + "_fromgame";
_rcvChannelName = val;
initComChannels();
}
}
//return(__get__comChannelName());
}
static function get connected() {
return(_connected);
}
static function connect(id, clip, onError) {
if ((!_connected) && (_clip == undefined)) {
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
}
if (onError != undefined) {
mochi.MochiServices.onError = onError;
} else if (mochi.MochiServices.onError == undefined) {
mochi.MochiServices.onError = function (errorCode) {
trace(errorCode);
};
}
}
static function disconnect() {
if (_connected || (_connecting)) {
_connecting = (_connected = false);
flush(true);
if (_clip != undefined) {
_clip.removeMovieClip();
delete _clip;
}
_listenChannel.close();
_rcvChannel.close();
}
}
static function init(id, clip) {
_id = id;
if (clip != undefined) {
_container = clip;
} else {
_container = _root;
}
loadCommunicator(id, _container);
}
static function loadCommunicator(id, clip) {
var _local2 = "_mochiservices_com_" + id;
if (_clip != null) {
return(_clip);
}
if (!isNetworkAvailable) {
return(null);
}
allowDomains(_gatewayURL);
_clip = clip.createEmptyMovieClip(_local2, 10336, false);
_loader = new MovieClipLoader();
if (_loaderListener.waitInterval != null) {
clearInterval(_loaderListener.waitInterval);
}
_loaderListener = {};
_loaderListener.onLoadError = function (target_mc, errorCode, httpStatus) {
trace("MochiServices could not load.");
mochi.MochiServices.disconnect();
mochi.MochiServices.onError.apply(null, [errorCode]);
};
_loaderListener.onLoadStart = function (target_mc) {
this.isLoading = true;
};
_loaderListener.startTime = getTimer();
_loaderListener.wait = function () {
if ((getTimer() - this.startTime) > 10000) {
if (!this.isLoading) {
mochi.MochiServices.disconnect();
mochi.MochiServices.onError.apply(null, ["IOError"]);
}
clearInterval(this.waitInterval);
}
};
_loaderListener.waitInterval = setInterval(_loaderListener, "wait", 1000);
_loader.addListener(_loaderListener);
_loader.loadClip(_gatewayURL, _clip);
_sendChannel = new LocalConnection();
_sendChannel._queue = [];
_rcvChannel = new LocalConnection();
_rcvChannel.allowDomain = function (d) {
return(true);
};
_rcvChannel.allowInsecureDomain = _rcvChannel.allowDomain;
_rcvChannel._nextcallbackID = 0;
_rcvChannel._callbacks = {};
listen();
return(_clip);
}
static function onStatus(infoObject) {
if (!(infoObject.level === "error")) {
} else {
_connected = false;
_listenChannel.connect(_listenChannelName);
}
}
static function listen() {
_listenChannel = new LocalConnection();
_listenChannel.handshake = function (args) {
mochi.MochiServices.__set__comChannelName(args.newChannel);
};
_listenChannel.allowDomain = function (d) {
return(true);
};
_listenChannel.allowInsecureDomain = _listenChannel.allowDomain;
_listenChannel.connect(_listenChannelName);
trace("Waiting for MochiAds services to connect...");
}
static function initComChannels() {
if (!_connected) {
_sendChannel.onStatus = function (infoObject) {
mochi.MochiServices.onStatus(infoObject);
};
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_clip, version:getVersion()});
_rcvChannel.onStatus = function (infoObject) {
mochi.MochiServices.onStatus(infoObject);
};
_rcvChannel.onReceive = function (pkg) {
var _local5 = pkg.callbackID;
var _local4 = this._callbacks[_local5];
if (!_local4) {
return(undefined);
}
var _local2 = _local4.callbackMethod;
var _local3 = _local4.callbackObject;
if (_local3 && (typeof(_local2) == "string")) {
_local2 = _local3[_local2];
}
if (_local2 != undefined) {
_local2.apply(_local3, pkg.args);
}
delete this._callbacks[_local5];
};
_rcvChannel.onError = function () {
mochi.MochiServices.onError.apply(null, ["IOError"]);
};
_rcvChannel.connect(_rcvChannelName);
trace("connected!");
_connecting = false;
_connected = true;
_listenChannel.close();
while (_sendChannel._queue.length > 0) {
_sendChannel.send(_sendChannelName, "onReceive", _sendChannel._queue.shift());
}
}
}
static function flush(error) {
var _local1;
var _local2;
while (_sendChannel._queue.length > 0) {
_local1 = _sendChannel._queue.shift();
if (_local1.callbackID != null) {
_local2 = _rcvChannel._callbacks[_local1.callbackID];
}
delete _rcvChannel._callbacks[_local1.callbackID];
if (error) {
handleError(_local1.args, _local2.callbackObject, _local2.callbackMethod);
}
}
}
static function handleError(args, callbackObject, callbackMethod) {
if (args != null) {
if (args.onError != null) {
args.onError.apply(null, ["NotConnected"]);
}
}
if (callbackMethod != null) {
args = {};
args.error = true;
args.errorCode = "NotConnected";
if ((callbackObject != null) && (typeof(callbackMethod) == "string")) {
callbackObject[callbackMethod](args);
} else if (callbackMethod != null) {
callbackMethod.apply(args);
}
}
}
static function send(methodName, args, callbackObject, callbackMethod) {
if (_connected) {
_sendChannel.send(_sendChannelName, "onReceive", {methodName:methodName, args:args, callbackID:_rcvChannel._nextcallbackID});
} else {
if ((_clip == undefined) || (!_connecting)) {
onError.apply(null, ["NotConnected"]);
handleError(args, callbackObject, callbackMethod);
flush(true);
return(undefined);
}
_sendChannel._queue.push({methodName:methodName, args:args, callbackID:_rcvChannel._nextcallbackID});
}
_rcvChannel._callbacks[_rcvChannel._nextcallbackID] = {callbackObject:callbackObject, callbackMethod:callbackMethod};
_rcvChannel._nextcallbackID++;
}
static var _gatewayURL = "http://www.mochiads.com/static/lib/services/services.swf";
static var _listenChannelName = "__mochiservices";
static var _connecting = false;
static var _connected = false;
}
Symbol 155 MovieClip [__Packages.MochiAd] Frame 0
class MochiAd
{
function MochiAd () {
}
static function getVersion() {
return("2.1");
}
static function showPreGameAd(options) {
var _local27 = {clip:_root, ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:16747008, background:16777161, outline:13994812, ad_started:function () {
this.clip.stop();
}, ad_finished:function () {
this.clip.play();
}};
options = _parseOptions(options, _local27);
var clip = options.clip;
var _local23 = 11000;
var _local26 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
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 _local7 = chk.createEmptyMovieClip("_mochiad_bar", 4);
_local7._x = 10;
_local7._y = _local13 - 20;
var _local22 = options.color;
delete options.color;
var _local19 = options.background;
delete options.background;
var _local24 = options.outline;
delete options.outline;
var _local5 = _local7.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 = _local7.createEmptyMovieClip("_inside", 2);
_local3.beginFill(_local22);
_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 _local6 = _local7.createEmptyMovieClip("_outline", 3);
_local6.lineStyle(0, _local24, 100);
_local6.moveTo(0, 0);
_local6.lineTo(_local4 - 20, 0);
_local6.lineTo(_local4 - 20, 10);
_local6.lineTo(0, 10);
_local6.lineTo(0, 0);
chk.ad_msec = _local23;
chk.ad_timeout = _local26;
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.adLoaded = function (width, height) {
};
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec;
};
chk.onEnterFrame = function () {
var _local6 = this._parent._parent;
var _local12 = this._parent._mochiad_ctr;
var _local5 = getTimer() - this.started;
var _local3 = false;
var _local4 = _local6.getBytesTotal();
var _local8 = _local6.getBytesLoaded();
var _local10 = (100 * _local8) / _local4;
var _local11 = (100 * _local5) / chk.ad_msec;
var _local9 = this._mochiad_bar._inside;
var _local2 = Math.min(100, Math.min(_local10 || 0, _local11));
_local2 = Math.max(this.last_pcnt, _local2);
this.last_pcnt = _local2;
_local9._xscale = _local2;
if (!chk.showing) {
var _local7 = _local12.getBytesTotal();
if ((_local7 > 0) || (typeof(_local7) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if (_local5 > chk.ad_timeout) {
_local3 = true;
}
}
if (_local5 > chk.ad_msec) {
_local3 = true;
}
if (((_local4 > 0) && (_local8 >= _local4)) && (_local3)) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
}
}
};
}
static function 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();
}};
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_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 = function (width, height) {
};
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec - 250;
};
chk.onEnterFrame = function () {
var _local5 = this._parent._mochiad_ctr;
var _local4 = getTimer() - this.started;
var _local2 = false;
if (!chk.showing) {
var _local3 = _local5.getBytesTotal();
if ((_local3 > 0) || (typeof(_local3) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if (_local4 > chk.ad_timeout) {
_local2 = true;
}
}
if (_local4 > chk.ad_msec) {
_local2 = true;
}
if (_local2) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
}
}
};
}
static function showTimedAd(options) {
showInterLevelAd(options);
}
static function showPreloaderAd(options) {
showPreGameAd(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 _loadCommunicator(options) {
var _local26 = {clip:_root, com_server:"http://x.mochiads.com/com/1/", method:"loadCommunicator", depth:10337, id:"_UNKNOWN_"};
options = _parseOptions(options, _local26);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = getVersion();
var _local18 = options.clip;
var _local20 = "_mochiad_com_" + options.id;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local18[_local20]) {
return(_local18[_local20].lc);
}
var _local21 = options.com_server + options.id;
_allowDomains(_local21);
delete options.id;
delete options.com_server;
var _local25 = options.depth;
delete options.depth;
var _local17 = _local18.createEmptyMovieClip(_local20, _local25);
var _local11 = _local17.createEmptyMovieClip("_mochiad_com", 1);
for (var _local15 in options) {
_local11[_local15] = options[_local15];
}
var _local6 = new LocalConnection();
var _local16 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local6.mc = _local17;
_local6.name = _local16;
_local6.allowDomain = function (d) {
return(true);
};
_local6.allowInsecureDomain = _local6.allowDomain;
_local6.connect(_local16);
_local17.lc = _local6;
_local11.lc = _local16;
_local6._id = 0;
_local6._queue = [];
_local6.rpcResult = function (cb_arg) {
var _local8 = parseInt(cb_arg);
var _local4 = this._callbacks[_local8];
if (!_local4) {
return(undefined);
}
delete this._callbacks[_local8];
var _local5 = [];
var _local3 = 2;
while (_local3 < _local4.length) {
_local5.push(_local4[_local3]);
_local3++;
}
_local3 = 1;
while (_local3 < arguments.length) {
_local5.push(arguments[_local3]);
_local3++;
}
var _local6 = _local4[1];
var _local7 = _local4[0];
if (_local7 && (typeof(_local6) == "string")) {
_local6 = _local7[_local6];
}
if (_local6) {
_local6.apply(_local7, _local5);
}
};
_local6._didConnect = function (endpoint) {
this._endpoint = endpoint;
var _local4 = this._queue;
delete this._queue;
var _local5 = this.doSend;
var _local2 = 0;
while (_local2 < _local4.length) {
var _local3 = _local4[_local2];
_local5.apply(this, _local3);
_local2++;
}
};
_local6.doSend = function (args, cbobj, cbfn) {
if (this._endpoint == null) {
var _local4 = [];
var _local3 = 0;
while (_local3 < arguments.length) {
_local4.push(arguments[_local3]);
_local3++;
}
this._queue.push(_local4);
return(undefined);
}
this._id = this._id + 1;
var _local5 = this._id;
if ((cbfn === undefined) || (cbfn === null)) {
cbfn = cbobj;
}
this._callbacks[_local5] = [cbobj, cbfn];
var _local7 = new LocalConnection();
var _local9 = _local7.send(this._endpoint, "rpc", _local5, args);
};
_local6._callbacks = {};
_local6._callbacks[0] = [_local6, "_didConnect"];
_local11.st = getTimer();
_local11.loadMovie(_local21 + ".swf", "POST");
return(_local6);
}
static function fetchHighScores(options, callbackObj, callbackMethod) {
var _local1 = _loadCommunicator({id:options.id});
if (!_local1) {
return(false);
}
var _local4 = ["fetchHighScores", options];
_local1.doSend(["fetchHighScores", options], callbackObj, callbackMethod);
return(true);
}
static function sendHighScore(options, callbackObj, callbackMethod) {
var _local1 = _loadCommunicator({id:options.id});
if (!_local1) {
return(false);
}
var _local4 = ["sendHighScore", options];
_local1.doSend(["sendHighScore", options], callbackObj, callbackMethod);
return(true);
}
static function load(options) {
var _local13 = {clip:_root, server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = _parseOptions(options, _local13);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = 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);
}
clip._mochiad.removeMovieClip();
delete clip._mochiad_loaded;
delete clip._mochiad;
return(true);
}
static function _isNetworkAvailable() {
if (System.security) {
var _local1 = System.security;
if (_local1.sandboxType == "localWithFile") {
return(false);
}
}
return(true);
}
static function _getRes(options) {
var _local3 = options.clip.getBounds();
var _local2 = 0;
var _local1 = 0;
if (typeof(options.res) != "undefined") {
var _local4 = options.res.split("x");
_local2 = parseFloat(_local4[0]);
_local1 = parseFloat(_local4[1]);
} else {
_local2 = _local3.xMax - _local3.xMin;
_local1 = _local3.yMax - _local3.yMin;
}
if ((_local2 == 0) || (_local1 == 0)) {
_local2 = Stage.width;
_local1 = Stage.height;
}
return([_local2, _local1]);
}
static function _parseOptions(options, defaults) {
var _local4 = {};
for (var _local8 in defaults) {
_local4[_local8] = defaults[_local8];
}
if (options) {
for (var _local8 in options) {
_local4[_local8] = options[_local8];
}
}
if (_root.mochiad_options) {
var _local5 = _root.mochiad_options.split("&");
var _local2 = 0;
while (_local2 < _local5.length) {
var _local3 = _local5[_local2].split("=");
_local4[unescape(_local3[0])] = unescape(_local3[1]);
_local2++;
}
}
return(_local4);
}
}
Symbol 156 MovieClip [__Packages.ParticleSystem] Frame 0
class ParticleSystem extends MovieClip
{
var _visible, running, paused, holder, _parent, getDepth, particles, numParticles, lifespan, rotation, scaling, xSpeed, ySpeed, xSpeedRandom, ySpeedRandom, lifeRandom, rotateRandom, xPos, _x, yPos, _y, gravity, orientToPath, orientToSource, alphaFlag, alphaEasing, spawnInterval, spawnNext, spawnWidth, spawnHeight, driftAmplitude, driftWavelength, frameOffset, _rotation;
function ParticleSystem () {
super();
_visible = false;
running = false;
paused = false;
holder = _parent.createEmptyMovieClip("holder", getDepth() + 1);
particles = new Array();
numParticles = 20;
lifespan = 10;
rotation = 0;
scaling = 1;
xSpeed = 0;
ySpeed = 0;
xSpeedRandom = 0;
ySpeedRandom = 0;
lifeRandom = 0;
rotateRandom = 0;
xPos = _x;
yPos = _y;
gravity = 0;
orientToPath = false;
orientToSource = false;
alphaFlag = true;
alphaEasing = 0;
spawnInterval = 0;
spawnNext = 0;
spawnWidth = 0;
spawnHeight = 0;
driftAmplitude = 0;
driftWavelength = 0;
frameOffset = 0;
}
function start() {
running = true;
var _local2 = 0;
while (_local2 < frameOffset) {
update();
_local2++;
}
}
function stop() {
running = false;
}
function pause() {
paused = true;
}
function resume() {
paused = true;
}
function burst() {
if (!paused) {
var _local2 = 0;
while (_local2 < numParticles) {
addParticle(randSpeed(xSpeed, xSpeedRandom), randSpeed(ySpeed, ySpeedRandom), randLife(lifespan));
_local2++;
}
}
}
function init(clip, num, life, dx, dy) {
numParticles = num;
lifespan = life;
xSpeed = dx;
ySpeed = dy;
var _local2 = 0;
while (_local2 < numParticles) {
particles.push(holder.attachMovie(clip, "p" + _local2, _local2));
var _local3 = particles[_local2];
_local3._x = 0;
_local3._y = 0;
_local3._visible = false;
_local3.life = 100;
_local2++;
}
}
function setScaling(scale) {
scaling = scale;
}
function setRotation(rotate) {
rotation = rotate;
}
function setLifeRandomness(rand) {
lifeRandom = rand;
}
function setSpeedRandomness(x, y) {
xSpeedRandom = x;
ySpeedRandom = y;
}
function setRotationRandomness(rand) {
rotateRandom = rand;
}
function setGravity(gravity) {
this.gravity = gravity;
}
function setAlpha(alpha) {
alphaFlag = alpha;
}
function setAlphaEasing(ease) {
if (ease > 1) {
ease = 1;
} else if (ease < 0) {
ease = 0;
}
alphaEasing = ease;
}
function setOrientToPath(orient) {
orientToPath = orient;
}
function setOrientToSource(orient) {
orientToSource = orient;
}
function setSpawnArea(x, y) {
spawnWidth = x;
spawnHeight = y;
}
function setDrift(drift, time) {
if (drift > 1) {
drift = 1;
} else if (drift < 0) {
drift = 0;
}
driftAmplitude = drift * 10;
if (time > 1) {
time = 1;
} else if (time < 0) {
time = 0;
}
driftWavelength = time * 10;
}
function setSpawnInterval(interval) {
spawnInterval = interval;
}
function setFrameOffset(offset) {
frameOffset = offset;
}
function addParticle(dx, dy, life) {
var _local3 = 0;
while (_local3 < numParticles) {
var _local2 = particles[_local3];
if (!_local2._visible) {
break;
}
_local3++;
}
if (spawnWidth != 0) {
_local2._x = xPos + ((Math.random() * spawnWidth) - (spawnWidth * 0.5));
} else {
_local2._x = xPos;
}
if (spawnHeight != 0) {
_local2._y = yPos + ((Math.random() * spawnHeight) - (spawnHeight * 0.5));
} else {
_local2._y = yPos;
}
_local2._rotation = 0;
_local2._xscale = 100;
_local2._yscale = 100;
_local2._alpha = 100;
_local2.maxLife = life;
_local2.life = life;
_local2.fade = 100 / life;
_local2.dx = dx;
_local2.dy = dy;
_local2.rot = randRotation(rotation);
_local2.scale = scaling;
if (orientToSource) {
_local2._rotation = _rotation - 90;
}
_local2._visible = true;
}
function randSpeed(speed, rand) {
var _local2 = (((speed + 1) * rand) * Math.random()) - (((speed + 1) * rand) * 0.5);
speed = speed + _local2;
return(speed);
}
function randLife(life) {
var _local3 = ((life + 1) * lifeRandom) * Math.random();
life = life - _local3;
return(life);
}
function randRotation(rot) {
var _local3 = (((rot + 1) * rotateRandom) * Math.random()) - (((rot + 1) * rotateRandom) * 0.5);
rot = rot + _local3;
return(rot);
}
function update() {
if (running) {
if (spawnNext >= spawnInterval) {
addParticle(randSpeed(xSpeed, xSpeedRandom), randSpeed(ySpeed, ySpeedRandom), randLife(lifespan));
spawnNext = 0;
}
spawnNext++;
}
xPos = _x;
yPos = _y;
var _local3 = 0;
while (_local3 < numParticles) {
var _local2 = particles[_local3];
if (_local2._visible) {
_local2.life--;
if (_local2.life <= 0) {
_local2._visible = false;
} else {
if (alphaFlag) {
if ((_local2.life / _local2.maxLife) < (1 - alphaEasing)) {
_local2._alpha = _local2._alpha - (_local2.fade / (1 - alphaEasing));
}
}
if (orientToPath) {
_local2._rotation = (Math.atan2(_local2.dy, _local2.dx) * D180_OVER_PI) - 270;
} else {
_local2._rotation = _local2._rotation + _local2.rot;
}
_local2.dy = _local2.dy + gravity;
if (driftAmplitude != 0) {
_local2._x = _local2._x + (_local2.dx + (10 * Math.sin((_local2.life / _local2.maxLife) * 4)));
} else {
_local2._x = _local2._x + _local2.dx;
}
_local2._y = _local2._y + _local2.dy;
_local2._xscale = _local2._xscale * _local2.scale;
_local2._yscale = _local2._yscale * _local2.scale;
}
}
_local3++;
}
}
function cleanUp() {
var _local2 = 0;
while (_local2 < numParticles) {
particles[_local2].removeMovieClip();
_local2++;
}
delete particles;
}
function reset() {
var _local2 = 0;
while (_local2 < numParticles) {
particles[_local2]._visible = false;
_local2++;
}
}
function onEnterFrame() {
if (!paused) {
update();
}
}
var D180_OVER_PI = 57.2957795;
}
Symbol 157 MovieClip [__Packages.TileRepeatScroller] Frame 0
class TileRepeatScroller extends MovieClip
{
var dx, dy, tiles, tWidth, tHeight, xMoved, yMoved, attachMovie;
function TileRepeatScroller () {
super();
dx = 0;
dy = 0;
tiles = 0;
tWidth = 0;
tHeight = 0;
xMoved = 0;
yMoved = 0;
}
function init(clip, dx, dy) {
this.dx = dx;
this.dy = dy;
var _local5 = false;
var _local2 = 0;
while (_local5 != true) {
attachMovie(clip, "tile" + _local2, _local2);
if (_local2 == 0) {
tWidth = this["tile" + _local2]._width;
tHeight = this["tile" + _local2]._height;
var _local3 = -tWidth;
var _local4 = -tHeight;
}
this["tile" + _local2]._x = _local3;
this["tile" + _local2]._y = _local4;
if (_local3 < Stage.width) {
var _local3 = _local3 + tWidth;
} else if (_local4 < Stage.height) {
var _local6 = (Stage.width - _local3) - 39;
var _local3 = -tWidth;
var _local4 = _local4 + tHeight;
} else {
_local5 = true;
tiles = _local2 + 1;
}
_local2++;
}
}
function update() {
xMoved = xMoved + dx;
yMoved = yMoved + dy;
var _local2 = 0;
while (_local2 < tiles) {
this["tile" + _local2]._x = this["tile" + _local2]._x + dx;
this["tile" + _local2]._y = this["tile" + _local2]._y + dy;
_local2++;
}
if (xMoved >= tWidth) {
_local2 = 0;
while (_local2 < tiles) {
this["tile" + _local2]._x = this["tile" + _local2]._x - xMoved;
_local2++;
}
xMoved = 0;
}
if (yMoved >= tHeight) {
_local2 = 0;
while (_local2 < tiles) {
this["tile" + _local2]._y = this["tile" + _local2]._y - yMoved;
_local2++;
}
yMoved = 0;
}
}
}
Symbol 158 MovieClip [__Packages.mochi.MochiScores] Frame 0
class mochi.MochiScores
{
static var boardID, onClose, onError;
function MochiScores () {
}
static function setBoardID(boardID) {
mochi.MochiScores.boardID = boardID;
mochi.MochiServices.send("scores_setBoardID", {boardID:boardID});
}
static function showLeaderboard(options) {
if (options.clip != null) {
if ((options.clip != mochi.MochiServices.__get__clip()) || (mochi.MochiServices.__get__childClip()._target == undefined)) {
mochi.MochiServices.disconnect();
mochi.MochiServices.connect(mochi.MochiServices.__get__id(), options.clip);
}
delete options.clip;
}
if (options.name != null) {
if (typeof(options.name) == "object") {
if (options.name.text != undefined) {
options.name = options.name.text;
}
}
}
if (options.score != null) {
if (typeof(options.score) == "object") {
if (options.score.text != undefined) {
options.score = options.score.text;
}
}
}
if (options.onDisplay != null) {
options.onDisplay();
} else {
mochi.MochiServices.__get__clip().stop();
}
if (options.onClose != null) {
onClose = options.onClose;
} else {
onClose = function () {
mochi.MochiServices.__get__clip().play();
};
}
if (options.onError != null) {
onError = options.onError;
} else {
onError = onClose;
}
if (options.boardID == null) {
if (boardID != null) {
options.boardID = boardID;
}
}
mochi.MochiServices.send("scores_showLeaderboard", {options:options}, null, doClose);
}
static function closeLeaderboard() {
mochi.MochiServices.send("scores_closeLeaderboard");
}
static function getPlayerInfo(callbackObj, callbackMethod) {
mochi.MochiServices.send("scores_getPlayerInfo", null, callbackObj, callbackMethod);
}
static function submit(score, name, callbackObj, callbackMethod) {
mochi.MochiServices.send("scores_submit", {score:score, name:name}, callbackObj, callbackMethod);
}
static function requestList(callbackObj, callbackMethod) {
mochi.MochiServices.send("scores_requestList", null, callbackObj, callbackMethod);
}
static function scoresArrayToObjects(scores) {
var _local5 = {};
var _local1;
var _local4;
var _local2;
var _local6;
for (var _local8 in scores) {
if (typeof(scores[_local8]) == "object") {
if ((scores[_local8].cols != null) && (scores[_local8].rows != null)) {
_local5[_local8] = [];
_local2 = scores[_local8];
_local4 = 0;
while (_local4 < _local2.rows.length) {
_local6 = {};
_local1 = 0;
while (_local1 < _local2.cols.length) {
_local6[_local2.cols[_local1]] = _local2.rows[_local4][_local1];
_local1++;
}
_local5[_local8].push(_local6);
_local4++;
}
} else {
_local5[_local8] = {};
for (var _local7 in scores[_local8]) {
_local5[_local8][_local7] = scores[_local8][_local7];
}
}
} else {
_local5[_local8] = scores[_local8];
}
}
return(_local5);
}
static function doClose(args) {
if (args.error == true) {
if (args.errorCode == undefined) {
args.errorCode = "IOError";
}
onError.apply(null, [args.errorCode]);
} else {
onClose.apply();
}
}
}
Symbol 31 MovieClip Frame 1
_visible = false;
Symbol 32 MovieClip [bgScroller] Frame 1
#initclip 7
Object.registerClass("bgScroller", TileRepeatScroller);
#endinitclip
Symbol 42 MovieClip Frame 1
stop();
Symbol 74 MovieClip Frame 36
stop();
Symbol 93 MovieClip Frame 45
_parent.startGame();
Symbol 93 MovieClip Frame 56
stop();
Symbol 99 MovieClip Frame 10
_parent.getPercentCrumbs();
Symbol 99 MovieClip Frame 70
stop();
_parent.stageComplete();
Symbol 108 MovieClip Frame 1
stop();
Symbol 113 MovieClip Frame 1
stop();
Symbol 147 MovieClip Frame 50
gotoAndPlay ("loop");
Symbol 150 MovieClip Frame 1
stop();