Frame 1
if (!kv_v) {
kv_v = {c:705, a:0, da:["distralytics.com", "distralytics.co.uk"]};
kv_v.i = 0;
while (kv_v.i < kv_v.da.length) {
if (dom.charAt(0) === ".") {
var dom = kv_v.da[kv_v.i];
dom.substr(1, dom.length - 1);
System.security.allowDomain(dom, "*." + dom);
} else {
System.security.allowDomain(kv_v.da[kv_v.i], (kv_v.c + ".c.") + kv_v.da[kv_v.i], "*." + kv_v.da[kv_v.i]);
}
kv_v.i++;
}
kv_v.lc = function () {
var _local2;
var _local1 = kv_v.da[kv_v.a % kv_v.da.length];
if (_local1.charAt(0) === ".") {
_local2 = ("http://" + _local1.substr(1, _local1.length - 1)) + kv_v.lurl;
} else {
_local2 = ((("http://" + kv_v.c) + ".c.") + _local1) + kv_v.lurl;
}
System.security.allowDomain(_local2);
kv_v.l_mcl.loadClip(_local2, kv_v.t_mc);
};
kv_v.d = (_root.ori_dom ? (_root.ori_dom) : (((_root._url.split("/")[0].indexOf("http") == -1) ? "Local" : (_root._url.split("/")[2].split("?")[0]))));
kv_v.fpv = getVersion().split(" ")[1].split(",")[0];
kv_v.lurl = "/control/tracking/tracker.swf?r=" + Math.floor(Math.random() * 10000);
kv_v.t_mc = createEmptyMovieClip("kv_tracker", -16734);
kv_v.l_mcl = new MovieClipLoader();
kv_v.mcl_l = {onLoadError:function () {
kv_v.a++;
kv_v.lc();
}, onLoadStart:function (m) {
System.security.allowDomain(m._url);
}};
kv_v.l_mcl.addListener(kv_v.mcl_l);
kv_v.lc();
}
totalPercent = Number(100 * (getBytesLoaded() / getBytesTotal()));
if (totalPercent == 100) {
gotoAndPlay ("main");
}
Frame 3
Frame 6
totalPercent = int(100 * (getBytesLoaded() / getBytesTotal()));
preloader.gotoAndStop(totalPercent);
if (totalPercent == 100) {
stop();
} else {
gotoAndPlay(_currentframe - 1);
}
Frame 13
_root.playSound("menuMusic");
stop();
Symbol 7 Button
on (release) {
getURL ("http://www.trox5.com", "_blank");
}
Symbol 11 Button
on (release) {
getURL ("http://www.jeffmohl.com", "_blank");
}
Symbol 30 Button
on (release) {
_parent.play();
}
Symbol 31 MovieClip Frame 1
stop();
Symbol 31 MovieClip Frame 101
stop();
Symbol 84 MovieClip Frame 2
_root.stepSound = function () {
if (_root.isMute == 0) {
switch (_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].floorState) {
case "default" :
gotoAndPlay ("stepReg");
break;
case "muddy" :
gotoAndPlay ("stepMud");
break;
case "metal" :
gotoAndPlay ("stepMetal");
break;
case "overgrown" :
gotoAndPlay ("stepLeaves");
break;
case "rubble" :
gotoAndPlay ("stepGravel");
break;
case "convey_up" :
gotoAndPlay ("stepConvey");
break;
case "convey_down" :
gotoAndPlay ("stepConvey");
break;
case "convey_left" :
gotoAndPlay ("stepConvey");
break;
case "convey_right" :
gotoAndPlay ("stepConvey");
break;
default :
gotoAndPlay ("stepReg");
}
}
};
_root.playSound = function (nextSound) {
if (_root.isMute == 0) {
gotoAndPlay(nextSound);
}
};
stop();
Symbol 84 MovieClip Frame 10
gotoAndPlay((_currentframe + 1) + random(7));
Symbol 84 MovieClip Frame 11
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 12
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 13
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 14
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 15
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 16
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 17
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 25
gotoAndPlay((_currentframe + 1) + random(7));
Symbol 84 MovieClip Frame 26
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 27
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 28
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 29
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 30
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 31
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 32
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 40
gotoAndPlay((_currentframe + 1) + random(7));
Symbol 84 MovieClip Frame 41
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 42
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 43
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 44
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 45
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 46
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 47
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 55
gotoAndPlay((_currentframe + 1) + random(7));
Symbol 84 MovieClip Frame 56
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 57
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 58
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 59
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 60
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 61
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 62
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 65
gotoAndPlay((_currentframe + 1) + random(3));
Symbol 84 MovieClip Frame 66
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 67
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 68
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 75
gotoAndPlay((_currentframe + 1) + random(2));
Symbol 84 MovieClip Frame 76
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 77
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 96
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 102
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 111
gotoAndPlay ("hit");
Symbol 84 MovieClip Frame 121
gotoAndPlay((_currentframe + 1) + random(6));
Symbol 84 MovieClip Frame 122
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 123
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 124
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 125
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 126
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 127
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 131
gotoAndPlay ("deathMusic");
Symbol 84 MovieClip Frame 141
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 151
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 161
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 171
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 180
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 190
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 200
gotoAndPlay ("start");
Symbol 84 MovieClip Frame 210
gotoAndPlay ("start");
Symbol 144 MovieClip Frame 1
stop();
Symbol 145 MovieClip Frame 1
panel = 0;
Symbol 145 MovieClip Frame 2
panel++;
if (panel > 3) {
panel = 1;
}
instrx.gotoAndStop(panel);
Symbol 145 MovieClip Frame 103
gotoAndPlay ("fadeUp");
Symbol 154 Button
on (rollOver) {
gotoAndPlay ("on");
}
on (rollOut) {
gotoAndPlay ("off");
}
on (release) {
_parent["level" + _root.levelNbr].gotoAndPlay("off");
_parent.levelDescriptions.gotoAndStop(myLevel);
_root.levelNbr = myLevel;
gotoAndPlay ("selected");
}
Symbol 170 MovieClip Frame 1
myLevel = Number(_name.substr(5));
if ((_root.gameData[((("P" + _root.currPlayer) + "L") + myLevel) + "score"] == null) && (myLevel > 1)) {
gotoAndPlay ("locked");
} else {
switch (myLevel) {
case 1 :
levelTitle = "MAP THE MAZE";
break;
case 2 :
levelTitle = "BEWARE BEETLE BLADES";
break;
case 3 :
levelTitle = "RUNNER TO THE RESCUE";
break;
case 4 :
levelTitle = "SUPPLIES SURPRISE";
break;
case 5 :
levelTitle = "BUMP, SET, SPIKES!";
break;
case 6 :
levelTitle = "LIGHT \u2018EM UP!";
break;
case 7 :
levelTitle = "SNEAKY DOES IT";
break;
case 8 :
levelTitle = "BRING \u2018EM BACK";
break;
case 9 :
levelTitle = "RUNNING BLIND";
break;
case 10 :
levelTitle = "ULTIMATE CHALLENGE";
}
if (_root.gameData[((("P" + _root.currPlayer) + "L") + myLevel) + "score"] == null) {
levelScore = "0";
} else {
levelScore = _root.gameData[((("P" + _root.currPlayer) + "L") + myLevel) + "score"];
}
}
if (_root.levelNbr == myLevel) {
gotoAndPlay ("selected");
}
Symbol 170 MovieClip Frame 2
stop();
Symbol 170 MovieClip Frame 11
stop();
Symbol 170 MovieClip Frame 21
stop();
Symbol 170 MovieClip Frame 31
stop();
Symbol 203 MovieClip Frame 1
gotoAndStop(_root.levelNbr);
Symbol 205 Button
on (release) {
_parent.initLevel();
_parent.play();
}
Symbol 208 MovieClip Frame 1
totalScoreText.text = _root.totalScore;
Symbol 210 Button
on (release) {
if (_root.isMute == 1) {
_root.isMute = 0;
if (_root.gameOn == 1) {
_root.playSound("music1");
} else {
_root.playSound("menuMusic");
}
gotoAndPlay ("soundOn");
} else {
_root.isMute = 1;
stopAllSounds();
gotoAndPlay ("soundOff");
}
}
Symbol 212 MovieClip Frame 1
_root.isMute = 0;
gotoAndPlay ("soundOn");
Symbol 212 MovieClip Frame 6
stop();
Symbol 212 MovieClip Frame 16
stop();
Symbol 262 MovieClip Frame 1
stop();
Symbol 263 MovieClip Frame 1
function updateWalls() {
_x = _root.mazeData[myRow][myCol].xPos;
_y = _root.mazeData[myRow][myCol].yPos;
floorTile.gotoAndPlay(_root.mazeData[myRow][myCol].floorState);
}
myCell.text = (myRow + ", ") + myCol;
updateWalls();
Symbol 264 MovieClip Frame 1
starterFloor._visible = 0;
stop();
Symbol 293 MovieClip Frame 1
_root.stepSound();
Instance of Symbol 292 MovieClip "righty" in Symbol 293 MovieClip Frame 1
onClipEvent (load) {
gotoAndPlay (8);
}
Symbol 293 MovieClip Frame 9
_root.stepSound();
Symbol 293 MovieClip Frame 16
Symbol 294 MovieClip Frame 1
stop();
Symbol 294 MovieClip Frame 2
stop();
Symbol 294 MovieClip Frame 9
_root.runnerAlive = 0;
stop();
Symbol 294 MovieClip Frame 25
stop();
Symbol 295 MovieClip Frame 1
_root.runnerVulnerable = 1;
stop();
Instance of Symbol 294 MovieClip "runner" in Symbol 295 MovieClip Frame 1
onClipEvent (load) {
}
Symbol 295 MovieClip Frame 10
_root.runnerVulnerable = 0;
Symbol 295 MovieClip Frame 73
gotoAndStop ("fine");
Symbol 296 MovieClip Frame 1
_root.runnerRun = function () {
if (_root.runnerAlive == 1) {
runner.runner.gotoAndStop("running");
}
};
_root.runnerStop = function () {
if (_root.runnerAlive == 1) {
runner.runner.gotoAndStop("standing");
}
};
_root.runnerFall = function () {
if (_root.runnerAlive == 1) {
_root.runnerAlive = 0;
runner.runner.gotoAndStop("fallen");
}
};
_root.runnerHurt = function () {
if (_root.runnerAlive == 1) {
runner.gotoAndPlay("hurt");
}
};
stop();
Instance of Symbol 295 MovieClip "runner" in Symbol 296 MovieClip Frame 1
onClipEvent (load) {
_root.runnerAlive = 1;
}
Symbol 308 MovieClip Frame 1
stop();
Symbol 308 MovieClip Frame 2
stop();
Symbol 309 MovieClip Frame 1
if (_name == "starterLamp") {
this._visible = 0;
stop();
} else {
_x = _root.mazeData[myRow][myCol].xPos;
_y = _root.mazeData[myRow][myCol].yPos;
gotoAndPlay ("waiting");
}
Symbol 309 MovieClip Frame 6
if (hitTest(_parent._parent.runner)) {
_root.nbrItemsFound++;
_root.playSound("light");
myLamp.gotoAndStop("on");
_root.updateScore(20);
if (_root.nbrItemsFound == _root.nbrItems) {
_root.sendUpdate("ALL LAMPS ARE NOW LIT \u2014 RETURN TO THE GLADE");
} else if ((_root.nbrItems - _root.nbrItemsFound) > 1) {
_root.sendUpdate(("LAMP IS LIT \u2014 " + (_root.nbrItems - _root.nbrItemsFound)) + " UNLIT LAMPS REMAIN");
} else {
_root.sendUpdate(("LAMP IS LIT \u2014 " + (_root.nbrItems - _root.nbrItemsFound)) + " UNLIT LAMP REMAINS");
}
gotoAndPlay ("lit");
} else {
gotoAndPlay ("waiting");
}
Symbol 309 MovieClip Frame 2700
_root.nbrItemsFound--;
myLamp.gotoAndStop("off");
_root.sendUpdate("ONE OF YOUR LAMPS JUST WENT OUT");
gotoAndPlay ("waiting");
Symbol 317 MovieClip Frame 1
if (_name == "starterRunner") {
this._visible = 0;
stop();
} else {
_x = _root.mazeData[myRow][myCol].xPos;
_y = _root.mazeData[myRow][myCol].yPos;
gotoAndPlay ("loop");
}
Symbol 317 MovieClip Frame 6
if (hitTest(_parent._parent.runner)) {
_root.nbrItemsFound++;
_root.playSound("wounded");
_root.updateScore(20);
if (_root.nbrItemsFound == _root.nbrItems) {
_root.sendUpdate("LAST RUNNER RESCUED \u2014 RETURN TO GLADE");
} else if ((_root.nbrItems - _root.nbrItemsFound) > 1) {
_root.sendUpdate(("RUNNER RESCUED \u2014 " + (_root.nbrItems - _root.nbrItemsFound)) + " WOUNDED RUNNERS LEFT");
} else {
_root.sendUpdate(("RUNNER RESCUED \u2014 " + (_root.nbrItems - _root.nbrItemsFound)) + " WOUNDED RUNNER LEFT");
}
_root.removeMarker(_name);
this.removeMovieClip();
} else {
gotoAndPlay ("loop");
}
Symbol 320 MovieClip Frame 1
if (_name == "starterBox") {
this._visible = 0;
stop();
} else {
_x = _root.mazeData[myRow][myCol].xPos;
_y = _root.mazeData[myRow][myCol].yPos;
gotoAndPlay ("loop");
}
Symbol 320 MovieClip Frame 6
if (hitTest(_parent._parent.runner)) {
_root.nbrItemsFound++;
_root.playSound("box");
_root.updateScore(20);
if (_root.nbrItemsFound >= _root.nbrItems) {
_root.sendUpdate("LAST CRATE FOUND \u2014 RETURN TO GLADE");
} else if ((_root.nbrItems - _root.nbrItemsFound) > 1) {
_root.sendUpdate(("CRATE OF SUPPLIES FOUND \u2014 " + (_root.nbrItems - _root.nbrItemsFound)) + " CRATES LEFT TO FIND");
} else {
_root.sendUpdate(("CRATE OF SUPPLIES FOUND \u2014 " + (_root.nbrItems - _root.nbrItemsFound)) + " CRATE LEFT TO FIND");
}
this.removeMovieClip();
} else {
gotoAndPlay ("loop");
}
Symbol 321 MovieClip Frame 30
switch (_root.levelNbr) {
case 3 :
var count = 1;
while (count <= _root.nbrItems) {
var done = 0;
while (done == 0) {
var tempRow = (random(_root.nbrMazeRows) + 1);
var tempCol = (random(_root.nbrMazeCols) + 1);
if (_root.mazeData[tempRow][tempCol].mazeCenter == 0) {
starterRunner.duplicateMovieClip("runner" + count, 100 + count, {myRow:tempRow, myCol:tempCol});
_root.addMarker("runner" + count, tempRow, tempCol);
done = 1;
}
}
count++;
}
break;
case 4 :
var count = 1;
while (count <= (_root.nbrItems + 4)) {
var done = 0;
while (done == 0) {
var tempRow = (random(_root.nbrMazeRows) + 1);
var tempCol = (random(_root.nbrMazeCols) + 1);
if (_root.mazeData[tempRow][tempCol].mazeCenter == 0) {
starterBox.duplicateMovieClip("box" + count, 100 + count, {myRow:tempRow, myCol:tempCol});
done = 1;
}
}
count++;
}
break;
case 6 :
starterLamp.duplicateMovieClip("lamp1", 101, {myRow:random(5) + 1, myCol:random(5) + 1});
starterLamp.duplicateMovieClip("lamp2", 102, {myRow:random(5) + 1, myCol:_root.nbrMazeCols - random(5)});
starterLamp.duplicateMovieClip("lamp3", 103, {myRow:_root.nbrMazeRows - random(5), myCol:_root.nbrMazeCols - random(5)});
starterLamp.duplicateMovieClip("lamp4", 104, {myRow:_root.nbrMazeRows - random(5), myCol:random(5) + 1});
break;
case 8 :
var count = 1;
for(;;){
if (count > _root.nbrItems) {
break;
}
var done = 0;
while (done == 0) {
var tempRow = (random(_root.nbrMazeRows) + 1);
var tempCol = (random(_root.nbrMazeCols) + 1);
if (_root.mazeData[tempRow][tempCol].mazeCenter == 0) {
starterRunner.duplicateMovieClip("runner" + count, 100 + count, {myRow:tempRow, myCol:tempCol});
_root.addMarker("runner" + count, tempRow, tempCol);
done = 1;
}
}
count++;
};
}
stop();
Instance of Symbol 326 MovieClip in Symbol 334 MovieClip Frame 1
onClipEvent (load) {
gotoAndPlay (8);
}
Instance of Symbol 326 MovieClip in Symbol 334 MovieClip Frame 1
onClipEvent (load) {
gotoAndPlay (16);
}
Instance of Symbol 326 MovieClip in Symbol 334 MovieClip Frame 1
onClipEvent (load) {
gotoAndPlay (8);
}
Instance of Symbol 326 MovieClip in Symbol 334 MovieClip Frame 1
onClipEvent (load) {
gotoAndPlay (16);
}
Symbol 335 MovieClip Frame 1
function signalChangeModes(newMode) {
nextMode = newMode;
if ((_x == _root.mazeData[myRow][myCol].xPos) && (_y == _root.mazeData[myRow][myCol].yPos)) {
changeModes();
}
}
function changeModes() {
myMode = nextMode;
nextMode = null;
if (myMode == 1) {
var _local2 = 0;
while (_local2 == 0) {
myDirection = random(4) + 1;
switch (myDirection) {
case 1 :
if (_root.mazeData[myRow][myCol].leftWall == 0) {
_local2 = 1;
}
break;
case 2 :
if (_root.mazeData[myRow][myCol].topWall == 0) {
_local2 = 1;
}
break;
case 3 :
if (_root.mazeData[myRow][myCol].rightWall == 0) {
_local2 = 1;
}
break;
case 4 :
if (_root.mazeData[myRow][myCol].bottomWall != 0) {
break;
}
_local2 = 1;
}
}
} else if (myMode == 2) {
finalRow = _root.currCell.myRow;
finalCol = _root.currCell.myCol;
nextRow = null;
nextCol = null;
} else if (myMode == 3) {
var _local2 = 0;
while (_local2 == 0) {
finalRow = (myRow + random(zoneRange)) - (zoneRange / 2);
finalCol = (myCol + random(zoneRange)) - (zoneRange / 2);
if (finalRow < 1) {
finalRow = 1;
} else if (finalRow > _root.nbrMazeRows) {
finalRow = _root.nbrMazeRows;
}
if (finalCol < 1) {
finalCol = 1;
} else if (finalCol > _root.nbrMazeCols) {
finalCol = _root.nbrMazeCols;
}
if ((_root.mazeData[finalRow][finalCol].mazeCenter == 0) && ((finalRow != myRow) && (finalCol != myCol))) {
_local2 = 1;
}
}
nextRow = null;
nextCol = null;
}
}
function updateMyPos() {
if (myMode == 1) {
switch (myDirection) {
case 1 :
_x = (_x - mySpeed);
if ((_x < (((_root.mazeData[myRow][myCol].xPos - (_root.cellWidth / 2)) + (_width / 2)) + _root.leftLimit)) && (_root.mazeData[myRow][myCol].leftWall == 1)) {
myDirection = 3;
_x = (((_root.mazeData[myRow][myCol].xPos - (_root.cellWidth / 2)) + (_width / 2)) + _root.leftLimit);
}
if (_x < ((_root.mazeData[myRow][myCol].xPos - (_root.cellWidth / 2)) + (_width / 2))) {
if (_root.mazeData[myRow][myCol - 1].mazeCenter == 1) {
myDirection = 3;
_x = ((_root.mazeData[myRow][myCol].xPos - (_root.cellWidth / 2)) + (_width / 2));
} else {
myCol--;
checkVisibility();
}
}
break;
case 2 :
_y = (_y - mySpeed);
if ((_y < (((_root.mazeData[myRow][myCol].yPos - (_root.cellHeight / 2)) + (_height / 2)) + _root.topLimit)) && (_root.mazeData[myRow][myCol].topWall == 1)) {
myDirection = 4;
_y = (((_root.mazeData[myRow][myCol].yPos - (_root.cellHeight / 2)) + (_height / 2)) + _root.topLimit);
}
if (_y < ((_root.mazeData[myRow][myCol].yPos - (_root.cellHeight / 2)) + (_height / 2))) {
if (_root.mazeData[myRow - 1][myCol].mazeCenter == 1) {
myDirection = 4;
_y = ((_root.mazeData[myRow][myCol].yPos - (_root.cellHeight / 2)) + (_height / 2));
} else {
myRow--;
checkVisibility();
}
}
break;
case 3 :
_x = (_x + mySpeed);
if ((_x > (((_root.mazeData[myRow][myCol + 1].xPos + (_root.cellWidth / 2)) - (_width / 2)) - _root.rightLimit)) && (_root.mazeData[myRow][myCol].rightWall == 1)) {
myDirection = 1;
_x = (((_root.mazeData[myRow][myCol + 1].xPos + (_root.cellWidth / 2)) - (_width / 2)) - _root.rightLimit);
}
if (_x > ((_root.mazeData[myRow][myCol + 1].xPos + (_root.cellWidth / 2)) - (_width / 2))) {
if (_root.mazeData[myRow][myCol + 2].mazeCenter == 1) {
myDirection = 1;
_x = ((_root.mazeData[myRow][myCol + 1].xPos + (_root.cellWidth / 2)) - (_width / 2));
} else {
myCol++;
checkVisibility();
}
}
break;
case 4 :
_y = (_y + mySpeed);
if ((_y > (((_root.mazeData[myRow + 1][myCol].yPos + (_root.cellHeight / 2)) - (_height / 2)) - _root.bottomLimit)) && (_root.mazeData[myRow][myCol].bottomWall == 1)) {
myDirection = 2;
_y = (((_root.mazeData[myRow + 1][myCol].yPos + (_root.cellHeight / 2)) - (_height / 2)) - _root.bottomLimit);
}
if (_y <= ((_root.mazeData[myRow + 1][myCol].yPos + (_root.cellHeight / 2)) - (_height / 2))) {
break;
}
if (_root.mazeData[myRow + 2][myCol].mazeCenter == 1) {
myDirection = 2;
_y = ((_root.mazeData[myRow + 1][myCol].yPos + (_root.cellHeight / 2)) - (_height / 2));
} else {
myRow++;
checkVisibility();
}
}
} else {
if (nextRow == null) {
if ((((finalRow < myRow) && (myDirection != 4)) && (_root.mazeData[myRow][myCol].topWall == 0)) && (_root.mazeData[myRow - 1][myCol].mazeCenter == 0)) {
nextRow = myRow - 1;
nextCol = myCol;
myDirection = 2;
} else if ((((finalRow > myRow) && (myDirection != 2)) && (_root.mazeData[myRow][myCol].bottomWall == 0)) && (_root.mazeData[myRow + 1][myCol].mazeCenter == 0)) {
nextRow = myRow + 1;
nextCol = myCol;
myDirection = 4;
} else if ((((finalCol < myCol) && (myDirection != 3)) && (_root.mazeData[myRow][myCol].leftWall == 0)) && (_root.mazeData[myRow][myCol - 1].mazeCenter == 0)) {
nextRow = myRow;
nextCol = myCol - 1;
myDirection = 1;
} else if ((((finalCol > myCol) && (myDirection != 1)) && (_root.mazeData[myRow][myCol].rightWall == 0)) && (_root.mazeData[myRow][myCol + 1].mazeCenter == 0)) {
nextRow = myRow;
nextCol = myCol + 1;
myDirection = 3;
} else {
var _local4 = 0;
while (_local4 == 0) {
var _local3 = random(4) + 1;
switch (_local3) {
case 1 :
if (((_root.mazeData[myRow][myCol].leftWall == 0) && (_root.mazeData[myRow][myCol - 1].mazeCenter == 0)) && ((myCol - 1) > 0)) {
_local4 = 1;
myDirection = _local3;
nextRow = myRow;
nextCol = myCol - 1;
}
break;
case 2 :
if (((_root.mazeData[myRow][myCol].topWall == 0) && (_root.mazeData[myRow - 1][myCol].mazeCenter == 0)) && ((myRow - 1) > 0)) {
_local4 = 1;
myDirection = _local3;
nextRow = myRow - 1;
nextCol = myCol;
}
break;
case 3 :
if (((_root.mazeData[myRow][myCol].rightWall == 0) && (_root.mazeData[myRow][myCol + 1].mazeCenter == 0)) && ((myCol + 1) <= _root.nbrMazeCols)) {
_local4 = 1;
myDirection = _local3;
nextRow = myRow;
nextCol = myCol + 1;
}
break;
case 4 :
if (!(((_root.mazeData[myRow][myCol].bottomWall == 0) && (_root.mazeData[myRow + 1][myCol].mazeCenter == 0)) && ((myRow + 1) <= _root.nbrMazeRows))) {
break;
}
_local4 = 1;
myDirection = _local3;
nextRow = myRow + 1;
nextCol = myCol;
}
}
}
}
switch (myDirection) {
case 1 :
_x = (_x - mySpeed);
if (_x < _root.mazeData[nextRow][nextCol].xPos) {
_x = _root.mazeData[nextRow][nextCol].xPos;
}
if (_x < ((_root.mazeData[myRow][myCol].xPos - (_root.cellWidth / 2)) + (_width / 2))) {
myCol--;
}
this._rotation = 180;
break;
case 2 :
_y = (_y - mySpeed);
if (_y < _root.mazeData[nextRow][nextCol].yPos) {
_y = _root.mazeData[nextRow][nextCol].yPos;
}
if (_y < ((_root.mazeData[myRow][myCol].yPos - (_root.cellHeight / 2)) + (_height / 2))) {
myRow--;
}
this._rotation = -90;
break;
case 3 :
_x = (_x + mySpeed);
if (_x > _root.mazeData[nextRow][nextCol].xPos) {
_x = _root.mazeData[nextRow][nextCol].xPos;
}
if (_x > ((_root.mazeData[myRow][myCol].xPos + (_root.cellWidth / 2)) - (_width / 2))) {
myCol++;
}
this._rotation = 0;
break;
case 4 :
_y = (_y + mySpeed);
if (_y > _root.mazeData[nextRow][nextCol].yPos) {
_y = _root.mazeData[nextRow][nextCol].yPos;
}
if (_y > ((_root.mazeData[myRow][myCol].yPos + (_root.cellHeight / 2)) - (_height / 2))) {
myRow++;
}
this._rotation = 90;
}
myRad._x = _x;
myRad._y = _y;
if ((_x == _root.mazeData[finalRow][finalCol].xPos) && (_y == _root.mazeData[finalRow][finalCol].yPos)) {
signalChangeModes(3);
} else if ((_x == _root.mazeData[nextRow][nextCol].xPos) && (_y == _root.mazeData[nextRow][nextCol].yPos)) {
nextRow = null;
nextCol = null;
if (nextMode != null) {
changeModes();
}
}
}
}
function checkVisibility() {
}
function runAway() {
iShouldRunAway = 1;
gotoAndPlay ("runAway");
}
_root.attackRange = 2;
nextMode = null;
if (_name != "starterBeetle") {
_x = _root.mazeData[myRow][myCol].xPos;
_y = _root.mazeData[myRow][myCol].yPos;
myRad = eval ("_parent._parent.beetleRads.beetleRad" + _name.substr(6));
checkVisibility();
mySpeed = _root.BEETLESPEED;
myDirection = 0;
zoneRange = 4;
signalChangeModes(3);
gotoAndPlay ("loop");
} else {
this._visible = 0;
stop();
}
Symbol 335 MovieClip Frame 6
if (iShouldRunAway == null) {
updateMyPos();
checkVisibility();
gotoAndPlay ("loop");
} else {
var tempGriever = 1;
while (tempGriever <= _root.nbrGrievers) {
if ((Math.abs(_parent["griever" + tempGriever].myRow - _root.currCell.myRow) <= _root.beetleAlarmRange) && (Math.abs(_parent["griever" + tempGriever].myCol - _root.currCell.myCol) <= _root.beetleAlarmRange)) {
_parent["griever" + tempGriever].signalChangeModes(2);
_parent["griever" + tempGriever].mySpeed = _root.GRIEVERSPEED * 2;
}
tempGriever++;
}
if (_root.mazeData[myRow][myCol].leftWall == 1) {
myDirection = 1;
this._rotation = 180;
} else if (_root.mazeData[myRow][myCol].topWall == 1) {
myDirection = 2;
this._rotation = -90;
} else if (_root.mazeData[myRow][myCol].rightWall == 1) {
myDirection = 3;
this._rotation = 0;
} else if (_root.mazeData[myRow][myCol].bottomWall == 1) {
myDirection = 4;
this._rotation = 90;
}
mySpeed = _root.BEETLESPEED * 4;
_root.playSound("beetle");
_root.sendUpdate("WARNING: BEETLE BLADE HAS ALERTED NEARBY GRIEVERS");
gotoAndPlay ("runAway");
}
Symbol 335 MovieClip Frame 11
switch (myDirection) {
case 1 :
_x = (_x - mySpeed);
if (_x < ((_root.mazeData[myRow][myCol].xPos - (_root.cellWidth / 2)) + (_width / 2))) {
this.removeMovieClip();
}
break;
case 2 :
_y = (_y - mySpeed);
if (_y < ((_root.mazeData[myRow][myCol].yPos - (_root.cellHeight / 2)) + (_height / 2))) {
this.removeMovieClip();
}
break;
case 3 :
_x = (_x + mySpeed);
if (_x > ((_root.mazeData[myRow][myCol].xPos + (_root.cellWidth / 2)) - (_width / 2))) {
this.removeMovieClip();
}
break;
case 4 :
_y = (_y + mySpeed);
if (_y <= ((_root.mazeData[myRow][myCol].yPos + (_root.cellHeight / 2)) - (_height / 2))) {
break;
}
this.removeMovieClip();
}
gotoAndPlay ("runAway");
Symbol 341 MovieClip Frame 1
pick = random(34) + 2;
gotoAndPlay(pick);
Symbol 344 MovieClip Frame 1
pick = random(10) + 2;
gotoAndPlay(pick);
Symbol 344 MovieClip Frame 13
pick = random(3);
switch (pick) {
case 0 :
gotoAndPlay ("a");
break;
case 1 :
gotoAndPlay ("b");
break;
case 2 :
gotoAndPlay ("c");
}
Symbol 353 MovieClip Frame 1
pick = random(24) + 2;
gotoAndPlay(pick);
Symbol 358 MovieClip Frame 2
stop();
Symbol 358 MovieClip Frame 4
stop();
Symbol 359 MovieClip Frame 1
function signalChangeModes(newMode) {
nextMode = newMode;
if ((_x == _root.mazeData[myRow][myCol].xPos) && (_y == _root.mazeData[myRow][myCol].yPos)) {
changeModes();
}
}
function changeModes() {
myMode = nextMode;
nextMode = null;
if (myMode == 1) {
var _local2 = 0;
while (_local2 == 0) {
myDirection = random(4) + 1;
switch (myDirection) {
case 1 :
if (_root.mazeData[myRow][myCol].leftWall == 0) {
_local2 = 1;
}
break;
case 2 :
if (_root.mazeData[myRow][myCol].topWall == 0) {
_local2 = 1;
}
break;
case 3 :
if (_root.mazeData[myRow][myCol].rightWall == 0) {
_local2 = 1;
}
break;
case 4 :
if (_root.mazeData[myRow][myCol].bottomWall != 0) {
break;
}
_local2 = 1;
}
}
} else if (myMode == 2) {
finalRow = _root.currCell.myRow;
finalCol = _root.currCell.myCol;
mySpeed = _root.GRIEVERSPEED * 2;
nextRow = null;
nextCol = null;
} else if (myMode == 3) {
mySpeed = _root.GRIEVERSPEED;
var _local2 = 0;
while (_local2 == 0) {
finalRow = (myRow + random(zoneRange)) - (zoneRange / 2);
finalCol = (myCol + random(zoneRange)) - (zoneRange / 2);
if (finalRow < 1) {
finalRow = 1;
} else if (finalRow > _root.nbrMazeRows) {
finalRow = _root.nbrMazeRows;
}
if (finalCol < 1) {
finalCol = 1;
} else if (finalCol > _root.nbrMazeCols) {
finalCol = _root.nbrMazeCols;
}
if ((_root.mazeData[finalRow][finalCol].mazeCenter == 0) && ((finalRow != myRow) && (finalCol != myCol))) {
_local2 = 1;
}
}
nextRow = null;
nextCol = null;
}
}
function updateMyPos() {
if (myMode == 1) {
switch (myDirection) {
case 1 :
_x = (_x - mySpeed);
if ((_x < (((_root.mazeData[myRow][myCol].xPos - (_root.cellWidth / 2)) + (_width / 2)) + _root.leftLimit)) && (_root.mazeData[myRow][myCol].leftWall == 1)) {
myDirection = 3;
_x = (((_root.mazeData[myRow][myCol].xPos - (_root.cellWidth / 2)) + (_width / 2)) + _root.leftLimit);
}
if (_x < ((_root.mazeData[myRow][myCol].xPos - (_root.cellWidth / 2)) + (_width / 2))) {
if (_root.mazeData[myRow][myCol - 1].mazeCenter == 1) {
myDirection = 3;
_x = ((_root.mazeData[myRow][myCol].xPos - (_root.cellWidth / 2)) + (_width / 2));
} else {
myCol--;
checkVisibility();
}
}
break;
case 2 :
_y = (_y - mySpeed);
if ((_y < (((_root.mazeData[myRow][myCol].yPos - (_root.cellHeight / 2)) + (_height / 2)) + _root.topLimit)) && (_root.mazeData[myRow][myCol].topWall == 1)) {
myDirection = 4;
_y = (((_root.mazeData[myRow][myCol].yPos - (_root.cellHeight / 2)) + (_height / 2)) + _root.topLimit);
}
if (_y < ((_root.mazeData[myRow][myCol].yPos - (_root.cellHeight / 2)) + (_height / 2))) {
if (_root.mazeData[myRow - 1][myCol].mazeCenter == 1) {
myDirection = 4;
_y = ((_root.mazeData[myRow][myCol].yPos - (_root.cellHeight / 2)) + (_height / 2));
} else {
myRow--;
checkVisibility();
}
}
break;
case 3 :
_x = (_x + mySpeed);
if ((_x > (((_root.mazeData[myRow][myCol + 1].xPos + (_root.cellWidth / 2)) - (_width / 2)) - _root.rightLimit)) && (_root.mazeData[myRow][myCol].rightWall == 1)) {
myDirection = 1;
_x = (((_root.mazeData[myRow][myCol + 1].xPos + (_root.cellWidth / 2)) - (_width / 2)) - _root.rightLimit);
}
if (_x > ((_root.mazeData[myRow][myCol + 1].xPos + (_root.cellWidth / 2)) - (_width / 2))) {
if (_root.mazeData[myRow][myCol + 2].mazeCenter == 1) {
myDirection = 1;
_x = ((_root.mazeData[myRow][myCol + 1].xPos + (_root.cellWidth / 2)) - (_width / 2));
} else {
myCol++;
checkVisibility();
}
}
break;
case 4 :
_y = (_y + mySpeed);
if ((_y > (((_root.mazeData[myRow + 1][myCol].yPos + (_root.cellHeight / 2)) - (_height / 2)) - _root.bottomLimit)) && (_root.mazeData[myRow][myCol].bottomWall == 1)) {
myDirection = 2;
_y = (((_root.mazeData[myRow + 1][myCol].yPos + (_root.cellHeight / 2)) - (_height / 2)) - _root.bottomLimit);
}
if (_y <= ((_root.mazeData[myRow + 1][myCol].yPos + (_root.cellHeight / 2)) - (_height / 2))) {
break;
}
if (_root.mazeData[myRow + 2][myCol].mazeCenter == 1) {
myDirection = 2;
_y = ((_root.mazeData[myRow + 1][myCol].yPos + (_root.cellHeight / 2)) - (_height / 2));
} else {
myRow++;
checkVisibility();
}
}
} else {
if (nextRow == null) {
if ((((finalRow < myRow) && (myDirection != 4)) && (_root.mazeData[myRow][myCol].topWall == 0)) && (_root.mazeData[myRow - 1][myCol].mazeCenter == 0)) {
nextRow = myRow - 1;
nextCol = myCol;
myDirection = 2;
} else if ((((finalRow > myRow) && (myDirection != 2)) && (_root.mazeData[myRow][myCol].bottomWall == 0)) && (_root.mazeData[myRow + 1][myCol].mazeCenter == 0)) {
nextRow = myRow + 1;
nextCol = myCol;
myDirection = 4;
} else if ((((finalCol < myCol) && (myDirection != 3)) && (_root.mazeData[myRow][myCol].leftWall == 0)) && (_root.mazeData[myRow][myCol - 1].mazeCenter == 0)) {
nextRow = myRow;
nextCol = myCol - 1;
myDirection = 1;
} else if ((((finalCol > myCol) && (myDirection != 1)) && (_root.mazeData[myRow][myCol].rightWall == 0)) && (_root.mazeData[myRow][myCol + 1].mazeCenter == 0)) {
nextRow = myRow;
nextCol = myCol + 1;
myDirection = 3;
} else {
var _local3 = 0;
while (_local3 == 0) {
var _local2 = random(4) + 1;
switch (_local2) {
case 1 :
if (((_root.mazeData[myRow][myCol].leftWall == 0) && (_root.mazeData[myRow][myCol - 1].mazeCenter == 0)) && ((myCol - 1) > 0)) {
_local3 = 1;
myDirection = _local2;
nextRow = myRow;
nextCol = myCol - 1;
}
break;
case 2 :
if (((_root.mazeData[myRow][myCol].topWall == 0) && (_root.mazeData[myRow - 1][myCol].mazeCenter == 0)) && ((myRow - 1) > 0)) {
_local3 = 1;
myDirection = _local2;
nextRow = myRow - 1;
nextCol = myCol;
}
break;
case 3 :
if (((_root.mazeData[myRow][myCol].rightWall == 0) && (_root.mazeData[myRow][myCol + 1].mazeCenter == 0)) && ((myCol + 1) <= _root.nbrMazeCols)) {
_local3 = 1;
myDirection = _local2;
nextRow = myRow;
nextCol = myCol + 1;
}
break;
case 4 :
if (!(((_root.mazeData[myRow][myCol].bottomWall == 0) && (_root.mazeData[myRow + 1][myCol].mazeCenter == 0)) && ((myRow + 1) <= _root.nbrMazeRows))) {
break;
}
_local3 = 1;
myDirection = _local2;
nextRow = myRow + 1;
nextCol = myCol;
}
}
}
}
if (_root.mazeData[myRow][myCol].floorState == "rubble") {
var _local4 = 1;
} else {
var _local4 = 0;
}
switch (myDirection) {
case 1 :
_x = (_x - (mySpeed + (_local4 * ((-mySpeed) * 0.5))));
if (_x < _root.mazeData[nextRow][nextCol].xPos) {
_x = _root.mazeData[nextRow][nextCol].xPos;
}
if (_x < ((_root.mazeData[myRow][myCol].xPos - (_root.cellWidth / 2)) + (_width / 2))) {
myCol--;
}
break;
case 2 :
_y = (_y - (mySpeed + (_local4 * ((-mySpeed) * 0.5))));
if (_y < _root.mazeData[nextRow][nextCol].yPos) {
_y = _root.mazeData[nextRow][nextCol].yPos;
}
if (_y < ((_root.mazeData[myRow][myCol].yPos - (_root.cellHeight / 2)) + (_height / 2))) {
myRow--;
}
break;
case 3 :
_x = (_x + (mySpeed + (_local4 * ((-mySpeed) * 0.5))));
if (_x > _root.mazeData[nextRow][nextCol].xPos) {
_x = _root.mazeData[nextRow][nextCol].xPos;
}
if (_x > ((_root.mazeData[myRow][myCol].xPos + (_root.cellWidth / 2)) - (_width / 2))) {
myCol++;
}
break;
case 4 :
_y = (_y + (mySpeed + (_local4 * ((-mySpeed) * 0.5))));
if (_y > _root.mazeData[nextRow][nextCol].yPos) {
_y = _root.mazeData[nextRow][nextCol].yPos;
}
if (_y <= ((_root.mazeData[myRow][myCol].yPos + (_root.cellHeight / 2)) - (_height / 2))) {
break;
}
myRow++;
}
if ((_x == _root.mazeData[finalRow][finalCol].xPos) && (_y == _root.mazeData[finalRow][finalCol].yPos)) {
signalChangeModes(3);
} else if ((_x == _root.mazeData[nextRow][nextCol].xPos) && (_y == _root.mazeData[nextRow][nextCol].yPos)) {
nextRow = null;
nextCol = null;
if (nextMode != null) {
changeModes();
}
}
}
}
function checkVisibility() {
if ((Math.abs(myRow - _root.currCell.myRow) > _root.monsterRange) || (Math.abs(myCol - _root.currCell.myCol) > _root.monsterRange)) {
myGriever.gotoAndStop("off");
} else {
myGriever.gotoAndStop("on");
}
if (((Math.abs(myRow - _root.currCell.myRow) < _root.attackRange) && (Math.abs(myCol - _root.currCell.myCol) < _root.attackRange)) && (_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].floorState != "overgrown")) {
signalChangeModes(2);
} else if (myMode != 2) {
}
}
_root.attackRange = 2;
nextMode = null;
if (_name != "starterGriever") {
_x = _root.mazeData[myRow][myCol].xPos;
_y = _root.mazeData[myRow][myCol].yPos;
checkVisibility();
mySpeed = _root.GRIEVERSPEED;
myDirection = 0;
zoneRange = 4;
signalChangeModes(3);
gotoAndPlay ("loop");
} else {
this._visible = 0;
stop();
}
Symbol 359 MovieClip Frame 6
updateMyPos();
if (hitTest(_parent._parent.runner)) {
if (((_root.runnerVulnerable == 1) && (_root.gameOn == 1)) && (_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].floorState != "overgrown")) {
_root.playSound("griever");
var lifeChange = (-30 + (_root.runnerArmor * 15));
_root.updateLife(lifeChange);
_root.sendUpdate(("GRIEVER ATTACK: " + lifeChange) + "% HEALTH");
}
}
checkVisibility();
gotoAndPlay ("loop");
Symbol 360 MovieClip Frame 1
_root.createGriever = function (thisRow, thisCol, thisNbr) {
starterGriever.duplicateMovieClip("griever" + thisNbr, thisNbr + 100, {myRow:thisRow, myCol:thisCol});
};
var count = 1;
while (count <= _root.nbrGrievers) {
var done = 0;
while (done == 0) {
var randomRow = (random(_root.nbrMazeRows) + 1);
var randomCol = (random(_root.nbrMazeCols) + 1);
if (_root.mazeData[randomRow][randomCol].mazeCenter == 0) {
done = 1;
_root.createGriever(randomRow, randomCol, count);
}
}
count++;
}
_root.createBeetle = function (thisRow, thisCol, thisNbr) {
starterBeetle.duplicateMovieClip("beetle" + thisNbr, thisNbr + 100, {myRow:thisRow, myCol:thisCol});
_parent.beetleRads.starterBeetleRad.duplicateMovieClip("beetleRad" + thisNbr, thisNbr + 100, {myRow:thisRow, myCol:thisCol});
};
var count = 1;
while (count <= _root.nbrBeetles) {
var done = 0;
while (done == 0) {
var randomRow = (random(_root.nbrMazeRows) + 1);
var randomCol = (random(_root.nbrMazeCols) + 1);
if (_root.mazeData[randomRow][randomCol].mazeCenter == 0) {
done = 1;
_root.createBeetle(randomRow, randomCol, count + 500);
}
}
count++;
}
var myListener = new Object();
myListener.onKeyDown = function () {
if (Key.isDown(32)) {
trace("attack!");
griever1.signalChangeModes(2);
}
};
Key.addListener(myListener);
stop();
Symbol 363 MovieClip Frame 1
function updateWalls() {
_x = _root.mazeData[myRow][myCol].xPos;
_y = _root.mazeData[myRow][myCol].yPos;
stop();
}
updateWalls();
Symbol 363 MovieClip Frame 6
stop();
Symbol 363 MovieClip Frame 11
stop();
Symbol 364 MovieClip Frame 1
starterOvergrowth._visible = 0;
stop();
Symbol 377 MovieClip Frame 5
gotoAndStop((_currentframe + 1) + random(3));
Symbol 377 MovieClip Frame 10
stop();
Symbol 377 MovieClip Frame 15
stop();
Symbol 377 MovieClip Frame 20
stop();
Symbol 377 MovieClip Frame 25
stop();
Symbol 377 MovieClip Frame 30
stop();
Symbol 378 MovieClip Frame 1
function powerupHit() {
_root.playSound("powerup");
_root.nbrPowerupsFound++;
_root.updateScore(20);
switch (myPower) {
case "health" :
_root.updateLife(10);
_root.sendUpdate("BONUS: +10% HEALTH");
break;
case "speed" :
_root.powerupSpeed();
break;
case "armor" :
_root.powerupArmor();
break;
case "light" :
_root.powerupLight();
break;
case "pencil" :
_root.revealRange = 3;
_root.drawSmallMaze("all");
_root.sendUpdate("BONUS: MAPPING ABILITY IMPROVED");
break;
case "time" :
_root.changeStartTime(10000);
_root.sendUpdate("BONUS: +10 SECONDS TIME");
}
this.removeMovieClip();
}
powerupsStatic.gotoAndPlay(myPower);
_x = _root.mazeData[myRow][myCol].xPos;
_y = _root.mazeData[myRow][myCol].yPos;
if (_name != "starterPowerup") {
gotoAndPlay ("loop");
} else {
this._visible = 0;
stop();
}
Symbol 378 MovieClip Frame 6
if (hitTest(_parent._parent.runner)) {
powerupHit();
stop();
} else {
gotoAndPlay ("loop");
}
Symbol 379 MovieClip Frame 1
nbrPowerups = 1;
var count = 1;
while (count <= _root.nbrPowerupHealth) {
var done = 0;
while (done == 0) {
var tempRow = (random(_root.nbrMazeRows) + 1);
var tempCol = (random(_root.nbrMazeCols) + 1);
if (_root.mazeData[tempRow][tempCol].mazeCenter == 0) {
done = 1;
starterPowerup.duplicateMovieClip("powerup" + nbrPowerups, 100 + nbrPowerups, {myRow:tempRow, myCol:tempCol, myPower:"health"});
nbrPowerups++;
}
}
count++;
}
var count = 1;
while (count <= _root.nbrPowerupSpeed) {
var done = 0;
while (done == 0) {
var tempRow = (random(_root.nbrMazeRows) + 1);
var tempCol = (random(_root.nbrMazeCols) + 1);
if (_root.mazeData[tempRow][tempCol].mazeCenter == 0) {
done = 1;
starterPowerup.duplicateMovieClip("powerup" + nbrPowerups, 100 + nbrPowerups, {myRow:tempRow, myCol:tempCol, myPower:"speed"});
nbrPowerups++;
}
}
count++;
}
var count = 1;
while (count <= _root.nbrPowerupArmor) {
var done = 0;
while (done == 0) {
var tempRow = (random(_root.nbrMazeRows) + 1);
var tempCol = (random(_root.nbrMazeCols) + 1);
if (_root.mazeData[tempRow][tempCol].mazeCenter == 0) {
done = 1;
starterPowerup.duplicateMovieClip("powerup" + nbrPowerups, 100 + nbrPowerups, {myRow:tempRow, myCol:tempCol, myPower:"armor"});
nbrPowerups++;
}
}
count++;
}
var count = 1;
while (count <= _root.nbrPowerupLight) {
var done = 0;
while (done == 0) {
var tempRow = (random(_root.nbrMazeRows) + 1);
var tempCol = (random(_root.nbrMazeCols) + 1);
if (_root.mazeData[tempRow][tempCol].mazeCenter == 0) {
done = 1;
starterPowerup.duplicateMovieClip("powerup" + nbrPowerups, 100 + nbrPowerups, {myRow:tempRow, myCol:tempCol, myPower:"light"});
nbrPowerups++;
}
}
count++;
}
var count = 1;
while (count <= _root.nbrPowerupPencil) {
var done = 0;
while (done == 0) {
var tempRow = (random(_root.nbrMazeRows) + 1);
var tempCol = (random(_root.nbrMazeCols) + 1);
if (_root.mazeData[tempRow][tempCol].mazeCenter == 0) {
done = 1;
starterPowerup.duplicateMovieClip("powerup" + nbrPowerups, 100 + nbrPowerups, {myRow:tempRow, myCol:tempCol, myPower:"pencil"});
nbrPowerups++;
}
}
count++;
}
var count = 1;
while (count <= _root.nbrPowerupTime) {
var done = 0;
while (done == 0) {
var tempRow = (random(_root.nbrMazeRows) + 1);
var tempCol = (random(_root.nbrMazeCols) + 1);
if (_root.mazeData[tempRow][tempCol].mazeCenter == 0) {
done = 1;
starterPowerup.duplicateMovieClip("powerup" + nbrPowerups, 100 + nbrPowerups, {myRow:tempRow, myCol:tempCol, myPower:"time"});
nbrPowerups++;
}
}
count++;
}
stop();
Symbol 390 MovieClip Frame 1
updateWalls = function () {
if (_visible == 1) {
wallWidth = 32;
wallHeight = 97;
realWallHeight = wallHeight + 32;
xDiff = ((_parent._parent._parent.currMazeX + _root.mazeData[_parent.myRow][_parent.myCol].xPos) - (wallWidth * 2)) - (_parent._parent._parent.wall._x + ((_root.mazeData[_parent.myRow][_parent.myCol].xPos - (wallWidth * 2)) * _root.wallScale));
yDiff = (((_parent._parent._parent.currMazeY + _root.mazeData[_parent.myRow][_parent.myCol].yPos) - (realWallHeight / 2)) + realWallHeight) - (_parent._parent._parent.wall._y + (((_root.mazeData[_parent.myRow][_parent.myCol].yPos - (realWallHeight / 2)) + realWallHeight) * _root.wallScale));
if (((((-yDiff) > wallHeight) || (_root.mazeData[_parent.myRow + 1][_parent.myCol].topWall == 1)) || (_root.mazeData[_parent.myRow + 1][_parent.myCol].leftWall == 1)) || (_root.mazeData[_parent.myRow + 1][_parent.myCol - 1].topWall == 1)) {
bottomMask._visible = 0;
bottomTexture._visible = 0;
} else {
bottomMask._visible = 1;
bottomTexture._xscale = yDiff;
bottomTexture._visible = 1;
bottomMask.clear();
bottomMask.beginFill(0);
bottomMask.moveTo(0, wallHeight);
bottomMask.lineTo(-xDiff, wallHeight - yDiff);
xDiff = ((_parent._parent._parent.currMazeX + _root.mazeData[_parent.myRow][_parent.myCol].xPos) - wallWidth) - (_parent._parent._parent.wall._x + ((_root.mazeData[_parent.myRow][_parent.myCol].xPos - wallWidth) * _root.wallScale));
bottomMask.lineTo(wallWidth - xDiff, wallHeight - yDiff);
bottomMask.lineTo(wallWidth, wallHeight);
bottomMask.lineTo(0, wallHeight);
bottomMask.endFill();
}
xDiff = ((_parent._parent._parent.currMazeX + _root.mazeData[_parent.myRow][_parent.myCol].xPos) - (wallWidth * 2)) - (_parent._parent._parent.wall._x + ((_root.mazeData[_parent.myRow][_parent.myCol].xPos - (wallWidth * 2)) * _root.wallScale));
yDiff = ((_parent._parent._parent.currMazeY + _root.mazeData[_parent.myRow][_parent.myCol].yPos) - (wallHeight / 2)) - (_parent._parent._parent.wall._y + ((_root.mazeData[_parent.myRow][_parent.myCol].yPos - (wallHeight / 2)) * _root.wallScale));
if (xDiff > 0) {
leftMask._visible = 0;
leftTexture._visible = 0;
} else {
leftMask._visible = 1;
leftTexture._xscale = -xDiff;
leftTexture._visible = 1;
leftMask.clear();
leftMask.beginFill(6710886);
leftMask.moveTo(0, 0);
leftMask.lineTo(-xDiff, (-yDiff) - 10);
yDiff = (((_parent._parent._parent.currMazeY + _root.mazeData[_parent.myRow][_parent.myCol].yPos) - (wallHeight / 2)) + wallHeight) - (_parent._parent._parent.wall._y + (((_root.mazeData[_parent.myRow][_parent.myCol].yPos - (wallHeight / 2)) + wallHeight) * _root.wallScale));
leftMask.lineTo(-xDiff, (wallHeight - yDiff) + 10);
leftMask.lineTo(0, wallHeight);
leftMask.lineTo(0, 0);
leftMask.endFill();
}
xDiff = ((_parent._parent._parent.currMazeX + _root.mazeData[_parent.myRow][_parent.myCol].xPos) - wallWidth) - (_parent._parent._parent.wall._x + ((_root.mazeData[_parent.myRow][_parent.myCol].xPos - wallWidth) * _root.wallScale));
yDiff = ((_parent._parent._parent.currMazeY + _root.mazeData[_parent.myRow][_parent.myCol].yPos) - (wallHeight / 2)) - (_parent._parent._parent.wall._y + ((_root.mazeData[_parent.myRow][_parent.myCol].yPos - (wallHeight / 2)) * _root.wallScale));
if (xDiff < 0) {
rightMask._visible = 0;
rightTexture._visible = 0;
} else {
rightMask._visible = 1;
rightTexture._xscale = xDiff;
rightTexture._visible = 1;
rightMask.clear();
rightMask.beginFill(0);
rightMask.moveTo(wallWidth, 0);
rightMask.lineTo(wallWidth - xDiff, (-yDiff) - 10);
yDiff = (((_parent._parent._parent.currMazeY + _root.mazeData[_parent.myRow][_parent.myCol].yPos) - (wallHeight / 2)) + wallHeight) - (_parent._parent._parent.wall._y + (((_root.mazeData[_parent.myRow][_parent.myCol].yPos - (wallHeight / 2)) + wallHeight) * _root.wallScale));
rightMask.lineTo(wallWidth - xDiff, (wallHeight - yDiff) + 10);
rightMask.lineTo(wallWidth, wallHeight);
rightMask.lineTo(wallWidth, 0);
rightMask.endFill();
}
}
};
updateWalls();
Symbol 391 MovieClip Frame 1
updateWalls = function () {
if (_visible == 1) {
wallWidth = 97;
wallHeight = 32;
xDiff = ((_parent._parent._parent.currMazeX + _root.mazeData[_parent.myRow][_parent.myCol].xPos) - (wallWidth / 2)) - (_parent._parent._parent.wall._x + ((_root.mazeData[_parent.myRow][_parent.myCol].xPos - (wallWidth / 2)) * _root.wallScale));
yDiff = ((_parent._parent._parent.currMazeY + _root.mazeData[_parent.myRow][_parent.myCol].yPos) - (wallHeight * 2)) - (_parent._parent._parent.wall._y + ((_root.mazeData[_parent.myRow][_parent.myCol].yPos - (wallHeight * 2)) * _root.wallScale));
if (yDiff > 0) {
topMask._visible = 0;
topTexture._visible = 0;
} else {
topMask._visible = 1;
topTexture._xscale = -yDiff;
topTexture._visible = 1;
if ((xDiff > 0) && (this.getDepth() < _parent.myLeftSide.getDepth())) {
this.swapDepths(_parent.myLeftSide);
}
topMask.clear();
topMask.beginFill(0);
topMask.moveTo(0, 0);
topMask.lineTo((-xDiff) - 8, -yDiff);
xDiff = ((_parent._parent._parent.currMazeX + _root.mazeData[_parent.myRow][_parent.myCol].xPos) + (wallWidth / 2)) - (_parent._parent._parent.wall._x + ((_root.mazeData[_parent.myRow][_parent.myCol].xPos + (wallWidth / 2)) * _root.wallScale));
topMask.lineTo((wallWidth - xDiff) + 8, -yDiff);
topMask.lineTo(wallWidth, 0);
topMask.lineTo(0, 0);
topMask.endFill();
}
xDiff = ((_parent._parent._parent.currMazeX + _root.mazeData[_parent.myRow][_parent.myCol].xPos) - (wallWidth / 2)) - (_parent._parent._parent.wall._x + ((_root.mazeData[_parent.myRow][_parent.myCol].xPos - (wallWidth / 2)) * _root.wallScale));
yDiff = ((_parent._parent._parent.currMazeY + _root.mazeData[_parent.myRow][_parent.myCol].yPos) + wallHeight) - (_parent._parent._parent.wall._y + ((_root.mazeData[_parent.myRow][_parent.myCol].yPos + wallHeight) * _root.wallScale));
if ((-yDiff) > wallHeight) {
bottomMask._visible = 0;
bottomTexture._visible = 0;
} else {
bottomMask._visible = 1;
bottomTexture._xscale = yDiff + 32;
bottomTexture._visible = 1;
if ((xDiff < 0) && (this.getDepth() > _parent.myLeftSide.getDepth())) {
this.swapDepths(_parent.myLeftSide);
}
bottomMask.clear();
bottomMask.beginFill(0);
bottomMask.moveTo(0, wallHeight);
bottomMask.lineTo((-xDiff) - 8, -yDiff);
xDiff = ((_parent._parent._parent.currMazeX + _root.mazeData[_parent.myRow][_parent.myCol].xPos) + (wallWidth / 2)) - (_parent._parent._parent.wall._x + ((_root.mazeData[_parent.myRow][_parent.myCol].xPos + (wallWidth / 2)) * _root.wallScale));
bottomMask.lineTo((wallWidth - xDiff) + 8, -yDiff);
bottomMask.lineTo(wallWidth, wallHeight);
bottomMask.lineTo(0, wallHeight);
bottomMask.endFill();
}
realWallWidth = wallWidth + 32;
xDiff = ((_parent._parent._parent.currMazeX + _root.mazeData[_parent.myRow][_parent.myCol].xPos) + (realWallWidth / 2)) - (_parent._parent._parent.wall._x + ((_root.mazeData[_parent.myRow][_parent.myCol].xPos + (realWallWidth / 2)) * _root.wallScale));
yDiff = ((_parent._parent._parent.currMazeY + _root.mazeData[_parent.myRow][_parent.myCol].yPos) - (wallHeight * 2)) - (_parent._parent._parent.wall._y + ((_root.mazeData[_parent.myRow][_parent.myCol].yPos - (wallHeight * 2)) * _root.wallScale));
if ((((xDiff < 0) || (_root.mazeData[_parent.myRow][_parent.myCol + 1].topWall == 1)) || (_root.mazeData[_parent.myRow][_parent.myCol + 1].leftWall == 1)) || (_root.mazeData[_parent.myRow - 1][_parent.myCol + 1].leftWall == 1)) {
rightMask._visible = 0;
rightTexture._visible = 0;
} else {
rightMask._visible = 1;
rightTexture._xscale = xDiff;
rightTexture._visible = 1;
rightMask.clear();
rightMask.beginFill(10066329);
rightMask.moveTo(wallWidth, 0);
rightMask.lineTo((wallWidth - xDiff) - 1, -yDiff);
yDiff = ((_parent._parent._parent.currMazeY + _root.mazeData[_parent.myRow][_parent.myCol].yPos) + wallHeight) - (_parent._parent._parent.wall._y + ((_root.mazeData[_parent.myRow][_parent.myCol].yPos + wallHeight) * _root.wallScale));
rightMask.lineTo((wallWidth - xDiff) - 1, -yDiff);
rightMask.lineTo(wallWidth, wallHeight);
rightMask.lineTo(wallWidth, 0);
rightMask.endFill();
}
}
};
updateWalls();
Symbol 392 MovieClip Frame 1
updateWalls = function () {
if (_visible == 1) {
wallWidth = 32;
wallHeight = 32;
xDiff = ((_parent._parent._parent.currMazeX + _root.mazeData[_parent.myRow][_parent.myCol].xPos) - (wallWidth * 2)) - (_parent._parent._parent.wall._x + ((_root.mazeData[_parent.myRow][_parent.myCol].xPos - (wallWidth * 2)) * _root.wallScale));
yDiff = ((_parent._parent._parent.currMazeY + _root.mazeData[_parent.myRow][_parent.myCol].yPos) - (wallHeight * 2)) - (_parent._parent._parent.wall._y + ((_root.mazeData[_parent.myRow][_parent.myCol].yPos - (wallHeight * 2)) * _root.wallScale));
if ((yDiff > 0) || (_root.mazeData[_parent.myRow - 1][_parent.myCol].leftWall == 1)) {
topMask._visible = 0;
topTexture._visible = 0;
} else {
topMask._visible = 1;
topTexture._xscale = -yDiff;
topTexture._visible = 1;
topMask.clear();
topMask.beginFill(0);
topMask.moveTo(0, 0);
topMask.lineTo(-xDiff, -yDiff);
xDiff = ((_parent._parent._parent.currMazeX + _root.mazeData[_parent.myRow][_parent.myCol].xPos) - wallWidth) - (_parent._parent._parent.wall._x + ((_root.mazeData[_parent.myRow][_parent.myCol].xPos - wallWidth) * _root.wallScale));
topMask.lineTo(wallWidth - xDiff, -yDiff);
topMask.lineTo(wallWidth, 0);
topMask.lineTo(0, 0);
topMask.endFill();
}
xDiff = ((_parent._parent._parent.currMazeX + _root.mazeData[_parent.myRow][_parent.myCol].xPos) - (wallWidth * 2)) - (_parent._parent._parent.wall._x + ((_root.mazeData[_parent.myRow][_parent.myCol].xPos - (wallWidth * 2)) * _root.wallScale));
yDiff = ((_parent._parent._parent.currMazeY + _root.mazeData[_parent.myRow][_parent.myCol].yPos) - wallHeight) - (_parent._parent._parent.wall._y + ((_root.mazeData[_parent.myRow][_parent.myCol].yPos - wallHeight) * _root.wallScale));
if (((-yDiff) > wallHeight) || (_root.mazeData[_parent.myRow][_parent.myCol].leftWall == 1)) {
bottomMask._visible = 0;
bottomTexture._visible = 0;
} else {
bottomMask._visible = 1;
bottomTexture._xscale = yDiff;
bottomTexture._visible = 1;
bottomMask.clear();
bottomMask.beginFill(0);
bottomMask.moveTo(0, wallHeight);
bottomMask.lineTo(-xDiff, wallHeight - yDiff);
xDiff = ((_parent._parent._parent.currMazeX + _root.mazeData[_parent.myRow][_parent.myCol].xPos) - wallWidth) - (_parent._parent._parent.wall._x + ((_root.mazeData[_parent.myRow][_parent.myCol].xPos - wallWidth) * _root.wallScale));
bottomMask.lineTo(wallWidth - xDiff, wallHeight - yDiff);
bottomMask.lineTo(wallWidth, wallHeight);
bottomMask.lineTo(0, wallHeight);
bottomMask.endFill();
}
xDiff = ((_parent._parent._parent.currMazeX + _root.mazeData[_parent.myRow][_parent.myCol].xPos) - (wallWidth * 2)) - (_parent._parent._parent.wall._x + ((_root.mazeData[_parent.myRow][_parent.myCol].xPos - (wallWidth * 2)) * _root.wallScale));
yDiff = ((_parent._parent._parent.currMazeY + _root.mazeData[_parent.myRow][_parent.myCol].yPos) - (wallHeight * 2)) - (_parent._parent._parent.wall._y + ((_root.mazeData[_parent.myRow][_parent.myCol].yPos - (wallHeight * 2)) * _root.wallScale));
if ((xDiff > 0) || (_root.mazeData[_parent.myRow][_parent.myCol - 1].topWall == 1)) {
leftMask._visible = 0;
leftTexture._visible = 0;
} else {
leftMask._visible = 1;
leftTexture._xscale = -xDiff;
leftTexture._visible = 1;
leftMask.clear();
leftMask.beginFill(6710886);
leftMask.moveTo(0, 0);
leftMask.lineTo(-xDiff, -yDiff);
yDiff = (((_parent._parent._parent.currMazeY + _root.mazeData[_parent.myRow][_parent.myCol].yPos) - (wallHeight * 2)) + wallHeight) - (_parent._parent._parent.wall._y + (((_root.mazeData[_parent.myRow][_parent.myCol].yPos - (wallHeight * 2)) + wallHeight) * _root.wallScale));
leftMask.lineTo(-xDiff, wallHeight - yDiff);
leftMask.lineTo(0, wallHeight);
leftMask.lineTo(0, 0);
leftMask.endFill();
}
xDiff = ((_parent._parent._parent.currMazeX + _root.mazeData[_parent.myRow][_parent.myCol].xPos) - wallWidth) - (_parent._parent._parent.wall._x + ((_root.mazeData[_parent.myRow][_parent.myCol].xPos - wallWidth) * _root.wallScale));
yDiff = ((_parent._parent._parent.currMazeY + _root.mazeData[_parent.myRow][_parent.myCol].yPos) - (wallHeight * 2)) - (_parent._parent._parent.wall._y + ((_root.mazeData[_parent.myRow][_parent.myCol].yPos - (wallHeight * 2)) * _root.wallScale));
if ((xDiff < 0) || (_root.mazeData[_parent.myRow][_parent.myCol].topWall == 1)) {
rightMask._visible = 0;
rightTexture._visible = 0;
} else {
rightMask._visible = 1;
rightTexture._xscale = xDiff;
rightTexture._visible = 1;
rightMask.clear();
rightMask.beginFill(0);
rightMask.moveTo(wallWidth, 0);
rightMask.lineTo(wallWidth - xDiff, -yDiff);
yDiff = (((_parent._parent._parent.currMazeY + _root.mazeData[_parent.myRow][_parent.myCol].yPos) - (wallHeight * 2)) + wallHeight) - (_parent._parent._parent.wall._y + (((_root.mazeData[_parent.myRow][_parent.myCol].yPos - (wallHeight * 2)) + wallHeight) * _root.wallScale));
rightMask.lineTo(wallWidth - xDiff, wallHeight - yDiff);
rightMask.lineTo(wallWidth, wallHeight);
rightMask.lineTo(wallWidth, 0);
rightMask.endFill();
}
}
_parent._visible = 1;
};
updateWalls();
Symbol 393 MovieClip Frame 1
function updateWalls() {
myTopSide._visible = _root.mazeData[myRow][myCol].topWall;
myLeftSide._visible = _root.mazeData[myRow][myCol].leftWall;
if (((_root.mazeData[myRow][myCol].topWall == 1) || (_root.mazeData[myRow][myCol].leftWall == 1)) || ((_root.mazeData[myRow][myCol - 1].topWall == 1) && (_root.mazeData[myRow - 1][myCol].leftWall == 1))) {
myCornerSide._visible = 1;
} else {
myCornerSide._visible = 0;
}
_x = _root.mazeData[myRow][myCol].xPos;
_y = _root.mazeData[myRow][myCol].yPos;
}
updateWalls();
onEnterFrame = function () {
myDepth.text = this.getDepth();
myCurrDepth.text = _root.mazeData[myRow][myCol].currDepth;
};
stop();
Symbol 394 MovieClip Frame 1
starterSide._visible = 0;
stop();
Symbol 405 MovieClip Frame 1
pick = random(5) + 2;
gotoAndStop(pick);
Symbol 406 MovieClip Frame 1
pick = random(4) + 2;
gotoAndStop(pick);
Instance of Symbol 405 MovieClip in Symbol 406 MovieClip Frame 3
onClipEvent (load) {
pick = random(4) + 2;
gotoAndStop(pick);
}
Symbol 411 MovieClip Frame 1
function updateWalls() {
myTopWall._visible = _root.mazeData[myRow][myCol].topWall;
myLeftWall._visible = _root.mazeData[myRow][myCol].leftWall;
if ((_root.mazeData[myRow][myCol - 1].topWall == 1) && (_root.mazeData[myRow - 1][myCol].leftWall == 1)) {
myCornerWall._visible = 1;
} else {
myCornerWall._visible = 0;
}
_x = (_root.mazeData[myRow][myCol].xPos * _root.wallScale);
_y = (_root.mazeData[myRow][myCol].yPos * _root.wallScale);
}
updateWalls();
stop();
Symbol 412 MovieClip Frame 1
starterWall._visible = 0;
stop();
Symbol 416 MovieClip Frame 1
if (_name != "starterBeetleRad") {
_x = _root.mazeData[myRow][myCol].xPos;
_y = _root.mazeData[myRow][myCol].yPos;
myBeetle = eval ("_parent._parent.monsters.beetle" + _name.substr(9));
gotoAndPlay ("loop");
} else {
this._visible = 0;
stop();
}
Symbol 416 MovieClip Frame 6
if (hitTest(_parent._parent.runner) && (_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].floorState != "overgrown")) {
myBeetle.runAway();
this.removeMovieClip();
}
gotoAndPlay ("loop");
Symbol 417 MovieClip Frame 1
stop();
Symbol 420 MovieClip Frame 1
_root.startTimeWarning = function () {
gotoAndPlay ("warning");
};
_root.stopTimeWarning = function () {
gotoAndPlay ("off");
};
Symbol 420 MovieClip Frame 3
stop();
Symbol 420 MovieClip Frame 90
gotoAndPlay ("warning");
Symbol 421 MovieClip Frame 1
function updateMazePos() {
var _local2 = _root.RUNNERSPEED * 0.75;
switch (_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].floorState) {
case "spikey" :
if ((_root.runnerVulnerable == 1) && (_root.gameOn == 1)) {
_root.playSound("hit");
var _local3 = -10 + (_root.runnerArmor * 5);
_root.updateLife(_local3);
_root.sendUpdate(("SPIKED FLOOR: " + _local3) + "% HEALTH");
}
break;
case "convey_up" :
keysPressedArray[1] = 1;
currMazeY = currMazeY + _local2;
break;
case "convey_down" :
keysPressedArray[3] = 1;
currMazeY = currMazeY - _local2;
break;
case "convey_left" :
keysPressedArray[0] = 1;
currMazeX = currMazeX + _local2;
break;
case "convey_right" :
keysPressedArray[2] = 1;
currMazeX = currMazeX - _local2;
}
if (keysPressedArray[2] == 1) {
if ((-(currMazeX + (_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].xPos - (_root.cellWidth / 2)))) > _root.rightLimit) {
if (_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].rightWall == 1) {
currMazeX = -((_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].xPos - (_root.cellWidth / 2)) + _root.rightLimit);
} else if ((((-currMazeY) - (_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].yPos - (_root.cellHeight / 2))) < _root.topLimit) && (_root.mazeData[_root.currCell.myRow][_root.currCell.myCol + 1].topWall == 1)) {
currMazeX = -((_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].xPos - (_root.cellWidth / 2)) + _root.rightLimit);
} else {
changeCell("right");
}
}
}
if (keysPressedArray[0] == 1) {
if ((-(currMazeX + (_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].xPos - (_root.cellWidth / 2)))) < _root.leftLimit) {
if (_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].leftWall == 1) {
currMazeX = -((_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].xPos - (_root.cellWidth / 2)) + _root.leftLimit);
} else if (((((-currMazeY) - (_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].yPos - (_root.cellHeight / 2))) < _root.topLimit) && (_root.mazeData[_root.currCell.myRow][_root.currCell.myCol - 1].topWall == 1)) && (_root.mazeData[_root.currCell.myRow - 1][_root.currCell.myCol].leftWall == 1)) {
currMazeX = -((_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].xPos - (_root.cellWidth / 2)) + _root.leftLimit);
} else if ((-(currMazeX + (_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].xPos - (_root.cellWidth / 2)))) < 0) {
if ((((-currMazeY) - (_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].yPos - (_root.cellHeight / 2))) < _root.topLimit) && (_root.mazeData[_root.currCell.myRow][_root.currCell.myCol - 1].topWall == 1)) {
currMazeX = -(_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].xPos - (_root.cellWidth / 2));
} else {
changeCell("left");
}
}
}
}
if (keysPressedArray[1] == 1) {
if (((-currMazeY) - (_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].yPos - (_root.cellHeight / 2))) < _root.topLimit) {
if (_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].topWall == 1) {
currMazeY = -((_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].yPos - (_root.cellHeight / 2)) + _root.topLimit);
} else if ((((-(currMazeX + (_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].xPos - (_root.cellWidth / 2)))) < _root.leftLimit) && (_root.mazeData[_root.currCell.myRow - 1][_root.currCell.myCol].leftWall == 1)) && (_root.mazeData[_root.currCell.myRow][_root.currCell.myCol - 1].topWall == 1)) {
currMazeY = -((_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].yPos - (_root.cellHeight / 2)) + _root.topLimit);
} else if (((-currMazeY) - (_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].yPos - (_root.cellHeight / 2))) < 0) {
if (((-(currMazeX + (_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].xPos - (_root.cellWidth / 2)))) < _root.leftLimit) && (_root.mazeData[_root.currCell.myRow - 1][_root.currCell.myCol].leftWall == 1)) {
currMazeY = -(_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].yPos - (_root.cellHeight / 2));
} else {
changeCell("top");
}
}
}
}
if (keysPressedArray[3] == 1) {
if (((-currMazeY) - (_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].yPos - (_root.cellHeight / 2))) > _root.bottomLimit) {
if (_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].bottomWall == 1) {
currMazeY = -((_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].yPos - (_root.cellHeight / 2)) + _root.bottomLimit);
} else if (((-(currMazeX + (_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].xPos - (_root.cellWidth / 2)))) < _root.leftLimit) && (_root.mazeData[_root.currCell.myRow + 1][_root.currCell.myCol].leftWall == 1)) {
currMazeY = -((_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].yPos - (_root.cellHeight / 2)) + _root.bottomLimit);
} else {
changeCell("bottom");
}
}
}
wall._x = currMazeX * _root.wallScale;
wall._y = currMazeY * _root.wallScale;
floor._x = currMazeX;
floor._y = currMazeY;
side._x = currMazeX;
side._y = currMazeY;
monsters._x = currMazeX;
monsters._y = currMazeY;
beetleRads._x = currMazeX;
beetleRads._y = currMazeY;
overgrowth._x = currMazeX;
overgrowth._y = currMazeY;
powerups._x = currMazeX;
powerups._y = currMazeY;
missionItems._x = currMazeX;
missionItems._y = currMazeY;
redrawSides();
_root.updateDot();
}
function identifyNeighbors() {
neighborRows = new Array();
var _local3 = 0;
var _local2 = _root.minRowVisible;
while (_local2 <= _root.maxRowVisible) {
if (_local2 < 1) {
neighborRows.splice(_local3, 0, (_root.nbrMazeRows + _local2) + 1);
_local3++;
} else if (_local2 > (_root.nbrMazeRows + 1)) {
neighborRows.push(_local2 - (_root.nbrMazeRows + 1));
} else {
neighborRows.splice(_local3, 0, _local2);
_local3++;
}
_local2++;
}
neighborCols = new Array();
_local3 = 0;
_local2 = _root.minColVisible;
while (_local2 <= _root.maxColVisible) {
if (_local2 < 1) {
neighborCols.splice(_local3, 0, (_root.nbrMazeCols + _local2) + 1);
_local3++;
} else if (_local2 > (_root.nbrMazeCols + 1)) {
neighborCols.push(_local2 - (_root.nbrMazeCols + 1));
} else {
neighborCols.splice(_local3, 0, _local2);
_local3++;
}
_local2++;
}
}
function changeCell(cellDir) {
switch (cellDir) {
case "left" :
_root.currCell.myCol--;
var _local2 = 0;
while (_local2 < neighborRows.length) {
var _local3 = 0;
while (_local3 < (neighborCols.length - 1)) {
side[(("side" + neighborRows[_local2]) + "_") + neighborCols[_local3]].swapDepths(side[(("side" + neighborRows[_local2]) + "_") + neighborCols[_local3 + 1]]);
var _local5 = _root.mazeData[neighborRows[_local2]][neighborCols[_local3 + 1]].currDepth;
_root.mazeData[neighborRows[_local2]][neighborCols[_local3 + 1]].currDepth = _root.mazeData[neighborRows[_local2]][neighborCols[_local3]].currDepth;
_root.mazeData[neighborRows[_local2]][neighborCols[_local3]].currDepth = _local5;
_local3++;
}
_local2++;
}
setVisibleCells("left");
_root.drawSmallMaze("left");
break;
case "top" :
_root.currCell.myRow--;
var _local3 = 0;
while (_local3 < neighborCols.length) {
_local2 = 0;
while (_local2 < (neighborRows.length - 1)) {
side[(("side" + neighborRows[_local2]) + "_") + neighborCols[_local3]].swapDepths(side[(("side" + neighborRows[_local2 + 1]) + "_") + neighborCols[_local3]]);
var _local5 = _root.mazeData[neighborRows[_local2 + 1]][neighborCols[_local3]].currDepth;
_root.mazeData[neighborRows[_local2 + 1]][neighborCols[_local3]].currDepth = _root.mazeData[neighborRows[_local2]][neighborCols[_local3]].currDepth;
_root.mazeData[neighborRows[_local2]][neighborCols[_local3]].currDepth = _local5;
_local2++;
}
_local3++;
}
setVisibleCells("top");
_root.drawSmallMaze("top");
break;
case "right" :
_root.currCell.myCol++;
_local2 = 0;
while (_local2 < neighborRows.length) {
_local3 = neighborCols.length - 1;
while (_local3 > 0) {
side[(("side" + neighborRows[_local2]) + "_") + neighborCols[_local3]].swapDepths(side[(("side" + neighborRows[_local2]) + "_") + neighborCols[_local3 - 1]]);
var _local5 = _root.mazeData[neighborRows[_local2]][neighborCols[_local3 - 1]].currDepth;
_root.mazeData[neighborRows[_local2]][neighborCols[_local3 - 1]].currDepth = _root.mazeData[neighborRows[_local2]][neighborCols[_local3]].currDepth;
_root.mazeData[neighborRows[_local2]][neighborCols[_local3]].currDepth = _local5;
_local3--;
}
_local2++;
}
setVisibleCells("right");
_root.drawSmallMaze("right");
break;
case "bottom" :
_root.currCell.myRow++;
_local3 = 0;
while (_local3 < neighborCols.length) {
_local2 = neighborRows.length - 1;
while (_local2 > 0) {
side[(("side" + neighborRows[_local2]) + "_") + neighborCols[_local3]].swapDepths(side[(("side" + neighborRows[_local2 - 1]) + "_") + neighborCols[_local3]]);
var _local5 = _root.mazeData[neighborRows[_local2 - 1]][neighborCols[_local3]].currDepth;
_root.mazeData[neighborRows[_local2 - 1]][neighborCols[_local3]].currDepth = _root.mazeData[neighborRows[_local2]][neighborCols[_local3]].currDepth;
_root.mazeData[neighborRows[_local2]][neighborCols[_local3]].currDepth = _local5;
_local2--;
}
_local3++;
}
setVisibleCells("bottom");
_root.drawSmallMaze("bottom");
}
switch (_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].floorState) {
case "metal" :
_root.runnerSpeed = _root.RUNNERSPEED + ((_root.RUNNERSPEED / 2) * _root.powerupSpeedOn);
_root.playSound("stepMetal");
var _local6 = 6;
var _local4 = 1;
while (_local4 <= _root.nbrGrievers) {
if ((Math.abs(monsters["griever" + _local4].myRow - _root.currCell.myRow) <= _local6) && (Math.abs(monsters["griever" + _local4].myCol - _root.currCell.myCol) <= _local6)) {
monsters["griever" + _local4].signalChangeModes(2);
monsters["griever" + _local4].mySpeed = _root.GRIEVERSPEED * 2;
}
_local4++;
}
_root.sendUpdate("WARNING: LOUD NOISES ATTRACT GRIEVERS");
break;
case "muddy" :
_root.runnerSpeed = (_root.RUNNERSPEED / 2) + ((_root.RUNNERSPEED / 2) * _root.powerupSpeedOn);
_root.sendUpdate("WARNING: MUD PUDDLES SLOW YOUR SPEED");
break;
case "overgrown" :
_root.runnerSpeed = _root.RUNNERSPEED + ((_root.RUNNERSPEED / 2) * _root.powerupSpeedOn);
_root.sendUpdate("YOU ARE SAFELY HIDDEN IN THE OVERGROWTH");
break;
default :
_root.runnerSpeed = _root.RUNNERSPEED + ((_root.RUNNERSPEED / 2) * _root.powerupSpeedOn);
}
if (_root.mazeData[_root.currCell.myRow][_root.currCell.myCol].mazeCenter == 1) {
switch (_root.levelNbr) {
case 1 :
if (_root.mappedPercent >= 90) {
_root.missionComplete = 1;
_root.endMission();
}
break;
case 2 :
if (_root.mappedPercent >= 90) {
_root.missionComplete = 1;
_root.endMission();
}
break;
case 3 :
if (_root.nbrItemsFound >= _root.nbrItems) {
_root.missionComplete = 1;
_root.endMission();
}
break;
case 4 :
if (_root.nbrItemsFound >= _root.nbrItems) {
_root.missionComplete = 1;
_root.endMission();
}
break;
case 5 :
if (_root.mappedPercent >= 90) {
_root.missionComplete = 1;
_root.endMission();
}
break;
case 6 :
if (_root.nbrItemsFound >= _root.nbrItems) {
_root.missionComplete = 1;
_root.endMission();
}
break;
case 7 :
if (_root.mappedPercent >= 90) {
_root.missionComplete = 1;
_root.endMission();
}
break;
case 8 :
if (_root.nbrItemsFound >= _root.nbrItems) {
_root.missionComplete = 1;
_root.endMission();
}
break;
case 9 :
if (_root.mappedPercent >= 90) {
_root.missionComplete = 1;
_root.endMission();
}
break;
case 10 :
_root.missionComplete = 1;
_root.endMission();
break;
default :
if (_root.mappedPercent < 90) {
break;
}
_root.missionComplete = 1;
_root.endMission();
}
}
}
function redrawSides() {
tempRow = _root.minRowVisible - 1;
while (tempRow <= (_root.maxRowVisible + 1)) {
tempCol = _root.minColVisible - 1;
while (tempCol <= (_root.maxColVisible + 1)) {
side[(("side" + tempRow) + "_") + tempCol].myLeftSide.updateWalls();
side[(("side" + tempRow) + "_") + tempCol].myTopSide.updateWalls();
side[(("side" + tempRow) + "_") + tempCol].myCornerSide.updateWalls();
tempCol++;
}
tempRow++;
}
}
function setVisibleCells(myScope) {
_root.maxRowVisible = _root.currCell.myRow + _root.visibleCellRange;
_root.minRowVisible = _root.currCell.myRow - _root.visibleCellRange;
_root.maxColVisible = _root.currCell.myCol + _root.visibleCellRange;
_root.minColVisible = _root.currCell.myCol - _root.visibleCellRange;
switch (myScope) {
case "all" :
tempRow = _root.minRowVisible - 1;
while (tempRow <= (_root.maxRowVisible + 1)) {
tempCol = _root.minColVisible - 1;
while (tempCol <= (_root.maxColVisible + 1)) {
if ((((tempRow <= _root.maxRowVisible) && (tempRow >= _root.minRowVisible)) && (tempCol <= _root.maxColVisible)) && (tempCol >= _root.minColVisible)) {
side.starterSide.duplicateMovieClip((("side" + tempRow) + "_") + tempCol, _root.mazeData[tempRow][tempCol].startDepth, {myRow:tempRow, myCol:tempCol});
wall.starterWall.duplicateMovieClip((("wall" + tempRow) + "_") + tempCol, _root.mazeData[tempRow][tempCol].startDepth, {myRow:tempRow, myCol:tempCol});
floor.starterFloor.duplicateMovieClip((("floor" + tempRow) + "_") + tempCol, _root.mazeData[tempRow][tempCol].startDepth, {myRow:tempRow, myCol:tempCol});
if (_root.mazeData[tempRow][tempCol].floorState == "overgrown") {
overgrowth.starterOvergrowth.duplicateMovieClip((("overgrowth" + tempRow) + "_") + tempCol, _root.mazeData[tempRow][tempCol].startDepth, {myRow:tempRow, myCol:tempCol});
}
} else {
side[(("side" + tempRow) + "_") + tempCol].removeMovieClip();
wall[(("wall" + tempRow) + "_") + tempCol].removeMovieClip();
floor[(("floor" + tempRow) + "_") + tempCol].removeMovieClip();
}
tempCol++;
}
tempRow++;
}
break;
case "left" :
tempRow = 0;
while (tempRow <= (neighborRows.length - 1)) {
side[(("side" + neighborRows[tempRow]) + "_") + neighborCols[neighborCols.length - 1]].removeMovieClip();
wall[(("wall" + neighborRows[tempRow]) + "_") + neighborCols[neighborCols.length - 1]].removeMovieClip();
floor[(("floor" + neighborRows[tempRow]) + "_") + neighborCols[neighborCols.length - 1]].removeMovieClip();
overgrowth[(("overgrowth" + neighborRows[tempRow]) + "_") + neighborCols[neighborCols.length - 1]].removeMovieClip();
tempRow++;
}
identifyNeighbors();
tempRow = 0;
while (tempRow <= (neighborRows.length - 1)) {
side.starterSide.duplicateMovieClip((("side" + neighborRows[tempRow]) + "_") + neighborCols[0], _root.mazeData[neighborRows[tempRow]][neighborCols[0]].currDepth, {myRow:neighborRows[tempRow], myCol:neighborCols[0]});
wall.starterWall.duplicateMovieClip((("wall" + neighborRows[tempRow]) + "_") + neighborCols[0], _root.mazeData[neighborRows[tempRow]][neighborCols[0]].startDepth, {myRow:neighborRows[tempRow], myCol:neighborCols[0]});
if ((neighborCols[0] <= _root.nbrMazeCols) && (neighborRows[tempRow] <= _root.nbrMazeRows)) {
floor.starterFloor.duplicateMovieClip((("floor" + neighborRows[tempRow]) + "_") + neighborCols[0], _root.mazeData[neighborRows[tempRow]][neighborCols[0]].startDepth, {myRow:neighborRows[tempRow], myCol:neighborCols[0]});
}
if (_root.mazeData[neighborRows[tempRow]][neighborCols[0]].floorState == "overgrown") {
overgrowth.starterOvergrowth.duplicateMovieClip((("overgrowth" + neighborRows[tempRow]) + "_") + neighborCols[0], _root.mazeData[neighborRows[tempRow]][neighborCols[0]].startDepth, {myRow:neighborRows[tempRow], myCol:neighborCols[0]});
}
tempRow++;
}
break;
case "right" :
tempRow = 0;
while (tempRow <= (neighborRows.length - 1)) {
side[(("side" + neighborRows[tempRow]) + "_") + neighborCols[0]].removeMovieClip();
wall[(("wall" + neighborRows[tempRow]) + "_") + neighborCols[0]].removeMovieClip();
floor[(("floor" + neighborRows[tempRow]) + "_") + neighborCols[0]].removeMovieClip();
overgrowth[(("overgrowth" + neighborRows[tempRow]) + "_") + neighborCols[0]].removeMovieClip();
tempRow++;
}
identifyNeighbors();
tempRow = 0;
while (tempRow <= (neighborRows.length - 1)) {
side.starterSide.duplicateMovieClip((("side" + neighborRows[tempRow]) + "_") + neighborCols[neighborCols.length - 1], _root.mazeData[neighborRows[tempRow]][neighborCols[neighborCols.length - 1]].currDepth, {myRow:neighborRows[tempRow], myCol:neighborCols[neighborCols.length - 1]});
wall.starterWall.duplicateMovieClip((("wall" + neighborRows[tempRow]) + "_") + neighborCols[neighborCols.length - 1], _root.mazeData[neighborRows[tempRow]][neighborCols[neighborCols.length - 1]].startDepth, {myRow:neighborRows[tempRow], myCol:neighborCols[neighborCols.length - 1]});
if ((neighborCols[neighborCols.length - 1] <= _root.nbrMazeCols) && (neighborRows[tempRow] <= _root.nbrMazeRows)) {
floor.starterFloor.duplicateMovieClip((("floor" + neighborRows[tempRow]) + "_") + neighborCols[neighborCols.length - 1], _root.mazeData[neighborRows[tempRow]][neighborCols[neighborCols.length - 1]].startDepth, {myRow:neighborRows[tempRow], myCol:neighborCols[neighborCols.length - 1]});
}
if (_root.mazeData[neighborRows[tempRow]][neighborCols[neighborCols.length - 1]].floorState == "overgrown") {
overgrowth.starterOvergrowth.duplicateMovieClip((("overgrowth" + neighborRows[tempRow]) + "_") + neighborCols[neighborCols.length - 1], _root.mazeData[neighborRows[tempRow]][neighborCols[neighborCols.length - 1]].startDepth, {myRow:neighborRows[tempRow], myCol:neighborCols[neighborCols.length - 1]});
}
tempRow++;
}
break;
case "top" :
tempCol = 0;
while (tempCol <= (neighborCols.length - 1)) {
side[(("side" + neighborRows[neighborRows.length - 1]) + "_") + neighborCols[tempCol]].removeMovieClip();
wall[(("wall" + neighborRows[neighborRows.length - 1]) + "_") + neighborCols[tempCol]].removeMovieClip();
floor[(("floor" + neighborRows[neighborRows.length - 1]) + "_") + neighborCols[tempCol]].removeMovieClip();
overgrowth[(("overgrowth" + neighborRows[neighborRows.length - 1]) + "_") + neighborCols[tempCol]].removeMovieClip();
tempCol++;
}
identifyNeighbors();
tempCol = 0;
while (tempCol <= (neighborCols.length - 1)) {
side.starterSide.duplicateMovieClip((("side" + neighborRows[0]) + "_") + neighborCols[tempCol], _root.mazeData[neighborRows[0]][neighborCols[tempCol]].currDepth, {myRow:neighborRows[0], myCol:neighborCols[tempCol]});
wall.starterWall.duplicateMovieClip((("wall" + neighborRows[0]) + "_") + neighborCols[tempCol], _root.mazeData[neighborRows[0]][neighborCols[tempCol]].startDepth, {myRow:neighborRows[0], myCol:neighborCols[tempCol]});
if ((neighborCols[tempCol] <= _root.nbrMazeCols) && (neighborRows[0] <= _root.nbrMazeRows)) {
floor.starterFloor.duplicateMovieClip((("floor" + neighborRows[0]) + "_") + neighborCols[tempCol], _root.mazeData[neighborRows[0]][neighborCols[tempCol]].startDepth, {myRow:neighborRows[0], myCol:neighborCols[tempCol]});
}
if (_root.mazeData[neighborRows[0]][neighborCols[tempCol]].floorState == "overgrown") {
overgrowth.starterOvergrowth.duplicateMovieClip((("overgrowth" + neighborRows[0]) + "_") + neighborCols[tempCol], _root.mazeData[neighborRows[0]][neighborCols[tempCol]].startDepth, {myRow:neighborRows[0], myCol:neighborCols[tempCol]});
}
tempCol++;
}
break;
case "bottom" :
tempCol = 0;
while (tempCol <= (neighborCols.length - 1)) {
side[(("side" + neighborRows[0]) + "_") + neighborCols[tempCol]].removeMovieClip();
wall[(("wall" + neighborRows[0]) + "_") + neighborCols[tempCol]].removeMovieClip();
floor[(("floor" + neighborRows[0]) + "_") + neighborCols[tempCol]].removeMovieClip();
overgrowth[(("overgrowth" + neighborRows[0]) + "_") + neighborCols[tempCol]].removeMovieClip();
tempCol++;
}
identifyNeighbors();
tempCol = 0;
for(;;){
if (tempCol > (neighborCols.length - 1)) {
break;
}
side.starterSide.duplicateMovieClip((("side" + neighborRows[neighborRows.length - 1]) + "_") + neighborCols[tempCol], _root.mazeData[neighborRows[neighborRows.length - 1]][neighborCols[tempCol]].currDepth, {myRow:neighborRows[neighborRows.length - 1], myCol:neighborCols[tempCol]});
wall.starterWall.duplicateMovieClip((("wall" + neighborRows[neighborRows.length - 1]) + "_") + neighborCols[tempCol], _root.mazeData[neighborRows[neighborRows.length - 1]][neighborCols[tempCol]].startDepth, {myRow:neighborRows[neighborRows.length - 1], myCol:neighborCols[tempCol]});
if ((neighborCols[tempCol] <= _root.nbrMazeCols) && (neighborRows[neighborRows.length - 1] <= _root.nbrMazeRows)) {
floor.starterFloor.duplicateMovieClip((("floor" + neighborRows[neighborRows.length - 1]) + "_") + neighborCols[tempCol], _root.mazeData[neighborRows[neighborRows.length - 1]][neighborCols[tempCol]].startDepth, {myRow:neighborRows[neighborRows.length - 1], myCol:neighborCols[tempCol]});
}
if (_root.mazeData[neighborRows[neighborRows.length - 1]][neighborCols[tempCol]].floorState == "overgrown") {
overgrowth.starterOvergrowth.duplicateMovieClip((("overgrowth" + neighborRows[neighborRows.length - 1]) + "_") + neighborCols[tempCol], _root.mazeData[neighborRows[neighborRows.length - 1]][neighborCols[tempCol]].startDepth, {myRow:neighborRows[neighborRows.length - 1], myCol:neighborCols[tempCol]});
}
tempCol++;
};
}
}
currMazeX = -_root.mazeData[_root.startRow][_root.startCol].xPos;
currMazeY = -_root.mazeData[_root.startRow][_root.startCol].yPos;
_root.maxRowVisible = _root.currCell.myRow + _root.visibleCellRange;
_root.minRowVisible = _root.currCell.myRow - _root.visibleCellRange;
_root.maxColVisible = _root.currCell.myCol + _root.visibleCellRange;
_root.minColVisible = _root.currCell.myCol - _root.visibleCellRange;
identifyNeighbors();
_root.wallScale = 1.5;
updateMazePos();
myKeyListener = new Object();
myKeyListener.onKeyDown = function () {
keysDown++;
onEnterFrame = function () {
if (_root.isPaused == 0) {
_root.runnerRun();
keysPressedArray = new Array(0, 0, 0, 0);
if (Key.isDown(37)) {
keysPressedArray[0] = 1;
if (Key.isDown(38)) {
runner._rotation = -135;
keysPressedArray[1] = 1;
currMazeX = currMazeX + (Math.SQRT1_2 * _root.runnerSpeed);
currMazeY = currMazeY + (0.707106781186547 * _root.runnerSpeed);
} else if (Key.isDown(40)) {
runner._rotation = -225;
keysPressedArray[3] = 1;
currMazeX = currMazeX + (Math.SQRT1_2 * _root.runnerSpeed);
currMazeY = currMazeY - (0.707106781186547 * _root.runnerSpeed);
} else {
runner._rotation = 180;
currMazeX = currMazeX + _root.runnerSpeed;
}
} else if (Key.isDown(39)) {
keysPressedArray[2] = 1;
if (Key.isDown(38)) {
runner._rotation = -45;
keysPressedArray[1] = 1;
currMazeX = currMazeX - (Math.SQRT1_2 * _root.runnerSpeed);
currMazeY = currMazeY + (0.707106781186547 * _root.runnerSpeed);
} else if (Key.isDown(40)) {
runner._rotation = 45;
keysPressedArray[3] = 1;
currMazeX = currMazeX - (Math.SQRT1_2 * _root.runnerSpeed);
currMazeY = currMazeY - (0.707106781186547 * _root.runnerSpeed);
} else {
runner._rotation = 0;
currMazeX = currMazeX - _root.runnerSpeed;
}
} else {
if (Key.isDown(38)) {
runner._rotation = -90;
keysPressedArray[1] = 1;
currMazeY = currMazeY + _root.runnerSpeed;
}
if (Key.isDown(40)) {
runner._rotation = 90;
keysPressedArray[3] = 1;
currMazeY = currMazeY - _root.runnerSpeed;
}
if ((keysPressedArray[1] == 0) && (keysPressedArray[3] == 0)) {
_root.runnerStop();
onEnterFrame = function () {
updateMazePos();
};
}
}
updateMazePos();
} else {
_root.runnerStop();
}
};
};
keysDown = 0;
Key.addListener(myKeyListener);
Symbol 421 MovieClip Frame 2
setVisibleCells("all");
stop();
Symbol 424 MovieClip Frame 2
stop();
Symbol 424 MovieClip Frame 6
stop();
Symbol 427 MovieClip Frame 2
_root.sendUpdate = function (thisUpdate) {
nextUpdate = thisUpdate;
gotoAndPlay ("newUpdate");
};
stop();
Symbol 427 MovieClip Frame 5
updates.updateText.text = nextUpdate;
Symbol 435 MovieClip Frame 1
if (_name == "starterMarker") {
this._visible = 0;
} else {
_x = _root.mazeData[myRow][myCol].xPos;
_y = _root.mazeData[myRow][myCol].yPos;
trace((_name + " parent: ") + _parent._name);
}
stop();
Symbol 436 MovieClip Frame 1
var tempRow = 1;
while (tempRow <= _root.nbrMazeRows) {
var tempCol = 1;
while (tempCol <= _root.nbrMazeCols) {
if (_root.mazeData[tempRow][tempCol].mazeCenter == 1) {
beginFill(4349750);
moveTo(_root.mazeData[tempRow][tempCol].xPos, _root.mazeData[tempRow][tempCol].yPos);
lineTo(_root.mazeData[tempRow][tempCol].xPos + _root.cellWidth, _root.mazeData[tempRow][tempCol].yPos);
lineTo(_root.mazeData[tempRow][tempCol].xPos + _root.cellWidth, _root.mazeData[tempRow][tempCol].yPos + _root.cellHeight);
lineTo(_root.mazeData[tempRow][tempCol].xPos, _root.mazeData[tempRow][tempCol].yPos + _root.cellHeight);
lineTo(_root.mazeData[tempRow][tempCol].xPos, _root.mazeData[tempRow][tempCol].yPos);
endFill();
}
tempCol++;
}
tempRow++;
}
this.lineStyle(0, 0, 100, true, "none", "round", "miter", 1);
_root.drawAllSmallMaze = function () {
var _local3 = 1;
while (_local3 <= (_root.nbrMazeRows + 1)) {
var _local2 = 1;
while (_local2 <= (_root.nbrMazeCols + 1)) {
if (_root.mazeData[_local3][_local2].topWall == 1) {
moveTo(_root.mazeData[_local3][_local2].xPos, _root.mazeData[_local3][_local2].yPos);
lineTo(_root.mazeData[_local3][_local2].xPos + _root.cellWidth, _root.mazeData[_local3][_local2].yPos);
}
if (_root.mazeData[_local3][_local2].leftWall == 1) {
moveTo(_root.mazeData[_local3][_local2].xPos, _root.mazeData[_local3][_local2].yPos);
lineTo(_root.mazeData[_local3][_local2].xPos, _root.mazeData[_local3][_local2].yPos + _root.cellHeight);
}
_local2++;
}
_local3++;
}
};
_root.drawSmallMaze = function (currDir) {
switch (currDir) {
case "all" :
var _local3 = _root.currCell.myRow - _root.revealRange;
while (_local3 <= ((_root.currCell.myRow + _root.revealRange) + 1)) {
var _local4 = _root.currCell.myCol - _root.revealRange;
while (_local4 <= ((_root.currCell.myCol + _root.revealRange) + 1)) {
if (_root.levelNbr != 10) {
if ((_root.mazeData[_local3][_local4].topWall == 1) && (_local4 <= (_root.currCell.myCol + _root.revealRange))) {
moveTo(_root.mazeData[_local3][_local4].xPos, _root.mazeData[_local3][_local4].yPos);
lineTo(_root.mazeData[_local3][_local4].xPos + _root.cellWidth, _root.mazeData[_local3][_local4].yPos);
}
if ((_root.mazeData[_local3][_local4].leftWall == 1) && (_local3 <= (_root.currCell.myRow + _root.revealRange))) {
moveTo(_root.mazeData[_local3][_local4].xPos, _root.mazeData[_local3][_local4].yPos);
lineTo(_root.mazeData[_local3][_local4].xPos, _root.mazeData[_local3][_local4].yPos + _root.cellHeight);
}
}
if (((_root.mazeData[_local3][_local4].mapped < 1) && (_local3 <= _root.nbrMazeRows)) && (_local4 <= _root.nbrMazeCols)) {
_root.mazeData[_local3][_local4].mapped = 1;
_root.nbrCellsMapped++;
_root.mappedPercent = Math.floor(100 * (_root.nbrCellsMapped / (_root.nbrMazeRows * _root.nbrMazeCols)));
if (_root.levelNbr != 10) {
_parent.mappedText.text = _root.mappedPercent + "% MAPPED";
}
_root.updateScore(_root.scorePtsMapCell);
}
_local4++;
}
_local3++;
}
break;
case "left" :
_local3 = _root.currCell.myRow - _root.revealRange;
while (_local3 <= ((_root.currCell.myRow + _root.revealRange) + 1)) {
var _local4 = _root.currCell.myCol - _root.revealRange;
if (_root.levelNbr != 10) {
if (_root.mazeData[_local3][_local4].topWall == 1) {
moveTo(_root.mazeData[_local3][_local4].xPos, _root.mazeData[_local3][_local4].yPos);
lineTo(_root.mazeData[_local3][_local4].xPos + _root.cellWidth, _root.mazeData[_local3][_local4].yPos);
}
if ((_root.mazeData[_local3][_local4].leftWall == 1) && (_local3 <= (_root.currCell.myRow + _root.revealRange))) {
moveTo(_root.mazeData[_local3][_local4].xPos, _root.mazeData[_local3][_local4].yPos);
lineTo(_root.mazeData[_local3][_local4].xPos, _root.mazeData[_local3][_local4].yPos + _root.cellHeight);
}
}
if (((_root.mazeData[_local3][_local4].mapped < 1) && (_local3 <= _root.nbrMazeRows)) && (_local4 <= _root.nbrMazeCols)) {
_root.mazeData[_local3][_local4].mapped = 1;
_root.nbrCellsMapped++;
_root.mappedPercent = Math.floor(100 * (_root.nbrCellsMapped / (_root.nbrMazeRows * _root.nbrMazeCols)));
if (_root.levelNbr != 10) {
_parent.mappedText.text = _root.mappedPercent + "% MAPPED";
}
_root.updateScore(_root.scorePtsMapCell);
}
_local3++;
}
break;
case "right" :
_local3 = _root.currCell.myRow - _root.revealRange;
while (_local3 <= ((_root.currCell.myRow + _root.revealRange) + 1)) {
var _local4 = _root.currCell.myCol + _root.revealRange;
if (_root.levelNbr != 10) {
if (_root.mazeData[_local3][_local4].topWall == 1) {
moveTo(_root.mazeData[_local3][_local4].xPos, _root.mazeData[_local3][_local4].yPos);
lineTo(_root.mazeData[_local3][_local4].xPos + _root.cellWidth, _root.mazeData[_local3][_local4].yPos);
}
if ((_root.mazeData[_local3][_local4].leftWall == 1) && (_local3 <= (_root.currCell.myRow + _root.revealRange))) {
moveTo(_root.mazeData[_local3][_local4].xPos, _root.mazeData[_local3][_local4].yPos);
lineTo(_root.mazeData[_local3][_local4].xPos, _root.mazeData[_local3][_local4].yPos + _root.cellHeight);
}
if ((_root.mazeData[_local3][_local4 + 1].leftWall == 1) && (_local3 <= (_root.currCell.myRow + _root.revealRange))) {
moveTo(_root.mazeData[_local3][_local4 + 1].xPos, _root.mazeData[_local3][_local4 + 1].yPos);
lineTo(_root.mazeData[_local3][_local4 + 1].xPos, _root.mazeData[_local3][_local4 + 1].yPos + _root.cellHeight);
}
}
if (((_root.mazeData[_local3][_local4].mapped < 1) && (_local3 <= _root.nbrMazeRows)) && (_local4 <= _root.nbrMazeCols)) {
_root.mazeData[_local3][_local4].mapped = 1;
_root.nbrCellsMapped++;
_root.mappedPercent = Math.floor(100 * (_root.nbrCellsMapped / (_root.nbrMazeRows * _root.nbrMazeCols)));
if (_root.levelNbr != 10) {
_parent.mappedText.text = _root.mappedPercent + "% MAPPED";
}
_root.updateScore(_root.scorePtsMapCell);
}
_local3++;
}
break;
case "top" :
var _local4 = _root.currCell.myCol - _root.revealRange;
while (_local4 <= ((_root.currCell.myCol + _root.revealRange) + 1)) {
_local3 = _root.currCell.myRow - _root.revealRange;
if (_root.levelNbr != 10) {
if ((_root.mazeData[_local3][_local4].topWall == 1) && (_local4 <= (_root.currCell.myCol + _root.revealRange))) {
moveTo(_root.mazeData[_local3][_local4].xPos, _root.mazeData[_local3][_local4].yPos);
lineTo(_root.mazeData[_local3][_local4].xPos + _root.cellWidth, _root.mazeData[_local3][_local4].yPos);
}
if (_root.mazeData[_local3][_local4].leftWall == 1) {
moveTo(_root.mazeData[_local3][_local4].xPos, _root.mazeData[_local3][_local4].yPos);
lineTo(_root.mazeData[_local3][_local4].xPos, _root.mazeData[_local3][_local4].yPos + _root.cellHeight);
}
}
if (((_root.mazeData[_local3][_local4].mapped < 1) && (_local3 <= _root.nbrMazeRows)) && (_local4 <= _root.nbrMazeCols)) {
_root.mazeData[_local3][_local4].mapped = 1;
_root.nbrCellsMapped++;
_root.mappedPercent = Math.floor(100 * (_root.nbrCellsMapped / (_root.nbrMazeRows * _root.nbrMazeCols)));
if (_root.levelNbr != 10) {
_parent.mappedText.text = _root.mappedPercent + "% MAPPED";
}
_root.updateScore(_root.scorePtsMapCell);
}
_local4++;
}
break;
case "bottom" :
_local4 = _root.currCell.myCol - _root.revealRange;
for(;;){
if (_local4 > ((_root.currCell.myCol + _root.revealRange) + 1)) {
break;
}
_local3 = _root.currCell.myRow + _root.revealRange;
if (_root.levelNbr != 10) {
if ((_root.mazeData[_local3][_local4].topWall == 1) && (_local4 <= (_root.currCell.myCol + _root.revealRange))) {
moveTo(_root.mazeData[_local3][_local4].xPos, _root.mazeData[_local3][_local4].yPos);
lineTo(_root.mazeData[_local3][_local4].xPos + _root.cellWidth, _root.mazeData[_local3][_local4].yPos);
}
if ((_root.mazeData[_local3 + 1][_local4].topWall == 1) && (_local4 <= (_root.currCell.myCol + _root.revealRange))) {
moveTo(_root.mazeData[_local3 + 1][_local4].xPos, _root.mazeData[_local3 + 1][_local4].yPos);
lineTo(_root.mazeData[_local3 + 1][_local4].xPos + _root.cellWidth, _root.mazeData[_local3 + 1][_local4].yPos);
}
if (_root.mazeData[_local3][_local4].leftWall == 1) {
moveTo(_root.mazeData[_local3][_local4].xPos, _root.mazeData[_local3][_local4].yPos);
lineTo(_root.mazeData[_local3][_local4].xPos, _root.mazeData[_local3][_local4].yPos + _root.cellHeight);
}
}
if (((_root.mazeData[_local3][_local4].mapped < 1) && (_local3 <= _root.nbrMazeRows)) && (_local4 <= _root.nbrMazeCols)) {
_root.mazeData[_local3][_local4].mapped = 1;
_root.nbrCellsMapped++;
_root.mappedPercent = Math.floor(100 * (_root.nbrCellsMapped / (_root.nbrMazeRows * _root.nbrMazeCols)));
if (_root.levelNbr != 10) {
_parent.mappedText.text = _root.mappedPercent + "% MAPPED";
}
_root.updateScore(_root.scorePtsMapCell);
}
_local4++;
};
}
};
_root.updateDot = function () {
dot._x = -_parent._parent._parent.maze.floor._x;
dot._y = -_parent._parent._parent.maze.floor._y;
};
markerDepth = 100;
_root.addMarker = function (myName, tempRow, tempCol) {
starterMarker.duplicateMovieClip(myName, markerDepth++, {myRow:tempRow, myCol:tempCol});
};
_root.removeMarker = function (myName) {
var myMC = eval (myName);
myMC.removeMovieClip();
};
Symbol 436 MovieClip Frame 2
var myScale = (120 / (_root.cellWidth * (_root.nbrMazeCols + 1)));
this._xscale = myScale * 100;
this._yscale = myScale * 100;
if (_root.levelNbr == 10) {
dot._xscale = 500;
dot._yscale = 500;
_parent.mappedText.text = "NO MAP!";
}
_root.updateDot();
_root.drawSmallMaze("all");
stop();
Symbol 443 MovieClip Frame 1
_root.updateLife = function (lifeChange) {
_root.currLife = _root.currLife + lifeChange;
if (_root.currLife > 100) {
_root.currLife = 100;
} else if (_root.currLife < 0) {
_root.currLife = 0;
}
if (_root.currLife <= 0) {
_root.runnerFall();
_root.updateLife = null;
_root.endMission();
} else if (lifeChange < 0) {
_root.runnerHurt();
}
gotoAndStop(_root.currLife + 1);
};
_root.updateLife(0);
Symbol 447 MovieClip Frame 1
stop();
Symbol 448 MovieClip Frame 1
function resetTimer() {
pauseTime = 0;
startPause = null;
startTime = null;
}
_root.pauseTimer = function () {
_root.isPaused = 1;
startPause = getTimer();
stop();
};
_root.changeStartTime = function (timeChange) {
_root.timeLimit = _root.timeLimit + timeChange;
};
_root.startTimer = function () {
_root.isPaused = 0;
if (startPause != null) {
pauseTime = pauseTime + (getTimer() - startPause);
}
if (startTime == null) {
startTime = getTimer();
}
play();
};
resetTimer();
isWarned = 0;
stop();
Symbol 448 MovieClip Frame 25
_root.currTime = (getTimer() - startTime) - pauseTime;
if (_root.currTime >= _root.timeLimit) {
_root.endMission();
gotoAndPlay ("still");
} else {
timerAnimated.gotoAndStop(Math.floor((1000 * (_root.currTime / _root.timeLimit)) + 1));
if (((_root.timeLimit - _root.currTime) < 15000) && (isWarned == 0)) {
_root.startTimeWarning();
_root.sendUpdate("WARNING: ONLY 15 SECONDS LEFT");
isWarned = 1;
}
}
gotoAndPlay ("loop");
Symbol 460 MovieClip Frame 1
gotoAndStop(_root.levelNbr);
Symbol 463 Button
on (release) {
_parent.gotoAndPlay("quitGame");
}
Symbol 467 MovieClip Frame 1
_root.powerupSpeed = function () {
_root.sendUpdate("BONUS: RUNNER SPEED x2");
gotoAndPlay ("start");
};
stop();
Symbol 467 MovieClip Frame 10
_root.powerupSpeedOn = 1;
Symbol 467 MovieClip Frame 240
_root.sendUpdate("RUNNER SPEED BACK TO NORMAL");
_root.powerupSpeedOn = 0;
gotoAndPlay ("still");
Symbol 469 MovieClip Frame 1
_root.powerupArmor = function () {
_root.sendUpdate("BONUS: ARMOR REDUCES DAMAGE");
gotoAndPlay ("start");
};
stop();
Symbol 469 MovieClip Frame 10
_root.runnerArmor = 1;
Symbol 469 MovieClip Frame 240
_root.sendUpdate("RUNNER DAMAGE BACK TO NORMAL");
_root.runnerArmor = 0;
gotoAndPlay ("still");
Symbol 472 MovieClip Frame 1
_root.powerupLight = function () {
_root.sendUpdate("BONUS: LIGHT x2");
gotoAndPlay ("start");
};
stop();
Symbol 472 MovieClip Frame 10
_parent._parent.light._alpha = 75;
Symbol 472 MovieClip Frame 240
_root.sendUpdate("LIGHT BACK TO NORMAL");
_parent._parent.light._alpha = 100;
gotoAndPlay ("still");
Symbol 473 MovieClip Frame 1
_root.updateScore = function (scoreChange) {
_root.currScore = _root.currScore + scoreChange;
scoreText.text = _root.currScore;
};
Symbol 492 MovieClip Frame 177
stop();
Symbol 503 MovieClip Frame 1
stop();
Symbol 503 MovieClip Frame 6
stop();
Symbol 503 MovieClip Frame 16
stop();
Symbol 505 Button
on (release) {
if (_root.levelNbr == 1) {
_root.kvEvent(7106);
}
if (_root.levelNbr == 2) {
_root.kvEvent(7107);
}
if (_root.levelNbr == 3) {
_root.kvEvent(7108);
}
if (_root.levelNbr == 4) {
_root.kvEvent(7109);
}
if (_root.levelNbr == 5) {
_root.kvEvent(7110);
}
if (_root.levelNbr == 6) {
_root.kvEvent(7111);
}
if (_root.levelNbr == 7) {
_root.kvEvent(7112);
}
if (_root.levelNbr == 8) {
_root.kvEvent(7113);
}
if (_root.levelNbr == 9) {
_root.kvEvent(7114);
}
if (_root.levelNbr == 10) {
_root.kvEvent(7115);
}
stopAllSounds();
_parent.nextScreen = "scoreScreen";
_parent.play();
}
Symbol 507 Button
on (release) {
stopAllSounds();
_parent.nextScreen = "openDoors";
_parent.play();
}
Symbol 509 Button
on (release) {
stopAllSounds();
_parent.nextScreen = "levelSelect";
_parent.play();
}
Symbol 511 Button
on (release) {
getURL ("http://www.themazerunner.com/?ref=mazeRunnerFailButton", "_blank");
_root.kvClick(1231);
}
Symbol 512 MovieClip Frame 1
if (_root.missionComplete == 1) {
bigText.text = "SUCCESS!";
smallText.text = "CONGRATULATIONS! YOU HAVE COMPLETED YOUR MISSION.";
continueButt._visible = 1;
tryAgainButt._visible = 0;
newMissionButt._visible = 0;
moreMazeButt._visible = 0;
_root.playSound("successMusic");
if (_root.levelNbr == 10) {
endings.gotoAndPlay("gameEnd");
} else {
endings.gotoAndPlay("doorsClose");
}
} else {
stopAllSounds();
bigText.text = "FAILURE!";
continueButt._visible = 0;
tryAgainButt._visible = 1;
newMissionButt._visible = 1;
moreMazeButt._visible = 1;
if (_root.currLife == 0) {
endings._visible = 0;
smallText.text = "YOU WERE CRITICALLY WOUNDED BEFORE COMPLETING YOUR MISSION.";
_root.playSound("death");
} else {
smallText.text = "YOU FAILED TO COMPLETE YOUR MISSION BEFORE SUNSET.";
endings.gotoAndPlay("doorsClose");
_root.playSound("deathMusic");
}
}
stop();
Symbol 530 Button
on (release) {
if (newHighScore != null) {
this["score" + newHighScore].setInitials();
}
_parent.play();
}
Symbol 541 Button
on (release) {
getURL ("http://www.themazerunner.com/?ref=mazeRunnerCompleteButton", "_blank");
_root.kvClick(1230);
}
Symbol 544 Button
on (release) {
getURL ("http://www.themazerunner.com/?ref=mazeRunnerCompleteBanner", "_blank");
_root.kvClick(1229);
}
Symbol 545 MovieClip Frame 1
headerText.text = ("MISSION " + _root.levelNbr) + " COMPLETE!";
mazeScore.text = _root.currScore;
mazeScoreText.text = ((_root.mappedPercent + "% mapped, ") + (_root.nbrPowerupsFound + _root.nbrItemsFound)) + " items found";
var timeBonusNbr = Math.floor((_root.timeLimit - _root.currTime) / 1000);
timeBonusText.text = timeBonusNbr + " seconds remaining";
timeBonusNbr = timeBonusNbr * 25;
timeBonus.text = "+" + timeBonusNbr;
_root.currScore = _root.currScore + timeBonusNbr;
var lifeBonusNbr = ((_root.currLife / 100) * 2000);
lifeBonus.text = "+" + lifeBonusNbr;
lifeBonusText.text = ("Life at " + _root.currLife) + "%";
_root.currScore = _root.currScore + lifeBonusNbr;
missionScoreText.text = ("MISSION " + _root.levelNbr) + " SCORE";
missionScore.text = _root.currScore;
_root.gameData[((("P" + _root.currPlayer) + "L") + _root.levelNbr) + "score"] = _root.currScore;
var done = 0;
var nbrLevels = 1;
_root.totalScore = 0;
while (done == 0) {
_root.totalScore = _root.totalScore + _root.gameData[((("P" + _root.currPlayer) + "L") + nbrLevels) + "score"];
if (_root.gameData[((("P" + _root.currPlayer) + "L") + (nbrLevels + 1)) + "score"] == null) {
done = 1;
} else {
nbrLevels++;
}
}
if ((_root.gameData[((("P" + _root.currPlayer) + "L") + (_root.levelNbr + 1)) + "score"] == null) && (_root.levelNbr < 10)) {
_root.gameData[((("P" + _root.currPlayer) + "L") + (_root.levelNbr + 1)) + "score"] = 0;
}
_root.SharedObj.flush();
totalScore.text = _root.totalScore;
completedLevels.text = nbrLevels + "/10 MISSIONS COMPLETED";
stop();
Symbol 546 MovieClip Frame 1
function initGame() {
}
function initLevel() {
_root.isPaused = 0;
_root.runnerSpeed = _root.RUNNERSPEED;
_root.grieverSpeed = _root.GRIEVERSPEED;
_root.currLife = 100;
_root.currScore = 0;
_root.missionComplete = 0;
_root.mappedPercent = 0;
_root.nbrCellsMapped = 0;
_root.nbrItemsFound = 0;
_root.nbrPowerupsFound = 0;
_root.revealRange = 1;
_root.runnerArmor = 0;
_root.powerupSpeedOn = 0;
_root.nbrMuddyTiles = 0;
_root.nbrRubbleTiles = 0;
_root.nbrSpikeyTiles = 0;
_root.nbrMetalTiles = 0;
_root.nbrOvergrownTiles = 0;
_root.nbrConveyTiles = 0;
_root.nbrPowerupHealth = 0;
_root.nbrPowerupSpeed = 0;
_root.nbrPowerupLight = 0;
_root.nbrPowerupTime = 0;
_root.nbrPowerupPencil = 0;
_root.nbrPowerupArmor = 0;
_root.nbrItems;
createMazeData();
_root.currCell = new Object();
_root.currCell = {myRow:_root.startRow, myCol:_root.startCol};
}
function createMazeData() {
switch (_root.levelNbr) {
case 1 :
_root.nbrMazeCols = 15;
_root.nbrMazeRows = 15;
emptyPercent = 0.2;
_root.timeLimit = 120000 /* 0x01D4C0 */;
_root.nbrGrievers = 3;
_root.nbrBeetles = 0;
_root.nbrMuddyTiles = 4;
_root.nbrPowerupHealth = 2;
_root.startRow = Math.floor(_root.nbrMazeRows / 2) + 1;
_root.startCol = Math.floor(_root.nbrMazeCols / 2) + 1;
break;
case 2 :
_root.nbrMazeCols = 21;
_root.nbrMazeRows = 21;
emptyPercent = 0.15;
_root.timeLimit = 120000 /* 0x01D4C0 */;
_root.nbrGrievers = 6;
_root.nbrBeetles = 8;
_root.nbrMuddyTiles = 3;
_root.nbrRubbleTiles = 4;
_root.nbrMetalTiles = 2;
_root.nbrPowerupHealth = 0;
_root.nbrPowerupSpeed = 2;
_root.nbrPowerupLight = 1;
_root.nbrPowerupTime = 1;
_root.nbrPowerupPencil = 0;
_root.nbrPowerupArmor = 3;
_root.startRow = Math.floor(_root.nbrMazeRows / 2) + 1;
_root.startCol = Math.floor(_root.nbrMazeCols / 2) + 1;
break;
case 3 :
_root.nbrMazeCols = 21;
_root.nbrMazeRows = 21;
emptyPercent = 0.15;
_root.timeLimit = 120000 /* 0x01D4C0 */;
_root.nbrGrievers = 6;
_root.nbrBeetles = 8;
_root.nbrItems = 3;
_root.nbrMuddyTiles = 2;
_root.nbrRubbleTiles = 2;
_root.nbrSpikeyTiles = 4;
_root.nbrPowerupHealth = 0;
_root.nbrPowerupSpeed = 0;
_root.nbrPowerupLight = 2;
_root.nbrPowerupTime = 0;
_root.nbrPowerupPencil = 1;
_root.nbrPowerupArmor = 0;
_root.startRow = Math.floor(_root.nbrMazeRows / 2) + 1;
_root.startCol = Math.floor(_root.nbrMazeCols / 2) + 1;
break;
case 4 :
_root.nbrMazeCols = 21;
_root.nbrMazeRows = 21;
emptyPercent = 0.15;
_root.timeLimit = 180000 /* 0x02BF20 */;
_root.nbrGrievers = 6;
_root.nbrBeetles = 8;
_root.nbrItems = 10;
_root.nbrMuddyTiles = 4;
_root.nbrRubbleTiles = 5;
_root.nbrSpikeyTiles = 3;
_root.nbrMetalTiles = 5;
_root.nbrPowerupHealth = 0;
_root.nbrPowerupSpeed = 1;
_root.nbrPowerupLight = 0;
_root.nbrPowerupTime = 2;
_root.nbrPowerupPencil = 0;
_root.nbrPowerupArmor = 2;
_root.startRow = Math.floor(_root.nbrMazeRows / 2) + 1;
_root.startCol = Math.floor(_root.nbrMazeCols / 2) + 1;
break;
case 5 :
_root.nbrMazeCols = 31;
_root.nbrMazeRows = 31;
emptyPercent = 0.1;
_root.timeLimit = 180000 /* 0x02BF20 */;
_root.nbrGrievers = 4;
_root.nbrBeetles = 2;
_root.nbrMuddyTiles = 7;
_root.nbrRubbleTiles = 3;
_root.nbrSpikeyTiles = 150;
_root.nbrMetalTiles = 9;
_root.nbrOvergrownTiles = 10;
_root.nbrConveyTiles = 6;
_root.nbrPowerupHealth = 90;
_root.nbrPowerupSpeed = 4;
_root.nbrPowerupLight = 7;
_root.nbrPowerupTime = 3;
_root.nbrPowerupPencil = 4;
_root.nbrPowerupArmor = 20;
_root.startRow = Math.floor(_root.nbrMazeRows / 2) + 1;
_root.startCol = Math.floor(_root.nbrMazeCols / 2) + 1;
break;
case 6 :
_root.nbrMazeCols = 27;
_root.nbrMazeRows = 27;
emptyPercent = 0.25;
_root.timeLimit = 120000 /* 0x01D4C0 */;
_root.nbrGrievers = 6;
_root.nbrBeetles = 8;
_root.nbrItems = 4;
_root.nbrPowerupHealth = 0;
_root.nbrPowerupSpeed = 8;
_root.nbrPowerupLight = 0;
_root.nbrPowerupTime = 2;
_root.nbrPowerupPencil = 0;
_root.nbrPowerupArmor = 0;
_root.nbrRubbleTiles = 20;
_root.startRow = Math.floor(_root.nbrMazeRows / 2) + 1;
_root.startCol = Math.floor(_root.nbrMazeCols / 2) + 1;
break;
case 7 :
_root.nbrMazeCols = 31;
_root.nbrMazeRows = 31;
emptyPercent = 0.15;
_root.timeLimit = 160000 /* 0x027100 */;
_root.nbrGrievers = 8;
_root.nbrBeetles = 2;
_root.nbrMuddyTiles = 7;
_root.nbrRubbleTiles = 3;
_root.nbrSpikeyTiles = 4;
_root.nbrMetalTiles = 9;
_root.nbrOvergrownTiles = 150;
_root.nbrConveyTiles = 4;
_root.nbrPowerupHealth = 5;
_root.nbrPowerupSpeed = 2;
_root.nbrPowerupLight = 0;
_root.nbrPowerupTime = 3;
_root.nbrPowerupPencil = 2;
_root.nbrPowerupArmor = 4;
_root.startRow = Math.floor(_root.nbrMazeRows / 2) + 1;
_root.startCol = Math.floor(_root.nbrMazeCols / 2) + 1;
break;
case 8 :
_root.nbrMazeCols = 21;
_root.nbrMazeRows = 21;
emptyPercent = 0.15;
_root.timeLimit = 120000 /* 0x01D4C0 */;
_root.nbrGrievers = 6;
_root.nbrBeetles = 8;
_root.nbrItems = 4;
_root.nbrPowerupHealth = 0;
_root.nbrPowerupSpeed = 4;
_root.nbrPowerupLight = 0;
_root.nbrPowerupTime = 3;
_root.nbrPowerupPencil = 0;
_root.nbrPowerupArmor = 0;
_root.nbrConveyTiles = 50;
_root.startRow = Math.floor(_root.nbrMazeRows / 2) + 1;
_root.startCol = Math.floor(_root.nbrMazeCols / 2) + 1;
break;
case 9 :
_root.nbrMazeCols = 31;
_root.nbrMazeRows = 31;
emptyPercent = 0.15;
_root.timeLimit = 120000 /* 0x01D4C0 */;
_root.nbrGrievers = 9;
_root.nbrBeetles = 2;
_root.nbrMuddyTiles = 7;
_root.nbrRubbleTiles = 3;
_root.nbrSpikeyTiles = 10;
_root.nbrMetalTiles = 9;
_root.nbrOvergrownTiles = 10;
_root.nbrConveyTiles = 6;
_root.nbrPowerupHealth = 5;
_root.nbrPowerupSpeed = 4;
_root.nbrPowerupLight = 3;
_root.nbrPowerupTime = 3;
_root.nbrPowerupPencil = 4;
_root.nbrPowerupArmor = 2;
_root.startRow = Math.floor(_root.nbrMazeRows / 2) + 1;
_root.startCol = Math.floor(_root.nbrMazeCols / 2) + 1;
break;
case 10 :
_root.nbrMazeCols = 75;
_root.nbrMazeRows = 75;
emptyPercent = 0.05;
_root.timeLimit = 120000 /* 0x01D4C0 */;
_root.nbrGrievers = 100;
_root.nbrBeetles = 20;
_root.nbrMuddyTiles = 30;
_root.nbrRubbleTiles = 30;
_root.nbrSpikeyTiles = 50;
_root.nbrMetalTiles = 40;
_root.nbrOvergrownTiles = 20;
_root.nbrConveyTiles = 40;
_root.nbrPowerupHealth = 0;
_root.nbrPowerupSpeed = 10;
_root.nbrPowerupLight = 0;
_root.nbrPowerupTime = 0;
_root.nbrPowerupPencil = 0;
_root.nbrPowerupArmor = 0;
_root.startRow = 25;
_root.startCol = _root.visibleCellRange + 2;
break;
default :
_root.nbrMazeCols = 21;
_root.nbrMazeRows = 21;
emptyPercent = 0.15;
_root.timeLimit = 120000 /* 0x01D4C0 */;
_root.nbrGrievers = 6;
_root.nbrBeetles = 8;
_root.startRow = Math.floor(_root.nbrMazeRows / 2) + 1;
_root.startCol = Math.floor(_root.nbrMazeCols / 2) + 1;
}
_root.mazeData = new Array(_root.nbrMazeRows + 2);
var _local8 = 1;
while (_local8 <= (_root.nbrMazeRows + 1)) {
var _local19 = new Array(_root.nbrMazeCols + 2);
var _local7 = 1;
while (_local7 <= (_root.nbrMazeCols + 1)) {
var _local4 = new Object();
_local4.visitedCount = 0;
_local4.leftWall = 1;
_local4.topWall = 1;
_local4.rightWall = 1;
_local4.bottomWall = 1;
_local4.mazeCenter = 0;
_local4.isVisible = 0;
_local4.floorState = "default";
_local4.wallState = 1;
_local4.mapped = 0;
if (_local7 > _root.nbrMazeCols) {
_local4.topWall = 0;
}
if (_local8 > _root.nbrMazeRows) {
_local4.leftWall = 0;
}
_local4.xPos = (_root.mazeStartX + (_local7 * _root.cellWidth)) - (_root.cellWidth / 2);
_local4.yPos = (_root.mazeStartY + (_local8 * _root.cellHeight)) - (_root.cellHeight / 2);
_local19[_local7] = _local4;
_local7++;
}
_root.mazeData[_local8] = _local19;
_local8++;
}
var _local12 = new Array();
var _local5 = new Object();
var _local6 = new Object();
_local5 = {myRow:_root.startRow, myCol:_root.startCol};
_root.mazeData[_local5.myRow][_local5.myCol].visitedCount = 1;
_local12[0] = {myRow:_local5.myRow, myCol:_local5.myCol};
depthCount = (_root.nbrMazeRows * _root.nbrMazeCols) + 1000;
while (_local12.length > 0) {
_local6.myRow = _local12[0].myRow;
_local6.myCol = _local12[0].myCol;
someValue = _local12.shift();
_root.mazeData[_local6.myRow][_local6.myCol].startDepth = depthCount--;
_root.mazeData[_local6.myRow][_local6.myCol].currDepth = _root.mazeData[_local6.myRow][_local6.myCol].startDepth;
if (_root.mazeData[_local6.myRow][_local6.myCol - 1].visitedCount == 0) {
_local5.myRow = _local6.myRow;
_local5.myCol = _local6.myCol - 1;
_root.mazeData[_local5.myRow][_local5.myCol].visitedCount = 1;
_local12[_local12.length] = {myRow:_local5.myRow, myCol:_local5.myCol};
}
if (_root.mazeData[_local6.myRow - 1][_local6.myCol].visitedCount == 0) {
_local5.myRow = _local6.myRow - 1;
_local5.myCol = _local6.myCol;
_root.mazeData[_local5.myRow][_local5.myCol].visitedCount = 1;
_local12[_local12.length] = {myRow:_local5.myRow, myCol:_local5.myCol};
}
if (_root.mazeData[_local6.myRow][_local6.myCol + 1].visitedCount == 0) {
_local5.myRow = _local6.myRow;
_local5.myCol = _local6.myCol + 1;
_root.mazeData[_local5.myRow][_local5.myCol].visitedCount = 1;
_local12[_local12.length] = {myRow:_local5.myRow, myCol:_local5.myCol};
}
if (_root.mazeData[_local6.myRow + 1][_local6.myCol].visitedCount == 0) {
_local5.myRow = _local6.myRow + 1;
_local5.myCol = _local6.myCol;
_root.mazeData[_local5.myRow][_local5.myCol].visitedCount = 1;
_local12[_local12.length] = {myRow:_local5.myRow, myCol:_local5.myCol};
}
}
_local8 = 1;
while (_local8 <= _root.nbrMazeRows) {
var _local7 = 1;
while (_local7 <= _root.nbrMazeCols) {
_root.mazeData[_local8][_local7].visitedCount = 0;
_local7++;
}
_local8++;
}
var _local16 = 3;
var _local14 = 5;
_local8 = Math.floor((_root.nbrMazeRows / 2) - ((_local16 / 2) - 1));
var _local25 = 1;
var _local13 = 1;
while (_local13 <= _local16) {
var _local7 = Math.floor((_root.nbrMazeCols / 2) - ((_local14 / 2) - 1));
var _local11 = 1;
while (_local11 <= _local14) {
_root.mazeData[_local8][_local7].mazeCenter = 1;
_root.mazeData[_local8][_local7].floorState = "glade" + (_local25++);
if (_local13 < _local16) {
_root.mazeData[_local8][_local7].bottomWall = 0;
} else if (_local11 == (Math.floor(_local14 / 2) + 1)) {
_root.mazeData[_local8][_local7].bottomWall = 0;
_root.mazeData[_local8 + 1][_local7].topWall = 0;
}
if (_local13 > 1) {
_root.mazeData[_local8][_local7].topWall = 0;
} else if (_local11 == (Math.floor(_local14 / 2) + 1)) {
_root.mazeData[_local8][_local7].topWall = 0;
_root.mazeData[_local8 - 1][_local7].bottomWall = 0;
}
if (_local11 < _local14) {
_root.mazeData[_local8][_local7].rightWall = 0;
} else if (_local13 == (Math.floor(_local16 / 2) + 1)) {
_root.mazeData[_local8][_local7].rightWall = 0;
_root.mazeData[_local8][_local7 + 1].leftWall = 0;
}
if (_local11 > 1) {
_root.mazeData[_local8][_local7].leftWall = 0;
} else if (_local13 == (Math.floor(_local16 / 2) + 1)) {
_root.mazeData[_local8][_local7].leftWall = 0;
_root.mazeData[_local8][_local7 - 1].rightWall = 0;
}
_local7++;
_local11++;
}
_local8++;
_local13++;
}
var _local23 = random(_root.nbrMazeRows) + 1;
var _local24 = random(_root.nbrMazeCols) + 1;
while (_root.mazeData[_local23][_local24].mazeCenter == 1) {
_local23 = random(_root.nbrMazeRows) + 1;
_local24 = random(_root.nbrMazeCols) + 1;
}
var _local10 = new Array();
var _local3 = {myRow:_local23, myCol:_local24};
_root.mazeData[_local3.row][_local3.col].visitedCount = 1;
_local10.push(_local3);
while (_local10.length > 0) {
_local3 = _local10.pop(_local10.length - 1);
var _local22 = 1;
var _local15 = new Array();
while (_local22 <= 4) {
randomSpot = random(4) + 1;
if (_local15[randomSpot] == null) {
_local15[randomSpot] = _local22;
_local22++;
}
}
_local22 = 1;
var _local2 = 0;
while ((_local22 <= 4) && (_local2 == 0)) {
switch (_local15[_local22]) {
case 1 :
var _local9 = {myRow:_local3.myRow, myCol:_local3.myCol - 1};
if ((_root.mazeData[_local9.myRow][_local9.myCol].visitedCount == 0) && (_root.mazeData[_local9.myRow][_local9.myCol].mazeCenter != 1)) {
_local2 = 1;
_local10.push(_local3);
_local10.push(_local9);
_root.mazeData[_local9.myRow][_local9.myCol].visitedCount = 1;
_root.mazeData[_local9.myRow][_local9.myCol].rightWall = 0;
_root.mazeData[_local3.myRow][_local3.myCol].leftWall = 0;
} else {
_local22++;
}
break;
case 2 :
_local9 = {myRow:_local3.myRow - 1, myCol:_local3.myCol};
if ((_root.mazeData[_local9.myRow][_local9.myCol].visitedCount == 0) && (_root.mazeData[_local9.myRow][_local9.myCol].mazeCenter != 1)) {
_local2 = 1;
_local10.push(_local3);
_local10.push(_local9);
_root.mazeData[_local9.myRow][_local9.myCol].visitedCount = 1;
_root.mazeData[_local9.myRow][_local9.myCol].bottomWall = 0;
_root.mazeData[_local3.myRow][_local3.myCol].topWall = 0;
} else {
_local22++;
}
break;
case 3 :
_local9 = {myRow:_local3.myRow, myCol:_local3.myCol + 1};
if ((_root.mazeData[_local9.myRow][_local9.myCol].visitedCount == 0) && (_root.mazeData[_local9.myRow][_local9.myCol].mazeCenter != 1)) {
_local2 = 1;
_local10.push(_local3);
_local10.push(_local9);
_root.mazeData[_local9.myRow][_local9.myCol].visitedCount = 1;
_root.mazeData[_local9.myRow][_local9.myCol].leftWall = 0;
_root.mazeData[_local3.myRow][_local3.myCol].rightWall = 0;
} else {
_local22++;
}
break;
case 4 :
_local9 = {myRow:_local3.myRow + 1, myCol:_local3.myCol};
if ((_root.mazeData[_local9.myRow][_local9.myCol].visitedCount == 0) && (_root.mazeData[_local9.myRow][_local9.myCol].mazeCenter != 1)) {
_local2 = 1;
_local10.push(_local3);
_local10.push(_local9);
_root.mazeData[_local9.myRow][_local9.myCol].visitedCount = 1;
_root.mazeData[_local9.myRow][_local9.myCol].topWall = 0;
_root.mazeData[_local3.myRow][_local3.myCol].bottomWall = 0;
} else {
_local22++;
}
}
}
}
var _local18 = int((_root.nbrMazeRows * _root.nbrMazeCols) * emptyPercent);
while (_local18 > 0) {
randomRow = random(_root.nbrMazeRows) + 1;
randomCol = random(_root.nbrMazeCols) + 1;
randomWall = random(4) + 1;
if (_root.mazeData[randomRow][randomCol].mazeCenter != 1) {
switch (randomWall) {
case 1 :
if (((_root.mazeData[randomRow][randomCol].leftWall == 1) && (randomCol > 1)) && (_root.mazeData[randomRow][randomCol - 1].mazeCenter != 1)) {
_local18--;
_root.mazeData[randomRow][randomCol].leftWall = 0;
_root.mazeData[randomRow][randomCol - 1].rightWall = 0;
}
break;
case 2 :
if (((_root.mazeData[randomRow][randomCol].topWall == 1) && (randomRow > 1)) && (_root.mazeData[randomRow - 1][randomCol].mazeCenter != 1)) {
_local18--;
_root.mazeData[randomRow][randomCol].topWall = 0;
_root.mazeData[randomRow - 1][randomCol].bottomWall = 0;
}
break;
case 3 :
if (((_root.mazeData[randomRow][randomCol].rightWall == 1) && (randomCol < _root.nbrMazeCols)) && (_root.mazeData[randomRow][randomCol + 1].mazeCenter != 1)) {
_local18--;
_root.mazeData[randomRow][randomCol].rightWall = 0;
_root.mazeData[randomRow][randomCol + 1].leftWall = 0;
}
break;
case 4 :
if (!(((_root.mazeData[randomRow][randomCol].bottomWall == 1) && (randomRow < _root.nbrMazeRows)) && (_root.mazeData[randomRow + 1][randomCol].mazeCenter != 1))) {
break;
}
_local18--;
_root.mazeData[randomRow][randomCol].bottomWall = 0;
_root.mazeData[randomRow + 1][randomCol].topWall = 0;
}
}
}
var _local22 = 1;
while (_local22 <= _root.nbrMuddyTiles) {
var _local2 = 0;
while (_local2 == 0) {
_local8 = random(_root.nbrMazeRows) + 1;
var _local7 = random(_root.nbrMazeCols) + 1;
if (_root.mazeData[_local8][_local7].floorState == "default") {
_local2 = 1;
_root.mazeData[_local8][_local7].floorState = "muddy";
}
}
_local22++;
}
_local22 = 1;
while (_local22 <= _root.nbrRubbleTiles) {
var _local2 = 0;
while (_local2 == 0) {
_local8 = random(_root.nbrMazeRows) + 1;
var _local7 = random(_root.nbrMazeCols) + 1;
if (_root.mazeData[_local8][_local7].floorState == "default") {
_local2 = 1;
_root.mazeData[_local8][_local7].floorState = "rubble";
}
}
_local22++;
}
_local22 = 1;
while (_local22 <= _root.nbrSpikeyTiles) {
var _local2 = 0;
while (_local2 == 0) {
_local8 = random(_root.nbrMazeRows) + 1;
var _local7 = random(_root.nbrMazeCols) + 1;
if (_root.mazeData[_local8][_local7].floorState == "default") {
_local2 = 1;
_root.mazeData[_local8][_local7].floorState = "spikey";
}
}
_local22++;
}
_local22 = 1;
while (_local22 <= _root.nbrMetalTiles) {
var _local2 = 0;
while (_local2 == 0) {
_local8 = random(_root.nbrMazeRows) + 1;
var _local7 = random(_root.nbrMazeCols) + 1;
if (_root.mazeData[_local8][_local7].floorState == "default") {
_local2 = 1;
_root.mazeData[_local8][_local7].floorState = "metal";
}
}
_local22++;
}
_local22 = 1;
while (_local22 <= _root.nbrOvergrownTiles) {
var _local2 = 0;
while (_local2 == 0) {
_local8 = random(_root.nbrMazeRows) + 1;
var _local7 = random(_root.nbrMazeCols) + 1;
if (_root.mazeData[_local8][_local7].floorState == "default") {
_local2 = 1;
_root.mazeData[_local8][_local7].floorState = "overgrown";
}
}
_local22++;
}
_local22 = 1;
while (_local22 <= _root.nbrConveyTiles) {
var _local2 = 0;
while (_local2 == 0) {
_local8 = random(_root.nbrMazeRows) + 1;
var _local7 = random(_root.nbrMazeCols) + 1;
if (_root.mazeData[_local8][_local7].floorState == "default") {
if ((_root.mazeData[_local8][_local7].leftWall == 0) && (_root.mazeData[_local8][_local7].rightWall == 0)) {
_local2 = 1;
var _local17 = random(2);
if (_local17 == 0) {
_root.mazeData[_local8][_local7].floorState = "convey_left";
} else {
_root.mazeData[_local8][_local7].floorState = "convey_right";
}
} else if ((_root.mazeData[_local8][_local7].bottomWall == 0) && (_root.mazeData[_local8][_local7].topWall == 0)) {
_local2 = 1;
var _local17 = random(2);
if (_local17 == 0) {
_root.mazeData[_local8][_local7].floorState = "convey_up";
} else {
_root.mazeData[_local8][_local7].floorState = "convey_down";
}
}
}
}
_local22++;
}
}
_root.SharedObj = SharedObject.getLocal("mazeRunner", "/");
_root.gameData = _root.SharedObj.data;
_root.currPlayer = 1;
_root.RUNNERSPEED = 15;
_root.GRIEVERSPEED = 7;
_root.BEETLESPEED = 2;
_root.monsterRange = 4;
_root.visibleCellRange = 3;
_root.beetleAlarmRange = 10;
_root.mazeStartX = 0;
_root.mazeStartY = 0;
_root.cellWidth = 128;
_root.cellHeight = 128;
_root.leftLimit = 32;
_root.topLimit = 32;
_root.rightLimit = _root.cellWidth;
_root.bottomLimit = _root.cellHeight;
_root.scorePtsMapCell = 5;
_root.totalScore = 0;
var done = 0;
_root.levelNbr = 1;
_root.totalScore = 0;
while (done == 0) {
if (_root.gameData[((("P" + _root.currPlayer) + "L") + _root.levelNbr) + "score"] != null) {
_root.totalScore = _root.totalScore + _root.gameData[((("P" + _root.currPlayer) + "L") + _root.levelNbr) + "score"];
}
if (_root.gameData[((("P" + _root.currPlayer) + "L") + (_root.levelNbr + 1)) + "score"] == null) {
done = 1;
} else {
_root.levelNbr++;
}
}
_root.endMission = function () {
_root.pauseTimer();
_root.stopTimeWarning();
gotoAndPlay ("levelEnd");
};
_root.highScoreData = new LoadVars();
sendData = new LoadVars();
sendData.gameNbr = 1;
sendData.sortBy = "DESC";
sendData.sendAndLoad("gameHighScores.php", _root.highScoreData, "POST");
initGame();
Symbol 546 MovieClip Frame 7
stop();
Symbol 546 MovieClip Frame 15
stopAllSounds();
_root.gameOn = 1;
Symbol 546 MovieClip Frame 24
_root.playSound("doorSlide");
Symbol 546 MovieClip Frame 25
if (_root.levelNbr == 9) {
light.gotoAndPlay("dark");
}
Symbol 546 MovieClip Frame 52
if (_root.levelNbr == 7) {
_root.updateLife(-95);
}
Symbol 546 MovieClip Frame 58
_root.startTimer();
_root.playSound("music1");
stop();
Symbol 546 MovieClip Frame 65
stopAllSounds();
_root.gameOn = 0;
Symbol 546 MovieClip Frame 76
_root.playSound("doorSlide");
Symbol 546 MovieClip Frame 105
_root.playSound("menuMusic");
gotoAndPlay ("levelSelect");
Symbol 546 MovieClip Frame 108
_root.gameOn = 0;
Symbol 546 MovieClip Frame 116
stop();
Symbol 546 MovieClip Frame 137
_root.playSound("doorSlide");
Symbol 546 MovieClip Frame 166
_root.playSound("menuMusic");
if (nextScreen == "openDoors") {
initLevel();
}
gotoAndPlay(nextScreen);
Symbol 546 MovieClip Frame 173
stop();
Symbol 546 MovieClip Frame 185
gotoAndPlay ("levelSelect");