Frame 1
MochiAd.showPreGameAd({id:"804f7f1007a1f8a7", res:"600x470"});
mochi.MochiServices.connect("804f7f1007a1f8a7");
var _mochiads_game_id = "804f7f1007a1f8a7";
Stage.showMenu = false;
Frame 2
Stage.showMenu = false;
stop();
Frame 3
function sitelock(urls_allowed) {
lock = true;
domain_parts = _url.split("://");
real_domain = domain_parts[1].split("/");
domain.text = real_domain[0];
for (x in urls_allowed) {
if (urls_allowed[x] == real_domain[0]) {
lock = false;
}
}
if (lock) {
_root._alpha = 0;
}
}
var mute = false;
var musicmute = false;
var endscore = undefined;
var playername = "";
var singleendscore = undefined;
var seenbox = false;
var diedyet = false;
var musicsound;
Stage.showMenu = false;
urls_allowed = ["www.krazyletter.com", "scdn1.krazyletter.com"];
stop();
Instance of Symbol 26 MovieClip in Frame 3
onClipEvent (mouseDown) {
if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
getURL ("http://www.poofysheepgames.com/", "_blank");
}
}
Instance of Symbol 29 MovieClip "lines" in Frame 3
onClipEvent (load) {
_root.musicsound = new Sound();
_root.musicsound.attachSound("music");
var startedyet = false;
}
onClipEvent (enterFrame) {
if ((_root._currentframe == 3) && (!startedyet)) {
startedyet = true;
}
}
Frame 4
function prompt() {
gamedialouge._x = -88;
gamedialouge._y = -44;
gamedialouge.prompted = true;
}
function unprompt() {
gamedialouge._x = -1000;
gamedialouge._y = 1000;
gamedialouge.prompted = false;
}
stop();
endscore = undefined;
singleendscore = undefined;
Instance of Symbol 64 MovieClip "gamedialouge" in Frame 4
onClipEvent (load) {
function __f_load(eventObj) {
var _local1 = false;
}
this.addEventListener("load", __f_load);
}
onClipEvent (mouseUp) {
if (prompted) {
_root.unprompt();
}
}
Frame 5
function hideAlert() {
_root.gamepause = false;
while (alert._x != undefined) {
alert.removeMovieClip();
}
}
function Controls() {
displayAlert();
alert.gotoAndStop("controls");
}
function returnToMenu() {
displayAlert();
alert.gotoAndStop("quit");
}
function Monsters() {
displayAlert();
alert.gotoAndStop("monsters");
}
function Boxes() {
displayAlert();
alert.gotoAndStop("box");
}
function StringAlert() {
displayAlert();
alert.gotoAndStop("string");
}
function firstLevel() {
displayAlert();
alert.gotoAndStop("level");
}
function diealert() {
displayAlert();
alert.gotoAndStop("die");
}
function thirdLevel() {
displayAlert();
alert.gotoAndStop("lvlthree");
}
function displayAlert() {
hideAlert();
var _local2 = alerty.duplicateMovieClip("alert", 5, {_x:270, y:200});
_root.gamepause = true;
}
function beatLevel() {
levelup.swapDepths(_root.getNextHighestDepth());
if (currlevel == 15) {
score = score + 10000;
endscore = score;
gotoAndStop ("win");
} else if (currlevel == 10) {
StringAlert();
_root.levelup.play();
score = score + (1000 * currlevel);
currlevel++;
gc.newLevel(currlevel);
} else if (currlevel == 1) {
firstLevel();
_root.levelup.play();
score = score + (1000 * currlevel);
currlevel++;
gc.newLevel(currlevel);
} else if (currlevel == 3) {
thirdLevel();
_root.levelup.play();
score = score + (1000 * currlevel);
currlevel++;
gc.newLevel(currlevel);
} else {
_root.levelup.play();
score = score + (1000 * currlevel);
currlevel++;
gc.newLevel(currlevel);
}
}
function restartLevel() {
restart.swapDepths(_root.getNextHighestDepth());
gc.newLevel(currlevel);
_root.restart.play();
endscore = score;
}
stop();
var gc = new GameControl(brick, monster, Xdude, Ydude);
currlevel = 1;
restarts = 3;
var gamepause = false;
score = 1000;
singleendscore = undefined;
Controls();
gc.newLevel(currlevel);
Instance of Symbol 123 MovieClip "Ydude" in Frame 5
onClipEvent (load) {
matrix = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
this.filters = [new flash.filters.ColorMatrixFilter(matrix)];
}
Instance of Symbol 174 MovieClip "timer" in Frame 5
on (keyPress "<Space>") {
if (_root.gamepause) {
_root.gamepause = false;
_root.paus._x = -650;
_root.paus._y = 0;
} else {
_root.gamepause = true;
if (_root.paus.getDepth() != _root.getNextHighestDepth()) {
_root.paus.swapDepths(_root.getNextHighestDepth());
}
_root.paus._x = 40;
_root.paus._y = 40;
_root.score = _root.score - 20;
}
}
on (keyPress "p") {
if (_root.gamepause) {
_root.gamepause = false;
_root.paus._x = -650;
_root.paus._y = 0;
} else {
_root.gamepause = true;
if (_root.paus.getDepth() != _root.getNextHighestDepth()) {
_root.paus.swapDepths(_root.getNextHighestDepth());
}
_root.paus._x = 40;
_root.paus._y = 40;
_root.score = _root.score - 20;
}
}
on (keyPress "r") {
_root.gamepause = false;
_root.paus._x = -650;
_root.paus._y = 0;
_root.gc.endGame();
var snd = new Sound();
snd.attachSound("restartsound");
if (!_root.mute) {
snd.start(0, 1);
}
}
on (keyPress "<Left>") {
if (!_root.gamepause) {
dirx = "left";
}
}
on (keyPress "<Right>") {
if (!_root.gamepause) {
dirx = "right";
}
}
on (keyPress "<Up>") {
if (!_root.gamepause) {
dirx = "up";
}
}
on (keyPress "<Down>") {
if (!_root.gamepause) {
dirx = "down";
}
}
on (keyPress "a") {
if (!_root.gamepause) {
diry = "left";
}
}
on (keyPress "d") {
if (!_root.gamepause) {
diry = "right";
}
}
on (keyPress "w") {
if (!_root.gamepause) {
diry = "up";
}
}
on (keyPress "s") {
if (!_root.gamepause) {
diry = "down";
}
}
onClipEvent (load) {
counter = 0;
counter2 = 0;
var dirx = " ";
var diry = " ";
}
onClipEvent (enterFrame) {
_root.gc.LineDraw.newFrame();
_root.gc.EveryFrame();
if (!_root.gamepause) {
counter2++;
counter++;
_root.gc.countFrames();
if (counter2 >= 4) {
if (dirx != " ") {
_root.gc.p1(dirx);
dirx = " ";
}
if (diry != " ") {
_root.gc.p2(diry);
diry = " ";
}
counter2 = 0;
if (counter >= 10) {
counter = 0;
_root.score--;
}
}
}
}
Instance of Symbol 213 MovieClip "paus" in Frame 5
onClipEvent (enterFrame) {
if (_root.gamepause) {
if (!((_root._currentframe == 6) || (_root._currentframe == 5))) {
_root.gamepause = false;
this._x = 5000;
this._y = 5000;
}
}
}
Instance of Symbol 269 MovieClip "alerty" in Frame 5
onClipEvent (enterFrame) {
if (this.getDepth() != _root.getNextHighestDepth()) {
this.swapDepths(_root.getNextHighestDepth());
}
}
Frame 6
function hideAlert() {
_root.gamepause = false;
while (alert._x != undefined) {
alert.removeMovieClip();
}
}
function Controls() {
displayAlert();
alert.gotoAndStop("scontrols");
}
function Monsters() {
displayAlert();
alert.gotoAndStop("monsters");
}
function Boxes() {
displayAlert();
alert.gotoAndStop("box");
}
function StringAlert() {
displayAlert();
alert.gotoAndStop("string");
}
function firstLevel() {
displayAlert();
alert.gotoAndStop("level");
}
function returnToMenu() {
displayAlert();
alert.gotoAndStop("quit");
}
function diealert() {
displayAlert();
alert.gotoAndStop("die");
}
function displayAlert() {
hideAlert();
var _local2 = alerty.duplicateMovieClip("alert", 5, {_x:270, y:200});
_root.gamepause = true;
}
function beatLevel() {
levelup.swapDepths(_root.getNextHighestDepth());
if (currlevel == 10) {
score = score + 10000;
singleendscore = score;
gotoAndStop ("win");
}
if (currlevel == 1) {
firstLevel();
_root.levelup.play();
score = score + (1000 * currlevel);
currlevel++;
gc.newLevel(currlevel);
} else {
_root.levelup.play();
score = score + (1000 * currlevel);
currlevel++;
gc.newLevel(currlevel);
}
}
function restartLevel() {
restart.swapDepths(_root.getNextHighestDepth());
gc.newLevel(currlevel);
_root.restart.play();
singleendscore = score;
}
stop();
var gc = new GameControl(brick, monster, Xdude, Ydude);
gc.setSingle();
currlevel = 1;
restarts = 3;
endscore = undefined;
Controls();
var gamepause = false;
score = 1000;
gc.newLevel(currlevel);
Instance of Symbol 174 MovieClip "timer" in Frame 6
on (keyPress "<Space>") {
if (_root.gamepause) {
_root.gamepause = false;
_root.paus._x = -650;
_root.paus._y = 0;
} else {
_root.gamepause = true;
if (_root.paus.getDepth() != _root.getNextHighestDepth()) {
_root.paus.swapDepths(_root.getNextHighestDepth());
}
_root.paus._x = 40;
_root.paus._y = 40;
_root.score = _root.score - 20;
}
}
on (keyPress "p") {
if (_root.gamepause) {
_root.gamepause = false;
_root.paus._x = -650;
_root.paus._y = 0;
} else {
_root.gamepause = true;
if (_root.paus.getDepth() != _root.getNextHighestDepth()) {
_root.paus.swapDepths(_root.getNextHighestDepth());
}
_root.paus._x = 40;
_root.paus._y = 40;
_root.score = _root.score - 20;
}
}
on (keyPress "r") {
_root.gamepause = false;
_root.paus._x = -650;
_root.paus._y = 0;
_root.gc.endGame();
var snd = new Sound();
snd.attachSound("restartsound");
if (!_root.mute) {
snd.start(0, 1);
}
}
on (keyPress "<Left>") {
if (!_root.gamepause) {
dirx = "left";
}
}
on (keyPress "<Right>") {
if (!_root.gamepause) {
dirx = "right";
}
}
on (keyPress "<Up>") {
if (!_root.gamepause) {
dirx = "up";
}
}
on (keyPress "<Down>") {
if (!_root.gamepause) {
dirx = "down";
}
}
onClipEvent (load) {
counter = 0;
counter2 = 0;
var dirx = " ";
var diry = " ";
}
onClipEvent (enterFrame) {
_root.gc.EveryFrame();
if (!_root.gamepause) {
counter2++;
counter++;
_root.gc.countFrames();
if (counter2 >= 4) {
if (dirx != " ") {
_root.gc.pS(dirx);
dirx = " ";
}
counter2 = 0;
if (counter >= 10) {
counter = 0;
_root.score--;
}
}
}
}
Instance of Symbol 123 MovieClip "Ydude" in Frame 6
onClipEvent (load) {
matrix = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
this.filters = [new flash.filters.ColorMatrixFilter(matrix)];
}
onClipEvent (enterFrame) {
_root.gc.LineDraw.updateLine(1, 1, 1, 1);
}
Instance of Symbol 213 MovieClip "paus" in Frame 6
onClipEvent (enterFrame) {
if (_root.gamepause) {
if (!((_root._currentframe == 6) || (_root._currentframe == 5))) {
_root.gamepause = false;
this._x = 5000;
this._y = 5000;
}
}
}
Frame 7
stop();
if (endscore != undefined) {
endscorebox = "Your Multiplayer Score:\n" + endscore.toString();
} else {
endscorebox = "Your Single Player Score:\n" + singleendscore.toString();
}
grid._alpha = 0;
Frame 8
stop();
if (endscore != undefined) {
endscorebox2 = "Your Multiplayer Score: \n" + endscore.toString();
} else {
endscorebox2 = "Your Single Player Score: \n" + singleendscore.toString();
}
grid._alpha = 0;
Frame 9
_root.gotoAndStop("menu");
Instance of Symbol 166 MovieClip in Frame 10
onClipEvent (load) {
matrix = [Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, 0, 0, 0, 1, 0];
this.filters = [new flash.filters.ColorMatrixFilter(matrix)];
}
Instance of Symbol 166 MovieClip in Frame 10
onClipEvent (load) {
matrix = [Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, 0, 0, 0, 1, 0];
this.filters = [new flash.filters.ColorMatrixFilter(matrix)];
}
Instance of Symbol 166 MovieClip in Frame 10
onClipEvent (load) {
matrix = [Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, 0, 0, 0, 1, 0];
this.filters = [new flash.filters.ColorMatrixFilter(matrix)];
}
Instance of Symbol 166 MovieClip in Frame 10
onClipEvent (load) {
matrix = [Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, 0, 0, 0, 1, 0];
this.filters = [new flash.filters.ColorMatrixFilter(matrix)];
}
Instance of Symbol 166 MovieClip in Frame 10
onClipEvent (load) {
matrix = [Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, 0, 0, 0, 1, 0];
this.filters = [new flash.filters.ColorMatrixFilter(matrix)];
}
Symbol 299 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.35");
}
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 ((args.options != null) && (args.options.onError != null)) {
args.options.onError.apply(null, ["NotConnected"]);
}
}
if (callbackMethod != null) {
args = {};
args.error = true;
args.errorCode = "NotConnected";
if ((callbackObject != null) && (typeof(callbackMethod) == "string")) {
callbackObject[callbackMethod](args);
} else if (callbackMethod != null) {
callbackMethod.apply(args);
}
}
}
static function send(methodName, args, callbackObject, callbackMethod) {
if (_connected) {
_sendChannel.send(_sendChannelName, "onReceive", {methodName:methodName, args:args, callbackID:_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 function addLinkEvent(url, burl, btn, onClick) {
var _local2 = new Object();
_local2.mav = getVersion();
_local2.swfv = btn.getSWFVersion() || 6;
_local2.swfurl = btn._url;
_local2.fv = System.capabilities.version;
_local2.os = System.capabilities.os;
_local2.lang = System.capabilities.language;
_local2.scres = (System.capabilities.screenResolutionX + "x") + System.capabilities.screenResolutionY;
var s = "?";
var _local3 = 0;
for (var _local6 in _local2) {
if (_local3 != 0) {
s = s + "&";
}
_local3++;
s = ((s + _local6) + "=") + escape(_local2[_local6]);
}
var _local4 = btn.createEmptyMovieClip("clk", 1001);
_local4._alpha = 0;
_local4.beginFill(1044735);
_local4.moveTo(0, 0);
_local4.lineTo(0, btn._height);
_local4.lineTo(btn._width, btn._height);
_local4.lineTo(btn._width, 0);
_local4.lineTo(0, 0);
_local4.endFill();
_local4.onRelease = function () {
var _local3;
var _local2 = new LoadVars();
var timeout = 1500;
var t0 = getTimer();
var ping = this.createEmptyMovieClip("ping", 777);
this.onEnterFrame = function () {
if ((ping._totalframes > 0) && (ping._totalframes == ping._framesloaded)) {
delete this.onEnterFrame;
delete this.ping;
getURL (url + s, "_blank");
} else if ((getTimer() - t0) > timeout) {
delete this.onEnterFrame;
delete this.ping;
getURL (burl, "_blank");
}
};
ping.loadMovie("http://x.mochiads.com/linkping.swf?t=" + getTimer());
if (onClick != undefined) {
onClick();
}
};
}
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 300 MovieClip [__Packages.MochiAd] Frame 0
class MochiAd
{
function MochiAd () {
}
static function getVersion() {
return("2.7");
}
static function showPreGameAd(options) {
var _local26 = {clip:_root, ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:16747008, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function () {
this.clip.stop();
}, ad_finished:function () {
this.clip.play();
}, ad_failed:function () {
trace("[MochiAd] Couldn't load an ad, make sure that your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_loaded:function (width, height) {
}, ad_skipped:function () {
}, ad_progress:function (percent) {
}};
options = _parseOptions(options, _local26);
if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def") {
options.ad_started();
options.ad_finished();
return(undefined);
}
var clip = options.clip;
var _local22 = 11000;
var _local25 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
options.ad_failed();
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local14 = _getRes(options);
var _local4 = _local14[0];
var _local13 = _local14[1];
mc._x = _local4 * 0.5;
mc._y = _local13 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk._x = _local4 * -0.5;
chk._y = _local13 * -0.5;
var _local6 = chk.createEmptyMovieClip("_mochiad_bar", 4);
if (options.no_progress_bar) {
_local6._visible = false;
delete options.no_progress_bar;
} else {
_local6._x = 10;
_local6._y = _local13 - 20;
}
var _local21 = options.color;
delete options.color;
var _local19 = options.background;
delete options.background;
var _local23 = options.outline;
delete options.outline;
var _local5 = _local6.createEmptyMovieClip("_outline", 1);
_local5.beginFill(_local19);
_local5.moveTo(0, 0);
_local5.lineTo(_local4 - 20, 0);
_local5.lineTo(_local4 - 20, 10);
_local5.lineTo(0, 10);
_local5.lineTo(0, 0);
_local5.endFill();
var _local3 = _local6.createEmptyMovieClip("_inside", 2);
_local3.beginFill(_local21);
_local3.moveTo(0, 0);
_local3.lineTo(_local4 - 20, 0);
_local3.lineTo(_local4 - 20, 10);
_local3.lineTo(0, 10);
_local3.lineTo(0, 0);
_local3.endFill();
_local3._xscale = 0;
var _local7 = _local6.createEmptyMovieClip("_outline", 3);
_local7.lineStyle(0, _local23, 100);
_local7.moveTo(0, 0);
_local7.lineTo(_local4 - 20, 0);
_local7.lineTo(_local4 - 20, 10);
_local7.lineTo(0, 10);
_local7.lineTo(0, 0);
chk.ad_msec = _local22;
chk.ad_timeout = _local25;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.regContLC = function (lc_name) {
mc._containerLCName = lc_name;
};
var sendHostProgress = false;
mc.lc.sendHostLoadProgress = function (lc_name) {
sendHostProgress = true;
};
mc.lc.adLoaded = options.ad_loaded;
mc.lc.adSkipped = options.ad_skipped;
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec;
};
mc.lc.rpc = function (callbackID, arg) {
MochiAd.rpc(clip, callbackID, arg);
};
mc.rpcTestFn = function (s) {
trace("[MOCHIAD rpcTestFn] " + s);
return(s);
};
chk.onEnterFrame = function () {
var _local6 = this._parent._parent;
var _local11 = this._parent._mochiad_ctr;
var _local5 = getTimer() - this.started;
var _local3 = false;
var _local4 = _local6.getBytesTotal();
var _local8 = _local6.getBytesLoaded();
var _local2 = (100 * _local8) / _local4;
var _local10 = (100 * _local5) / chk.ad_msec;
var _local9 = this._mochiad_bar._inside;
var _local13 = Math.min(100, Math.min(_local2 || 0, _local10));
_local13 = Math.max(this.last_pcnt, _local13);
this.last_pcnt = _local13;
_local9._xscale = _local13;
options.ad_progress(_local13);
if (sendHostProgress) {
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local2});
if (_local2 == 100) {
sendHostProgress = false;
}
}
if (!chk.showing) {
var _local7 = _local11.getBytesTotal();
if ((_local7 > 0) || (typeof(_local7) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if ((_local5 > chk.ad_timeout) && (_local2 == 100)) {
options.ad_failed();
_local3 = true;
}
}
if (_local5 > chk.ad_msec) {
_local3 = true;
}
if (((_local4 > 0) && (_local8 >= _local4)) && (_local3)) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
}
}
};
}
static function showClickAwayAd(options) {
var _local9 = {clip:_root, ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function () {
}, ad_finished:function () {
}, ad_loaded:function (width, height) {
}, ad_failed:function () {
trace("[MochiAd] Couldn't load an ad, make sure that your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function () {
}};
options = _parseOptions(options, _local9);
var clip = options.clip;
var _local8 = options.ad_timeout;
delete options.ad_timeout;
if (!load(options)) {
options.ad_failed();
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local4 = _getRes(options);
var _local10 = _local4[0];
var _local7 = _local4[1];
mc._x = _local10 * 0.5;
mc._y = _local7 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk.ad_timeout = _local8;
chk.started = getTimer();
chk.showing = false;
mc.lc.adLoaded = options.ad_loaded;
mc.lc.adSkipped = options.ad_skipped;
mc.lc.rpc = function (callbackID, arg) {
MochiAd.rpc(clip, callbackID, arg);
};
mc.rpcTestFn = function (s) {
trace("[MOCHIAD rpcTestFn] " + s);
return(s);
};
var _local20 = false;
mc.lc.regContLC = function (lc_name) {
mc._containerLCName = lc_name;
};
chk.onEnterFrame = function () {
var _local5 = this._parent._mochiad_ctr;
var _local4 = getTimer() - this.started;
var _local2 = false;
if (!chk.showing) {
var _local3 = _local5.getBytesTotal();
if ((_local3 > 0) || (typeof(_local3) == "undefined")) {
_local2 = true;
chk.showing = true;
chk.started = getTimer();
} else if (_local4 > chk.ad_timeout) {
options.ad_failed();
_local2 = true;
}
}
if (_local2) {
delete this.onEnterFrame;
}
};
}
static function showInterLevelAd(options) {
var _local13 = {clip:_root, ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function () {
this.clip.stop();
}, ad_finished:function () {
this.clip.play();
}, ad_failed:function () {
trace("[MochiAd] Couldn't load an ad, make sure that your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_loaded:function (width, height) {
}, ad_skipped:function () {
}};
options = _parseOptions(options, _local13);
var clip = options.clip;
var _local10 = 11000;
var _local12 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
options.ad_failed();
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local5 = _getRes(options);
var _local14 = _local5[0];
var _local11 = _local5[1];
mc._x = _local14 * 0.5;
mc._y = _local11 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk.ad_msec = _local10;
chk.ad_timeout = _local12;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.adLoaded = options.ad_loaded;
mc.lc.adSkipped = options.ad_skipped;
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec - 250;
};
mc.lc.rpc = function (callbackID, arg) {
MochiAd.rpc(clip, callbackID, arg);
};
mc.rpcTestFn = function (s) {
trace("[MOCHIAD rpcTestFn] " + s);
return(s);
};
chk.onEnterFrame = function () {
var _local5 = this._parent._mochiad_ctr;
var _local4 = getTimer() - this.started;
var _local2 = false;
if (!chk.showing) {
var _local3 = _local5.getBytesTotal();
if ((_local3 > 0) || (typeof(_local3) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if (_local4 > chk.ad_timeout) {
options.ad_failed();
_local2 = true;
}
}
if (_local4 > chk.ad_msec) {
_local2 = true;
}
if (_local2) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
}
}
};
}
static function showPreloaderAd(options) {
trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0");
showPreGameAd(options);
}
static function showTimedAd(options) {
trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0");
showInterLevelAd(options);
}
static function _allowDomains(server) {
var _local1 = server.split("/")[2].split(":")[0];
if (System.security) {
if (System.security.allowDomain) {
System.security.allowDomain("*");
System.security.allowDomain(_local1);
}
if (System.security.allowInsecureDomain) {
System.security.allowInsecureDomain("*");
System.security.allowInsecureDomain(_local1);
}
}
return(_local1);
}
static function load(options) {
var _local13 = {clip:_root, server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = _parseOptions(options, _local13);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = getVersion();
var _local9 = options.clip;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local9._mochiad_loaded) {
return(null);
}
var _local12 = options.depth;
delete options.depth;
var _local6 = _local9.createEmptyMovieClip("_mochiad", _local12);
var _local11 = _getRes(options);
options.res = (_local11[0] + "x") + _local11[1];
options.server = options.server + options.id;
delete options.id;
_local9._mochiad_loaded = true;
var _local4 = _local6.createEmptyMovieClip("_mochiad_ctr", 1);
for (var _local7 in options) {
_local4[_local7] = options[_local7];
}
var _local10 = _local4.server;
delete _local4.server;
var _local14 = _allowDomains(_local10);
_local6.onEnterFrame = function () {
if (this._mochiad_ctr._url != this._url) {
this.onEnterFrame = function () {
if (!this._mochiad_ctr) {
delete this.onEnterFrame;
MochiAd.unload(this._parent);
}
};
}
};
var _local5 = new LocalConnection();
var _local8 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local5.mc = _local6;
_local5.name = _local8;
_local5.hostname = _local14;
_local5.allowDomain = function (d) {
return(true);
};
_local5.allowInsecureDomain = _local5.allowDomain;
_local5.connect(_local8);
_local6.lc = _local5;
_local4.lc = _local8;
_local4.st = getTimer();
_local4.loadMovie(_local10 + ".swf", "POST");
return(_local6);
}
static function unload(clip) {
if (typeof(clip) == "undefined") {
clip = _root;
}
if (clip.clip && (clip.clip._mochiad)) {
clip = clip.clip;
}
if (!clip._mochiad) {
return(false);
}
if (clip._mochiad._containerLCName != undefined) {
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"unload"});
}
clip._mochiad.removeMovieClip();
delete clip._mochiad_loaded;
delete clip._mochiad;
return(true);
}
static function _isNetworkAvailable() {
if (System.security) {
var _local1 = System.security;
if (_local1.sandboxType == "localWithFile") {
return(false);
}
}
return(true);
}
static function _getRes(options) {
var _local3 = options.clip.getBounds();
var _local2 = 0;
var _local1 = 0;
if (typeof(options.res) != "undefined") {
var _local4 = options.res.split("x");
_local2 = parseFloat(_local4[0]);
_local1 = parseFloat(_local4[1]);
} else {
_local2 = _local3.xMax - _local3.xMin;
_local1 = _local3.yMax - _local3.yMin;
}
if ((_local2 == 0) || (_local1 == 0)) {
_local2 = Stage.width;
_local1 = Stage.height;
}
return([_local2, _local1]);
}
static function _parseOptions(options, defaults) {
var _local4 = {};
for (var _local8 in defaults) {
_local4[_local8] = defaults[_local8];
}
if (options) {
for (var _local8 in options) {
_local4[_local8] = options[_local8];
}
}
if (_root.mochiad_options) {
var _local5 = _root.mochiad_options.split("&");
var _local2 = 0;
while (_local2 < _local5.length) {
var _local3 = _local5[_local2].split("=");
_local4[unescape(_local3[0])] = unescape(_local3[1]);
_local2++;
}
}
if (_local4.id == "test") {
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
}
return(_local4);
}
static function rpc(clip, callbackID, arg) {
switch (arg.id) {
case "setValue" :
setValue(clip, arg.objectName, arg.value);
break;
case "getValue" :
var _local4 = getValue(clip, arg.objectName);
clip._mochiad.lc.send(clip._mochiad._containerLCName, "rpcResult", callbackID, _local4);
break;
case "runMethod" :
var _local3 = runMethod(clip, arg.method, arg.args);
clip._mochiad.lc.send(clip._mochiad._containerLCName, "rpcResult", callbackID, _local3);
break;
default :
trace("[mochiads rpc] unknown rpc id: " + arg.id);
}
}
static function setValue(base, objectName, value) {
var _local2 = objectName.split(".");
var _local1;
_local1 = 0;
while (_local1 < (_local2.length - 1)) {
if ((base[_local2[_local1]] == undefined) || (base[_local2[_local1]] == null)) {
return(undefined);
}
base = base[_local2[_local1]];
_local1++;
}
base[_local2[_local1]] = value;
}
static function getValue(base, objectName) {
var _local2 = objectName.split(".");
var _local1;
_local1 = 0;
while (_local1 < (_local2.length - 1)) {
if ((base[_local2[_local1]] == undefined) || (base[_local2[_local1]] == null)) {
return(undefined);
}
base = base[_local2[_local1]];
_local1++;
}
return(base[_local2[_local1]]);
}
static function runMethod(base, methodName, argsArray) {
var _local2 = methodName.split(".");
var _local1;
_local1 = 0;
while (_local1 < (_local2.length - 1)) {
if ((base[_local2[_local1]] == undefined) || (base[_local2[_local1]] == null)) {
return(undefined);
}
base = base[_local2[_local1]];
_local1++;
}
if (typeof(base[_local2[_local1]]) == "function") {
return(base[_local2[_local1]].apply(base, argsArray));
}
return(undefined);
}
}
Symbol 301 MovieClip [__Packages.GameControl] Frame 0
class GameControl
{
var brick, monster, playerX, playerY, gm, dw, level, LineDraw;
function GameControl (b, m, xx, yy) {
brick = b;
monster = m;
playerX = xx;
playerY = yy;
gm = new GridManager(MAPHEIGHT, MAPLENGTH);
dw = new DirectionWorker();
}
function setSingle() {
single = true;
}
function newLevel(lvl) {
gm.clearGrid();
gm.updateGrid();
level = lvl;
gm.putinGrid(new Wall(MAPLENGTH - 1, MAPHEIGHT - 1, null));
var _local4 = 0;
while (_local4 < (MAPHEIGHT - 1)) {
gm.putinGrid(new Wall(0, _local4, null));
gm.putinGrid(new Wall(MAPLENGTH - 1, _local4, null));
_local4++;
}
_local4 = 0;
while (_local4 < (MAPLENGTH - 1)) {
gm.putinGrid(new Wall(_local4, 0, null));
gm.putinGrid(new Wall(_local4, MAPHEIGHT - 1, null));
_local4++;
}
if (single) {
gm.putinGrid(new SinglePlayer(MAPLENGTH - 2, MAPHEIGHT - 2, playerX, "X"));
} else if (level > 10) {
var _local9 = new Player(MAPLENGTH - 7, MAPHEIGHT - 2, playerX, "X");
var _local8 = new Player(7, MAPHEIGHT - 2, playerY, "Y");
gm.putinGrid(_local9);
gm.putinGrid(_local8);
LineDraw = new LineDrawer(_local9.drawx, _local9.drawy, _local8.drawx, _local8.drawy, 200);
} else {
gm.putinGrid(new Player(MAPLENGTH - 2, MAPHEIGHT - 2, playerX, "X"));
gm.putinGrid(new Player(1, MAPHEIGHT - 2, playerY, "Y"));
}
gm.updateGrid();
var _local10 = new BrickPlacer();
var _local5 = _local10.getBrickPlaces(0.3, 0, 1, MAPLENGTH - 2, MAPHEIGHT - 3);
_local4 = 0;
while (_local4 < _local5[0].length) {
var _local3 = new Brick(_local5[0][_local4], _local5[1][_local4], brick);
if ((((((level == 3) || (level == 5)) || (level == 8)) || (level == 10)) || (level == 13)) || (level > 15)) {
if ((Math.random() * 68) > 67) {
_local3.setSpecial("extralife", _root.bricklife);
}
}
if (((level % 2) == 0) && (level != 4)) {
if ((Math.random() * 68) > 67) {
_local3.setSpecial("solid", _root.bricksolid);
}
}
if ((level > 5) && (level != 4)) {
if ((Math.random() * 200) > 199) {
_local3.setSpecial("score", _root.brickscore);
}
}
if ((level > 1) && (level != 4)) {
if ((Math.random() * 150) > 149) {
_local3.setSpecial("scores", _root.brickscores);
}
}
if ((level > 2) && (level != 4)) {
if ((Math.random() * 150) > 149) {
_local3.setSpecial("fillslide", _root.brickfill);
}
}
if (_local3.special != "none") {
if (!_root.seenbox) {
_root.Boxes();
_root.seenbox = true;
}
}
gm.putinGrid(_local3);
gm.updateGrid();
_local4++;
}
var _local7 = new MonsterPlacer();
if (!single) {
if (level <= 3) {
var _local6 = _local7.getMonsterPlaces(MAPLENGTH - 2, level);
} else if (level <= 10) {
var _local6 = _local7.getMonsterPlaces(MAPLENGTH - 2, level - 3);
} else if (level <= 15) {
MONSTERMOVESPEED = 14;
var _local6 = _local7.getMonsterPlaces(MAPLENGTH - 2, level - 7);
}
} else {
var _local6 = _local7.getMonsterPlaces(MAPLENGTH - 2, level);
}
_local4 = 1;
while (_local4 < (MAPLENGTH - 1)) {
if (_local6[_local4] == 1) {
gm.putinGrid(new Monster(_local4, 1, monster, 0.25));
}
_local4++;
}
gm.updateGrid();
}
function p1(dir) {
var _local4 = (dw.stringtodx(dir) * 30) + gm.players[0].drawx;
var _local3 = (dw.stringtody(dir) * 30) + gm.players[0].drawy;
if ((level <= 10) || (LineDraw.canDrawLine(gm.players[1].drawx, gm.players[1].drawy, _local4, _local3))) {
if (gm.canPlayerPush("X", dw.stringtodx(dir), dw.stringtody(dir))) {
gm.players[0].push(dir);
gm.updateGrid();
gm.map[gm.players[0].gridx][gm.players[0].gridy].slide(dw.stringtodx(dir), dw.stringtody(dir));
gm.updateGrid();
} else if (gm.canPlayerMove(gm.players[0].gridx + dw.stringtodx(dir), gm.players[0].gridy + dw.stringtody(dir))) {
gm.players[0].moveObject(dir);
gm.updateGrid();
}
if (level > 10) {
LineDraw.updateLine(gm.players[0].drawx, gm.players[0].drawy, gm.players[1].drawx, gm.players[1].drawy);
}
}
}
function p2(dir) {
var _local4 = (dw.stringtodx(dir) * 30) + gm.players[1].drawx;
var _local3 = (dw.stringtody(dir) * 30) + gm.players[1].drawy;
if ((level <= 10) || (LineDraw.canDrawLine(gm.players[0].drawx, gm.players[0].drawy, _local4, _local3))) {
if (gm.canPlayerPush("Y", dw.stringtodx(dir), dw.stringtody(dir))) {
gm.players[1].push(dir);
gm.updateGrid();
gm.map[gm.players[1].gridx][gm.players[1].gridy].slide(dw.stringtodx(dir), dw.stringtody(dir));
gm.updateGrid();
} else if (gm.canPlayerMove(gm.players[1].gridx + dw.stringtodx(dir), gm.players[1].gridy + dw.stringtody(dir))) {
gm.players[1].moveObject(dir);
gm.updateGrid();
}
if (level > 10) {
LineDraw.updateLine(gm.players[0].drawx, gm.players[0].drawy, gm.players[1].drawx, gm.players[1].drawy);
}
}
}
function pS(dir) {
if (gm.canPlayerPush("B", dw.stringtodx(dir), dw.stringtody(dir))) {
gm.players[0].push(dir);
gm.updateGrid();
gm.map[gm.players[0].gridx][gm.players[0].gridy].slide(dw.stringtodx(dir), dw.stringtody(dir));
gm.updateGrid();
} else if (gm.canPlayerMove(gm.players[0].gridx + dw.stringtodx(dir), gm.players[0].gridy + dw.stringtody(dir))) {
gm.players[0].moveObject(dir);
gm.updateGrid();
}
}
function MonsterMover() {
if (gm.moveMonsters()) {
var _local3 = new Sound(_root.rip);
_local3.attachSound("levelupsound");
if (!_root.mute) {
_local3.start(0, 1);
}
gm.removeAllClips();
gm.clearGrid();
_root.beatLevel();
} else {
gm.updateGrid();
}
}
function endGame() {
if (_root.restarts < 1) {
gm.removeAllClips();
_root.deadfade.play();
LineDraw.removeLine();
} else {
gm.removeAllClips();
gm.clearGrid();
_root.restarts--;
_root.restartLevel();
}
}
function countFrames() {
counter++;
if (counter >= MONSTERMOVESPEED) {
_root.gc.MonsterMover();
counter = 0;
}
}
function EveryFrame() {
var _local2 = gm.arePlayersDead();
_local2[0][0].die(_local2[1][0]);
_local2[0][1].die(_local2[1][1]);
if (!gm.players[0].alive) {
if (!gm.players[1].alive) {
endGame();
}
}
}
function addScore(scoretoAdd) {
_root.score = _root.score + scoretoAdd;
}
function addRestart() {
_root.restarts++;
}
function doFillSlide(dx, dy, gridx, gridy) {
if (dx == 0) {
if (dy < 0) {
var _local4 = gridy - 2;
while (_local4 > 0) {
if (gm.map[gridx][_local4] == null) {
gm.putinGrid(new Brick(gridx, _local4, brick));
}
_local4--;
}
}
if (dy > 0) {
var _local4 = gridy + 2;
while (_local4 < MAPHEIGHT) {
if (gm.map[gridx][_local4] == null) {
gm.putinGrid(new Brick(gridx, _local4, brick));
}
_local4++;
}
}
} else if (dy == 0) {
if (dx < 0) {
var _local4 = gridx - 2;
while (_local4 > 0) {
if (gm.map[_local4][gridy] == null) {
gm.putinGrid(new Brick(_local4, gridy, brick));
}
_local4--;
}
}
if (dx > 0) {
var _local4 = gridx + 2;
while (_local4 < MAPLENGTH) {
if (gm.map[_local4][gridy] == null) {
gm.putinGrid(new Brick(_local4, gridy, brick));
}
_local4++;
}
}
}
}
var MAPHEIGHT = 15;
var MAPLENGTH = 15;
var MONSTERMOVESPEED = 20;
var single = false;
var counter = 0;
}
Symbol 302 MovieClip [__Packages.GridManager] Frame 0
class GridManager
{
var mapl, maph, gridas, map, allTrapped;
function GridManager (mh, ml) {
mapl = ml;
maph = mh;
gridas = new GridAssistant();
map = new Array(maph);
var _local3 = 0;
while (_local3 < maph) {
map[_local3] = new Array(mapl);
var _local2 = 0;
while (_local2 < mapl) {
map[_local3][_local2] = null;
_local2++;
}
_local3++;
}
}
function putinGrid(thing) {
if (map[thing.gridx][thing.gridy] == null) {
if (thing.whatisit() == "PlayerX") {
players[0] = thing;
}
if (thing.whatisit() == "PlayerY") {
players[1] = thing;
}
if (thing.whatisit() == "Brick") {
bricks.push(thing);
}
if (thing.whatisit() == "Wall") {
wall.push(thing);
}
if (thing.whatisit() == "Monster") {
monsters.push(thing);
}
if (thing.whatisit() == "PlayerSingle") {
players[0] = thing;
}
} else {
trace("putinGrid failed, location is full " + thing.whatisit());
}
}
function updateGrid() {
var _local3 = 0;
while (_local3 < maph) {
var _local2 = 0;
while (_local2 < mapl) {
map[_local3][_local2] = null;
_local2++;
}
_local3++;
}
_local3 = 0;
while (_local3 < 2) {
map[players[_local3].gridx][players[_local3].gridy] = players[_local3];
_local3++;
}
_local3 = 0;
while (_local3 < monsters.length) {
map[monsters[_local3].gridx][monsters[_local3].gridy] = monsters[_local3];
monsters[_local3].map = map;
_local3++;
}
_local3 = 0;
while (_local3 < bricks.length) {
map[bricks[_local3].gridx][bricks[_local3].gridy] = bricks[_local3];
_local3++;
}
_local3 = 0;
while (_local3 < wall.length) {
map[wall[_local3].gridx][wall[_local3].gridy] = wall[_local3];
_local3++;
}
}
function removeAllClips() {
var _local3 = 0;
while (_local3 < maph) {
var _local2 = 0;
while (_local2 < mapl) {
map[_local3][_local2].mc.removeMovieClip();
map[_local3][_local2].mc.removeMovieClip();
_local2++;
}
_local3++;
}
}
function makeDead(thing, monster) {
if (thing.whatisit() == "PlayerX") {
players[0] = null;
}
if (thing.whatisit() == "PlayerSingle") {
players[0] = null;
}
if (thing.whatisit() == "PlayerY") {
players[1] = null;
}
thing.mc.removeMovieClip();
updateGrid();
monster.MoveMonster(map, gridas);
map[thing.gridx][thing.gridy] = null;
putinGrid(new Wall(thing.gridx, thing.gridy, _root.rip));
updateGrid();
}
function canPlayerMove(xx, yy) {
if (map[xx][yy] == null) {
return(true);
}
if (map[xx][yy].whatisit() == "Monster") {
return(true);
}
}
function canPlayerPush(whichplayer, dx, dy) {
if ((_root.gc.level <= 3) && ((whichplayer == "X") || (whichplayer == "Y"))) {
if (whichplayer == "X") {
var _local7 = map[players[0].gridx + dx][players[0].gridy + dy];
if ((_local7.whatisit() == "Brick") && (_local7.special != "solid")) {
if (map[(players[0].gridx + dx) + dx][(players[0].gridy + dy) + dy] == null) {
return(true);
}
}
} else if (whichplayer == "Y") {
var _local7 = map[players[1].gridx + dx][players[1].gridy + dy];
if ((_local7.whatisit() == "Brick") && (_local7.special != "solid")) {
if (map[(players[1].gridx + dx) + dx][(players[1].gridy + dy) + dy] == null) {
return(true);
}
}
}
} else if (whichplayer == "X") {
if (dy == 0) {
var _local7 = map[players[0].gridx + dx][players[0].gridy];
if ((_local7.whatisit() == "Brick") && (_local7.special != "solid")) {
if (map[(players[0].gridx + dx) + dx][players[0].gridy] == null) {
return(true);
}
} else if (_local7.special == "solid") {
var _local6 = new Sound(_root.rip);
_local6.attachSound("solidbox");
if (!_root.mute) {
_local6.start(0, 1);
}
}
}
} else if (whichplayer == "Y") {
if (dx == 0) {
var _local7 = map[players[1].gridx][players[1].gridy + dy];
if ((_local7.whatisit() == "Brick") && (_local7.special != "solid")) {
if (map[players[1].gridx][(players[1].gridy + dy) + dy] == null) {
return(true);
}
}
}
} else {
var _local7 = map[players[0].gridx + dx][players[0].gridy + dy];
if ((_local7.whatisit() == "Brick") && (_local7.special != "solid")) {
if (map[(players[0].gridx + dx) + dx][(players[0].gridy + dy) + dy] == null) {
return(true);
}
}
}
}
function traceGrid() {
var _local4 = 0;
while (_local4 < maph) {
var _local3 = " ";
var _local2 = 0;
while (_local2 < mapl) {
_local3 = (_local3 + " ") + map[_local4][_local2].whatisit();
_local2++;
}
trace(_local3);
_local4++;
}
}
function MonsterisTrapped(monster) {
var _local4 = true;
var _local3 = gridas.getCloseSquares(map, monster.gridx, monster.gridy);
var _local2 = 0;
while (_local2 < _local3.length) {
if (_local3[_local2] == null) {
_local4 = false;
}
if (((_local3[_local2].whatisit() == "PlayerX") || (_local3[_local2].whatisit() == "PlayerY")) || (_local3[_local2].whatisit() == "PlayerSingle")) {
_local4 = false;
}
_local2++;
}
return(_local4);
}
function arePlayersDead() {
var _local5 = new Array(2);
var _local4 = new Array(2);
var _local3 = new Array(2);
var _local2 = 0;
while (_local2 < monsters.length) {
if (monsters[_local2].gridx == players[0].gridx) {
if (monsters[_local2].gridy == players[0].gridy) {
_local4[0] = players[0];
_local3[0] = monsters[_local2];
}
}
if (monsters[_local2].gridx == players[1].gridx) {
if (monsters[_local2].gridy == players[1].gridy) {
_local4[1] = players[1];
_local3[1] = monsters[_local2];
}
}
_local2++;
}
_local5[0] = _local4;
_local5[1] = _local3;
return(_local5);
}
function moveMonsters() {
allTrapped = true;
var _local2 = 0;
while (_local2 < monsters.length) {
if (!MonsterisTrapped(monsters[_local2])) {
allTrapped = false;
updateGrid();
monsters[_local2].MoveMonster(map, gridas);
}
_local2++;
}
return(allTrapped);
}
function clearGrid() {
var _local3 = 0;
while (_local3 < maph) {
var _local2 = 0;
while (_local2 < mapl) {
map[_local3][_local2] = null;
players = new Array(4);
bricks = new Array(0);
monsters = new Array(0);
wall = new Array(0);
_local2++;
}
_local3++;
}
}
var players = new Array(4);
var bricks = new Array(0);
var monsters = new Array(0);
var wall = new Array(0);
}
Symbol 303 MovieClip [__Packages.GridAssistant] Frame 0
class GridAssistant
{
var map, closeSquares;
function GridAssistant () {
}
function GridAssisant() {
}
function getCloseSquares(mapp, xx, yy) {
map = mapp;
closeSquares = new Array(4);
closeSquares[0] = map[xx + 1][yy];
closeSquares[1] = map[xx - 1][yy];
closeSquares[2] = map[xx][yy - 1];
closeSquares[3] = map[xx][yy + 1];
return(closeSquares);
}
function getCloseEmptySquare(mapp, xx, yy) {
if (mapp[xx - 1][yy] == null) {
return("left");
}
if (mapp[xx + 1][yy] == null) {
return("right");
}
if (mapp[xx][yy - 1] == null) {
return("up");
}
if (mapp[xx][yy + 1] == null) {
return("down");
}
return(null);
}
function getDirection(mapp, x1, y1, x2, y2) {
var _local1 = new Array(2);
if (x1 > x2) {
_local1[0] = -1;
} else if (x1 < x2) {
_local1[0] = 1;
} else {
_local1[0] = 0;
}
if (y1 > y2) {
_local1[1] = -1;
} else if (y1 < y2) {
_local1[1] = 1;
} else {
_local1[1] = 0;
}
return(_local1);
}
function distanceForumla(x1, y1, x2, y2) {
return(Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2)));
}
}
Symbol 304 MovieClip [__Packages.GridObject] Frame 0
class GridObject
{
var gridx, gridy, drawx, drawy, mc;
function GridObject (xx, yy, mmcc) {
gridx = xx;
gridy = yy;
drawx = (xx * 30) + 10;
drawy = (yy * 30) + 10;
mc = mmcc.duplicateMovieClip(mc, _root.getNextHighestDepth(), {_x:drawx, _y:drawy});
}
function replaceMC(mmcc) {
removeMC();
mc = mmcc.duplicateMovieClip(mc, _root.getNextHighestDepth(), {_x:drawx, _y:drawy});
}
function setMC(mmcc) {
mc = mmcc.duplicateMovieClip(mc, _root.getNextHighestDepth(), {_x:drawx, _y:drawy});
}
function removeMC() {
mc.removeMovieClip();
}
function whatisit() {
return("GridObject");
}
}
Symbol 305 MovieClip [__Packages.MovingObject] Frame 0
class MovingObject extends GridObject
{
var prevx, gridx, prevy, gridy, drawx, drawy, mc;
function MovingObject (xx, yy, mmcc) {
super(xx, yy, mmcc);
}
function moveObject(dx, dy) {
prevx = gridx;
prevy = gridy;
gridx = gridx + dx;
gridy = gridy + dy;
drawx = (gridx * 30) + 10;
drawy = (gridy * 30) + 10;
mc._x = drawx;
mc._y = drawy;
}
}
Symbol 306 MovieClip [__Packages.Monster] Frame 0
class Monster extends MovingObject
{
var RandomMove, dw, matrix, mc, i, gridx, gridy, map, cordx, cordy;
function Monster (xx, yy, mmcc, rmp) {
super(xx, yy, mmcc);
RandomMove = rmp;
dw = new DirectionWorker();
matrix = [Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, 0, 0, 0, 1, 0];
mc.filters = [new flash.filters.ColorMatrixFilter(matrix)];
}
function whatisit() {
return("Monster");
}
function MoveRandom(mapp) {
var _local5 = 10;
do {
var _local2 = "";
i = Math.random();
if (i < 0.25) {
_local2 = "up";
} else if (i < 0.5) {
_local2 = "down";
} else if (i < 0.75) {
_local2 = "left";
} else {
_local2 = "right";
}
var _local4 = dw.stringtodx(_local2);
var _local3 = dw.stringtody(_local2);
var _local7 = gridx + _local4;
var _local6 = gridy + _local3;
if (canMonsterMove(_local4, _local3)) {
MoveMonsterDXDY(_local4, _local3);
break;
}
_local5--;
} while (_local5 >= 1);
}
function MoveMonster(mapp, gridas) {
map = mapp;
if (Math.random() > RandomMove) {
currentAction = currentAction;
} else if (Math.random() < 0.3333) {
currentAction = 0;
} else if ((Math.random() < 0.6667) && (_root.gc.gm.players[0].alive)) {
currentAction = 1;
} else {
currentAction = 2;
}
doAction(gridas);
}
function doAction(gridas) {
var _local4;
var _local3;
if (currentAction == 0) {
MoveRandom(map);
} else if (currentAction == 1) {
var _local5 = gridas.getDirection(map, gridx, gridy, _root.gc.gm.players[0].gridx, _root.gc.gm.players[0].gridy);
_local4 = _local5[0];
_local3 = _local5[1];
} else if (currentAction == 2) {
var _local5 = gridas.getDirection(map, gridx, gridy, _root.gc.gm.players[1].gridx, _root.gc.gm.players[1].gridy);
_local4 = _local5[0];
_local3 = _local5[1];
}
if (currentAction != 0) {
if (Math.random() > 0.5) {
if (_local4 != 0) {
if (canMonsterMove(_local4, 0)) {
MoveMonsterDXDY(_local4, 0);
} else if (canMonsterMove(0, _local3) && (_local3 != 0)) {
MoveMonsterDXDY(0, _local3);
} else {
MoveRandom(map);
}
}
} else if (_local3 != 0) {
if (canMonsterMove(0, _local3)) {
MoveMonsterDXDY(0, _local3);
} else if (canMonsterMove(_local4, 0) && (_local4 != 0)) {
MoveMonsterDXDY(_local4, 0);
} else {
MoveRandom(map);
}
} else {
MoveRandom(map);
}
}
}
function canMonsterMove(dx, dy) {
cordx = gridx + dx;
cordy = gridy + dy;
if (map[cordx][cordy] == null) {
return(true);
}
if (map[cordx][cordy].whatisit() == "PlayerX") {
return(true);
}
if (map[cordx][cordy].whatisit() == "PlayerY") {
return(true);
}
if (map[cordx][cordy].whatisit() == "PlayerSingle") {
return(true);
}
return(false);
}
function MoveMonsterDXDY(dx, dy) {
if (canMonsterMove(dx, dy)) {
super.moveObject(dx, dy);
var _local5 = dw.dxdytostring(dx, dy);
mc.gotoAndPlay(_local5);
}
}
function MoveMonsterDirection(direct) {
super.moveObject(dw.stringtodx(direct), dw.stringtody(direct));
mc.gotoAndPlay(direct);
}
var currentAction = 1;
}
Symbol 307 MovieClip [__Packages.DirectionWorker] Frame 0
class DirectionWorker
{
function DirectionWorker () {
}
function stringtody(dire) {
if (dire == "up") {
return(-1);
}
if (dire == "down") {
return(1);
}
if (dire == "left") {
return(0);
}
if (dire == "right") {
return(0);
}
}
function stringtodx(dire) {
if (dire == "up") {
return(0);
}
if (dire == "down") {
return(0);
}
if (dire == "left") {
return(-1);
}
if (dire == "right") {
return(1);
}
}
function dxdytostring(dx, dy) {
if ((dx == 0) && (dy == 1)) {
return("down");
}
if ((dx == 0) && (dy == -1)) {
return("up");
}
if ((dx == 1) && (dy == 0)) {
return("right");
}
if ((dx == -1) && (dy == 0)) {
return("left");
}
}
}
Symbol 308 MovieClip [__Packages.Wall] Frame 0
class Wall extends GridObject
{
function Wall (xx, yy, mmcc) {
super(xx, yy, mmcc);
}
function whatisit() {
return("Wall");
}
}
Symbol 309 MovieClip [__Packages.SinglePlayer] Frame 0
class SinglePlayer extends MovingObject
{
var dw, alive, mc;
function SinglePlayer (xx, yy, mmcc, md) {
super(xx, yy, mmcc);
dw = new DirectionWorker();
alive = true;
}
function push(dir) {
if (alive) {
super.moveObject(dw.stringtodx(dir), dw.stringtody(dir));
mc.gotoAndPlay("push" + dir);
}
}
function die(m) {
if (alive) {
alive = false;
_root.gc.gm.makeDead(this, m);
}
}
function whatisit() {
return("PlayerSingle");
}
function moveObject(dir) {
if (alive) {
super.moveObject(dw.stringtodx(dir), dw.stringtody(dir));
mc.gotoAndPlay(dir);
}
}
var MoveDirection = "X";
}
Symbol 310 MovieClip [__Packages.Player] Frame 0
class Player extends MovingObject
{
var MoveDirection, dw, alive, mc;
function Player (xx, yy, mmcc, md) {
super(xx, yy, mmcc);
MoveDirection = md;
dw = new DirectionWorker();
alive = true;
}
function push(dir) {
if (alive) {
super.moveObject(dw.stringtodx(dir), dw.stringtody(dir));
mc.gotoAndPlay("push" + dir);
}
}
function die(m) {
if (alive) {
alive = false;
_root.gc.gm.makeDead(this, m);
if (!_root.diedyet) {
_root.diealert();
_root.diedyet = true;
}
}
}
function whatisit() {
return("Player" + MoveDirection);
}
function moveObject(dir) {
if (alive) {
super.moveObject(dw.stringtodx(dir), dw.stringtody(dir));
mc.gotoAndPlay(dir);
}
}
}
Symbol 311 MovieClip [__Packages.LineDrawer] Frame 0
class LineDrawer
{
function LineDrawer (x1, y1, x2, y2, mlength) {
maxlength = mlength;
_root.createEmptyMovieClip("grid", 1);
_root.grid.lineStyle(lwidth, 3000376, alpha);
_root.grid.moveTo(x1 + 15, y1 + 15);
_root.grid.lineTo(x2 + 15, y2 + 15);
}
function newFrame() {
framecount++;
if (linedrawing) {
if (framecount > 4) {
var _local4 = _root.gc.gm.players[1].mc._x;
var _local3 = _root.gc.gm.players[0].mc._x;
var _local6 = _root.gc.gm.players[1].mc._y;
var _local5 = _root.gc.gm.players[0].mc._y;
if ((_local4 == undefined) || (_local3 == undefined)) {
lwidth = 0;
alpha = 0;
}
_root.grid.lineStyle(lwidth, 3000376, alpha);
_root.grid.moveTo(_local4 + 15, _local6 + 15);
_root.grid.lineTo(_local3 + 15, _local5 + 15);
linedrawing = false;
}
}
if (badstring) {
if (framecount > 4) {
badstring = false;
_root.removeMovieClip("grid");
_root.createEmptyMovieClip("grid", 1);
var _local4 = _root.gc.gm.players[1].mc._x;
var _local3 = _root.gc.gm.players[0].mc._x;
var _local6 = _root.gc.gm.players[1].mc._y;
var _local5 = _root.gc.gm.players[0].mc._y;
if ((_local4 == undefined) || (_local3 == undefined)) {
lwidth = 0;
alpha = 0;
}
_root.grid.lineStyle(lwidth, 3000376, alpha);
_root.grid.moveTo(_local4 + 15, _local6 + 15);
_root.grid.lineTo(_local3 + 15, _local5 + 15);
linedrawing = false;
}
}
}
function updateLine(x1, y1, x2, y2) {
_root.removeMovieClip("grid");
_root.createEmptyMovieClip("grid", 1);
linedrawing = true;
framecount = 0;
}
function canDrawLine(x1, y1, x2, y2) {
if ((x1 == undefined) || (x2 == undefined)) {
lwidth = 0;
alpha = 0;
return(true);
}
var _local8 = new GridAssistant();
var _local7 = Math.abs(_local8.distanceForumla(x1, y1, x2, y2));
if (_local7 < maxlength) {
return(true);
}
badstring = true;
framecount = 0;
_root.grid.lineStyle(lwidth, 16711680, alpha);
x1 = _root.gc.gm.players[1].mc._x;
x2 = _root.gc.gm.players[0].mc._x;
y1 = _root.gc.gm.players[1].mc._y;
y2 = _root.gc.gm.players[0].mc._y;
_root.grid.moveTo(x1 + 15, y1 + 15);
_root.grid.lineTo(x2 + 15, y2 + 15);
return(false);
}
function removeLine() {
_root.grid.removeMovieClip();
}
var maxlength = 0;
var lwidth = 5;
var alpha = 50;
var framecount = 0;
var linedrawing = false;
var badstring = false;
}
Symbol 312 MovieClip [__Packages.BrickPlacer] Frame 0
class BrickPlacer
{
function BrickPlacer () {
}
function getBrickPlaces(density, startX, startY, endX, endY) {
if (density > 0.95) {
trace("Brick DENSITY TOO HIGH");
return(null);
}
var _local8 = endX - startX;
var _local7 = endY - startY;
var _local11 = Math.round((_local8 * _local7) * density);
var _local6 = _local11;
var _local2 = new Array(2);
_local2[0] = new Array(1);
_local2[1] = new Array(1);
while (_local6 > 0) {
var _local4 = Math.ceil(Math.random() * _local8) + startX;
var _local3 = Math.ceil(Math.random() * _local7) + startY;
var _local5 = true;
var _local1 = 0;
while (_local1 < _local2[0].length) {
if (_local2[0][_local1] == _local4) {
if (_local2[1][_local1] == _local3) {
_local5 = false;
}
}
_local1++;
}
if (_local5) {
_local2[0].push(_local4);
_local2[1].push(_local3);
_local6--;
}
}
var _local12 = _local2[0].shift();
_local12 = _local2[1].shift();
return(_local2);
}
}
Symbol 313 MovieClip [__Packages.Brick] Frame 0
class Brick extends MovingObject
{
var mcBrick, dw, snd, special, mc, gridx, gridy;
function Brick (xx, yy, mmcc) {
super(xx, yy, mmcc);
mcBrick = mmcc;
dw = new DirectionWorker();
snd = new Sound(mcBrick);
snd.attachSound("slidesound");
special = "none";
}
function setSpecial(spec, mcc) {
special = spec;
super.replaceMC(mcc);
}
function whatisit() {
return("Brick");
}
function slide(dx, dy) {
mc.gotoAndPlay(dw.dxdytostring(dx, dy));
doSpecial(dx, dy);
super.moveObject(dx, dy);
}
function doSpecial(dx, dy) {
if (special == "none") {
if (!_root.mute) {
snd.start(0, 1);
}
}
if (special == "solid") {
}
if (special == "fillslide") {
var _local4 = new Sound(mcBrick);
_local4.attachSound("fillbox");
if (!_root.mute) {
_local4.start(0, 1);
}
_root.gc.doFillSlide(dx, dy, gridx, gridy);
special = "none";
super.setMC(mcBrick);
}
if (special == "extralife") {
var _local4 = new Sound(mcBrick);
_local4.attachSound("moneybox");
if (!_root.mute) {
_local4.start(0, 1);
}
_root.gc.addRestart();
special = "none";
super.setMC(mcBrick);
}
if (special == "score") {
var _local4 = new Sound(mcBrick);
_local4.attachSound("moneybox");
if (!_root.mute) {
_local4.start(0, 1);
}
_root.gc.addScore(2000);
special = "none";
super.setMC(mcBrick);
}
if (special == "scores") {
var _local4 = new Sound(mcBrick);
_local4.attachSound("moneybox");
if (!_root.mute) {
_local4.start(0, 1);
}
_root.gc.addScore(500);
special = "none";
super.setMC(mcBrick);
}
}
}
Symbol 314 MovieClip [__Packages.MonsterPlacer] Frame 0
class MonsterPlacer
{
function MonsterPlacer () {
}
function getMonsterPlaces(spaces, monsters) {
var _local2 = new Array(spaces);
if (monsters <= spaces) {
var _local3 = 0;
while (_local3 < monsters) {
var _local1 = 1 + Math.floor(Math.random() * spaces);
if (_local2[_local1] == undefined) {
_local2[_local1] = 1;
_local3++;
}
}
} else {
trace("bad monster numbner");
}
return(_local2);
}
}
Symbol 315 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 9 Button
on (release) {
getURL ("http://www.krazyletter.com/?utm_source=flash&utm_medium=gamesponsor&utm_content=Cooperative%2BMonster%2BDefense&utm_campaign=Game%2BSponsorships", "_blank");
}
Symbol 15 MovieClip Frame 1
var kl = new Sound(_root.sponsor);
kl.attachSound("kl");
kl.start(0, 2);
Symbol 15 MovieClip Frame 229
kl.stop();
_root.gotoAndStop(3);
Symbol 18 Button
on (press) {
_root.gotoAndPlay("intro2");
}
Symbol 26 MovieClip Frame 75
_root.gotoAndPlay(3);
Symbol 27 Button
on (press) {
_root.gotoAndPlay("menu");
}
Symbol 32 Button
on (press) {
_root.mute = !_root.mute;
_root.lines._visible = !_root.lines._visible;
}
Symbol 36 Button
on (press) {
_root.musicmute = !_root.musicmute;
if (_root.musicmute) {
}
}
Symbol 50 Button
on (release) {
getURL ("http://www.poofysheepgames.com/", "_blank");
}
Symbol 53 Button
on (release) {
_root.prompt();
}
Symbol 56 Button
on (release) {
_root.gotoAndStop("tutorial");
}
Symbol 60 Button
on (press) {
_root.gotoAndPlay("singlegame");
_root.playerName = pname;
}
Symbol 63 Button
on (press) {
_root.gotoAndPlay("game");
_root.playerName = pname;
}
Symbol 70 Button
on (release) {
getURL ("http://www.krazyletter.com/?utm_source=flash&utm_medium=gamesponsor&utm_content=Cooperative%2BMonster%2BDefense&utm_campaign=Game%2BSponsorships", "_blank");
}
Symbol 82 Button
on (release) {
if (_root.gamepause) {
_root.gamepause = false;
_root.paus._x = -650;
_root.paus._y = 0;
} else {
_root.gamepause = true;
if (_root.paus.getDepth() != _root.getNextHighestDepth()) {
_root.paus.swapDepths(_root.getNextHighestDepth());
}
_root.paus._x = 40;
_root.paus._y = 40;
_root.score = _root.score - 20;
}
}
Symbol 87 Button
on (release) {
_root.gamepause = false;
_root.paus._x = -650;
_root.paus._y = 0;
_root.gc.endGame();
var snd = new Sound();
snd.attachSound("restartsound");
if (!_root.mute) {
snd.start(0, 1);
}
}
Symbol 91 Button
on (release) {
_root.returnToMenu();
_root.gamepause = false;
_root.paus._x = -650;
_root.paus._y = 0;
endscore = score;
}
Symbol 93 MovieClip Frame 1
stop();
Symbol 93 MovieClip Frame 5
gotoAndPlay (1);
Symbol 93 MovieClip Frame 9
gotoAndPlay (1);
Symbol 93 MovieClip Frame 13
gotoAndPlay (1);
Symbol 93 MovieClip Frame 17
gotoAndPlay (1);
Symbol 123 MovieClip Frame 1
stop();
Symbol 123 MovieClip Frame 4
gotoAndPlay (1);
Symbol 123 MovieClip Frame 7
gotoAndPlay (1);
Symbol 123 MovieClip Frame 10
gotoAndPlay (1);
Symbol 123 MovieClip Frame 13
gotoAndPlay (1);
Symbol 123 MovieClip Frame 17
gotoAndPlay (1);
Symbol 123 MovieClip Frame 21
gotoAndPlay (1);
Symbol 123 MovieClip Frame 25
gotoAndPlay (1);
Symbol 123 MovieClip Frame 29
gotoAndPlay (1);
Symbol 153 MovieClip Frame 1
var moving = false;
stop();
Symbol 153 MovieClip Frame 2
moving = true;
Symbol 153 MovieClip Frame 4
gotoAndStop (1);
Symbol 153 MovieClip Frame 7
gotoAndStop (1);
Symbol 153 MovieClip Frame 10
gotoAndStop (1);
Symbol 153 MovieClip Frame 13
gotoAndStop (1);
Symbol 153 MovieClip Frame 17
gotoAndStop (1);
Symbol 153 MovieClip Frame 21
gotoAndStop (1);
Symbol 153 MovieClip Frame 25
gotoAndStop (1);
Symbol 153 MovieClip Frame 29
gotoAndStop (1);
Symbol 166 MovieClip Frame 1
stop();
Symbol 166 MovieClip Frame 4
gotoAndPlay (1);
Symbol 166 MovieClip Frame 7
gotoAndPlay (1);
Symbol 166 MovieClip Frame 10
gotoAndPlay (1);
Symbol 166 MovieClip Frame 13
gotoAndPlay (1);
Symbol 177 MovieClip Frame 1
stop();
Symbol 179 MovieClip Frame 1
stop();
Symbol 181 MovieClip Frame 1
stop();
Symbol 184 MovieClip Frame 1
var remove = false;
stop();
Symbol 184 MovieClip Frame 5
gotoAndStop (18);
Symbol 184 MovieClip Frame 9
gotoAndStop (18);
Symbol 184 MovieClip Frame 13
gotoAndStop (18);
Symbol 184 MovieClip Frame 17
gotoAndStop (18);
Symbol 184 MovieClip Frame 18
remove = true;
stop();
stop();
this.removeMovieClip();
Symbol 186 MovieClip Frame 1
stop();
Symbol 186 MovieClip Frame 5
gotoAndStop (18);
Symbol 186 MovieClip Frame 9
gotoAndStop (18);
Symbol 186 MovieClip Frame 13
gotoAndStop (18);
Symbol 186 MovieClip Frame 17
gotoAndStop (18);
Symbol 186 MovieClip Frame 18
stop();
Symbol 190 MovieClip Frame 1
stop();
Symbol 190 MovieClip Frame 5
gotoAndStop (18);
Symbol 190 MovieClip Frame 9
gotoAndStop (18);
Symbol 190 MovieClip Frame 13
gotoAndStop (18);
Symbol 190 MovieClip Frame 17
gotoAndStop (18);
Symbol 192 Button
on (press) {
_root.gc.gm.removeAllClips();
_root.gc.gm.clearGrid();
_root.beatLevel();
}
Symbol 195 MovieClip Frame 1
var remove = false;
stop();
Symbol 195 MovieClip Frame 5
gotoAndStop (18);
Symbol 195 MovieClip Frame 9
gotoAndStop (18);
Symbol 195 MovieClip Frame 13
gotoAndStop (18);
Symbol 195 MovieClip Frame 17
gotoAndStop (18);
Symbol 195 MovieClip Frame 18
remove = true;
stop();
stop();
this.removeMovieClip();
Symbol 197 MovieClip Frame 1
stop();
Symbol 197 MovieClip Frame 30
_root.gotoAndPlay("gameOver");
Symbol 206 Button
on (press) {
_root.gamepause = false;
_root.paus._x = -650;
_root.paus._y = 0;
_root.Controls();
}
Symbol 209 Button
on (press) {
_root.gamepause = false;
_root.paus._x = -650;
_root.paus._y = 0;
_root.gc.endGame();
var snd = new Sound();
snd.attachSound("restartsound");
if (!_root.mute) {
snd.start(0, 1);
}
}
Symbol 212 Button
on (release) {
_root.returnToMenu();
_root.gamepause = false;
_root.paus._x = -650;
_root.paus._y = 0;
}
Symbol 219 Button
on (release) {
_root.Monsters();
}
Symbol 232 Button
on (press) {
_root.hideAlert();
}
Symbol 236 Button
on (press) {
_root.hideAlert();
}
Symbol 247 MovieClip Frame 1
gotoAndPlay (1);
Symbol 255 Button
on (release) {
if (_root._currentframe == "game") {
_root.endscore = _root.score;
} else {
_root.singleendscore = _root.score;
}
_root.restarts = 0;
_root.gc.endGame();
_root.hideAlert();
}
Symbol 259 Button
on (press) {
_root.hideAlert();
_root.gamepause = false;
_root.paus._x = -650;
_root.paus._y = 0;
}
Symbol 261 MovieClip Frame 1
moving = true;
Symbol 269 MovieClip Frame 1
stop();
Symbol 269 MovieClip Frame 2
stop();
Instance of Symbol 166 MovieClip in Symbol 269 MovieClip Frame 2
onClipEvent (load) {
matrix = [Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, 0, 0, 0, 1, 0];
this.filters = [new flash.filters.ColorMatrixFilter(matrix)];
}
Instance of Symbol 166 MovieClip in Symbol 269 MovieClip Frame 2
onClipEvent (load) {
matrix = [Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, 0, 0, 0, 1, 0];
this.filters = [new flash.filters.ColorMatrixFilter(matrix)];
}
Instance of Symbol 166 MovieClip in Symbol 269 MovieClip Frame 2
onClipEvent (load) {
matrix = [Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, 0, 0, 0, 1, 0];
this.filters = [new flash.filters.ColorMatrixFilter(matrix)];
}
Instance of Symbol 166 MovieClip in Symbol 269 MovieClip Frame 2
onClipEvent (load) {
matrix = [Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, 0, 0, 0, 1, 0];
this.filters = [new flash.filters.ColorMatrixFilter(matrix)];
}
Instance of Symbol 166 MovieClip in Symbol 269 MovieClip Frame 2
onClipEvent (load) {
matrix = [Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, Math.round(Math.random()), Math.round(Math.random()), Math.round(Math.random()), 0, 0, 0, 0, 0, 1, 0];
this.filters = [new flash.filters.ColorMatrixFilter(matrix)];
}
Symbol 269 MovieClip Frame 3
stop();
Symbol 269 MovieClip Frame 4
stop();
Symbol 269 MovieClip Frame 5
stop();
Symbol 269 MovieClip Frame 6
stop();
Symbol 269 MovieClip Frame 7
stop();
Symbol 269 MovieClip Frame 8
stop();
Symbol 269 MovieClip Frame 9
stop();
Symbol 272 Button
on (release) {
if (_root.gamepause) {
_root.gamepause = false;
_root.paus._x = -650;
_root.paus._y = 0;
} else {
_root.gamepause = true;
_root.paus.swapDepths(_root.getNextHighestDepth());
_root.paus._x = 40;
_root.paus._y = 40;
_root.score = _root.score - 20;
}
}
Symbol 273 Button
on (release) {
_root.gamepause = false;
_root.paus._x = -650;
_root.paus._y = 0;
gc.endGame();
var snd = new Sound(_root.rip);
snd.attachSound("restartsound");
if (!_root.mute) {
snd.start(0, 1);
}
}
Symbol 274 Button
on (release) {
_root.returnToMenu();
_root.gamepause = false;
_root.paus._x = -650;
_root.paus._y = 0;
singleendscore = score;
}
Symbol 281 Button
on (release) {
gotoAndStop ("menu");
endscore = 0;
}
Symbol 285 Button
on (press) {
if (_root.endscore != undefined) {
var playerscore = _root.endscore;
var playername = _root.playername;
mochi.MochiScores.showLeaderboard({boardID:"67ee0a18976bd8e1", score:playerscore, name:playername});
} else {
var playerscore = _root.singleendscore;
var playername = _root.playername;
mochi.MochiScores.showLeaderboard({boardID:"01ae8c84793c6b39", score:playerscore});
}
}
Symbol 298 Button
on (release) {
_root.gotoAndStop("menu");
}