Frame 1
fscommand ("showmenu", false);
stop();
Frame 3
play();
mochi.MochiServices.connect("fe13dc8d98847deb");
Frame 4
stop();
_root.attachMovie("escapee_finish", "escapee_finish", _root.getNextHighestDepth(), {_x:(Stage.width / 2) - 150, _y:Stage.height - 65});
Instance of Symbol 55 MovieClip "cloud" in Frame 4
onClipEvent (load) {
function resetCloud() {
this._x = 805;
this._y = 75;
this._xscale = (Math.random() * 100) + 25;
this._yscale = (Math.random() * 100) + 25;
this._alpha = (Math.random() * 100) + 5;
}
speedCloudbase = Math.floor(Math.random() * 2) + 1;
resetCloud();
}
onClipEvent (enterFrame) {
this._x = this._x - speedCloudbase;
if (_root.escapee._x >= (Stage.width / 2)) {
this._x = this._x - (speedCloudbase + (_root.escapee.dirx / 6));
} else {
this._x = this._x - speedCloudbase;
}
if (this._x < -260) {
resetCloud();
}
}
Instance of Symbol 55 MovieClip "cloud" in Frame 4
onClipEvent (load) {
function resetCloud() {
this._x = 805;
this._y = 100;
this._xscale = (Math.random() * 50) + 25;
this._yscale = (Math.random() * 50) + 25;
this._alpha = (Math.random() * 100) + 5;
}
speedCloudbase = Math.floor(Math.random() * 0.5) + 1;
resetCloud();
}
onClipEvent (enterFrame) {
this._x = this._x - speedCloudbase;
if (_root.escapee._x >= (Stage.width / 2)) {
this._x = this._x - (speedCloudbase + (_root.escapee.dirx / 12));
} else {
this._x = this._x - speedCloudbase;
}
if (this._x < -260) {
resetCloud();
}
}
Instance of Symbol 59 MovieClip in Frame 4
on (release) {
removeMovieClip(_root.escapee_finish);
_root.gotoAndStop("game");
}
Instance of Symbol 63 MovieClip in Frame 4
on (release) {
getURL ("http://thepixelcastle.com", "_blank");
}
Instance of Symbol 66 MovieClip in Frame 4
on (release) {
_root.gotoAndStop("instructions");
}
Frame 5
function rubberbandSnd() {
mySound = new Sound();
mySound.attachSound("Twang");
mySound.setVolume(100);
mySound.start();
}
stop();
power = 0;
gravity = 1;
traveled = 0;
start_escapee_x = 150;
start_escapee_y = 365;
escapee_in_air = false;
start_marker = 150;
escapee_height = 0;
spin = true;
marker_showing = false;
distance = 0;
toohigh = "false";
_global.exploded = false;
_root.attachMovie("launcher", "launcher", _root.getNextHighestDepth());
launcher._x = 150;
launcher._y = 375;
launcher.onEnterFrame = function () {
if (Key.isDown(37)) {
_root.power = launcher.rubberband._currentframe;
if (launcher.rubberband._currentframe < 100) {
launcher.rubberband.nextFrame();
}
if (launcher._currentframe < 100) {
launcher.nextFrame();
}
}
if (Key.isDown(39)) {
_root.power = launcher.rubberband._currentframe;
if (launcher.rubberband._currentframe > 0) {
launcher.rubberband.prevFrame();
}
if (launcher._currentframe > 0) {
launcher.prevFrame();
}
}
if (Key.isDown(38)) {
launcher.rubberband._rotation = launcher.rubberband._rotation + 1;
if (launcher.rubberband._rotation >= 0) {
launcher.rubberband._rotation = 0;
}
}
if (Key.isDown(40)) {
launcher.rubberband._rotation = launcher.rubberband._rotation - 1;
if (launcher.rubberband._rotation <= -30) {
launcher.rubberband._rotation = -30;
}
}
angle = launcher.rubberband._rotation;
if (Key.isDown(32) and (escapee_in_air == false)) {
rubberbandSnd();
escapee_in_air = true;
escapee_launched = attachMovie("escapee", "escapee", _root.getNextHighestDepth(), {_x:start_escapee_x, _y:start_escapee_y});
launcher.gotoAndStop("shoot");
launcher.rubberband.gotoAndPlay("shoot");
escapee_launched.dirx = Math.cos((angle * Math.PI) / 180) * power;
escapee_launched.diry = Math.sin((angle * Math.PI) / 180) * power;
escapee_in_air = true;
escapee_launched.onEnterFrame = function () {
this.diry = this.diry + gravity;
this._x = this._x + (this.dirx / 2);
this._y = this._y + (this.diry / 2);
if (spin == true) {
this._rotation = this._rotation + 2;
}
if (escapee_in_air == true) {
distance = distance + (escapee_launched.dirx / 50);
traveled = Math.floor(distance) + 1;
}
if (this._x >= (Stage.width / 2)) {
this._x = Stage.width / 2;
launcher._x = launcher._x - (escapee.dirx / 2);
ground._x = (ground._x - (escapee.dirx / 2)) % (ground._width / 2);
if (launcher._x <= -100) {
removeMovieClip(launcher);
}
}
if (_root.escapee.hit_area.hitTest(mine) and (_global.exploded == false)) {
mine.gotoAndPlay("explode");
}
if (this._y > (Stage.height - 65)) {
this._y = Stage.height - 65;
if (_root.toohigh == "true") {
escapee_dead = attachMovie("escapee_dead", "escapee_dead", _root.getNextHighestDepth(), {_x:escapee._x, _y:escapee._y});
removeMovieClip("escapee");
escapee_in_air = false;
gotoAndStop ("too_high");
}
escapee_launched.diry = escapee_launched.diry * -0.7;
escapee_launched.dirx = escapee_launched.dirx * 0.7;
if ((Math.floor(escapee_launched.diry) < 1) and (Math.floor(escapee_launched.dirx) < 1)) {
escapee_in_air = false;
power = 0;
spin = false;
escapee_end = attachMovie("escapee_finish", "escapee_finish", _root.getNextHighestDepth(), {_x:escapee._x, _y:escapee._y});
removeMovieClip("escapee");
_root.gotoAndStop("game_over");
}
}
if ((escapee._y < 0) and (marker_showing == false)) {
marker_showing = true;
attachMovie("escapee_marker", "escapee_marker", _root.getNextHighestDepth(), {_x:_root.escapee._x, _y:2});
}
if ((escapee._y >= 0) and (marker_showing == true)) {
marker_showing = false;
removeMovieClip(_root.escapee_marker);
}
if ((escapee._y <= -3000) and (_root.toohigh == "false")) {
_root.toohigh = "true";
escapee._rotation = 90;
spin = false;
_global.exploded = true;
}
};
}
};
Instance of Symbol 51 MovieClip [mine] "mine" in Frame 5
onClipEvent (load) {
function resetMine() {
this._x = (Math.random() * 150) + 800;
this._y = Stage.height - 65;
gotoAndStop ("safe");
}
}
onClipEvent (enterFrame) {
if (_root.escapee._x >= (Stage.width / 2)) {
this._x = this._x - (_root.escapee.dirx / 2);
if (this._x < -45) {
resetMine();
}
}
}
Frame 6
stop();
Instance of Symbol 76 MovieClip in Frame 6
on (release) {
_root.attachMovie("leaderboard_mc", "leaderboard_mc", _root.getNextHighestDepth());
}
Instance of Symbol 83 MovieClip in Frame 6
on (release) {
removeMovieClip(_root.escapee_finish);
removeMovieClip(_root.game_over);
removeMovieClip(_root.launcher);
_root.mine.resetMine();
_root.gotoAndStop("game");
}
Frame 7
stop();
Instance of Symbol 51 MovieClip [mine] "mine" in Frame 7
onClipEvent (load) {
function resetMine() {
this._x = (Math.random() * 100) + 800;
this._y = Stage.height - 65;
gotoAndStop ("safe");
}
}
onClipEvent (enterFrame) {
if (_root.escapee._x >= (Stage.width / 2)) {
this._x = this._x - (_root.escapee.dirx / 2);
if (this._x < -40) {
resetMine();
}
}
}
Instance of Symbol 83 MovieClip in Frame 7
on (release) {
removeMovieClip(_root.escapee_finish);
removeMovieClip(_root.game_over);
removeMovieClip(_root.launcher);
_root.mine.resetMine();
_root.gotoAndStop("game");
}
Frame 8
Instance of Symbol 80 MovieClip [game_over] in Frame 8
onClipEvent (load) {
}
Instance of Symbol 83 MovieClip in Frame 8
on (release) {
removeMovieClip(_root.escapee_dead);
removeMovieClip(_root.game_over);
removeMovieClip(_root.launcher);
_root.mine.resetMine();
_root.gotoAndStop("game");
}
Instance of Symbol 76 MovieClip in Frame 8
on (release) {
_root.attachMovie("leaderboard_mc", "leaderboard_mc", _root.getNextHighestDepth());
}
Frame 9
stop();
Frame 10
stop();
Instance of Symbol 59 MovieClip in Frame 10
on (release) {
removeMovieClip(_root.escapee_finish);
_root.gotoAndStop("game");
}
Instance of Symbol 3 MovieClip in Symbol 4 MovieClip [leaderboard_mc] Frame 1
onClipEvent (load) {
mochi.MochiScores.showLeaderboard({boardID:"b9b947bb2577e8ae", score:_root.traveled});
}
Symbol 9 MovieClip Frame 1
stop();
Symbol 9 MovieClip Frame 105
stop();
Symbol 11 MovieClip [launcher] Frame 1
stop();
Symbol 19 MovieClip [escapee] Frame 1
stop();
Symbol 19 MovieClip [escapee] Frame 11
stop();
Symbol 19 MovieClip [escapee] Frame 40
_root.escapee._rotation = 0;
gotoAndStop (1);
Symbol 26 MovieClip Frame 1
perc = Math.round((_parent.getBytesLoaded() / _parent.getBytesTotal()) * 100);
xperc = perc / 100;
barlength = 200;
if ((perc == 100) and (bar._width == barlength)) {
_parent.gotoAndStop("mochiads");
} else {
nperc = perc + "%";
bar._width = barlength * xperc;
bar._x = -100 + (bar._width / 2);
}
Symbol 92 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 93 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)) {
_connecting = true;
init(id, clip);
}
if (onError != undefined) {
mochi.MochiServices.onError = onError;
} else if (mochi.MochiServices.onError == undefined) {
mochi.MochiServices.onError = function (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) {
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);
}
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);
_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 35 MovieClip [escapee_dead] Frame 21
stop();
Symbol 40 MovieClip [escapee_finish] Frame 26
gotoAndPlay ("jump");
Symbol 43 MovieClip [escapee_marker] Frame 1
yheight.text = Math.floor(_root.escapee._y) * -1;
Symbol 43 MovieClip [escapee_marker] Frame 2
yheight.text = Math.floor(_root.escapee._y) * -1;
Symbol 51 MovieClip [mine] Frame 1
stop();
_global.exploded = false;
Symbol 51 MovieClip [mine] Frame 5
_global.exploded = true;
_root.escapee.gotoAndPlay("spin");
_root.escapee_launched.diry = _root.escapee_launched.diry * 2;
_root.escapee_launched.dirx = _root.escapee_launched.dirx * 1.5;
Symbol 51 MovieClip [mine] Frame 9
stop();