Frame 1
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);
}
var newMenu = new ContextMenu();
newMenu.hideBuiltInItems();
this.menu = newMenu;
newMenu.builtInItems.quality = true;
stop();
soundobject = new Sound();
globalsoundplayer = function (soundname) {
soundobject.attachSound(soundname);
soundobject.start();
};
keylistener = new Object();
mouselistener = new Object();
mouselistener.onMouseDown = function () {
if (lmb_down == false) {
gameholder.lmbclick();
}
lmb_down = true;
};
mouselistener.onMouseUp = function () {
lmb_down = false;
};
lmb_down = false;
x_down = false;
esc_down = false;
r_down = false;
s_down = false;
keylistener.onKeyDown = function () {
if (Key.getCode() == 27) {
if (esc_down == false) {
esc_down = true;
trace("ESKY");
gameholder.escpress();
}
} else if (Key.getCode() == 88) {
if (x_down == false) {
x_down = true;
gameholder.xpress();
}
} else if (Key.getCode() == 82) {
if (r_down == false) {
r_down = true;
gameholder.rpress();
}
} else if (Key.getCode() == 32) {
if (s_down == false) {
s_down = true;
gameholder.spress();
}
}
};
keylistener.onKeyUp = function () {
if (Key.getCode() == 27) {
esc_down = false;
} else if (Key.getCode() == 88) {
x_down = false;
} else if (Key.getCode() == 82) {
r_down = false;
} else if (Key.getCode() == 32) {
s_down = false;
}
};
Key.addListener(keylistener);
Mouse.addListener(mouselistener);
donothing = function () {
};
fadeoutcompleted = function () {
removeMovieClip("gameholder");
attachMovie("gameholder", "gameholder", 0);
gameholder.gotoAndStop(destinationframe);
gameholder.playsound = globalsoundplayer;
masterfader.gotoAndPlay("fadein");
};
fadeto = function (framename) {
destinationframe = framename;
masterfader.gotoAndPlay("fadeout");
};
straightto = function (framename) {
destinationframe = framename;
removeMovieClip("gameholder");
attachMovie("gameholder", "gameholder", 20);
gameholder.gotoAndStop(destinationframe);
gameholder.playsound = globalsoundplayer;
trace(gameholder);
masterfader.gotoAndPlay("fadein");
};
adfinished = function () {
gotoAndPlay (2);
};
userfrom = "don't know";
curlevel = 0;
upgradestatus = function (level, score) {
trace("EXEC");
tempgamestatus = gamestatus.split("");
if (Number(tempgamestatus[level]) < score) {
tempgamestatus[level] = String(score);
}
gamestatus = tempgamestatus.join("");
delete tempgamestatus;
};
winlevel = function (level, score) {
upgradestatus(level, score);
if (level < 19) {
upgradestatus(level + 1, 1);
}
checkgamewin();
savegame();
};
importmap = "pojuko1.00,-1,4,28,-21,6, 3000\u25B2-8,3,4,1,4,0,3,-1,2,1,0,3,-2,1,-5,0,-1,-1,-4,-1,-2,-2,0,0|-5,0,-2,-1,-1,-3,2,-2,1,2,1,2,1,0|-7,-10,-2,-1,0,-2,2,-1,3,2,0,2,-1,1,1,0|-1,-16,-1,-1,1,-1,2,0,2,1,-2,1,0,0|26,-20,-2,1,1,2,3,0,1,-2,1,0|9,4,2,-1,2,0,2,2,0,2,-2,1,-3,0,-1,-2,0,0|16,1,1,2,2,0,1,-1,0,-2,-1,-2,-1,0,0,2,7,0|6,-17,4,-2,2,4,1,3,0,7,-2,3,-2,0,-2,-5,-1,-8,0,0|-1,-5,3,-2,1,0,1,1,0,2,-3,1,-1,-1,0,0|20,-15,1,0,7,0|21,-16,-3,-1,-1,1,0,2,2,1,2,-1,7,0|16,-22,1,1,-1,2,-2,0,-1,-2,7,0\u25B27,0,1,0,96|19,-24,1,1,96|23,-23,1,1,96|0,-21,0,2|0,-23,0,2|0,-25,1,2,96|-4,-16,1,0,50|-1,-11,0,0|16,-2,0,3|12,0,0,3|14,-1,0,3";
savegame = function () {
my_so = SharedObject.getLocal("pojuko02");
my_so.data.gamestatus = gamestatus;
my_so.data.winmode = winmode;
my_so.flush();
delete my_so;
};
loadgame = function () {
my_so = SharedObject.getLocal("pojuko02");
gamestatus = my_so.data.gamestatus;
winmode = my_so.data.winmode;
my_so.flush();
delete my_so;
};
aretheresaves = function () {
my_so = SharedObject.getLocal("pojuko02");
values = 0;
for (var _local1 in my_so.data) {
trace((_local1 + ": ") + my_so.data[_local1]);
values++;
}
trace("SAVE VALUES: " + values);
if (values == 0) {
my_so.flush();
delete my_so;
return(false);
}
my_so.flush();
delete my_so;
return(true);
};
if (aretheresaves() == true) {
loadgame();
} else {
gamestatus = "11110000000000000000";
winmode = 0;
}
checkgamewin = function () {
if ((gamestatus == "33333333333333333333") && (winmode < 2)) {
if (winmode == 0) {
trace("YOU JUST PWNT THE GAME SOLID GOLD");
wintype = 2;
} else {
trace("JUST GOT GOLD");
wintype = 1;
}
gotowingame = true;
winmode = 2;
}
wincheck = 1;
i = 0;
while (i < gamestatus.length) {
if ((gamestatus.charAt(i) == "0") || (gamestatus.charAt(i) == "1")) {
wincheck = 0;
}
i++;
}
if ((wincheck == 1) && (winmode == 0)) {
winmode = 1;
trace("YOU JUST WON THE GAME");
wintype = 0;
gotowingame = true;
}
};
__com_mochibot__("2e56b522", this, 10301, true);
MochiAd.showPreloaderAd({id:"474763189ad126e8", res:"640x480", ad_finished:adfinished});
dear_hackers = "Don't even think about disabling this ad. By reading this, you are acknowledging that disabling the advertisements associated with this game is illegal.";
Frame 3
attachMovie("masterfader", "masterfader", 40);
masterfader.onPress = donothing;
masterfader.useHandCursor = false;
masterfader._x = 320;
masterfader._y = 240;
straightto("logo");
stop();
Symbol 338 MovieClip [__Packages.MochiAd] Frame 0
class MochiAd
{
function MochiAd () {
}
static function getVersion() {
return("1.5");
}
static function showPreloaderAd(options) {
var _local27 = {clip:_root, ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:16747008, background:16777161, outline:13994812, ad_started:function () {
this.clip.stop();
}, ad_finished:function () {
this.clip.play();
}};
options = _parseOptions(options, _local27);
var clip = options.clip;
var _local23 = 11000;
var _local26 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local14 = _getRes(options);
var _local4 = _local14[0];
var _local13 = _local14[1];
mc._x = _local4 * 0.5;
mc._y = _local13 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk._x = _local4 * -0.5;
chk._y = _local13 * -0.5;
var _local7 = chk.createEmptyMovieClip("_mochiad_bar", 4);
_local7._x = 10;
_local7._y = _local13 - 20;
var _local22 = options.color;
delete options.color;
var _local19 = options.background;
delete options.background;
var _local24 = options.outline;
delete options.outline;
var _local5 = _local7.createEmptyMovieClip("_outline", 1);
_local5.beginFill(_local19);
_local5.moveTo(0, 0);
_local5.lineTo(_local4 - 20, 0);
_local5.lineTo(_local4 - 20, 10);
_local5.lineTo(0, 10);
_local5.lineTo(0, 0);
_local5.endFill();
var _local3 = _local7.createEmptyMovieClip("_inside", 2);
_local3.beginFill(_local22);
_local3.moveTo(0, 0);
_local3.lineTo(_local4 - 20, 0);
_local3.lineTo(_local4 - 20, 10);
_local3.lineTo(0, 10);
_local3.lineTo(0, 0);
_local3.endFill();
_local3._xscale = 0;
var _local6 = _local7.createEmptyMovieClip("_outline", 3);
_local6.lineStyle(0, _local24, 100);
_local6.moveTo(0, 0);
_local6.lineTo(_local4 - 20, 0);
_local6.lineTo(_local4 - 20, 10);
_local6.lineTo(0, 10);
_local6.lineTo(0, 0);
chk.ad_msec = _local23;
chk.ad_timeout = _local26;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.adLoaded = function (width, height) {
};
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec;
};
chk.onEnterFrame = function () {
var _local6 = this._parent._parent;
var _local12 = this._parent._mochiad_ctr;
var _local5 = getTimer() - this.started;
var _local3 = false;
var _local4 = _local6.getBytesTotal();
var _local8 = _local6.getBytesLoaded();
var _local10 = (100 * _local8) / _local4;
var _local11 = (100 * _local5) / chk.ad_msec;
var _local9 = this._mochiad_bar._inside;
var _local2 = Math.min(100, Math.min(_local10 || 0, _local11));
_local2 = Math.max(this.last_pcnt, _local2);
this.last_pcnt = _local2;
_local9._xscale = _local2;
if (!chk.showing) {
var _local7 = _local12.getBytesTotal();
if ((_local7 > 0) || (typeof(_local7) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if (_local5 > chk.ad_timeout) {
_local3 = true;
}
}
if (_local5 > chk.ad_msec) {
_local3 = true;
}
if (((_local4 > 0) && (_local8 >= _local4)) && (_local3)) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
}
}
};
}
static function showTimedAd(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.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 _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 _local25 = {clip:_root, com_server:"http://x.mochiads.com/com/1/", method:"loadCommunicator", depth:10337, id:"_UNKNOWN_"};
options = _parseOptions(options, _local25);
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 _local24 = options.depth;
delete options.depth;
var _local17 = _local18.createEmptyMovieClip(_local20, _local24);
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) {
cb = parseInt(cb);
var _local4 = this._callbacks[cb];
if (!_local4) {
return(undefined);
}
delete this._callbacks[cb];
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 _local7 = options.clip;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local7._mochiad_loaded) {
return(null);
}
var _local12 = options.depth;
delete options.depth;
var _local6 = _local7.createEmptyMovieClip("_mochiad", _local12);
var _local11 = _getRes(options);
options.res = (_local11[0] + "x") + _local11[1];
options.server = options.server + options.id;
delete options.id;
_local7._mochiad_loaded = true;
var _local4 = _local6.createEmptyMovieClip("_mochiad_ctr", 1);
for (var _local8 in options) {
_local4[_local8] = options[_local8];
}
if (_local7._url.indexOf("http") != 0) {
options.no_page = true;
}
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 _local9 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local5.mc = _local6;
_local5.name = _local9;
_local5.hostname = _local14;
_local5.allowDomain = function (d) {
return(true);
};
_local5.allowInsecureDomain = _local5.allowDomain;
_local5.connect(_local9);
_local6.lc = _local5;
_local4.lc = _local9;
_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 13 MovieClip Frame 1
stop();
Symbol 16 MovieClip Frame 1
stop();
Symbol 16 MovieClip Frame 7
stop();
Symbol 16 MovieClip Frame 16
stop();
Symbol 19 MovieClip Frame 1
stop();
Symbol 22 MovieClip Frame 1
stop();
Symbol 34 MovieClip Frame 1
stop();
Symbol 37 MovieClip Frame 1
stop();
Symbol 50 MovieClip Frame 1
stop();
Symbol 50 MovieClip Frame 20
stop();
Symbol 54 MovieClip Frame 1
stop();
Symbol 91 MovieClip Frame 1
stop();
Symbol 92 MovieClip Frame 1
stop();
Symbol 114 MovieClip Frame 1
stop();
Symbol 115 MovieClip [le_newpoint] Frame 1
Symbol 199 MovieClip Frame 94
_parent._parent.fadeto("menu");
stop();
Symbol 236 MovieClip [gameholder] Frame 1
stop();
Symbol 236 MovieClip [gameholder] Frame 2
function updateVector(v) {
v.vx = v.dx;
v.vy = v.dy;
v.len = Math.sqrt((v.vx * v.vx) + (v.vy * v.vy));
if (v.len > 0) {
v.ax = v.vx / v.len;
v.ay = v.vy / v.len;
} else {
v.ax = 0;
v.ay = 0;
}
v.rx = -v.vy;
v.ry = v.vx;
v.lx = v.vy;
v.ly = -v.vx;
}
function findIntersection(v1, v2) {
v2.line.graphic.gotoAndStop(1);
createEmptyMovieClip("v3a", 2);
createEmptyMovieClip("v3b", 1);
v3a.vx = v2.xpos - v1.xpos;
v3a.vy = v2.ypos - v1.ypos;
v3b.vx = v1.xpos - v2.xpos;
v3b.vy = v1.ypos - v2.ypos;
if (((v1.ax == v2.ax) and (v1.ay == v2.ay)) or ((v1.ax == (-v2.ax)) and (v1.ay == (-v2.ay)))) {
t1 = 1000000 /* 0x0F4240 */;
t2 = 1000000 /* 0x0F4240 */;
} else {
t1 = perP(v3a, v2) / perP(v1, v2);
t2 = perP(v3b, v1) / perP(v2, v1);
}
if ((((t1 >= 0) and (t1 <= 1)) and (t2 >= 0)) and (t2 <= 1)) {
if (v1 == ballpoint) {
intersections[intersections.length] = [v2, t1];
} else if (v1 == bodypoint) {
hitwall = true;
}
}
}
function perP(va, vb) {
var _local1 = (va.vx * vb.vy) - (va.vy * vb.vx);
return(_local1);
}
function projectVector(v1, ax, ay) {
var _local2 = (v1.dx * ax) + (v1.dy * ay);
var _local1 = {};
_local1.vx = _local2 * ax;
_local1.vy = _local2 * ay;
return(_local1);
}
function stickto(v1, v2) {
var _local1 = projectVector(v1, v2.lx / v2.len, v2.ly / v2.len);
bouncedx = _local1.vx * -1;
bouncedy = _local1.vy * -1;
}
function bounce(v1, v2) {
var _local3 = projectVector(v1, v2.ax, v2.ay);
var _local1 = projectVector(v1, v2.lx / v2.len, v2.ly / v2.len);
_local1.vx = _local1.vx * -1;
_local1.vy = _local1.vy * -1;
bouncedx = _local3.vx + (_local1.vx / 2);
bouncedy = _local3.vy + (_local1.vy / 2);
}
function rotchange(orig, changea, radius) {
orx = Math.sin((Math.PI/180) * orig) * radius;
ory = Math.cos((Math.PI/180) * orig) * radius;
nwx = Math.sin((Math.PI/180) * (orig + changea)) * radius;
nwy = Math.cos((Math.PI/180) * (orig + changea)) * radius;
xdiff = nwx - orx;
ydiff = nwy - ory;
}
function enablewalls(xpos, ypos) {
validwalls = [];
ew = 0;
wallscache = [];
while (ew < objbounds.length) {
wallscache[ew] = objbounds[ew].slice();
ew++;
}
ew = 0;
while (ew < wallscache.length) {
if (xpos < wallscache[ew][0]) {
wallscache.splice(ew, 1);
} else {
ew++;
}
}
ew = 0;
while (ew < wallscache.length) {
if (xpos > wallscache[ew][1]) {
wallscache.splice(ew, 1);
} else {
ew++;
}
}
ew = 0;
while (ew < wallscache.length) {
if (ypos < wallscache[ew][2]) {
wallscache.splice(ew, 1);
} else {
ew++;
}
}
ew = 0;
while (ew < wallscache.length) {
if (ypos > wallscache[ew][3]) {
wallscache.splice(ew, 1);
} else {
validwalls[validwalls.length] = wallscache[ew][4];
ew++;
}
}
}
dear_hackers = "Dear game decompiling asshole. Look how fucking clever you are! I don't know what you intend to accomplish decompiling my game, because unlike BotArena, there's no cheat codes in this game, and no fun variables for you to fuck around with like in BotArena (like credits for instance). If your here for my source code, good luck trying to understand my fucked up programming style. If it wern't for people like you, developers wouldn't have to worry about content, source code theft or swf security. Thank you for making Flash developers jobs harder.";
wallactivateproximity = 100;
walls = 0;
wi = 0;
pausefirstframe = false;
pi = 0;
playerpaused = false;
jumpgauge.swapDepths(5004);
coincounter.swapDepths(5003);
timecounter.swapDepths(5002);
twindow.swapDepths(5005);
whiteflash.swapDepths(5006);
mt.swapDepths(9001);
mtsetrot = function () {
mroffset = (Math.atan2(_ymouse - 240, _xmouse - 320) * 180) / Math.PI;
mroffset = mroffset - playerG._rotation;
if (mroffset > 180) {
mroffset = mroffset - 360;
} else if (mroffset < -180) {
mroffset = mroffset + 360;
}
mt.inner._rotation = mroffset;
};
jumpgauge._visible = false;
hitwall = false;
objbounds = [];
navlock = false;
thumper.xpos = 0;
thumper.ypos = 0;
mapdata = _parent.importmap;
thumper.swapDepths(5);
playerG.swapDepths(4);
bgimg.swapDepths(3);
mapdata = mapdata.split("\u25B2");
mapproperties = mapdata[0].toString();
mapproperties = mapproperties.split(",");
shapedata = mapdata[1].toString();
if (mapdata[1] != "") {
shapedata = shapedata.split("|");
}
coindata = mapdata[2].toString();
if (mapdata[2] != "") {
coindata = coindata.split("|");
}
bgimg.gotoAndStop(mapproperties[5]);
milisecs = Number(mapproperties[6]);
mapendy = Number.NEGATIVE_INFINITY;
handcoins = [];
handcombocoins = [];
coinscollected = 0;
comboarray = [];
i = 0;
while (i <= 99) {
comboarray[i] = 0;
i++;
}
while (pi < shapedata.length) {
shapedata[pi] = shapedata[pi].split(",");
currenttexture = shapedata[pi][shapedata[pi].length - 2];
currentfilter = shapedata[pi][shapedata[pi].length - 1];
shapedata[pi].splice(shapedata[pi].length - 2);
prender = attachMovie("platform", "platform" + pi, 0);
prender.gotoAndStop(Number(currentfilter) + 1);
tri = 0;
tx = random(1280);
ty = random(480);
prender.pholder.maskholder.beginFill(255, 100);
linex = 0;
liney = 0;
leftmost = Number.POSITIVE_INFINITY;
topmost = Number.POSITIVE_INFINITY;
rightmost = Number.NEGATIVE_INFINITY;
bottommost = Number.NEGATIVE_INFINITY;
newPlat = attachMovie("pgraphic", "pgraphic" + pi, 10 + pi);
while (tri < (shapedata[pi].length / 2)) {
newWall = attachMovie("wall", "wall" + wi, 1000 + wi);
newWall.idnum = wi;
newWall._visible = false;
if (tri == 0) {
newWall.xpos = shapedata[pi][0] * 20;
newWall.ypos = shapedata[pi][1] * 20;
lastx = newWall.xpos;
lasty = newWall.ypos;
} else {
newWall.xpos = lastx + (shapedata[pi][(tri * 2) + 0] * 20);
newWall.ypos = lasty + (shapedata[pi][(tri * 2) + 1] * 20);
lastx = newWall.xpos;
lasty = newWall.ypos;
}
if (newWall.ypos > mapendy) {
mapendy = newWall.ypos;
}
if (tri == ((shapedata[pi].length / 2) - 1)) {
newWall.dx = (shapedata[pi][0] * 20) - newWall.xpos;
newWall.dy = (shapedata[pi][1] * 20) - newWall.ypos;
} else {
newWall.dx = shapedata[pi][(tri * 2) + 2] * 20;
newWall.dy = shapedata[pi][(tri * 2) + 3] * 20;
}
objbounds[objbounds.length] = [];
if (newWall.dx > 0) {
objbounds[objbounds.length - 1][0] = newWall.xpos - wallactivateproximity;
objbounds[objbounds.length - 1][1] = (newWall.xpos + newWall.dx) + wallactivateproximity;
} else {
objbounds[objbounds.length - 1][0] = (newWall.xpos + newWall.dx) - wallactivateproximity;
objbounds[objbounds.length - 1][1] = newWall.xpos + wallactivateproximity;
}
if (newWall.dy > 0) {
objbounds[objbounds.length - 1][2] = newWall.ypos - wallactivateproximity;
objbounds[objbounds.length - 1][3] = (newWall.ypos + newWall.dy) + wallactivateproximity;
} else {
objbounds[objbounds.length - 1][2] = (newWall.ypos + newWall.dy) - wallactivateproximity;
objbounds[objbounds.length - 1][3] = newWall.ypos + wallactivateproximity;
}
objbounds[objbounds.length - 1][4] = objbounds.length - 1;
prender.pholder.maskholder.lineTo(newWall.dx + linex, newWall.dy + liney);
if ((newWall.dx + linex) < leftmost) {
leftmost = newWall.dx + linex;
}
if ((newWall.dy + liney) < topmost) {
topmost = newWall.dy + liney;
}
if ((newWall.dx + linex) > rightmost) {
rightmost = newWall.dx + linex;
}
if ((newWall.dy + liney) > bottommost) {
bottommost = newWall.dy + liney;
}
prender.pholder._x = -leftmost;
prender.pholder._y = -topmost;
linex = linex + newWall.dx;
liney = liney + newWall.dy;
newWall.ctype = "stick";
newWall.line.graphic._width = Math.sqrt((newWall.dx * newWall.dx) + (newWall.dy * newWall.dy));
newWall.line._rotation = (Math.atan2(newWall.dy, newWall.dx) * 180) / Math.PI;
updateVector(newWall);
walls++;
wi++;
tri++;
}
prender.pholder.maskholder.endFill();
tilexsize = 60;
tileysize = 60;
cols = ((prender.pholder.maskholder._width - (prender.pholder.maskholder._width % tilexsize)) + tilexsize) / tilexsize;
rows = ((prender.pholder.maskholder._height - (prender.pholder.maskholder._height % tileysize)) + tileysize) / tileysize;
ci = 0;
ri = 0;
ti = 0;
tstyle = Number(currenttexture) + 1;
while (ri < rows) {
while (ci < cols) {
newTile = prender.pholder.th.attachMovie("ptile", "ptile" + (ci + (cols * ri)), ti);
newTile._x = (ci * tileysize) + leftmost;
newTile._y = (ri * tileysize) + topmost;
newTile.gotoAndStop(tstyle);
ti++;
ci++;
}
ci = 0;
ri++;
}
prender._xscale = 100;
prender.cacheAsBitmap = true;
rendercache = new flash.display.BitmapData(rightmost - leftmost, bottommost - topmost, true, 11154244);
prender.temp._x = prender.pholder._width;
prender.temp._y = prender.pholder._height;
rendercache.draw(prender);
newPlat.bmphold.attachBitmap(rendercache, 10);
newPlat.xpos = (Number(shapedata[pi][0]) * 20) + leftmost;
newPlat.ypos = (Number(shapedata[pi][1]) * 20) + topmost;
pi++;
}
createEmptyMovieClip("coinholder", 5000);
coinholder.xpos = 0;
coinholder.ypos = 0;
createEmptyMovieClip("fadecoinholder", 5001);
coinholder.xpos = 0;
coinholder.ypos = 0;
coinint = 0;
coinholder.attachMovie("winflag", "winflag", 100000);
coinholder.winflag._x = mapproperties[3] * 20;
coinholder.winflag._y = mapproperties[4] * 20;
if (coindata.length == 0) {
coincounter._visible = false;
}
gamecoins = [];
while (coinint < coindata.length) {
coindata[coinint] = coindata[coinint].split(",");
if (coindata[coinint][2] == 0) {
newCoin = coinholder.attachMovie("reg_coin", "coin" + coinint, coinint);
} else {
newCoin = coinholder.attachMovie("ang_coin", "coin" + coinint, coinint);
newCoin._rotation = coindata[coinint][4];
}
newCoin._x = coindata[coinint][0] * 20;
newCoin._y = coindata[coinint][1] * 20;
newCoin.id = coinint;
gamecoins[gamecoins.length] = coinint;
newCoin.cointype = coindata[coinint][2];
newCoin.combonum = Number(coindata[coinint][3]);
trace(newCoin.combonum);
if (newCoin.combonum == 0) {
trace("yes");
newCoin.gotoAndStop(1);
} else {
trace("no");
newCoin.gotoAndStop(3);
}
comboarray[newCoin.combonum] = comboarray[newCoin.combonum] + 1;
coinint++;
}
checkcoins = function () {
feetx = (Math.sin((Math.PI/180) * (playerG._rotation + 90)) * -20) + 320;
feety = (Math.cos((Math.PI/180) * (playerG._rotation + 90)) * 20) + 240;
headx = (Math.sin((Math.PI/180) * (playerG._rotation - 90)) * -20) + 320;
heady = (Math.cos((Math.PI/180) * (playerG._rotation - 90)) * 20) + 240;
if (((coinholder.hitTest(320, 240, true) || (coinholder.hitTest(feetx, feety, true))) || (coinholder.hitTest(headx, heady, true))) && (playerpaused == false)) {
coinint = 0;
if (((coinholder.winflag.hitTest(320, 240, true) || (coinholder.winflag.hitTest(feetx, feety, true))) || (coinholder.winflag.hitTest(headx, heady, true))) && (coinholder.winflag._visible == true)) {
if (coinscollected == coindata.length) {
coinholder.winflag._visible = false;
coinget(coinholder.winflag._x, coinholder.winflag._y, "winflag");
playsound("trumpetblast");
freezegame();
attachMovie("lca", "lca", 5008);
if (timecounter._visible == true) {
trace(milisecs);
lca.timecounter.displaytext = timecounter.displaytext;
trace("USER FROM: " + ("level" + _parent.curlevel));
if (_parent.userfrom == "campaign") {
_parent.winlevel(_parent.curlevel, 3);
}
} else {
lca.timecounter._visible = false;
trace("USER FROM: " + _parent.userfrom);
if (_parent.userfrom == "campaign") {
_parent.winlevel(_parent.curlevel, 2);
}
}
lca._x = 320;
lca._y = 240;
}
}
while (coinint < gamecoins.length) {
curCoin = eval ("coinholder.coin" + gamecoins[coinint]);
if (((curCoin.hitTest(320, 240, true) || (curCoin.hitTest(feetx, feety, true))) || (curCoin.hitTest(headx, heady, true))) && (curCoin._visible == true)) {
if (curCoin.cointype == 0) {
curCoin._visible = false;
makefadecoin(curCoin.id, curCoin._x, curCoin._y, curCoin.cointype, curCoin.combonum, curCoin._rotation);
handcoins[handcoins.length] = curCoin.id;
if ((curCoin.combonum != 0) && (currentcombonumber == null)) {
clearnoncombo(curCoin.combonum);
}
} else {
tempoff = curCoin._rotation - playerG._rotation;
if (tempoff > 180) {
tempoff = tempoff - 360;
} else if (tempoff < -180) {
tempoff = tempoff + 360;
}
if ((tempoff <= 30) && (tempoff >= -30)) {
curCoin._visible = false;
makefadecoin(curCoin.id, curCoin._x, curCoin._y, curCoin.cointype, curCoin.combonum, curCoin._rotation);
handcoins[handcoins.length] = curCoin.id;
if ((curCoin.combonum != 0) && (currentcombonumber == null)) {
clearnoncombo(curCoin.combonum);
}
}
}
}
coinint++;
}
}
};
timertrumpet = function () {
if (timecounter._visible == true) {
playsound("beatclock");
}
};
clearnoncombo = function (curcombo) {
cnc = 0;
currentcombonumber = curcombo;
while (cnc < gamecoins.length) {
evalcoin = eval ("coinholder.coin" + gamecoins[cnc]);
if ((evalcoin.combonum != curcombo) && (evalcoin.combonum != 0)) {
evalcoin._visible = false;
} else if (evalcoin.combonum != 0) {
evalcoin.gotoAndStop(4);
}
cnc++;
}
};
coincounterupdate = function () {
coincounter.displaytext = (coinscollected + "/") + coindata.length;
};
makefadecoin = function (coinid, coinx, coiny, cointype, coincombo, rotation) {
if (cointype == 0) {
newFadeCoin = fadecoinholder.attachMovie("reg_coin", "coin" + coinid, coinid);
} else {
newFadeCoin = fadecoinholder.attachMovie("ang_coin", "coin" + coinid, coinid);
newFadeCoin._rotation = rotation;
}
playsound("cashding");
newFadeCoin._x = coinx;
newFadeCoin._y = coiny;
newFadeCoin._alpha = 50;
if (coincombo == 0) {
newFadeCoin.gotoAndStop(1);
} else {
newFadeCoin.gotoAndStop(3);
}
};
collectcoins = function () {
i = 0;
while (i < gamecoins.length) {
if (eval ("coinholder.coin" + gamecoins[i]).combonum == 0) {
eval ("coinholder.coin" + gamecoins[i]).gotoAndStop(1);
} else {
eval ("coinholder.coin" + gamecoins[i]).gotoAndStop(3);
}
eval ("coinholder.coin" + gamecoins[i])._visible = true;
i++;
}
i = 0;
while (i < handcoins.length) {
eval ("fadecoinholder.coin" + handcoins[i]).removeMovieClip();
if (eval ("coinholder.coin" + handcoins[i]).combonum == 0) {
coinget(eval ("coinholder.coin" + handcoins[i])._x, eval ("coinholder.coin" + handcoins[i])._y, Number(handcoins[i]));
eval ("coinholder.coin" + handcoins[i]).removeMovieClip();
playcoinsound = true;
coinscollected++;
coincounterupdate();
removegamecoinrecord(handcoins[i]);
} else {
handcombocoins[handcombocoins.length] = handcoins[i];
}
i++;
}
if (comboarray[currentcombonumber] == handcombocoins.length) {
i = 0;
while (i < handcombocoins.length) {
eval ("fadecoinholder.coin" + handcombocoins[i]).removeMovieClip();
coinget(eval ("coinholder.coin" + handcombocoins[i])._x, eval ("coinholder.coin" + handcombocoins[i])._y, Number(handcombocoins[i]));
eval ("coinholder.coin" + handcombocoins[i]).removeMovieClip();
playcoinsound = true;
coinscollected++;
coincounterupdate();
removegamecoinrecord(handcombocoins[i]);
i++;
}
}
if (playcoinsound == true) {
playsound("glittershatter");
playcoinsound = false;
}
handcoins = [];
handcombocoins = [];
delete currentcombonumber;
};
dropcoins = function () {
i = 0;
while (i < gamecoins.length) {
eval ("coinholder.coin" + gamecoins[i]).gotoAndStop(1);
eval ("coinholder.coin" + gamecoins[i])._visible = true;
i++;
}
handcoins = [];
handcombocoins = [];
delete currentcombonumber;
};
coinget = function (effectx, effecty, idnum) {
if (idnum != "winflag") {
newcoinglitter = fadecoinholder.attachMovie("coingeteffect", "effect" + idnum, idnum + (coindata.length + 10));
newcoinglitter._x = effectx;
newcoinglitter._y = effecty;
} else {
newcoinglitter = coinholder.attachMovie("coingeteffect", "winflagglitter", 1000001);
newcoinglitter._x = effectx;
newcoinglitter._y = effecty;
}
};
removegamecoinrecord = function (coinidnum) {
found = false;
rgcri = 0;
while (found == false) {
if (gamecoins[rgcri] == coinidnum) {
found = true;
gamecoins.splice(rgcri, 1);
}
rgcri++;
}
};
delete rendercache;
removeMovieClip(prender);
glitterframe = function () {
this._y = this._y + this.fallspeed;
this.life++;
if (this.life == this.lifespan) {
this._visible = false;
}
};
playerrestart = function () {
intersections = [];
hitwall = false;
ballpoint.dx = 0;
ballpoint.dy = 0;
playerpaused = false;
ballpoint.px = 0;
ballpoint.py = 0;
ballpoint.rx = 0;
ballpoint.ry = 0;
bodypoint.dx = 0;
bodypoint.dy = 0;
after_reset = true;
rchange = 0;
spin = 0;
tir = 0;
ballpoint.xpos = Number(mapproperties[1]) * 20;
ballpoint.ypos = Number(mapproperties[2]) * 20;
playerG._rotation = -90;
bodypoint.xpos = ballpoint.xpos + (Math.sin((Math.PI/180) * (playerG._rotation + 90)) * 55);
bodypoint.ypos = ballpoint.ypos + (Math.cos((Math.PI/180) * (playerG._rotation - 90)) * 55);
after_reset = true;
updateVector(bodypoint);
updateVector(ballpoint);
untilnextscan = 0;
updateallpositions();
dropcoins();
};
playerrestart();
ballpoint._visible = false;
bodypoint._visible = false;
holdingx = false;
playerG.onEnterFrame = function () {
if (ballpoint.ypos > (mapendy + 400)) {
whiteflash.gotoAndPlay(2);
playerrestart();
playsound("chabang");
}
if (playerpaused == false) {
if (after_reset == false) {
spintester = mroffset;
if (spintester > 35) {
spintester = 35;
} else if (spintester < -35) {
spintester = -35;
}
cirt = ((spintester / 2) - spintester) / 4;
tir = tir + ((cirt - tir) / 1);
spin = spintester / 2;
}
if (spin != 0) {
rotchange(playerG._rotation - 90, spin, 23);
playerG._rotation = playerG._rotation + spin;
ballpoint.rx = xdiff;
ballpoint.ry = -ydiff;
} else {
ballpoint.rx = 0;
ballpoint.ry = 0;
}
spin = spin / 1.2;
rchange = 0;
ballpoint.xpos = ballpoint.xpos + ballpoint.dx;
ballpoint.ypos = ballpoint.ypos + ballpoint.dy;
bodypoint.xpos = ballpoint.xpos + (Math.sin((Math.PI/180) * (playerG._rotation + 90)) * 55);
bodypoint.ypos = ballpoint.ypos + (Math.cos((Math.PI/180) * (playerG._rotation - 90)) * 55);
bodypoint.dx = Math.sin((Math.PI/180) * (playerG._rotation + 90)) * -53;
bodypoint.dy = Math.cos((Math.PI/180) * (playerG._rotation - 90)) * -53;
updateVector(bodypoint);
playerG.xpos = ballpoint.xpos;
playerG.ypos = ballpoint.ypos;
ballpoint.px = ballpoint.px / 1.03;
if (ballpoint.py < 20) {
ballpoint.py = ballpoint.py + 0.6;
}
if (untilnextscan <= 0) {
enablewalls(ballpoint.xpos + (ballpoint.px * 3), ballpoint.ypos + (ballpoint.py * 3));
untilnextscan = 5;
} else {
untilnextscan--;
}
ballpoint.dx = ballpoint.px + ballpoint.rx;
ballpoint.dy = ballpoint.py + ballpoint.ry;
intersections = [];
updateVector(ballpoint);
hitwall = false;
wi = 0;
while (wi < validwalls.length) {
findIntersection(ballpoint, eval ("wall" + validwalls[wi]));
findIntersection(bodypoint, eval ("wall" + validwalls[wi]));
wi++;
}
if (hitwall == true) {
whiteflash.gotoAndPlay(2);
playerrestart();
playsound("chabang");
}
if ((intersections.length > 0) && (hitwall == false)) {
if (after_reset == false) {
playsound("suckland");
thumper.gotoAndPlay(8);
} else {
after_reset = false;
}
i = 0;
closest_dist = Number.POSITIVE_INFINITY;
closest_obj = undefined;
while (i < intersections.length) {
tempx = (ballpoint.xpos + (ballpoint.dx * intersections[i][1])) - ballpoint.xpos;
tempy = (ballpoint.ypos + (ballpoint.dy * intersections[i][1])) - ballpoint.ypos;
eval ("hp" + i).xpos = tempx;
eval ("hp" + i).ypos = tempy;
dist = Math.sqrt((tempx * tempx) + (tempy * tempy));
if (dist < closest_dist) {
closest_dist = dist;
closest_offset = intersections[i][1];
closest_obj = eval (intersections[i][0]);
}
i++;
}
if (closest_obj.ctype == "stick") {
closest_obj.line.graphic.gotoAndStop(2);
playerpaused = true;
pausefirstframe = true;
collectcoins();
stuckto = closest_obj;
ballpoint.xpos = ballpoint.xpos + (ballpoint.dx * closest_offset);
ballpoint.ypos = ballpoint.ypos + (ballpoint.dy * closest_offset);
thumper.xpos = ballpoint.xpos;
thumper.ypos = ballpoint.ypos;
playerG.xpos = ballpoint.xpos;
playerG.ypos = ballpoint.ypos;
spin = 0;
tir = 0;
stickto(ballpoint, stuckto);
swayto = 0;
angleapproved = false;
jumpcharge = 0;
platformrot = (Math.atan2(bouncedy, bouncedx) * 180) / Math.PI;
rotoffset = platformrot - playerG._rotation;
if (rotoffset > 180) {
rotoffset = rotoffset - 360;
}
if (rotoffset < -180) {
rotoffset = rotoffset + 360;
}
wi = 0;
while (wi < validwalls.length) {
findIntersection(bodypoint, eval ("wall" + validwalls[wi]));
wi++;
}
if (hitwall == true) {
whiteflash.gotoAndPlay(2);
playerrestart();
playsound("chabang");
}
} else {
ballpoint.xpos = ballpoint.xpos + (ballpoint.dx * closest_offset);
ballpoint.ypos = ballpoint.ypos + (ballpoint.dy * closest_offset);
playerG.xpos = ballpoint.xpos;
playerG.ypos = ballpoint.ypos;
spin = 0;
tir = 0;
stuckto = closest_obj;
bounce(ballpoint, stuckto);
ballpoint.px = bouncedx;
ballpoint.py = bouncedy;
ballpoint.dx = ballpoint.px;
ballpoint.dy = ballpoint.py;
ballpoint.rx = 0;
ballpoint.ry = 0;
}
}
} else {
if (_parent.lmb_down && (angleapproved == true)) {
if (jumpcharge < 14.9) {
jumpcharge = jumpcharge + ((15 - jumpcharge) / 10);
jumpgauge._visible = true;
playerG.graphic.gotoAndStop(Math.round(jumpcharge * 4) + 1);
} else {
if (jumpcharge != 15) {
jumpgauge.fj1.gotoAndPlay(2);
jumpgauge.fj2.gotoAndPlay(2);
}
jumpcharge = 15;
}
jumpgauge.amount._xscale = (jumpcharge / 15) * 100;
} else {
playerG.graphic.gotoAndStop(1);
jumpgauge._visible = false;
jumpgauge.fj1.gotoAndStop(1);
jumpgauge.fj2.gotoAndStop(1);
if (jumpcharge > 0) {
timeractive = true;
ballpoint.px = Math.sin((Math.PI/180) * (playerG._rotation + 90)) * jumpcharge;
ballpoint.py = Math.cos((Math.PI/180) * (playerG._rotation - 90)) * jumpcharge;
tir = 0;
playsound("popoff");
thumper.gotoAndPlay(2);
thumper.xpos = ballpoint.xpos;
thumper.ypos = ballpoint.ypos;
ballpoint.dx = ballpoint.px;
ballpoint.dy = ballpoint.py;
ballpoint.rx = 0;
ballpoint.ry = 0;
untilnextscan = 0;
playerpaused = false;
}
}
playerG.oldrot = playerG._rotation;
swaytotester = -mroffset;
if (swaytotester > 40) {
swaytotester = 40;
} else if (swaytotester < -40) {
swaytotester = -40;
}
swayto = swaytotester;
playerG._rotation = playerG._rotation - ((offsetrot + swayto) / 10);
offsetrot = playerG._rotation - platformrot;
bodypoint.xpos = ballpoint.xpos + (Math.sin((Math.PI/180) * (playerG._rotation + 90)) * 55);
bodypoint.ypos = ballpoint.ypos + (Math.cos((Math.PI/180) * (playerG._rotation - 90)) * 55);
bodypoint.dx = Math.sin((Math.PI/180) * (playerG._rotation + 90)) * -40;
bodypoint.dy = Math.cos((Math.PI/180) * (playerG._rotation - 90)) * -40;
updateVector(bodypoint);
hitwall = false;
wi = 0;
while (wi < walls) {
findIntersection(bodypoint, eval ("wall" + wi));
wi++;
}
if (hitwall == true) {
if (pausefirstframe == true) {
pausefirstframe = false;
whiteflash.gotoAndPlay(2);
trace("FREEZE PREVENTED!");
playerrestart();
playsound("chabang");
} else {
playerG._rotation = playerG.oldrot;
}
} else {
pausefirstframe = false;
}
if (offsetrot > 180) {
offsetrot = offsetrot - 360;
}
if (offsetrot < -180) {
offsetrot = offsetrot + 360;
}
if (angleapproved == false) {
if ((offsetrot <= 60) && (offsetrot >= -60)) {
angleapproved = true;
}
}
}
updateallpositions();
};
updateallpositions = function () {
mtsetrot();
camx = ballpoint.xpos - (ballpoint._x - 320);
camy = ballpoint.ypos - (ballpoint._y - 240);
checkcoins();
ballpoint._x = 320 - (Math.sin((Math.PI/180) * (playerG._rotation + 90)) * 23);
ballpoint._y = 240 - (Math.cos((Math.PI/180) * (playerG._rotation - 90)) * 23);
bodypoint._x = ((-camx) + bodypoint.xpos) + 320;
bodypoint._y = ((-camy) + bodypoint.ypos) + 240;
playerG._x = ballpoint._x;
playerG._y = ballpoint._y;
coinholder._x = ((-camx) + coinholder.xpos) + 320;
coinholder._y = ((-camy) + coinholder.ypos) + 240;
fadecoinholder._x = ((-camx) + coinholder.xpos) + 320;
fadecoinholder._y = ((-camy) + coinholder.ypos) + 240;
thumper._x = ((-camx) + thumper.xpos) + 320;
thumper._y = ((-camy) + thumper.ypos) + 240;
i = 0;
while (i < walls) {
eval ("wall" + i)._x = ((-camx) + eval ("wall" + i).xpos) + 320;
eval ("wall" + i)._y = ((-camy) + eval ("wall" + i).ypos) + 240;
i++;
}
i = 0;
while (i < shapedata.length) {
eval ("pgraphic" + i)._x = ((-camx) + eval ("pgraphic" + i).xpos) + 320;
eval ("pgraphic" + i)._y = ((-camy) + eval ("pgraphic" + i).ypos) + 240;
i++;
}
updateVector(bodypoint);
updateVector(ballpoint);
};
coincounterupdate();
updatetime = function () {
milidisplay = milisecs % 100;
seconddisplay = (milisecs / 100) - (milidisplay / 100);
if (String(milidisplay).length == 1) {
milidisplay = "0" + milidisplay;
}
timecounter.displaytext = (seconddisplay + ":") + milidisplay;
};
timereveryframe = function () {
if (timeractive == true) {
milisecs = milisecs - 3;
updatetime();
if (milisecs <= 0) {
delete timecounter.onEnterFrame;
timecounter._visible = false;
}
}
};
if (milisecs > 0) {
updatetime();
timecounter.onEnterFrame = timereveryframe;
} else {
timecounter._visible = false;
}
timeractive = false;
freezegame = function () {
navlock = true;
delete playerG.onEnterFrame;
playerG.graphic.ball.pulse.stop();
timeractive = false;
};
xpress = function () {
if (navlock == false) {
whiteflash.gotoAndPlay(2);
playerrestart();
playsound("chabang");
holdingx = true;
}
};
rpress = function () {
if (navlock == false) {
navlock = true;
freezegame();
_parent.fadeto("game");
}
};
escpress = function () {
trace("esc press");
if (navlock == false) {
trace("esc press");
navlock = true;
freezegame();
leavegame();
}
};
testmodetext.swapDepths(5007);
if (_parent.userfrom != "mapedit") {
removeMovieClip(testmodetext);
}
leavegame = function () {
if (_parent.userfrom == "custom") {
_parent.fadeto("mapload");
} else if (_parent.userfrom == "mapedit") {
_parent.fadeto("mapedit");
} else if (_parent.userfrom == "campaign") {
if (_parent.gotowingame == true) {
delete _parent.gotowingame;
_parent.fadeto("wingame");
} else {
_parent.fadeto("levelselect");
}
} else {
_parent.fadeto("menu");
}
};
if ((_parent.importtutorial.length > 0) && (_parent.userfrom == "campaign")) {
trace(_parent.importtutorial);
t_index = 0;
twindow.displaytext = _parent.importtutorial[0];
spress = function () {
trace("S PRESSED");
t_index++;
twindow.displaytext = _parent.importtutorial[t_index];
if (t_index >= _parent.importtutorial.length) {
removeMovieClip(twindow);
}
};
} else {
removeMovieClip(twindow);
}
if (_parent.winmode == 2) {
playerG.graphic.body.gotoAndStop(2);
playerG.graphic.stick.gotoAndStop(2);
playerG.graphic.ball.gotoAndStop(2);
}
Symbol 236 MovieClip [gameholder] Frame 3
mapdata = [];
mapdata.platforms = [];
mapdata.general = [];
mapdata.general.startposition = [0, 0];
mapdata.general.endposition = [10, 0];
mapdata.general.background = 1;
mapdata.general.timelimit = 100;
mapdata.general.version = "pojuko1.00";
mapdata.coins = [];
camx = 0;
camy = 0;
col = 0;
row = 0;
loadmapdata = function (sourcedata) {
thedata = sourcedata;
thedata = thedata.split("\u25B2");
trace("NIG: " + thedata[0]);
thedata[0] = thedata[0].split(",");
mapdata.general.version = thedata[0][0];
mapdata.general.startposition = [thedata[0][1], thedata[0][2]];
mapdata.general.endposition = [Number(thedata[0][3]), Number(thedata[0][4])];
mapdata.general.background = thedata[0][5];
mapdata.general.timelimit = Number(thedata[0][6]);
toolbar.timelimit = mapdata.general.timelimit;
mapdata.platforms = [];
mapdata.coins = [];
if (thedata[1] != "") {
platdata = thedata[1].split("|");
}
i = 0;
while (i < platdata.length) {
trace("MADE A PLATFORM");
platdata[i] = platdata[i].split(",");
trace(platdata[i]);
mapdata.platforms[i] = [];
mapdata.platforms[i].shape = platdata[i].slice();
mapdata.platforms[i].shape.splice(mapdata.platforms[i].shape.length - 2, 2);
trace(platdata[i]);
mapdata.platforms[i].texture = platdata[i][platdata[i].length - 2];
mapdata.platforms[i].blend = platdata[i][platdata[i].length - 1];
trace(mapdata.platforms[i].blend);
i++;
}
if (thedata[2] != "") {
mapdata.coins = thedata[2].split("|");
}
i = 0;
while (i < mapdata.coins.length) {
trace("COINS");
mapdata.coins[i] = mapdata.coins[i].split(",");
i++;
}
cleanup("map");
loadmap();
};
textureswatches = roottile._totalframes;
blendswatches = rootblend._totalframes;
curtexture = 0;
curblend = 0;
createEmptyMovieClip("coinholder", 15000);
toolbar.b1.icon.gotoAndStop(2);
toolbar.b4.icon.gotoAndStop(3);
toolbar.b5.icon.gotoAndStop(4);
toolbar.b6.icon.gotoAndStop(5);
toolbar.b7.icon.gotoAndStop(6);
toolbar.b8.icon.gotoAndStop(7);
toolbar.b9.icon.gotoAndStop(8);
toolbar.b10.icon.gotoAndStop(9);
toolbar.b11.icon.gotoAndStop(11);
toolbar.b12.icon.gotoAndStop(10);
toolbar.b3.icon.gotoAndStop(12);
toolbar.timelimitobj.restrict = "0-9";
tswatchpress = function () {
curtexture = this.id;
sw = 0;
while (sw < textureswatches) {
eval ("ctab.ts" + sw).selarrow._visible = false;
sw++;
}
eval ("ctab.ts" + this.id).selarrow._visible = true;
};
bswatchpress = function () {
curblend = this.id;
sw = 0;
while (sw < blendswatches) {
eval ("ctab.bs" + sw).selarrow._visible = false;
sw++;
}
eval ("ctab.bs" + this.id).selarrow._visible = true;
};
sw = 0;
while (sw < textureswatches) {
newswatch = ctab.attachMovie("le_textureswatch", "ts" + sw, sw);
trace((("T: " + sw) + " ") + textureswatches);
newswatch._x = (sw % 3) * 40;
newswatch._y = (row * 30) + 30;
newswatch.id = sw;
newswatch.in0.gotoAndStop(sw + 1);
newswatch.in1.gotoAndStop(sw + 1);
newswatch.seltick._visible = false;
newswatch.selarrow._visible = false;
if (sw == curtexture) {
newswatch.selarrow._visible = true;
}
trace((("F: " + sw) + " ") + textureswatches);
newswatch.onPress = tswatchpress;
trace((("F: " + sw) + " ") + textureswatches);
col++;
if (col > 2) {
col = 0;
row++;
}
trace((("T: " + sw) + " ") + textureswatches);
sw++;
}
bw = 0;
while (bw < blendswatches) {
trace("SW: " + sw);
newswatch = ctab.attachMovie("le_blendswatch", "bs" + bw, sw);
trace(bw);
newswatch.inner.pholder.attachMovie("le_bshape", "bshape", 1);
newswatch.inner.gotoAndStop(bw + 1);
newswatch._x = (sw % 3) * 40;
newswatch._y = (row * 30) + 60;
newswatch.id = bw;
newswatch.seltick._visible = false;
newswatch.selarrow._visible = false;
if (bw == curblend) {
newswatch.selarrow._visible = true;
}
newswatch.onPress = bswatchpress;
col++;
if (col > 2) {
col = 0;
row++;
}
bw++;
sw++;
}
toolbar.swapDepths(20000);
tooltip.swapDepths(20001);
ctab.swapDepths(20002);
dcursor.swapDepths(20003);
outputwindow.swapDepths(20004);
toolbar.b1.onPress = function () {
buttonsdown();
this.gotoAndStop(2);
tooltip.txt = "Draw Tool - Click anywhere to draw a point. To finish, click on the first point you made.";
toolmode = "draw";
};
toolbar.b2.onPress = function () {
buttonsdown();
ctab._visible = true;
this.gotoAndStop(2);
tooltip.txt = "Texturepaint Tool - Select a texture and filter, then click on a shape to apply the properties.";
toolmode = "paint";
hoverfunctionsenable(true);
};
toolbar.b4.onPress = function () {
buttonsdown();
this.gotoAndStop(2);
tooltip.txt = "Start Location Tool - Click anywhere to define the player's start location.";
toolmode = "start";
};
toolbar.b5.onPress = function () {
buttonsdown();
this.gotoAndStop(2);
tooltip.txt = "End Bonus Tool - Click anywhere to define the ending bonus position.";
toolmode = "end";
};
toolbar.b6.onPress = function () {
buttonsdown();
coinpanelset(true);
this.gotoAndStop(2);
tooltip.txt = "Regular Coin Tool - Click anywhere to place a regular coin.";
toolmode = "reg_coin";
};
toolbar.b7.onPress = function () {
buttonsdown();
coinpanelset(true);
this.gotoAndStop(2);
tooltip.txt = "Angular Coin Tool - Click anywhere to place an angular coin.";
toolmode = "ang_coin";
};
toolbar.b8.onPress = function () {
buttonsdown();
this.gotoAndStop(2);
tooltip.txt = "Delete Platform Tool - Click on a platform to delete it.";
toolmode = "del_plat";
hoverfunctionsenable(true);
};
toolbar.b9.onPress = function () {
buttonsdown();
coinhoverenable(true);
this.gotoAndStop(2);
tooltip.txt = "Delete Coin Tool - Click on a coin to delete it.";
toolmode = "del_coin";
};
toolbar.b10.onPress = function () {
if (background._currentframe == background._totalframes) {
background.gotoAndStop(1);
} else {
background.gotoAndStop(background._currentframe + 1);
}
mapdata.general.background = background._currentframe;
};
toolbar.b11.onPress = function () {
buttonsdown();
toolmode = "loadwindow";
outputwindow._visible = true;
outputwindow.lbut._visible = true;
outputwindow.displaytext = "";
this.gotoAndStop(2);
tooltip.txt = "Load Map - Paste whole map data into the box on the screen and click 'load'.";
};
toolbar.b12.onPress = function () {
buttonsdown();
toolmode = "savewindow";
outputwindow._visible = true;
outputwindow.displaytext = generatemapcode();
this.gotoAndStop(2);
tooltip.txt = "Save Map - Copy ALL (eg: ctrl+a) of the text from the window and paste it somewhere for later.";
};
toolbar.b3.onPress = function () {
_parent.importmap = generatemapcode();
_parent.userfrom = "mapedit";
_parent.fadeto("game");
};
xscroll = 0;
yscroll = 0;
outputwindow.lbut.onPress = function () {
loadmapdata(outputwindow.displaytext);
toolbar.b1.onPress();
};
onEnterFrame = function () {
if (toolbar.timelimit.length == 0) {
mapdata.general.timelimit = 0;
toolbar.timelimit = 0;
}
mapdata.general.timelimit = toolbar.timelimit;
if (Key.isDown(37) && (!Key.isDown(39))) {
if (xscroll > 0) {
xscroll = 0;
}
if (xscroll > -10) {
xscroll--;
}
} else if ((!Key.isDown(37)) && (Key.isDown(39))) {
if (xscroll < 0) {
xscroll = 0;
}
if (xscroll < 10) {
xscroll++;
}
} else if ((!Key.isDown(37)) && (!Key.isDown(39))) {
xscroll = 0;
}
if (Key.isDown(38) && (!Key.isDown(40))) {
if (yscroll > 0) {
yscroll = 0;
}
if (yscroll > -10) {
yscroll--;
}
} else if ((!Key.isDown(38)) && (Key.isDown(40))) {
if (yscroll < 0) {
yscroll = 0;
}
if (yscroll < 10) {
yscroll++;
}
} else if ((!Key.isDown(38)) && (!Key.isDown(40))) {
yscroll = 0;
}
camx = camx + xscroll;
camy = camy + yscroll;
if (((((toolmode == "draw") || (toolmode == "start")) || (toolmode == "end")) || (toolmode == "ang_coin")) || (toolmode == "reg_coin")) {
if ((_ymouse > 40) && (_ymouse < 440)) {
dcursor._x = (Math.round((_xmouse + (camx % 20)) / 20) * 20) - (camx % 20);
dcursor._y = (Math.round((_ymouse + (camy % 20)) / 20) * 20) - (camy % 20);
dcursor._visible = true;
} else {
dcursor._x = -100;
dcursor._y = -100;
dcursor._visible = false;
}
} else if (toolmode == "drawing") {
dcursor._x = (Math.round((_xmouse + (camx % 20)) / 20) * 20) - (camx % 20);
dcursor._y = (Math.round((_ymouse + (camy % 20)) / 20) * 20) - (camy % 20);
} else if (toolmode == "del_coin") {
realxmouse = (Math.round((_xmouse + (camx % 20)) / 20) * 20) - (camx % 20);
realymouse = (Math.round((_ymouse + (camy % 20)) / 20) * 20) - (camy % 20);
mapxmouse = ((realxmouse + camx) - 320) / 20;
mapymouse = ((realymouse + camy) - 240) / 20;
if ((oldxmouse != mapxmouse) || (oldymouse != mapymouse)) {
coin_mouseoff();
overcoins = false;
}
oldxmouse = mapxmouse;
oldymouse = mapymouse;
if (coinholder.hitTest(realxmouse, realymouse, true)) {
if (overcoins == false) {
coin_mouseover();
overcoins = true;
}
} else if (overcoins == true) {
coin_mouseoff();
overcoins = false;
}
}
};
background.onPress = function () {
if ((toolmode == "draw") && (dcursor._visible == true)) {
trace(dcursor._visible);
toolmode = "drawing";
tooltip._visible = false;
toolbar._visible = false;
drawtoolglyphs = 0;
newpoint = attachMovie("le_newpoint", "point" + drawtoolglyphs, drawtoolglyphs + 10000);
newpoint.xpos = (dcursor._x + camx) - 320;
newpoint.ypos = (dcursor._y + camy) - 240;
shapevectors = [newpoint.xpos / 20, newpoint.ypos / 20];
trace(shapevectors);
updatepos(newpoint);
newpoint.onEnterFrame = alwaysupdatepos;
newpoint.onPress = lastpointclick;
lastpointplaced = newpoint;
drawtoolglyphs++;
} else if (toolmode == "drawing") {
newpoint = attachMovie("le_newpoint", "point" + drawtoolglyphs, drawtoolglyphs + 10000);
newpoint.xpos = (dcursor._x + camx) - 320;
newpoint.ypos = (dcursor._y + camy) - 240;
shapevectors[shapevectors.length] = (newpoint.xpos / 20) - (lastpointplaced.xpos / 20);
shapevectors[shapevectors.length] = (newpoint.ypos / 20) - (lastpointplaced.ypos / 20);
updatepos(newpoint);
newpoint.onEnterFrame = alwaysupdatepos;
newpoint.icon.gotoAndStop(2);
xdist = newpoint.xpos - lastpointplaced.xpos;
ydist = newpoint.ypos - lastpointplaced.ypos;
lastpointplaced.line.inner._width = Math.sqrt((xdist * xdist) + (ydist * ydist));
lastpointplaced.line._rotation = (Math.atan2(newpoint._y - lastpointplaced._y, newpoint._x - lastpointplaced._x) * 180) / Math.PI;
lastpointplaced = newpoint;
drawtoolglyphs++;
} else if ((toolmode == "start") && (dcursor._visible == true)) {
mapdata.general.startposition[0] = ((dcursor._x + camx) - 320) / 20;
mapdata.general.startposition[1] = ((dcursor._y + camy) - 240) / 20;
cleanup("map");
loadmap();
} else if ((toolmode == "end") && (dcursor._visible == true)) {
mapdata.general.endposition[0] = ((dcursor._x + camx) - 320) / 20;
mapdata.general.endposition[1] = ((dcursor._y + camy) - 240) / 20;
cleanup("map");
loadmap();
} else if ((toolmode == "reg_coin") && (dcursor._visible == true)) {
mapdata.coins[mapdata.coins.length] = [];
mapdata.coins[mapdata.coins.length - 1][0] = ((dcursor._x + camx) - 320) / 20;
mapdata.coins[mapdata.coins.length - 1][1] = ((dcursor._y + camy) - 240) / 20;
mapdata.coins[mapdata.coins.length - 1][2] = 0;
mapdata.coins[mapdata.coins.length - 1][3] = toolbar.coinpanel.combonum;
cleanup("map");
loadmap();
} else if ((toolmode == "ang_coin") && (dcursor._visible == true)) {
mapdata.coins[mapdata.coins.length] = [];
mapdata.coins[mapdata.coins.length - 1][0] = ((dcursor._x + camx) - 320) / 20;
mapdata.coins[mapdata.coins.length - 1][1] = ((dcursor._y + camy) - 240) / 20;
mapdata.coins[mapdata.coins.length - 1][2] = 1;
mapdata.coins[mapdata.coins.length - 1][3] = toolbar.coinpanel.combonum;
mapdata.coins[mapdata.coins.length - 1][4] = toolbar.coinpanel.dirdial.inner._rotation;
trace(mapdata.coins.length);
cleanup("map");
loadmap();
}
};
navlock = false;
escpress = function () {
if (navlock == false) {
navlock = true;
_parent.fadeto("menu");
}
};
lastpointclick = function () {
mapdata.platforms[mapdata.platforms.length] = [];
mapdata.platforms[mapdata.platforms.length - 1].shape = shapevectors;
mapdata.platforms[mapdata.platforms.length - 1].texture = curtexture;
mapdata.platforms[mapdata.platforms.length - 1].blend = 0;
cleanup("drawtool");
cleanup("map");
loadmap();
toolmode = "draw";
toolbar._visible = true;
tooltip._visible = true;
};
updatepos = function (target) {
target._x = ((-camx) + target.xpos) + 320;
target._y = ((-camy) + target.ypos) + 240;
};
alwaysupdatepos = function () {
this._x = ((-camx) + this.xpos) + 320;
this._y = ((-camy) + this.ypos) + 240;
};
coinholder.xpos = 0;
coinholder.ypos = 0;
coinholder.onEnterFrame = alwaysupdatepos;
cleanup = function (target) {
if (target == "drawtool") {
while (drawtoolglyphs > 0) {
drawtoolglyphs--;
removeMovieClip("point" + drawtoolglyphs);
}
} else if (target == "map") {
while (shapecount > 0) {
shapecount--;
removeMovieClip("shape" + shapecount);
}
while (coincount > 0) {
coincount--;
removeMovieClip("coinholder.coin" + coincount);
}
}
};
loadmap = function () {
shapecount = 0;
while (shapecount < mapdata.platforms.length) {
newshape = attachMovie("le_shapeanchor", "shape" + shapecount, shapecount);
newshape.xpos = mapdata.platforms[shapecount].shape[0] * 20;
newshape.ypos = mapdata.platforms[shapecount].shape[1] * 20;
newshape.id = shapecount;
lastx = 0;
lasty = 0;
drawprogress = 2;
newshape.beginFill(5592405, 100);
newshape.lineholder.lineStyle(2, 16711680, 100);
while (drawprogress < mapdata.platforms[shapecount].shape.length) {
newshape.lineTo(lastx + (mapdata.platforms[shapecount].shape[drawprogress] * 20), lasty + (mapdata.platforms[shapecount].shape[drawprogress + 1] * 20));
newshape.lineholder.lineTo(lastx + (mapdata.platforms[shapecount].shape[drawprogress] * 20), lasty + (mapdata.platforms[shapecount].shape[drawprogress + 1] * 20));
lastx = lastx + (mapdata.platforms[shapecount].shape[drawprogress] * 20);
lasty = lasty + (mapdata.platforms[shapecount].shape[drawprogress + 1] * 20);
drawprogress = drawprogress + 2;
}
newshape.lineholder.lineTo(0, 0);
newshape.endFill();
newshape.lineholder.endFill();
newshape.lineholder._visible = false;
updatepos(newshape);
newshape.onEnterFrame = alwaysupdatepos;
shapecount++;
}
spos.xpos = mapdata.general.startposition[0] * 20;
spos.ypos = mapdata.general.startposition[1] * 20;
updatepos(spos);
spos.onEnterFrame = alwaysupdatepos;
epos.xpos = mapdata.general.endposition[0] * 20;
epos.ypos = mapdata.general.endposition[1] * 20;
updatepos(epos);
epos.onEnterFrame = alwaysupdatepos;
coincount = 0;
background.gotoAndStop(mapdata.general.background);
trace(mapdata.coins[0].length);
while (coincount < mapdata.coins.length) {
if (mapdata.coins[coincount][2] == "0") {
newcoin = coinholder.attachMovie("le_regular_coin", "coin" + coincount, coincount);
} else {
newcoin = coinholder.attachMovie("le_angular_coin", "coin" + coincount, coincount);
newcoin._rotation = mapdata.coins[coincount][4];
trace("ROT: " + mapdata.coins[coincount][4]);
}
newcoin._x = mapdata.coins[coincount][0] * 20;
newcoin._y = mapdata.coins[coincount][1] * 20;
newcoin.combonum = mapdata.coins[coincount][3];
newcoin.cacheAsBitmap = true;
coincount++;
}
};
loadmap();
ctab._visible = false;
hovermouseover = function () {
this.lineholder._visible = true;
eval ("ctab.ts" + mapdata.platforms[this.id].texture).seltick._visible = true;
eval ("ctab.bs" + mapdata.platforms[this.id].blend).seltick._visible = true;
};
hovermouseoff = function () {
this.lineholder._visible = false;
eval ("ctab.ts" + mapdata.platforms[this.id].texture).seltick._visible = false;
eval ("ctab.bs" + mapdata.platforms[this.id].blend).seltick._visible = false;
};
hovermousepress = function () {
if (toolmode == "paint") {
mapdata.platforms[this.id].texture = curtexture;
mapdata.platforms[this.id].blend = curblend;
sw = 0;
while (sw < textureswatches) {
eval ("ctab.ts" + sw).seltick._visible = false;
eval ("ctab.ts" + curtexture).seltick._visible = true;
sw++;
}
sw = 0;
while (sw < blendswatches) {
eval ("ctab.bs" + sw).seltick._visible = false;
eval ("ctab.bs" + curblend).seltick._visible = true;
sw++;
}
} else if (toolmode == "del_plat") {
mapdata.platforms.splice(this.id, 1);
trace(this.id);
cleanup("map");
loadmap();
hoverfunctionsenable(true);
}
};
buttonsdown = function () {
ctab._visible = false;
coinpanelset(false);
tooltip._visible = true;
toolbar._visible = true;
toolbar.b1.gotoAndStop(1);
toolbar.b2.gotoAndStop(1);
toolbar.b3.gotoAndStop(1);
toolbar.b4.gotoAndStop(1);
toolbar.b5.gotoAndStop(1);
toolbar.b6.gotoAndStop(1);
toolbar.b7.gotoAndStop(1);
toolbar.b8.gotoAndStop(1);
toolbar.b9.gotoAndStop(1);
toolbar.b10.gotoAndStop(1);
toolbar.b11.gotoAndStop(1);
toolbar.b12.gotoAndStop(1);
hoverfunctionsenable(false);
coinhoverenable(false);
outputwindow._visible = false;
outputwindow.lbut._visible = false;
};
hoverfunctionsenable = function (stat) {
if (stat == true) {
hi = 0;
while (hi < shapecount) {
allShapes = eval ("shape" + hi);
allShapes.onRollOver = hovermouseover;
allShapes.onRollOut = hovermouseoff;
allShapes.onPress = hovermousepress;
hi++;
}
} else {
hi = 0;
while (hi < shapecount) {
allShapes = eval ("shape" + hi);
if (allShapes.onRollOver != null) {
delete allShapes.onRollOver;
}
if (allShapes.onRollOut != null) {
delete allShapes.onRollOut;
}
if (allShapes.onPress != null) {
delete allShapes.onPress;
}
hi++;
}
}
};
coinpanelset = function (setting) {
if (setting == false) {
toolbar.coinpanel._alpha = 20;
if (toolbar.coinpanel.dirdial.onPress != null) {
delete toolbar.coinpanel.dirdial.onPress;
delete toolbar.coinpanel.combo_up.onPress;
delete toolbar.coinpanel.combo_down.onPress;
}
} else {
toolbar.coinpanel._alpha = 100;
if (toolbar.coinpanel.dirdial.onPress == null) {
toolbar.coinpanel.dirdial.onPress = angledialpress;
toolbar.coinpanel.combo_up.onPress = combopress;
toolbar.coinpanel.combo_down.onPress = combopress;
}
}
};
toolbar.coinpanel.combo_up.statechange = "up";
toolbar.coinpanel.combo_down.statechange = "down";
angledialpress = function () {
this.inner._rotation = Math.round((Math.atan2(this._ymouse, this._xmouse) / Math.PI) * 180);
};
combopress = function () {
if (this.statechange == "up") {
if (toolbar.coinpanel.combonum < 99) {
toolbar.coinpanel.combonum++;
} else {
toolbar.coinpanel.combonum = 0;
}
} else if (toolbar.coinpanel.combonum > 0) {
toolbar.coinpanel.combonum--;
} else {
toolbar.coinpanel.combonum = 99;
}
};
coinpanelset(false);
overcoins = false;
selectedcoins = [];
coin_mouseover = function () {
i = 0;
selectedcoins = [];
while (i < mapdata.coins.length) {
if ((mapxmouse == mapdata.coins[i][0]) && (mapymouse == mapdata.coins[i][1])) {
selectedcoins[selectedcoins.length] = i;
eval ("coinholder.coin" + i)._alpha = 50;
}
i++;
}
};
coin_mouseoff = function () {
i = 0;
while (i < mapdata.coins.length) {
eval ("coinholder.coin" + i)._alpha = 100;
i++;
}
selectedcoins = [];
};
coinholder.useHandCursor = false;
coin_press = function () {
if (toolmode == "del_coin") {
i = selectedcoins.length - 1;
while (i >= 0) {
mapdata.coins.splice(selectedcoins[i], 1);
cleanup("map");
loadmap();
i--;
}
}
};
coinholder.onPress = coin_press;
pointer.swapDepths = 1000000 /* 0x0F4240 */;
if (_parent.importmap != null) {
loadmapdata(_parent.importmap);
}
toolbar.b1.onPress();
generatemapcode = function () {
output = "";
output = (((((((((((mapdata.general.version + ",") + mapdata.general.startposition[0]) + ",") + mapdata.general.startposition[1]) + ",") + mapdata.general.endposition[0]) + ",") + mapdata.general.endposition[1]) + ",") + mapdata.general.background) + ",") + mapdata.general.timelimit;
output = output + "\u25B2";
i = 0;
while (i < mapdata.platforms.length) {
output = output + ((((mapdata.platforms[i].shape + ",") + mapdata.platforms[i].texture) + ",") + mapdata.platforms[i].blend);
if (i < (mapdata.platforms.length - 1)) {
output = output + "|";
}
i++;
}
output = output + "\u25B2";
i = 0;
while (i < mapdata.coins.length) {
output = output + mapdata.coins[i];
if (i < (mapdata.coins.length - 1)) {
output = output + "|";
}
i++;
}
return(output);
};
Symbol 236 MovieClip [gameholder] Frame 4
i = 0;
levelarray = [];
levelarray[levelarray.length] = [];
levelarray[levelarray.length - 1].name = "1. Training 1";
levelarray[levelarray.length - 1].mapdata = "pojuko1.00,-13,-4,23,0,1,1100\u25B2-16,-1,2,-3,2,0,2,2,1,3,2,2,8,0,2,1,1,1,0,2,-3,1,-10,0,-4,-1,-2,-3,0,0|7,5,2,-1,3,0,4,-1,4,0,4,2,1,2,-2,1,-4,0,-4,-1,-6,0,-2,-1,0,0\u25B2-6,-4,0,0|11,0,0,2|14,-1,0,2";
levelarray[levelarray.length - 1].tutorial = ["Welcome to Pojuko! Feel free to play while you are reading the tutorial (Press space to continue the tutorial)", "Your coin counter is in the bottom left hand side of the screen. You'll also find a timer on the bottom right hand side on the screen, but beating it is optional for advanced players. Completing a level before the timer runs out is not necessary in winning Pojuko.", "Here are some important shortcut keys to remember:\rX key = reset character to start\rR key = replay level from beginning (with timer reset)\rESC key = go back to main menu", "Controlling your character is simple. Just hold down the left mouse button to charge up your jump strength, then release the button to jump. While you are on the floor, point your mouse cursor in the direction you wish to jump, and when in the air, move your mouse to control your characters rotation.", "The goal of each level is to collect all of the coins and then make your way to the exit flag.", "In Pojuko, coins are not considered collected until after you sucessfully land after touching them.", "You may notice there are two coins on the right most platform on this level. Those are combo coins, and are indicated by the small inner circle on the face of the coin", "To collect any combo coins, you must collect ALL of the coins in the combo. In this case, collecting both coins in the same jump.", "Try to familiarize yourself with the controls as much as possible. Once you've finished, feel free to play the next tutorial."];
levelarray[levelarray.length] = [];
levelarray[levelarray.length - 1].name = "2. Training 2";
levelarray[levelarray.length - 1].mapdata = "pojuko1.00,-1,3,41,2,2,1400\u25B2-6,4,3,-1,4,0,3,1,1,2,-1,2,-4,1,-5,-1,-2,-2,0,0|10,4,-1,2,0,2,3,1,4,0,2,-2,0,-3,-3,-1,-3,0,0,0|22,8,3,-1,4,0,3,2,0,3,-3,1,-6,-1,-1,-2,0,0|37,10,2,-2,3,0,3,2,0,3,-3,2,-4,-1,-1,-2,0,0\u25B214,-4,1,0,90|27,-3,1,1,0|27,-1,1,1,0|27,1,1,1,0";
levelarray[levelarray.length - 1].tutorial = ["Welcome to your second training lesson.", "On this level you will find 'directional coins', which can only be collected if you are pointing in the same direction as the coin.", "For example, if you find a directional coin which is pointing down, you must collect that coin while being upside down", "Just like before, directional coins can also be included in combos", "Good luck!"];
levelarray[levelarray.length] = [];
levelarray[levelarray.length - 1].name = "3. Training 3";
levelarray[levelarray.length - 1].mapdata = "pojuko1.00,0,4,58,-7,4,3700\u25B2-4,5,2,-1,4,0,4,2,4,0,4,0,1,2,-1,2,-4,1,-7,-1,-5,0,-3,-2,0,-2,0,0|6,-10,10,0,-5,-3,8,5|8,-3,0,-7,-1,0,0,7,9,6|15,-10,0,9,-1,0,0,-9,9,6|20,9,2,-2,5,0,3,2,4,0,10,-3,2,0,2,2,-1,2,-5,3,-9,0,-5,-1,-5,1,-3,-2,0,0|48,2,8,-4,3,0,1,1,0,1,-4,4,-4,1,-2,0,-2,-2,0,0\u25B211,-8,0,0";
levelarray[levelarray.length - 1].tutorial = ["Welcome to your third training lesson.", "To get to the coin on top of that tower, you must jump back and forth from both walls and slowly climb your way up to the coin.", "Good luck!"];
levelarray[levelarray.length] = [];
levelarray[levelarray.length - 1].name = "4. Baby steps";
levelarray[levelarray.length - 1].mapdata = "pojuko1.00,4,3,52,6,3,1400\u25B23,3,3,0,2,1,0,2,-2,1,-4,-1,-1,-2,0,0|12,6,2,-1,4,0,2,2,-1,2,-3,1,-3,-1,0,0|23,10,3,-1,4,0,2,2,-1,2,-4,0,-3,-1,0,0|35,14,2,-1,4,0,2,2,-1,2,-4,1,-2,-2,0,0|47,12,3,-1,4,0,2,2,-2,2,-4,0,-3,-1,0,0\u25B211,1,0,0|23,4,0,0|35,8,0,0";
levelarray[levelarray.length] = [];
levelarray[levelarray.length - 1].name = "5. Somersaults";
levelarray[levelarray.length - 1].mapdata = "pojuko1.00,0,5,49,6,1,1600\u25B2-1,5,3,0,2,1,0,2,-2,1,-3,0,-2,-1,0,-2,0,0|10,9,0,1,1,2,3,1,2,-1,1,-2,0,-1,-1,-1,-4,0,0,0|17,9,7,-1,0,1,-7,1,9,6|4,6,6,3,0,1,-6,-3,9,6|24,8,0,1,2,2,4,0,1,-2,0,-1,-1,-1,-5,0,0,0|31,8,0,1,5,1,0,-1,9,6|46,11,-5,-1,0,1,5,1,9,6|46,11,1,-1,4,0,1,1,0,2,-2,1,-2,0,-2,-2,0,0\u25B214,2,1,0,90|28,0,1,0,90|39,3,1,0,90";
levelarray[levelarray.length] = [];
levelarray[levelarray.length - 1].name = "6. Molehill";
levelarray[levelarray.length - 1].mapdata = "pojuko1.00,0,2,16,-21,7,900\u25B2-3,2,6,0,2,1,0,2,-2,1,-4,1,-4,-2,0,-2,2,1|8,-6,-2,0,-2,1,0,2,2,1,3,0,2,-1,0,-2,2,1|5,-14,4,1,1,1,-1,1,-4,0,-2,-2,1,-1,2,1|-5,-12,-1,0,-1,3,1,3,3,1,1,-1,0,-2,-2,-2,2,1|14,-16,1,1,3,1,4,-1,0,-3,-1,-1,-3,1,-1,1,-2,0,2,1|9,-13,5,-3,1,1,-5,3,9,6\u25B21,-4,0,0|2,-9,0,0|0,-14,0,0";
levelarray[levelarray.length] = [];
levelarray[levelarray.length - 1].name = "7. Going down";
levelarray[levelarray.length - 1].mapdata = "pojuko1.00,0,-19,4,6,3,1500\u25B2-3,-17,1,2,3,0,2,1,2,-3,0,-1,-1,-1,-6,0,0,0|9,-13,2,-1,4,0,2,1,0,2,-2,2,-3,-1,-2,0,-1,-2,0,0|4,-8,3,0,1,2,-2,1,-3,-1,0,-1,0,0|-1,-2,3,0,1,2,-1,1,-3,0,-1,-1,0,0|-3,7,-3,0,-1,2,2,2,2,-1,1,-2,0,0|3,10,-2,1,0,2,3,1,2,-1,0,-2,-1,-1,0,0\u25B23,-23,0,0|6,-12,0,0|0,-7,0,0|-5,3,0,0|12,-19,0,0";
levelarray[levelarray.length] = [];
levelarray[levelarray.length - 1].name = "8. A bumpy ride";
levelarray[levelarray.length - 1].mapdata = "pojuko1.00,0,0,23,-24,4,1300\u25B2-1,0,3,0,2,1,0,2,-1,1,-3,-1,-3,1,-1,-1,0,-2,0,0|6,-4,0,1,2,1,3,-1,1,-3,-2,-1,-1,2,0,0|2,-8,-2,-2,-3,0,-2,2,0,1,3,1,2,0,0,0|9,-13,3,-1,3,0,2,1,0,2,-2,1,-3,0,-2,-1,0,0|21,-19,-1,2,1,1,4,1,2,-2,-1,-2,0,0\u25B27,-8,0,0|5,-16,0,0|17,-21,0,0";
levelarray[levelarray.length] = [];
levelarray[levelarray.length - 1].name = "9. The tower";
levelarray[levelarray.length - 1].mapdata = "pojuko1.00,0,0,0,-23,1,1200\u25B2-6,0,12,0,1,2,-1,2,-4,1,-4,-2,-3,0,-2,-2,0,0|-5,0,0,-25,1,0,0,25,9,6|4,0,0,-25,1,0,0,25,9,6|-7,-25,14,0,-7,-5,9,6\u25B20,-8,0,0|0,-13,0,0|0,-18,0,0";
levelarray[levelarray.length] = [];
levelarray[levelarray.length - 1].name = "10. Cliffhanger";
levelarray[levelarray.length - 1].mapdata = "pojuko1.00,-4,1,2,-33,9,1800\u25B2-7,2,2,-1,2,0,3,3,1,3,-1,1,-3,0,-3,-2,0,2|6,0,2,-3,2,-1,3,1,0,2,-2,3,-3,0,0,2|0,-5,-1,-4,-2,-2,-2,1,-1,3,1,2,3,1,0,2|7,-11,3,-4,2,-1,2,1,1,3,-1,2,-3,1,-3,0,0,2|-2,-21,2,0,2,4,-2,2,-2,0,-2,-2,0,-3,0,2|11,-23,2,-4,2,-1,1,2,0,3,-3,2,-2,-1,0,2|0,-28,3,0,2,1,0,1,-2,1,-4,-1,0,-1,0,2\u25B22,-10,0,3|4,-12,0,3|3,-2,0,0|6,-18,0,0|8,-24,0,0";
levelarray[levelarray.length] = [];
levelarray[levelarray.length - 1].name = "11. Tumbledown";
levelarray[levelarray.length - 1].mapdata = "pojuko1.00,-1,3,-26,23,10,1200\u25B2-4,3,5,0,2,1,0,3,-4,2,-2,-1,-3,-1,-1,-2,0,-1,0,0|-16,11,3,-1,4,1,5,3,1,3,-1,1,-4,0,-4,-2,-3,-3,0,0|-2,22,4,-2,1,1,0,3,-2,1,-3,-1,0,0|-12,26,5,-1,2,1,0,2,-4,2,-3,-1,-1,-2,0,0|-24,28,2,-1,4,0,1,1,1,2,-2,2,-5,0,-2,-2,0,0\u25B2-15,21,1,2,90|-9,-2,1,0,90|0,15,0,0";
levelarray[levelarray.length] = [];
levelarray[levelarray.length - 1].name = "12. Heights";
levelarray[levelarray.length - 1].mapdata = "pojuko1.00,0,2,-61,28,1,2300\u25B2-3,3,2,-1,2,0,2,1,0,1,-3,2,-3,-2,0,0|-14,7,2,-1,2,0,2,1,0,1,-3,2,-3,-2,0,0|-22,20,2,0,2,1,0,1,-3,2,-3,-2,0,-1,0,0|-38,23,2,0,2,1,0,1,-3,2,-3,-2,0,-1,0,0|-50,34,2,0,2,1,0,1,-3,2,-3,-2,0,-1,0,0|-62,32,2,0,2,1,0,1,-3,2,-3,-2,0,-1,0,0\u25B2-7,-3,1,0,90|-16,2,1,1,-119|-20,5,1,1,-96|-21,10,1,1,-41|-28,14,1,2,114|-30,12,1,2,90|-32,14,1,2,45|-42,19,0,3|-46,20,0,3|-48,24,0,3";
levelarray[levelarray.length] = [];
levelarray[levelarray.length - 1].name = "13. Bridge out";
levelarray[levelarray.length - 1].mapdata = "pojuko1.00,0,2,115,13,1,3500\u25B2-2,2,3,0,3,2,0,2,-3,1,-2,-2,-3,-1,0,-1,0,0|9,5,0,1,6,1,0,-1,7,6|29,4,0,1,5,1,0,-1,7,6|19,5,0,1,6,-1,0,-1,7,6|39,5,0,1,6,1,0,-1,7,6|50,6,0,1,6,0,0,-1,7,6|60,5,0,1,7,-1,0,-1,7,6|72,4,0,1,7,1,0,-1,7,6|99,15,6,1,0,1,-6,-1,7,6|110,18,3,-1,4,0,3,2,-1,2,-3,1,-3,-2,-2,0,0,0|86,6,0,1,7,2,0,-1,7,6\u25B270,-1,0,0|58,1,0,0|48,2,0,0|37,0,0,0|27,-1,0,0|7,0,0,0|17,0,0,0|98,5,0,0|84,-1,0,0";
levelarray[levelarray.length] = [];
levelarray[levelarray.length - 1].name = "14. Longjump";
levelarray[levelarray.length - 1].mapdata = "pojuko1.00,0,0,80,26,5,3000\u25B2-3,0,5,0,2,2,0,2,-2,2,-4,0,-2,-2,0,-2,0,0|17,6,6,-1,3,0,4,3,0,3,-2,1,-4,-1,-3,-2,-3,0,-2,-2,0,0|44,11,5,-1,3,0,3,3,0,2,-3,1,-4,-1,-4,-1,-1,-1,0,0|70,22,0,-13,1,-1,1,0,1,1,0,13,-1,1,-1,0,8,6|48,23,4,0,2,1,0,2,-3,1,-3,0,-1,-1,0,-2,0,0|70,32,0,1,2,1,3,2,4,0,3,-2,0,-1,-2,-2,-6,0,0,0\u25B211,-1,0,0|38,5,0,0|63,12,0,0|57,22,0,0|72,28,0,0";
levelarray[levelarray.length] = [];
levelarray[levelarray.length - 1].name = "15. Crossover";
levelarray[levelarray.length - 1].mapdata = "pojuko1.00,1,3,26,-41,7,3000\u25B2-1,3,4,0,2,2,0,2,-2,1,-3,0,-2,-2,0,-2,2,1|8,-1,3,-1,4,0,2,2,0,2,-2,1,-5,0,-2,-2,2,1|2,-9,2,-1,3,0,3,1,0,1,-4,1,-3,0,2,1|20,-28,1,2,3,0,3,1,3,-2,0,-3,-3,-2,-4,1,2,1|15,-36,0,-8,-1,0,0,8,9,6|6,-21,0,1,1,1,3,0,3,-1,0,-1,-2,-2,-2,0,2,1|0,-15,-2,-9,-1,0,2,9,9,6\u25B25,-2,0,0|16,-28,0,0|5,-23,0,0|4,-15,0,0";
levelarray[levelarray.length] = [];
levelarray[levelarray.length - 1].name = "16. Hideyhole";
levelarray[levelarray.length - 1].mapdata = "pojuko1.00,4,5,15,28,1,2500\u25B2-7,5,2,2,-2,2,-2,0,-2,-1,-1,-2,1,-1,0,0|-5,-3,-2,1,0,2,2,1,4,0,2,-1,0,-2,-1,-1,0,0|-2,1,1,4,1,0,-1,-4,9,6|-3,7,2,-2,6,0,2,1,0,2,-2,1,-3,1,-3,-1,0,0|7,14,-2,2,0,3,3,1,3,-1,1,-3,-3,-2,0,0|7,6,1,0,0,8,-1,0,9,6|-7,20,0,-11,-1,0,0,11,9,6|0,20,0,10,1,0,0,-10,9,6|0,34,5,0,2,1,1,2,-1,2,-3,1,-5,-1,-1,-3,0,0|13,32,-2,1,0,1,2,2,4,0,2,-1,0,-2,-2,-1,0,0|4,16,0,12,1,0,0,-12,9,6|-7,18,4,0,3,2,0,2,-2,1,-3,0,-2,-3,0,0\u25B2-4,10,0,1|-4,13,0,1|1,15,1,2,34|3,13,1,2,90|5,11,1,2,131|2,21,0,3|3,23,0,3|2,25,0,3|3,27,0,3|2,29,0,3|-4,7,0,1";
levelarray[levelarray.length] = [];
levelarray[levelarray.length - 1].name = "17. New tricks";
levelarray[levelarray.length - 1].mapdata = "pojuko1.00,-1,3,18,20,11,1800\u25B2-4,4,2,-1,5,0,2,1,-1,3,-3,1,-4,-2,0,0|-10,0,-1,1,-2,4,0,2,2,1,1,-1,2,-5,-1,-2,0,0|11,14,1,-1,5,0,2,1,0,2,-4,2,-3,-1,-1,-2,0,0|26,11,-2,1,0,2,2,3,0,3,2,2,3,0,1,-4,0,-3,-1,-3,-3,-1,0,0|-4,10,6,3,1,1,0,2,-3,1,-4,-1,-2,-2,0,-2,0,0\u25B2-5,7,0,2|-3,8,0,2|-1,9,0,2|1,10,0,2|10,6,1,1,90|7,8,1,1,41|13,8,1,1,146";
levelarray[levelarray.length] = [];
levelarray[levelarray.length - 1].name = "18. Funbox";
levelarray[levelarray.length - 1].mapdata = "pojuko1.00,2,13,21,-2,12,3500\u25B2-4,13,0,-9,-1,-1,0,11,9,6|-4,13,-1,1,12,0,1,-1,9,6|-4,9,0,1,3,3,1,0,9,6|15,4,1,-1,0,24,-1,0,9,6|-4,4,-1,-1,21,0,-1,1,9,6|7,14,0,5,1,0,0,-6,9,6|2,26,0,-3,-3,0,0,3,9,6|-1,14,0,3,3,0,0,-3,9,6|7,26,0,1,-18,0,1,-1,9,6|-10,26,0,-30,-1,-1,0,32,9,6|-10,26,0,-3,3,0,0,3,9,6|-11,-5,27,0,0,1,-26,0,9,6|5,3,0,-3,3,0,0,3,9,6|-3,3,1,-1,2,1,9,6\u25B23,8,0,1|6,7,0,1|9,7,0,1|12,9,0,1|2,19,1,2,142|-1,19,1,2,32|4,21,0,2|-3,21,0,2|-7,11,0,0|-8,8,0,0|-7,5,0,0|-8,2,0,0|-8,14,0,0|3,-2,0,3|10,-2,0,3";
levelarray[levelarray.length] = [];
levelarray[levelarray.length - 1].name = "19. Tight squeezes";
levelarray[levelarray.length - 1].mapdata = "pojuko1.00,-9,12,30,44,5,2000\u25B22,7,-2,0,-1,-1,0,-2,2,-1,2,1,0,2,6,5|0,11,2,0,1,1,0,2,-2,1,-2,-1,0,-2,6,5|-10,12,3,0,2,1,0,2,-2,1,-3,0,-3,-2,0,-1,0,0|8,12,0,2,2,1,2,-1,0,-2,-1,-1,-2,0,6,5|1,25,3,-1,5,0,3,2,0,2,-3,1,-6,0,-2,-2,0,0|17,23,-2,0,0,1,2,0,6,5|17,21,0,-1,-2,0,0,1,6,5|22,28,4,0,4,1,1,2,-2,3,-2,0,-2,-2,-3,-1,-2,-1,0,-1,0,0|44,30,-1,1,-1,2,0,3,1,5,-1,3,0,4,1,2,2,0,1,-2,0,-5,-1,-4,0,-4,1,-2,0,-2,0,0\u25B21,9,0,1|5,13,0,1|16,22,0,2|13,22,0,2|19,22,0,2|40,34,0,3|40,36,0,3|40,38,0,3|40,40,0,3|40,32,0,3";
levelarray[levelarray.length] = [];
levelarray[levelarray.length - 1].name = "20. The gauntlet";
levelarray[levelarray.length - 1].mapdata = "pojuko1.00,0,4,1,75,6,4000\u25B2-3,16,0,-1,2,-1,2,0,2,2,0,2,-1,2,-2,0,-1,-2,0,0|-11,2,0,-2,-2,0,0,2,9,6|2,4,-4,0,-2,1,0,1,3,1,2,1,8,3,0,-6,0,0|9,5,1,-1,1,0,1,1,0,5,5,5,0,5,-1,1,-1,0,-1,-1,0,-4,-5,-5,9,6|0,25,2,0,0,2,-2,0,9,6|-11,34,0,-9,1,-1,1,0,1,1,0,8,3,3,6,0,1,1,0,1,-1,1,-7,0,9,6|6,32,0,1,1,1,1,0,1,-1,0,-1,-1,-1,-1,0,9,6|-7,46,1,-1,6,0,1,1,0,1,-1,1,-6,0,-1,-1,9,6|-9,56,0,-1,1,-1,6,0,1,1,0,1,-1,1,-6,0,9,6|4,53,4,2,0,1,-4,-2,9,6|9,61,1,-1,4,0,1,1,-1,2,-3,0,-2,-1,0,0|9,61,-1,0,0,15,1,0,9,6|2,61,0,11,-8,0,0,-1,7,0,0,-10,9,6|0,45,1,1,19,3,0,-1,9,6\u25B2-5,26,0,4|-5,28,0,4|-5,30,0,4|4,51,1,5,-37|6,52,1,5,-37|8,53,1,5,-37|10,54,1,5,-37|11,56,1,5,-37|-8,4,0,1|-6,7,0,1|-4,10,0,1|6,14,0,2|9,15,0,2|11,17,0,2|-3,20,0,3|-5,18,0,3|-7,22,0,3|2,42,0,6|5,37,0,6";
gamestatus = _parent.gamestatus;
listitemhover = function () {
this.inner.gotoAndStop(2);
};
listitemoff = function () {
this.inner.gotoAndStop(1);
};
listitempress = function () {
deletenav(this);
careof.inner.gotoAndStop(2);
_parent.curlevel = this.id;
_parent.userfrom = "campaign";
_parent.importmap = levelarray[this.id].mapdata;
if (levelarray[this.id].tutorial != undefined) {
_parent.importtutorial = levelarray[this.id].tutorial;
} else if (_parent.importtutorial != undefined) {
delete _parent.importtutorial;
}
playsound("bpress");
_parent.fadeto("game");
};
deletenav = function () {
i = 0;
delete b1.onPress;
while ((i = 0)) {
reflistitem = eval ("listholder.listitem" + i);
delete reflistitem.onPress;
delete reflistitem.onRollOut;
delete reflistitem.onRollOver;
reflistitem.inner.gotoAndStop(1);
}
};
attachMovie("listholder", "listholder", 1);
listholder._x = 150;
listholder._y = 240;
while (i < 20) {
newListitem = listholder.attachMovie("listitem", "listitem" + i, i);
newListitem.id = i;
newListitem.gotoAndStop(Number(gamestatus.charAt(i)) + 1);
newListitem.completionstatus = Number(gamestatus.charAt(i));
if (newListitem.completionstatus > 0) {
newListitem.onRollOver = listitemhover;
newListitem.onRollOut = listitemoff;
newListitem.onPress = listitempress;
}
newListitem._x = 0;
newListitem._y = (22 * i) - 209;
newListitem.inner.displaytext = levelarray[i].name;
i++;
}
b1.onPress = function () {
_parent.fadeto("menu");
playsound("bpress");
};
Symbol 236 MovieClip [gameholder] Frame 6
b1.onPress = function () {
_parent.fadeto("notes");
playsound("bpress");
cancelbuttons();
};
b2.onPress = function () {
_parent.fadeto("mapeditintro");
playsound("bpress");
cancelbuttons();
};
b3.onPress = function () {
_parent.fadeto("mapload");
playsound("bpress");
cancelbuttons();
};
b4.onPress = function () {
_parent.gamestatus = "11110000000000000000";
_parent.winmode = 0;
_parent.savegame();
playsound("bpress");
};
cancelbuttons = function () {
delete b1.onPress;
delete b2.onPress;
delete b3.onPress;
delete b4.onPress;
};
delete _parent.importmap;
Symbol 236 MovieClip [gameholder] Frame 7
b1.onPress = function () {
getURL ("http://www.thewasteofwebspace.newgrounds.com", "_blank");
};
Symbol 236 MovieClip [gameholder] Frame 8
b1.onPress = function () {
_parent.fadeto("game");
playsound("bpress");
killnav();
};
b1._visible = false;
mapdataholder.onChanged = function () {
test = pastedmapdata.split("\u25B2");
test = test[0].split(",");
trace(test[0]);
if (test[0] == "pojuko1.00") {
_parent.importmap = pastedmapdata;
_parent.userfrom = "custom";
pastedmapdata = "Map loaded. Press 'LOAD IT' to continue.";
b1._visible = true;
}
};
b2.onPress = function () {
_parent.fadeto("menu");
playsound("bpress");
killnav();
};
killnav = function () {
delete b1.onPress;
delete b2.onPress;
};
Symbol 236 MovieClip [gameholder] Frame 9
b1.onPress = function () {
_parent.fadeto("mapedit");
playsound("bpress");
killnav();
};
b2.onPress = function () {
_parent.fadeto("menu");
playsound("bpress");
killnav();
};
killnav = function () {
delete b1.onPress;
delete b2.onPress;
};
Symbol 236 MovieClip [gameholder] Frame 10
b1.onPress = function () {
if (blocknav == false) {
_parent.fadeto("levelselect");
killnav();
playsound("bpress");
}
};
escpress = function () {
if (blocknav == false) {
_parent.fadeto("menu");
killnav();
}
};
killnav = function () {
blocknav = true;
};
blocknav = false;
Symbol 236 MovieClip [gameholder] Frame 11
if (_parent.wintype == 0) {
wintext = "YOU JUST WON POJUKO. THE VOID IN YOUR LIFE HAS NOW BEEN FILLED WITH THE JOY THAT COMES WITH COMPLETING THIS GAME. HOWEVER, TO EXPIERENCE TRUE HAPPINESS AND FULFILMENT, YOU MUST NOW GO AND BEAT ALL OF THE LEVELS WITHIN THE TIME LIMITS. THERE MIGHT BE A PRIZE OR SOMETHING TOO... \r\rBUT WELL DONE ANYWAY...";
} else if (_parent.wintype == 1) {
wintext = "YOU HAVE JUST BEATEN EVERY LEVEL WITHIN IT'S TIME LIMIT. NOW, ALL OF YOUR FRIENDS MUST ADDRESS YOU BY YOUR NEW TITLE: 'THE MOFO SLOPEMASTER'\r\rALSO, YOUR CHARACTER JUST GOT A MAKEOVER. GO PLAY ANOTHER LEVEL TO SEE IT. WELL DONE.";
} else {
wintext = "YOU JUST WON POJUKO, AND ALL WITHIN THE EACH LEVELS SPECIFIED TIME LIMIT. NOW, ALL OF YOUR FRIENDS MUST ADDRESS YOU BY YOUR NEW TITLE: 'THE MOFO SLOPEMASTER'\r\rALSO, YOUR CHARACTER JUST GOT A MAKEOVER. GO PLAY ANOTHER LEVEL TO SEE IT. WELL DONE.";
}
b1.onPress = function () {
if (blocknav == false) {
playsound("bpress");
_parent.fadeto("levelselect");
killnav();
}
};
escpress = function () {
if (blocknav == false) {
_parent.fadeto("menu");
killnav();
}
};
killnav = function () {
blocknav = true;
};
blocknav = false;
Symbol 247 MovieClip [coingeteffect] Frame 1
i = 1;
while (i <= 5) {
newglitter = eval ("g" + i);
newglitter.onEnterFrame = _parent._parent.glitterframe;
newglitter.fallspeed = random(15) / 10;
newglitter._x = random(31) - 15;
newglitter._y = random(31) - 15;
newglitter._xscale = random(50) + 50;
newglitter._yscale = newglitter._xscale;
newglitter.gotoAndPlay(random(4) + 1);
newglitter.life = 0;
newglitter.lifespan = random(15) + 3;
i++;
}
Symbol 247 MovieClip [coingeteffect] Frame 21
removeMovieClip(this);
Symbol 270 MovieClip [lca] Frame 1
createEmptyMovieClip("stargen", 1);
stargen.waittime = 5;
i = 0;
stargenframe = function () {
this.waittime--;
if (stargen.waittime <= 0) {
newstar = this.attachMovie("star", "star" + i, i);
newstar.onEnterFrame = starframe;
newstar._x = random(400) - 200;
newstar._y = random(100) - 50;
newstar._xscale = random(50) + 10;
newstar._yscale = newstar._xscale;
newstar._alpha = 0;
newstar.spinspeed = (random(50) + 10) / 10;
newstar.life = 0;
stargen = 5;
i++;
if (i > 20) {
i = 0;
}
}
};
stargen.onEnterFrame = stargenframe;
starframe = function () {
this._rotation = this._rotation + this.spinspeed;
this.life = this.life + 5;
if (this.life < 50) {
this._alpha = this.life * 2;
} else {
this._alpha = 100 - (this.life * 2);
if (this.life >= 100) {
removeMovieClip(this);
}
}
};
Symbol 270 MovieClip [lca] Frame 32
_parent.timertrumpet();
Symbol 270 MovieClip [lca] Frame 70
stop();
_parent.leavegame();
Symbol 273 MovieClip [masterfader] Frame 20
stop();
_parent.fadeoutcompleted();
Symbol 273 MovieClip [masterfader] Frame 42
gotoAndStop (1);
Symbol 278 MovieClip Frame 1
stop();
Symbol 279 MovieClip [listitem] Frame 1
stop();
Symbol 282 MovieClip [reg_coin] Frame 1
stop();
Symbol 285 MovieClip Frame 1
stop();
Symbol 311 Button
on (press) {
_root.game.dragging = true;
startDrag (this, true);
}
on (release, releaseOutside) {
_root.game.dragging = false;
stopDrag();
}
Symbol 317 MovieClip Frame 1
stop();
Instance of Symbol 317 MovieClip "meter" in Symbol 323 MovieClip Frame 1
onClipEvent (load) {
highfps = 0;
}
onClipEvent (enterFrame) {
nowfps = _parent._parent.f;
this._yscale = (nowfps * 100) / 33;
if (nowfps > 28) {
this.gotoAndStop(1);
} else {
this.gotoAndStop(2);
}
}
Symbol 337 MovieClip Frame 1
stop();