Instance of Symbol 113 MovieClip in Frame 1
onClipEvent (enterFrame) {
var total = _root.getBytesTotal();
var soFar = _root.getBytesLoaded();
_root.loadedSoFar = ((String(Math.floor(soFar / 1000)) + " of ") + String(Math.floor(total / 1000))) + " Kb. loaded";
var per = (soFar / total);
var baseX = 320;
_root.wann._x = (baseX - (320 * (1 - per))) - 32;
_root.warrior._x = (baseX + (320 * (1 - per))) + 32;
if (soFar >= total) {
_root.gotoAndPlay("mainMenu");
}
}
Frame 2
prevFrame();
Frame 3
function viewGames(target_mc, obj) {
getURL ("http://games.wayne.edu", "_blank");
}
function viewPage(target_mc, obj) {
getURL ("http://www.wayne.edu", "_blank");
}
var contextMenu = new ContextMenu();
var gamestext = new ContextMenuItem("games.wayne.edu Homepage", viewGames);
var WSUtext = new ContextMenuItem("Wayne State University", viewPage);
contextMenu.hideBuiltInItems();
contextMenu.customItems.push(gamestext);
contextMenu.customItems.push(WSUtext);
_root.menu = contextMenu;
var snd = new Sound(soundLoader);
snd.stop();
soundLoader.removeMovieClip();
stop();
Frame 7
stop();
Frame 8
if ((_global.done == undefined) || (_global.done == false)) {
levelHolder.setParent(screen);
levelHolder.setData(_global.leveldata);
levelHolder.setLevel(1);
_global.done = true;
}
levelTitle.text = levelHolder.levelTitle;
levelIntro.text = levelHolder.levelIntro;
warriorFront._alpha = 100;
stop();
Frame 9
stop();
Instance of Symbol 354 MovieClip "powerMeter" in Frame 9
onClipEvent (load) {
_visible = false;
}
Frame 10
var ok = (levelHolder.lives > 1);
if (levelHolder.lives > 1) {
restartTitle.text = "Are you sure?";
restartText.text = "You will lose a life if you restart the level.";
restartOk._visible = true;
} else {
restartTitle.text = "Sorry!";
restartText.text = "You cannot restart a level with only one life.";
restartOk._visible = false;
}
Frame 11
dotsEaten.text = levelHolder.dotsTotal;
if (levelHolder.allComplete) {
_root.score = levelHolder.score;
gotoAndStop ("winScreen");
} else {
levelHolder.nextLevel();
gotoAndStop ("gameIntro");
}
Symbol 57 MovieClip [Wall] Frame 1
stop();
Symbol 64 MovieClip Frame 5
gotoAndPlay (1);
Symbol 93 MovieClip [Warrior] Frame 1
#initclip 8
Object.registerClass("Warrior", Warrior);
#endinitclip
stop();
Instance of Symbol 64 MovieClip "powerGlow" in Symbol 93 MovieClip [Warrior] Frame 1
onClipEvent (load) {
_visible = false;
}
Symbol 93 MovieClip [Warrior] Frame 10
this.updateAnimation();
Symbol 93 MovieClip [Warrior] Frame 19
this.updateAnimation();
Symbol 93 MovieClip [Warrior] Frame 28
this.updateAnimation();
Symbol 93 MovieClip [Warrior] Frame 37
this.updateAnimation();
Symbol 93 MovieClip [Warrior] Frame 38
Symbol 93 MovieClip [Warrior] Frame 54
gotoAndPlay ("deadloop");
Symbol 98 MovieClip [Tree] Frame 1
#initclip 4
Object.registerClass("Tree", Enemy);
#endinitclip
stop();
Symbol 103 MovieClip [Tooh] Frame 1
#initclip 5
Object.registerClass("Tooh", Enemy);
#endinitclip
stop();
Symbol 104 MovieClip [Wann] Frame 1
#initclip 6
Object.registerClass("Wann", Enemy);
#endinitclip
stop();
Symbol 106 MovieClip [EatSound] Frame 10
this.removeMovieClip();
Symbol 108 MovieClip [levelHolder] Frame 1
#initclip 7
Object.registerClass("levelHolder", Level);
#endinitclip
Symbol 114 MovieClip Frame 13
gotoAndPlay (1);
Symbol 395 MovieClip [__Packages.Warrior] Frame 0
class Warrior extends MovieClip
{
var level, player, enabled, state, direction, nextDir, speed, swapDepths, onEnterFrame, _x, _y, gotoAndPlay, stop, _parent, counter, powerGlow, _visible, startIndex;
function Warrior () {
super();
init();
}
function setLevel(lvl) {
level = lvl;
}
function init() {
player = true;
enabled = false;
state = NORMAL;
direction = STOP;
nextDir = STOP;
speed = 8;
swapDepths(_root.getNextHighestDepth());
onEnterFrame = function () {
if (Key.isDown(37)) {
this.setMove(this.LEFT);
}
if (Key.isDown(39)) {
this.setMove(this.RIGHT);
}
if (Key.isDown(38)) {
this.setMove(this.UP);
}
if (Key.isDown(40)) {
this.setMove(this.DOWN);
}
if (Key.isDown(32)) {
}
this.move();
};
}
function printDir(sta) {
switch (sta) {
case STOP :
return("STOP");
case UP :
return("UP");
case DOWN :
return("DOWN");
case LEFT :
return("LEFT");
case RIGHT :
return("RIGHT");
}
}
function setMove(dir) {
nextDir = dir;
}
function checkNextDir() {
var _local3 = level.xy2grid(_x, _y);
var _local2 = level.onGrid(_x, _y, 10);
if (_local2) {
return(true);
}
return(false);
}
function changeDir() {
var _local2;
if (direction == nextDir) {
_local2 = true;
if (!(((Key.isDown(38) || (Key.isDown(40))) || (Key.isDown(37))) || (Key.isDown(39)))) {
nextDir = STOP;
direction = STOP;
}
}
if (!shouldStop(nextDir)) {
direction = nextDir;
}
if (shouldStop(direction)) {
direction = STOP;
}
if (_local2) {
return(undefined);
}
updateAnimation();
}
function updateAnimation() {
if (state == DEAD) {
(gotoAndPlay("dead"));// not popped
return(undefined);
}
switch (direction) {
case STOP :
(stop());// not popped
return(undefined);
case UP :
(gotoAndPlay("up"));// not popped
break;
case DOWN :
(gotoAndPlay("down"));// not popped
break;
case LEFT :
(gotoAndPlay("left"));// not popped
break;
case RIGHT :
(gotoAndPlay("right"));// not popped
}
}
function shouldStop(dir) {
var _local3 = level.xy2grid(_x, _y);
if ((_local3 < 0) || (_local3 > (Number(level.rowWidth) * level.rowHeight))) {
enabled = false;
return(true);
}
var _local2 = Number(level.rowWidth);
var _local4;
switch (dir) {
case STOP :
return(true);
case UP :
if (_local3 < _local2) {
return(true);
}
_local4 = -_local2;
break;
case DOWN :
if (_local3 >= (_local2 * (_local2 - 1))) {
return(true);
}
_local4 = _local2;
break;
case LEFT :
if (_x == 0) {
return(true);
}
_local4 = -1;
break;
case RIGHT :
if (_x == ((_local2 - 1) * level.tileSize)) {
return(true);
}
_local4 = 1;
}
if (level.canWalkIdx(_local3 + _local4)) {
return(false);
}
return(true);
}
function checkForDots() {
if (!player) {
return(undefined);
}
var _local2 = level.xy2grid(_x, _y);
var _local3 = _parent["rock" + _local2];
if (_local3 != undefined) {
_local3.removeMovieClip();
level.eatDot(10);
return(undefined);
}
var _local4 = _parent["powerup" + _local2];
if (_local4 != undefined) {
_local4.removeMovieClip();
level.eatDot(50);
startPowerUp();
}
}
function startPowerUp() {
counter = POWERTIME;
level.startPowerUp();
state = SUPER;
powerGlow._visible = true;
}
function stopPowerUp() {
_visible = true;
state = NORMAL;
level.stopPowerUp();
powerGlow._visible = false;
}
function behaveGrid() {
checkForDots();
}
function behave() {
return(undefined);
}
function respawn() {
level.placeOnGrid(this, startIndex);
level.nextLife();
}
function move() {
if (!enabled) {
return(undefined);
}
if (state == SUPER) {
counter--;
var _local3 = Math.floor(100 * (counter / POWERTIME));
_root.powerMeter.powerBar._yscale = _local3;
var _local4 = new Color(powerGlow);
if (_local3 < 15) {
_local4.setRGB(16776960);
} else {
_local4.setRGB(16711680);
}
if (counter <= 0) {
stopPowerUp();
}
} else if (state == DEAD) {
counter--;
if (counter > 0) {
return(undefined);
}
respawn();
return(undefined);
}
if (checkNextDir()) {
changeDir();
behaveGrid();
}
behave();
switch (direction) {
case STOP :
break;
case UP :
_y = _y - speed;
break;
case DOWN :
_y = _y + speed;
break;
case LEFT :
_x = _x - speed;
break;
case RIGHT :
_x = _x + speed;
}
}
var STOP = 0;
var UP = 1;
var RIGHT = 2;
var DOWN = 3;
var LEFT = 4;
var NORMAL = 0;
var SUPER = 1;
var DEAD = 2;
var POWERTIME = 200;
}
Symbol 396 MovieClip [__Packages.Enemy] Frame 0
class Enemy extends Warrior
{
var type, scared, enabled, player, direction, STOP, nextDir, speed, nextSpeed, swapDepths, onEnterFrame, level, startIndex, collider, SUPER, counter, state, DEAD, _visible, NORMAL, _x, _y, LEFT, RIGHT, UP, DOWN;
function Enemy () {
super();
init();
}
function setType(n) {
type = n;
}
function init() {
scared = false;
enabled = false;
player = false;
direction = STOP;
nextDir = STOP;
speed = 4;
nextSpeed = 4;
swapDepths(_root.getNextHighestDepth());
onEnterFrame = function () {
this.think();
this.move();
};
}
function reset() {
level.placeOnGrid(this, startIndex);
}
function randRange(min, max) {
var _local1 = Math.round(Math.random() * (max - min)) + min;
return(_local1);
}
function think() {
if (!enabled) {
}
switch (type) {
case 0 :
wann();
break;
case 1 :
tooh();
break;
case 2 :
tree();
}
}
function setSpeed(n) {
nextSpeed = n;
}
function behaveGrid() {
speed = nextSpeed;
}
function behave() {
var _local2 = Warrior(level.player);
var _local3 = collider;
if (_local2.collider.hitTest(_local3)) {
if (_local2.state == SUPER) {
counter = 30;
state = DEAD;
level.addScore(200);
_visible = false;
} else {
level.loseLife();
}
}
}
function respawn() {
level.placeOnGrid(this, startIndex);
state = NORMAL;
_visible = true;
}
function wann() {
var _local3 = level.getPlayerX();
var _local2 = level.getPlayerY();
var _local4 = level.xy2grid(_x, _y);
var _local6 = level.grid2X(_local4);
var _local5 = level.grid2Y(_local4);
switch (direction) {
case STOP :
nextDir = randRange(0, 4);
break;
case LEFT :
case RIGHT :
if (_local2 < _local5) {
if (!scared) {
nextDir = UP;
} else {
nextDir = DOWN;
}
} else if (_local2 > _local5) {
if (!scared) {
nextDir = DOWN;
} else {
nextDir = UP;
}
}
break;
case UP :
case DOWN :
if (_local3 < _local6) {
if (!scared) {
nextDir = LEFT;
} else {
nextDir = RIGHT;
}
} else {
if (_local3 <= _local6) {
break;
}
if (!scared) {
nextDir = RIGHT;
} else {
nextDir = LEFT;
}
}
}
}
function tooh() {
if (direction == STOP) {
nextDir = randRange(1, 4);
}
}
function tree() {
nextDir = nextDir + Math.floor(Math.random() * 4);
if (nextDir > 4) {
nextDir = 0;
}
}
}
Symbol 397 MovieClip [__Packages.Level] Frame 0
class Level
{
var playfield, rowWidth, rowHeight, tileSize, musicPlaying, allComplete, muteMusic, music, currentLevel, lives, bonusCounter, score, topdepth, dots, dotsTotal, backLoading, musicLoading, demoLoading, path_mc, player, wann, tooh, tree, levelData, levelTitle, levelIntro, levelOutro;
function Level () {
playfield = new Array();
resetGame();
rowWidth = 15;
rowHeight = 15;
tileSize = 32;
init();
musicPlaying = false;
allComplete = false;
muteMusic = false;
music = new Sound();
}
function resetGame() {
currentLevel = 1;
lives = 3;
bonusCounter = 0;
score = 0;
}
function init() {
topdepth = 10;
dots = 0;
dotsTotal = 0;
backLoading = false;
musicLoading = false;
demoLoading = false;
_root.powerMeter._visible = false;
}
function setParent(path) {
path_mc = path;
}
function isLoading() {
return((backLoading || (musicLoading)) || (demoLoading));
}
function toggleMusic() {
if (!muteMusic) {
muteMusic = true;
if (musicPlaying) {
music.stop();
}
} else {
muteMusic = false;
if (player.state == player.SUPER) {
music.attachSound("PowerSong");
music.start(0, 100);
} else {
playMainMusic();
}
}
}
function playMainMusic() {
if (muteMusic) {
return(undefined);
}
music.attachSound("GameSong");
music.start(0, 100);
musicPlaying = true;
}
function stopMainMusic() {
music.stop();
musicPlaying = false;
}
function playPowerMusic() {
music.stop();
path_mc.grid.attachMovie("PowerUpGfx", "powerupgfx", topdepth);
if (muteMusic) {
return(undefined);
}
music.attachSound("PowerSong");
music.start(0, 100);
musicPlaying = true;
}
function stopPowerMusic() {
music.stop();
musicPlaying = false;
}
function start() {
player.enabled = true;
wann.enabled = true;
tooh.enabled = true;
tree.enabled = true;
_root.livesBox.text = String(lives);
_root.scoreBox.text = String(score);
playMainMusic();
path_mc.grid.attachMovie("GO", "go_mc", topdepth + 10);
path_mc.grid.go_mc._x = 128;
path_mc.grid.go_mc._y = 128;
}
function stop() {
player.enabled = false;
wann.enabled = false;
tooh.enabled = false;
tree.enabled = false;
stopMainMusic();
stopPowerMusic();
}
function addScore(s) {
score = score + s;
_root.scoreBox.text = String(score);
}
function eatDot(s) {
dots--;
addScore(s);
var _local3 = _root.warriorBody;
_local3.bodyLevel._yscale = Math.floor(100 * (1 - (dots / dotsTotal)));
if (dots == 0) {
stop();
stopPowerUp();
stopMainMusic();
_root.gotoAndStop("endLevel");
}
path_mc.grid.attachMovie("EatSound", "sound", 9);
}
function toggleEnemies() {
wann.enabled = !wann.enabled;
tooh.enabled = !tooh.enabled;
tree.enabled = !tree.enabled;
}
function nextLife() {
if (lives == 0) {
player._visible = false;
stop();
_root.score = score;
_root.gotoAndStop("gameover");
} else {
player.state = player.NORMAL;
player.gotoAndStop(1);
_root.warriorBody.helmet.gotoAndPlay(1);
wann.reset();
tooh.reset();
tree.reset();
toggleEnemies();
}
}
function loseLife() {
if (player.state == player.DEAD) {
return(undefined);
}
toggleEnemies();
player.counter = 50;
player.setMove(player.STOP);
player.state = player.DEAD;
player.gotoAndPlay("dead");
_root.warriorBody.helmet.gotoAndPlay("dead");
lives--;
_root.livesBox.text = String(lives);
_root.livesAnim.gotoAndPlay("lose");
}
function startPowerUp() {
if (player.state == player.SUPER) {
return(undefined);
}
stopMainMusic();
playPowerMusic();
path_mc.grid.powerupgfx._x = 240;
path_mc.grid.powerupgfx._y = 240;
wann.setSpeed(8);
wann.scared = true;
tooh.setSpeed(8);
tree.setSpeed(8);
_root.powerMeter._visible = true;
}
function stopPowerUp() {
stopPowerMusic();
playMainMusic();
wann.setSpeed(4);
wann.scared = false;
tooh.setSpeed(4);
tree.setSpeed(4);
_root.powerMeter._visible = false;
}
function getPlayerX() {
var _local2 = xy2grid(player._x, player._y);
return(grid2X(_local2));
}
function getPlayerY() {
var _local2 = xy2grid(player._x, player._y);
return(grid2Y(_local2));
}
function canWalk(cell) {
switch (cell) {
case "Q" :
case "W" :
case "E" :
case "R" :
case "T" :
case "Y" :
case "A" :
case "S" :
case "D" :
case "F" :
case "Z" :
case "X" :
case "C" :
case "O" :
case "G" :
case "V" :
case "B" :
case "N" :
case "H" :
case "J" :
case "-" :
case "P" :
case "I" :
case "_" :
case "=" :
case "/" :
return(false);
}
return(true);
}
function canWalkIdx(num) {
var _local2 = playfield[num];
return(canWalk(_local2));
}
function getCell(x, y) {
var _local2 = xy2grid(x, y);
return(playfield[_local2]);
}
function setCell(idx, val) {
playfield[idx] = val;
}
function grid2X(idx) {
return(Math.floor(idx % rowWidth) * tileSize);
}
function grid2Y(idx) {
return(Math.floor(idx / rowWidth) * tileSize);
}
function xy2grid(x, y) {
var _local3 = Math.floor(x / tileSize);
var _local2 = Math.floor(y / tileSize);
return((_local2 * rowWidth) + _local3);
}
function onGrid(x, y, err) {
var _local3 = x / tileSize;
var _local2 = y / tileSize;
var _local4 = (_local3 - Math.floor(_local3)) * 100;
var _local5 = (_local2 - Math.floor(_local2)) * 100;
if ((_local4 < err) && (_local5 < err)) {
return(true);
}
return(false);
}
function placeOnGrid(mc, arrayIdx) {
mc._x = grid2X(arrayIdx);
mc._y = grid2Y(arrayIdx);
}
function placeRock(mc, arrayIdx) {
mc._x = (Math.floor(arrayIdx % rowWidth) * tileSize) + 8;
mc._y = (Math.floor(arrayIdx / rowWidth) * tileSize) + 8;
}
function clearLevel() {
while (playfield.length != 0) {
playfield.shift();
}
path_mc.grid.removeMovieClip();
init();
}
function buildLevel() {
var _local3 = 10;
path_mc.createEmptyMovieClip("grid", _local3++);
var _local2 = 0;
while (_local2 < playfield.length) {
switch (playfield[_local2]) {
case "0" :
var _local6 = path_mc.grid.attachMovie("Wall", "wall" + _local2, _local3++);
_local6.gotoAndStop("*");
placeOnGrid(_local6, _local2);
break;
case "1" :
_local6 = path_mc.grid.attachMovie("Wall", "wall" + _local2, _local3++);
_local6.gotoAndStop("*");
placeOnGrid(_local6, _local2);
var _local8 = path_mc.grid.attachMovie("PlayerMask", "hitboxP", 7);
var _local4 = path_mc.grid.attachMovie("Warrior", "warrior", _local3++);
_local4.hitArea = _local8;
_local4.setLevel(this);
_local4.startIndex = _local2;
placeOnGrid(_local4, _local2);
player = _local4;
break;
case "O" :
_local6 = path_mc.grid.attachMovie("Wall", "house" + _local2, _local3++);
var _local5 = path_mc.grid.attachMovie("EnemyMask", "hitboxE", 7);
_local6.gotoAndStop(playfield[_local2]);
placeOnGrid(_local6, _local2);
wann = path_mc.grid.attachMovie("Wann", "wann", _local3++);
tooh = path_mc.grid.attachMovie("Tooh", "tooh", _local3++);
tree = path_mc.grid.attachMovie("Tree", "tree", _local3++);
wann.setLevel(this);
wann.setType(0);
wann.startIndex = _local2;
wann.hitArea = _local5;
tooh.setLevel(this);
tooh.setType(1);
tooh.startIndex = _local2;
tooh.hitArea = _local5;
tree.setLevel(this);
tree.setType(2);
tree.startIndex = _local2;
tree.hitArea = _local5;
placeOnGrid(wann, _local2);
placeOnGrid(tooh, _local2);
placeOnGrid(tree, _local2);
break;
case "Q" :
case "W" :
case "E" :
case "R" :
case "T" :
case "Y" :
case "A" :
case "S" :
case "D" :
case "F" :
case "Z" :
case "X" :
case "C" :
case "G" :
case "V" :
case "B" :
case "N" :
case "H" :
case "J" :
case "-" :
case "P" :
case "I" :
case "_" :
case "=" :
case "/" :
_local6 = path_mc.grid.attachMovie("Wall", "wall" + _local2, _local3++);
_local6.gotoAndStop(playfield[_local2]);
placeOnGrid(_local6, _local2);
break;
case "*" :
_local6 = path_mc.grid.attachMovie("Wall", "wall" + _local2, _local3++);
_local6.gotoAndStop(playfield[_local2]);
placeOnGrid(_local6, _local2);
dots++;
dotsTotal++;
var _local7 = path_mc.grid.attachMovie("Rock", "rock" + _local2, _local3++);
placeRock(_local7, _local2);
break;
case "+" :
_local6 = path_mc.grid.attachMovie("Wall", "wall" + _local2, _local3++);
_local6.gotoAndStop("*");
placeOnGrid(_local6, _local2);
dots++;
dotsTotal++;
var _local9 = path_mc.grid.attachMovie("PowerUp", "powerup" + _local2, _local3++);
placeOnGrid(_local9, _local2);
break;
case "&" :
break;
}
_local2++;
}
player.swapDepths(_local3++);
wann.swapDepths(_local3++);
tooh.swapDepths(_local3++);
tree.swapDepths(_local3++);
topdepth = _local3 + 1;
}
function countLevels() {
var _local4 = 0;
var _local2 = 0;
while (_local2 < levelData.firstChild.childNodes.length) {
var _local3 = levelData.firstChild.childNodes[_local2];
if (_local3.nodeName == "level") {
_local4++;
}
_local2++;
}
return(_local4);
}
function setLevel(n) {
var _local4 = 0;
levelData.ignoreWhite = true;
var _local3 = 0;
while (_local3 < levelData.firstChild.childNodes.length) {
var _local5 = levelData.firstChild.childNodes[_local3];
if (_local5.nodeName == "level") {
_local4++;
if (n == _local4) {
load(_local5);
_root.curLevelBox.text = _local4;
_root.levelTotalBox.text = countLevels();
return(undefined);
}
}
_local3++;
}
}
function resetLevel() {
if (lives == 1) {
return(undefined);
}
stopMainMusic();
stopPowerMusic();
clearLevel();
setLevel(currentLevel);
toggleEnemies();
loseLife();
nextLife();
if (lives > 0) {
playMainMusic();
player.enabled = true;
}
}
function nextLevel() {
bonusCounter++;
if (bonusCounter == 5) {
lives++;
_root.livesBox.text = String(lives);
_root.livesAnim.gotoAndPlay("win");
bonusCounter = 0;
}
currentLevel++;
clearLevel();
setLevel(currentLevel);
if (currentLevel == countLevels()) {
allComplete = true;
}
}
function load(data) {
parseData(data);
buildLevel();
}
function setData(dat) {
levelData = dat;
}
function parseData(dat) {
loadNode(dat);
}
function loadNode(node) {
var _local7 = 0;
while (_local7 < node.childNodes.length) {
var _local2 = node.childNodes[_local7];
switch (_local2.nodeName) {
case "name" :
levelTitle = _local2.firstChild.nodeValue;
break;
case "intro" :
levelIntro = _local2.firstChild.nodeValue;
break;
case "outro" :
levelOutro = _local2.firstChild.nodeValue;
break;
case "background" :
loadMovie (_local2.firstChild.nodeValue, path_mc.backLoader);
path_mc.backLoader.onLoad = function () {
this.backLoading = false;
};
backLoading = true;
break;
case "music" :
music.loadSound(_local2.nodeValue);
musicLoading = true;
music.onLoad = function () {
this.musicLoading = false;
};
break;
case "warrior" :
break;
case "playfield" :
rowWidth = Number(_local2.attributes.width);
break;
case "row" :
var _local4 = _local2.firstChild.nodeValue;
if (_local4.length < rowWidth) {
} else if (_local4.length > rowWidth) {
}
var _local6 = new Array();
var _local3 = 0;
while (_local3 < _local4.length) {
if (_local3 < (rowWidth + 1)) {
var _local5 = _local4.charAt(_local3);
_local6.push(_local5);
}
_local3++;
}
_local3 = 0;
while (_local3 < (rowWidth * rowHeight)) {
var _local5 = _local6[_local3];
if (_local5 != undefined) {
playfield.push(_local5);
}
_local3++;
}
break;
}
loadNode(_local2);
_local7++;
}
}
}
Symbol 123 Button
on (release) {
getURL ("http://games.wayne.edu/fgo/", "blank");
}
Symbol 124 MovieClip Frame 10
gotoAndPlay (1);
Symbol 125 MovieClip Frame 10
gotoAndPlay (1);
Symbol 126 MovieClip Frame 10
gotoAndPlay (1);
Symbol 135 Button
on (release) {
var xmlData = "<warrior> \t<level> \t\t<author>Gerard Imbert</author> \t\t<name>Beginner's Luck</name> \t\t<intro>Let's start simple to get used to the controls! Use the arrow keys to move around and eat all the dots.</intro> \t \t<outro>Well done! Now try the next level!</outro> <playfield width=\"15\"> \t<row>ZWBRZGZZZZGZGGZ</row> \t<row>ZTGYZHZVJJYZHHZ</row> \t<row>ZSCFZHZZZZHZHHZ</row> \t<row>ZEZEZTJJNZHZSFZ</row> \t<row>GZGZEHZZZZHGZZG</row> \t<row>HVCJNSJJJJFSJJF</row> \t<row>TJJJJJNAAAAAAAA</row> \t<row>HWDDDDRA00000OA</row> \t<row>BSCCCCFAAAAAAAA</row> \t<row>WJJJJJNXQQQQQQQ</row> \t<row>H******+******Q</row> \t<row>SJJJJJNXQQQQQ*Q</row> \t<row>CCCCCCCFQQQQQ*Q</row> \t<row>1*************E</row> \t<row>DDDDDDDDDDDDDDE</row> </playfield> </level> <level> \t<author>Gerard Imbert</author> \t<name>The plot thickens</name> \t<intro>Use the power-up to take out the Paranormal Paratroopers!</intro> <playfield width=\"15\"> \t<row>NJJJJJJJJJJJJJE</row> \t<row>H*************H</row> \t<row>H+EJJJE*EJJJA+H</row> \t<row>H*H***H*H*****H</row> \t<row>H*H*EJEZEJE*Z*H</row> \t<row>H*A*********Z*H</row> \t<row>H***EEEOWDR***H</row> \t<row>JN*EEEEESCFE*VJ</row> \t<row>H**H******H***H</row> \t<row>H*AEE*WDR*EJA*H</row> \t<row>H*****QXQ*****H</row> \t<row>H*WDDDQCQDDDR*H</row> \t<row>H+SCCCF1SCCCF+H</row> \t<row>H*************H</row> \t<row>EJJJJJJJJJJJJJE</row> </playfield> </level> <level> \t<name>Classic Maze</name> \t<intro>Don't eat all the powerups at once!</intro> <playfield width=\"15\"> \t<row>QZEEEEEEEEEEEZQ</row> \t<row>Z******1******Z</row> \t<row>E*ZEEEEEEEEEZ*E</row> \t<row>E*E*********E*E</row> \t<row>E*A*ZEZZZEZ*A*E</row> \t<row>E*************E</row> \t<row>E*QQ***X***QQ*E</row> \t<row>E*************E</row> \t<row>E*A*ZEZZZEZ*A*E</row> \t<row>E*E*********E*E</row> \t<row>E*EEEEEOEEEEE*E</row> \t<row>E*A*********A*E</row> \t<row>E*************E</row> \t<row>ZE+EEEE+EEEE+EZ</row> \t<row>QZEEEEEEEEEEEZQ</row> </playfield> </level> <level> <name>Color Code</name> <intro>From safety to danger...</intro>\t <playfield width=\"15\"> \t<row>AOAAAAAAAAAAAXA</row> \t<row>A*************A</row> \t<row>A*AAAAA*AAAAA*A</row> \t<row>A*************A</row> \t<row>A*AAAAA+AAAAA*A</row> \t<row>Q*************Q</row> \t<row>Q*Q*QQQQQQQ*Q*Q</row> \t<row>Q*************Q</row> \t<row>Q*Q+QQQQQQQ+Q*Q</row> \t<row>Q*************Q</row> \t<row>Z*ZZZZZZZZZZZ*Z</row> \t<row>Z*Z*Z*Z+Z*Z*Z*Z</row> \t<row>Z*Z*Z*Z*Z*Z*Z*Z</row> \t<row>Z******1******Z</row> \t<row>RZZZZZZZZZZZZZW</row> </playfield> </level> <level> <author>Gerard Imbert</author> <name>Red Alert</name> <intro>Don't Panic!</intro>\t <playfield width=\"15\"> \t<row>EAEAEAEAEQQZZOZ</row> \t<row>A******EEQQ***Z</row> \t<row>E*X*A*E*****Z*Z</row> \t<row>A***A*E*XQQZZ*Z</row> \t<row>E***A*E*****Q*Q</row> \t<row>A*X*A*+SEQQ*Q*Q</row> \t<row>E***********E*E</row> \t<row>A*WDDDDDDDDDR*A</row> \t<row>E*SCCCCCCCCCF*E</row> \t<row>A****EEE******A</row> \t<row>E*EE*EAE*XEEE*E</row> \t<row>A****EAE******A</row> \t<row>E*EE*EEE*AAAA*E</row> \t<row>A1************A</row> \t<row>EXEAEAEAEAEAEAE</row> </playfield> \t</level> \t<level> \t<name>Wayne's Wall</name> \t\t<intro>Avoid the robotic ninja hunters!</intro> \t\t<outro>Well done!</outro> <author>Gerard Imbert</author> <playfield width=\"15\"> \t<row>EEEEEEEEEEEEEEE</row> \t<row>E*******E*****E</row> \t<row>E+EEEEZ*EWDDR+E</row> \t<row>E*****E*ESCCF*E</row> \t<row>E*ZEE*********E</row> \t<row>E*E***A*A*Q*X*E</row> \t<row>E*****EOE*****E</row> \t<row>EE*E**EEE*QQ*EE</row> \t<row>E**E**********E</row> \t<row>E*EZE*WDR*EEE*E</row> \t<row>E***E*SCF*EEE*E</row> \t<row>E*E*********E*E</row> \t<row>E+EEEQQEQQEEE+E</row> \t<row>E******1******E</row> \t<row>EEEEEEQQQEEEEEE</row> </playfield> </level>";
xmlData = xmlData + "<level> <author>Gerard Imbert</author> <name>Corridors of Doom</name> <intro>Choose your path carefully!</intro> <playfield width=\"15\"> \t<row>EEEEEEEEEEEEEEE</row> \t<row>E******1******E</row> \t<row>XEEXEEX*XEEXEEX</row> \t<row>E+***********+E</row> \t<row>ZEEZEEZ*ZEEZEEZ</row> \t<row>E*************E</row> \t<row>AEEAEEA*AEEAEEA</row> \t<row>E+***********+E</row> \t<row>QEEQEEQ*QEEQEEQ</row> \t<row>E*************E</row> \t<row>XEEXEEX*XEEXEEX</row> \t<row>E+***********+E</row> \t<row>ZEEZEEZ*ZEEZEEZ</row> \t<row>EO************E</row> \t<row>EEEEEEEEEEEEEEE</row> </playfield> </level> <level> <author>Gerard Imbert</author> <name>Panic Room</name> <intro>Power up before entering the room!</intro> <playfield width=\"15\"> \t<row>QQQQQQQQQQQQQQQ</row> \t<row>Q******O******Q</row> \t<row>Q******+******Q</row> \t<row>Q*************Q</row> \t<row>Q*************Q</row> \t<row>QQWDDDR*WDDDRQQ</row> \t<row>E+SCCCF*SCCCF+E</row> \t<row>E*************E</row> \t<row>E*AEEEEZEEEEA*E</row> \t<row>E******E******E</row> \t<row>EEEEEX*E*XEEEEE</row> \t<row>Z******Z******Z</row> \t<row>Z*AEEEE+EEEEA*Z</row> \t<row>Z************1Z</row> \t<row>ZZEEEEEXEEEEEZZ</row> </playfield> \t</level> \t \t<level> \t<author>Gerard Imbert</author> \t<name>Bonus Letters</name> \t<intro>Reach the bonus and you're done!</intro> <playfield width=\"15\"> \t<row>ZAEEEEEEEEEEEAZ</row> \t<row>A+EEE+EEEE***1A</row> \t<row>E+E+E+E****WR*E</row> \t<row>E+++++E*AA*SF*E</row> \t<row>EEE*QEE*A*****E</row> \t<row>E+++++E*A*EE*XE</row> \t<row>E+QEEEE*A*WR*EE</row> \t<row>E+++++E***SF*EE</row> \t<row>EEEEQ+EEEEEE*XE</row> \t<row>E+++++*ZZZ****E</row> \t<row>EEEEEE*ZZZ*WR*E</row> \t<row>EOWDDR+****SF*E</row> \t<row>E+SCCF+ZZZ****E</row> \t<row>A++++++ZZZEEEEA</row> \t<row>ZAEEEEEEEEEEEAZ</row> </playfield> </level> <level> <name>Double-U</name> <intro>Remember to manage your power-ups!</intro> <playfield width=\"15\"> \t<row>ZZZZEXEXEXEZZZZ</row> \t<row>O***ZEXEXEZ*1QQ</row> \t<row>A***ZEEEEEZ***Q</row> \t<row>A*ZZZEEEEEZZZ*Q</row> \t<row>Z**ZEZZZZZEZ**Z</row> \t<row>Z**ZZ+***+ZZ**Z</row> \t<row>EZ**ZZ***ZZ**ZE</row> \t<row>EZ**Z*****Z**ZE</row> \t<row>EZ**Z**Z**Z**ZE</row> \t<row>EEZ***ZEZ***ZEE</row> \t<row>XEEZ**ZEZ**ZEEX</row> \t<row>EXEEZZEEEZZEEXE</row> \t<row>EEXEEZEXEZEEXEE</row> \t<row>EEEXEEXEXEEXEEE</row> \t<row>EEEEXXEEEXXEEEE</row> </playfield> </level> <level> \t<author>Gerard Imbert</author> \t<name>The Pyramid</name> \t<intro>Can't get in, but can you get out?</intro> <playfield width=\"15\"> \t<row>QA***Q*+*Q**1AQ</row> \t<row>Q**Q*Q*Z*Q*Q*QQ</row> \t<row>QQ*Q***Z***Q***</row> \t<row>Q**QQQQZQQQQQQ*</row> \t<row>Q*QQEQQZQQEQ***</row> \t<row>Q**QQWDDDRQQ*QQ</row> \t<row>QQ*QQTWDRYQQ***</row> \t<row>Z**ZZTTXYYZZZZ*</row> \t<row>Q*QQQTSCFYQQ***</row> \t<row>Q**QQSCCCFQQ*QQ</row> \t<row>QQ*QEQQZQQEQ***</row> \t<row>Q**QQQQZQQQQQQ*</row> \t<row>Q*QQ***Z*+*Q***</row> \t<row>Q**Q*Q*Z*Q*Q*QQ</row> \t<row>QO***Q***Q***AQ</row> </playfield> </level> <level> \t<author>Nick Denardis</author> \t<name>Scooter Alley</name> \t<intro>Race through it!</intro> <playfield width=\"15\"> \t<row>ZZZZZZZZZZ*Q+**</row> \t<row>*********Z*QQQ*</row> \t<row>*Z*A**AZ*Z*****</row> \t<row>**+QAAQ**Z*QQQZ</row> \t<row>**ZQAAQOXZ*****</row> \t<row>**ZAQQA*QQQQQQ*</row> \t<row>Q**************</row> \t<row>**A*AZ*XA*Z*Z*Z</row> \t<row>*AA*AZZZA*Z*Z*Z</row> \t<row>***+****A*Z*Z*Z</row> \t<row>WDDDDDDDR*Z*Z*Z</row> \t<row>T***********Z*Z</row> \t<row>T*******ZXZZZ*Z</row> \t<row>T*******Z*****Z</row> \t<row>SCCCCCCCF1ZZZZZ</row> </playfield> </level>";
xmlData = xmlData + "<level> \t<author>Gerard Imbert</author> \t<name>Closed Room</name> \t<intro>So close, yet so far...</intro> \t<playfield width=\"15\"> \t<row>***************</row> \t<row>*QQQQQQQQQQQQQ*</row> \t<row>*QQQQQQQQ1*****</row> \t<row>*QQQQQ------QQ*</row> \t<row>*QQEEE******QQ*</row> \t<row>*QQEEEEE*O*EQQ*</row> \t<row>*QQEEEEE***EQQ*</row> \t<row>*QQEWDDEA*AEQQ*</row> \t<row>*QQEEXREA*AAQQ*</row> \t<row>*QQESCFEA**+QQ*</row> \t<row>*QQEEEEEE*AAQQ*</row> \t<row>*QQEEEEEE*EEQQ*</row> \t<row>*QQQQQQQQ*QQQQ*</row> \t<row>*QQQQQQ***QQQQ*</row> \t<row>+*******QQQ+***</row> </playfield> </level> <level> \t<author>Jayme Sloan</author> \t<name>The whirlwind</name> \t<intro>Pieces are scattered everywhere...</intro> <playfield width=\"15\"> \t<row>AAAAAAAAAAAAAAA</row> \t<row>AZ-*Z**Z**Z*-ZA</row> \t<row>A*Z**Z***Z**Z*A</row> \t<row>A**Z*XZ*ZX*Z**A</row> \t<row>AZ**+*****+Z*ZA</row> \t<row>A*Z**EEEEE****A</row> \t<row>A****E***EZZZ*A</row> \t<row>A*ZX+E1E*E****A</row> \t<row>A**E*EEE*E*ZZZA</row> \t<row>AZ*E*****E****A</row> \t<row>A**EEEEEEEZZZ*A</row> \t<row>A**-***Z****Z*A</row> \t<row>A*ZZZ+ZZZ+ZZZ*A</row> \t<row>A******O******A</row> \t<row>AAAAAAAAAAAAAAA</row> </playfield> </level> <level> <author>Gerard Imbert</author> <name>Out of bounds</name> <intro>Think outside the box.</intro> <playfield width=\"15\"> \t<row>CCCCCCCCCCCCCCC</row> \t<row>AAY********+TAA</row> \t<row>QQY*********TQQ</row> \t<row>QQY*********TQQ</row> \t<row>QQY*********TQQ</row> \t<row>-QY****1****TQ-</row> \t<row>-QY***EXE***TQ-</row> \t<row>-QY****E****TQ-</row> \t<row>-QY****E****TQ-</row> \t<row>-QY***EOE***TQ-</row> \t<row>QQY*********TQQ</row> \t<row>QQY*********TQQ</row> \t<row>QQY*********TQQ</row> \t<row>AAY+********TAA</row> \t<row>DDDDDDDDDDDDDDD</row> </playfield> </level> <level> <author>Gerard Imbert</author> \t<name>Air Maze</name> <intro>Things are not what they seem...</intro> <playfield width=\"15\"> \t<row>---------------</row> \t<row>-*************-</row> \t<row>-*-----------*-</row> \t<row>-*-ZZZZZZZZZ-*-</row> \t<row>-*-ZZZZZZZZZ-*-</row> \t<row>-*-ZZZZZZZZZ-*-</row> \t<row>-*-----O-----*-</row> \t<row>-*************-</row> \t<row>-+-----------*-</row> \t<row>-*-ZZZZZZZZZ-*-</row> \t<row>-*-ZZZZZZZZZ-*-</row> \t<row>-*-ZZZZZZZZZ-*-</row> \t<row>-*-----------*-</row> \t<row>-******1******-</row> \t<row>---------------</row> </playfield> </level>";
xmlData = xmlData + "<level> <name>Invisible Maze</name> <intro>Can you find your way?</intro>\t\t <playfield width=\"15\"> \t<row>------+--------</row> \t<row>-1*************</row> \t<row>--*-----------*</row> \t<row>--+--*******--*</row> \t<row>--*--*-*---*--*</row> \t<row>--***--*--+****</row> \t<row>***----*------*</row> \t<row>--*----*------*</row> \t<row>--*----*--***-*</row> \t<row>--******--*O***</row> \t<row>--*----*--+**-*</row> \t<row>--*----*------*</row> \t<row>--*----*------*</row> \t<row>-**************</row> \t<row>---*+**--------</row> </playfield> </level> <level> <author>Gerard Imbert</author> <name>Rooftops</name> <intro>Who's hoarding the powerups?</intro> <playfield width=\"15\"> \t<row>**TTTTTTTTTTT**</row> \t<row>*******T*******</row> \t<row>*TTTTT***TTTTT*</row> \t<row>*TTTTTTTTTTTTT*</row> \t<row>*TTZTTTTTTTATT*</row> \t<row>*TTTTTTTTTTTTT*</row> \t<row>*TTTTT*+*TTTTT*</row> \t<row>*00000*O*00000*</row> \t<row>*TTTTT***TTTTT*</row> \t<row>*TTTTTTTTTTTTT*</row> \t<row>*TTXTTTTTTTQTT*</row> \t<row>*TTTTTTTTTTTTT*</row> \t<row>*TTTTT*1*TTTTT*</row> \t<row>*******T******0</row> \t<row>**TTTTTTTTTTT**</row> </playfield> </level> <level> \t<author>Rolaine Llanes</author> \t<name>Dungeon of Consternation</name> \t<intro>Prepare to be consterned!</intro> <playfield width=\"15\"> \t<row>AAAAAAAAAAAAAAA</row> \t<row>A****A*****A*+A</row> \t<row>AAAA*AAAA**A*AA</row> \t<row>A*+A*A*A*A****A</row> \t<row>A*AA********A*A</row> \t<row>A****A*A*A*AO*A</row> \t<row>A*AAA+*A*AAA**A</row> \t<row>AA*A*AA**A*A*AA</row> \t<row>A**A*A*AA*****A</row> \t<row>AA*******A*A*AA</row> \t<row>AA*A*AAA******A</row> \t<row>AA*A*A*A*AAAA*A</row> \t<row>A+*AAA*A*A**A*A</row> \t<row>AA**********A1A</row> \t<row>AAAAAAAAAAAAAAA</row> </playfield> </level> <level> <author>Gerard Imbert</author> <name>The Finish Line</name> <intro>Are you fast enough?</intro> <outro>Well Done, you have completed the game!</outro> <playfield width=\"15\"> \t<row>AAAAAAAAAAAAAAA</row> \t<row>AAAAAAA1AAAAAAA</row> \t<row>AAWRAZA*AZAWRAA</row> \t<row>AASFAAA*AAASFAA</row> \t<row>AAAAAAA*AAAAAAA</row> \t<row>AAAAAAA*AAAAAAA</row> \t<row>AAWRAAA*AAWRAAA</row> \t<row>AASFAAA+AASFAAA</row> \t<row>AAAAAAA*AAAAAAA</row> \t<row>AAAAAAA*AAAAAAA</row> \t<row>AAWRAAA*AAAWRAA</row> \t<row>AASFAZA*AZASFAA</row> \t<row>QAAAAAA*AAAAAAQ</row> \t<row>EXAAAAAOAAAAAXE</row> \t<row>ZZAAAAAAAAAAAZZ</row> </playfield> </level> </warrior> ";
_global.leveldata = new XML(xmlData);
_global.done = false;
gotoAndStop ("gameIntro");
}
Symbol 142 Button
on (release) {
gotoAndStop ("credits");
}
Symbol 148 Button
on (release) {
gotoAndStop ("instructions");
}
Symbol 163 MovieClip [GO] Frame 61
this.removeMovieClip();
Symbol 206 MovieClip [PowerUpGfx] Frame 46
this.removeMovieClip();
Symbol 207 MovieClip Frame 1
stop();
Symbol 207 MovieClip Frame 2
var snd = new Sound(this);
snd.stop();
Symbol 232 Button
on (release) {
gotoAndPlay ("mainMenu");
}
Symbol 250 Button
on (release) {
nextFrame();
}
Symbol 263 Button
on (release) {
prevFrame();
}
Symbol 277 MovieClip Frame 1
stop();
Symbol 288 Button
on (release) {
if (levelHolder.player.enabled) {
levelHolder.toggleEnemies();
levelHolder.player.enabled = false;
_root.gotoAndStop("restart");
}
}
Symbol 294 MovieClip Frame 21
gotoAndPlay (1);
Symbol 294 MovieClip Frame 38
gotoAndPlay ("deadloop");
Symbol 305 MovieClip Frame 1
stop();
Symbol 305 MovieClip Frame 15
gotoAndStop (1);
Symbol 305 MovieClip Frame 29
gotoAndStop (1);
Symbol 308 Button
on (release) {
if (levelHolder.player.enabled) {
levelHolder.toggleMusic();
}
}
Symbol 335 MovieClip Frame 11
gotoAndPlay (1);
Symbol 339 MovieClip Frame 68
_parent.warriorFront._alpha = 0;
Symbol 339 MovieClip Frame 96
stop();
Symbol 347 Button
on (release) {
gotoAndStop ("mainGame");
_root.gameMusic.play();
levelHolder.start();
}
on (keyPress "<Enter>") {
gotoAndStop ("mainGame");
_root.gameMusic.play();
levelHolder.start();
}
Symbol 360 Button
on (release) {
levelHolder.resetLevel();
_root.gotoAndStop("mainGame");
}
Symbol 364 Button
on (release) {
_root.gotoAndStop("mainGame");
levelHolder.toggleEnemies();
levelHolder.player.enabled = true;
}
Symbol 372 Button
on (release) {
getURL ("http://games.wayne.edu/fgo/", "this");
}
Symbol 384 Button
on (release) {
levelHolder.nextLevel();
gotoAndPlay ("gameIntro");
}
Symbol 392 MovieClip Frame 31
gotoAndPlay (1);