Frame 1
stop();
Frame 6
function bye() {
onKeyDown = (onMouseMove = (onMouseUp = (onMouseDown = (onEnterFrame = null))));
for (i in _root) {
if (i != "intro") {
_root[i].removeMovieClip();
}
}
gotoAndStop ("Menu");
}
function playanyway(pp) {
MENUUP = false;
firsttime = false;
STUPIDMENU.removeMovieClip();
if (pp) {
gotoAndStop ("Howtoplay");
} else {
gotoAndStop ("Play");
}
}
function firsttimer() {
var _local1 = (STUPIDMENU = attachMovie("WTFU", "g" + getNextHighestDepth(), getNextHighestDepth()));
_local1._x = 275;
_local1._y = 200;
MENUUP = true;
}
my_cm = new ContextMenu();
my_cm.builtInItems.play = false;
my_cm.builtInItems.loop = false;
my_cm.builtInItems.rewind = false;
my_cm.builtInItems.forward_back = false;
my_cm.builtInItems.print = false;
menu = my_cm;
MovieClip.prototype.menu = my_cm;
Custom = false;
if (firsttime == undefined) {
firsttime = true;
}
_quality = "MEDIUM";
q = "MEDIUM";
frame.swapDepths(getNextHighestDepth());
if (MASTERVOL == undefined) {
MASTERVOL = 20;
}
Custom = false;
Object.prototype.playSound = function (linkage, vol, loop, fade) {
soundCount = (soundCount + 1) || 1;
var s = ((_root["sound_" + soundCount] = new Sound()));
if ((linkage == music) or (linkage == gameMusic)) {
bgm = s;
if (!musicon) {
return(undefined);
}
}
s.attachSound(linkage);
s.o = vol;
s.setVolume(vol);
s.r = 0;
if (loop) {
s.onSoundComplete = function () {
s.start(0, 1);
};
}
s.start(0, 1);
return(s);
};
MovieClip.prototype.bar = function (a, b, c) {
this.b = a;
this.m = c;
this.v = b;
this._x = a._x + ((b / c) * 166);
this.onPress = function () {
this.startDrag(false, this.b._x, this.b._y, this.b._x, this.b._y);
};
this.onRelease = (this.onReleaseOutside = function () {
this.stopDrag();
});
this.onEnterFrame = function () {
this.v = Math.round(((this._x - this.b._x) * this.m) / 100);
};
};
gameMusic.stop();
gameMusic = null;
if (!bgMusic) {
bgMusic = playSound("menu_music", MASTERVOL, true);
}
function act(n) {
if (MENUUP) {
return(undefined);
}
switch (n) {
case 0 :
if (!firsttime) {
gotoAndStop ("Play");
} else {
firsttimer();
}
break;
case 1 :
gotoAndStop ("Howtoplay");
break;
case 2 :
gotoAndStop ("Edit");
break;
case 3 :
gotoAndStop ("Options");
break;
case 4 :
gotoAndStop ("Custom");
break;
case 5 :
gotoAndStop ("Credits");
break;
case 6 :
getURL ("http://armorgames.com", "_blank");
}
}
stop();
Frame 11
function str(len, mc) {
this.col = STRCOLOR;
this.mc = mc;
this.LEN = len;
this.PTS = new Array();
this.dead = false;
this.x = (this.y = 0);
i = 0;
while (i < this.LEN) {
this.PTS.push(new flash.geom.Point(0, 0));
i++;
}
}
function parseLevel(l) {
parts = l.split("|");
var lvlName = parts[0];
var auth = parts[1];
var _local1 = parts[2].split(",");
var _local5 = parts[3].split(",");
var _local3 = parts[4].split(",");
var _local4 = parts[5].split(",");
var _local6 = new flash.display.BitmapData(10, 10);
LEVEL = createEmptyMovieClip("lvl" + getNextHighestDepth(), getNextHighestDepth());
bmpd = flash.display.BitmapData.loadBitmap("bg");
i = 0;
while (i < _local1.length) {
_local1[i] = Number(_local1[i]);
i++;
}
i = 0;
while (i < _local1.length) {
LEVEL.beginFill(WALLCOLOR, 100);
LEVEL.moveTo(_local1[i], _local1[i + 1]);
LEVEL.lineTo(_local1[i], _local1[i + 1] + _local1[i + 3]);
LEVEL.lineTo(_local1[i] + _local1[i + 2], _local1[i + 1] + _local1[i + 3]);
LEVEL.lineTo(_local1[i] + _local1[i + 2], _local1[i + 1]);
LEVEL.lineTo(_local1[i], _local1[i + 1]);
LEVEL.endFill();
i = i + 4;
}
LEVEL.filters = [new flash.filters.BevelFilter(5, 45, 16777215, 0.3, 0, 0.8, 2, 2)];
LEVEL.cacheAsBitmap = true;
SPAWN = attachMovie("Start", "ss" + getNextHighestDepth(), getNextHighestDepth());
SPAWN._x = (SPAWN.x = Number(_local5[0]));
SPAWN._y = (SPAWN.y = Number(_local5[1]));
SPAWN.initSpawn();
EXITS = createEmptyMovieClip("EXITS" + getNextHighestDepth(), getNextHighestDepth());
EXITS.cacheAsBitmap = true;
i = 0;
while (i < _local3.length) {
var _local2 = EXITS.attachMovie("End", "exit" + EXITS.getNextHighestDepth(), EXITS.getNextHighestDepth());
_local2._x = _local3[i];
_local2._y = _local3[i + 1];
i = i + 2;
}
if (_local4) {
SCISSORS = attachMovie("Scissors", "ss" + getNextHighestDepth(), getNextHighestDepth());
SCISSORS._x = (SCISSORS.x = Number(_local4[0]));
SCISSORS._y = (SCISSORS.y = Number(_local4[1]));
}
ffff = setTimeout(function () {
if (auth) {
infogo((lvlName + " by ") + auth);
} else {
infogo(lvlName);
}
}, 1000);
makeGUI();
buildupbars(LASTSLOWMO, SLOWMO, slowmobar);
buildupbars(LASTINVINC, INVINC, invbar);
menu = attachMovie("mmg", "menu", getNextHighestDepth(), {_y:160, _x:628});
transition.swapDepths(getNextHighestDepth());
frame.swapDepths(getNextHighestDepth());
}
function toggleSlow(f) {
if (!f) {
SLOWMO_ON = false;
return(undefined);
}
if (((!SLOWMO_ON) && (SLOWMO > 0)) && (playing)) {
SLOWMO_ON = true;
}
}
function toggleInv(f) {
if (!f) {
INVINC_ON = false;
return(undefined);
}
if (((!INVINC_ON) && (INVINC > 0)) && (playing)) {
INVINC_ON = true;
}
}
function makeBG() {
bg = attachMovie("BackG", "bg", getNextHighestDepth());
frame.swapDepths(getNextHighestDepth());
}
function relocateToSpawn(sc) {
LEVELMID = {x:255 - SPAWN.x, y:180 - SPAWN.y};
if (WON) {
return(undefined);
}
if (sc) {
xo = (LEVELMID.x - (SPAWN._x - SPAWN.x)) / 5;
yo = (LEVELMID.y - (SPAWN._y - SPAWN.y)) / 5;
addLevelCoords(xo, yo);
if ((Math.abs(xo) < 0.1) && (Math.abs(yo) < 0.1)) {
removeMovieClip(hitpoint);
setLevelCoords(LEVELMID.x, LEVELMID.y);
canPlay = true;
}
} else {
setLevelCoords(LEVELMID.x, LEVELMID.y);
}
}
function initLevel() {
if (playing) {
return(undefined);
}
if (!canPlay) {
return(undefined);
}
playing = true;
STRINGMC = createEmptyMovieClip("STRINGMC" + getNextHighestDepth(), getNextHighestDepth());
STRINGMC._x = 275;
STRINGMC._y = 200;
mystr = new str(46, STRINGMC);
onEnterFrame = function () {
toggleSlow(Key.isDown(32));
MAXSPEED = ORIGMAXSPEED;
if (SLOWMO_ON) {
MAXSPEED = ORIGMAXSPEED / 4;
SLOWMO = SLOWMO - 0.075;
if (SLOWMO <= 0) {
SLOWMO = 0;
SLOWMO_ON = false;
}
updatebars(slowmobar, SLOWMO);
}
if (INVINC_ON) {
INVINC = INVINC - 0.1;
if (INVINC <= 0) {
INVINC = 0;
INVINC_ON = false;
}
updatebars(invbar, INVINC);
}
if (!mystr.done) {
mystr.move();
setLevelCoords(mystr.x + LEVELMID.x, mystr.y + LEVELMID.y);
mystr.render();
} else {
relocateToSpawn(true);
}
};
}
function setLevelCoords(x, y) {
bg._x = x / 2;
bg._y = y / 2;
SPAWN._x = (EXITS._x = (LEVEL._x = (SCISSORS._x = x)));
SPAWN._y = (EXITS._y = (LEVEL._y = (SCISSORS._y = y)));
SPAWN._x = SPAWN._x + SPAWN.x;
SPAWN._y = SPAWN._y + SPAWN.y;
SCISSORS._x = SCISSORS._x + SCISSORS.x;
SCISSORS._y = SCISSORS._y + SCISSORS.y;
}
function buildupbars(x, y, t) {
t.gotoAndStop(Math.floor(x));
t.f = setTimeout(function () {
t.onEnterFrame = function () {
if (this._currentframe < Math.floor(y)) {
this.gotoAndStop(this._currentframe + 1);
} else {
this.onEnterFrame = null;
}
};
}, 600);
}
function updatebars(t, y) {
t.gotoAndStop(Math.floor(y));
}
function makeGUI() {
GUI = attachMovie("GUI", "g" + getNextHighestDepth(), getNextHighestDepth());
slowmobar = GUI.slo;
invbar = GUI.inv;
}
function infogo(tx) {
drinkinfo = attachMovie("infoLabel", "g" + getNextHighestDepth(), getNextHighestDepth(), {_x:566, _y:20});
drinkinfo.lab.text = tx;
infoAnim.stop();
infoAnim = new mx.transitions.Tween(drinkinfo, "_x", mx.transitions.easing.Strong.easeOut, drinkinfo._x, 456, 1, true);
}
function toggleMenu() {
if (menu.up) {
menu.up = false;
menuAnim.stop();
menuAnim = new mx.transitions.Tween(menu, "_x", mx.transitions.easing.Strong.easeOut, menu._x, 628, 1, true);
} else {
menuAnim.stop();
menuAnim = new mx.transitions.Tween(menu, "_x", mx.transitions.easing.Strong.easeOut, menu._x, 459, 1, true);
menu.up = true;
}
}
function infoback() {
slowmobar.removeMovieClip();
drinkinfo.removeMovieClip();
}
function addLevelCoords(x, y) {
bg._x = bg._x + (x / 2);
bg._y = bg._y + (y / 2);
SPAWN._x = SPAWN._x + x;
EXITS._x = EXITS._x + x;
LEVEL._x = LEVEL._x + x;
SPAWN._y = SPAWN._y + y;
EXITS._y = EXITS._y + y;
LEVEL._y = LEVEL._y + y;
SCISSORS._x = SCISSORS._x + x;
SCISSORS._y = SCISSORS._y + y;
}
function dist(a, b) {
return(Math.min(flash.geom.Point.distance(a, b) / 5, MAXSPEED));
}
function finishLevel() {
onEnterFrame = undefined;
playing = false;
canPlay = true;
transition = attachMovie("boxes", "transition" + getNexthighestDepth(), getNextHighestDepth());
frame.swapDepths(getNextHighestDepth());
}
function removeLevel() {
LEVEL.removeMovieClip();
SPAWN.removeMovieClip();
EXITS.removeMovieClip();
SCISSORS.removeMovieClip();
menu.removeMovieClip();
}
function quitgame() {
removeLevel();
bye();
}
MAXSPEED = (ORIGMAXSPEED = 5);
STRING_MAXLEN = 4;
GRAV = 0;
WON = false;
SLOWMO = (LASTSLOWMO = 0);
SLOWMO_PER_WIN = 8;
SLOWMO_ON = false;
INVINC = (LASTINVINC = 0);
INVINC_PER_WIN = 2;
INVINC_ON = false;
if (!WALLCOLOR) {
WALLCOLOR = 0;
}
firsttime = false;
bgMusic.stop();
bgMusic = null;
if (!gameMusic) {
gameMusic = playSound("game_music", MASTERVOL, true, true);
}
str.prototype.move = function (ref) {
if (this.dead || (this.notok)) {
return(undefined);
}
ere = Math.atan2(_ymouse - 200, _xmouse - 275);
ex = (mousedown * Math.cos(ere)) * dist(new flash.geom.Point(_xmouse, _ymouse), new flash.geom.Point(275, 200));
ey = (mousedown * Math.sin(ere)) * dist(new flash.geom.Point(_xmouse, _ymouse), new flash.geom.Point(275, 200));
this.PTS[0].x = this.PTS[0].x + ex;
this.PTS[0].y = this.PTS[0].y + ey;
this.x = this.x - ex;
this.y = this.y - ey;
};
str.prototype.destroy = function (transp) {
if (this.done) {
return(undefined);
}
(transp ? ((transp = this.col)) : null);
toggleSlow(false);
this.dead = true;
dester = this;
this.dest = setInterval(function () {
dester.destoryIndex = (dester.destoryIndex - 1) || (dester.LEN);
if (dester.destoryIndex == 1) {
dester.remove();
clearInterval(dester.dest);
if (WON) {
finishLevel();
}
}
dester.mc.clear();
dester.mc.lineStyle(2, (transp ? (transp) : 16711680), 100);
dester.mc.moveTo(0, 0);
i = 1;
while (i < dester.destoryIndex) {
dester.mc.lineTo(dester.PTS[i].x - dester.PTS[0].x, dester.PTS[i].y - dester.PTS[0].y);
i++;
}
}, 10);
};
str.prototype.check = function (r) {
if (LEVEL.hitTest((r.x - this.PTS[0].x) + 275, (r.y - this.PTS[0].y) + 200, true) && (!this.dead)) {
return(true);
}
return(false);
};
str.prototype.checkScissors = function (r) {
if ((SCISSORS.hitTest((r.x - this.PTS[0].x) + 275, (r.y - this.PTS[0].y) + 200, true) && (!this.dead)) && (!SCISSORS.disabled)) {
this.LEN = this.LEN / 2;
SCISSORS.disabled = true;
SCISSORS._alpha = 0;
}
};
str.prototype.checkWin = function (r) {
if (EXITS.hitTest((r.x - this.PTS[0].x) + 275, (r.y - this.PTS[0].y) + 200, true) && (!this.dead)) {
WON = true;
toggleSlow(false);
this.destroy(true);
}
};
MovieClip.prototype.initSpawn = function () {
this.useHandCursor = false;
this.onRelease = initLevel;
};
canPlay = true;
str.prototype.render = function () {
var _local5 = this.mc;
if (this.dead) {
return(undefined);
}
_local5.clear();
_local5.lineStyle(2, this.col, 100);
_local5.moveTo(0, 0);
if (this.check(this.PTS[0])) {
if (!INVINC_ON) {
this.destroy();
SCISSORS.disabled = false;
SCISSORS._alpha = 100;
}
}
this.checkWin(this.PTS[0]);
this.checkScissors(this.PTS[0]);
i = 1;
while (i < this.LEN) {
var _local2 = this.PTS[i];
var _local3 = this.PTS[i - 1];
_local2.y = _local2.y + GRAV;
var _local4 = Math.atan2(_local2.y - _local3.y, _local2.x - _local3.x);
_local2.x = _local3.x + (Math.cos(_local4) * STRING_MAXLEN);
_local2.y = _local3.y + (Math.sin(_local4) * STRING_MAXLEN);
_local5.lineTo(_local2.x - this.PTS[0].x, _local2.y - this.PTS[0].y);
if (this.check(_local2)) {
if (!INVINC_ON) {
this.destroy();
SCISSORS.disabled = false;
SCISSORS._alpha = 100;
}
return(undefined);
}
this.checkWin(_local2);
i++;
}
};
str.prototype.remove = function () {
playing = false;
canPlay = false;
this.mc.removeMovieClip();
this.done = true;
this.removeMovieClip();
this=undefined;//parameter overwritten
};
Object.prototype.makeSwitch = function () {
WON = false;
removeLevel();
level++;
infoback();
LASTSLOWMO = SLOWMO;
LASTINVINC = INVINC;
SLOWMO = SLOWMO + SLOWMO_PER_WIN;
INVINC = INVINC + INVINC_PER_WIN;
if (level == levels.length) {
bye();
return(undefined);
}
if (Custom) {
bye();
return(undefined);
}
parseLevel(levels[level]);
relocateToSpawn();
};
levels = [];
levels[0] = "Straightaway||190,50,10,240,240,50,10,240,200,40,50,10,190,40,20,10,190,290,60,10|200,50|200,250";
levels[1] = "Easy||140,80,10,150,140,80,60,10,140,220,-130,10,10,230,10,50,190,80,10,150,190,220,130,10,10,270,310,10,320,220,10,60|150,90|20,230,280,230";
levels[2] = "Checkerboard||110,40,280,10,110,40,10,270,180,110,40,40,130,160,40,40,180,210,40,40,130,260,40,40,230,60,40,40,230,160,40,40,280,110,40,40,280,210,40,40,330,60,40,40,380,50,10,260,390,310,-280,10,330,260,40,40,90,20,10,320,90,330,320,10,400,330,10,-310,400,20,-310,10|130,60|230,260,330,160";
levels[3] = "Octodome||250,120,40,-30,250,120,40,10,200,80,140,10,340,90,10,10,350,100,10,10,360,110,10,10,370,120,10,10,380,130,10,10,390,140,10,10,400,150,10,10,410,280,10,-120,410,280,-10,10,400,290,-10,10,390,300,-10,10,380,310,-10,10,360,320,10,10,350,330,10,10,340,340,-140,10,330,340,20,10,190,90,10,10,180,110,10,-10,170,110,10,10,160,120,10,10,150,140,10,-10,140,150,10,-10,130,160,10,-10,120,160,10,110,120,270,10,10,200,340,-10,10,180,330,10,10,170,320,10,10,160,310,10,10,150,300,10,10,140,290,10,10,130,280,10,10,180,160,170,120,250,120,10,50,280,110,10,50,180,210,-30,10,180,240,-30,-10,350,210,40,10,350,240,40,-10,240,310,10,-30,290,280,10,30|290,90|210,90|380,170";
levels[4] = "Two-Way Road||140,80,320,10,460,80,10,200,140,80,10,60,140,130,280,10,410,140,10,20,410,150,-290,10,120,150,10,-70,120,80,-50,10,70,80,10,120,70,190,10,10,70,200,350,10,410,210,10,150,460,270,10,40,470,300,20,10,480,300,10,-40,480,250,60,10,530,260,10,90,410,350,130,10|150,90|80,90,490,260";
levels[5] = "Easy Street||0,140,550,10,540,140,10,-40,540,100,460,10,0,150,10,50,540,240,460,10,570,160,410,30,620,100,10,30,620,240,10,-20,800,240,10,-20,800,110,10,20,930,150,10,50,700,150,10,50,990,250,80,-10,1060,240,10,-190,1060,190,-50,50,990,100,30,10,1060,50,-190,10,1020,50,10,-30,1020,20,-220,10,800,30,10,30,800,50,-30,10,770,60,10,10,770,60,-30,10,740,60,10,20,740,70,-230,10,510,70,10,30,520,90,-190,10,330,90,-30,10,300,100,10,40,10,190,540,10,540,190,10,50|10,150|310,100|990,30";
levels[6] = "Quick Turns|Revenge|70,30,40,10,70,80,40,10,60,30,10,60,450,50,60,10,500,50,10,50,240,330,10,60,240,380,60,10,290,330,10,60,100,30,100,10,190,30,10,160,110,80,30,10,130,90,10,120,130,200,10,10,130,200,10,20,140,220,-10,30,130,240,80,10,190,180,100,10,240,240,10,10,240,190,10,20,240,220,10,30,200,240,-10,90,190,330,60,-10,250,240,80,10,290,280,10,50,290,280,40,10,330,240,-10,40,240,250,10,30,240,270,20,10,250,270,10,20,450,60,10,40,500,90,10,20,290,180,100,10,300,210,10,30,300,210,40,10,330,210,20,10,340,210,10,80,340,280,10,50,340,320,60,10,390,180,10,100,390,270,70,10,450,90,10,190,390,320,120,10,500,110,10,220,460,270,10,10,490,270,10,10,460,240,10,10,490,240,10,10,460,210,10,10,490,210,10,10,460,100,10,170,490,100,20,180,490,270,10,50|70,40|250,340,460,60|150,130";
levels[7] = "Fit in||210,80,-60,180,100,70,10,210,110,60,160,10,270,70,-10,210,100,270,160,10,250,190,10,10,250,140,10,10,260,150,-10,40,220,110,10,10,220,220,10,10|110,150|210,150|220,250";
levels[8] = "Get Through||220,180,10,40,270,220,-90,10,270,170,-90,10,180,220,10,50,180,170,10,-40,160,130,10,140|230,180|180,180";
levels[9] = "Get Around||220,180,10,40,180,170,90,10,180,220,90,10,180,170,10,-90,160,80,10,240,180,220,10,100,270,230,-10,90,260,170,10,-90,300,80,10,240,260,310,-80,10,260,80,-70,10|230,180|180,180";
levels[10] = "Bridged|Revenge|50,40,10,50,50,40,50,10,100,40,10,50,50,80,-10,10,40,90,10,70,110,80,10,80,40,150,10,140,110,150,10,80,120,230,10,10,130,240,10,10,140,250,10,10,150,260,10,10,160,270,10,10,180,290,10,10,40,280,70,10,100,290,10,50,100,330,110,10,190,300,10,10,200,310,10,10,210,320,10,10,200,330,20,10,150,250,80,10,190,300,60,10,240,300,10,60,230,250,130,10,310,250,10,20,300,270,10,10,290,280,10,10,300,290,10,10,310,300,10,10,320,290,10,10,330,280,10,10,340,290,10,10,330,300,10,10,320,310,10,10,320,270,10,10,310,280,10,10,350,280,10,10,340,270,10,10,330,250,10,20,350,250,10,60,350,310,40,10,380,310,70,10,450,310,10,60,400,360,60,10,240,350,70,10,300,350,10,20,300,360,100,10,350,320,10,10,370,320,10,10,390,310,10,20|60,50|410,320|70,220";
levels[11] = "4-Way||250,200,10,-230,300,200,10,-230,300,190,260,10,300,240,260,10,250,190,-240,10,260,240,-250,10,260,240,-10,210,300,240,10,210,-20,-50,10,520,580,-50,10,530,-20,-60,610,10,-20,470,600,10|260,200|210,250,210,150,310,150,310,250";
levels[12] = "Interceptor|Revenge|50,360,10,-140,50,340,10,30,50,360,60,10,100,360,10,-120,320,70,10,80,320,140,90,10,320,70,90,10,400,70,10,40,430,290,70,10,490,290,10,80,430,290,10,40,490,360,-60,10,50,220,10,-60,50,160,230,10,100,250,10,-40,270,160,10,-110,100,210,230,10,320,220,10,80,320,250,80,10,280,50,170,10,440,50,10,160,440,200,-60,10,380,200,10,-50,440,200,10,50,320,290,10,40,320,320,70,10,380,320,10,50,380,360,60,10,490,250,10,40,430,250,60,10|60,330|350,90,450,310";
levels[13] = "Saw|Revenge|200,80,10,60,200,130,-50,10,500,330,50,10,500,380,60,10,70,350,10,50,20,350,10,50,70,350,-20,10,150,130,10,-50,250,190,10,50,250,230,60,10,300,230,10,-40,250,190,-80,10,170,190,10,-30,170,160,-40,10,130,160,10,-80,130,80,20,10,260,80,10,70,350,140,-80,10,320,140,40,10,350,140,10,130,350,280,10,90,350,300,120,10,500,330,10,-30,350,360,-100,10,350,240,110,10,450,240,10,-60,450,180,60,10,500,180,10,120,460,300,10,50,460,360,10,30,460,380,50,10,460,340,10,30,260,80,-30,10,260,120,-30,10,200,130,20,10,200,110,20,10,260,100,-30,10,200,90,20,10,250,230,10,70,370,300,10,-20,380,240,10,30,390,300,10,-20,400,250,10,20,410,300,10,-20,420,240,10,30,430,300,10,-20,440,250,10,20,450,300,10,-20,460,310,20,10,490,320,10,10,460,330,20,10,500,340,-10,10,460,350,20,10,480,370,10,10,250,290,10,30,250,250,60,10,250,270,60,10,250,290,60,10,250,310,60,10,350,310,-20,10,350,290,-20,10,250,310,-110,10,250,360,-110,10,210,340,10,20,190,340,10,20,170,340,10,20,150,340,10,20,140,310,10,20,160,310,10,20,180,320,10,10,200,310,10,20,220,310,10,20,240,310,10,20,260,320,10,10,280,310,10,20,300,310,10,20,230,340,10,20,250,340,10,20,270,340,10,20,290,340,10,20,330,320,10,10,330,340,10,20,140,310,-40,10,20,350,10,-20,80,330,10,-20,80,310,20,10,140,360,-60,10,80,320,-60,10,130,340,10,20,110,340,10,20,90,340,10,20,120,320,10,10,100,320,10,10,260,140,-30,10,140,90,10,70,150,130,30,30,200,140,-20,60,200,140,10,60,200,80,-20,10,500,330,10,30|260,190|30,360,510,340,160,90";
levels[14] = "Semi|Revenge|40,60,10,60,40,110,50,10,40,60,50,10,460,110,40,10,500,110,10,60,460,160,40,10,150,340,60,10,150,390,60,10,150,360,10,30,150,350,10,20,80,60,110,10,180,60,10,120,80,110,40,10,110,110,10,120,170,180,10,10,160,190,10,10,140,210,10,10,130,220,10,10,120,230,10,10,110,230,10,10,130,220,10,80,130,290,120,10,160,190,30,10,180,190,10,40,180,220,10,40,180,250,80,10,240,300,10,50,200,340,50,10,250,250,50,10,300,240,10,10,310,230,10,10,320,220,10,10,330,210,10,10,340,280,10,40,340,310,-60,10,280,310,10,60,270,370,10,10,260,380,10,10,250,390,10,10,200,390,50,10,460,110,-60,10,400,120,10,110,400,220,-50,10,460,160,10,100,400,330,-60,-10,390,320,30,10,420,260,10,60,430,250,30,10,420,320,10,10,430,260,10,10,340,210,10,20,350,270,10,10,360,270,30,10,350,280,10,10,380,270,10,-10,380,260,50,10,300,260,10,10,320,280,10,10,330,290,10,10|50,70|160,350,460,120|140,160";
levels[15] = "Get In|Revenge|250,140,60,10,300,140,10,50,260,190,50,10,250,190,20,10,280,60,10,50,280,60,40,10,310,60,20,10,280,100,10,20,280,110,50,10,30,260,10,50,30,300,60,10,80,260,10,40,80,190,10,10,90,200,10,10,100,210,10,10,110,220,10,10,120,230,10,10,130,240,10,10,140,250,10,10,150,260,10,10,160,270,10,10,170,280,10,10,180,290,10,10,190,300,10,10,190,300,310,10,490,300,10,-270,490,30,-480,10,10,40,10,270,10,300,20,10,80,300,110,10,220,140,40,10,240,190,-150,10,230,190,20,10,10,190,30,10,30,190,10,70,80,190,10,70,40,200,10,10,60,200,20,10,40,220,10,10,60,220,20,10,40,240,10,10,60,240,20,10,150,140,70,10,150,140,10,-40,150,100,130,10,410,30,10,110,410,130,-120,10,280,30,10,20,200,90,10,-20,200,70,80,10,200,80,10,20,300,40,10,10,320,30,10,20,410,60,-40,10|260,150|40,260,290,70";
levels[16] = "Cross Examine|Revenge|50,160,10,60,50,210,50,10,50,160,50,10,100,150,10,10,110,140,10,10,120,140,50,10,100,220,10,10,110,230,60,10,160,140,10,40,160,200,10,30,160,200,80,10,160,170,80,10,240,160,10,10,250,150,10,10,260,140,10,10,270,130,10,10,240,210,10,10,250,220,10,10,260,230,10,10,270,240,10,10,280,130,70,10,280,240,70,10,340,130,10,40,340,160,-40,10,340,240,10,-30,340,210,-40,10,300,160,10,20,300,200,10,10,430,50,10,50,430,50,60,10,480,50,10,50,380,350,10,40,380,380,10,20,380,390,60,10,380,340,60,10,430,370,10,20,340,230,90,10,340,160,10,10,350,170,10,10,350,170,10,10,370,190,10,10,380,200,10,10,390,190,10,10,400,180,10,10,410,170,10,10,440,140,10,10,410,170,80,10,430,230,40,10,460,200,10,30,460,200,40,10,440,140,-30,10,440,140,10,30,480,90,10,80,480,170,50,10,520,170,20,10,530,170,10,40,350,140,30,10,420,90,-50,10,370,90,10,50,410,90,20,10,440,140,40,30,490,200,10,90,530,200,10,110,490,280,-40,10,530,300,-20,10,510,300,10,50,450,280,10,70,430,340,20,10,430,370,30,10,450,370,40,10,510,340,20,10,520,340,10,40,480,370,40,10,410,140,30,30,450,100,30,10,450,100,30,40,410,140,40,-20|60,170|440,60,390,350";
levels[17] = "String around the Rosie|Revenge|460,60,60,10,510,60,10,50,90,310,50,10,130,310,10,50,90,360,50,10,470,350,10,40,470,390,60,10,520,350,10,40,430,160,10,10,440,170,10,10,450,180,10,10,460,190,10,10,470,200,10,10,480,210,10,10,490,220,10,10,500,230,10,10,510,240,10,10,520,250,10,10,530,260,10,10,530,270,10,90,20,160,350,10,430,160,90,10,510,160,10,-50,20,150,10,-90,20,60,440,10,20,140,10,20,470,350,-160,10,310,350,10,-100,310,160,10,40,360,210,30,30,390,240,30,30,420,210,30,30,20,160,10,240,20,390,450,10,140,300,10,10,150,290,10,10,160,280,10,10,170,270,10,10,180,260,10,10,190,250,10,10,200,250,110,10,310,190,-120,10,190,190,10,30,210,190,10,30,230,200,10,20,250,200,10,20,270,200,10,20,290,190,10,30,310,200,10,20,430,160,10,-30,430,130,-240,10,320,60,10,50,340,70,10,40,360,70,10,40,380,70,10,40,300,70,10,40,400,70,10,40,420,70,10,40,440,70,10,40,470,110,40,10,460,70,10,20|480,350|470,70,90,320|230,230";
levels[18] = "Crooked|Revenge|10,80,10,60,10,130,60,10,10,80,60,10,60,80,10,30,420,100,10,-50,420,50,60,10,470,50,10,60,420,90,10,20,440,100,20,10,480,250,10,60,530,250,10,50,530,290,10,20,480,300,50,10,500,250,20,10,40,390,60,10,40,340,10,10,40,360,10,10,40,380,10,10,90,380,10,10,90,360,10,10,90,340,10,10,40,340,10,40,90,340,10,50,90,340,120,10,40,340,10,-100,90,270,140,10,90,270,10,40,50,230,10,10,60,220,10,10,70,210,10,10,80,200,10,10,90,190,10,10,100,180,10,10,110,170,10,10,100,160,10,10,90,150,10,10,80,140,10,10,70,130,10,10,90,260,10,10,100,250,10,10,110,240,10,10,120,230,10,10,130,220,10,10,140,210,10,10,150,200,10,10,160,190,10,10,150,180,10,10,140,170,10,10,130,160,10,10,120,150,10,10,110,140,10,10,100,130,10,10,100,110,10,20,60,100,50,10,110,270,10,40,130,280,10,30,150,280,10,30,170,280,10,30,190,280,10,30,210,280,10,30,200,340,30,10,100,320,10,20,120,320,10,20,140,320,10,20,160,320,10,20,180,320,10,20,200,320,10,20,220,320,10,20,210,290,100,10,220,320,180,10,410,290,10,-70,390,320,60,10,440,320,10,-80,440,240,50,10,410,290,-60,10,410,290,10,10,530,220,10,30,420,100,10,60,300,150,120,10,300,150,10,140,310,190,10,10,320,200,10,10,410,220,130,-10,330,210,10,10,340,220,10,10,350,230,10,10,360,220,10,10,370,210,10,10,380,200,10,10,390,190,10,10,390,160,10,30,310,150,80,50,330,190,50,20,340,200,30,20,350,220,10,10,340,290,20,10,470,100,10,60,470,150,40,10,500,150,10,60,430,310,10,10|50,350|490,260,20,90,430,60";
levels[19] = "Scissor Me Timber|Revenge|40,340,10,50,40,380,50,10,40,330,50,10,90,380,120,10,210,280,10,10,220,290,10,10,230,300,10,10,240,310,10,10,250,320,10,10,260,330,10,10,270,340,10,10,280,350,10,10,290,360,10,10,300,370,10,10,310,380,10,10,200,380,110,10,200,280,10,50,80,330,10,-60,80,270,40,10,150,330,60,10,180,280,30,10,110,190,10,80,120,180,10,10,130,170,10,10,140,160,10,10,150,150,10,10,160,140,10,10,180,200,10,80,180,200,80,10,240,150,10,10,230,140,10,10,220,130,10,10,160,80,10,60,250,160,10,20,250,190,10,10,220,90,10,40,160,50,10,40,160,50,10,10,220,90,70,10,170,40,10,10,180,30,10,10,190,20,10,10,200,30,10,10,210,30,130,10,280,90,90,10,220,90,10,-20,240,70,10,20,260,70,10,20,280,70,10,20,300,70,10,20,320,70,10,20,340,70,10,20,360,70,10,20,330,30,40,10,350,30,10,30,330,30,10,30,300,30,10,10,310,30,10,30,290,40,10,20,270,40,10,20,250,40,10,20,230,40,10,20,390,40,50,10,430,40,10,50,390,90,50,10,370,30,10,10,380,40,10,10,360,90,30,10|50,340|390,50|180,130";
levels[20] = "Up Up and Away|Revenge|0,0,10,400,0,390,560,70,540,0,120,400,10,340,370,10,430,340,110,10,10,300,220,10,280,300,260,10,280,250,260,10,260,250,-250,10,10,200,440,10,490,200,70,10,10,150,200,10,250,150,290,10,10,0,530,10,10,110,330,10,400,110,140,10,10,70,120,10,200,70,340,10|50,350|30,40|250,290";
levels[21] = "Maneuver|Revenge|220,360,10,40,70,10,50,10,110,20,10,40,70,60,50,10,70,10,-50,10,20,10,10,150,70,60,10,130,220,350,50,10,220,390,50,20,260,350,50,10,260,390,100,10,20,150,10,100,210,340,10,10,200,330,10,10,190,320,10,10,180,310,10,10,170,300,10,10,160,290,10,10,150,280,10,10,140,270,10,10,130,260,10,10,120,250,10,10,30,240,100,10,120,230,10,10,110,220,10,10,90,200,10,10,80,190,10,10,200,180,10,80,80,180,120,10,210,260,10,10,220,270,10,10,230,280,10,10,240,290,10,10,250,300,10,10,260,300,80,10,300,310,10,30,330,300,30,10,350,300,40,10,380,300,10,100,350,390,30,10|70,20|230,360|40,130";
levels[22] = "Labyrinth|Revenge|450,50,60,10,450,60,10,40,500,60,10,40,20,170,10,60,20,220,50,10,30,170,40,10,60,220,20,10,70,220,30,10,90,220,10,-20,60,170,40,10,90,170,10,20,90,180,100,10,100,200,90,10,180,200,10,10,450,90,10,80,450,170,-70,-10,500,90,10,130,500,210,-170,10,330,210,10,-110,320,100,-90,10,320,100,-10,20,320,100,10,10,300,120,10,10,230,110,10,10,240,120,10,10,250,130,10,10,260,140,10,10,290,130,10,10,280,140,10,10,270,150,10,10,370,160,10,-40,370,150,10,20,370,80,10,40,370,70,10,10,370,60,10,20,370,60,-180,10,190,60,10,130,230,110,10,50,230,160,50,10,270,160,10,100,180,200,10,110,180,300,100,10,270,250,10,50,180,200,20,10,200,210,10,10,210,220,10,10,220,230,10,10,230,240,10,10,240,250,10,10,250,260,10,10,260,270,10,10,230,220,10,10,240,210,30,10|460,60|30,180|350,170";
levels[23] = "Funnel|Revenge|480,180,10,10,490,170,10,10,500,160,10,10,510,150,10,10,480,230,10,10,490,240,10,10,500,250,10,10,510,260,10,10,520,150,10,120,480,180,40,10,480,230,40,10,40,40,60,10,90,40,10,50,40,40,-40,10,50,90,50,10,50,90,10,70,0,40,10,120,0,150,10,50,50,150,60,10,110,150,10,10,120,160,10,10,130,170,10,10,150,190,10,10,160,200,10,10,170,210,10,10,180,220,10,10,180,220,10,10,170,230,-20,10,170,230,-170,10,170,230,10,10,0,190,10,40,130,160,110,10,160,200,90,10,230,160,60,10,280,160,10,100,470,180,-40,10,470,180,20,10,430,190,10,80,280,250,10,50,290,290,100,10,430,270,10,30,390,290,50,10,240,210,10,10,230,220,10,10,220,230,10,10,190,230,10,10,200,240,10,10,210,240,10,10,220,240,10,60,220,270,30,20,220,290,10,30,220,320,250,10,480,230,10,40,460,260,30,10,460,260,10,60|50,50|480,190|60,200";
levels[24] = "Zig Zags|Revenge|70,180,10,60,120,180,10,60,70,180,60,10,460,350,10,40,510,350,10,50,460,380,10,30,460,340,10,20,510,340,10,20,460,390,50,10,130,240,10,10,140,250,10,10,150,260,10,10,160,270,10,10,80,240,10,10,90,250,10,10,100,260,10,10,110,270,10,10,120,280,10,10,130,290,10,10,140,300,10,10,150,310,10,10,160,320,10,10,170,330,10,10,170,280,10,10,180,280,40,10,170,330,60,10,220,280,20,10,230,330,30,10,260,320,10,10,270,310,10,10,280,300,10,10,290,290,10,10,300,280,10,10,240,270,10,10,250,260,10,10,260,250,10,10,270,240,10,10,280,230,10,10,290,220,10,10,310,270,10,10,320,260,10,10,330,250,10,10,300,210,10,10,310,200,10,10,320,190,10,10,340,240,10,10,450,330,10,10,440,320,10,10,420,300,10,10,430,310,10,10,410,290,10,10,400,280,10,10,390,270,10,10,380,260,10,10,370,250,10,10,360,240,10,10,350,230,10,10,500,330,10,10,490,320,10,10,480,310,10,10,470,300,10,10,460,290,10,10,450,280,10,10,440,270,10,10,430,260,10,10,420,250,10,10,410,240,10,10,400,230,10,10,390,220,10,10,380,210,10,10,370,200,10,10,330,180,10,10,360,190,10,10,350,180,10,10,340,170,10,10|80,190|470,350|160,290";
levels[25] = "Getting Up|Revenge|70,290,10,50,70,290,50,10,70,340,50,10,20,60,10,50,20,100,60,10,70,60,10,40,120,290,10,10,130,300,10,10,120,340,10,10,130,330,10,10,140,330,30,10,140,300,60,10,130,290,10,10,130,330,10,20,170,330,30,10,200,290,10,10,210,280,10,10,200,330,40,10,240,320,10,10,250,310,10,10,260,300,10,10,270,290,10,10,220,270,10,10,230,260,10,10,240,250,10,10,250,240,10,10,280,280,10,10,290,270,10,10,300,260,10,10,260,230,10,10,270,230,10,10,280,220,10,10,290,210,10,10,310,250,10,10,300,210,50,10,310,250,80,10,340,210,10,-50,350,150,10,10,360,140,10,10,380,250,40,10,410,250,10,-130,380,120,10,10,390,110,10,10,400,100,10,10,410,100,10,40,380,180,40,10,380,190,10,10,390,200,10,10,390,200,10,30,390,220,10,20,380,240,10,10,390,240,10,10,380,200,10,10,210,100,10,10,220,110,10,10,330,150,10,10,320,140,10,10,310,130,10,10,300,120,10,10,290,110,10,10,280,110,10,10,220,110,60,10,220,90,10,10,230,80,10,10,240,70,10,10,210,110,10,10,390,90,10,10,370,90,20,10,350,80,10,10,360,90,10,10,340,70,10,10,330,60,10,10,320,50,10,10,310,40,10,10,300,30,10,10,290,20,10,10,270,40,10,10,280,30,10,10,140,40,130,10,140,70,100,10,130,70,-50,10,130,70,10,10,140,40,10,-20,140,10,-120,10,20,10,10,50,140,10,10,10,60,20,10,10,70,30,10,10,80,30,30,10,110,30,30,10,130,30,10,10,130,30,20,20|80,300|30,60|190,310";
levels[26] = "Split|Revenge|480,100,10,50,480,100,50,10,530,100,10,50,240,330,10,40,240,370,50,10,290,330,10,50,20,60,10,40,20,100,50,10,70,50,10,60,480,150,10,10,240,330,10,-20,240,310,-40,10,290,330,10,-20,300,310,40,10,200,310,10,-50,330,260,10,50,300,230,10,10,310,220,10,10,320,210,10,10,330,200,10,10,230,230,10,10,220,220,10,10,210,210,10,10,200,200,10,10,340,250,10,10,340,200,40,10,370,200,30,10,390,210,10,90,340,250,20,10,330,250,10,10,350,250,10,90,350,330,120,10,390,290,50,10,430,290,10,-60,440,230,10,10,450,240,10,10,460,250,10,10,480,270,10,10,490,280,10,10,500,290,10,10,470,330,40,10,500,300,10,40,480,150,10,70,480,210,-40,10,440,210,10,20,530,140,10,100,530,230,-20,10,510,240,10,50,500,280,10,10,200,200,-30,10,200,260,-40,10,160,260,10,-20,160,190,10,10,150,180,10,10,140,170,10,10,160,240,-50,10,100,190,10,60,90,180,10,10,80,170,10,10,80,160,10,10,80,150,10,20,80,150,10,10,140,170,10,-70,90,140,10,10,100,130,10,10,100,90,10,40,90,80,10,10,90,50,10,30,70,50,20,10,20,30,10,30,20,10,10,30,30,10,120,10,140,20,10,30,140,40,30,10,160,50,10,50,140,90,20,10,90,90,10,10,80,140,10,10,80,180,10,10,90,190,10,10,150,170,10,10,160,180,10,20,160,190,20,10,260,230,20,10,240,240,10,10,250,230,10,10,280,230,10,10,290,240,10,10,260,240,20,10,260,250,20,10,260,260,20,10|250,330|30,60,490,110|260,280";
levels[27] = "Hourglass||90,-70,310,10,390,-60,10,20,90,-60,10,20,90,-40,10,20,390,-40,10,20,100,-20,10,30,380,-20,10,30,110,10,10,30,370,10,10,30,120,40,10,30,360,40,10,30,130,70,10,30,140,100,10,30,350,70,10,30,340,100,10,30,150,130,40,20,340,130,-40,20,190,150,20,10,280,150,20,10,250,160,30,10,210,160,30,10,190,170,20,10,280,170,20,10,300,180,40,20,190,180,-40,20,340,200,10,30,140,200,10,30,80,-90,10,20,80,-100,330,10,400,-90,10,20,80,-70,330,10,130,230,10,30,360,230,-10,30,120,260,10,30,360,260,10,30,110,290,10,30,370,290,10,30,100,320,10,30,100,350,10,10,380,320,10,40,90,360,310,10,90,370,10,20,400,380,-300,10,390,360,10,20,140,80,50,10,200,80,150,10,270,180,10,10,240,190,10,10,200,200,10,10,160,240,10,10,210,240,10,10,250,220,10,10,300,220,10,10,280,260,10,10,140,310,230,10,210,270,10,10,170,290,10,10,340,290,10,10,230,330,10,10,180,350,-10,-10|100,-60|340,320|220,210";
levels[28] = "Minefield||70,40,10,10,70,60,10,10,70,80,10,10,50,80,10,10,30,80,10,10,40,100,10,10,60,100,10,10,80,100,10,10,90,80,10,10,20,100,10,10,90,60,10,10,90,40,10,10,100,100,10,10,110,80,10,10,110,60,10,10,20,20,510,10,530,30,10,340,20,370,510,10,10,30,10,340,30,120,10,10,20,140,10,10,50,120,10,10,40,140,10,10,70,120,10,10,60,140,10,10,90,120,10,10,80,140,10,10,110,40,10,10,110,120,10,10,100,140,10,10,130,140,-10,10,30,160,10,10,50,160,10,10,80,160,-10,10,90,160,10,10,110,160,10,10,20,180,10,10,50,180,-10,10,60,180,10,10,80,180,10,10,100,180,10,10,120,180,10,10,30,200,10,10,30,220,-10,10,40,220,10,10,50,200,10,10,130,50,10,10,130,70,10,10,120,100,10,10,130,120,10,10,130,160,10,10,140,100,10,10,70,200,10,10,60,220,10,10,90,200,10,10,80,220,10,10,110,200,10,10,100,220,10,10,30,240,10,10,20,260,10,10,40,260,10,10,50,240,10,10,60,260,10,10,70,240,10,10,80,260,10,10,90,240,10,10,100,260,10,10,110,240,10,10,30,280,10,10,50,280,10,10,70,280,10,10,90,280,10,10,110,280,10,10,130,260,-10,10,130,280,10,10,140,260,10,10,130,240,10,10,120,220,10,10,140,220,10,10,20,300,10,10,30,320,10,10,40,300,10,10,50,320,10,10,70,300,-10,10,30,340,-10,10,40,340,10,10,60,340,10,10,80,340,10,10,70,320,10,10,80,300,10,10,100,300,10,10,90,320,10,10,110,340,-10,10,110,320,10,10,30,360,10,10,50,360,10,10,70,360,10,10,20,70,10,10,20,50,10,10,30,30,-20,10,40,30,10,10,60,30,10,10,220,30,10,290,380,70,-110,300,390,130,130,10|30,40|490,330|60,90";
levels[29] = "Bunkers||30,180,70,10,90,190,10,30,90,210,-60,10,30,180,10,30,100,180,60,10,100,210,60,10,150,180,10,30,60,210,10,40,70,240,50,10,120,220,10,30,60,150,10,30,70,150,60,10,120,150,10,40,160,210,30,10,180,220,10,30,130,250,60,-10,130,150,60,10,180,160,10,20,150,180,40,10,190,180,30,10,210,190,10,20,190,210,30,10,220,210,30,10,240,210,10,40,190,250,50,-10,220,180,60,10,270,190,10,20,250,210,30,10,240,150,10,40,190,150,50,10,250,150,60,10,300,160,10,20,280,180,30,10,0,150,10,30,0,180,30,10,10,150,60,10,280,210,30,10,310,220,-10,30,250,240,50,10,30,220,-30,-10,0,220,10,30,10,240,50,10,310,180,30,10,330,190,10,20,310,210,30,10,310,160,50,-10,360,150,-10,10,360,150,10,30,340,180,90,10,420,150,10,30,370,150,60,10,420,150,70,10,480,160,10,30,430,180,50,10,490,150,50,10,490,180,50,10,400,190,-10,30,460,190,-10,30,510,190,10,30,540,150,10,40,340,210,210,10,550,180,30,10,570,190,10,30,550,210,20,10,360,220,10,30,420,220,10,30,480,220,10,30,540,220,10,30,310,250,230,-10,-60,100,30,230,-30,100,420,10,-20,320,-10,10,-30,320,420,10,390,100,220,10,390,320,220,10,610,100,30,10,630,110,-10,220,630,110,10,220,600,320,40,10,130,110,60,30,540,110,10,40,430,40,10,40,430,70,30,10,470,40,10,40,470,70,40,10,500,40,10,40,470,40,40,10,520,40,10,40,530,70,20,10,30,250,-10,30,20,290,10,30,20,110,10,20,240,120,10,10,330,140,10,-10,70,250,10,60,120,310,10,-50,150,290,10,30,210,260,-10,10,200,280,10,10,200,310,10,-10,230,270,10,10,230,290,10,10,230,250,10,10,580,220,30,10,610,240,-30,30,580,280,10,20,290,250,10,30,340,280,-10,50,390,250,10,20,500,280,-60,20,540,250,10,50|-30,180|580,180|-10,220";
level = 0;
myLevel = levels[level];
if (Custom) {
myLevel = Custom;
}
makeBG();
parseLevel(myLevel);
relocateToSpawn();
mousedown = false;
onMouseDown = function () {
mousedown = true;
};
onMouseUp = function () {
mousedown = false;
};
onKeyDown = function () {
if (Key.isDown(39)) {
}
};
Key.addListener(_root);
Frame 16
function drawGrid(x, y) {
var _local1 = createEmptyMovieClip("grid", getNextHighestDepth());
_local1.lineStyle(1, 13421772, 100);
g = 0;
while (g <= x) {
_local1.moveTo(g * 10, 0);
_local1.lineTo(g * 10, y * 10);
o = 0;
while (o <= y) {
_local1.moveTo(0, o * 10);
_local1.lineTo(x * 10, o * 10);
o++;
}
g++;
}
}
function getX() {
return(Math.floor(_xmouse / 10) * 10);
}
function getY() {
return(Math.floor(_ymouse / 10) * 10);
}
function createBlock(x, y) {
var _local1 = createEmptyMovieClip("drawer" + getNextHighestDepth(), getNextHighestDepth());
_local1.x = (_local1._x = x);
_local1.y = (_local1._y = y);
_local1.px = xPos;
_local1.py = yPos;
inttt.swapDepths(getNextHighestDepth());
return(_local1);
}
function registerBlock() {
if ((!drawing) or ((drawing.x == getX()) or (drawing.y == getY()))) {
drawing = undefined;
return(undefined);
}
renderBlock();
mx.behaviors.DepthControl.bringToFront(coordDisplay);
walls.push({mc:drawing, x:drawing.x + (xPos * 10), y:drawing.y + (yPos * 10), w:getX() - drawing.x, h:getY() - drawing.y});
drawing.onEnterFrame = function () {
this._x = this.x + ((this.px - xPos) * 10);
this._y = this.y + ((this.py - yPos) * 10);
};
drawing = null;
}
function export(tostr, a, b) {
level = ((a + "|") + b) + "|";
i = 0;
while (i < walls.length) {
level = level + ((((((walls[i].x + ",") + walls[i].y) + ",") + walls[i].w) + ",") + walls[i].h);
if (i < (walls.length - 1)) {
level = level + ",";
}
i++;
}
level = level + (((("|" + (spawn.x + (spawn.px * 10))) + ",") + (spawn.y + (spawn.py * 10))) + "|");
i = 0;
while (i < exits.length) {
level = level + (((exits[i].x + (exits[i].px * 10)) + ",") + (exits[i].y + (exits[i].py * 10)));
if (i < (exits.length - 1)) {
level = level + ",";
}
i++;
}
if (sizzed) {
level = level + ((("|" + (sizzed.x + (sizzed.px * 10))) + ",") + (sizzed.y + (sizzed.py * 10)));
}
System.setClipboard(level);
if (tostr) {
return(level);
}
}
function renderBlock() {
if (!drawing) {
return(undefined);
}
var _local2 = drawing.x;
var _local1 = drawing.y;
drawing.clear();
drawing.lineStyle(0, 0, 0);
drawing.beginFill(0, 100);
drawing.lineTo(getX() - _local2, 0);
drawing.lineTo(getX() - _local2, getY() - _local1);
drawing.lineTo(0, getY() - _local1);
drawing.lineTo(0, 0);
}
function removeBlock(block) {
if (spawn == block) {
spawn = undefined;
} else if (sizzed == block) {
sizzed = undefined;
} else {
i = 0;
while (i < exits.length) {
if (exits[i] == block) {
exits.splice(i, 1);
}
i++;
}
i = 0;
while (i < walls.length) {
if (block == walls[i].mc) {
walls.splice(i, 1);
}
i++;
}
}
block.removeMovieClip();
}
function spawnit() {
var _local1 = attachMovie("Start_Editor", "ss" + getNextHighestDepth(), getNextHighestDepth());
_local1.x = getX();
_local1.y = getY();
_local1.px = xPos;
_local1.py = yPos;
spawn = _local1;
_local1.onEnterFrame = blockU;
}
function scissup() {
var _local1 = attachMovie("Scissors_Editor", "ss" + getNextHighestDepth(), getNextHighestDepth());
_local1.x = getX();
_local1.y = getY();
_local1.px = xPos;
_local1.py = yPos;
sizzed = _local1;
_local1.onEnterFrame = blockU;
}
function exitit() {
var _local1 = attachMovie("End_Editor", "ss" + getNextHighestDepth(), getNextHighestDepth());
_local1.x = getX();
_local1.y = getY();
_local1.px = xPos;
_local1.py = yPos;
exits.push(_local1);
_local1.onEnterFrame = blockU;
}
function endEdit() {
for (i in _root) {
_root[i].removeMovieClip();
}
onKeyDown = (onMouseMove = (onMouseUp = (onMouseDown = (onEnterFrame = null))));
}
function blockU() {
this._x = this.x + ((this.px - xPos) * 10);
this._y = this.y + ((this.py - yPos) * 10);
}
function playCustom() {
if (!expot) {
expot = attachMovie("export", "expot", getNextHighestDepth());
}
}
function finito(a, b) {
Custom = export(true, a, b);
endEdit();
gotoAndStop ("Play");
}
function menuCallback(obj, menuObj) {
menuObj.builtInItems.play = false;
menuObj.builtInItems.loop = false;
menuObj.builtInItems.rewind = false;
menuObj.builtInItems.forward_back = false;
menuObj.builtInItems.print = false;
menuObj.customItems = [];
createSpawn.enabled = true;
addScissorsMenu.enabled = true;
if ((((obj instanceof MovieClip) && (obj != _level0)) && (obj._name != "frame")) && (obj._name != "grid")) {
menuObj.customItems.push(delItem);
} else {
menuObj.customItems.push(createSpawn);
if (spawn) {
createSpawn.enabled = false;
}
menuObj.customItems.push(addScissorsMenu);
if (sizzed) {
addScissorsMenu.enabled = false;
}
menuObj.customItems.push(createExit);
}
menuObj.customItems.push(returnToMenu);
if (spawn && (exits.length > 0)) {
menuObj.customItems.push(testLvl);
testLvl.separatorBefore = true;
}
}
function coordGraph() {
var _local2 = attachMovie("coords", "coordDisplay", getNextHighestDepth());
_local2.pos = 0;
_local2.onEnterFrame = function () {
if (Math.abs(flash.geom.Point.distance(new flash.geom.Point(_xmouse, _ymouse), new flash.geom.Point(this._x, 0))) < 50) {
this.pos = !this.pos;
}
this._x = 480 * this.pos;
this.display.text = ((("{" + xPos) + ",") + yPos) + "}";
};
}
var myMenu = new ContextMenu(menuCallback);
var delItem = new ContextMenuItem("Remove", removeBlock);
var createSpawn = new ContextMenuItem("Create Spawn", spawnit);
var createExit = new ContextMenuItem("Create Exit", exitit);
var returnToMenu = new ContextMenuItem("Return to Menu", bye);
var addScissorsMenu = new ContextMenuItem("Create Scissors", scissup);
var testLvl = new ContextMenuItem("Export Level", playCustom);
normMenu = new ContextMenu();
MovieClip.prototype.menu = normMenu;
function onQ() {
if (!instmc) {
instmc = attachMovie("EDITORINST", "instmc" + getNextHighestDepth(), getNextHighestDepth());
}
}
function offQ() {
instmc.removeMovieClip();
instmc = undefined;
}
MovieClip.prototype.menu = myMenu;
drawGrid(55, 40);
coordGraph();
var xPos = 0;
var yPos = 0;
var drawing;
var level = "";
var walls = [];
var exits = [];
spawn = (scissup = (sizzed = undefined));
onMouseDown = function () {
if (!expot) {
drawing = createBlock(getX(), getY());
}
};
onMouseUp = function () {
registerBlock();
};
onMouseMove = function () {
renderBlock();
};
onKeyDown = function () {
if (drawing) {
return(undefined);
}
if (Key.isDown(37)) {
xPos--;
}
if (Key.isDown(39)) {
xPos++;
}
if (Key.isDown(38)) {
yPos--;
}
if (Key.isDown(40)) {
yPos++;
}
if (Key.isDown(32)) {
onQ();
}
};
onKeyUp = function () {
if (!Key.isDown(32)) {
offQ();
}
};
Key.addListener(_root);
inttt.swapDepths(getNextHighestDepth());
Frame 31
firsttime = false;
Symbol 19 Button
on (release) {
_root.playanyway();
}
Symbol 20 Button
on (release) {
_root.playanyway(true);
}
Symbol 21 MovieClip [WTFU] Frame 49
stop();
Symbol 28 MovieClip Frame 6
stop();
Symbol 29 MovieClip Frame 6
stop();
Symbol 30 MovieClip [boxes] Frame 25
makeSwitch();
Symbol 30 MovieClip [boxes] Frame 57
this.removeMovieClip();
Symbol 48 MovieClip Frame 36
stop();
Symbol 55 MovieClip Frame 28
stop();
Symbol 61 MovieClip [Trans] Frame 5
makeSwitch();
Symbol 61 MovieClip [Trans] Frame 10
this.removeMovieClip();
Symbol 90 Button
on (release) {
_root.quitgame();
}
Symbol 92 Button
on (release) {
gotoAndStop (1);
}
Symbol 93 MovieClip Frame 1
stop();
Symbol 100 Button
on (release) {
_root._quality = (_root.q = "HIGH");
}
Symbol 103 Button
on (release) {
_root._quality = (_root.q = "LOW");
}
Symbol 106 Button
on (release) {
_root._quality = (_root.q = "MEDIUM");
}
Symbol 120 MovieClip Frame 1
function upd() {
txt.text = cols[ind];
_root.WALLCOLOR = cols2[ind];
_root.WALLIND = ind;
}
up.onRelease = function () {
ind = (((ind + 1) > 3) ? 0 : (ind + 1));
upd();
};
down.onRelease = function () {
ind = (((ind - 1) < 0) ? 3 : (ind - 1));
upd();
};
ind = 0;
cols = ["Black", "White", "Dark Blue", "Orange"];
cols2 = ["0x000000", "0xffffff", "0x000066", "0xff6600"];
ind = (_root.WALLIND ? (_root.WALLIND) : 0);
upd();
Symbol 122 MovieClip Frame 1
function upd() {
txt.text = cols[ind];
_root.STRCOLOR = cols2[ind];
_root.STRIND = ind;
}
up.onRelease = function () {
ind = (((ind + 1) > 3) ? 0 : (ind + 1));
upd();
};
down.onRelease = function () {
ind = (((ind - 1) < 0) ? 3 : (ind - 1));
upd();
};
ind = 0;
cols = ["Black", "White", "Dark Blue", "Orange"];
cols2 = ["0x000000", "0xffffff", "0x000066", "0xff6600"];
ind = (_root.STRIND ? (_root.STRIND) : 0);
upd();
Symbol 124 MovieClip Frame 1
vol._x = 72 + (_root.MASTERVOL * 0.65);
vol.onPress = function () {
this.startDrag(false, 72, 53, 137, 53);
};
vol.onRelease = (vol.onReleaseOutside = function () {
this.stopDrag();
});
onEnterFrame = function () {
_root.MASTERVOL = Math.floor(((vol._x - 72) / 65) * 100);
_root.gameMusic.setVolume(_root.MASTERVOL);
};
Symbol 126 MovieClip Frame 1
_alpha = 0;
Instance of Symbol 126 MovieClip in Symbol 127 MovieClip [mmg] Frame 1
on (release) {
_root.toggleMenu();
}
Instance of Symbol 126 MovieClip in Symbol 127 MovieClip [mmg] Frame 1
on (release) {
_root.toggleMenu();
}
Instance of Symbol 126 MovieClip in Symbol 127 MovieClip [mmg] Frame 1
on (release) {
if (_parent.heh.mc._currentframe == 1) {
_parent.heh.mc.gotoAndStop(2);
}
}
Instance of Symbol 126 MovieClip in Symbol 127 MovieClip [mmg] Frame 1
on (release) {
getURL ("http://armorgames.com", "_blank");
}
Symbol 135 MovieClip [slowmo] Frame 1
stop();
Symbol 143 Button
on (release) {
_root.finito(n1.text, n2.text);
}
Symbol 156 MovieClip Frame 138
_root.gotoAndStop("Menu");
_root.play();
Symbol 284 MovieClip [__Packages.mx.transitions.OnEnterFrameBeacon] Frame 0
class mx.transitions.OnEnterFrameBeacon
{
function OnEnterFrameBeacon () {
}
static function init() {
var _local4 = _global.MovieClip;
if (!_root.__OnEnterFrameBeacon) {
mx.transitions.BroadcasterMX.initialize(_local4);
var _local3 = _root.createEmptyMovieClip("__OnEnterFrameBeacon", 9876);
_local3.onEnterFrame = function () {
_global.MovieClip.broadcastMessage("onEnterFrame");
};
}
}
static var version = "1.1.0.52";
}
Symbol 285 MovieClip [__Packages.mx.transitions.BroadcasterMX] Frame 0
class mx.transitions.BroadcasterMX
{
var _listeners;
function BroadcasterMX () {
}
static function initialize(o, dontCreateArray) {
if (o.broadcastMessage != undefined) {
delete o.broadcastMessage;
}
o.addListener = mx.transitions.BroadcasterMX.prototype.addListener;
o.removeListener = mx.transitions.BroadcasterMX.prototype.removeListener;
if (!dontCreateArray) {
o._listeners = new Array();
}
}
function addListener(o) {
removeListener(o);
if (broadcastMessage == undefined) {
broadcastMessage = mx.transitions.BroadcasterMX.prototype.broadcastMessage;
}
return(_listeners.push(o));
}
function removeListener(o) {
var _local2 = _listeners;
var _local3 = _local2.length;
while (_local3--) {
if (_local2[_local3] == o) {
_local2.splice(_local3, 1);
if (!_local2.length) {
broadcastMessage = undefined;
}
return(true);
}
}
return(false);
}
function broadcastMessage() {
var _local5 = String(arguments.shift());
var _local4 = _listeners.concat();
var _local6 = _local4.length;
var _local3 = 0;
while (_local3 < _local6) {
_local4[_local3][_local5].apply(_local4[_local3], arguments);
_local3++;
}
}
static var version = "1.1.0.52";
}
Symbol 286 MovieClip [__Packages.mx.transitions.Tween] Frame 0
class mx.transitions.Tween
{
var obj, prop, begin, useSeconds, _listeners, addListener, prevTime, _time, looping, _duration, broadcastMessage, isPlaying, _fps, prevPos, _pos, change, _intervalID, _startTime;
function Tween (obj, prop, func, begin, finish, duration, useSeconds) {
mx.transitions.OnEnterFrameBeacon.init();
if (!arguments.length) {
return;
}
this.obj = obj;
this.prop = prop;
this.begin = begin;
position = (begin);
this.duration = (duration);
this.useSeconds = useSeconds;
if (func) {
this.func = func;
}
this.finish = (finish);
_listeners = [];
addListener(this);
start();
}
function set time(t) {
prevTime = _time;
if (t > duration) {
if (looping) {
rewind(t - _duration);
update();
broadcastMessage("onMotionLooped", this);
} else {
if (useSeconds) {
_time = _duration;
update();
}
stop();
broadcastMessage("onMotionFinished", this);
}
} else if (t < 0) {
rewind();
update();
} else {
_time = t;
update();
}
//return(time);
}
function get time() {
return(_time);
}
function set duration(d) {
_duration = (((d == null) || (d <= 0)) ? (_global.Infinity) : (d));
//return(duration);
}
function get duration() {
return(_duration);
}
function set FPS(fps) {
var _local2 = isPlaying;
stopEnterFrame();
_fps = fps;
if (_local2) {
startEnterFrame();
}
//return(FPS);
}
function get FPS() {
return(_fps);
}
function set position(p) {
setPosition(p);
//return(position);
}
function setPosition(p) {
prevPos = _pos;
obj[prop] = (_pos = p);
broadcastMessage("onMotionChanged", this, _pos);
updateAfterEvent();
}
function get position() {
return(getPosition());
}
function getPosition(t) {
if (t == undefined) {
t = _time;
}
return(func(t, begin, change, _duration));
}
function set finish(f) {
change = f - begin;
//return(finish);
}
function get finish() {
return(begin + change);
}
function continueTo(finish, duration) {
begin = position;
this.finish = (finish);
if (duration != undefined) {
this.duration = (duration);
}
start();
}
function yoyo() {
continueTo(begin, time);
}
function startEnterFrame() {
if (_fps == undefined) {
_global.MovieClip.addListener(this);
} else {
_intervalID = setInterval(this, "onEnterFrame", 1000 / _fps);
}
isPlaying = true;
}
function stopEnterFrame() {
if (_fps == undefined) {
_global.MovieClip.removeListener(this);
} else {
clearInterval(_intervalID);
}
isPlaying = false;
}
function start() {
rewind();
startEnterFrame();
broadcastMessage("onMotionStarted", this);
}
function stop() {
stopEnterFrame();
broadcastMessage("onMotionStopped", this);
}
function resume() {
fixTime();
startEnterFrame();
broadcastMessage("onMotionResumed", this);
}
function rewind(t) {
_time = ((t == undefined) ? 0 : (t));
fixTime();
update();
}
function fforward() {
time = (_duration);
fixTime();
}
function nextFrame() {
if (useSeconds) {
time = ((getTimer() - _startTime) / 1000);
} else {
time = (_time + 1);
}
}
function onEnterFrame() {
nextFrame();
}
function prevFrame() {
if (!useSeconds) {
time = (_time - 1);
}
}
function toString() {
return("[Tween]");
}
function fixTime() {
if (useSeconds) {
_startTime = getTimer() - (_time * 1000);
}
}
function update() {
position = (getPosition(_time));
}
static var version = "1.1.0.52";
static var __initBeacon = mx.transitions.OnEnterFrameBeacon.init();
static var __initBroadcaster = mx.transitions.BroadcasterMX.initialize(mx.transitions.Tween.prototype, true);
function func(t, b, c, d) {
return(((c * t) / d) + b);
}
}
Symbol 287 MovieClip [__Packages.mx.transitions.easing.Strong] Frame 0
class mx.transitions.easing.Strong
{
function Strong () {
}
static function easeIn(t, b, c, d) {
t = t / d;
return((((((c * t) * t) * t) * t) * t) + b);
}
static function easeOut(t, b, c, d) {
t = (t / d) - 1;
return((c * (((((t * t) * t) * t) * t) + 1)) + b);
}
static function easeInOut(t, b, c, d) {
t = t / (d / 2);
if (t < 1) {
return(((((((c / 2) * t) * t) * t) * t) * t) + b);
}
t = t - 2;
return(((c / 2) * (((((t * t) * t) * t) * t) + 2)) + b);
}
static var version = "1.1.0.52";
}
Symbol 288 MovieClip [__Packages.mx.behaviors.DepthControl] Frame 0
class mx.behaviors.DepthControl extends Object
{
function DepthControl () {
super();
}
static function sendToBack(target) {
var _local2 = false;
while (_local2 == false) {
sendBackward(target);
_local2 = target == getInstanceAtLowest(target._parent);
}
}
static function bringToFront(target) {
var _local2 = false;
while (_local2 == false) {
bringForward(target);
_local2 = target == getInstanceAtHighest(target._parent);
}
}
static function sendBackward(target) {
var _local2 = trackDepths(target._parent);
if (target != getInstanceAtLowest(target._parent)) {
target.swapDepths(getInstanceLowerThan(target));
}
}
static function bringForward(target) {
if (target != getInstanceAtHighest(target._parent)) {
target.swapDepths(getInstanceHigherThan(target));
}
}
static function trackDepths(mcParent) {
var _local4 = [];
for (var _local5 in mcParent) {
if (typeof(mcParent[_local5]) == "movieclip") {
_local4.push({mc:mcParent[_local5], depth:mcParent[_local5].getDepth()});
}
}
_local4.sort(orderFunc);
return(_local4);
}
static function orderFunc(a, b) {
var _local2 = Number(a.depth);
var _local1 = Number(b.depth);
if (_local2 > _local1) {
return(-1);
}
if (_local1 > _local2) {
return(1);
}
return(0);
}
static function getInstanceAtLowest(targetParent) {
var _local1 = trackDepths(targetParent);
return(_local1[_local1.length - 1].mc);
}
static function getInstanceAtHighest(targetParent) {
var _local1 = trackDepths(targetParent);
return(_local1[0].mc);
}
static function getInstanceLowerThan(target) {
var _local2 = trackDepths(target._parent);
var _local1 = 0;
while (_local1 < _local2.length) {
if (_local2[_local1].mc == target) {
break;
}
_local1++;
}
return(_local2[_local1 + 1].mc);
}
static function getInstanceHigherThan(target) {
var _local2 = trackDepths(target._parent);
var _local1 = 0;
while (_local1 < _local2.length) {
if (_local2[_local1].mc == target) {
break;
}
_local1++;
}
return(_local2[_local1 - 1].mc);
}
}
Symbol 168 Button
on (release) {
_root.act(0);
}
Symbol 173 Button
on (release) {
_root.act(6);
}
Symbol 178 Button
on (release) {
_root.act(3);
}
Symbol 182 Button
on (release) {
_root.act(4);
}
Symbol 185 MovieClip Frame 30
Symbol 185 MovieClip Frame 123
stop();
Instance of Symbol 126 MovieClip in Symbol 185 MovieClip Frame 123
on (release) {
getURL ("http://www.armorgames.com/downloads.html", "_blank");
}
Symbol 202 MovieClip Frame 1
slider._x = _root.MASTERVOL * 1.5;
min = 0;
max = 150;
slider.onPress = function () {
this.startDrag(false, min, this._y, max, this._y);
};
slider.onRelease = (slider.onReleaseOutside = function () {
this.stopDrag();
});
slider.onEnterFrame = function () {
_root.MASTERVOL = Math.floor((this._x / 150) * 100);
_root.bgMusic.setVolume(Math.floor((this._x / 150) * 100));
};
Symbol 209 Button
on (release) {
_root._quality = (_root.q = "HIGH");
}
Symbol 213 Button
on (release) {
_root._quality = (_root.q = "LOW");
}
Symbol 217 Button
on (release) {
_root._quality = (_root.q = "MEDIUM");
}
Symbol 227 MovieClip Frame 1
function upd() {
txt.text = cols[ind];
_root.STRCOLOR = ind;
}
up.onRelease = function () {
ind = (((ind + 1) > 3) ? 0 : (ind + 1));
upd();
};
down.onRelease = function () {
ind = (((ind - 1) < 0) ? 3 : (ind - 1));
upd();
};
ind = 0;
cols = ["Black", "White", "Dark Blue", "Orange"];
Symbol 232 MovieClip Frame 1
function upd() {
txt.text = cols[ind];
_root.WALLCOLOR = cols2[ind];
_root.WALLIND = ind;
}
up.onRelease = function () {
ind = (((ind + 1) > 3) ? 0 : (ind + 1));
upd();
};
down.onRelease = function () {
ind = (((ind - 1) < 0) ? 3 : (ind - 1));
upd();
};
ind = 0;
cols = ["Black", "White", "Dark Blue", "Orange"];
cols2 = ["0x000000", "0xffffff", "0x000066", "0xff6600"];
ind = (_root.WALLIND ? (_root.WALLIND) : 0);
upd();
Symbol 243 Button
on (release) {
_root.act(5);
}
Symbol 247 Button
on (release) {
_root.act(2);
}
Symbol 248 Button
on (release) {
_root.gotoAndStop("Menu");
}
Symbol 249 MovieClip Frame 90
stop();
Symbol 250 Button
on (release) {
nextFrame();
}
Symbol 255 Button
on (release) {
prevFrame();
}
Symbol 272 MovieClip Frame 1
stop();
Symbol 273 MovieClip Frame 33
stop();
Symbol 277 Button
on (release) {
_root.Custom = ddd.text;
_root.gotoAndStop("Play");
}
Symbol 278 MovieClip Frame 33
stop();
Symbol 283 MovieClip Frame 33
stop();