Frame 1
_root.gameState = 0;
Stage.showMenu = false;
_lockroot = true;
Frame 2
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;
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);
}
u = (((((((((((("http://" + mbc) + "/my/core.swf?mv=7&fv=") + fv) + "&v=") + escape(getVersion())) + "&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);
}
MochiAd.showPreGameAd({id:"eba5f80d9244ceed", res:"600x514"});
__com_mochibot__("d0d940a2", this, 10301, true);
__com_mochibot__("00804c0e", this, 10301, true);
Frame 3
function playSound(soundNum) {
if (_root.soundOn) {
stopSound(soundNum);
if (soundNum == SLEIGHBELLSSND) {
loop = 10000;
} else {
loop = 0;
}
if (soundNum != 3) {
ourSounds[soundNum].setVolume(100);
} else {
ourSounds[soundNum].setVolume(20);
}
if (soundNum == JINGLEBELLSSND) {
ourSounds[soundNum].start(60 - _root.game.realTime, loop);
} else {
ourSounds[soundNum].start(0, loop);
}
}
}
function stopSound(soundNum) {
ourSounds[soundNum].stop(soundLinkage[soundNum]);
}
var catchSound = new Sound();
catchSound.attachSound("catch.wav");
var dropSound = new Sound();
dropSound.attachSound("drop.wav");
var gameoverSound = new Sound();
gameoverSound.attachSound("hohoho.mp3");
var sleighbellsSound = new Sound();
sleighbellsSound.attachSound("sleighbells.mp3");
var jinglebellsSound = new Sound();
jinglebellsSound.attachSound("jingle-bells.mp3");
var soundOn = true;
ourSounds = new Array(catchSound, dropSound, gameoverSound, sleighbellsSound, jinglebellsSound);
soundLinkage = new Array("catch.wav", "drop.wav", "hohoho.mp3", "sleighbells.mp3", "jingle-bells.mp3");
CATCHSND = 0;
DROPSND = 1;
GAMEOVERSND = 2;
SLEIGHBELLSSND = 3;
JINGLEBELLSSND = 4;
Frame 6
_quality = "best";
var PATH = "http://208.109.177.63/~blitzgam/blitz_HighScores/";
var GAMENAME = "santa_caught_christmas";
var SCORESPATH = (("http://www.blitzgamer.com/" + GAMENAME) + "_highscores.php");
stop();
Frame 30
stop();
Frame 38
stop();
Symbol 5 Button
on (release) {
getURL ("http://www.blitzgamer.com", "_blank");
}
Symbol 27 MovieClip Frame 1
stop();
Symbol 27 MovieClip Frame 20
stop();
Symbol 72 MovieClip Frame 1
this._visible = false;
_root.stop();
Symbol 72 MovieClip Frame 2
this._visible = true;
Symbol 72 MovieClip Frame 131
tank.play();
Symbol 72 MovieClip Frame 174
stop();
_root.play();
Symbol 360 MovieClip [__Packages.MochiAd] Frame 0
class MochiAd
{
function MochiAd () {
}
static function getVersion() {
return("2.1");
}
static function showPreGameAd(options) {
var _local28 = {clip:_root, ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:16747008, background:16777161, outline:13994812, ad_started:function () {
_root.stop();
}, ad_finished:function () {
_root.play();
}};
options = _parseOptions(options, _local28);
var _local19 = options.clip;
var _local24 = 11000;
var _local27 = 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 = _local19._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 _local23 = options.color;
delete options.color;
var _local20 = options.background;
delete options.background;
var _local25 = options.outline;
delete options.outline;
var _local5 = _local7.createEmptyMovieClip("_outline", 1);
_local5.beginFill(_local20);
_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(_local23);
_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, _local25, 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 = _local24;
chk.ad_timeout = _local27;
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 78 MovieClip Frame 105
stop();
Symbol 84 MovieClip Frame 1
stop();
Symbol 120 MovieClip Frame 1
stop();
Symbol 130 Button
on (release) {
getURL ("http://www.ninjarobots.co.uk", "_blank");
}
Symbol 131 Button
on (release) {
getURL ("http://www.undersiegestudio.co.uk", "_blank");
}
Symbol 140 Button
on (release) {
_root.soundOn = false;
_root.stopSound(_root.SLEIGHBELLSSND);
_root.stopSound(_root.JINGLEBELLSSND);
gotoAndStop (2);
}
Symbol 142 Button
on (release) {
_root.soundOn = true;
if (_root.gameState == 1) {
_root.playSound(_root.SLEIGHBELLSSND);
}
if (_root.gameState == 2) {
_root.playSound(_root.JINGLEBELLSSND);
}
gotoAndStop (1);
}
Symbol 143 MovieClip Frame 1
stop();
Symbol 145 Button
on (release) {
getURL ("http://www.blitzgamer.com", "_blank");
}
Symbol 147 Button
on (release) {
getURL ("http://www.blitzgamer.com/santa_caught_christmas_highscores.php", "_blank");
}
Symbol 149 Button
on (release) {
gotoAndPlay ("gotohelp");
}
Symbol 151 Button
on (release) {
gotoAndPlay ("gotoplay");
}
Symbol 154 Button
on (release) {
getURL ("http://www.blitzgamer.com", "_blank");
}
Symbol 160 MovieClip Frame 1
_root.stopSound(_root.SLEIGHBELLSSND);
_root.stopSound(_root.JINGLEBELLSSND);
_root.playSound(_root.SLEIGHBELLSSND);
_root.gameState = 1;
Instance of Symbol 143 MovieClip in Symbol 160 MovieClip Frame 1
onClipEvent (load) {
if (!_root.soundOn) {
gotoAndStop (2);
}
}
Symbol 160 MovieClip Frame 7
stop();
Symbol 160 MovieClip Frame 15
_root.gotoAndPlay("Game");
Symbol 160 MovieClip Frame 23
_root.gotoAndPlay("Help");
Symbol 228 MovieClip Frame 1
stop();
Symbol 231 MovieClip Frame 1
stop();
Symbol 234 MovieClip Frame 1
stop();
Symbol 237 MovieClip Frame 1
stop();
Symbol 240 MovieClip Frame 1
stop();
Symbol 241 MovieClip Frame 1
stop();
Symbol 249 MovieClip Frame 161
_root.playSound(_root.JINGLEBELLSSND);
_parent.startGame();
stop();
Symbol 268 MovieClip Frame 1
stop();
Symbol 272 MovieClip Frame 1
stop();
Symbol 277 Button
on (release) {
_root.gotoAndPlay("menu");
}
Symbol 278 MovieClip Frame 6
stop();
Symbol 298 MovieClip Frame 1
stop();
Symbol 307 MovieClip Frame 1
stop();
Symbol 313 Button
on (release) {
gotoAndPlay (1);
}
Symbol 314 Button
on (release) {
play();
}
Symbol 318 MovieClip Frame 1
loadMovie ("http://208.109.177.63/~blitzgam/blitz_HighScores/encrypted.swf", this);
this._alpha = 0;
Symbol 330 MovieClip Frame 5
stop();
Symbol 332 MovieClip Frame 1
_quality = "medium";
var gameOverScreen = false;
_root.stopSound(_root.SLEIGHBELLSSND);
_root.gameState = 2;
Instance of Symbol 143 MovieClip in Symbol 332 MovieClip Frame 1
onClipEvent (load) {
if (!_root.soundOn) {
gotoAndStop (2);
}
}
Symbol 332 MovieClip Frame 2
function updateMan(dir) {
if ((dir == 1) && (manSpeed > 3)) {
manSpeed = 3;
}
if ((dir == 0) && (manSpeed < -3)) {
manSpeed = -3;
}
mainMan.gotoAndStop(dir + 1);
mSpeed = maxManSpeed;
if (donutCatchCount >= 10) {
if (donutCatchCount >= 37) {
mSpeed = 3;
} else {
mSpeed = maxManSpeedsWeight[donutCatchCount - 10];
}
}
if (Math.abs(manSpeed) <= mSpeed) {
manSpeed = manSpeed + accel[dir];
}
}
function updateTime() {
trace("updateTime");
if (playMode == _PLAYING) {
if (realTime > 0) {
realTime = realTime - 0.04;
if (realTime <= 0) {
realTime = 0;
playMode = _GAMEOVER;
}
}
timeLeft = Math.round(realTime);
timeLeft_units = timeLeft % 10;
timeLeft_tens = (timeLeft - timeLeft_units) / 10;
if (realTime <= 10.5) {
timeCountdown.gotoAndStop(Math.round(realTime) + 1);
}
}
}
function startGame() {
timeLeft = 60;
realTime = 60;
_root.score = 0;
badDonut = 0;
resetDonuts();
donutCatchCount = 0;
mainMan.santa.santa.gotoAndStop(1);
mainMan.santa.santa1.gotoAndStop(1);
playMode = _PLAYING;
playButton._visible = false;
}
function updateDonuts() {
if ((playMode == _PLAYING) || (playMode == _GAMEOVER)) {
trace("hgjhg");
if (playMode == _PLAYING) {
increaseDifficulty();
}
trace(currentDifficulty);
i = 0;
while (i < numDonuts[currentDifficulty]) {
if ((donutMode[i] == _DEAD) && (playMode == _PLAYING)) {
donutY[i] = (Math.random() * 400) + 50;
donutBounced[i] = 0;
donutDir = 0;
if (Math.random() >= 0.5) {
donutX[i] = 700;
donutDir = -1;
} else {
donutX[i] = -30;
donutDir = 1;
}
var _local2 = Math.round(Math.random() * 3) + 7;
donutYSpeed[i] = -_local2;
donutXSpeed[i] = _local2 * donutDir;
donutType[i] = Math.round(Math.random() * (donutFrames - 1));
if (donutType[i] > (donutFrames - 1)) {
donutType[i] = donutFrames - 1;
}
donutMode[i] = _DROPPING;
_root.game["donut" + (i + 1)].donut.gotoAndStop(1);
} else if (donutMode[i] == _DROPPING) {
if (donutBounced[i] > 0) {
donutBounced[i]--;
}
donutY[i] = donutY[i] + donutYSpeed[i];
if (donutYSpeed[i] < (dropSpeeds[currentDifficulty] + 4)) {
donutYSpeed[i]++;
}
donutX[i] = donutX[i] + donutXSpeed[i];
if ((donutX[i] < -50) || (donutX[i] > 750)) {
donutMode[i] = _DEAD;
}
if (donutXSpeed[i] >= 0) {
_root.game["donut" + (i + 1)]._rotation = _root.game["donut" + (i + 1)]._rotation + 10;
} else {
_root.game["donut" + (i + 1)]._rotation = _root.game["donut" + (i + 1)]._rotation - 10;
}
if (donutY[i] > (600 - donut1._height)) {
donutY[i] = 600 - donut1._height;
donutMode[i] = _BOUNCE;
donutBounceVelocity[i] = -8;
_root.playSound(_root.DROPSND);
crumbs.crumbs.duplicateMovieClip("crumbs" + crumbCount, crumbs.getNextHighestDepth());
crumbs["crumbs" + crumbCount]._x = donutX[i];
crumbs["crumbs" + crumbCount]._y = crumbs["crumbs" + crumbCount]._y - (Math.random() * 25);
r = (Math.random() * 90) - 45;
crumbs["crumbs" + crumbCount]._rotation = r;
crumbs["crumbs" + crumbCount].gotoAndStop(_root.game["donut" + (i + 1)]._currentframe);
crumbs["crumbs" + crumbCount].cacheAsBitmap = true;
crumbCount++;
_root.game["donut" + (i + 1)].donut.gotoAndStop(2);
}
} else if (donutMode[i] == _BOUNCE) {
donutY[i] = donutY[i] + donutBounceVelocity[i];
donutX[i] = donutX[i] + donutXSpeed[i];
donutBounceVelocity[i] = donutBounceVelocity[i] + 0.5;
if (donutY[i] > (600 + (donut1._height / 2))) {
donutMode[i] = _DEAD;
donutY[i] = -1000;
}
}
i++;
}
i = 0;
while (i < maximumDonuts) {
if (donutMode[i] == 0) {
_root.game["donut" + (i + 1)]._y = -100;
_root.game["donut" + (i + 1)]._visible = false;
} else {
_root.game["donut" + (i + 1)].gotoAndStop(donutType[i] + 1);
_root.game["donut" + (i + 1)]._x = donutX[i];
_root.game["donut" + (i + 1)]._y = donutY[i];
_root.game["donut" + (i + 1)]._visible = true;
}
if (_root.game["donut" + (i + 1)].hitTest(mainMan.boxArea) || (_root.game["donut" + (i + 1)].hitTest(mainMan.boxFill))) {
if (donutMode[i] == _DROPPING) {
if (donutCatchCount < maxPileHeight) {
_root.playSound(_root.CATCHSND);
_root.score = _root.score + donutScores[_root.game["donut" + (i + 1)]._currentframe - 1];
donutCatchCount++;
mainMan.boxFill.donut.duplicateMovieClip("donut" + donutCatchCount, mainMan.boxFill.getNextHighestDepth());
mainMan.boxFill["donut" + donutCatchCount].gotoAndStop(_root.game["donut" + (i + 1)]._currentframe);
mainMan.boxFill["donut" + donutCatchCount].donut.gotoAndStop(_root.game["donut" + (i + 1)].donut._currentframe);
mainMan.boxFill["donut" + donutCatchCount]._yscale = (mainMan.boxFill["donut" + donutCatchCount]._xscale = 19 + (donutCatchCount * 0.3));
mainMan.boxFill["donut" + donutCatchCount]._y = ((-18 - (donutCatchCount * 30)) - (Math.random() * 6)) - (mainMan.boxFill["donut" + donutCatchCount]._yscale * 0.8);
r = (Math.random() * 90) - 45;
mainMan.boxFill["donut" + donutCatchCount]._rotation = r;
dx = _root.game["donut" + (i + 1)]._x - mainMan._x;
if (dx < -15) {
dx = -15;
}
if (dx > 15) {
dx = 15;
}
mainMan.boxFill["donut" + donutCatchCount]._x = dx;
mainMan.boxFill["donut" + donutCatchCount].cacheAsBitmap = true;
donutMode[i] = _DEAD;
} else if (donutBounced[i] == 0) {
donutXSpeed[i] = -donutXSpeed[i];
_root.playSound(_root.DROPSND);
donutBounced[i] = 5;
}
}
}
i++;
}
if (playMode == _GAMEOVER) {
liveDonuts = 0;
i = 0;
while (i < maximumDonuts) {
if (donutMode[i] > 0) {
liveDonuts++;
}
i++;
}
if (liveDonuts == 0) {
nextFrame();
playMode = -1;
}
}
} else {
i = 0;
while (i < maximumDonuts) {
_root.game["donut" + (i + 1)]._visible = false;
i++;
}
}
}
function resetDonuts() {
i = 0;
while (i < maximumDonuts) {
donutMode[i] = _DEAD;
_root.game["donut" + (i + 1)]._y = -150;
donutBounced[i] = 0;
i++;
}
sleighPileHeights[0] = 0;
sleighPileHeights[1] = 0;
sleighPileHeights[2] = 0;
}
function increaseDifficulty() {
diffBefore = currentDifficulty;
i = 0;
while (i < 12) {
if (timeLeft <= diffTime[i]) {
currentDifficulty = i;
}
i++;
}
if (diffBefore != currentDifficulty) {
badDonut = 1;
}
}
function offLoadPresents() {
if ((donutCatchCount > 0) && (!gameOverScreen)) {
_root.playSound(_root.CATCHSND);
i = 0;
while (i < offloadCount) {
if ((!gameOverScreen) && (donutCatchCount > 0)) {
scoreUp = donutScores[mainMan.boxFill["donut" + donutCatchCount]._currentframe - 1];
if (mainMan.boxFill["donut" + donutCatchCount].donut._currentframe == 2) {
scoreUp = scoreUp / 2;
}
_root.score = _root.score + scoreUp;
sleighPiles["sleighPile" + (sleighPileNow + 1)].boxFill.donut.duplicateMovieClip("donut" + sleighPileHeights[sleighPileNow], sleighPiles["sleighPile" + (sleighPileNow + 1)].boxFill.getNextHighestDepth());
sleighPiles["sleighPile" + (sleighPileNow + 1)].boxFill["donut" + sleighPileHeights[sleighPileNow]].gotoAndStop(mainMan.boxFill["donut" + donutCatchCount]._currentframe);
sleighPiles["sleighPile" + (sleighPileNow + 1)].boxFill["donut" + sleighPileHeights[sleighPileNow]].donut.gotoAndStop(mainMan.boxFill["donut" + donutCatchCount].donut._currentframe);
sleighPiles["sleighPile" + (sleighPileNow + 1)].boxFill["donut" + sleighPileHeights[sleighPileNow]]._yscale = (sleighPiles["sleighPile" + (sleighPileNow + 1)].boxFill["donut" + sleighPileHeights[sleighPileNow]]._xscale = 15 + (sleighPileHeights[sleighPileNow] / 3));
sleighPiles["sleighPile" + (sleighPileNow + 1)].boxFill["donut" + sleighPileHeights[sleighPileNow]]._y = ((-15 - (sleighPileHeights[sleighPileNow] * 20)) - (Math.random() * 6)) - (sleighPiles["sleighPile" + (sleighPileNow + 1)].boxFill["donut" + sleighPileHeights[sleighPileNow]]._yscale * 0.3);
r = (Math.random() * 90) - 45;
sleighPiles["sleighPile" + (sleighPileNow + 1)].boxFill["donut" + sleighPileHeights[sleighPileNow]]._rotation = r;
sleighPiles["sleighPile" + (sleighPileNow + 1)].boxFill["donut" + sleighPileHeights[sleighPileNow]]._x = sleighPiles["sleighPile" + (sleighPileNow + 1)].boxFill["donut" + sleighPileHeights[sleighPileNow]]._x + (Math.round(Math.random() * 40) - 20);
sleighPiles["sleighPile" + (sleighPileNow + 1)].boxFill["donut" + sleighPileHeights[sleighPileNow]].cacheAsBitmap = true;
sleighPileHeights[sleighPileNow]++;
sleighPileNow++;
if (sleighPileNow == 3) {
sleighPileNow = 0;
}
mainMan.boxFill["donut" + donutCatchCount].removeMovieClip();
donutCatchCount--;
}
i++;
}
if (offloadCount > 2) {
offloadCount = offloadCount - 2;
} else {
offloadCount = 1;
}
}
}
var jumpSpeeds = new Array(10, 10, 10, 10, 10, 10, 9, 9, 9, 8, 8, 8, 7, 7, 7, 6, 6, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4);
var jumpSpeed = 10;
var jumping = false;
var santaNormY = 0;
var santaYSpeed = 0;
var santaY = 0;
var manSpeed = 0;
var maxManSpeed = 15;
var slowsDownAt = 10;
var maxPileHeight = 35;
var maxManSpeedsWeight = new Array(14, 13, 13, 12, 11, 11, 10, 9, 9, 8, 7, 7, 6, 5, 5, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3);
var startManX = 350;
var accel = new Array(2, -2);
var realTime = 60;
var timeLeft = 60;
var timeLeft_tens = 6;
var timeLeft_units = 0;
_root.score = 0;
var crumbCount = 0;
var _INTRO = 0;
var _PLAYING = 1;
var _GAMEOVER = 2;
var playMode = _INTRO;
var maximumDonuts = 7;
var currentDifficulty = 0;
var diffTime = new Array(60, 55, 50, 45, 40, 35, 30, 25, 20, 15, 10, 5);
var dropSpeeds = new Array(7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12);
var donutXSpeed = new Array(maximumDonuts);
var donutYSpeed = new Array(maximumDonuts);
var donutBounced = new Array(maximumDonuts);
var numDonuts = new Array(1, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7);
var donutFrames = 6;
var donutScores = new Array(50, 100, 200, 400, 800, 1600);
var badDonut = 0;
var badDonutChance = 0.05;
var badLoseScore = 200;
var _DEAD = 0;
var _DROPPING = 1;
var _BOUNCE = 2;
var donutMode = new Array(0, 0, 0, 0, 0, 0);
var donutX = new Array(0, 0, 0, 0, 0, 0);
var donutY = new Array(0, 0, 0, 0, 0, 0);
var donutType = new Array(1, 1, 1, 1, 1, 1);
var donutBounceVelocity = new Array(0, 0, 0, 0, 0, 0);
var donutBounceDir = new Array(0, 0, 0, 0, 0, 0);
var donutCatchCount = 0;
var speedUp = false;
var sleighPileNow = 0;
var sleighPileHeights = new Array(0, 0, 0);
var offloadPerFrame = 5;
var offloadCount = 5;
var offloading = false;
stop();
Instance of Symbol 272 MovieClip "mainMan" in Symbol 332 MovieClip Frame 2
onClipEvent (load) {
_parent.santaNormY = (_parent.santaY = this._y);
}
onClipEvent (enterFrame) {
nx = this._x;
if ((nx > 87) && (nx < 613)) {
nx = nx + _parent.manSpeed;
}
if (nx >= 613) {
nx = 612;
_parent.offLoadPresents();
}
if (nx <= 87) {
nx = 88;
}
if ((nx == 88) || (nx == 612)) {
_parent.manSpeed = 0;
}
this._x = nx;
var keyPressed = false;
if (Key.isDown(39)) {
_parent.updateMan(0);
_parent.mainMan.santa.santa.play();
_parent.mainMan.santa.santa1.play();
keyPressed = true;
} else {
_parent.offloadCount = _parent.offloadPerFrame;
if (Key.isDown(37)) {
_parent.updateMan(1);
_parent.mainMan.santa.santa.play();
_parent.mainMan.santa.santa1.play();
keyPressed = true;
}
}
if (!keyPressed) {
_parent.mainMan.santa.santa.gotoAndStop(1);
_parent.mainMan.santa.santa1.gotoAndStop(1);
if (_parent.manSpeed > 0) {
_parent.manSpeed = _parent.manSpeed - 2;
if (_parent.manSpeed < 0) {
_parent.manSpeed = 0;
}
}
if (_parent.manSpeed < 0) {
_parent.manSpeed = _parent.manSpeed + 2;
if (_parent.manSpeed > 0) {
_parent.manSpeed = 0;
}
}
}
if (Key.isDown(38)) {
if (!_parent.jumping) {
jumpVelocity = -10;
if (_parent.donutCatchCount >= _parent.slowsDownAt) {
if (_parent.donutCatchCount < 22) {
jumpVelocity = -_parent.jumpSpeeds[_parent.donutCatchCount - _parent.slowsDownAt];
} else {
jumpVelocity = -4;
}
}
_parent.santaYSpeed = jumpVelocity;
_parent.jumping = true;
}
}
if (_parent.jumping) {
_parent.santaY = _parent.santaY + _parent.santaYSpeed;
_parent.santaYSpeed++;
if (_parent.santaY > _parent.santaNormY) {
_parent.santaY = _parent.santaNormY;
_parent.jumping = false;
}
this._y = _parent.santaY;
}
_parent.updateDonuts();
_parent.updateTime();
}
Symbol 332 MovieClip Frame 3
stop();
gameOverScreen = true;
_root.stopSound(_root.JINGLEBELLSSND);
_root.playSound(_root.GAMEOVERSND);
_root.gameState = 3;
this.createEmptyMovieClip("highSender", this.getNextHighestDepth());
yourScore.submit.onRelease = function () {
highSender.playerName = yourScore.nameText;
highSender.score = _root.score;
highSender.gamename = _root.GAMENAME;
highSender.validator = scoreSystem.processScore(_root.score);
highSender.loadVariables(_root.PATH + "new_score.php", "POST");
getURL (_root.SCORESPATH, "_blank");
yourScore._visible = false;
};
Symbol 332 MovieClip Frame 9
_quality = "best";
_root.gotoAndPlay("menu");
Symbol 347 Button
on (release) {
nextFrame();
}
Symbol 357 Button
on (release) {
_root.help.backtomenu();
}
Symbol 358 MovieClip Frame 1
stop();
Symbol 359 MovieClip Frame 1
function backtomenu() {
play();
}
stop();
_root.stopSound(_root.SLEIGHBELLSSND);
Symbol 359 MovieClip Frame 2
_root.gotoAndPlay("menu");