STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
229593
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2595 · P5190

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/89831708?noj=FRM89831708-21DC" width="1" height="1"></div>

The Legend of Newgrounds.swf

This is the info page for
Flash #42314

(Click the ID number above for more basic data on this flash file.)


Text
BOSS NAME

~Short description of the boss~

The message will go here.  This is a really long one to show you how it will look.  Horray!  It keeps going, all the way to three whole lines!

[name_txt]

The Legend of Newgrounds: How to Play
Gameplay is simple in this game.  To move, use
your arrow keys.  To swing the sword, use "S,"
and to perform an action (such as opening a
chest or closing a message), press "A."

The Legend of Newgrounds: The Story
You are Pico, and you live in the Kingdom of
Newgrounds.  After years of prosperity, a band of
evil spam Flashes ravaged the kingdom and took
over the castle, taking King Tom captive.  No
one knows who led the revolt...

The Legend of Newgrounds: The Story (cont.)
Your goal is to save King Tom and restore order
to Newgrounds.  However, you cannot even enter
the castle without the magical Blam Sword, and
to acquire it, you must first collect the three
awards: Daily 1st, Weekly 1st, and Review Crew
Pick of the Week.

The Legend of Newgrounds: The Story (cont.)
So, you must travel across the kingdom in
search of these awards.  One is in the Audio
Portal, one in the Flash Portal, and the last can
be found in the BBS.

The Legend of Newgrounds: The Story (cont.)
So who is behind the attack?  That's for you to
find out!

The Legend of Newgrounds: NG Chests
While adventuring, you may come across a chest
labeled by "NG."  These chests are hidden
throughout the kingdom and usually only appear
after killing all the enemies on a screen.

The Legend of Newgrounds: NG Chests
When you open one, you gain levels.  Every three
you collect, you get a new heart container.
Rumor has it that the Clock Crew is somehow
connected to these chests...

ActionScript [AS1/AS2]

Frame 1
function getNewgrounds() { if (NewgroundsAPI.isInstalled()) { NewgroundsAPI.loadNewgrounds(); } else { getURL ("http://www.newgrounds.com", "_blank"); } } stop(); NewgroundsAPI.connectMovie(109); NewgroundsAPI.addCustomEvent(1, "Level 1 Cleared"); NewgroundsAPI.addCustomEvent(2, "Level 2 Cleared"); NewgroundsAPI.addCustomEvent(3, "Level 3 Cleared"); NewgroundsAPI.addCustomEvent(4, "Level 4 Cleared"); NewgroundsAPI.addCustomEvent(5, "Level 5 Cleared"); NewgroundsAPI.addCustomEvent(6, "Game Cleared"); NewgroundsAPI.setMovieVersion("1.3"); var menu = new ContextMenu(); menu.hideBuiltInItems(); menu.builtInItems.quality = true; var cmi1 = new ContextMenuItem("Visit Newgrounds", getNewgrounds); menu.customItems.push(cmi1); _root.menu = menu;
Frame 8
stopAllSounds();
Frame 9
song = "song4"; if (music.song != song) { attachMovie(song, "music", 10); } var so = SharedObject.getLocal("ShirkDeio_Legend_of_Newgrounds", "/"); if (so.data.badge == undefined) { so.data.badge = 0; } new_mc.name_txt.text = "New Game"; new_mc.onRelease = function () { so.clear(); gotoAndStop ("overworld"); }; continue_mc.name_txt.text = "Continue"; continue_mc.onRelease = function () { gotoAndStop ("overworld"); }; howtoplay_mc.name_txt.text = "How to Play"; howtoplay_mc.onRelease = function () { gotoAndStop ("howtoplay"); }; playmoregames_mc.name_txt.text = "More Games"; playmoregames_mc.onRelease = function () { NewgroundsAPI.loadNewgrounds(); };
Frame 22
stop();
Frame 23
back_mc.name_txt.text = "Back"; back_mc.onRelease = function () { gotoAndPlay ("menu"); }; next_mc.name_txt.text = "Next"; next_mc.onRelease = function () { nextFrame(); };
Frame 24
back_mc.name_txt.text = "Back"; back_mc.onRelease = function () { prevFrame(); }; next_mc.name_txt.text = "Next"; next_mc.onRelease = function () { nextFrame(); };
Frame 29
back_mc.name_txt.text = "Back"; back_mc.onRelease = function () { prevFrame(); }; next_mc.name_txt.text = "Next"; next_mc.onRelease = function () { gotoAndPlay ("menu"); };
Frame 30
function buildRoom(room) { visitedObject[("room" + game.room) + "visited"] = true; if (music.song != game.song) { attachMovie(game.song, "music", 10); } _root.createEmptyMovieClip("tiles", 0); tiles.createEmptyMovieClip("back", 0); game.tiles = _root.tiles; game.tiles.setMask(mask_mc); r = 0; while (r < room.length) { c = 0; while (c < room[0].length) { var name = ((("tile_" + r) + "_") + c); game[name] = new game["tile" + room[r][c]](); game[name].depth = (((r * game.tileh) * 300) + (c * game.tilew)) + 1; if (((game[name].walkable || (game[name].lockdoor)) || (game[name].trapdoor)) || (game[name].chest)) { game.tiles.back.attachMovie("tile", name, game[name].depth); game.tiles.back[name]._x = c * game.tilew; game.tiles.back[name]._y = r * game.tileh; game[name].tile = game.tiles.back[name]; game.tiles.back[name].gotoAndStop(game[name].frame); } else { game.tiles.attachMovie("tile", name, game[name].depth); game.tiles[name]._x = c * game.tilew; game.tiles[name]._y = r * game.tileh; game[name].tile = game.tiles[name]; game.tiles[name].gotoAndStop(game[name].frame); } c++; } r++; } hero.x = (game.tilew * hero.xtile) + (game.tilew / 2); hero.y = (game.tileh * hero.ytile) + (game.tileh / 2); hero.initX = hero.xtile; hero.initY = hero.ytile; hero.depth = ((hero.y * 300) + hero.x) + 1; game.tiles.attachMovie(hero.swordType, "theGuy", hero.depth); hero.clip = game.tiles.theGuy; hero.clip._x = hero.x; hero.clip._y = hero.y; hero.clip.gotoAndStop(hero.action + hero.dir); game.tiles.createEmptyMovieClip("enemyCheck", 1E15); game.tiles.enemyCheck.onEnterFrame = function () { opentraps = true; i = 0; while (i < enemies[game.room].length) { name = (("enemy_" + game.room) + "_") + i; if ((("." + game[name].clip) != ".") && (!trapdoors[game.room])) { opentraps = false; } i++; } if (opentraps || (levelBeaten)) { openTraps(); showChests(); delete this.onEnterFrame; removeMovieClip(this); } }; i = 0; while (i < enemies[game.room].length) { name = (("enemy_" + game.room) + "_") + i; game[name] = new game["enemy" + enemies[game.room][i][0]](); game[name].type = enemies[game.room][i][0]; game[name].xtile = enemies[game.room][i][1]; game[name].ytile = enemies[game.room][i][2]; game[name].x = (game.tilew * game[name].xtile) + (game.tilew / 2); game[name].y = (game.tileh * game[name].ytile) + (game.tileh / 2); game[name].depth = ((game[name].y * 300) + game[name].x) + 1; game.tiles.attachMovie("enemy" + game[name].type, name, game[name].depth); game[name].clip = game.tiles[name]; game[name].clip._x = game[name].x; game[name].clip._y = game[name].y; game[name].clip.gotoAndStop(game[name].action + game[name].dir); game[name].clip.object = game[name]; if (game[name].type != 3) { game[name].clip.onEnterFrame = function () { if (((this.hitTest(hero.clip.hitbox) && (!this.hitTest(hero.clip.hero.sword))) && (!hero.invinsible)) && (this.object.action != "die")) { hero.loseHealth(this.object.dir); } else if (this.hitTest(hero.clip.hero.sword) && (!this.object.invinsible)) { this.object.health = this.object.health - hero.attack; if (this.object.health > 0) { this.object.initBounce = 0; this.object.oppositedir = hero.dir; this.object.bounceInterval = setInterval(bounceBack, 5, this.object, this.object.oppositedir, 50); this.object.initInvinsible = 0; this.object.invinsibleInterval = setInterval(setInvinsible, 2, this.object, 200); } else { this.object.action = "die"; moveObject(0, 0, this.object); } } }; } else if (levelBeaten) { removeMovieClip(game[name].clip); delete game[name]; } else { showBossMessage("A-Bot", "~Guardian of the Audio Portal~"); attachMovie("song2", "music", 10); } i++; } if (levelBeaten) { openLocks(); } i = 0; while (i < inventory[0].length) { room = inventory[0][i][0]; name = inventory[0][i][1]; unlocked = inventory[0][i][2]; bluekey = inventory[0][i][3]; if ((room == game.room) && (unlocked)) { game[name].walkable = true; game[name].door = true; frame = game.tiles.back[name].tile._totalframes; game.tiles.back[name].tile.gotoAndStop(frame); } if (!unlocked) { if (bluekey) { game.tiles.attachMovie("bluekey", "key", game.tiles.getNextHighestDepth()); } else { game.tiles.attachMovie("key", "key", game.tiles.getNextHighestDepth()); } game.tiles.key._y = Stage.height - (game.tiles.key._height / 2); game.tiles.key._x = 10; } i++; } room = _root["room" + game.room]; r = 0; while (r < room.length) { c = 0; while (c < room[0].length) { tile = game[(("tile_" + r) + "_") + c]; if (tile.chest) { i = 1; while (i <= 15) { if (so.data[("chest" + i) + "open"] && (i == tile.id)) { tile.visible = true; tile.tile.gotoAndStop(tile.visibleFrame); tile.tile.tile.gotoAndStop(tile.tile.tile._totalframes); tile.openChest = true; tile.walkable = false; } i++; } } c++; } r++; } game.tiles.createEmptyMovieClip("hud", 100000); game.tiles.hud._x = 390; game.tiles.hud._y = 5; game.tiles.hud.maxhealth = hero.maxhealth; i = 0; while (i < hero.maxhealth) { game.tiles.hud.attachMovie("heart", "heart" + i, i); game.tiles.hud["heart" + i]._x = i * 20; if (i >= 5) { game.tiles.hud["heart" + i]._x = (i - 5) * 20; game.tiles.hud["heart" + i]._y = 20; } i++; } game.tiles.hud.onEnterFrame = function () { i = 0; while (i < hero.maxhealth) { if (hero.health > i) { this["heart" + i].gotoAndStop("full"); } else { this["heart" + i].gotoAndStop("empty"); } i++; } if (this.maxhealth != hero.maxhealth) { this.maxhealth = hero.maxhealth; hero.health = hero.maxhealth; i = 0; while (i < hero.maxhealth) { this.attachMovie("heart", "heart" + i, i); this["heart" + i]._x = i * 20; if (i >= 5) { this["heart" + i]._x = (i - 5) * 20; this["heart" + i]._y = 20; } i++; } } }; } function checkKeys() { if ((hero.action != "attack") && (hero.action != "die")) { hero.action = "idle"; left = Key.isDown(37); right = Key.isDown(39); up = Key.isDown(38); down = Key.isDown(40); if (left && (!right)) { moveObject(-1, 0, hero); } if (right && (!left)) { moveObject(1, 0, hero); } if (up && (!down)) { moveObject(0, -1, hero); } if (down && (!up)) { moveObject(0, 1, hero); } } hero.clip.gotoAndStop(hero.action + hero.dir); } function moveObject(xdir, ydir, object) { if (!game.paused) { if (object.action != "die") { left = Key.isDown(37); right = Key.isDown(39); up = Key.isDown(38); down = Key.isDown(40); checkCorners(object.x + (object.speed * xdir), object.y, object); if (xdir == -1) { if (object.upleft && (object.downleft)) { object.x = object.x + (object.speed * xdir); } else if (object.upleft || (object.tileUpLeft.lockdoor)) { object.y--; } else if (object.downleft || (object.tileDownLeft.lockdoor)) { object.y++; } else { object.x = (object.xtile * game.tilew) + object.width; } object.action = "walk"; if ((!up) && (!down)) { object.dir = "left"; } if (((object.tileUpLeft == object.tileDownLeft) && (object.tileUpLeft.lockdoor)) && (object == hero)) { i = 0; while (i < inventory[0].length) { tile = game[inventory[0][i][1]]; unlocked = inventory[0][i][2]; if ((tile == object.tileUpLeft) && (!unlocked)) { unlockDoor(tile); inventory[0][i][2] = true; } i++; } } } if (xdir == 1) { if (object.upright && (object.downright)) { object.x = object.x + (object.speed * xdir); } else if (object.upright || (object.tileUpRight.lockdoor)) { object.y--; } else if (object.downright || (object.tileDownRight.lockdoor)) { object.y++; } else { object.x = (((object.xtile + 1) * game.tilew) - object.width) - 1; } object.action = "walk"; if ((!up) && (!down)) { object.dir = "right"; } if (((object.tileUpRight == object.tileDownRight) && (object.tileUpRight.lockdoor)) && (object == hero)) { i = 0; while (i < inventory[0].length) { tile = game[inventory[0][i][1]]; unlocked = inventory[0][i][2]; if ((tile == object.tileUpRight) && (!unlocked)) { unlockDoor(tile); inventory[0][i][2] = true; } i++; } } } checkCorners(object.x, object.y + (object.speed * ydir), object); if (ydir == -1) { if (object.upleft && (object.upright)) { object.y = object.y + (object.speed * ydir); } else if (object.upleft || (object.tileUpLeft.lockdoor)) { object.x--; } else if (object.upright || (object.tileUpRight.lockdoor)) { object.x++; } else { object.y = (object.ytile * game.tileh) + object.height; } object.action = "walk"; object.dir = "up"; if (((object.tileUpLeft == object.tileUpRight) && (object.tileUpLeft.lockdoor)) && (object == hero)) { i = 0; while (i < inventory[0].length) { tile = game[inventory[0][i][1]]; unlocked = inventory[0][i][2]; if ((tile == object.tileUpLeft) && (!unlocked)) { unlockDoor(tile); inventory[0][i][2] = true; } i++; } } } if (ydir == 1) { if (object.downleft && (object.downright)) { object.y = object.y + (object.speed * ydir); } else if (object.downleft || (object.tileDownLeft.lockdoor)) { object.x--; } else if (object.downright || (object.tileDownRight.lockdoor)) { object.x++; } else { object.y = (((object.ytile + 1) * game.tileh) - object.height) - 1; } object.action = "walk"; object.dir = "down"; if (((object.tileDownLeft == object.tileDownRight) && (object.tileDownLeft.lockdoor)) && (object == hero)) { i = 0; while (i < inventory[0].length) { tile = game[inventory[0][i][1]]; unlocked = inventory[0][i][2]; if ((tile == object.tileDownLeft) && (!unlocked)) { unlockDoor(tile); inventory[0][i][2] = true; } i++; } } } object.xtile = Math.floor(object.x / game.tilew); object.ytile = Math.floor(object.y / game.tileh); object.clip._x = object.x; object.clip._y = object.y; } object.clip.gotoAndStop(object.action + object.dir); if ((object == hero) && (game[(("tile_" + object.ytile) + "_") + object.xtile].door)) { changeMap(); } if ((object == hero) && (game[(("tile_" + object.ytile) + "_") + object.xtile].outdoor)) { changeArea(); } if ((object == hero) && (game[(("tile_" + object.ytile) + "_") + object.xtile].scene)) { scene = game[(("tile_" + object.ytile) + "_") + object.xtile].sceneName; if (game[(("tile_" + object.ytile) + "_") + object.xtile].sceneCondition) { gotoAndStop ("scene"); } } object.depth = ((object.y * 300) + object.x) + 1; object.clip.swapDepths(object.depth); return(true); } } function checkCorners(x, y, object) { object.leftX = Math.floor((x - object.width) / game.tilew); object.rightX = Math.floor((x + object.width) / game.tilew); object.upY = Math.floor((y - object.height) / game.tileh); object.downY = Math.floor((y + object.height) / game.tileh); object.tileUpLeft = game[(("tile_" + object.upY) + "_") + object.leftX]; object.tileUpRight = game[(("tile_" + object.upY) + "_") + object.rightX]; object.tileDownLeft = game[(("tile_" + object.downY) + "_") + object.leftX]; object.tileDownRight = game[(("tile_" + object.downY) + "_") + object.rightX]; object.upleft = game[(("tile_" + object.upY) + "_") + object.leftX].walkable; object.upright = game[(("tile_" + object.upY) + "_") + object.rightX].walkable; object.downleft = game[(("tile_" + object.downY) + "_") + object.leftX].walkable; object.downright = game[(("tile_" + object.downY) + "_") + object.rightX].walkable; } function moveEnemy() { i = 0; while (i < enemies[game.room].length) { var _local2 = (("enemy_" + game.room) + "_") + i; var _local1 = game[_local2]; if (!game.paused) { playClips(_local1.clip); checkCorners(_local1.x + (_local1.speed * _local1.xdir), _local1.y + (_local1.speed * _local1.ydir), _local1); switch (_local1.type) { case 1 : if ((getDistance(_local1.clip, hero.clip).totaldist > 100) || (_local1.clip.hitTest(hero.clip.hitbox))) { if (((_local1.upleft && (_local1.upright)) && (_local1.downleft)) && (_local1.downright)) { moveObject(_local1.xdir, _local1.ydir, _local1); } else { var _local3 = Math.floor((Math.random() * 4) + 1); switch (_local3) { case 1 : _local1.xdir = -1; _local1.ydir = 0; break; case 2 : _local1.xdir = 1; _local1.ydir = 0; break; case 3 : _local1.xdir = 0; _local1.ydir = -1; break; case 4 : _local1.xdir = 0; _local1.ydir = 1; } } } else { distance = getDistance(_local1.clip, hero.clip); if (Math.abs(distance.xdist) > 10) { if (distance.xdist < 0) { _local1.xdir = 1; _local1.ydir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.xdir = -1; _local1.ydir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } } else if (distance.ydist < 0) { _local1.ydir = 1; _local1.xdir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.ydir = -1; _local1.xdir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } } break; case 2 : if ((getDistance(_local1.clip, hero.clip).totaldist > 100) || (_local1.clip.hitTest(hero.clip.hitbox))) { var _local3 = Math.random() * 100; if ((((_local1.upleft && (_local1.upright)) && (_local1.downleft)) && (_local1.downright)) && (_local3 > _local1.turnchance)) { moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local3 = Math.floor((Math.random() * 4) + 1); switch (_local3) { case 1 : _local1.xdir = -1; _local1.ydir = 0; break; case 2 : _local1.xdir = 1; _local1.ydir = 0; break; case 3 : _local1.xdir = 0; _local1.ydir = -1; break; case 4 : _local1.xdir = 0; _local1.ydir = 1; } } } else { distance = getDistance(_local1.clip, hero.clip); if (Math.abs(distance.xdist) > 10) { if (distance.xdist < 0) { _local1.xdir = 1; _local1.ydir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.xdir = -1; _local1.ydir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } } else if (distance.ydist < 0) { _local1.ydir = 1; _local1.xdir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.ydir = -1; _local1.xdir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } } break; case 3 : if (_local1.health > 0) { _local1.invinsible = true; if (_local1.currentAction > _local1.actionOrder.length) { _local1.currentAction = 0; } switch (_local1.actionOrder[Math.floor(_local1.currentAction)]) { case "move" : _local1.hit = false; if (_local1.movementDirection == undefined) { if ((_local1.xtile == 5) && (Math.floor(Math.random() * 2) == 0)) { moveRight = 1; } else { moveRight = 0; } if ((_local1.xtile < 5) || (moveRight == 1)) { if (_local1.ytile <= 5) { if (Math.floor(Math.random() * 2) == 0) { _local1.movementDirection = "right"; } else { _local1.movementDirection = "down"; } } else if (Math.floor(Math.random() * 2) == 0) { _local1.movementDirection = "right"; } else { _local1.movementDirection = "up"; } } else if (_local1.ytile <= 5) { if (Math.floor(Math.random() * 2) == 0) { _local1.movementDirection = "left"; } else { _local1.movementDirection = "down"; } } else if (Math.floor(Math.random() * 2) == 0) { _local1.movementDirection = "left"; } else { _local1.movementDirection = "up"; } } switch (_local1.movementDirection) { case "left" : moveObject(-1, 0, _local1); break; case "right" : moveObject(1, 0, _local1); break; case "up" : moveObject(0, -1, _local1); break; case "down" : moveObject(0, 1, _local1); } if (Math.floor(_local1.currentAction + 0.05) > Math.floor(_local1.currentAction)) { delete _local1.movementDirection; } _local1.currentAction = _local1.currentAction + 0.05; if (_local1.clip.hitbox.hitTest(hero.clip.hitbox) && (!hero.invinsible)) { hero.loseHealth(_local1.dir); } break; case "align" : _local1.hit = false; if (_local1.xtile > 5) { _local1.movementDirection = "left"; } else if (_local1.xtile < 5) { _local1.movementDirection = "right"; } else if (_local1.ytile > 5) { _local1.movementDirection = "up"; } else { _local1.currentAction++; } switch (_local1.movementDirection) { case "left" : moveObject(-1, 0, _local1); break; case "right" : moveObject(1, 0, _local1); break; case "up" : moveObject(0, -1, _local1); break; case "down" : moveObject(0, 1, _local1); } if (_local1.clip.hitbox.hitTest(hero.clip.hitbox) && (!hero.invinsible)) { hero.loseHealth(_local1.dir); } break; case "attack1" : _local1.currentAction = _local1.currentAction + 0.02; _local1.action = "attack"; _local1.dir = "down"; _local1.clip.gotoAndStop("attack1"); break; case "attack2" : _local1.currentAction = _local1.currentAction + 0.02; _local1.action = "attack"; _local1.dir = "down"; _local1.clip.gotoAndStop("attack2"); break; case "idle" : _local1.invinsible = false; _local1.currentAction = _local1.currentAction + 0.01; if (_local1.clip.hitTest(hero.clip.hero.sword) && (!_local1.hit)) { _local1.hit = true; _local1.health = _local1.health - hero.attack; if (_local1.health > 0) { _local1.initInvinsible = 0; _local1.invinsibleInterval = setInterval(setInvinsible, 5, _local1, 200); } } _local1.action = "walk"; _local1.dir = "down"; _local1.clip.gotoAndStop("walkdown"); } } else { _local1.clip.gotoAndStop("die"); } break; default : if (((_local1.upleft && (_local1.upright)) && (_local1.downleft)) && (_local1.downright)) { moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.xdir = _local1.xdir * -1; _local1.ydir = _local1.ydir * -1; } } } else { stopClips(_local1.clip); } i++; } } function checkAttack() { if ((game.attackKey && (hero.action != "attack")) && (!game.paused)) { hero.action = "attack"; } } function changeMap(sameRoom) { if (sameRoom == undefined) { var _local2 = (("tile_" + hero.ytile) + "_") + hero.xtile; if (game[_local2].type == "x") { hero.xtile = game[_local2].newX; } else if (game[_local2].type == "y") { hero.ytile = game[_local2].newY; } else { hero.xtile = game[_local2].newX; hero.ytile = game[_local2].newY; } hero.x = (hero.xtile * game.tilew) + hero.width; hero.y = (((hero.ytile + 1) * game.tileh) - object.height) - 1; hero.clip._x = hero.x; hero.clip._y = hero.y; } d = 0; removeMovieClip(game.tiles); if (sameRoom == undefined) { game.room = game[_local2].newroom; } buildRoom(_root["room" + game.room]); if (sameRoom == undefined) { } } function resetArea() { for (i in initHero) { hero[i] = initHero[i]; } hero.x = (hero.xtile * game.tilew) + hero.width; hero.y = (((hero.ytile + 1) * game.tileh) - object.height) - 1; hero.clip._x = hero.x; hero.clip._y = hero.y; removeMovieClip(game.tiles); game.room = initGame.room; buildRoom(_root["room" + game.room]); } function changeArea(notile) { if (notile == undefined) { var _local2 = (("tile_" + hero.ytile) + "_") + hero.xtile; if (game[_local2].type == "x") { hero.xtile = game[_local2].newX; } else if (game[_local2].type == "y") { hero.ytile = game[_local2].newY; } else { hero.xtile = game[_local2].newX; hero.ytile = game[_local2].newY; } hero.x = (hero.xtile * game.tilew) + hero.width; hero.y = (((hero.ytile + 1) * game.tileh) - object.height) - 1; hero.clip._x = hero.x; hero.clip._y = hero.y; d = 0; removeMovieClip(game.tiles); _root.newroom = {room:game[_local2].newroom, xtile:hero.xtile, ytile:hero.ytile, health:hero.health}; gotoAndStop(game[_local2].newarea); } else { hero.xtile = notile.newX; hero.ytile = notile.newY; hero.x = (hero.xtile * game.tilew) + hero.width; hero.y = (((hero.ytile + 1) * game.tileh) - object.height) - 1; hero.clip._x = hero.x; hero.clip._y = hero.y; d = 0; removeMovieClip(game.tiles); _root.newroom = {room:notile.newroom, xtile:hero.xtile, ytile:hero.ytile, health:hero.health}; gotoAndStop(notile.newarea); } } function fall(object) { object.xtile = object.initX; object.ytile = object.initY; object.x = (object.xtile * game.tilew) + (game.tilew / 2); object.y = (object.ytile * game.tileh) + (game.tileh / 2); object.clip._x = object.x; object.clip._y = object.y; } function showMessage(txt) { game.showingMessage = true; attachMovie("message", "msg", this.getNextHighestDepth()); msg.text_txt.text = ""; msg._y = Stage.height - msg._height; msg.txt = txt; msg.continue_mc._visible = false; msg.onEnterFrame = function () { enterTooLong = 0; if (game.enterKey) { msg.text_txt.text = msg.txt; msg.onEnterFrame = function () { if (game.enterKey) { game.paused = false; game.showingMessage = false; removeMovieClip(msg); } }; game.enterKey = false; msg.continue_mc._visible = true; sound.attachSound("beep2"); sound.start(); clearInterval(showMessageInterval); } }; _root.letterNumber = 0; game.paused = true; var sound = new Sound(); showMessageInterval = setInterval(showLetter, 10, msg, sound); } function showLetter(msg, sound) { sound.attachSound("beep1"); sound.start(); txtArray = msg.txt.split(""); msg.text_txt.text = msg.text_txt.text + txtArray[_root.letterNumber]; if ((_root.letterNumber + 1) < txtArray.length) { _root.letterNumber++; } else { msg.onEnterFrame = function () { if (game.enterKey) { game.paused = false; game.showingMessage = false; removeMovieClip(msg); } }; game.enterKey = false; msg.continue_mc._visible = true; sound.attachSound("beep2"); sound.start(); clearInterval(showMessageInterval); } } function showBossMessage(name, desc) { game.paused = true; attachMovie("messageBoss", "bossMsg", this.getNextHighestDepth()); bossMsg._x = Stage.height / 2; bossMsg._y = Stage.height / 2; bossMsg.txt_mc.name_txt.text = name; bossMsg.txt_mc.desc_txt.text = desc; bossMsg.onEnterFrame = function () { if (this._currentframe == this._totalframes) { game.paused = false; removeMovieClip(this); } }; } function bounceBack(object, dir, max) { if (!game.paused) { if (object.oppositedir == "left") { moveObject(-1, 0, object); } else if (object.oppositedir == "right") { moveObject(1, 0, object); } else if (object.oppositedir == "up") { moveObject(0, -1, object); } else if (object.oppositedir == "down") { moveObject(0, 1, object); } object.initBounce++; if (object.initBounce == max) { clearInterval(object.bounceInterval); } } } function setInvinsible(object, max) { if (!game.paused) { object.invinsible = true; object.clip._alpha = 50; object.initInvinsible++; if (object.initInvinsible == max) { object.invinsible = false; object.clip._alpha = 100; clearInterval(object.invinsibleInterval); } } } function unlockDoor(tile) { tile.walkable = true; tile.door = true; tile.tile.tile.play(); removeMovieClip(game.tiles.key); } function openTraps() { room = _root["room" + game.room]; trapdoors[game.room] = true; r = 0; while (r < room.length) { c = 0; while (c < room[0].length) { var _local2 = (("tile_" + r) + "_") + c; if (game[_local2].trapdoor) { game[_local2].walkable = true; game[_local2].door = true; game.tiles.back[_local2].tile.play(); } c++; } r++; } } function openLocks() { room = _root["room" + game.room]; r = 0; while (r < room.length) { c = 0; while (c < room[0].length) { var _local2 = (("tile_" + r) + "_") + c; if (game[_local2].lockdoor) { game[_local2].walkable = true; game[_local2].door = true; game.tiles.back[_local2].tile.gotoAndStop(game.tiles.back[_local2].tile._totalframes); } c++; } r++; } } function showChests() { room = _root["room" + game.room]; r = 0; while (r < room.length) { c = 0; while (c < room[0].length) { var _local2 = (("tile_" + r) + "_") + c; if (game[_local2].chest && (!game[_local2].visible)) { game[_local2].tile.gotoAndStop(game[_local2].visibleFrame); game[_local2].walkable = false; game[_local2].visible = true; } c++; } r++; } } function getDistance(object1, object2) { xdist = object1._x - object2._x; ydist = object1._y - object2._y; totaldist = Math.sqrt((xdist * xdist) + (ydist * ydist)); return({xdist:xdist, ydist:ydist, totaldist:totaldist}); } function stopClips(object) { for (name in object) { if (typeof(object[name]) == "movieclip") { stopAllClips(object[name]); } } } function stopAllClips(object) { object.stop(); object.stoppedByFunction = true; for (name in object) { if (typeof(object[name]) == "movieclip") { stopAllClips(object[name]); } } } function playClips(object) { for (name in object) { if (typeof(object[name]) == "movieclip") { playAllClips(object[name]); } } } function playAllClips(object) { if (object.stoppedByFunction) { object.play(); } for (name in object) { if (typeof(object[name]) == "movieclip") { playAllClips(object[name]); } } } stop(); if (!so.data.intro) { so.data.intro = true; scene = "intro"; gotoAndStop ("scene"); } if (overworldRooms == undefined) { var overworldRooms = new Object(); i = 1; while (i <= 61) { overworldRooms[("room" + i) + "visited"] = false; i++; } } visitedObject = overworldRooms; pause_mc.name_txt.text = "Pause/Map"; pause_mc.onRelease = function () { if (!game.paused) { game.paused = true; game.tiles.attachMovie("map_over", "map", game.tiles.getNextHighestDepth()); game.tiles.map._x = Stage.height / 2; game.tiles.map._y = Stage.height / 2; for (mc in game.tiles.map) { if ((typeof(game.tiles.map[mc]) == "movieclip") && (game.tiles.map[mc] != game.tiles.map["room" + game.room])) { if (visitedObject[mc + "visited"]) { game.tiles.map[mc].stop(); } else { game.tiles.map[mc].gotoAndStop(61); } } } } else { game.paused = false; game.tiles.map["room" + game.room].gotoAndStop(1); removeMovieClip(game.tiles.map); } }; music_mc.name_txt.text = "Music On/Off"; music_mc.onRelease = function () { if (music.music.getVolume() == 100) { music.music.setVolume(0); } else { music.music.setVolume(100); } }; quit_mc.name_txt.text = "Quit"; quit_mc.onRelease = function () { removeMovieClip(game.tiles); delete _root.newroom; gotoAndPlay ("menu"); }; var room1 = [[11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11], [11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11], [11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11], [11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11], [11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11], [11, 12, 12, 12, 12, 10, 12, 12, 12, 12, 11, 11], [11, 12, 12, 12, 12, 13, 12, 12, 12, 12, 11, 11], [9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9], [14, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 14], [9, 14, 9, 9, 9, 9, 9, 9, 9, 9, 14, 9], [14, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 14], [9, 14, 20, 20, 20, 20, 20, 20, 20, 20, 14, 9]]; var room2 = [[11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11], [11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11], [11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11], [11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11], [11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11], [11, 12, 12, 12, 12, 15, 12, 12, 12, 12, 11, 11], [11, 12, 12, 12, 12, 13, 12, 12, 12, 12, 11, 11], [9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9], [14, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 14], [9, 14, 9, 9, 9, 9, 9, 9, 9, 9, 14, 9], [14, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 14], [9, 14, 23, 23, 23, 23, 23, 23, 23, 23, 14, 9]]; var room3 = [[11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11], [11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11], [11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11], [11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11], [11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11], [11, 12, 12, 12, 12, 16, 12, 12, 12, 12, 11, 11], [11, 12, 12, 12, 12, 13, 12, 12, 12, 12, 11, 11], [9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9], [14, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 14], [9, 14, 9, 9, 9, 9, 9, 9, 9, 9, 14, 9], [14, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 14], [9, 14, 34, 34, 34, 34, 34, 34, 34, 34, 14, 9]]; var room4 = [[11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11], [11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11], [11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11], [11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11], [11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11], [11, 12, 12, 12, 12, 17, 12, 12, 12, 12, 11, 11], [11, 12, 12, 12, 12, 13, 12, 12, 12, 12, 11, 11], [9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9], [14, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 14], [9, 14, 9, 9, 9, 9, 9, 9, 9, 9, 14, 9], [14, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 14], [9, 14, 35, 35, 35, 35, 35, 35, 35, 35, 14, 9]]; var room5 = [[11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11], [11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11], [11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11], [11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11], [11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11], [11, 12, 12, 12, 12, 18, 12, 12, 12, 12, 11, 11], [11, 12, 12, 12, 12, 13, 12, 12, 12, 12, 11, 11], [9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9], [14, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 14], [9, 14, 9, 9, 9, 9, 9, 9, 9, 9, 14, 9], [14, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 14], [9, 14, 40, 40, 40, 40, 40, 40, 40, 40, 14, 9]]; var room6 = [[14, 9, 19, 19, 19, 19, 19, 19, 19, 19, 9, 14], [2, 14, 9, 9, 9, 9, 9, 9, 9, 9, 14, 21], [2, 9, 14, 9, 9, 227, 9, 9, 9, 9, 9, 21], [2, 9, 9, 9, 9, 9, 9, 14, 9, 9, 9, 21], [2, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223], [2, 9, 9, 9, 14, 9, 9, 9, 9, 9, 9, 21], [2, 9, 9, 9, 9, 9, 9, 9, 9, 14, 9, 21], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 21], [2, 9, 14, 9, 9, 9, 9, 9, 9, 9, 9, 21], [2, 9, 9, 9, 9, 9, 14, 9, 9, 9, 9, 21], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 21], [2, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 9]]; var room7 = [[9, 14, 9, 14, 9, 14, 9, 14, 9, 14, 9, 14], [14, 9, 14, 9, 14, 9, 14, 9, 14, 9, 14, 9], [9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 25], [9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 25], [14, 9, 9, 9, 9, 9, 14, 9, 9, 9, 9, 25], [22, 9, 9, 14, 9, 9, 9, 9, 9, 9, 9, 25], [22, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 25], [22, 9, 9, 9, 9, 9, 9, 9, 14, 9, 9, 25], [22, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 25], [22, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 25], [22, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 25], [9, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 9]]; var room8 = [[9, 14, 24, 24, 24, 24, 24, 24, 24, 24, 14, 9], [14, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 14], [26, 9, 9, 9, 9, 228, 9, 9, 9, 9, 9, 9], [26, 9, 9, 9, 14, 9, 9, 9, 9, 9, 9, 14], [26, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 27], [26, 9, 9, 9, 9, 9, 9, 9, 14, 9, 9, 27], [26, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 27], [26, 9, 14, 9, 9, 14, 9, 9, 9, 9, 9, 27], [26, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 27], [26, 9, 9, 9, 9, 9, 14, 9, 9, 9, 9, 27], [26, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 27], [9, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 9]]; var room9 = [[9, 14, 29, 29, 29, 29, 29, 29, 29, 29, 14, 9], [14, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 14], [9, 9, 9, 9, 9, 229, 9, 9, 9, 9, 9, 9], [225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225], [28, 9, 9, 9, 9, 9, 9, 9, 14, 9, 9, 30], [28, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 30], [28, 9, 9, 14, 9, 9, 9, 9, 9, 9, 9, 30], [28, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 30], [28, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 30], [28, 9, 9, 9, 9, 14, 9, 14, 9, 9, 9, 30], [28, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 30], [9, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 9]]; var room10 = [[9, 14, 32, 32, 32, 32, 32, 32, 32, 32, 14, 9], [14, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 14], [9, 9, 9, 9, 9, 230, 9, 9, 9, 9, 9, 9], [224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224], [31, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 33], [31, 9, 9, 9, 9, 9, 9, 9, 9, 14, 9, 33], [31, 9, 14, 9, 9, 9, 9, 9, 9, 9, 9, 33], [31, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 33], [31, 9, 9, 9, 9, 9, 9, 9, 14, 9, 9, 33], [31, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 33], [31, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 33], [9, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 9]]; var room11 = [[9, 14, 9, 14, 9, 14, 9, 14, 9, 14, 9, 14], [14, 9, 14, 9, 14, 9, 14, 9, 14, 9, 14, 9], [9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9], [14, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 14], [36, 9, 14, 9, 9, 9, 9, 14, 9, 9, 9, 37], [36, 9, 9, 9, 14, 9, 9, 9, 9, 9, 9, 37], [36, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 37], [36, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 37], [36, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 37], [36, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 37], [36, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 37], [9, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 9]]; var room12 = [[14, 9, 39, 39, 39, 39, 39, 39, 39, 39, 9, 14], [9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [9, 9, 9, 9, 9, 231, 9, 9, 9, 9, 9, 4], [226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 4], [38, 9, 14, 9, 9, 9, 9, 9, 9, 9, 9, 4], [38, 9, 9, 9, 9, 9, 9, 9, 9, 14, 9, 4], [38, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [38, 9, 9, 9, 9, 9, 9, 14, 9, 9, 9, 4], [38, 9, 9, 14, 9, 9, 9, 9, 9, 9, 9, 4], [38, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [38, 9, 9, 9, 9, 9, 9, 14, 9, 9, 9, 4], [9, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 4]]; var room13 = [[2, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 9], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 54], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 54], [2, 9, 9, 9, 9, 9, 14, 9, 9, 9, 9, 54], [2, 9, 14, 9, 9, 9, 9, 9, 14, 9, 9, 54], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 54], [2, 9, 9, 9, 14, 9, 9, 9, 9, 9, 9, 54], [2, 9, 9, 9, 9, 9, 14, 9, 9, 9, 9, 54], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 54], [2, 9, 14, 9, 9, 9, 9, 14, 9, 9, 9, 54], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 54], [2, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 9]]; var room14 = [[9, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 9], [55, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 56], [55, 9, 9, 14, 9, 9, 9, 14, 9, 9, 9, 56], [55, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 56], [55, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 56], [55, 9, 9, 9, 9, 9, 9, 9, 9, 14, 9, 56], [55, 9, 14, 9, 9, 9, 9, 9, 9, 9, 9, 56], [55, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 56], [55, 9, 9, 9, 9, 14, 9, 9, 14, 9, 9, 56], [55, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 56], [55, 9, 9, 14, 9, 9, 9, 9, 9, 9, 9, 56], [9, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 9]]; var room15 = [[9, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 9], [57, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 58], [57, 9, 14, 9, 9, 9, 9, 9, 14, 9, 9, 58], [57, 9, 9, 9, 14, 9, 9, 9, 9, 9, 9, 58], [57, 9, 9, 9, 9, 9, 9, 14, 9, 9, 9, 58], [57, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 58], [57, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 58], [57, 9, 14, 9, 9, 9, 9, 9, 9, 14, 9, 58], [57, 9, 9, 9, 9, 9, 9, 14, 9, 9, 9, 58], [57, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 58], [57, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 58], [9, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 9]]; var room16 = [[9, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 9], [59, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 60], [59, 9, 14, 9, 9, 9, 14, 9, 9, 9, 9, 60], [59, 9, 9, 9, 9, 9, 9, 9, 9, 14, 9, 60], [59, 9, 9, 9, 14, 9, 9, 9, 9, 9, 9, 60], [59, 9, 9, 9, 9, 9, 9, 14, 9, 9, 9, 60], [59, 9, 14, 9, 9, 9, 9, 9, 9, 14, 9, 60], [59, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 60], [59, 9, 9, 9, 9, 9, 9, 9, 14, 9, 9, 60], [59, 9, 9, 14, 9, 9, 9, 9, 9, 9, 9, 60], [59, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 60], [9, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 9]]; var room17 = [[9, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 9], [61, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 62], [61, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 62], [61, 9, 9, 9, 9, 9, 9, 9, 9, 14, 9, 62], [61, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 62], [61, 9, 9, 9, 9, 9, 9, 14, 9, 9, 9, 62], [61, 9, 9, 9, 14, 9, 9, 9, 9, 9, 9, 62], [61, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 62], [61, 9, 9, 9, 9, 9, 14, 9, 9, 9, 9, 62], [61, 9, 9, 14, 9, 9, 9, 9, 9, 9, 9, 62], [61, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 62], [9, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 9]]; var room18 = [[9, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 9], [63, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 64], [63, 9, 14, 9, 9, 9, 14, 9, 9, 9, 9, 64], [63, 9, 9, 9, 9, 9, 9, 9, 9, 14, 9, 64], [63, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 64], [63, 9, 9, 9, 14, 9, 9, 9, 9, 9, 9, 64], [63, 9, 9, 9, 9, 9, 9, 9, 9, 14, 9, 64], [63, 9, 9, 9, 9, 9, 14, 9, 9, 9, 9, 64], [63, 9, 14, 9, 9, 9, 9, 9, 9, 9, 9, 64], [63, 9, 9, 9, 9, 9, 9, 9, 14, 9, 9, 64], [63, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 64], [9, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 9]]; var room19 = [[9, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 4], [65, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [65, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [65, 9, 9, 9, 9, 9, 9, 9, 14, 9, 9, 4], [65, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [65, 9, 9, 9, 14, 9, 9, 9, 9, 9, 9, 4], [65, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [65, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [65, 9, 9, 9, 9, 9, 9, 14, 9, 9, 9, 4], [65, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [65, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [9, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 4]]; var room20 = [[2, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 9], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 74], [2, 9, 9, 14, 9, 9, 9, 14, 9, 9, 9, 74], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 74], [2, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 74], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 74], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 74], [2, 9, 9, 14, 9, 9, 9, 9, 9, 9, 9, 74], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 74], [2, 9, 9, 9, 9, 9, 9, 9, 9, 14, 9, 74], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 74], [2, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 9]]; var room21 = [[9, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 9], [75, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 76], [75, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 76], [75, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 76], [75, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 76], [75, 9, 9, 9, 14, 9, 9, 9, 9, 9, 9, 76], [75, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 76], [75, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 76], [75, 9, 9, 9, 9, 9, 9, 9, 14, 9, 9, 76], [75, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 76], [75, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 76], [9, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 9]]; var room22 = [[9, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 9], [77, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 78], [77, 9, 9, 14, 9, 9, 9, 9, 9, 9, 9, 78], [77, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 78], [77, 9, 9, 9, 9, 9, 9, 14, 9, 9, 9, 78], [77, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 78], [77, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 78], [77, 9, 14, 9, 9, 9, 9, 9, 9, 9, 9, 78], [77, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 78], [77, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 78], [77, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 78], [9, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 9]]; var room23 = [[9, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 9], [79, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 80], [79, 9, 14, 9, 9, 9, 9, 9, 9, 9, 9, 80], [79, 9, 9, 9, 9, 9, 9, 9, 9, 14, 9, 80], [79, 9, 9, 9, 9, 9, 14, 9, 9, 9, 9, 80], [79, 9, 9, 14, 9, 9, 9, 9, 9, 9, 9, 80], [79, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 80], [79, 9, 9, 9, 9, 9, 9, 9, 14, 9, 9, 80], [79, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 80], [79, 9, 9, 9, 14, 9, 9, 9, 9, 9, 9, 80], [79, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 80], [9, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 9]]; var room24 = [[9, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 9], [81, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 82], [81, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 82], [81, 9, 9, 9, 9, 9, 14, 9, 9, 9, 9, 82], [81, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 82], [81, 9, 14, 9, 9, 9, 9, 9, 9, 9, 9, 82], [81, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 82], [81, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 82], [81, 9, 9, 9, 9, 9, 9, 9, 14, 9, 9, 82], [81, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 82], [81, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 82], [9, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 9]]; var room25 = [[9, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 9], [83, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 84], [83, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 84], [83, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 84], [83, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 84], [83, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 84], [83, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 84], [83, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 84], [83, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 84], [83, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 84], [83, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 84], [9, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 9]]; var room26 = [[9, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 4], [85, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [85, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [85, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [85, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [85, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [85, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [85, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [85, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [85, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [85, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [9, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 4]]; var room27 = [[2, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 9], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 100], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 100], [2, 9, 14, 9, 9, 9, 9, 9, 9, 9, 9, 100], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 100], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 100], [2, 9, 9, 9, 9, 9, 14, 9, 9, 9, 9, 100], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 100], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 100], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 100], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 100], [2, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 9]]; var room28 = [[9, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 9], [101, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 102], [101, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 102], [101, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 102], [101, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 102], [101, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 102], [101, 9, 9, 9, 9, 232, 9, 9, 9, 9, 9, 102], [101, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 102], [101, 9, 9, 14, 9, 9, 9, 14, 9, 9, 9, 102], [101, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 102], [101, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 102], [9, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 9]]; var room29 = [[9, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 9], [103, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 104], [103, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 104], [103, 9, 9, 14, 9, 14, 9, 14, 9, 9, 9, 104], [103, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 104], [103, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 104], [103, 9, 9, 9, 14, 9, 14, 9, 9, 9, 9, 104], [103, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 104], [103, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 104], [103, 9, 14, 9, 9, 9, 9, 9, 9, 14, 9, 104], [103, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 104], [9, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 9]]; var room30 = [[9, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 9], [105, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 106], [105, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 106], [105, 9, 9, 14, 9, 9, 9, 14, 9, 9, 9, 106], [105, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 106], [105, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 106], [105, 9, 14, 9, 9, 9, 9, 9, 14, 9, 9, 106], [105, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 106], [105, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 106], [105, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 106], [105, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 106], [9, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 9]]; var room31 = [[9, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 9], [107, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 108], [107, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 108], [107, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 108], [107, 9, 9, 9, 14, 9, 9, 9, 9, 9, 9, 108], [107, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 108], [107, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 108], [107, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 108], [107, 9, 9, 9, 9, 9, 9, 14, 9, 9, 9, 108], [107, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 108], [107, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 108], [9, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 9]]; var room32 = [[9, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 9], [109, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 110], [109, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 110], [109, 9, 9, 9, 9, 9, 14, 9, 9, 9, 9, 110], [109, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 110], [109, 9, 9, 9, 9, 233, 9, 9, 9, 9, 9, 110], [109, 9, 9, 14, 9, 9, 9, 9, 9, 9, 9, 110], [109, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 110], [109, 9, 9, 9, 9, 9, 9, 9, 14, 9, 9, 110], [109, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 110], [109, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 110], [9, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 9]]; var room33 = [[9, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 4], [111, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [111, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [111, 9, 9, 9, 9, 9, 9, 14, 9, 9, 9, 4], [111, 9, 9, 14, 9, 9, 9, 9, 9, 9, 9, 4], [111, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [111, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [111, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 4], [111, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [111, 9, 9, 9, 9, 9, 9, 9, 14, 9, 9, 4], [111, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [9, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 4]]; var room34 = [[2, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 9], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 126], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 126], [2, 9, 9, 9, 14, 9, 9, 9, 9, 9, 9, 126], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 126], [2, 9, 9, 14, 9, 9, 14, 9, 9, 9, 9, 126], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 126], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 126], [2, 9, 9, 14, 9, 9, 9, 9, 9, 9, 9, 126], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 126], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 126], [2, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 9]]; var room35 = [[9, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 9], [127, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 128], [127, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 128], [127, 9, 9, 9, 14, 9, 9, 9, 9, 9, 9, 128], [127, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 128], [127, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 128], [127, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 128], [127, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 128], [127, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 128], [127, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 128], [127, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 128], [9, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 9]]; var room36 = [[9, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 9], [129, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 130], [129, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 130], [129, 9, 9, 9, 9, 9, 14, 9, 9, 9, 9, 130], [129, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 130], [129, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 130], [129, 9, 9, 14, 9, 9, 9, 9, 9, 9, 9, 130], [129, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 130], [129, 9, 9, 9, 9, 9, 9, 14, 9, 9, 9, 130], [129, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 130], [129, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 130], [9, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 9]]; var room37 = [[9, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 9], [131, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 132], [131, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 132], [131, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 132], [131, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 132], [131, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 132], [131, 9, 9, 14, 9, 9, 9, 14, 9, 9, 9, 132], [131, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 132], [131, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 132], [131, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 132], [131, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 132], [9, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 9]]; var room38 = [[9, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 9], [133, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 134], [133, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 134], [133, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 134], [133, 9, 9, 14, 9, 9, 9, 9, 14, 9, 9, 134], [133, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 134], [133, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 134], [133, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 134], [133, 9, 14, 9, 9, 9, 14, 9, 9, 9, 9, 134], [133, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 134], [133, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 134], [9, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 9]]; var room39 = [[9, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 9], [135, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 136], [135, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 136], [135, 9, 9, 9, 9, 9, 9, 14, 9, 9, 9, 136], [135, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 136], [135, 9, 9, 14, 9, 9, 9, 9, 9, 9, 9, 136], [135, 9, 9, 9, 9, 9, 14, 9, 9, 9, 9, 136], [135, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 136], [135, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 136], [135, 9, 9, 14, 9, 9, 9, 14, 9, 9, 9, 136], [135, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 136], [9, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 9]]; var room40 = [[9, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 4], [137, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [137, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [137, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [137, 9, 9, 9, 14, 9, 9, 14, 9, 9, 9, 4], [137, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [137, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [137, 9, 9, 9, 9, 9, 14, 9, 9, 9, 9, 4], [137, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [137, 9, 9, 9, 14, 9, 9, 9, 9, 9, 9, 4], [137, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [9, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 4]]; var room41 = [[2, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 9], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 152], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 152], [2, 9, 9, 9, 9, 9, 9, 9, 14, 9, 9, 152], [2, 9, 9, 9, 234, 9, 9, 9, 9, 9, 9, 152], [2, 9, 14, 9, 9, 9, 9, 9, 9, 9, 9, 152], [2, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 152], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 152], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 152], [2, 9, 14, 9, 9, 9, 9, 14, 9, 9, 9, 152], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 152], [2, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 9]]; var room42 = [[9, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 9], [153, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 154], [153, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 154], [153, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 154], [153, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 154], [153, 9, 9, 14, 9, 9, 9, 9, 9, 9, 9, 154], [153, 9, 9, 9, 9, 9, 9, 9, 14, 9, 9, 154], [153, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 154], [153, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 154], [153, 9, 9, 9, 14, 9, 9, 9, 9, 9, 9, 154], [153, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 154], [9, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 9]]; var room43 = [[9, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 9], [155, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 156], [155, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 156], [155, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 156], [155, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 156], [155, 9, 9, 9, 9, 9, 9, 235, 9, 9, 9, 156], [155, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 156], [155, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 156], [155, 9, 9, 14, 9, 9, 9, 14, 9, 9, 9, 156], [155, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 156], [155, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 156], [9, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 9]]; var room44 = [[9, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 9], [157, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 158], [157, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 158], [157, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 158], [157, 9, 9, 14, 9, 9, 9, 9, 9, 9, 9, 158], [157, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 158], [157, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 158], [157, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 158], [157, 9, 9, 14, 9, 9, 9, 14, 9, 9, 9, 158], [157, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 158], [157, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 158], [9, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 9]]; var room45 = [[9, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 9], [159, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 160], [159, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 160], [159, 9, 9, 9, 14, 9, 9, 9, 9, 9, 9, 160], [159, 9, 236, 9, 9, 9, 9, 14, 9, 9, 9, 160], [159, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 160], [159, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 160], [159, 9, 9, 14, 9, 9, 9, 9, 9, 9, 9, 160], [159, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 160], [159, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 160], [159, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 160], [9, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 9]]; var room46 = [[9, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 9], [161, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 162], [161, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 162], [161, 9, 9, 9, 9, 9, 9, 14, 9, 9, 9, 162], [161, 9, 9, 14, 9, 9, 9, 9, 9, 9, 9, 162], [161, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 162], [161, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 162], [161, 9, 9, 9, 9, 9, 14, 9, 9, 9, 9, 162], [161, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 162], [161, 9, 9, 9, 14, 9, 9, 9, 14, 9, 9, 162], [161, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 162], [9, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 9]]; var room47 = [[9, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 4], [163, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [163, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [163, 9, 9, 9, 9, 14, 9, 9, 9, 9, 237, 4], [163, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [163, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [163, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [163, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [163, 9, 9, 9, 14, 9, 9, 14, 9, 9, 9, 4], [163, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [163, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [9, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 4]]; var room48 = [[2, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 9], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 178], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 178], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 178], [2, 9, 9, 14, 9, 9, 9, 9, 9, 9, 9, 178], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 178], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 178], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 178], [2, 9, 9, 9, 9, 9, 9, 14, 9, 9, 9, 178], [2, 9, 9, 9, 14, 9, 9, 9, 9, 9, 9, 178], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 178], [2, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 9]]; var room49 = [[9, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 9], [179, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 180], [179, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 180], [179, 9, 9, 14, 9, 9, 9, 14, 9, 9, 9, 180], [179, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 180], [179, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 180], [179, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 180], [179, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 180], [179, 9, 14, 9, 9, 14, 9, 9, 14, 9, 9, 180], [179, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 180], [179, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 180], [9, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 9]]; var room50 = [[9, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 9], [181, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 182], [181, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 182], [181, 9, 9, 9, 9, 9, 14, 9, 9, 9, 9, 182], [181, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 182], [181, 9, 9, 14, 9, 9, 9, 9, 9, 9, 9, 182], [181, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 182], [181, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 182], [181, 9, 9, 14, 9, 9, 9, 9, 9, 9, 9, 182], [181, 9, 9, 9, 9, 9, 9, 14, 9, 9, 9, 182], [181, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 182], [9, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 9]]; var room51 = [[9, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 9], [183, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 184], [183, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 184], [183, 9, 9, 9, 14, 9, 9, 9, 9, 9, 9, 184], [183, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 184], [183, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 184], [183, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 184], [183, 9, 9, 9, 9, 9, 14, 9, 9, 9, 9, 184], [183, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 184], [183, 9, 9, 14, 9, 9, 9, 9, 9, 9, 9, 184], [183, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 184], [9, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 9]]; var room52 = [[9, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 9], [185, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 186], [185, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 186], [185, 9, 9, 9, 9, 9, 9, 14, 9, 9, 9, 186], [185, 9, 9, 9, 14, 9, 9, 9, 9, 9, 9, 186], [185, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 186], [185, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 186], [185, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 186], [185, 9, 9, 9, 9, 9, 9, 9, 14, 9, 9, 186], [185, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 186], [185, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 186], [9, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 9]]; var room53 = [[9, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 9], [187, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 188], [187, 9, 9, 9, 9, 9, 14, 9, 9, 9, 9, 188], [187, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 188], [187, 9, 9, 14, 9, 9, 9, 9, 9, 9, 9, 188], [187, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 188], [187, 9, 9, 9, 9, 9, 9, 9, 14, 9, 9, 188], [187, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 188], [187, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 188], [187, 9, 14, 9, 9, 9, 9, 9, 9, 9, 9, 188], [187, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 188], [9, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 9]]; var room54 = [[9, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 4], [189, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [189, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [189, 9, 9, 14, 9, 14, 9, 9, 9, 9, 9, 4], [189, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [189, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [189, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [189, 9, 9, 9, 9, 9, 9, 14, 9, 9, 9, 4], [189, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [189, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [189, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [9, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 4]]; var room55 = [[2, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 9], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 204], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 204], [2, 9, 9, 14, 9, 9, 9, 14, 9, 9, 9, 204], [2, 238, 9, 9, 9, 9, 9, 9, 9, 9, 9, 204], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 204], [2, 9, 9, 9, 9, 14, 9, 9, 9, 14, 9, 204], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 204], [2, 9, 14, 9, 9, 9, 9, 9, 9, 9, 9, 204], [2, 9, 9, 9, 9, 9, 9, 14, 9, 9, 9, 204], [2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 204], [6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]]; var room56 = [[9, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 9], [205, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 206], [205, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 206], [205, 9, 9, 9, 9, 9, 9, 14, 9, 9, 9, 206], [205, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 206], [205, 9, 9, 14, 9, 9, 9, 9, 9, 9, 9, 206], [205, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 206], [205, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 206], [205, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 206], [205, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 206], [205, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 206], [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]]; var room57 = [[9, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 9], [207, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 208], [207, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 208], [207, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 208], [207, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 208], [207, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 208], [207, 239, 9, 14, 9, 9, 9, 9, 9, 9, 9, 208], [207, 9, 9, 9, 9, 9, 9, 9, 14, 9, 9, 208], [207, 9, 9, 9, 14, 9, 9, 9, 9, 9, 9, 208], [207, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 208], [207, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 208], [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]]; var room58 = [[9, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 9], [209, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 210], [209, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 210], [209, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 210], [209, 9, 9, 14, 9, 9, 9, 9, 9, 9, 9, 210], [209, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 210], [209, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 210], [209, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 210], [209, 9, 9, 9, 9, 9, 9, 14, 9, 9, 9, 210], [209, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 210], [209, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 210], [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]]; var room59 = [[9, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 9], [211, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 212], [211, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 212], [211, 9, 14, 9, 9, 9, 9, 9, 9, 9, 9, 212], [211, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 212], [211, 240, 9, 9, 9, 9, 9, 14, 9, 9, 9, 212], [211, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 212], [211, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 212], [211, 9, 9, 9, 9, 9, 9, 9, 14, 9, 9, 212], [211, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 212], [211, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 212], [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]]; var room60 = [[9, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 9], [213, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 214], [213, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 214], [213, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 214], [213, 9, 9, 14, 9, 9, 9, 14, 9, 9, 9, 214], [213, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 214], [213, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 214], [213, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 214], [213, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 214], [213, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 214], [213, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 214], [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]]; var room61 = [[9, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 4], [215, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [215, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [215, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 4], [215, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [215, 241, 9, 9, 14, 9, 14, 9, 9, 9, 9, 4], [215, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [215, 9, 9, 14, 9, 14, 9, 14, 9, 9, 9, 4], [215, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [215, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4], [215, 9, 9, 9, 9, 14, 9, 9, 9, 9, 9, 4], [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7]]; var room62 = [[242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242], [9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9], [9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9], [9, 9, 14, 9, 9, 9, 9, 9, 14, 9, 9, 9], [9, 14, 9, 14, 9, 9, 9, 14, 9, 14, 9, 9], [14, 9, 14, 9, 14, 9, 14, 9, 14, 9, 14, 9], [9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9], [9, 9, 14, 9, 9, 9, 9, 9, 14, 9, 9, 9], [9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9], [9, 9, 14, 9, 9, 9, 9, 9, 14, 9, 9, 9], [9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9], [9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]]; var game = {tilew:30, tileh:30, room:6, paused:false, enterKey:false, attackKey:false, song:"song3", showingMessage:false}; var hero = {speed:3, xtile:5, ytile:10, dir:"up", action:"idle", health:5, width:12.5, height:12.5, invinsible:false, attacking:false}; hero.maxhealth = 5; if (so.data.badge > 0) { hero.maxhealth = hero.maxhealth + Math.floor(so.data.badge / 3); } so.data.hero.maxhealth = hero.maxhealth; if (so.data.blamSword) { hero.swordType = "hero2"; hero.attack = 2; } else { hero.swordType = "hero"; hero.attack = 1; } initGame = new Object(); initHero = new Object(); for (i in game) { initGame[i] = game[i]; } for (i in hero) { initHero[i] = hero[i]; } if (_root.newroom != undefined) { game.room = _root.newroom.room; hero.xtile = _root.newroom.xtile; hero.ytile = _root.newroom.ytile; hero.health = _root.newroom.health; } hero.loseHealth = function (oppositedir) { hero.health--; if (hero.health > 0) { hero.initBounce = 0; hero.oppositedir = oppositedir; clearInterval(hero.bounceInterval); hero.bounceInterval = setInterval(bounceBack, 1, hero, hero.oppositedir, 50); hero.initInvinsible = 0; clearInterval(hero.invinsibleInterval); hero.invinsibleInterval = setInterval(setInvinsible, 5, hero, 200); } else { hero.action = "die"; moveObject(0, 0, hero); } }; game.Door = function (newroom, newX, newY) { this.newroom = newroom; this.newX = newX; this.newY = newY; }; game.Door.prototype.frame = 11; game.Door.prototype.walkable = true; game.Door.prototype.type = "y"; game.Door.prototype.door = true; game.Hole = function () { }; game.Hole.prototype.frame = 4; game.Hole.prototype.walkable = true; game.Hole.prototype.hole = true; var keys = new Array(); var inventory = new Array(); inventory[0] = new Array(); game.LockDoor = function (newroom, newX, newY, room, name) { this.newroom = newroom; this.newX = newX; this.newY = newY; if (keys[room] == undefined) { keys[room] = new Array(); } keys[room].push([this, name]); }; game.LockDoor.prototype.frame = 7; game.LockDoor.prototype.walkable = false; game.LockDoor.prototype.type = "y"; game.LockDoor.prototype.door = false; game.LockDoor.prototype.lockdoor = true; var trapdoors = new Array(); game.TrapDoor = function (newroom, newX, newY) { this.newroom = newroom; this.newX = newX; this.newY = newY; }; game.TrapDoor.prototype.frame = 15; game.TrapDoor.prototype.walkable = false; game.TrapDoor.prototype.type = "y"; game.TrapDoor.prototype.door = false; game.TrapDoor.prototype.trapdoor = true; game.OutDoor = function (newarea, newroom, newX, newY) { this.newarea = newarea; this.newroom = newroom; this.newX = newX; this.newY = newY; }; game.OutDoor.prototype.frame = 11; game.OutDoor.prototype.type = "y"; game.OutDoor.prototype.walkable = true; game.OutDoor.prototype.outdoor = true; game.Chest = function (id) { this.id = id; }; game.Chest.prototype.chest = true; game.Chest.prototype.walkable = false; game.Chest.prototype.frame = 47; game.Chest.prototype.openChest = false; game.Chest.prototype.visible = true; game.InvisibleChest = function (id) { this.id = id; }; game.InvisibleChest.prototype.chest = true; game.InvisibleChest.prototype.walkable = true; game.InvisibleChest.prototype.visible = false; game.InvisibleChest.prototype.frame = 31; game.InvisibleChest.prototype.visibleFrame = 47; game.InvisibleChest.prototype.openChest = false; game.InvisibleFence = function (condition, frame) { if (!condition) { this.walkable = false; this.frame = frame; } else { this.walkable = true; this.frame = 31; } }; game.tile0 = function () { }; game.tile0.prototype = new game.Hole(); game.tile1 = function () { }; game.tile1.prototype.frame = 33; game.tile2 = function () { }; game.tile2.prototype.frame = 34; game.tile3 = function () { }; game.tile3.prototype.frame = 35; game.tile4 = function () { }; game.tile4.prototype.frame = 36; game.tile5 = function () { }; game.tile5.prototype.frame = 43; game.tile6 = function () { }; game.tile6.prototype.frame = 44; game.tile7 = function () { }; game.tile7.prototype.frame = 45; game.tile8 = function () { }; game.tile8.prototype.frame = 46; game.tile9 = function () { }; game.tile9.prototype.frame = 31; game.tile9.prototype.walkable = true; game.tile10 = function () { }; game.tile10.prototype = new game.OutDoor("dungeon2", 1, 5, 10); game.tile10.prototype.frame = 39; game.tile11 = function () { }; game.tile11.prototype.frame = 42; game.tile12 = function () { }; game.tile12.prototype.frame = 40; game.tile13 = function () { }; game.tile13.prototype.frame = 40; game.tile13.prototype.walkable = true; game.tile14 = function () { }; game.tile14.prototype.frame = 48; game.tile15 = function () { }; game.tile15.prototype = new game.OutDoor("dungeon1", 1, 5, 10); game.tile15.prototype.frame = 41; game.tile16 = function () { }; game.tile16.prototype = new game.OutDoor("dungeon4", 1, 5, 10); game.tile16.prototype.frame = 49; game.tile17 = function () { }; game.tile17.prototype = new game.OutDoor("dungeon3", 1, 5, 10); game.tile17.prototype.frame = 50; game.tile18 = function () { }; game.tile18.prototype = new game.OutDoor("dungeon5", 1, 5, 10); game.tile18.prototype.frame = 51; game.tile19 = function () { }; game.tile19.prototype = new game.Door(1, 5, 10); game.tile19.prototype.frame = 31; game.tile20 = function () { }; game.tile20.prototype = new game.Door(6, 5, 1); game.tile20.prototype.frame = 31; game.tile21 = function () { }; game.tile21.prototype = new game.Door(7, 1, 5); game.tile21.prototype.type = "x"; game.tile21.prototype.frame = 31; game.tile22 = function () { }; game.tile22.prototype = new game.Door(6, 10, 5); game.tile22.prototype.type = "x"; game.tile22.prototype.frame = 31; game.tile23 = function () { }; game.tile23.prototype = new game.Door(8, 5, 1); game.tile23.prototype.frame = 31; game.tile24 = function () { }; game.tile24.prototype = new game.Door(2, 5, 10); game.tile24.prototype.frame = 31; game.tile25 = function () { }; game.tile25.prototype = new game.Door(8, 1, 5); game.tile25.prototype.type = "x"; game.tile25.prototype.frame = 31; game.tile26 = function () { }; game.tile26.prototype = new game.Door(7, 10, 5); game.tile26.prototype.type = "x"; game.tile26.prototype.frame = 31; game.tile27 = function () { }; game.tile27.prototype = new game.Door(9, 1, 5); game.tile27.prototype.type = "x"; game.tile27.prototype.frame = 31; game.tile28 = function () { }; game.tile28.prototype = new game.Door(8, 10, 5); game.tile28.prototype.type = "x"; game.tile28.prototype.frame = 31; game.tile29 = function () { }; game.tile29.prototype = new game.Door(3, 5, 10); game.tile29.prototype.frame = 31; game.tile30 = function () { }; game.tile30.prototype = new game.Door(10, 1, 5); game.tile30.prototype.type = "x"; game.tile30.prototype.frame = 31; game.tile31 = function () { }; game.tile31.prototype = new game.Door(9, 10, 5); game.tile31.prototype.type = "x"; game.tile31.prototype.frame = 31; game.tile32 = function () { }; game.tile32.prototype = new game.Door(4, 5, 10); game.tile32.prototype.frame = 31; game.tile33 = function () { }; game.tile33.prototype = new game.Door(11, 1, 5); game.tile33.prototype.type = "x"; game.tile33.prototype.frame = 31; game.tile34 = function () { }; game.tile34.prototype = new game.Door(9, 5, 1); game.tile34.prototype.frame = 31; game.tile35 = function () { }; game.tile35.prototype = new game.Door(10, 5, 1); game.tile35.prototype.frame = 31; game.tile36 = function () { }; game.tile36.prototype = new game.Door(10, 10, 5); game.tile36.prototype.type = "x"; game.tile36.prototype.frame = 31; game.tile37 = function () { }; game.tile37.prototype = new game.Door(12, 1, 5); game.tile37.prototype.type = "x"; game.tile37.prototype.frame = 31; game.tile38 = function () { }; game.tile38.prototype = new game.Door(11, 10, 5); game.tile38.prototype.type = "x"; game.tile38.prototype.frame = 31; game.tile39 = function () { }; game.tile39.prototype = new game.Door(5, 5, 10); game.tile39.prototype.frame = 31; game.tile40 = function () { }; game.tile40.prototype = new game.Door(12, 5, 1); game.tile40.prototype.frame = 31; game.tile41 = function () { }; game.tile41.prototype = new game.Door(13, 5, 1); game.tile41.prototype.frame = 31; game.tile42 = function () { }; game.tile42.prototype = new game.Door(14, 5, 1); game.tile42.prototype.frame = 31; game.tile43 = function () { }; game.tile43.prototype = new game.Door(15, 5, 1); game.tile43.prototype.frame = 31; game.tile44 = function () { }; game.tile44.prototype = new game.Door(16, 5, 1); game.tile44.prototype.frame = 31; game.tile45 = function () { }; game.tile45.prototype = new game.Door(17, 5, 1); game.tile45.prototype.frame = 31; game.tile46 = function () { }; game.tile46.prototype = new game.Door(18, 5, 1); game.tile46.prototype.frame = 31; game.tile47 = function () { }; game.tile47.prototype = new game.Door(19, 5, 1); game.tile47.prototype.frame = 31; game.tile48 = function () { }; game.tile48.prototype = new game.Door(6, 5, 10); game.tile48.prototype.frame = 31; game.tile49 = function () { }; game.tile49.prototype = new game.Door(7, 5, 10); game.tile49.prototype.frame = 31; game.tile50 = function () { }; game.tile50.prototype = new game.Door(8, 5, 10); game.tile50.prototype.frame = 31; game.tile51 = function () { }; game.tile51.prototype = new game.Door(9, 5, 10); game.tile51.prototype.frame = 31; game.tile52 = function () { }; game.tile52.prototype = new game.Door(10, 5, 10); game.tile52.prototype.frame = 31; game.tile53 = function () { }; game.tile53.prototype = new game.Door(11, 5, 10); game.tile53.prototype.frame = 31; game.tile54 = function () { }; game.tile54.prototype = new game.Door(14, 1, 5); game.tile54.prototype.type = "x"; game.tile54.prototype.frame = 31; game.tile55 = function () { }; game.tile55.prototype = new game.Door(13, 10, 5); game.tile55.prototype.type = "x"; game.tile55.prototype.frame = 31; game.tile56 = function () { }; game.tile56.prototype = new game.Door(15, 1, 5); game.tile56.prototype.type = "x"; game.tile56.prototype.frame = 31; game.tile57 = function () { }; game.tile57.prototype = new game.Door(14, 10, 5); game.tile57.prototype.type = "x"; game.tile57.prototype.frame = 31; game.tile58 = function () { }; game.tile58.prototype = new game.Door(16, 1, 5); game.tile58.prototype.type = "x"; game.tile58.prototype.frame = 31; game.tile59 = function () { }; game.tile59.prototype = new game.Door(15, 10, 5); game.tile59.prototype.type = "x"; game.tile59.prototype.frame = 31; game.tile60 = function () { }; game.tile60.prototype = new game.Door(17, 1, 5); game.tile60.prototype.type = "x"; game.tile60.prototype.frame = 31; game.tile61 = function () { }; game.tile61.prototype = new game.Door(16, 10, 5); game.tile61.prototype.type = "x"; game.tile61.prototype.frame = 31; game.tile62 = function () { }; game.tile62.prototype = new game.Door(18, 1, 5); game.tile62.prototype.type = "x"; game.tile62.prototype.frame = 31; game.tile63 = function () { }; game.tile63.prototype = new game.Door(17, 10, 5); game.tile63.prototype.type = "x"; game.tile63.prototype.frame = 31; game.tile64 = function () { }; game.tile64.prototype = new game.Door(19, 1, 5); game.tile64.prototype.type = "x"; game.tile64.prototype.frame = 31; game.tile65 = function () { }; game.tile65.prototype = new game.Door(18, 10, 5); game.tile65.prototype.type = "x"; game.tile65.prototype.frame = 31; game.tile66 = function () { }; game.tile66.prototype = new game.Door(12, 5, 10); game.tile66.prototype.frame = 31; game.tile67 = function () { }; game.tile67.prototype = new game.Door(20, 5, 1); game.tile67.prototype.frame = 31; game.tile68 = function () { }; game.tile68.prototype = new game.Door(21, 5, 1); game.tile68.prototype.frame = 31; game.tile69 = function () { }; game.tile69.prototype = new game.Door(22, 5, 1); game.tile69.prototype.frame = 31; game.tile70 = function () { }; game.tile70.prototype = new game.Door(23, 5, 1); game.tile70.prototype.frame = 31; game.tile71 = function () { }; game.tile71.prototype = new game.Door(24, 5, 1); game.tile71.prototype.frame = 31; game.tile72 = function () { }; game.tile72.prototype = new game.Door(25, 5, 1); game.tile72.prototype.frame = 31; game.tile73 = function () { }; game.tile73.prototype = new game.Door(26, 5, 1); game.tile73.prototype.frame = 31; game.tile74 = function () { }; game.tile74.prototype = new game.Door(21, 1, 5); game.tile74.prototype.type = "x"; game.tile74.prototype.frame = 31; game.tile75 = function () { }; game.tile75.prototype = new game.Door(20, 10, 5); game.tile75.prototype.type = "x"; game.tile75.prototype.frame = 31; game.tile76 = function () { }; game.tile76.prototype = new game.Door(22, 1, 5); game.tile76.prototype.type = "x"; game.tile76.prototype.frame = 31; game.tile77 = function () { }; game.tile77.prototype = new game.Door(21, 10, 5); game.tile77.prototype.type = "x"; game.tile77.prototype.frame = 31; game.tile78 = function () { }; game.tile78.prototype = new game.Door(23, 1, 5); game.tile78.prototype.type = "x"; game.tile78.prototype.frame = 31; game.tile79 = function () { }; game.tile79.prototype = new game.Door(22, 10, 5); game.tile79.prototype.type = "x"; game.tile79.prototype.frame = 31; game.tile80 = function () { }; game.tile80.prototype = new game.Door(24, 1, 5); game.tile80.prototype.type = "x"; game.tile80.prototype.frame = 31; game.tile81 = function () { }; game.tile81.prototype = new game.Door(23, 10, 5); game.tile81.prototype.type = "x"; game.tile81.prototype.frame = 31; game.tile82 = function () { }; game.tile82.prototype = new game.Door(25, 1, 5); game.tile82.prototype.type = "x"; game.tile82.prototype.frame = 31; game.tile83 = function () { }; game.tile83.prototype = new game.Door(24, 10, 5); game.tile83.prototype.type = "x"; game.tile83.prototype.frame = 31; game.tile84 = function () { }; game.tile84.prototype = new game.Door(26, 1, 5); game.tile84.prototype.type = "x"; game.tile84.prototype.frame = 31; game.tile85 = function () { }; game.tile85.prototype = new game.Door(25, 10, 5); game.tile85.prototype.type = "x"; game.tile85.prototype.frame = 31; game.tile86 = function () { }; game.tile86.prototype = new game.Door(13, 5, 10); game.tile86.prototype.frame = 31; game.tile87 = function () { }; game.tile87.prototype = new game.Door(27, 5, 1); game.tile87.prototype.frame = 31; game.tile88 = function () { }; game.tile88.prototype = new game.Door(14, 5, 10); game.tile88.prototype.frame = 31; game.tile89 = function () { }; game.tile89.prototype = new game.Door(28, 5, 1); game.tile89.prototype.frame = 31; game.tile90 = function () { }; game.tile90.prototype = new game.Door(15, 5, 10); game.tile90.prototype.frame = 31; game.tile91 = function () { }; game.tile91.prototype = new game.Door(29, 5, 1); game.tile91.prototype.frame = 31; game.tile92 = function () { }; game.tile92.prototype = new game.Door(16, 5, 10); game.tile92.prototype.frame = 31; game.tile93 = function () { }; game.tile93.prototype = new game.Door(30, 5, 1); game.tile93.prototype.frame = 31; game.tile94 = function () { }; game.tile94.prototype = new game.Door(17, 5, 10); game.tile94.prototype.frame = 31; game.tile95 = function () { }; game.tile95.prototype = new game.Door(31, 5, 1); game.tile95.prototype.frame = 31; game.tile96 = function () { }; game.tile96.prototype = new game.Door(18, 5, 10); game.tile96.prototype.frame = 31; game.tile97 = function () { }; game.tile97.prototype = new game.Door(32, 5, 1); game.tile97.prototype.frame = 31; game.tile98 = function () { }; game.tile98.prototype = new game.Door(19, 5, 10); game.tile98.prototype.frame = 31; game.tile99 = function () { }; game.tile99.prototype = new game.Door(33, 5, 1); game.tile99.prototype.frame = 31; game.tile100 = function () { }; game.tile100.prototype = new game.Door(28, 1, 5); game.tile100.prototype.type = "x"; game.tile100.prototype.frame = 31; game.tile101 = function () { }; game.tile101.prototype = new game.Door(27, 10, 5); game.tile101.prototype.type = "x"; game.tile101.prototype.frame = 31; game.tile102 = function () { }; game.tile102.prototype = new game.Door(29, 1, 5); game.tile102.prototype.type = "x"; game.tile102.prototype.frame = 31; game.tile103 = function () { }; game.tile103.prototype = new game.Door(28, 10, 5); game.tile103.prototype.type = "x"; game.tile103.prototype.frame = 31; game.tile104 = function () { }; game.tile104.prototype = new game.Door(30, 1, 5); game.tile104.prototype.type = "x"; game.tile104.prototype.frame = 31; game.tile105 = function () { }; game.tile105.prototype = new game.Door(29, 10, 5); game.tile105.prototype.type = "x"; game.tile105.prototype.frame = 31; game.tile106 = function () { }; game.tile106.prototype = new game.Door(31, 1, 5); game.tile106.prototype.type = "x"; game.tile106.prototype.frame = 31; game.tile107 = function () { }; game.tile107.prototype = new game.Door(30, 10, 5); game.tile107.prototype.type = "x"; game.tile107.prototype.frame = 31; game.tile108 = function () { }; game.tile108.prototype = new game.Door(32, 1, 5); game.tile108.prototype.type = "x"; game.tile108.prototype.frame = 31; game.tile109 = function () { }; game.tile109.prototype = new game.Door(31, 10, 5); game.tile109.prototype.type = "x"; game.tile109.prototype.frame = 31; game.tile110 = function () { }; game.tile110.prototype = new game.Door(33, 1, 5); game.tile110.prototype.type = "x"; game.tile110.prototype.frame = 31; game.tile111 = function () { }; game.tile111.prototype = new game.Door(32, 10, 5); game.tile111.prototype.type = "x"; game.tile111.prototype.frame = 31; game.tile112 = function () { }; game.tile112.prototype = new game.Door(20, 5, 10); game.tile112.prototype.frame = 31; game.tile113 = function () { }; game.tile113.prototype = new game.Door(34, 5, 1); game.tile113.prototype.frame = 31; game.tile114 = function () { }; game.tile114.prototype = new game.Door(21, 5, 10); game.tile114.prototype.frame = 31; game.tile115 = function () { }; game.tile115.prototype = new game.Door(35, 5, 1); game.tile115.prototype.frame = 31; game.tile116 = function () { }; game.tile116.prototype = new game.Door(22, 5, 10); game.tile116.prototype.frame = 31; game.tile117 = function () { }; game.tile117.prototype = new game.Door(36, 5, 1); game.tile117.prototype.frame = 31; game.tile118 = function () { }; game.tile118.prototype = new game.Door(23, 5, 10); game.tile118.prototype.frame = 31; game.tile119 = function () { }; game.tile119.prototype = new game.Door(37, 5, 1); game.tile119.prototype.frame = 31; game.tile120 = function () { }; game.tile120.prototype = new game.Door(24, 5, 10); game.tile120.prototype.frame = 31; game.tile121 = function () { }; game.tile121.prototype = new game.Door(38, 5, 1); game.tile121.prototype.frame = 31; game.tile122 = function () { }; game.tile122.prototype = new game.Door(25, 5, 10); game.tile122.prototype.frame = 31; game.tile123 = function () { }; game.tile123.prototype = new game.Door(39, 5, 1); game.tile123.prototype.frame = 31; game.tile124 = function () { }; game.tile124.prototype = new game.Door(26, 5, 10); game.tile124.prototype.frame = 31; game.tile125 = function () { }; game.tile125.prototype = new game.Door(40, 5, 1); game.tile125.prototype.frame = 31; game.tile126 = function () { }; game.tile126.prototype = new game.Door(35, 1, 5); game.tile126.prototype.type = "x"; game.tile126.prototype.frame = 31; game.tile127 = function () { }; game.tile127.prototype = new game.Door(34, 10, 5); game.tile127.prototype.type = "x"; game.tile127.prototype.frame = 31; game.tile128 = function () { }; game.tile128.prototype = new game.Door(36, 1, 5); game.tile128.prototype.type = "x"; game.tile128.prototype.frame = 31; game.tile129 = function () { }; game.tile129.prototype = new game.Door(35, 10, 5); game.tile129.prototype.type = "x"; game.tile129.prototype.frame = 31; game.tile130 = function () { }; game.tile130.prototype = new game.Door(37, 1, 5); game.tile130.prototype.type = "x"; game.tile130.prototype.frame = 31; game.tile131 = function () { }; game.tile131.prototype = new game.Door(36, 10, 5); game.tile131.prototype.type = "x"; game.tile131.prototype.frame = 31; game.tile132 = function () { }; game.tile132.prototype = new game.Door(38, 1, 5); game.tile132.prototype.type = "x"; game.tile132.prototype.frame = 31; game.tile133 = function () { }; game.tile133.prototype = new game.Door(37, 10, 5); game.tile133.prototype.type = "x"; game.tile133.prototype.frame = 31; game.tile134 = function () { }; game.tile134.prototype = new game.Door(39, 1, 5); game.tile134.prototype.type = "x"; game.tile134.prototype.frame = 31; game.tile135 = function () { }; game.tile135.prototype = new game.Door(38, 10, 5); game.tile135.prototype.type = "x"; game.tile135.prototype.frame = 31; game.tile136 = function () { }; game.tile136.prototype = new game.Door(40, 1, 5); game.tile136.prototype.type = "x"; game.tile136.prototype.frame = 31; game.tile137 = function () { }; game.tile137.prototype = new game.Door(39, 10, 5); game.tile137.prototype.type = "x"; game.tile137.prototype.frame = 31; game.tile138 = function () { }; game.tile138.prototype = new game.Door(27, 5, 10); game.tile138.prototype.frame = 31; game.tile139 = function () { }; game.tile139.prototype = new game.Door(41, 5, 1); game.tile139.prototype.frame = 31; game.tile140 = function () { }; game.tile140.prototype = new game.Door(28, 5, 10); game.tile140.prototype.frame = 31; game.tile141 = function () { }; game.tile141.prototype = new game.Door(42, 5, 1); game.tile141.prototype.frame = 31; game.tile142 = function () { }; game.tile142.prototype = new game.Door(29, 5, 10); game.tile142.prototype.frame = 31; game.tile143 = function () { }; game.tile143.prototype = new game.Door(43, 5, 1); game.tile143.prototype.frame = 31; game.tile144 = function () { }; game.tile144.prototype = new game.Door(30, 5, 10); game.tile144.prototype.frame = 31; game.tile145 = function () { }; game.tile145.prototype = new game.Door(44, 5, 1); game.tile145.prototype.frame = 31; game.tile146 = function () { }; game.tile146.prototype = new game.Door(31, 5, 10); game.tile146.prototype.frame = 31; game.tile147 = function () { }; game.tile147.prototype = new game.Door(45, 5, 1); game.tile147.prototype.frame = 31; game.tile148 = function () { }; game.tile148.prototype = new game.Door(32, 5, 10); game.tile148.prototype.frame = 31; game.tile149 = function () { }; game.tile149.prototype = new game.Door(46, 5, 1); game.tile149.prototype.frame = 31; game.tile150 = function () { }; game.tile150.prototype = new game.Door(33, 5, 10); game.tile150.prototype.frame = 31; game.tile151 = function () { }; game.tile151.prototype = new game.Door(47, 5, 1); game.tile151.prototype.frame = 31; game.tile152 = function () { }; game.tile152.prototype = new game.Door(42, 1, 5); game.tile152.prototype.type = "x"; game.tile152.prototype.frame = 31; game.tile153 = function () { }; game.tile153.prototype = new game.Door(41, 10, 5); game.tile153.prototype.type = "x"; game.tile153.prototype.frame = 31; game.tile154 = function () { }; game.tile154.prototype = new game.Door(43, 1, 5); game.tile154.prototype.type = "x"; game.tile154.prototype.frame = 31; game.tile155 = function () { }; game.tile155.prototype = new game.Door(42, 10, 5); game.tile155.prototype.type = "x"; game.tile155.prototype.frame = 31; game.tile156 = function () { }; game.tile156.prototype = new game.Door(44, 1, 5); game.tile156.prototype.type = "x"; game.tile156.prototype.frame = 31; game.tile157 = function () { }; game.tile157.prototype = new game.Door(43, 10, 5); game.tile157.prototype.type = "x"; game.tile157.prototype.frame = 31; game.tile158 = function () { }; game.tile158.prototype = new game.Door(45, 1, 5); game.tile158.prototype.type = "x"; game.tile158.prototype.frame = 31; game.tile159 = function () { }; game.tile159.prototype = new game.Door(44, 10, 5); game.tile159.prototype.type = "x"; game.tile159.prototype.frame = 31; game.tile160 = function () { }; game.tile160.prototype = new game.Door(46, 1, 5); game.tile160.prototype.type = "x"; game.tile160.prototype.frame = 31; game.tile161 = function () { }; game.tile161.prototype = new game.Door(45, 10, 5); game.tile161.prototype.type = "x"; game.tile161.prototype.frame = 31; game.tile162 = function () { }; game.tile162.prototype = new game.Door(47, 1, 5); game.tile162.prototype.type = "x"; game.tile162.prototype.frame = 31; game.tile163 = function () { }; game.tile163.prototype = new game.Door(46, 10, 5); game.tile163.prototype.type = "x"; game.tile163.prototype.frame = 31; game.tile164 = function () { }; game.tile164.prototype = new game.Door(34, 5, 10); game.tile164.prototype.frame = 31; game.tile165 = function () { }; game.tile165.prototype = new game.Door(48, 5, 1); game.tile165.prototype.frame = 31; game.tile166 = function () { }; game.tile166.prototype = new game.Door(35, 5, 10); game.tile166.prototype.frame = 31; game.tile167 = function () { }; game.tile167.prototype = new game.Door(49, 5, 1); game.tile167.prototype.frame = 31; game.tile168 = function () { }; game.tile168.prototype = new game.Door(36, 5, 10); game.tile168.prototype.frame = 31; game.tile169 = function () { }; game.tile169.prototype = new game.Door(50, 5, 1); game.tile169.prototype.frame = 31; game.tile170 = function () { }; game.tile170.prototype = new game.Door(37, 5, 10); game.tile170.prototype.frame = 31; game.tile171 = function () { }; game.tile171.prototype = new game.Door(51, 5, 1); game.tile171.prototype.frame = 31; game.tile172 = function () { }; game.tile172.prototype = new game.Door(38, 5, 10); game.tile172.prototype.frame = 31; game.tile173 = function () { }; game.tile173.prototype = new game.Door(52, 5, 1); game.tile173.prototype.frame = 31; game.tile174 = function () { }; game.tile174.prototype = new game.Door(39, 5, 10); game.tile174.prototype.frame = 31; game.tile175 = function () { }; game.tile175.prototype = new game.Door(53, 5, 1); game.tile175.prototype.frame = 31; game.tile176 = function () { }; game.tile176.prototype = new game.Door(40, 5, 10); game.tile176.prototype.frame = 31; game.tile177 = function () { }; game.tile177.prototype = new game.Door(54, 5, 1); game.tile177.prototype.frame = 31; game.tile178 = function () { }; game.tile178.prototype = new game.Door(49, 1, 5); game.tile178.prototype.type = "x"; game.tile178.prototype.frame = 31; game.tile179 = function () { }; game.tile179.prototype = new game.Door(48, 10, 5); game.tile179.prototype.type = "x"; game.tile179.prototype.frame = 31; game.tile180 = function () { }; game.tile180.prototype = new game.Door(50, 1, 5); game.tile180.prototype.type = "x"; game.tile180.prototype.frame = 31; game.tile181 = function () { }; game.tile181.prototype = new game.Door(49, 10, 5); game.tile181.prototype.type = "x"; game.tile181.prototype.frame = 31; game.tile182 = function () { }; game.tile182.prototype = new game.Door(51, 1, 5); game.tile182.prototype.type = "x"; game.tile182.prototype.frame = 31; game.tile183 = function () { }; game.tile183.prototype = new game.Door(50, 10, 5); game.tile183.prototype.type = "x"; game.tile183.prototype.frame = 31; game.tile184 = function () { }; game.tile184.prototype = new game.Door(52, 1, 5); game.tile184.prototype.type = "x"; game.tile184.prototype.frame = 31; game.tile185 = function () { }; game.tile185.prototype = new game.Door(51, 10, 5); game.tile185.prototype.type = "x"; game.tile185.prototype.frame = 31; game.tile186 = function () { }; game.tile186.prototype = new game.Door(53, 1, 5); game.tile186.prototype.type = "x"; game.tile186.prototype.frame = 31; game.tile187 = function () { }; game.tile187.prototype = new game.Door(52, 10, 5); game.tile187.prototype.type = "x"; game.tile187.prototype.frame = 31; game.tile188 = function () { }; game.tile188.prototype = new game.Door(54, 1, 5); game.tile188.prototype.type = "x"; game.tile188.prototype.frame = 31; game.tile189 = function () { }; game.tile189.prototype = new game.Door(53, 10, 5); game.tile189.prototype.type = "x"; game.tile189.prototype.frame = 31; game.tile190 = function () { }; game.tile190.prototype = new game.Door(41, 5, 10); game.tile190.prototype.frame = 31; game.tile191 = function () { }; game.tile191.prototype = new game.Door(55, 5, 1); game.tile191.prototype.frame = 31; game.tile192 = function () { }; game.tile192.prototype = new game.Door(42, 5, 10); game.tile192.prototype.frame = 31; game.tile193 = function () { }; game.tile193.prototype = new game.Door(56, 5, 1); game.tile193.prototype.frame = 31; game.tile194 = function () { }; game.tile194.prototype = new game.Door(43, 5, 10); game.tile194.prototype.frame = 31; game.tile195 = function () { }; game.tile195.prototype = new game.Door(57, 5, 1); game.tile195.prototype.frame = 31; game.tile196 = function () { }; game.tile196.prototype = new game.Door(44, 5, 10); game.tile196.prototype.frame = 31; game.tile197 = function () { }; game.tile197.prototype = new game.Door(58, 5, 1); game.tile197.prototype.frame = 31; game.tile198 = function () { }; game.tile198.prototype = new game.Door(45, 5, 10); game.tile198.prototype.frame = 31; game.tile199 = function () { }; game.tile199.prototype = new game.Door(59, 5, 1); game.tile199.prototype.frame = 31; game.tile200 = function () { }; game.tile200.prototype = new game.Door(46, 5, 10); game.tile200.prototype.frame = 31; game.tile201 = function () { }; game.tile201.prototype = new game.Door(60, 5, 1); game.tile201.prototype.frame = 31; game.tile202 = function () { }; game.tile202.prototype = new game.Door(47, 5, 10); game.tile202.prototype.frame = 31; game.tile203 = function () { }; game.tile203.prototype = new game.Door(61, 5, 1); game.tile203.prototype.frame = 31; game.tile204 = function () { }; game.tile204.prototype = new game.Door(56, 1, 5); game.tile204.prototype.type = "x"; game.tile204.prototype.frame = 31; game.tile205 = function () { }; game.tile205.prototype = new game.Door(55, 10, 5); game.tile205.prototype.type = "x"; game.tile205.prototype.frame = 31; game.tile206 = function () { }; game.tile206.prototype = new game.Door(57, 1, 5); game.tile206.prototype.type = "x"; game.tile206.prototype.frame = 31; game.tile207 = function () { }; game.tile207.prototype = new game.Door(56, 10, 5); game.tile207.prototype.type = "x"; game.tile207.prototype.frame = 31; game.tile208 = function () { }; game.tile208.prototype = new game.Door(58, 1, 5); game.tile208.prototype.type = "x"; game.tile208.prototype.frame = 31; game.tile209 = function () { }; game.tile209.prototype = new game.Door(57, 10, 5); game.tile209.prototype.type = "x"; game.tile209.prototype.frame = 31; game.tile210 = function () { }; game.tile210.prototype = new game.Door(59, 1, 5); game.tile210.prototype.type = "x"; game.tile210.prototype.frame = 31; game.tile211 = function () { }; game.tile211.prototype = new game.Door(58, 10, 5); game.tile211.prototype.type = "x"; game.tile211.prototype.frame = 31; game.tile212 = function () { }; game.tile212.prototype = new game.Door(60, 1, 5); game.tile212.prototype.type = "x"; game.tile212.prototype.frame = 31; game.tile213 = function () { }; game.tile213.prototype = new game.Door(59, 10, 5); game.tile213.prototype.type = "x"; game.tile213.prototype.frame = 31; game.tile214 = function () { }; game.tile214.prototype = new game.Door(61, 1, 5); game.tile214.prototype.type = "x"; game.tile214.prototype.frame = 31; game.tile215 = function () { }; game.tile215.prototype = new game.Door(60, 10, 5); game.tile215.prototype.type = "x"; game.tile215.prototype.frame = 31; game.tile216 = function () { }; game.tile216.prototype = new game.Door(48, 5, 10); game.tile216.prototype.frame = 31; game.tile217 = function () { }; game.tile217.prototype = new game.Door(49, 5, 10); game.tile217.prototype.frame = 31; game.tile218 = function () { }; game.tile218.prototype = new game.Door(50, 5, 10); game.tile218.prototype.frame = 31; game.tile219 = function () { }; game.tile219.prototype = new game.Door(51, 5, 10); game.tile219.prototype.frame = 31; game.tile220 = function () { }; game.tile220.prototype = new game.Door(52, 5, 10); game.tile220.prototype.frame = 31; game.tile221 = function () { }; game.tile221.prototype = new game.Door(53, 5, 10); game.tile221.prototype.frame = 31; game.tile222 = function () { }; game.tile222.prototype = new game.Door(54, 5, 10); game.tile222.prototype.frame = 31; game.tile223 = function () { }; game.tile223.prototype = new game.InvisibleFence(so.data.level1beaten, 33); game.tile224 = function () { }; game.tile224.prototype = new game.InvisibleFence(so.data.level2beaten, 33); game.tile225 = function () { }; game.tile225.prototype = new game.InvisibleFence(so.data.level3beaten, 33); clockCrew = so.data.level4beaten && (so.data.badge >= 14); game.tile226 = function () { }; game.tile226.prototype = new game.InvisibleFence(clockCrew, 33); game.tile242 = function () { }; game.tile242.prototype.scene = true; game.tile242.prototype.sceneName = "blamsword"; game.tile242.prototype.sceneCondition = !so.data.blamSword; game.tile242.prototype.frame = 31; game.tile242.prototype.walkable = true; game.tile227 = function () { }; game.tile227.prototype = new game.Chest(1); game.tile228 = function () { }; game.tile228.prototype = new game.Chest(2); game.tile229 = function () { }; game.tile229.prototype = new game.Chest(3); game.tile230 = function () { }; game.tile230.prototype = new game.Chest(4); game.tile231 = function () { }; game.tile231.prototype = new game.Chest(5); game.tile232 = function () { }; game.tile232.prototype = new game.InvisibleChest(6); game.tile233 = function () { }; game.tile233.prototype = new game.InvisibleChest(7); game.tile234 = function () { }; game.tile234.prototype = new game.InvisibleChest(8); game.tile235 = function () { }; game.tile235.prototype = new game.InvisibleChest(9); game.tile236 = function () { }; game.tile236.prototype = new game.InvisibleChest(10); game.tile237 = function () { }; game.tile237.prototype = new game.InvisibleChest(11); game.tile238 = function () { }; game.tile238.prototype = new game.InvisibleChest(12); game.tile239 = function () { }; game.tile239.prototype = new game.InvisibleChest(13); game.tile240 = function () { }; game.tile240.prototype = new game.InvisibleChest(14); game.tile241 = function () { }; game.tile241.prototype = new game.InvisibleChest(15); var enemies = [[], [], [], [], [], [], [[1, 2, 5]], [[2, 5, 3], [2, 5, 7]], [[1, 5, 5]], [[2, 5, 4], [1, 5, 7]], [[2, 5, 5]], [[2, 5, 3], [2, 5, 5], [2, 5, 7]], [[2, 4, 5]], [[2, 5, 3], [1, 5, 7]], [[2, 5, 3], [1, 5, 5], [2, 5, 7]], [[1, 6, 6], [2, 5, 4]], [[1, 6, 6], [2, 5, 4]], [[2, 5, 4], [2, 5, 7]], [[1, 5, 3]], [[2, 6, 5]], [[1, 2, 5]], [[2, 5, 3], [2, 5, 7]], [[1, 5, 5]], [[2, 5, 4], [1, 5, 7]], [[2, 5, 5]], [[2, 5, 3], [2, 5, 4], [2, 5, 7]], [[2, 4, 5]], [[2, 5, 3], [1, 5, 7]], [[2, 5, 3], [1, 5, 5], [2, 5, 7]], [[1, 6, 7], [2, 5, 4]], [[1, 6, 6], [2, 6, 4]], [[2, 5, 4], [2, 5, 7]], [[1, 5, 3]], [[2, 6, 5]], [[1, 2, 5]], [[2, 5, 3], [2, 5, 7]], [[1, 5, 5]], [[2, 5, 4], [1, 5, 7]], [[2, 5, 5]], [[2, 5, 3], [2, 5, 5], [2, 5, 7]], [[2, 4, 5]], [[2, 5, 4], [1, 5, 7]], [[2, 5, 4], [1, 5, 5], [2, 5, 7]], [[1, 6, 6], [2, 5, 4]], [[1, 6, 6], [2, 5, 4]], [[2, 5, 4], [2, 5, 7]], [[1, 5, 3]], [[2, 6, 5]], [[1, 2, 5]], [[2, 5, 3], [2, 5, 7]], [[1, 5, 5]], [[2, 5, 4], [1, 5, 7]], [[2, 5, 5]], [[2, 5, 3], [2, 5, 5], [2, 5, 7]], [[2, 4, 5]], [[2, 5, 3], [1, 5, 7]], [[2, 5, 3], [1, 5, 5], [2, 5, 7]], [[1, 6, 6], [2, 5, 5]], [[1, 6, 6], [2, 5, 4]], [[2, 5, 5], [2, 5, 7]], [[1, 5, 3]], [[2, 8, 5]]]; game.Enemy = function () { }; game.Enemy.prototype.action = "walk"; game.Enemy.prototype.dir = "down"; game.Enemy.prototype.xdir = 1; game.Enemy.prototype.ydir = 0; game.Enemy.prototype.speed = 2; game.Enemy.prototype.turnchance = 3; game.Enemy.prototype.health = 2; game.Enemy.prototype.width = 12.5; game.Enemy.prototype.height = 12.5; game.enemy1 = function () { }; game.enemy1.prototype = new game.Enemy(); game.enemy1.prototype.health = 3; game.enemy2 = function () { }; game.enemy2.prototype = new game.Enemy(); game.enemy2.prototype.xdir = 0; game.enemy2.prototype.ydir = 1; var d = 1; var enterTooLong = 0; var attackTooLong = 0; Key.removeListener(key); delete key; var key = new Object(); key.onKeyDown = function () { if (hero.action != "die") { if (Key.isDown(83)) { attackTooLong++; if (attackTooLong <= 1) { game.attackKey = true; } else { game.attackKey = false; } } if (Key.isDown(65)) { enterTooLong++; if (enterTooLong <= 1) { game.enterKey = true; openChest = false; object = hero; room = _root["room" + game.room]; r = 0; while (r < room.length) { c = 0; while (c < room[0].length) { tile = game[(("tile_" + r) + "_") + c]; if (tile.chest) { i = 1; while (i <= 15) { if (so.data[("chest" + i) + "open"] && (i == tile.id)) { openChest = true; } i++; } } c++; } r++; } checkCorners(object.x, object.y - object.speed, object); if (((((object.tileUpLeft == object.tileUpRight) && (object.tileUpLeft.chest)) && (object.tileUpLeft.visible)) && (!openChest)) && (object.dir == "up")) { if (so.data.badge == undefined) { so.data.badge = 0; } if (so.data.badge < 15) { so.data.badge++; } so.data[("chest" + object.tileUpLeft.id) + "open"] = true; object.tileUpLeft.tile.tile.play(); object.tileUpLeft.openChest = true; } } else { game.enterKey = false; } } } }; key.onKeyUp = function () { if (Key.getCode() == 83) { game.attackKey = false; attackTooLong = 0; } if (Key.getCode() == 65) { game.enterKey = false; enterTooLong = 0; } }; Key.addListener(key); this.onEnterFrame = function () { checkKeys(); moveEnemy(); checkAttack(); clockCrew = so.data.level4beaten && (so.data.badge >= 14); if (game.paused) { stopClips(hero.clip); } hero.maxhealth = 5; if (so.data.badge > 0) { hero.maxhealth = hero.maxhealth + Math.floor(so.data.badge / 3); } }; buildRoom(_root["room" + game.room]);
Instance of Symbol 661 MovieClip in Frame 30
onClipEvent (enterFrame) { if (_root.so.data.badge != this.badge) { this.badge = _root.so.data.badge; this.name = "badge" + this.badge; this.attachMovie(this.name, "badge", 1); } }
Frame 37
function buildRoom(room) { visitedObject[("room" + game.room) + "visited"] = true; if (music.song != game.song) { attachMovie(game.song, "music", 10); } _root.createEmptyMovieClip("tiles", 0); tiles.createEmptyMovieClip("back", 0); game.tiles.setMask(mask_mc); game.tiles = _root.tiles; r = 0; while (r < room.length) { c = 0; while (c < room[0].length) { var name = ((("tile_" + r) + "_") + c); game[name] = new game["tile" + room[r][c]](); game[name].depth = (((r * game.tileh) * Stage.height) + (c * game.tilew)) + 1; if (((game[name].walkable || (game[name].lockdoor)) || (game[name].trapdoor)) || (game[name].chest)) { game.tiles.back.attachMovie("tile", name, game[name].depth); game.tiles.back[name]._x = c * game.tilew; game.tiles.back[name]._y = r * game.tileh; game[name].tile = game.tiles.back[name]; game.tiles.back[name].gotoAndStop(game[name].frame); } else { game.tiles.attachMovie("tile", name, game[name].depth); game.tiles[name]._x = c * game.tilew; game.tiles[name]._y = r * game.tileh; game[name].tile = game.tiles[name]; game.tiles[name].gotoAndStop(game[name].frame); } c++; } r++; } hero.x = (game.tilew * hero.xtile) + (game.tilew / 2); hero.y = (game.tileh * hero.ytile) + (game.tileh / 2); hero.initX = hero.xtile; hero.initY = hero.ytile; hero.depth = ((hero.y * 300) + hero.x) + 1; game.tiles.attachMovie(hero.swordType, "theGuy", hero.depth); hero.clip = game.tiles.theGuy; hero.clip._x = hero.x; hero.clip._y = hero.y; hero.clip.gotoAndStop(hero.action + hero.dir); game.tiles.createEmptyMovieClip("enemyCheck", 1E15); game.tiles.enemyCheck.onEnterFrame = function () { opentraps = true; i = 0; while (i < enemies[game.room].length) { name = (("enemy_" + game.room) + "_") + i; if ((("." + game[name].clip) != ".") && (!trapdoors[game.room])) { opentraps = false; } i++; } if (opentraps || (levelBeaten)) { openTraps(); delete this.onEnterFrame; removeMovieClip(this); } }; i = 0; while (i < enemies[game.room].length) { name = (("enemy_" + game.room) + "_") + i; game[name] = new game["enemy" + enemies[game.room][i][0]](); game[name].type = enemies[game.room][i][0]; game[name].xtile = enemies[game.room][i][1]; game[name].ytile = enemies[game.room][i][2]; game[name].x = (game.tilew * game[name].xtile) + (game.tilew / 2); game[name].y = (game.tileh * game[name].ytile) + (game.tileh / 2); game[name].depth = ((game[name].y * 300) + game[name].x) + 1; game.tiles.attachMovie("enemy" + game[name].type, name, game[name].depth); game[name].clip = game.tiles[name]; game[name].clip._x = game[name].x; game[name].clip._y = game[name].y; game[name].clip.gotoAndStop(game[name].action + game[name].dir); game[name].clip.object = game[name]; if (game[name].type != 3) { game[name].clip.onEnterFrame = function () { if (((this.hitTest(hero.clip.hitbox) && (!this.hitTest(hero.clip.hero.sword))) && (!hero.invinsible)) && (this.object.action != "die")) { hero.loseHealth(this.object.dir); } else if (this.hitTest(hero.clip.hero.sword) && (!this.object.invinsible)) { this.object.health = this.object.health - hero.attack; if (this.object.health > 0) { this.object.initBounce = 0; this.object.oppositedir = hero.dir; this.object.bounceInterval = setInterval(bounceBack, 5, this.object, this.object.oppositedir, 50); this.object.initInvinsible = 0; this.object.invinsibleInterval = setInterval(setInvinsible, 2, this.object, 200); } else { this.object.action = "die"; moveObject(0, 0, this.object); } } }; } else if (levelBeaten) { removeMovieClip(game[name].clip); delete game[name]; } else { showBossMessage("A-Bot", "~Guardian of the Audio Portal~"); attachMovie("song2", "music", 10); pause_mc.name_txt.text = "DISABLED"; delete pause_mc.onRelease; } i++; } if (levelBeaten) { openLocks(); openChests(); } i = 0; while (i < inventory[0].length) { room = inventory[0][i][0]; name = inventory[0][i][1]; unlocked = inventory[0][i][2]; bluekey = inventory[0][i][3]; if ((room == game.room) && (unlocked)) { game[name].walkable = true; game[name].door = true; frame = game.tiles.back[name].tile._totalframes; game.tiles.back[name].tile.gotoAndStop(frame); } if (!unlocked) { if (bluekey) { game.tiles.attachMovie("bluekey", "key", game.tiles.getNextHighestDepth()); } else { game.tiles.attachMovie("key", "key", game.tiles.getNextHighestDepth()); } game.tiles.key._y = Stage.height - (game.tiles.key._height / 2); game.tiles.key._x = 10; } i++; } i = 0; while (i < chests[game.room].length) { chests[game.room][i].tile.tile.gotoAndStop(chests[game.room][i].tile.tile._totalframes); chests[game.room][i].openChest = true; i++; } game.tiles.createEmptyMovieClip("hud", 100000); game.tiles.hud._x = 390; game.tiles.hud._y = 5; i = 0; while (i < hero.maxhealth) { game.tiles.hud.attachMovie("heart", "heart" + i, i); game.tiles.hud["heart" + i]._x = i * 20; if (i >= 5) { game.tiles.hud["heart" + i]._x = (i - 5) * 20; game.tiles.hud["heart" + i]._y = 20; } i++; } game.tiles.hud.onEnterFrame = function () { i = 0; while (i < hero.maxhealth) { if (hero.health > i) { this["heart" + i].gotoAndStop("full"); } else { this["heart" + i].gotoAndStop("empty"); } i++; } }; } function checkKeys() { if ((hero.action != "attack") && (hero.action != "die")) { hero.action = "idle"; left = Key.isDown(37); right = Key.isDown(39); up = Key.isDown(38); down = Key.isDown(40); if (left && (!right)) { moveObject(-1, 0, hero); } if (right && (!left)) { moveObject(1, 0, hero); } if (up && (!down)) { moveObject(0, -1, hero); } if (down && (!up)) { moveObject(0, 1, hero); } } hero.clip.gotoAndStop(hero.action + hero.dir); } function moveObject(xdir, ydir, object) { if (!game.paused) { if (object.action != "die") { left = Key.isDown(37); right = Key.isDown(39); up = Key.isDown(38); down = Key.isDown(40); checkCorners(object.x + (object.speed * xdir), object.y, object); if (xdir == -1) { if (object.upleft && (object.downleft)) { object.x = object.x + (object.speed * xdir); } else if (object.upleft || (object.tileUpLeft.lockdoor)) { object.y--; } else if (object.downleft || (object.tileDownLeft.lockdoor)) { object.y++; } else { object.x = (object.xtile * game.tilew) + object.width; } object.action = "walk"; if ((!up) && (!down)) { object.dir = "left"; } if (((object.tileUpLeft == object.tileDownLeft) && (object.tileUpLeft.lockdoor)) && (object == hero)) { i = 0; while (i < inventory[0].length) { room = inventory[0][i][0]; tile = game[inventory[0][i][1]]; unlocked = inventory[0][i][2]; if (((tile == object.tileUpLeft) && (!unlocked)) && (room == game.room)) { unlockDoor(tile); inventory[0][i][2] = true; } i++; } } } if (xdir == 1) { if (object.upright && (object.downright)) { object.x = object.x + (object.speed * xdir); } else if (object.upright || (object.tileUpRight.lockdoor)) { object.y--; } else if (object.downright || (object.tileDownRight.lockdoor)) { object.y++; } else { object.x = (((object.xtile + 1) * game.tilew) - object.width) - 1; } object.action = "walk"; if ((!up) && (!down)) { object.dir = "right"; } if (((object.tileUpRight == object.tileDownRight) && (object.tileUpRight.lockdoor)) && (object == hero)) { i = 0; while (i < inventory[0].length) { room = inventory[0][i][0]; tile = game[inventory[0][i][1]]; unlocked = inventory[0][i][2]; if (((tile == object.tileUpLeft) && (!unlocked)) && (room == game.room)) { unlockDoor(tile); inventory[0][i][2] = true; } i++; } } } checkCorners(object.x, object.y + (object.speed * ydir), object); if (ydir == -1) { if (object.upleft && (object.upright)) { object.y = object.y + (object.speed * ydir); } else if (object.upleft || (object.tileUpLeft.lockdoor)) { object.x--; } else if (object.upright || (object.tileUpRight.lockdoor)) { object.x++; } else { object.y = (object.ytile * game.tileh) + object.height; } object.action = "walk"; object.dir = "up"; if (((object.tileUpLeft == object.tileUpRight) && (object.tileUpLeft.lockdoor)) && (object == hero)) { i = 0; while (i < inventory[0].length) { room = inventory[0][i][0]; tile = game[inventory[0][i][1]]; unlocked = inventory[0][i][2]; if (((tile == object.tileUpLeft) && (!unlocked)) && (room == game.room)) { unlockDoor(tile); inventory[0][i][2] = true; } i++; } } } if (ydir == 1) { if (object.downleft && (object.downright)) { object.y = object.y + (object.speed * ydir); } else if (object.downleft || (object.tileDownLeft.lockdoor)) { object.x--; } else if (object.downright || (object.tileDownRight.lockdoor)) { object.x++; } else { object.y = (((object.ytile + 1) * game.tileh) - object.height) - 1; } object.action = "walk"; object.dir = "down"; if (((object.tileDownLeft == object.tileDownRight) && (object.tileDownLeft.lockdoor)) && (object == hero)) { i = 0; while (i < inventory[0].length) { room = inventory[0][i][0]; tile = game[inventory[0][i][1]]; unlocked = inventory[0][i][2]; if (((tile == object.tileUpLeft) && (!unlocked)) && (room == game.room)) { unlockDoor(tile); inventory[0][i][2] = true; } i++; } } } object.xtile = Math.floor(object.x / game.tilew); object.ytile = Math.floor(object.y / game.tileh); object.clip._x = object.x; object.clip._y = object.y; } object.clip.gotoAndStop(object.action + object.dir); if ((object == hero) && (game[(("tile_" + object.ytile) + "_") + object.xtile].door)) { changeMap(); } if ((object == hero) && (game[(("tile_" + object.ytile) + "_") + object.xtile].outdoor)) { changeArea(); } object.depth = ((object.y * 300) + object.x) + 1; object.clip.swapDepths(object.depth); return(true); } } function checkCorners(x, y, object) { object.leftX = Math.floor((x - object.width) / game.tilew); object.rightX = Math.floor((x + object.width) / game.tilew); object.upY = Math.floor((y - object.height) / game.tileh); object.downY = Math.floor((y + object.height) / game.tileh); object.tileUpLeft = game[(("tile_" + object.upY) + "_") + object.leftX]; object.tileUpRight = game[(("tile_" + object.upY) + "_") + object.rightX]; object.tileDownLeft = game[(("tile_" + object.downY) + "_") + object.leftX]; object.tileDownRight = game[(("tile_" + object.downY) + "_") + object.rightX]; object.upleft = game[(("tile_" + object.upY) + "_") + object.leftX].walkable; object.upright = game[(("tile_" + object.upY) + "_") + object.rightX].walkable; object.downleft = game[(("tile_" + object.downY) + "_") + object.leftX].walkable; object.downright = game[(("tile_" + object.downY) + "_") + object.rightX].walkable; } function moveEnemy() { i = 0; while (i < enemies[game.room].length) { var _local2 = (("enemy_" + game.room) + "_") + i; var _local1 = game[_local2]; if (!game.paused) { playClips(_local1.clip); checkCorners(_local1.x + (_local1.speed * _local1.xdir), _local1.y + (_local1.speed * _local1.ydir), _local1); switch (_local1.type) { case 1 : if ((getDistance(_local1.clip, hero.clip).totaldist > 100) || (_local1.clip.hitTest(hero.clip.hitbox))) { if (((_local1.upleft && (_local1.upright)) && (_local1.downleft)) && (_local1.downright)) { moveObject(_local1.xdir, _local1.ydir, _local1); } else { var _local3 = Math.floor((Math.random() * 4) + 1); switch (_local3) { case 1 : _local1.xdir = -1; _local1.ydir = 0; break; case 2 : _local1.xdir = 1; _local1.ydir = 0; break; case 3 : _local1.xdir = 0; _local1.ydir = -1; break; case 4 : _local1.xdir = 0; _local1.ydir = 1; } } } else { distance = getDistance(_local1.clip, hero.clip); if (Math.abs(distance.xdist) > 10) { if (distance.xdist < 0) { _local1.xdir = 1; _local1.ydir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.xdir = -1; _local1.ydir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } } else if (distance.ydist < 0) { _local1.ydir = 1; _local1.xdir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.ydir = -1; _local1.xdir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } } break; case 2 : if ((getDistance(_local1.clip, hero.clip).totaldist > 100) || (_local1.clip.hitTest(hero.clip.hitbox))) { var _local3 = Math.random() * 100; if ((((_local1.upleft && (_local1.upright)) && (_local1.downleft)) && (_local1.downright)) && (_local3 > _local1.turnchance)) { moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local3 = Math.floor((Math.random() * 4) + 1); switch (_local3) { case 1 : _local1.xdir = -1; _local1.ydir = 0; break; case 2 : _local1.xdir = 1; _local1.ydir = 0; break; case 3 : _local1.xdir = 0; _local1.ydir = -1; break; case 4 : _local1.xdir = 0; _local1.ydir = 1; } } } else { distance = getDistance(_local1.clip, hero.clip); if (Math.abs(distance.xdist) > 10) { if (distance.xdist < 0) { _local1.xdir = 1; _local1.ydir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.xdir = -1; _local1.ydir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } } else if (distance.ydist < 0) { _local1.ydir = 1; _local1.xdir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.ydir = -1; _local1.xdir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } } break; case 3 : if (_local1.health > 0) { _local1.invinsible = true; if (_local1.currentAction > _local1.actionOrder.length) { _local1.currentAction = 0; } switch (_local1.actionOrder[Math.floor(_local1.currentAction)]) { case "move" : _local1.hit = false; if (_local1.movementDirection == undefined) { if ((_local1.xtile == 5) && (Math.floor(Math.random() * 2) == 0)) { moveRight = 1; } else { moveRight = 0; } if ((_local1.xtile < 5) || (moveRight == 1)) { if (_local1.ytile <= 5) { if (Math.floor(Math.random() * 2) == 0) { _local1.movementDirection = "right"; } else { _local1.movementDirection = "down"; } } else if (Math.floor(Math.random() * 2) == 0) { _local1.movementDirection = "right"; } else { _local1.movementDirection = "up"; } } else if (_local1.ytile <= 5) { if (Math.floor(Math.random() * 2) == 0) { _local1.movementDirection = "left"; } else { _local1.movementDirection = "down"; } } else if (Math.floor(Math.random() * 2) == 0) { _local1.movementDirection = "left"; } else { _local1.movementDirection = "up"; } } switch (_local1.movementDirection) { case "left" : moveObject(-1, 0, _local1); break; case "right" : moveObject(1, 0, _local1); break; case "up" : moveObject(0, -1, _local1); break; case "down" : moveObject(0, 1, _local1); } if (Math.floor(_local1.currentAction + 0.05) > Math.floor(_local1.currentAction)) { delete _local1.movementDirection; } _local1.currentAction = _local1.currentAction + 0.05; if (_local1.clip.hitbox.hitTest(hero.clip.hitbox) && (!hero.invinsible)) { hero.loseHealth(_local1.dir); } break; case "align" : _local1.hit = false; if (_local1.xtile > 5) { _local1.movementDirection = "left"; } else if (_local1.xtile < 5) { _local1.movementDirection = "right"; } else if (_local1.ytile > 5) { _local1.movementDirection = "up"; } else { _local1.currentAction++; } switch (_local1.movementDirection) { case "left" : moveObject(-1, 0, _local1); break; case "right" : moveObject(1, 0, _local1); break; case "up" : moveObject(0, -1, _local1); break; case "down" : moveObject(0, 1, _local1); } if (_local1.clip.hitbox.hitTest(hero.clip.hitbox) && (!hero.invinsible)) { hero.loseHealth(_local1.dir); } break; case "attack1" : _local1.currentAction = _local1.currentAction + 0.02; _local1.action = "attack"; _local1.dir = "down"; _local1.clip.gotoAndStop("attack1"); break; case "attack2" : _local1.currentAction = _local1.currentAction + 0.02; _local1.action = "attack"; _local1.dir = "down"; _local1.clip.gotoAndStop("attack2"); break; case "idle" : _local1.invinsible = false; _local1.currentAction = _local1.currentAction + 0.01; if (_local1.clip.hitTest(hero.clip.hero.sword) && (!_local1.hit)) { _local1.hit = true; _local1.health = _local1.health - hero.attack; if (_local1.health > 0) { _local1.initInvinsible = 0; _local1.invinsibleInterval = setInterval(setInvinsible, 5, _local1, 200); } } _local1.action = "walk"; _local1.dir = "down"; _local1.clip.gotoAndStop("walkdown"); } } else { _local1.clip.gotoAndStop("die"); } break; default : if (((_local1.upleft && (_local1.upright)) && (_local1.downleft)) && (_local1.downright)) { moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.xdir = _local1.xdir * -1; _local1.ydir = _local1.ydir * -1; } } } else { stopClips(_local1.clip); } i++; } } function checkAttack() { if ((game.attackKey && (hero.action != "attack")) && (!game.paused)) { hero.action = "attack"; } } function changeMap(sameRoom) { if (sameRoom == undefined) { var _local2 = (("tile_" + hero.ytile) + "_") + hero.xtile; if (game[_local2].type == "x") { hero.xtile = game[_local2].newX; } else if (game[_local2].type == "y") { hero.ytile = game[_local2].newY; } else { hero.xtile = game[_local2].newX; hero.ytile = game[_local2].newY; } hero.x = (hero.xtile * game.tilew) + hero.width; hero.y = (((hero.ytile + 1) * game.tileh) - object.height) - 1; hero.clip._x = hero.x; hero.clip._y = hero.y; } d = 0; removeMovieClip(game.tiles); if (sameRoom == undefined) { game.room = game[_local2].newroom; } buildRoom(_root["room" + game.room]); if (sameRoom == undefined) { } } function resetArea() { for (i in initHero) { hero[i] = initHero[i]; } hero.x = (hero.xtile * game.tilew) + hero.width; hero.y = (((hero.ytile + 1) * game.tileh) - object.height) - 1; hero.clip._x = hero.x; hero.clip._y = hero.y; removeMovieClip(game.tiles); game.room = initGame.room; buildRoom(_root["room" + game.room]); } function changeArea(notile) { if (notile == undefined) { var _local2 = (("tile_" + hero.ytile) + "_") + hero.xtile; if (game[_local2].type == "x") { hero.xtile = game[_local2].newX; } else if (game[_local2].type == "y") { hero.ytile = game[_local2].newY; } else { hero.xtile = game[_local2].newX; hero.ytile = game[_local2].newY; } hero.x = (hero.xtile * game.tilew) + hero.width; hero.y = (((hero.ytile + 1) * game.tileh) - object.height) - 1; hero.clip._x = hero.x; hero.clip._y = hero.y; d = 0; removeMovieClip(game.tiles); _root.newroom = {room:game[_local2].newroom, xtile:hero.xtile, ytile:hero.ytile, health:hero.health}; gotoAndStop(game[_local2].newarea); } else { hero.xtile = notile.newX; hero.ytile = notile.newY; hero.x = (hero.xtile * game.tilew) + hero.width; hero.y = (((hero.ytile + 1) * game.tileh) - object.height) - 1; hero.clip._x = hero.x; hero.clip._y = hero.y; d = 0; removeMovieClip(game.tiles); _root.newroom = {room:notile.newroom, xtile:hero.xtile, ytile:hero.ytile, health:hero.health}; gotoAndStop(notile.newarea); } } function fall(object) { object.xtile = object.initX; object.ytile = object.initY; object.x = (object.xtile * game.tilew) + (game.tilew / 2); object.y = (object.ytile * game.tileh) + (game.tileh / 2); object.clip._x = object.x; object.clip._y = object.y; } function showMessage(txt) { game.showingMessage = true; attachMovie("message", "msg", this.getNextHighestDepth()); msg.text_txt.text = ""; msg._y = Stage.height - msg._height; msg.txt = txt; msg.continue_mc._visible = false; msg.onEnterFrame = function () { enterTooLong = 0; if (game.enterKey) { msg.text_txt.text = msg.txt; msg.onEnterFrame = function () { if (game.enterKey) { game.paused = false; game.showingMessage = false; removeMovieClip(msg); } }; game.enterKey = false; msg.continue_mc._visible = true; sound.attachSound("beep2"); sound.start(); clearInterval(showMessageInterval); } }; _root.letterNumber = 0; game.paused = true; var sound = new Sound(); showMessageInterval = setInterval(showLetter, 10, msg, sound); } function showLetter(msg, sound) { sound.attachSound("beep1"); sound.start(); txtArray = msg.txt.split(""); msg.text_txt.text = msg.text_txt.text + txtArray[_root.letterNumber]; if ((_root.letterNumber + 1) < txtArray.length) { _root.letterNumber++; } else { msg.onEnterFrame = function () { if (game.enterKey) { game.paused = false; game.showingMessage = false; removeMovieClip(msg); } }; game.enterKey = false; msg.continue_mc._visible = true; sound.attachSound("beep2"); sound.start(); clearInterval(showMessageInterval); } } function showBossMessage(name, desc) { game.paused = true; attachMovie("messageBoss", "bossMsg", this.getNextHighestDepth()); bossMsg._x = Stage.height / 2; bossMsg._y = Stage.height / 2; bossMsg.txt_mc.name_txt.text = name; bossMsg.txt_mc.desc_txt.text = desc; bossMsg.onEnterFrame = function () { if (this._currentframe == this._totalframes) { game.paused = false; removeMovieClip(this); } }; } function bounceBack(object, dir, max) { if (!game.paused) { if (object.oppositedir == "left") { moveObject(-1, 0, object); } else if (object.oppositedir == "right") { moveObject(1, 0, object); } else if (object.oppositedir == "up") { moveObject(0, -1, object); } else if (object.oppositedir == "down") { moveObject(0, 1, object); } object.initBounce++; if (object.initBounce == max) { clearInterval(object.bounceInterval); } } } function setInvinsible(object, max) { if (!game.paused) { object.invinsible = true; object.clip._alpha = 50; object.initInvinsible++; if (object.initInvinsible == max) { object.invinsible = false; object.clip._alpha = 100; clearInterval(object.invinsibleInterval); } } } function unlockDoor(tile) { tile.walkable = true; tile.door = true; tile.tile.tile.play(); removeMovieClip(game.tiles.key); } function openTraps() { room = _root["room" + game.room]; trapdoors[game.room] = true; r = 0; while (r < room.length) { c = 0; while (c < room[0].length) { var _local2 = (("tile_" + r) + "_") + c; if (game[_local2].trapdoor) { game[_local2].walkable = true; game[_local2].door = true; game.tiles.back[_local2].tile.play(); } c++; } r++; } } function openLocks() { room = _root["room" + game.room]; r = 0; while (r < room.length) { c = 0; while (c < room[0].length) { var _local2 = (("tile_" + r) + "_") + c; if (game[_local2].lockdoor) { game[_local2].walkable = true; game[_local2].door = true; game.tiles.back[_local2].tile.gotoAndStop(game.tiles.back[_local2].tile._totalframes); } c++; } r++; } } function openChests() { room = _root["room" + game.room]; r = 0; while (r < room.length) { c = 0; while (c < room[0].length) { var _local2 = (("tile_" + r) + "_") + c; if (game[_local2].chest) { game[_local2].openChest = true; game.tiles.back[_local2].tile.gotoAndStop(game.tiles.back[_local2].tile._totalframes); } c++; } r++; } } function getDistance(object1, object2) { xdist = object1._x - object2._x; ydist = object1._y - object2._y; totaldist = Math.sqrt((xdist * xdist) + (ydist * ydist)); return({xdist:xdist, ydist:ydist, totaldist:totaldist}); } function stopClips(object) { for (name in object) { if (typeof(object[name]) == "movieclip") { stopAllClips(object[name]); } } } function stopAllClips(object) { object.stop(); object.stoppedByFunction = true; for (name in object) { if (typeof(object[name]) == "movieclip") { stopAllClips(object[name]); } } } function playClips(object) { for (name in object) { if (typeof(object[name]) == "movieclip") { playAllClips(object[name]); } } } function playAllClips(object) { if (object.stoppedByFunction) { object.play(); } for (name in object) { if (typeof(object[name]) == "movieclip") { playAllClips(object[name]); } } } stop(); if (level1rooms == undefined) { var level1rooms = new Object(); i = 1; while (i <= 21) { level1rooms[("room" + i) + "visited"] = false; i++; } } visitedObject = level1rooms; pause_mc.name_txt.text = "Pause/Map"; pause_mc.onRelease = function () { if (!game.paused) { game.paused = true; game.tiles.attachMovie("map_d1", "map", game.tiles.getNextHighestDepth()); game.tiles.map._x = Stage.height / 2; game.tiles.map._y = Stage.height / 2; for (mc in game.tiles.map) { if ((typeof(game.tiles.map[mc]) == "movieclip") && (game.tiles.map[mc] != game.tiles.map["room" + game.room])) { if (visitedObject[mc + "visited"]) { game.tiles.map[mc].stop(); } else { game.tiles.map[mc].gotoAndStop(61); } } } } else { game.paused = false; game.tiles.map["room" + game.room].gotoAndStop(1); removeMovieClip(game.tiles.map); } }; music_mc.name_txt.text = "Music On/Off"; music_mc.onRelease = function () { if (music.music.getVolume() == 100) { music.music.setVolume(0); } else { music.music.setVolume(100); } }; quit_mc.name_txt.text = "Quit"; quit_mc.onRelease = function () { removeMovieClip(game.tiles); delete _root.newroom; gotoAndPlay ("menu"); }; var levelBeaten = so.data.level1beaten; if (levelBeaten) { i = 1; while (i <= 21) { visitedObject[("room" + i) + "visited"] = true; i++; } } var room1 = [[55, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 58], [48, 61, 60, 2, 61, 2, 2, 61, 2, 61, 2, 50], [48, 2, 61, 2, 61, 60, 2, 2, 61, 2, 61, 50], [48, 2, 61, 2, 61, 2, 61, 2, 2, 61, 2, 50], [48, 61, 60, 2, 2, 2, 61, 2, 61, 2, 2, 50], [48, 61, 2, 2, 60, 61, 2, 61, 61, 2, 61, 4], [48, 2, 61, 61, 61, 2, 60, 61, 2, 61, 2, 50], [48, 61, 2, 2, 61, 2, 2, 61, 2, 2, 61, 50], [48, 60, 61, 2, 2, 61, 61, 2, 61, 60, 2, 50], [48, 2, 61, 61, 2, 60, 61, 60, 2, 2, 61, 50], [48, 2, 60, 61, 60, 61, 61, 2, 61, 60, 2, 50], [56, 49, 49, 49, 49, 63, 49, 49, 49, 49, 49, 57]]; var room2 = [[55, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 58], [48, 60, 61, 2, 60, 2, 60, 61, 2, 61, 60, 50], [48, 60, 61, 2, 61, 60, 2, 61, 2, 60, 61, 50], [48, 2, 60, 61, 61, 61, 60, 2, 2, 61, 60, 50], [48, 2, 61, 61, 2, 60, 61, 60, 2, 2, 2, 50], [5, 60, 60, 61, 2, 60, 61, 60, 61, 2, 61, 20], [48, 2, 61, 60, 2, 2, 2, 61, 2, 2, 61, 50], [48, 60, 2, 61, 61, 2, 2, 60, 61, 2, 60, 50], [48, 61, 2, 61, 60, 2, 61, 2, 60, 2, 61, 50], [48, 61, 60, 2, 2, 61, 60, 61, 60, 2, 60, 50], [48, 2, 61, 60, 61, 2, 61, 60, 61, 2, 60, 50], [56, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 57]]; var room10 = [[59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59], [59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59], [59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59], [55, 1, 1, 1, 58, 59, 59, 59, 59, 59, 59, 59], [48, 61, 60, 2, 50, 59, 59, 59, 59, 59, 59, 59], [21, 60, 61, 18, 50, 59, 59, 59, 59, 59, 59, 59], [48, 61, 2, 60, 50, 59, 59, 59, 59, 59, 59, 59], [48, 60, 2, 61, 50, 59, 59, 59, 59, 59, 59, 59], [56, 49, 49, 49, 57, 59, 59, 59, 59, 59, 59, 59], [59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59], [59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59], [59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59]]; var room3 = [[55, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 58], [48, 60, 60, 2, 61, 60, 61, 2, 2, 2, 60, 50], [48, 61, 61, 60, 2, 61, 61, 60, 2, 2, 61, 50], [48, 60, 61, 60, 2, 2, 61, 60, 61, 2, 2, 50], [48, 60, 61, 60, 61, 2, 60, 2, 61, 61, 60, 50], [7, 2, 60, 2, 61, 2, 61, 2, 61, 60, 61, 8], [48, 2, 61, 61, 2, 2, 60, 61, 2, 61, 61, 50], [48, 2, 60, 61, 60, 61, 2, 61, 60, 61, 2, 50], [48, 60, 2, 61, 60, 2, 61, 60, 61, 60, 2, 50], [48, 61, 61, 60, 2, 61, 60, 60, 61, 2, 60, 50], [48, 60, 60, 2, 61, 60, 2, 60, 60, 61, 60, 50], [56, 49, 49, 49, 49, 6, 49, 49, 49, 49, 49, 57]]; var room4 = [[55, 1, 1, 1, 1, 10, 1, 1, 1, 1, 1, 58], [48, 60, 61, 60, 2, 61, 61, 60, 2, 60, 2, 50], [48, 60, 61, 60, 61, 2, 60, 2, 61, 61, 60, 50], [48, 2, 2, 61, 2, 60, 61, 2, 60, 61, 60, 50], [48, 2, 61, 61, 60, 2, 60, 60, 2, 60, 61, 50], [48, 2, 60, 2, 61, 60, 2, 2, 60, 2, 61, 9], [48, 60, 2, 60, 2, 61, 60, 2, 2, 60, 61, 50], [48, 60, 2, 61, 60, 2, 60, 2, 61, 60, 60, 50], [48, 2, 60, 61, 61, 60, 2, 61, 60, 61, 60, 50], [48, 2, 61, 2, 2, 61, 2, 2, 61, 2, 60, 50], [48, 61, 2, 60, 61, 2, 60, 60, 60, 2, 60, 50], [56, 49, 49, 49, 49, 11, 49, 49, 49, 49, 49, 57]]; var room5 = [[55, 1, 1, 1, 1, 22, 1, 1, 1, 1, 1, 58], [48, 60, 61, 60, 60, 61, 60, 2, 60, 60, 60, 50], [48, 61, 60, 61, 60, 60, 61, 60, 2, 60, 61, 50], [48, 2, 2, 61, 2, 60, 2, 61, 2, 60, 61, 50], [48, 60, 60, 2, 60, 60, 2, 61, 60, 2, 60, 50], [48, 2, 61, 2, 60, 2, 61, 2, 61, 2, 61, 50], [48, 60, 60, 60, 61, 2, 2, 60, 60, 60, 61, 50], [48, 61, 2, 2, 60, 61, 2, 61, 60, 2, 61, 50], [48, 61, 60, 2, 61, 60, 61, 2, 60, 61, 61, 50], [48, 60, 2, 61, 61, 60, 2, 61, 60, 2, 60, 50], [48, 61, 61, 60, 2, 61, 60, 61, 60, 2, 60, 50], [56, 49, 49, 49, 49, 12, 49, 49, 49, 49, 49, 57]]; var room11 = [[59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59], [59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59], [59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59], [59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59], [59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59], [59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59], [59, 59, 55, 1, 1, 1, 1, 1, 58, 59, 59, 59], [59, 59, 48, 60, 60, 61, 60, 2, 50, 59, 59, 59], [59, 59, 48, 61, 60, 19, 2, 60, 50, 59, 59, 59], [59, 59, 48, 61, 60, 2, 2, 60, 50, 59, 59, 59], [59, 59, 48, 60, 61, 61, 60, 2, 50, 59, 59, 59], [59, 59, 56, 49, 49, 23, 49, 49, 57, 59, 59, 59]]; var room6 = [[55, 1, 1, 1, 1, 13, 1, 1, 1, 1, 1, 58], [48, 60, 61, 2, 60, 61, 2, 60, 61, 61, 60, 50], [48, 2, 61, 60, 2, 61, 60, 61, 2, 61, 60, 50], [48, 2, 2, 60, 61, 2, 61, 2, 60, 2, 60, 50], [48, 61, 60, 60, 60, 2, 60, 2, 61, 60, 2, 50], [48, 2, 60, 61, 61, 2, 2, 60, 61, 2, 60, 50], [48, 61, 2, 61, 60, 61, 60, 2, 61, 60, 2, 50], [48, 61, 60, 2, 60, 61, 60, 2, 2, 61, 60, 50], [48, 60, 2, 60, 60, 60, 61, 60, 2, 60, 60, 50], [48, 61, 61, 60, 2, 61, 60, 2, 61, 60, 2, 50], [48, 60, 61, 2, 60, 61, 2, 61, 2, 61, 60, 50], [56, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 57]]; var room7 = [[55, 1, 1, 1, 1, 15, 1, 1, 1, 1, 1, 58], [48, 2, 60, 61, 60, 60, 2, 61, 60, 2, 60, 50], [48, 60, 61, 60, 2, 60, 60, 60, 61, 60, 60, 50], [48, 2, 61, 2, 60, 60, 61, 61, 60, 60, 2, 50], [48, 60, 61, 60, 60, 2, 61, 60, 60, 2, 60, 50], [14, 61, 60, 61, 2, 60, 61, 2, 61, 2, 60, 50], [48, 61, 60, 60, 2, 2, 2, 61, 2, 61, 2, 50], [48, 60, 61, 60, 2, 61, 2, 61, 2, 60, 61, 50], [48, 60, 2, 61, 2, 60, 61, 2, 61, 2, 61, 50], [48, 2, 61, 2, 61, 60, 2, 60, 60, 61, 2, 50], [48, 60, 61, 2, 60, 61, 2, 60, 61, 60, 61, 50], [56, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 57]]; var room8 = [[55, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 58], [48, 60, 60, 2, 60, 2, 61, 2, 61, 2, 61, 50], [48, 2, 60, 2, 60, 61, 60, 60, 2, 61, 60, 50], [48, 2, 60, 2, 60, 61, 2, 60, 2, 60, 60, 50], [48, 60, 61, 60, 2, 60, 61, 60, 2, 2, 60, 50], [17, 60, 61, 60, 2, 61, 61, 60, 2, 61, 2, 50], [48, 61, 60, 2, 60, 2, 2, 61, 60, 2, 60, 50], [48, 2, 60, 61, 2, 60, 61, 60, 60, 60, 61, 50], [48, 2, 60, 61, 60, 60, 60, 2, 60, 2, 61, 50], [48, 60, 2, 60, 61, 60, 60, 2, 60, 60, 2, 50], [48, 61, 60, 2, 61, 60, 60, 60, 60, 61, 60, 50], [56, 49, 49, 49, 49, 16, 49, 49, 49, 49, 49, 57]]; var room9 = [[55, 1, 25, 1, 1, 1, 1, 1, 1, 26, 1, 58], [48, 60, 61, 60, 60, 2, 60, 60, 60, 2, 61, 50], [48, 60, 2, 2, 60, 60, 61, 60, 60, 60, 2, 50], [48, 2, 60, 61, 60, 60, 2, 60, 2, 60, 61, 50], [48, 60, 2, 61, 2, 60, 2, 60, 61, 2, 2, 50], [48, 60, 61, 60, 60, 60, 61, 60, 60, 2, 60, 24], [48, 61, 60, 60, 60, 61, 2, 60, 60, 61, 60, 50], [48, 2, 60, 60, 61, 60, 60, 60, 2, 60, 60, 50], [48, 60, 60, 61, 60, 61, 2, 60, 61, 60, 60, 50], [48, 2, 61, 60, 2, 61, 60, 2, 60, 61, 2, 50], [48, 60, 60, 60, 60, 2, 61, 2, 61, 60, 61, 50], [56, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 57]]; var room12 = [[55, 1, 1, 1, 1, 58, 55, 1, 1, 31, 1, 58], [48, 60, 61, 60, 2, 50, 48, 61, 60, 61, 60, 50], [48, 2, 60, 60, 61, 50, 48, 2, 60, 61, 60, 50], [48, 61, 2, 60, 61, 50, 48, 2, 60, 61, 2, 50], [48, 60, 60, 60, 60, 50, 48, 60, 60, 60, 61, 50], [29, 2, 60, 61, 2, 50, 48, 60, 61, 61, 60, 30], [48, 60, 61, 61, 2, 50, 48, 60, 2, 2, 60, 50], [48, 61, 61, 2, 61, 50, 48, 60, 2, 61, 60, 50], [48, 2, 2, 61, 2, 50, 48, 60, 2, 61, 2, 50], [48, 61, 60, 2, 2, 50, 48, 61, 60, 2, 61, 50], [48, 61, 2, 61, 2, 50, 48, 61, 61, 2, 60, 50], [56, 49, 27, 49, 49, 57, 56, 49, 49, 28, 49, 57]]; var room13 = [[55, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 58], [48, 61, 2, 60, 61, 61, 2, 60, 61, 2, 61, 50], [48, 60, 61, 2, 61, 60, 2, 61, 60, 61, 2, 50], [48, 2, 60, 61, 2, 60, 60, 61, 60, 61, 61, 50], [48, 2, 60, 61, 60, 2, 2, 60, 61, 2, 61, 50], [48, 60, 2, 60, 61, 2, 60, 61, 2, 60, 61, 50], [48, 60, 61, 2, 60, 2, 61, 60, 61, 60, 2, 50], [48, 60, 2, 61, 61, 60, 2, 61, 2, 60, 2, 50], [48, 61, 60, 2, 61, 2, 61, 61, 60, 2, 60, 50], [48, 2, 60, 60, 61, 2, 60, 61, 2, 60, 2, 50], [48, 61, 60, 2, 61, 60, 2, 2, 60, 61, 2, 50], [56, 49, 49, 49, 49, 49, 49, 49, 49, 36, 49, 57]]; var room14 = [[55, 1, 1, 1, 1, 35, 1, 1, 1, 1, 1, 58], [48, 60, 61, 2, 2, 60, 60, 61, 2, 60, 60, 50], [48, 61, 60, 2, 2, 60, 61, 60, 2, 60, 61, 50], [48, 61, 60, 2, 61, 60, 2, 60, 61, 60, 61, 50], [48, 60, 2, 61, 60, 2, 60, 61, 60, 2, 2, 50], [34, 61, 60, 2, 60, 2, 60, 61, 60, 2, 60, 50], [48, 60, 61, 60, 2, 61, 60, 2, 60, 61, 60, 50], [48, 60, 2, 2, 60, 61, 60, 2, 61, 60, 2, 50], [48, 60, 60, 2, 61, 60, 60, 2, 60, 61, 60, 50], [48, 60, 61, 60, 60, 2, 60, 61, 2, 60, 61, 50], [48, 60, 61, 2, 61, 60, 2, 2, 60, 61, 60, 50], [56, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 57]]; var room21 = [[59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59], [59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59], [59, 59, 59, 59, 59, 59, 59, 55, 1, 1, 1, 58], [59, 59, 59, 59, 59, 59, 59, 48, 60, 61, 2, 50], [59, 59, 59, 59, 59, 59, 59, 48, 2, 61, 60, 50], [59, 59, 59, 59, 59, 59, 59, 48, 32, 2, 61, 33], [59, 59, 59, 59, 59, 59, 59, 48, 2, 60, 2, 50], [59, 59, 59, 59, 59, 59, 59, 48, 61, 2, 61, 50], [59, 59, 59, 59, 59, 59, 59, 56, 49, 49, 49, 57], [59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59], [59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59], [59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59]]; var room15 = [[55, 1, 1, 1, 1, 38, 1, 1, 1, 1, 1, 58], [48, 60, 61, 2, 61, 60, 2, 61, 2, 61, 60, 50], [48, 2, 61, 61, 60, 2, 2, 61, 61, 60, 2, 50], [48, 2, 60, 61, 61, 2, 60, 2, 61, 2, 60, 50], [48, 2, 61, 2, 60, 61, 61, 2, 60, 61, 61, 50], [48, 2, 60, 61, 2, 2, 61, 60, 2, 61, 61, 39], [48, 60, 2, 61, 60, 2, 60, 2, 61, 61, 60, 50], [48, 61, 2, 61, 60, 2, 61, 60, 61, 60, 61, 50], [48, 60, 60, 2, 60, 60, 2, 60, 60, 61, 60, 50], [48, 2, 61, 60, 60, 61, 2, 60, 61, 60, 2, 50], [48, 60, 60, 60, 2, 61, 2, 60, 60, 60, 60, 50], [56, 49, 49, 49, 49, 37, 49, 49, 49, 49, 49, 57]]; var room16 = [[59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59], [59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59], [55, 1, 1, 1, 58, 59, 59, 59, 59, 59, 59, 59], [48, 2, 60, 61, 50, 59, 59, 59, 59, 59, 59, 59], [48, 60, 61, 60, 50, 59, 59, 59, 59, 59, 59, 59], [40, 60, 2, 41, 50, 59, 59, 59, 59, 59, 59, 59], [48, 60, 61, 60, 50, 59, 59, 59, 59, 59, 59, 59], [48, 61, 2, 2, 50, 59, 59, 59, 59, 59, 59, 59], [56, 49, 49, 49, 57, 59, 59, 59, 59, 59, 59, 59], [59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59], [59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59], [59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59]]; var room17 = [[55, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 58], [48, 60, 60, 60, 61, 2, 61, 60, 60, 61, 60, 50], [48, 60, 2, 60, 61, 60, 60, 2, 2, 60, 60, 50], [48, 61, 2, 61, 61, 60, 2, 61, 60, 2, 2, 50], [48, 61, 60, 2, 60, 61, 61, 2, 60, 61, 2, 50], [43, 2, 60, 61, 2, 60, 61, 61, 2, 60, 61, 44], [48, 2, 60, 2, 60, 60, 60, 61, 2, 60, 60, 50], [48, 61, 61, 60, 60, 2, 61, 2, 60, 60, 60, 50], [48, 2, 60, 60, 61, 60, 60, 2, 61, 60, 61, 50], [48, 2, 61, 60, 2, 2, 60, 61, 2, 60, 61, 50], [48, 60, 60, 61, 2, 60, 61, 60, 2, 2, 60, 50], [56, 49, 49, 49, 49, 42, 49, 49, 49, 49, 49, 57]]; var room18 = [[55, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 58], [48, 61, 2, 61, 61, 60, 2, 61, 60, 60, 2, 50], [48, 60, 2, 61, 60, 2, 61, 60, 61, 60, 60, 50], [48, 2, 61, 60, 2, 60, 60, 2, 60, 61, 60, 50], [48, 2, 61, 61, 60, 2, 61, 2, 60, 2, 61, 50], [45, 2, 61, 61, 2, 61, 60, 2, 2, 60, 61, 50], [48, 60, 2, 60, 61, 2, 60, 61, 60, 60, 2, 50], [48, 60, 61, 2, 60, 61, 60, 61, 2, 60, 61, 50], [48, 60, 2, 2, 61, 60, 2, 61, 60, 61, 2, 50], [48, 60, 61, 60, 2, 60, 2, 61, 2, 60, 60, 50], [48, 61, 61, 60, 60, 60, 2, 60, 60, 60, 61, 50], [56, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 57]]; var room19 = [[55, 1, 1, 1, 1, 47, 1, 1, 1, 1, 1, 58], [48, 2, 2, 61, 60, 60, 60, 2, 60, 61, 60, 50], [48, 60, 61, 2, 60, 60, 61, 60, 2, 60, 2, 50], [48, 61, 60, 2, 61, 60, 61, 60, 2, 61, 2, 50], [48, 60, 2, 60, 60, 61, 60, 2, 60, 61, 60, 50], [48, 61, 60, 2, 60, 60, 61, 2, 60, 60, 2, 46], [48, 61, 60, 2, 60, 60, 61, 61, 60, 60, 2, 50], [48, 61, 2, 2, 2, 60, 60, 61, 2, 60, 61, 50], [48, 60, 61, 60, 2, 61, 60, 2, 61, 2, 60, 50], [48, 61, 61, 60, 2, 60, 60, 61, 60, 2, 60, 50], [48, 61, 60, 2, 61, 60, 61, 2, 60, 61, 2, 50], [56, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 57]]; var room20 = [[55, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 58], [48, 60, 61, 2, 61, 60, 61, 2, 60, 61, 2, 50], [48, 2, 61, 60, 2, 61, 2, 60, 61, 2, 60, 50], [48, 2, 61, 60, 60, 2, 61, 61, 60, 60, 60, 50], [48, 2, 61, 2, 2, 61, 60, 60, 60, 2, 60, 50], [48, 60, 60, 60, 61, 61, 2, 61, 60, 60, 2, 50], [48, 60, 2, 60, 60, 61, 60, 60, 2, 61, 60, 50], [48, 60, 61, 2, 61, 2, 60, 60, 60, 2, 61, 50], [48, 2, 60, 60, 61, 60, 61, 60, 2, 61, 2, 50], [48, 2, 61, 60, 2, 61, 61, 2, 60, 61, 60, 50], [48, 60, 2, 60, 2, 60, 60, 61, 60, 2, 60, 50], [56, 49, 49, 49, 49, 62, 49, 49, 49, 49, 49, 57]]; var game = {tilew:30, tileh:30, room:1, paused:false, enterKey:false, attackKey:false, song:"song1", showingMessage:false}; var hero = {speed:3, xtile:5, ytile:10, dir:"up", action:"idle", health:5, width:12.5, height:12.5, invinsible:false, attacking:false}; hero.maxhealth = 5; if (so.data.badge > 0) { hero.maxhealth = hero.maxhealth + Math.floor(so.data.badge / 3); } so.data.hero.maxhealth = hero.maxhealth; if (so.data.blamSword) { hero.swordType = "hero2"; hero.attack = 2; } else { hero.swordType = "hero"; hero.attack = 1; } initGame = new Object(); initHero = new Object(); for (i in game) { initGame[i] = game[i]; } for (i in hero) { initHero[i] = hero[i]; } if (_root.newroom != undefined) { game.room = _root.newroom.room; hero.xtile = _root.newroom.xtile; hero.ytile = _root.newroom.ytile; hero.health = _root.newroom.health; } hero.loseHealth = function (oppositedir) { hero.health--; if (hero.health > 0) { hero.clip.hit.play(); hero.initBounce = 0; hero.oppositedir = oppositedir; clearInterval(hero.bounceInterval); hero.bounceInterval = setInterval(bounceBack, 1, hero, hero.oppositedir, 50); hero.initInvinsible = 0; clearInterval(hero.invinsibleInterval); hero.invinsibleInterval = setInterval(setInvinsible, 5, hero, 200); } else { hero.action = "die"; moveObject(0, 0, hero); } }; game.Door = function (newroom, newX, newY) { this.newroom = newroom; this.newX = newX; this.newY = newY; }; game.Door.prototype.frame = 11; game.Door.prototype.walkable = true; game.Door.prototype.type = "y"; game.Door.prototype.door = true; game.Hole = function () { }; game.Hole.prototype.frame = 4; game.Hole.prototype.walkable = true; game.Hole.prototype.hole = true; var keys = new Array(); var inventory = new Array(); inventory[0] = new Array(); game.LockDoor = function (newroom, newX, newY, room, name) { this.newroom = newroom; this.newX = newX; this.newY = newY; if (keys[room] == undefined) { keys[room] = new Array(); } keys[room].push([this, name]); }; game.LockDoor.prototype.frame = 7; game.LockDoor.prototype.walkable = false; game.LockDoor.prototype.type = "y"; game.LockDoor.prototype.door = false; game.LockDoor.prototype.lockdoor = true; var trapdoors = new Array(); game.TrapDoor = function (newroom, newX, newY) { this.newroom = newroom; this.newX = newX; this.newY = newY; }; game.TrapDoor.prototype.frame = 15; game.TrapDoor.prototype.walkable = false; game.TrapDoor.prototype.type = "y"; game.TrapDoor.prototype.door = false; game.TrapDoor.prototype.trapdoor = true; game.OutDoor = function (newarea, newroom, newX, newY) { this.newarea = newarea; this.newroom = newroom; this.newX = newX; this.newY = newY; }; game.OutDoor.prototype.frame = 11; game.OutDoor.prototype.type = "y"; game.OutDoor.prototype.walkable = true; game.OutDoor.prototype.outdoor = true; var chests = new Array(); game.Chest = function (room) { this.room = room; this.name = keys[room][0][1]; }; game.Chest.prototype.chest = true; game.Chest.prototype.walkable = false; game.Chest.prototype.frame = 19; game.Chest.prototype.openChest = false; game.tile0 = function () { }; game.tile0.prototype = new game.Hole(); game.tile1 = function () { }; game.tile1.prototype.frame = 1; game.tile1.prototype.walkable = false; game.tile2 = function () { }; game.tile2.prototype.frame = 5; game.tile2.prototype.walkable = true; game.tile3 = function () { }; game.tile3.prototype = new game.LockDoor(3, 5, 10, 1, "tile_0_5"); game.tile4 = function () { }; game.tile4.prototype = new game.Door(2, 1, 5); game.tile4.prototype.type = "x"; game.tile4.prototype.frame = 14; game.tile5 = function () { }; game.tile5.prototype = new game.Door(1, 10, 5); game.tile5.prototype.type = "x"; game.tile5.prototype.frame = 12; game.tile6 = function () { }; game.tile6.prototype = new game.TrapDoor(1, 5, 1); game.tile6.prototype.frame = 17; game.tile7 = function () { }; game.tile7.prototype = new game.TrapDoor(4, 10, 5); game.tile7.prototype.type = "x"; game.tile7.prototype.frame = 16; game.tile8 = function () { }; game.tile8.prototype = new game.TrapDoor(7, 1, 5); game.tile8.prototype.type = "x"; game.tile8.prototype.frame = 18; game.tile9 = function () { }; game.tile9.prototype = new game.Door(3, 1, 5); game.tile9.prototype.type = "x"; game.tile9.prototype.frame = 14; game.tile10 = function () { }; game.tile10.prototype = new game.Door(5, 5, 10); game.tile11 = function () { }; game.tile11.prototype = new game.Door(6, 5, 1); game.tile11.prototype.frame = 13; game.tile12 = function () { }; game.tile12.prototype = new game.Door(4, 5, 1); game.tile12.prototype.frame = 13; game.tile13 = function () { }; game.tile13.prototype = new game.TrapDoor(4, 5, 10); game.tile14 = function () { }; game.tile14.prototype = new game.Door(3, 10, 5); game.tile14.prototype.type = "x"; game.tile14.prototype.frame = 12; game.tile15 = function () { }; game.tile15.prototype = new game.Door(8, 5, 10); game.tile16 = function () { }; game.tile16.prototype = new game.Door(7, 5, 1); game.tile16.prototype.frame = 13; game.tile17 = function () { }; game.tile17.prototype = new game.LockDoor(9, 10, 5, 8, "tile_5_0"); game.tile17.prototype.type = "x"; game.tile17.prototype.frame = 8; game.tile20 = function () { }; game.tile20.prototype = new game.TrapDoor(10, 1, 5); game.tile20.prototype.type = "x"; game.tile20.prototype.frame = 18; game.tile21 = function () { }; game.tile21.prototype = new game.Door(2, 10, 5); game.tile21.prototype.type = "x"; game.tile21.prototype.frame = 12; game.tile22 = function () { }; game.tile22.prototype = new game.TrapDoor(11, 5, 10); game.tile23 = function () { }; game.tile23.prototype = new game.Door(5, 5, 1); game.tile24 = function () { }; game.tile24.prototype = new game.Door(8, 1, 5); game.tile24.prototype.type = "x"; game.tile24.prototype.frame = 14; game.tile25 = function () { }; game.tile25.prototype = new game.Door(12, 2, 10); game.tile26 = function () { }; game.tile26.prototype = new game.LockDoor(12, 9, 10, 9, "tile_0_9"); game.tile27 = function () { }; game.tile27.prototype = new game.Door(9, 10, 1); game.tile27.prototype.frame = 13; game.tile28 = function () { }; game.tile28.prototype = new game.Door(9, 9, 1); game.tile28.prototype.frame = 13; game.tile29 = function () { }; game.tile29.prototype = new game.Door(21, 10, 5); game.tile29.prototype.type = "x"; game.tile29.prototype.frame = 12; game.tile30 = function () { }; game.tile30.prototype = new game.Door(14, 1, 5); game.tile30.prototype.type = "x"; game.tile30.prototype.frame = 14; game.tile31 = function () { }; game.tile31.prototype = new game.Door(13, 9, 10); game.tile33 = function () { }; game.tile33.prototype = new game.Door(12, 1, 5); game.tile33.prototype.type = "x"; game.tile33.prototype.frame = 14; game.tile34 = function () { }; game.tile34.prototype = new game.TrapDoor(12, 10, 5); game.tile34.prototype.type = "x"; game.tile34.prototype.frame = 16; game.tile35 = function () { }; game.tile35.prototype = new game.TrapDoor(15, 5, 10); game.tile36 = function () { }; game.tile36.prototype = new game.TrapDoor(12, 9, 1); game.tile36.prototype.frame = 17; game.tile37 = function () { }; game.tile37.prototype = new game.Door(14, 5, 1); game.tile37.prototype.frame = 13; game.tile38 = function () { }; game.tile38.prototype = new game.Door(17, 5, 10); game.tile39 = function () { }; game.tile39.prototype = new game.TrapDoor(16, 1, 5); game.tile39.prototype.type = "x"; game.tile39.prototype.frame = 18; game.tile40 = function () { }; game.tile40.prototype = new game.Door(15, 10, 5); game.tile40.prototype.type = "x"; game.tile40.prototype.frame = 12; game.tile42 = function () { }; game.tile42.prototype = new game.Door(15, 5, 1); game.tile42.prototype.frame = 13; game.tile43 = function () { }; game.tile43.prototype = new game.Door(19, 10, 5); game.tile43.prototype.type = "x"; game.tile43.prototype.frame = 12; game.tile44 = function () { }; game.tile44.prototype = new game.Door(18, 1, 5); game.tile44.prototype.type = "x"; game.tile44.prototype.frame = 14; game.tile45 = function () { }; game.tile45.prototype = new game.TrapDoor(17, 10, 5); game.tile45.prototype.type = "x"; game.tile45.prototype.frame = 16; game.tile46 = function () { }; game.tile46.prototype = new game.Door(17, 1, 5); game.tile46.prototype.type = "x"; game.tile46.prototype.frame = 14; game.tile47 = function () { }; game.tile47.prototype = new game.LockDoor(20, 5, 10, 19, "tile_0_5"); game.tile48 = function () { }; game.tile48.prototype.frame = 2; game.tile49 = function () { }; game.tile49.prototype.frame = 3; game.tile50 = function () { }; game.tile50.prototype.frame = 4; game.tile51 = function () { }; game.tile51.prototype.frame = 20; game.tile52 = function () { }; game.tile52.prototype.frame = 21; game.tile53 = function () { }; game.tile53.prototype.frame = 22; game.tile54 = function () { }; game.tile54.prototype.frame = 23; game.tile55 = function () { }; game.tile55.prototype.frame = 24; game.tile56 = function () { }; game.tile56.prototype.frame = 25; game.tile57 = function () { }; game.tile57.prototype.frame = 26; game.tile58 = function () { }; game.tile58.prototype.frame = 27; game.tile59 = function () { }; game.tile59.prototype.frame = 28; game.tile60 = function () { }; game.tile60.prototype.frame = 29; game.tile60.prototype.walkable = true; game.tile61 = function () { }; game.tile61.prototype.frame = 30; game.tile61.prototype.walkable = true; game.tile62 = function () { }; game.tile62.prototype = new game.TrapDoor(19, 5, 1); game.tile62.prototype.frame = 17; game.tile63 = function () { }; game.tile63.prototype = new game.OutDoor("overworld", 2, 5, 7); game.tile63.prototype.type = ""; game.tile63.prototype.frame = 13; game.tile18 = function () { }; game.tile18.prototype = new game.Chest(1); game.tile19 = function () { }; game.tile19.prototype = new game.Chest(8); game.tile32 = function () { }; game.tile32.prototype = new game.Chest(9); game.tile41 = function () { }; game.tile41.prototype = new game.Chest(19); var enemies = [[], [], [[1, 5, 3], [2, 8, 7]], [[2, 5, 3], [2, 8, 7]], [[2, 5, 5]], [[2, 3, 5], [1, 5, 5], [2, 8, 5]], [[1, 3, 5], [2, 7, 7]], [[2, 5, 5]], [[1, 7, 5], [2, 8, 7], [2, 3, 2]], [[2, 3, 7], [1, 7, 7]], [], [], [[2, 3, 1], [2, 7, 7]], [[2, 5, 3], [1, 3, 7], [2, 3, 3], [2, 8, 3]], [[2, 8, 3], [1, 8, 7]], [[2, 3, 3], [2, 3, 7]], [], [[2, 5, 3]], [[1, 5, 3], [1, 8, 7]], [[2, 5, 9], [2, 3, 7]], [[3, 5, 5]]]; game.Enemy = function () { }; game.Enemy.prototype.action = "walk"; game.Enemy.prototype.dir = "down"; game.Enemy.prototype.xdir = 1; game.Enemy.prototype.ydir = 0; game.Enemy.prototype.speed = 2; game.Enemy.prototype.turnchance = 3; game.Enemy.prototype.health = 2; game.Enemy.prototype.width = 12.5; game.Enemy.prototype.height = 12.5; game.enemy1 = function () { }; game.enemy1.prototype = new game.Enemy(); game.enemy1.prototype.health = 3; game.enemy2 = function () { }; game.enemy2.prototype = new game.Enemy(); game.enemy2.prototype.xdir = 0; game.enemy2.prototype.ydir = 1; game.enemy3 = function () { }; game.enemy3.prototype = new game.Enemy(); game.enemy3.prototype.speed = 5; game.enemy3.prototype.health = 5; game.enemy3.prototype.actionOrder = ["move", "move", "move", "attack1", "move", "move", "attack1", "move", "move", "move", "align", "attack1", "attack2", "idle", "move"]; game.enemy3.prototype.currentAction = 0; var d = 1; var enterTooLong = 0; var attackTooLong = 0; Key.removeListener(key); delete key; var key = new Object(); key.onKeyDown = function () { if (hero.action != "die") { if (Key.isDown(83)) { attackTooLong++; if (attackTooLong <= 1) { game.attackKey = true; } else { game.attackKey = false; } } if (Key.isDown(65)) { enterTooLong++; if (enterTooLong <= 1) { game.enterKey = true; openChest = false; i = 0; while (i < chests[game.room].length) { if (chests[game.room][i].openChest) { openChest = true; } i++; } if (levelBeaten) { openChest = true; } object = hero; checkCorners(object.x, object.y - object.speed, object); if ((((object.tileUpLeft == object.tileUpRight) && (object.tileUpLeft.chest)) && (!openChest)) && (object.dir == "up")) { object.tileUpLeft.tile.tile.play(); object.tileUpLeft.openChest = true; inventory[0].push([object.tileUpLeft.room, object.tileUpLeft.name, false, object.tileUpLeft.bluekey]); if (chests[game.room] == undefined) { chests[game.room] = new Array(); } chests[game.room].push(object.tileUpLeft); game.tiles.attachMovie("key", "key", game.tiles.getNextHighestDepth()); game.tiles.key._y = Stage.height - (game.tiles.key._height / 2); game.tiles.key._x = 10; } } else { game.enterKey = false; } } } }; key.onKeyUp = function () { if (Key.getCode() == 83) { game.attackKey = false; attackTooLong = 0; } if (Key.getCode() == 65) { game.enterKey = false; enterTooLong = 0; } }; Key.addListener(key); this.onEnterFrame = function () { checkKeys(); moveEnemy(); checkAttack(); if (game.paused) { stopClips(hero.clip); } }; buildRoom(_root["room" + game.room]);
Frame 44
function buildRoom(room) { visitedObject[("room" + game.room) + "visited"] = true; if (music.song != game.song) { attachMovie(game.song, "music", 10); } _root.createEmptyMovieClip("tiles", 0); tiles.createEmptyMovieClip("back", 0); game.tiles = _root.tiles; game.tiles.setMask(mask_mc); r = 0; while (r < room.length) { c = 0; while (c < room[0].length) { var name = ((("tile_" + r) + "_") + c); game[name] = new game["tile" + room[r][c]](); game[name].depth = (((r * game.tileh) * Stage.height) + (c * game.tilew)) + 1; if (((game[name].walkable || (game[name].lockdoor)) || (game[name].trapdoor)) || (game[name].chest)) { game.tiles.back.attachMovie("tile", name, game[name].depth); game.tiles.back[name]._x = c * game.tilew; game.tiles.back[name]._y = r * game.tileh; game[name].tile = game.tiles.back[name]; game.tiles.back[name].gotoAndStop(game[name].frame); } else { game.tiles.attachMovie("tile", name, game[name].depth); game.tiles[name]._x = c * game.tilew; game.tiles[name]._y = r * game.tileh; game[name].tile = game.tiles[name]; game.tiles[name].gotoAndStop(game[name].frame); } c++; } r++; } hero.x = (game.tilew * hero.xtile) + (game.tilew / 2); hero.y = (game.tileh * hero.ytile) + (game.tileh / 2); hero.initX = hero.xtile; hero.initY = hero.ytile; hero.depth = ((hero.y * 300) + hero.x) + 1; game.tiles.attachMovie(hero.swordType, "theGuy", hero.depth); hero.clip = game.tiles.theGuy; hero.clip._x = hero.x; hero.clip._y = hero.y; hero.clip.gotoAndStop(hero.action + hero.dir); game.tiles.createEmptyMovieClip("enemyCheck", 1E15); game.tiles.enemyCheck.onEnterFrame = function () { opentraps = true; i = 0; while (i < enemies[game.room].length) { name = (("enemy_" + game.room) + "_") + i; if ((("." + game[name].clip) != ".") && (!trapdoors[game.room])) { opentraps = false; } i++; } if (opentraps || (levelBeaten)) { openTraps(); delete this.onEnterFrame; removeMovieClip(this); } }; i = 0; while (i < enemies[game.room].length) { name = (("enemy_" + game.room) + "_") + i; game[name] = new game["enemy" + enemies[game.room][i][0]](); game[name].type = enemies[game.room][i][0]; game[name].xtile = enemies[game.room][i][1]; game[name].ytile = enemies[game.room][i][2]; game[name].x = (game.tilew * game[name].xtile) + (game.tilew / 2); game[name].y = (game.tileh * game[name].ytile) + (game.tileh / 2); game[name].depth = ((game[name].y * 300) + game[name].x) + 1; game.tiles.attachMovie("enemy" + game[name].type, name, game[name].depth); game[name].clip = game.tiles[name]; game[name].clip._x = game[name].x; game[name].clip._y = game[name].y; game[name].clip.gotoAndStop(game[name].action + game[name].dir); game[name].clip.object = game[name]; if (game[name].type != 4) { game[name].clip.onEnterFrame = function () { if (((this.hitTest(hero.clip.hitbox) && (!this.hitTest(hero.clip.hero.sword))) && (!hero.invinsible)) && (this.object.action != "die")) { hero.loseHealth(this.object.dir); } else if (this.hitTest(hero.clip.hero.sword) && (!this.object.invinsible)) { this.object.health = this.object.health - hero.attack; if (this.object.health > 0) { this.object.initBounce = 0; this.object.oppositedir = hero.dir; this.object.bounceInterval = setInterval(bounceBack, 5, this.object, this.object.oppositedir, 50); this.object.initInvinsible = 0; this.object.invinsibleInterval = setInterval(setInvinsible, 2, this.object, 200); } else { this.object.action = "die"; moveObject(0, 0, this.object); } } }; } else if (levelBeaten) { removeMovieClip(game[name].clip); delete game[name]; } else { showBossMessage("\"Me\"", "~Guardian of the Flash Portal~"); attachMovie("song2", "music", 10); pause_mc.name_txt.text = "DISABLED"; delete pause_mc.onRelease; } i++; } if (levelBeaten) { openLocks(); openChests(); } i = 0; while (i < inventory[0].length) { room = inventory[0][i][0]; name = inventory[0][i][1]; unlocked = inventory[0][i][2]; bluekey = inventory[0][i][3]; if ((room == game.room) && (unlocked)) { game[name].walkable = true; game[name].door = true; frame = game.tiles.back[name].tile._totalframes; game.tiles.back[name].tile.gotoAndStop(frame); } if (!unlocked) { if (bluekey) { game.tiles.attachMovie("bluekey", "key", game.tiles.getNextHighestDepth()); } else { game.tiles.attachMovie("key", "key", game.tiles.getNextHighestDepth()); } game.tiles.key._y = Stage.height - (game.tiles.key._height / 2); game.tiles.key._x = 10; } i++; } i = 0; while (i < chests[game.room].length) { chests[game.room][i].tile.tile.gotoAndStop(chests[game.room][i].tile.tile._totalframes); chests[game.room][i].openChest = true; i++; } game.tiles.createEmptyMovieClip("hud", 100000); game.tiles.hud._x = 390; game.tiles.hud._y = 5; i = 0; while (i < hero.maxhealth) { game.tiles.hud.attachMovie("heart", "heart" + i, i); game.tiles.hud["heart" + i]._x = i * 20; if (i >= 5) { game.tiles.hud["heart" + i]._x = (i - 5) * 20; game.tiles.hud["heart" + i]._y = 20; } i++; } game.tiles.hud.onEnterFrame = function () { i = 0; while (i < hero.maxhealth) { if (hero.health > i) { this["heart" + i].gotoAndStop("full"); } else { this["heart" + i].gotoAndStop("empty"); } i++; } }; } function checkKeys() { if ((hero.action != "attack") && (hero.action != "die")) { hero.action = "idle"; left = Key.isDown(37); right = Key.isDown(39); up = Key.isDown(38); down = Key.isDown(40); if (left && (!right)) { moveObject(-1, 0, hero); } if (right && (!left)) { moveObject(1, 0, hero); } if (up && (!down)) { moveObject(0, -1, hero); } if (down && (!up)) { moveObject(0, 1, hero); } } hero.clip.gotoAndStop(hero.action + hero.dir); } function moveObject(xdir, ydir, object) { if (!object.clip.spinning) { speed = object.speed; } else { speed = object.spinspeed; } if (object.action == "barge") { speed = object.bargespeed; } if (!game.paused) { if (object.action != "die") { left = Key.isDown(37); right = Key.isDown(39); up = Key.isDown(38); down = Key.isDown(40); checkCorners(object.x + (speed * xdir), object.y, object); if (xdir == -1) { if (object.upleft && (object.downleft)) { object.x = object.x + (speed * xdir); } else if (object.upleft || (object.tileUpLeft.lockdoor)) { object.y--; } else if (object.downleft || (object.tileDownLeft.lockdoor)) { object.y++; } else { object.x = (object.xtile * game.tilew) + object.width; } if ((object.action != "spin") && (object.action != "barge")) { object.action = "walk"; } if ((!up) && (!down)) { object.dir = "left"; } if (((object.tileUpLeft == object.tileDownLeft) && (object.tileUpLeft.lockdoor)) && (object == hero)) { i = 0; while (i < inventory[0].length) { room = inventory[0][i][0]; tile = game[inventory[0][i][1]]; unlocked = inventory[0][i][2]; if (((tile == object.tileUpLeft) && (!unlocked)) && (room == game.room)) { unlockDoor(tile); inventory[0][i][2] = true; } i++; } } } if (xdir == 1) { if (object.upright && (object.downright)) { object.x = object.x + (speed * xdir); } else if (object.upright || (object.tileUpRight.lockdoor)) { object.y--; } else if (object.downright || (object.tileDownRight.lockdoor)) { object.y++; } else { object.x = (((object.xtile + 1) * game.tilew) - object.width) - 1; } if ((object.action != "spin") && (object.action != "barge")) { object.action = "walk"; } if ((!up) && (!down)) { object.dir = "right"; } if (((object.tileUpRight == object.tileDownRight) && (object.tileUpRight.lockdoor)) && (object == hero)) { i = 0; while (i < inventory[0].length) { room = inventory[0][i][0]; tile = game[inventory[0][i][1]]; unlocked = inventory[0][i][2]; if (((tile == object.tileUpLeft) && (!unlocked)) && (room == game.room)) { unlockDoor(tile); inventory[0][i][2] = true; } i++; } } } checkCorners(object.x, object.y + (speed * ydir), object); if (ydir == -1) { if (object.upleft && (object.upright)) { object.y = object.y + (speed * ydir); } else if (object.upleft || (object.tileUpLeft.lockdoor)) { object.x--; } else if (object.upright || (object.tileUpRight.lockdoor)) { object.x++; } else { object.y = (object.ytile * game.tileh) + object.height; } if ((object.action != "spin") && (object.action != "barge")) { object.action = "walk"; } object.dir = "up"; if (((object.tileUpLeft == object.tileUpRight) && (object.tileUpLeft.lockdoor)) && (object == hero)) { i = 0; while (i < inventory[0].length) { room = inventory[0][i][0]; tile = game[inventory[0][i][1]]; unlocked = inventory[0][i][2]; if (((tile == object.tileUpLeft) && (!unlocked)) && (room == game.room)) { unlockDoor(tile); inventory[0][i][2] = true; } i++; } } } if (ydir == 1) { if (object.downleft && (object.downright)) { object.y = object.y + (speed * ydir); } else if (object.downleft || (object.tileDownLeft.lockdoor)) { object.x--; } else if (object.downright || (object.tileDownRight.lockdoor)) { object.x++; } else { object.y = (((object.ytile + 1) * game.tileh) - object.height) - 1; } if ((object.action != "spin") && (object.action != "barge")) { object.action = "walk"; } object.dir = "down"; if (((object.tileDownLeft == object.tileDownRight) && (object.tileDownLeft.lockdoor)) && (object == hero)) { i = 0; while (i < inventory[0].length) { room = inventory[0][i][0]; tile = game[inventory[0][i][1]]; unlocked = inventory[0][i][2]; if (((tile == object.tileUpLeft) && (!unlocked)) && (room == game.room)) { unlockDoor(tile); inventory[0][i][2] = true; } i++; } } } object.xtile = Math.floor(object.x / game.tilew); object.ytile = Math.floor(object.y / game.tileh); object.clip._x = object.x; object.clip._y = object.y; } if ((object.action != "spin") && (object.action != "barge")) { object.clip.gotoAndStop(object.action + object.dir); } else if (object.action == "barge") { if (getDistance(object.clip, hero.clip).xdist > 0) { object.clip.gotoAndStop(object.action + "right"); } else { object.clip.gotoAndStop(object.action + "left"); } } else { object.clip.gotoAndStop(object.action); } if ((object == hero) && (game[(("tile_" + object.ytile) + "_") + object.xtile].door)) { changeMap(); } if ((object == hero) && (game[(("tile_" + object.ytile) + "_") + object.xtile].outdoor)) { changeArea(); } object.depth = ((object.y * 300) + object.x) + 1; object.clip.swapDepths(object.depth); return(true); } } function checkCorners(x, y, object) { object.leftX = Math.floor((x - object.width) / game.tilew); object.rightX = Math.floor((x + object.width) / game.tilew); object.upY = Math.floor((y - object.height) / game.tileh); object.downY = Math.floor((y + object.height) / game.tileh); object.tileUpLeft = game[(("tile_" + object.upY) + "_") + object.leftX]; object.tileUpRight = game[(("tile_" + object.upY) + "_") + object.rightX]; object.tileDownLeft = game[(("tile_" + object.downY) + "_") + object.leftX]; object.tileDownRight = game[(("tile_" + object.downY) + "_") + object.rightX]; object.upleft = game[(("tile_" + object.upY) + "_") + object.leftX].walkable; object.upright = game[(("tile_" + object.upY) + "_") + object.rightX].walkable; object.downleft = game[(("tile_" + object.downY) + "_") + object.leftX].walkable; object.downright = game[(("tile_" + object.downY) + "_") + object.rightX].walkable; } function moveEnemy() { i = 0; while (i < enemies[game.room].length) { var _local2 = (("enemy_" + game.room) + "_") + i; var _local1 = game[_local2]; if (!_local1.clip.spinning) { speed = _local1.speed; } else { speed = _local1.spinspeed; } if (!game.paused) { playClips(_local1.clip); checkCorners(_local1.x + (speed * _local1.xdir), _local1.y + (speed * _local1.ydir), _local1); switch (_local1.type) { case 1 : if ((getDistance(_local1.clip, hero.clip).totaldist > 100) || (_local1.clip.hitTest(hero.clip.hitbox))) { if (((_local1.upleft && (_local1.upright)) && (_local1.downleft)) && (_local1.downright)) { moveObject(_local1.xdir, _local1.ydir, _local1); } else { var _local3 = Math.floor((Math.random() * 4) + 1); switch (_local3) { case 1 : _local1.xdir = -1; _local1.ydir = 0; break; case 2 : _local1.xdir = 1; _local1.ydir = 0; break; case 3 : _local1.xdir = 0; _local1.ydir = -1; break; case 4 : _local1.xdir = 0; _local1.ydir = 1; } } } else { distance = getDistance(_local1.clip, hero.clip); if (Math.abs(distance.xdist) > 10) { if (distance.xdist < 0) { _local1.xdir = 1; _local1.ydir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.xdir = -1; _local1.ydir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } } else if (distance.ydist < 0) { _local1.ydir = 1; _local1.xdir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.ydir = -1; _local1.xdir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } } break; case 2 : if ((getDistance(_local1.clip, hero.clip).totaldist > 100) || (_local1.clip.hitTest(hero.clip.hitbox))) { var _local3 = Math.random() * 100; if ((((_local1.upleft && (_local1.upright)) && (_local1.downleft)) && (_local1.downright)) && (_local3 > _local1.turnchance)) { moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local3 = Math.floor((Math.random() * 4) + 1); switch (_local3) { case 1 : _local1.xdir = -1; _local1.ydir = 0; break; case 2 : _local1.xdir = 1; _local1.ydir = 0; break; case 3 : _local1.xdir = 0; _local1.ydir = -1; break; case 4 : _local1.xdir = 0; _local1.ydir = 1; } } } else { distance = getDistance(_local1.clip, hero.clip); if (Math.abs(distance.xdist) > 10) { if (distance.xdist < 0) { _local1.xdir = 1; _local1.ydir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.xdir = -1; _local1.ydir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } } else if (distance.ydist < 0) { _local1.ydir = 1; _local1.xdir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.ydir = -1; _local1.xdir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } } break; case 4 : if (_local1.health > 0) { _local1.invinsible = true; if (_local1.currentAction > _local1.actionOrder.length) { _local1.currentAction = 0; } switch (_local1.actionOrder[Math.floor(_local1.currentAction)]) { case "move" : _local1.hit = false; if (_local1.movementDirection == undefined) { if ((_local1.xtile == 5) && (Math.floor(Math.random() * 2) == 0)) { moveRight = 1; } else { moveRight = 0; } if ((_local1.xtile < 5) || (moveRight == 1)) { if (_local1.ytile <= 5) { if (Math.floor(Math.random() * 2) == 0) { _local1.movementDirection = "right"; } else { _local1.movementDirection = "down"; } } else if (Math.floor(Math.random() * 2) == 0) { _local1.movementDirection = "right"; } else { _local1.movementDirection = "up"; } } else if (_local1.ytile <= 5) { if (Math.floor(Math.random() * 2) == 0) { _local1.movementDirection = "left"; } else { _local1.movementDirection = "down"; } } else if (Math.floor(Math.random() * 2) == 0) { _local1.movementDirection = "left"; } else { _local1.movementDirection = "up"; } } if (_local1.action != "barge") { switch (_local1.movementDirection) { case "left" : moveObject(-1, 0, _local1); break; case "right" : moveObject(1, 0, _local1); break; case "up" : moveObject(0, -1, _local1); break; case "down" : moveObject(0, 1, _local1); } } if (Math.floor(_local1.currentAction + 0.05) > Math.floor(_local1.currentAction)) { delete _local1.movementDirection; } _local1.currentAction = _local1.currentAction + 0.05; dist = getDistance(_local1.clip, hero.clip); if (((dist.totaldist < 100) && (Math.abs(dist.ydist) < 10)) && (!hero.invinsible)) { _local1.action = "barge"; if (dist.xdist > 0) { moveObject(-1, 0, _local1); } else { moveObject(1, 0, _local1); } } else { _local1.action = "walk"; } if (_local1.clip.hitbox.hitTest(hero.clip.hitbox) && (!hero.invinsible)) { hero.loseHealth(_local1.dir); } break; case "spin" : _local1.hit = false; _local1.action = "spin"; if ((((!_local1.upleft) && (!_local1.downleft)) && (_local1.xdir == -1)) || (((!_local1.upright) && (!_local1.downright)) && (_local1.xdir == 1))) { _local1.xdir = _local1.xdir * -1; } if ((((!_local1.upleft) && (!_local1.upright)) && (_local1.ydir == -1)) || (((!_local1.downleft) && (!_local1.downright)) && (_local1.ydir == 1))) { _local1.ydir = _local1.ydir * -1; } if (_local1.clip.spinning) { moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.clip.gotoAndStop("spin"); } if (_local1.clip.hitbox.hitTest(hero.clip.hitbox) && (!hero.invinsible)) { hero.loseHealth(_local1.dir); } _local1.currentAction = _local1.currentAction + 0.0025; break; case "dizzy" : _local1.invinsible = false; _local1.currentAction = _local1.currentAction + 0.0075; if (_local1.clip.hitTest(hero.clip.hero.sword) && (!_local1.hit)) { _local1.hit = true; _local1.health = _local1.health - hero.attack; if (_local1.health > 0) { _local1.initInvinsible = 0; _local1.invinsibleInterval = setInterval(setInvinsible, 5, _local1, 200); } } _local1.action = "dizzy"; _local1.dir = "down"; _local1.clip.gotoAndStop(_local1.action); } } else { _local1.clip.gotoAndStop("die"); } break; default : if (((_local1.upleft && (_local1.upright)) && (_local1.downleft)) && (_local1.downright)) { moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.xdir = _local1.xdir * -1; _local1.ydir = _local1.ydir * -1; } } } else { stopClips(_local1.clip); } i++; } } function checkAttack() { if ((game.attackKey && (hero.action != "attack")) && (!game.paused)) { hero.action = "attack"; } } function changeMap(sameRoom, notile) { if (sameRoom == undefined) { var _local2 = (("tile_" + hero.ytile) + "_") + hero.xtile; if (game[_local2].type == "x") { hero.xtile = game[_local2].newX; } else if (game[_local2].type == "y") { hero.ytile = game[_local2].newY; } else { hero.xtile = game[_local2].newX; hero.ytile = game[_local2].newY; } hero.x = (hero.xtile * game.tilew) + hero.width; hero.y = (((hero.ytile + 1) * game.tileh) - object.height) - 1; hero.clip._x = hero.x; hero.clip._y = hero.y; } d = 0; removeMovieClip(game.tiles); if (sameRoom == undefined) { game.room = game[_local2].newroom; } buildRoom(_root["room" + game.room]); if (sameRoom == undefined) { } } function resetArea() { for (i in initHero) { hero[i] = initHero[i]; } hero.x = (hero.xtile * game.tilew) + hero.width; hero.y = (((hero.ytile + 1) * game.tileh) - object.height) - 1; hero.clip._x = hero.x; hero.clip._y = hero.y; removeMovieClip(game.tiles); game.room = initGame.room; buildRoom(_root["room" + game.room]); } function changeArea(notile) { if (notile == undefined) { var _local2 = (("tile_" + hero.ytile) + "_") + hero.xtile; if (game[_local2].type == "x") { hero.xtile = game[_local2].newX; } else if (game[_local2].type == "y") { hero.ytile = game[_local2].newY; } else { hero.xtile = game[_local2].newX; hero.ytile = game[_local2].newY; } hero.x = (hero.xtile * game.tilew) + hero.width; hero.y = (((hero.ytile + 1) * game.tileh) - object.height) - 1; hero.clip._x = hero.x; hero.clip._y = hero.y; d = 0; removeMovieClip(game.tiles); _root.newroom = {room:game[_local2].newroom, xtile:hero.xtile, ytile:hero.ytile, health:hero.health}; gotoAndStop(game[_local2].newarea); } else { hero.xtile = notile.newX; hero.ytile = notile.newY; hero.x = (hero.xtile * game.tilew) + hero.width; hero.y = (((hero.ytile + 1) * game.tileh) - object.height) - 1; hero.clip._x = hero.x; hero.clip._y = hero.y; d = 0; removeMovieClip(game.tiles); if (notile.health == undefined) { health = hero.health; } else { health = notile.health; } _root.newroom = {room:notile.newroom, xtile:hero.xtile, ytile:hero.ytile, health:health}; gotoAndStop(notile.newarea); } } function fall(object) { object.xtile = object.initX; object.ytile = object.initY; object.x = (object.xtile * game.tilew) + (game.tilew / 2); object.y = (object.ytile * game.tileh) + (game.tileh / 2); object.clip._x = object.x; object.clip._y = object.y; } function showMessage(txt) { game.showingMessage = true; attachMovie("message", "msg", this.getNextHighestDepth()); msg.text_txt.text = ""; msg._y = Stage.height - msg._height; msg.txt = txt; msg.continue_mc._visible = false; msg.onEnterFrame = function () { enterTooLong = 0; if (game.enterKey) { msg.text_txt.text = msg.txt; msg.onEnterFrame = function () { if (game.enterKey) { game.paused = false; game.showingMessage = false; removeMovieClip(msg); } }; game.enterKey = false; msg.continue_mc._visible = true; sound.attachSound("beep2"); sound.start(); clearInterval(showMessageInterval); } }; _root.letterNumber = 0; game.paused = true; var sound = new Sound(); showMessageInterval = setInterval(showLetter, 10, msg, sound); } function showLetter(msg, sound) { sound.attachSound("beep1"); sound.start(); txtArray = msg.txt.split(""); msg.text_txt.text = msg.text_txt.text + txtArray[_root.letterNumber]; if ((_root.letterNumber + 1) < txtArray.length) { _root.letterNumber++; } else { msg.onEnterFrame = function () { if (game.enterKey) { game.paused = false; game.showingMessage = false; removeMovieClip(msg); } }; game.enterKey = false; msg.continue_mc._visible = true; sound.attachSound("beep2"); sound.start(); clearInterval(showMessageInterval); } } function showBossMessage(name, desc) { game.paused = true; attachMovie("messageBoss", "bossMsg", this.getNextHighestDepth()); bossMsg._x = Stage.height / 2; bossMsg._y = Stage.height / 2; bossMsg.txt_mc.name_txt.text = name; bossMsg.txt_mc.desc_txt.text = desc; bossMsg.onEnterFrame = function () { if (this._currentframe == this._totalframes) { game.paused = false; removeMovieClip(this); } }; } function bounceBack(object, dir, max) { if (!game.paused) { if (object.oppositedir == "left") { moveObject(-1, 0, object); } else if (object.oppositedir == "right") { moveObject(1, 0, object); } else if (object.oppositedir == "up") { moveObject(0, -1, object); } else if (object.oppositedir == "down") { moveObject(0, 1, object); } object.initBounce++; if (object.initBounce == max) { clearInterval(object.bounceInterval); } } } function setInvinsible(object, max) { if (!game.paused) { object.invinsible = true; object.clip._alpha = 50; object.initInvinsible++; if (object.initInvinsible == max) { object.invinsible = false; object.clip._alpha = 100; clearInterval(object.invinsibleInterval); } } } function unlockDoor(tile) { tile.walkable = true; tile.door = true; tile.tile.tile.play(); removeMovieClip(game.tiles.key); } function openTraps() { room = _root["room" + game.room]; trapdoors[game.room] = true; r = 0; while (r < room.length) { c = 0; while (c < room[0].length) { var _local2 = (("tile_" + r) + "_") + c; if (game[_local2].trapdoor) { game[_local2].walkable = true; game[_local2].door = true; game.tiles.back[_local2].tile.play(); } c++; } r++; } } function openLocks() { room = _root["room" + game.room]; r = 0; while (r < room.length) { c = 0; while (c < room[0].length) { var _local2 = (("tile_" + r) + "_") + c; if (game[_local2].lockdoor) { game[_local2].walkable = true; game[_local2].door = true; game.tiles.back[_local2].tile.gotoAndStop(game.tiles.back[_local2].tile._totalframes); } c++; } r++; } } function openChests() { room = _root["room" + game.room]; r = 0; while (r < room.length) { c = 0; while (c < room[0].length) { var _local2 = (("tile_" + r) + "_") + c; if (game[_local2].chest) { game[_local2].openChest = true; game.tiles.back[_local2].tile.gotoAndStop(game.tiles.back[_local2].tile._totalframes); } c++; } r++; } } function getDistance(object1, object2) { xdist = object1._x - object2._x; ydist = object1._y - object2._y; totaldist = Math.sqrt((xdist * xdist) + (ydist * ydist)); return({xdist:xdist, ydist:ydist, totaldist:totaldist}); } function stopClips(object) { for (name in object) { if (typeof(object[name]) == "movieclip") { stopAllClips(object[name]); } } } function stopAllClips(object) { object.stop(); object.stoppedByFunction = true; for (name in object) { if (typeof(object[name]) == "movieclip") { stopAllClips(object[name]); } } } function playClips(object) { for (name in object) { if (typeof(object[name]) == "movieclip") { playAllClips(object[name]); } } } function playAllClips(object) { if (object.stoppedByFunction) { object.play(); } for (name in object) { if (typeof(object[name]) == "movieclip") { playAllClips(object[name]); } } } stop(); if (level2rooms == undefined) { var level2rooms = new Object(); i = 1; while (i <= 22) { level2rooms[("room" + i) + "visited"] = false; i++; } } visitedObject = level2rooms; pause_mc.name_txt.text = "Pause/Map"; pause_mc.onRelease = function () { if (!game.paused) { game.paused = true; game.tiles.attachMovie("map_d2", "map", game.tiles.getNextHighestDepth()); game.tiles.map._x = Stage.height / 2; game.tiles.map._y = Stage.height / 2; for (mc in game.tiles.map) { if ((typeof(game.tiles.map[mc]) == "movieclip") && (game.tiles.map[mc] != game.tiles.map["room" + game.room])) { if (visitedObject[mc + "visited"]) { game.tiles.map[mc].stop(); } else { game.tiles.map[mc].gotoAndStop(61); } } } } else { game.paused = false; game.tiles.map["room" + game.room].gotoAndStop(1); removeMovieClip(game.tiles.map); } }; music_mc.name_txt.text = "Music On/Off"; music_mc.onRelease = function () { if (music.music.getVolume() == 100) { music.music.setVolume(0); } else { music.music.setVolume(100); } }; quit_mc.name_txt.text = "Quit"; quit_mc.onRelease = function () { removeMovieClip(game.tiles); delete _root.newroom; gotoAndPlay ("menu"); }; var levelBeaten = so.data.level2beaten; if (levelBeaten) { i = 1; while (i <= 22) { visitedObject[("room" + i) + "visited"] = true; i++; } } var room1 = [[5, 1, 1, 1, 1, 13, 1, 1, 1, 1, 1, 8], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [12, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 14], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [6, 3, 3, 3, 3, 61, 3, 3, 3, 3, 3, 7]]; var room2 = [[5, 1, 1, 1, 1, 15, 1, 1, 1, 1, 1, 8], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [6, 3, 3, 3, 3, 16, 3, 3, 3, 3, 3, 7]]; var room3 = [[18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18], [18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18], [18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18], [18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18], [18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18], [18, 18, 18, 5, 1, 1, 1, 8, 18, 18, 18, 18], [18, 18, 18, 2, 10, 11, 9, 4, 18, 18, 18, 18], [18, 18, 18, 2, 9, 55, 10, 4, 18, 18, 18, 18], [18, 18, 18, 2, 10, 10, 11, 4, 18, 18, 18, 18], [18, 18, 18, 2, 9, 11, 10, 4, 18, 18, 18, 18], [18, 18, 18, 2, 11, 11, 9, 4, 18, 18, 18, 18], [18, 18, 18, 6, 3, 17, 3, 7, 18, 18, 18, 18]]; var room4 = [[5, 1, 1, 1, 1, 19, 1, 1, 1, 1, 1, 8], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 20], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7]]; var room5 = [[5, 1, 1, 1, 1, 21, 1, 1, 1, 1, 1, 8], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [6, 3, 3, 3, 3, 22, 3, 3, 3, 3, 3, 7]]; var room6 = [[5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 56, 9, 11, 11, 9, 11, 4], [23, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 4], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [6, 3, 3, 3, 3, 24, 3, 3, 3, 3, 3, 7]]; var room7 = [[5, 1, 1, 1, 1, 25, 1, 1, 1, 1, 1, 8], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 26], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7]]; var room8 = [[5, 1, 1, 1, 1, 27, 1, 1, 1, 1, 1, 8], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [6, 3, 3, 3, 3, 28, 3, 3, 3, 3, 3, 7]]; var room9 = [[5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 58, 9, 11, 11, 9, 11, 4], [2, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 30], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [6, 3, 3, 3, 3, 29, 3, 3, 3, 3, 3, 7]]; var room10 = [[5, 1, 1, 1, 1, 32, 1, 1, 1, 1, 1, 8], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [31, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7]]; var room11 = [[18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18], [18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18], [18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18], [18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18], [18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18], [18, 18, 18, 5, 1, 1, 1, 8, 18, 18, 18, 18], [18, 18, 18, 2, 10, 11, 9, 4, 18, 18, 18, 18], [18, 18, 18, 2, 9, 60, 10, 4, 18, 18, 18, 18], [18, 18, 18, 2, 10, 10, 11, 4, 18, 18, 18, 18], [18, 18, 18, 2, 9, 11, 10, 4, 18, 18, 18, 18], [18, 18, 18, 2, 11, 11, 9, 4, 18, 18, 18, 18], [18, 18, 18, 6, 3, 33, 3, 7, 18, 18, 18, 18]]; var room12 = [[5, 1, 1, 1, 1, 35, 1, 1, 1, 1, 1, 8], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [34, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7]]; var room13 = [[5, 1, 1, 1, 1, 36, 1, 1, 1, 1, 1, 8], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [6, 3, 3, 3, 3, 37, 3, 3, 3, 3, 3, 7]]; var room14 = [[5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 57, 9, 11, 11, 9, 11, 4], [2, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 39], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [6, 3, 3, 3, 3, 38, 3, 3, 3, 3, 3, 7]]; var room15 = [[5, 1, 1, 1, 1, 41, 1, 1, 1, 1, 1, 8], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [40, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7]]; var room16 = [[5, 1, 1, 1, 1, 42, 1, 1, 1, 1, 1, 8], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [6, 3, 3, 3, 3, 43, 3, 3, 3, 3, 3, 7]]; var room17 = [[5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 59, 9, 11, 11, 9, 11, 4], [44, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 4], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [6, 3, 3, 3, 3, 45, 3, 3, 3, 3, 3, 7]]; var room18 = [[5, 1, 1, 1, 1, 46, 1, 1, 1, 1, 1, 8], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 47], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7]]; var room19 = [[5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [48, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [6, 3, 3, 3, 3, 49, 3, 3, 3, 3, 3, 7]]; var room20 = [[5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 51], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [6, 3, 3, 3, 3, 50, 3, 3, 3, 3, 3, 7]]; var room21 = [[5, 1, 1, 1, 1, 52, 1, 1, 1, 1, 1, 8], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [6, 3, 3, 3, 3, 53, 3, 3, 3, 3, 3, 7]]; var room22 = [[5, 1, 1, 1, 1, 54, 1, 1, 1, 1, 1, 8], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7]]; var game = {tilew:30, tileh:30, room:1, paused:false, enterKey:false, attackKey:false, song:"song1", showingMessage:false}; var hero = {speed:3, xtile:5, ytile:10, dir:"up", action:"idle", health:5, width:12.5, height:12.5, invinsible:false, attacking:false}; hero.maxhealth = 5; if (so.data.badge > 0) { hero.maxhealth = hero.maxhealth + Math.floor(so.data.badge / 3); } so.data.hero.maxhealth = hero.maxhealth; if (so.data.blamSword) { hero.swordType = "hero2"; hero.attack = 2; } else { hero.swordType = "hero"; hero.attack = 1; } initGame = new Object(); initHero = new Object(); for (i in game) { initGame[i] = game[i]; } for (i in hero) { initHero[i] = hero[i]; } if (_root.newroom != undefined) { game.room = _root.newroom.room; hero.xtile = _root.newroom.xtile; hero.ytile = _root.newroom.ytile; hero.health = _root.newroom.health; } hero.loseHealth = function (oppositedir) { hero.health--; if (hero.health > 0) { hero.clip.hit.play(); hero.initBounce = 0; hero.oppositedir = oppositedir; clearInterval(hero.bounceInterval); hero.bounceInterval = setInterval(bounceBack, 1, hero, hero.oppositedir, 50); hero.initInvinsible = 0; clearInterval(hero.invinsibleInterval); hero.invinsibleInterval = setInterval(setInvinsible, 5, hero, 200); } else { hero.action = "die"; moveObject(0, 0, hero); } }; game.Door = function (newroom, newX, newY) { this.newroom = newroom; this.newX = newX; this.newY = newY; }; game.Door.prototype.frame = 11; game.Door.prototype.walkable = true; game.Door.prototype.type = "y"; game.Door.prototype.door = true; game.Hole = function () { }; game.Hole.prototype.frame = 4; game.Hole.prototype.walkable = true; game.Hole.prototype.hole = true; var keys = new Array(); var inventory = new Array(); inventory[0] = new Array(); game.LockDoor = function (newroom, newX, newY, room, name) { this.newroom = newroom; this.newX = newX; this.newY = newY; if (keys[room] == undefined) { keys[room] = new Array(); } keys[room].push([this, name]); }; game.LockDoor.prototype.frame = 7; game.LockDoor.prototype.walkable = false; game.LockDoor.prototype.type = "y"; game.LockDoor.prototype.door = false; game.LockDoor.prototype.lockdoor = true; var trapdoors = new Array(); game.TrapDoor = function (newroom, newX, newY) { this.newroom = newroom; this.newX = newX; this.newY = newY; }; game.TrapDoor.prototype.frame = 15; game.TrapDoor.prototype.walkable = false; game.TrapDoor.prototype.type = "y"; game.TrapDoor.prototype.door = false; game.TrapDoor.prototype.trapdoor = true; game.OutDoor = function (newarea, newroom, newX, newY) { this.newarea = newarea; this.newroom = newroom; this.newX = newX; this.newY = newY; _root.heroHealth = hero.health; }; game.OutDoor.prototype.frame = 11; game.OutDoor.prototype.type = "y"; game.OutDoor.prototype.walkable = true; game.OutDoor.prototype.outdoor = true; var chests = new Array(); game.Chest = function (room) { this.room = room; this.name = keys[room][0][1]; }; game.Chest.prototype.chest = true; game.Chest.prototype.walkable = false; game.Chest.prototype.frame = 19; game.Chest.prototype.openChest = false; game.tile0 = function () { }; game.tile0.prototype = new game.Hole(); game.tile1 = function () { }; game.tile1.prototype.frame = 1; game.tile2 = function () { }; game.tile2.prototype.frame = 2; game.tile3 = function () { }; game.tile3.prototype.frame = 3; game.tile4 = function () { }; game.tile4.prototype.frame = 4; game.tile5 = function () { }; game.tile5.prototype.frame = 24; game.tile6 = function () { }; game.tile6.prototype.frame = 25; game.tile7 = function () { }; game.tile7.prototype.frame = 26; game.tile8 = function () { }; game.tile8.prototype.frame = 27; game.tile9 = function () { }; game.tile9.prototype.frame = 5; game.tile9.prototype.walkable = true; game.tile10 = function () { }; game.tile10.prototype.frame = 29; game.tile10.prototype.walkable = true; game.tile11 = function () { }; game.tile11.prototype.frame = 30; game.tile11.prototype.walkable = true; game.tile12 = function () { }; game.tile12.prototype = new game.Door(4, 10, 5); game.tile12.prototype.type = "x"; game.tile12.prototype.frame = 12; game.tile13 = function () { }; game.tile13.prototype = new game.Door(2, 5, 10); game.tile14 = function () { }; game.tile14.prototype = new game.Door(12, 1, 5); game.tile14.prototype.type = "x"; game.tile14.prototype.frame = 14; game.tile15 = function () { }; game.tile15.prototype = new game.TrapDoor(3, 5, 10); game.tile16 = function () { }; game.tile16.prototype = new game.TrapDoor(1, 5, 1); game.tile16.prototype.frame = 17; game.tile17 = function () { }; game.tile17.prototype = new game.Door(2, 5, 1); game.tile17.prototype.frame = 13; game.tile18 = function () { }; game.tile18.prototype.frame = 28; game.tile19 = function () { }; game.tile19.prototype = new game.LockDoor(5, 5, 10, 4, "tile_0_5"); game.tile20 = function () { }; game.tile20.prototype = new game.Door(1, 1, 5); game.tile20.prototype.type = "x"; game.tile20.prototype.frame = 14; game.tile21 = function () { }; game.tile21.prototype = new game.TrapDoor(6, 5, 10); game.tile22 = function () { }; game.tile22.prototype = new game.TrapDoor(4, 5, 1); game.tile22.prototype.frame = 17; game.tile23 = function () { }; game.tile23.prototype = new game.Door(7, 10, 5); game.tile23.prototype.frame = 12; game.tile23.prototype.type = "x"; game.tile24 = function () { }; game.tile24.prototype = new game.Door(5, 5, 1); game.tile24.prototype.frame = 13; game.tile25 = function () { }; game.tile25.prototype = new game.LockDoor(8, 5, 10, 7, "tile_0_5"); game.tile26 = function () { }; game.tile26.prototype = new game.Door(6, 1, 5); game.tile26.prototype.type = "x"; game.tile26.prototype.frame = 14; game.tile27 = function () { }; game.tile27.prototype = new game.TrapDoor(9, 5, 10); game.tile28 = function () { }; game.tile28.prototype = new game.TrapDoor(7, 5, 1); game.tile28.prototype.frame = 13; game.tile29 = function () { }; game.tile29.prototype = new game.Door(8, 5, 1); game.tile29.prototype.frame = 13; game.tile30 = function () { }; game.tile30.prototype = new game.Door(10, 1, 5); game.tile30.prototype.type = "x"; game.tile30.prototype.frame = 14; game.tile31 = function () { }; game.tile31.prototype = new game.Door(9, 10, 5); game.tile31.prototype.frame = 12; game.tile31.prototype.type = "x"; game.tile32 = function () { }; game.tile32.prototype = new game.LockDoor(11, 5, 10, 10, "tile_0_5"); game.tile33 = function () { }; game.tile33.prototype = new game.Door(10, 5, 1); game.tile33.prototype.frame = 13; game.tile34 = function () { }; game.tile34.prototype = new game.Door(1, 10, 5); game.tile34.prototype.frame = 12; game.tile34.prototype.type = "x"; game.tile35 = function () { }; game.tile35.prototype = new game.LockDoor(13, 5, 10, 12, "tile_0_5"); game.tile35.prototype.frame = 37; game.tile36 = function () { }; game.tile36.prototype = new game.TrapDoor(14, 5, 10); game.tile37 = function () { }; game.tile37.prototype = new game.TrapDoor(12, 5, 1); game.tile37.prototype.frame = 13; game.tile38 = function () { }; game.tile38.prototype = new game.Door(13, 5, 1); game.tile38.prototype.frame = 13; game.tile39 = function () { }; game.tile39.prototype = new game.Door(15, 1, 5); game.tile39.prototype.type = "x"; game.tile39.prototype.frame = 14; game.tile40 = function () { }; game.tile40.prototype = new game.Door(14, 10, 5); game.tile40.prototype.frame = 12; game.tile40.prototype.type = "x"; game.tile41 = function () { }; game.tile41.prototype = new game.LockDoor(16, 5, 10, 15, "tile_0_5"); game.tile41.prototype.frame = 37; game.tile42 = function () { }; game.tile42.prototype = new game.TrapDoor(17, 5, 10); game.tile43 = function () { }; game.tile43.prototype = new game.TrapDoor(15, 5, 1); game.tile43.prototype.frame = 13; game.tile44 = function () { }; game.tile44.prototype = new game.Door(18, 10, 5); game.tile44.prototype.frame = 12; game.tile44.prototype.type = "x"; game.tile45 = function () { }; game.tile45.prototype = new game.Door(16, 5, 1); game.tile45.prototype.frame = 13; game.tile46 = function () { }; game.tile46.prototype = new game.LockDoor(19, 5, 10, 18, "tile_0_5"); game.tile46.prototype.frame = 37; game.tile47 = function () { }; game.tile47.prototype = new game.Door(17, 1, 5); game.tile47.prototype.type = "x"; game.tile47.prototype.frame = 14; game.tile48 = function () { }; game.tile48.prototype = new game.TrapDoor(20, 10, 5); game.tile48.prototype.frame = 16; game.tile48.prototype.type = "x"; game.tile49 = function () { }; game.tile49.prototype = new game.TrapDoor(18, 5, 1); game.tile49.prototype.frame = 17; game.tile50 = function () { }; game.tile50.prototype = new game.TrapDoor(21, 5, 1); game.tile50.prototype.frame = 17; game.tile51 = function () { }; game.tile51.prototype = new game.TrapDoor(19, 1, 5); game.tile51.prototype.type = "x"; game.tile51.prototype.frame = 18; game.tile52 = function () { }; game.tile52.prototype = new game.TrapDoor(20, 5, 10); game.tile53 = function () { }; game.tile53.prototype = new game.TrapDoor(22, 5, 1); game.tile53.prototype.frame = 17; game.tile54 = function () { }; game.tile54.prototype = new game.TrapDoor(21, 5, 10); game.tile55 = function () { }; game.tile55.prototype = new game.Chest(4); game.tile56 = function () { }; game.tile56.prototype = new game.Chest(12); game.tile56.prototype.frame = 38; game.tile56.prototype.bluekey = true; game.tile57 = function () { }; game.tile57.prototype = new game.Chest(7); game.tile58 = function () { }; game.tile58.prototype = new game.Chest(15); game.tile58.prototype.frame = 38; game.tile58.prototype.bluekey = true; game.tile59 = function () { }; game.tile59.prototype = new game.Chest(10); game.tile60 = function () { }; game.tile60.prototype = new game.Chest(18); game.tile60.prototype.frame = 38; game.tile60.prototype.bluekey = true; game.tile61 = function () { }; game.tile61.prototype = new game.OutDoor("overworld", 1, 5, 7); game.tile61.prototype.type = ""; game.tile61.prototype.frame = 13; var enemies = [[], [], [[2, 2, 5], [2, 7, 5]], [], [[1, 2, 7]], [[2, 2, 5], [1, 7, 5]], [], [[2, 2, 5], [2, 2, 7], [2, 4, 7]], [[1, 2, 5], [1, 7, 5]], [], [[1, 5, 7], [2, 7, 7], [1, 7, 5]], [], [[1, 5, 5]], [[1, 2, 5], [2, 7, 5]], [], [[2, 5, 7], [2, 7, 7], [2, 7, 5]], [[1, 2, 5], [1, 7, 5]], [], [[1, 2, 5], [2, 2, 7], [1, 4, 7]], [[1, 4, 2], [1, 6, 2]], [[2, 3, 2], [2, 5, 2], [2, 7, 2]], [[1, 3, 5], [1, 5, 5], [1, 7, 5]], [[4, 5, 7]]]; game.Enemy = function () { }; game.Enemy.prototype.action = "walk"; game.Enemy.prototype.dir = "down"; game.Enemy.prototype.xdir = 1; game.Enemy.prototype.ydir = 0; game.Enemy.prototype.speed = 2; game.Enemy.prototype.turnchance = 3; game.Enemy.prototype.health = 2; game.Enemy.prototype.width = 12.5; game.Enemy.prototype.height = 12.5; game.enemy1 = function () { }; game.enemy1.prototype = new game.Enemy(); game.enemy1.prototype.health = 3; game.enemy2 = function () { }; game.enemy2.prototype = new game.Enemy(); game.enemy2.prototype.xdir = 0; game.enemy2.prototype.ydir = 1; game.enemy4 = function () { }; game.enemy4.prototype = new game.Enemy(); game.enemy4.prototype.speed = 5; game.enemy4.prototype.spinspeed = 8; game.enemy4.prototype.bargespeed = 10; game.enemy4.prototype.health = 7; game.enemy4.prototype.ydir = 1; game.enemy4.prototype.dir = "up"; game.enemy4.prototype.width = 20; game.enemy4.prototype.actionOrder = ["move", "move", "move", "move", "spin", "dizzy", "move", "move", "move", "move", "move", "move", "move", "move", "spin", "dizzy", "move", "move"]; game.enemy4.prototype.currentAction = 0; var d = 1; var enterTooLong = 0; var attackTooLong = 0; Key.removeListener(key); delete key; var key = new Object(); key.onKeyDown = function () { if (hero.action != "die") { if (Key.isDown(83)) { attackTooLong++; if (attackTooLong <= 1) { game.attackKey = true; } else { game.attackKey = false; } } if (Key.isDown(65)) { enterTooLong++; if (enterTooLong <= 1) { game.enterKey = true; openChest = false; i = 0; while (i < chests[game.room].length) { if (chests[game.room][i].openChest) { openChest = true; } i++; } if (levelBeaten) { openChest = true; } object = hero; checkCorners(object.x, object.y - object.speed, object); if ((((object.tileUpLeft == object.tileUpRight) && (object.tileUpLeft.chest)) && (!openChest)) && (object.dir == "up")) { object.tileUpLeft.tile.tile.play(); object.tileUpLeft.openChest = true; inventory[0].push([object.tileUpLeft.room, object.tileUpLeft.name, false, object.tileUpLeft.bluekey]); if (chests[game.room] == undefined) { chests[game.room] = new Array(); } chests[game.room].push(object.tileUpLeft); if (object.tileUpLeft.bluekey) { game.tiles.attachMovie("bluekey", "key", game.tiles.getNextHighestDepth()); } else { game.tiles.attachMovie("key", "key", game.tiles.getNextHighestDepth()); } game.tiles.key._y = Stage.height - (game.tiles.key._height / 2); game.tiles.key._x = 10; } } else { game.enterKey = false; } } } }; key.onKeyUp = function () { if (Key.getCode() == 83) { game.attackKey = false; attackTooLong = 0; } if (Key.getCode() == 65) { game.enterKey = false; enterTooLong = 0; } }; Key.addListener(key); this.onEnterFrame = function () { checkKeys(); moveEnemy(); checkAttack(); if (game.paused) { stopClips(hero.clip); } }; buildRoom(_root["room" + game.room]);
Frame 51
function buildRoom(room) { visitedObject[("room" + game.room) + "visited"] = true; if (music.song != game.song) { attachMovie(game.song, "music", 10); } _root.createEmptyMovieClip("tiles", 0); tiles.createEmptyMovieClip("back", 0); game.tiles = _root.tiles; game.tiles.setMask(mask_mc); r = 0; while (r < room.length) { c = 0; while (c < room[0].length) { var name = ((("tile_" + r) + "_") + c); game[name] = new game["tile" + room[r][c]](); game[name].depth = (((r * game.tileh) * Stage.height) + (c * game.tilew)) + 1; if (((game[name].walkable || (game[name].lockdoor)) || (game[name].trapdoor)) || (game[name].chest)) { game.tiles.back.attachMovie("tile", name, game[name].depth); game.tiles.back[name]._x = c * game.tilew; game.tiles.back[name]._y = r * game.tileh; game[name].tile = game.tiles.back[name]; game.tiles.back[name].gotoAndStop(game[name].frame); } else { game.tiles.attachMovie("tile", name, game[name].depth); game.tiles[name]._x = c * game.tilew; game.tiles[name]._y = r * game.tileh; game[name].tile = game.tiles[name]; game.tiles[name].gotoAndStop(game[name].frame); } c++; } r++; } hero.x = (game.tilew * hero.xtile) + (game.tilew / 2); hero.y = (game.tileh * hero.ytile) + (game.tileh / 2); hero.initX = hero.xtile; hero.initY = hero.ytile; hero.depth = ((hero.y * 300) + hero.x) + 1; game.tiles.attachMovie(hero.swordType, "theGuy", hero.depth); hero.clip = game.tiles.theGuy; hero.clip._x = hero.x; hero.clip._y = hero.y; hero.clip.gotoAndStop(hero.action + hero.dir); game.tiles.createEmptyMovieClip("enemyCheck", 1E15); game.tiles.enemyCheck.onEnterFrame = function () { opentraps = true; i = 0; while (i < enemies[game.room].length) { name = (("enemy_" + game.room) + "_") + i; if ((("." + game[name].clip) != ".") && (!trapdoors[game.room])) { opentraps = false; } i++; } if (opentraps || (levelBeaten)) { openTraps(); delete this.onEnterFrame; removeMovieClip(this); } }; i = 0; while (i < enemies[game.room].length) { name = (("enemy_" + game.room) + "_") + i; game[name] = new game["enemy" + enemies[game.room][i][0]](); game[name].type = enemies[game.room][i][0]; game[name].xtile = enemies[game.room][i][1]; game[name].ytile = enemies[game.room][i][2]; game[name].x = (game.tilew * game[name].xtile) + (game.tilew / 2); game[name].y = (game.tileh * game[name].ytile) + (game.tileh / 2); game[name].depth = ((game[name].y * 300) + game[name].x) + 1; game.tiles.attachMovie("enemy" + game[name].type, name, game[name].depth); game[name].clip = game.tiles[name]; game[name].clip._x = game[name].x; game[name].clip._y = game[name].y; game[name].clip.gotoAndStop(game[name].action + game[name].dir); game[name].clip.object = game[name]; if (game[name].type != 5) { game[name].clip.onEnterFrame = function () { if (((this.hitTest(hero.clip.hitbox) && (!this.hitTest(hero.clip.hero.sword))) && (!hero.invinsible)) && (this.object.action != "die")) { hero.loseHealth(this.object.dir); } else if (this.hitTest(hero.clip.hero.sword) && (!this.object.invinsible)) { this.object.health = this.object.health - hero.attack; if (this.object.health > 0) { this.object.initBounce = 0; this.object.oppositedir = hero.dir; this.object.bounceInterval = setInterval(bounceBack, 5, this.object, this.object.oppositedir, 50); this.object.initInvinsible = 0; this.object.invinsibleInterval = setInterval(setInvinsible, 2, this.object, 200); } else { this.object.action = "die"; moveObject(0, 0, this.object); } } }; } else if (levelBeaten) { removeMovieClip(game[name].clip); delete game[name]; } else { showBossMessage("Piconjo", "~Guardian of the BBS~"); attachMovie("song2", "music", 10); pause_mc.name_txt.text = "DISABLED"; delete pause_mc.onRelease; } i++; } if (levelBeaten) { openLocks(); openChests(); } i = 0; while (i < inventory[0].length) { room = inventory[0][i][0]; name = inventory[0][i][1]; unlocked = inventory[0][i][2]; bluekey = inventory[0][i][3]; if ((room == game.room) && (unlocked)) { game[name].walkable = true; game[name].door = true; frame = game.tiles.back[name].tile._totalframes; game.tiles.back[name].tile.gotoAndStop(frame); } if (!unlocked) { if (bluekey) { game.tiles.attachMovie("bluekey", "key", game.tiles.getNextHighestDepth()); } else { game.tiles.attachMovie("key", "key", game.tiles.getNextHighestDepth()); } game.tiles.key._y = Stage.height - (game.tiles.key._height / 2); game.tiles.key._x = 10; } i++; } i = 0; while (i < chests[game.room].length) { chests[game.room][i].tile.tile.gotoAndStop(chests[game.room][i].tile.tile._totalframes); chests[game.room][i].openChest = true; i++; } game.tiles.createEmptyMovieClip("hud", 100000); game.tiles.hud._x = 390; game.tiles.hud._y = 5; i = 0; while (i < hero.maxhealth) { game.tiles.hud.attachMovie("heart", "heart" + i, i); game.tiles.hud["heart" + i]._x = i * 20; if (i >= 5) { game.tiles.hud["heart" + i]._x = (i - 5) * 20; game.tiles.hud["heart" + i]._y = 20; } i++; } game.tiles.hud.onEnterFrame = function () { i = 0; while (i < hero.maxhealth) { if (hero.health > i) { this["heart" + i].gotoAndStop("full"); } else { this["heart" + i].gotoAndStop("empty"); } i++; } }; } function checkKeys() { if ((hero.action != "attack") && (hero.action != "die")) { hero.action = "idle"; left = Key.isDown(37); right = Key.isDown(39); up = Key.isDown(38); down = Key.isDown(40); if (left && (!right)) { moveObject(-1, 0, hero); } if (right && (!left)) { moveObject(1, 0, hero); } if (up && (!down)) { moveObject(0, -1, hero); } if (down && (!up)) { moveObject(0, 1, hero); } } hero.clip.gotoAndStop(hero.action + hero.dir); } function moveObject(xdir, ydir, object, spd) { if (spd == undefined) { speed = object.speed; } else { speed = spd; } if (!game.paused) { if (object.action != "die") { left = Key.isDown(37); right = Key.isDown(39); up = Key.isDown(38); down = Key.isDown(40); checkCorners(object.x + (speed * xdir), object.y, object); if (xdir == -1) { if (object.upleft && (object.downleft)) { object.x = object.x + (speed * xdir); } else if (object.upleft || (object.tileUpLeft.lockdoor)) { object.y--; } else if (object.downleft || (object.tileDownLeft.lockdoor)) { object.y++; } else { object.x = (object.xtile * game.tilew) + object.width; } if (object.action != "run") { object.action = "walk"; } if ((!up) && (!down)) { object.dir = "left"; } if (((object.tileUpLeft == object.tileDownLeft) && (object.tileUpLeft.lockdoor)) && (object == hero)) { i = 0; while (i < inventory[0].length) { room = inventory[0][i][0]; tile = game[inventory[0][i][1]]; unlocked = inventory[0][i][2]; if (((tile == object.tileUpLeft) && (!unlocked)) && (room == game.room)) { unlockDoor(tile); inventory[0][i][2] = true; } i++; } } } if (xdir == 1) { if (object.upright && (object.downright)) { object.x = object.x + (speed * xdir); } else if (object.upright || (object.tileUpRight.lockdoor)) { object.y--; } else if (object.downright || (object.tileDownRight.lockdoor)) { object.y++; } else { object.x = (((object.xtile + 1) * game.tilew) - object.width) - 1; } if (object.action != "run") { object.action = "walk"; } if ((!up) && (!down)) { object.dir = "right"; } if (((object.tileUpRight == object.tileDownRight) && (object.tileUpRight.lockdoor)) && (object == hero)) { i = 0; while (i < inventory[0].length) { room = inventory[0][i][0]; tile = game[inventory[0][i][1]]; unlocked = inventory[0][i][2]; if (((tile == object.tileUpRight) && (!unlocked)) && (room == game.room)) { unlockDoor(tile); inventory[0][i][2] = true; } i++; } } } checkCorners(object.x, object.y + (speed * ydir), object); if (ydir == -1) { if (object.upleft && (object.upright)) { object.y = object.y + (speed * ydir); } else if (object.upleft || (object.tileUpLeft.lockdoor)) { object.x--; } else if (object.upright || (object.tileUpRight.lockdoor)) { object.x++; } else { object.y = (object.ytile * game.tileh) + object.height; } if (object.action != "run") { object.action = "walk"; } object.dir = "up"; if (((object.tileUpLeft == object.tileUpRight) && (object.tileUpLeft.lockdoor)) && (object == hero)) { i = 0; while (i < inventory[0].length) { room = inventory[0][i][0]; tile = game[inventory[0][i][1]]; unlocked = inventory[0][i][2]; if (((tile == object.tileUpLeft) && (!unlocked)) && (room == game.room)) { unlockDoor(tile); inventory[0][i][2] = true; } i++; } } } if (ydir == 1) { if (object.downleft && (object.downright)) { object.y = object.y + (speed * ydir); } else if (object.downleft || (object.tileDownLeft.lockdoor)) { object.x--; } else if (object.downright || (object.tileDownRight.lockdoor)) { object.x++; } else { object.y = (((object.ytile + 1) * game.tileh) - object.height) - 1; } if (object.action != "run") { object.action = "walk"; } object.dir = "down"; if (((object.tileDownLeft == object.tileDownRight) && (object.tileDownLeft.lockdoor)) && (object == hero)) { i = 0; while (i < inventory[0].length) { room = inventory[0][i][0]; tile = game[inventory[0][i][1]]; unlocked = inventory[0][i][2]; if (((tile == object.tileUpLeft) && (!unlocked)) && (room == game.room)) { unlockDoor(tile); inventory[0][i][2] = true; } i++; } } } object.xtile = Math.floor(object.x / game.tilew); object.ytile = Math.floor(object.y / game.tileh); if ((object.isMirrored != undefined) && (object.isMirrored.action != "attack")) { ob2 = object.isMirrored; newx = object.clip._x - object.x; newy = object.clip._y - object.y; if (newx != 0) { if (newx > 0) { newx = 1; } else { newx = -1; } } if (newy != 0) { if (newy > 0) { newy = 1; } else { newy = -1; } } moveObject(newx, 0, ob2); moveObject(0, newy, ob2); } object.clip._x = object.x; object.clip._y = object.y; } if (object.action != "run") { object.clip.gotoAndStop(object.action + object.dir); } if ((object == hero) && (game[(("tile_" + object.ytile) + "_") + object.xtile].door)) { changeMap(); } if ((object == hero) && (game[(("tile_" + object.ytile) + "_") + object.xtile].outdoor)) { changeArea(); } object.depth = ((object.y * 300) + object.x) + 1; object.clip.swapDepths(object.depth); return(true); } } function checkCorners(x, y, object) { object.leftX = Math.floor((x - object.width) / game.tilew); object.rightX = Math.floor((x + object.width) / game.tilew); object.upY = Math.floor((y - object.height) / game.tileh); object.downY = Math.floor((y + object.height) / game.tileh); object.tileUpLeft = game[(("tile_" + object.upY) + "_") + object.leftX]; object.tileUpRight = game[(("tile_" + object.upY) + "_") + object.rightX]; object.tileDownLeft = game[(("tile_" + object.downY) + "_") + object.leftX]; object.tileDownRight = game[(("tile_" + object.downY) + "_") + object.rightX]; object.upleft = game[(("tile_" + object.upY) + "_") + object.leftX].walkable; object.upright = game[(("tile_" + object.upY) + "_") + object.rightX].walkable; object.downleft = game[(("tile_" + object.downY) + "_") + object.leftX].walkable; object.downright = game[(("tile_" + object.downY) + "_") + object.rightX].walkable; } function moveEnemy() { i = 0; while (i < enemies[game.room].length) { var _local2 = (("enemy_" + game.room) + "_") + i; var _local1 = game[_local2]; if (!_local1.clip.spinning) { speed = _local1.speed; } else { speed = _local1.spinspeed; } if (!game.paused) { playClips(_local1.clip); checkCorners(_local1.x + (speed * _local1.xdir), _local1.y + (speed * _local1.ydir), _local1); switch (_local1.type) { case 1 : if ((getDistance(_local1.clip, hero.clip).totaldist > 100) || (_local1.clip.hitTest(hero.clip.hitbox))) { if (((_local1.upleft && (_local1.upright)) && (_local1.downleft)) && (_local1.downright)) { moveObject(_local1.xdir, _local1.ydir, _local1); } else { var _local3 = Math.floor((Math.random() * 4) + 1); switch (_local3) { case 1 : _local1.xdir = -1; _local1.ydir = 0; break; case 2 : _local1.xdir = 1; _local1.ydir = 0; break; case 3 : _local1.xdir = 0; _local1.ydir = -1; break; case 4 : _local1.xdir = 0; _local1.ydir = 1; } } } else { distance = getDistance(_local1.clip, hero.clip); if (Math.abs(distance.xdist) > 10) { if (distance.xdist < 0) { _local1.xdir = 1; _local1.ydir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.xdir = -1; _local1.ydir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } } else if (distance.ydist < 0) { _local1.ydir = 1; _local1.xdir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.ydir = -1; _local1.xdir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } } break; case 2 : if ((getDistance(_local1.clip, hero.clip).totaldist > 100) || (_local1.clip.hitTest(hero.clip.hitbox))) { var _local3 = Math.random() * 100; if ((((_local1.upleft && (_local1.upright)) && (_local1.downleft)) && (_local1.downright)) && (_local3 > _local1.turnchance)) { moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local3 = Math.floor((Math.random() * 4) + 1); switch (_local3) { case 1 : _local1.xdir = -1; _local1.ydir = 0; break; case 2 : _local1.xdir = 1; _local1.ydir = 0; break; case 3 : _local1.xdir = 0; _local1.ydir = -1; break; case 4 : _local1.xdir = 0; _local1.ydir = 1; } } } else { distance = getDistance(_local1.clip, hero.clip); if (Math.abs(distance.xdist) > 10) { if (distance.xdist < 0) { _local1.xdir = 1; _local1.ydir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.xdir = -1; _local1.ydir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } } else if (distance.ydist < 0) { _local1.ydir = 1; _local1.xdir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.ydir = -1; _local1.xdir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } } break; case 5 : if (_local1.health > 0) { _local1.invinsible = true; if (_local1.currentAction > _local1.actionOrder.length) { _local1.currentAction = 0; } switch (_local1.actionOrder[Math.floor(_local1.currentAction)]) { case "move" : if (Math.abs(getDistance(_local1.clip, hero.clip).totaldist) < 150) { hero.isMirrored = _local1; } else { hero.isMirrored = false; } if (_local1.action != "attack") { _local1.clip.attacking = false; if ((hero.action != "idle") && (hero.isMirrored)) { _local1.action = hero.action; moveObject(0, 0, _local1); } else if (_local1.x > (hero.x + 5)) { moveObject(-1, 0, _local1); } else if (_local1.x < (hero.x - 5)) { moveObject(1, 0, _local1); } else if (_local1.y > (hero.y + 5)) { moveObject(0, -1, _local1); } else if (_local1.y < (hero.y - 5)) { moveObject(0, 1, _local1); } } if (Math.abs(getDistance(_local1.clip, hero.clip).totaldist) < 50) { _local1.action = "attack"; moveObject(0, 0, _local1); if (((_local1.clip.hitbox.hitTest(hero.clip) && (_local1.clip.attacking)) && (hero.action != "attack")) && (!hero.invinsible)) { hero.loseHealth(_local1.dir); } else if ((_local1.clip.hitbox.hitTest(hero.clip) && (_local1.clip.attacking)) && (hero.action == "attack")) { hero.initBounce = 0; hero.oppositedir = _local1.dir; clearInterval(hero.bounceInterval); hero.bounceInterval = setInterval(bounceBack, 5, hero, hero.oppositedir, 50); } } _local1.currentAction = _local1.currentAction + 0.0025; break; case "align" : hero.isMirrored = false; _local1.hit = false; _local1.heroHit = false; _local1.clip.gotoAndStop("run1"); _local1.action = "run"; if (_local1.x > 70) { moveObject(-1, 0, _local1); } else if (hero.y > (_local1.y + 5)) { moveObject(0, 1, _local1); } else if (hero.y < (_local1.y - 5)) { moveObject(0, -1, _local1); } else { _local1.currentAction++; } if (_local1.clip.hitbox.hitTest(hero.clip.hitbox) && (!hero.invinsible)) { hero.loseHealth("left"); } break; case "run" : _local1.clip.gotoAndStop("run2"); _local1.action = "run"; if (_local1.x < 300) { moveObject(1, 0, _local1, 10); if (_local1.clip.hitbox.hitTest(hero.clip.hitbox) && (!hero.invinsible)) { hero.loseHealth("right"); _local1.heroHit = true; _local1.currentAction++; } } else { _local1.currentAction++; } break; case "dizzy" : _local1.invinsible = false; _local1.currentAction = _local1.currentAction + 0.0075; if (_local1.heroHit) { _local1.currentAction++; } else { if (_local1.hit) { break; } _local1.action = "dizzy"; _local1.dir = "down"; _local1.clip.gotoAndStop(_local1.action); if (!_local1.clip.hitTest(hero.clip.hero.sword)) { break; } _local1.hit = true; _local1.health = _local1.health - hero.attack; if (_local1.health <= 0) { break; } _local1.initInvinsible = 0; _local1.invinsibleInterval = setInterval(setInvinsible, 5, _local1, 200); } } } else { _local1.clip.gotoAndStop("die"); } break; default : if (((_local1.upleft && (_local1.upright)) && (_local1.downleft)) && (_local1.downright)) { moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.xdir = _local1.xdir * -1; _local1.ydir = _local1.ydir * -1; } } } else { stopClips(_local1.clip); } i++; } } function checkAttack() { if ((game.attackKey && (hero.action != "attack")) && (!game.paused)) { hero.action = "attack"; } } function changeMap(sameRoom) { if (sameRoom == undefined) { var _local2 = (("tile_" + hero.ytile) + "_") + hero.xtile; if (game[_local2].type == "x") { hero.xtile = game[_local2].newX; } else if (game[_local2].type == "y") { hero.ytile = game[_local2].newY; } else { hero.xtile = game[_local2].newX; hero.ytile = game[_local2].newY; } hero.x = (hero.xtile * game.tilew) + hero.width; hero.y = (((hero.ytile + 1) * game.tileh) - object.height) - 1; hero.clip._x = hero.x; hero.clip._y = hero.y; } d = 0; removeMovieClip(game.tiles); if (sameRoom == undefined) { game.room = game[_local2].newroom; } buildRoom(_root["room" + game.room]); if (sameRoom == undefined) { } } function resetArea() { for (i in initHero) { hero[i] = initHero[i]; } hero.x = (hero.xtile * game.tilew) + hero.width; hero.y = (((hero.ytile + 1) * game.tileh) - object.height) - 1; hero.clip._x = hero.x; hero.clip._y = hero.y; removeMovieClip(game.tiles); game.room = initGame.room; buildRoom(_root["room" + game.room]); } function changeArea(notile) { if (notile == undefined) { var _local2 = (("tile_" + hero.ytile) + "_") + hero.xtile; if (game[_local2].type == "x") { hero.xtile = game[_local2].newX; } else if (game[_local2].type == "y") { hero.ytile = game[_local2].newY; } else { hero.xtile = game[_local2].newX; hero.ytile = game[_local2].newY; } hero.x = (hero.xtile * game.tilew) + hero.width; hero.y = (((hero.ytile + 1) * game.tileh) - object.height) - 1; hero.clip._x = hero.x; hero.clip._y = hero.y; d = 0; removeMovieClip(game.tiles); _root.newroom = {room:game[_local2].newroom, xtile:hero.xtile, ytile:hero.ytile, health:hero.health}; gotoAndStop(game[_local2].newarea); } else { hero.xtile = notile.newX; hero.ytile = notile.newY; hero.x = (hero.xtile * game.tilew) + hero.width; hero.y = (((hero.ytile + 1) * game.tileh) - object.height) - 1; hero.clip._x = hero.x; hero.clip._y = hero.y; d = 0; removeMovieClip(game.tiles); _root.newroom = {room:notile.newroom, xtile:hero.xtile, ytile:hero.ytile, health:hero.health}; gotoAndStop(notile.newarea); } } function fall(object) { object.xtile = object.initX; object.ytile = object.initY; object.x = (object.xtile * game.tilew) + (game.tilew / 2); object.y = (object.ytile * game.tileh) + (game.tileh / 2); object.clip._x = object.x; object.clip._y = object.y; } function showMessage(txt) { game.showingMessage = true; attachMovie("message", "msg", this.getNextHighestDepth()); msg.text_txt.text = ""; msg._y = Stage.height - msg._height; msg.txt = txt; msg.continue_mc._visible = false; msg.onEnterFrame = function () { enterTooLong = 0; if (game.enterKey) { msg.text_txt.text = msg.txt; msg.onEnterFrame = function () { if (game.enterKey) { game.paused = false; game.showingMessage = false; removeMovieClip(msg); } }; game.enterKey = false; msg.continue_mc._visible = true; sound.attachSound("beep2"); sound.start(); clearInterval(showMessageInterval); } }; _root.letterNumber = 0; game.paused = true; var sound = new Sound(); showMessageInterval = setInterval(showLetter, 10, msg, sound); } function showLetter(msg, sound) { sound.attachSound("beep1"); sound.start(); txtArray = msg.txt.split(""); msg.text_txt.text = msg.text_txt.text + txtArray[_root.letterNumber]; if ((_root.letterNumber + 1) < txtArray.length) { _root.letterNumber++; } else { msg.onEnterFrame = function () { if (game.enterKey) { game.paused = false; game.showingMessage = false; removeMovieClip(msg); } }; game.enterKey = false; msg.continue_mc._visible = true; sound.attachSound("beep2"); sound.start(); clearInterval(showMessageInterval); } } function showBossMessage(name, desc) { game.paused = true; attachMovie("messageBoss", "bossMsg", this.getNextHighestDepth()); bossMsg._x = Stage.height / 2; bossMsg._y = Stage.height / 2; bossMsg.txt_mc.name_txt.text = name; bossMsg.txt_mc.desc_txt.text = desc; bossMsg.onEnterFrame = function () { if (this._currentframe == this._totalframes) { game.paused = false; removeMovieClip(this); } }; } function bounceBack(object, dir, max) { if (!game.paused) { if (object.oppositedir == "left") { moveObject(-1, 0, object); } else if (object.oppositedir == "right") { moveObject(1, 0, object); } else if (object.oppositedir == "up") { moveObject(0, -1, object); } else if (object.oppositedir == "down") { moveObject(0, 1, object); } object.initBounce++; if (object.initBounce == max) { clearInterval(object.bounceInterval); } } } function setInvinsible(object, max) { if (!game.paused) { object.invinsible = true; object.clip._alpha = 50; object.initInvinsible++; if (object.initInvinsible == max) { object.invinsible = false; object.clip._alpha = 100; clearInterval(object.invinsibleInterval); } } } function unlockDoor(tile) { tile.walkable = true; tile.door = true; tile.tile.tile.play(); removeMovieClip(game.tiles.key); } function openTraps() { room = _root["room" + game.room]; trapdoors[game.room] = true; r = 0; while (r < room.length) { c = 0; while (c < room[0].length) { var _local2 = (("tile_" + r) + "_") + c; if (game[_local2].trapdoor) { game[_local2].walkable = true; game[_local2].door = true; game.tiles.back[_local2].tile.play(); } c++; } r++; } } function openLocks() { room = _root["room" + game.room]; r = 0; while (r < room.length) { c = 0; while (c < room[0].length) { var _local2 = (("tile_" + r) + "_") + c; if (game[_local2].lockdoor) { game[_local2].walkable = true; game[_local2].door = true; game.tiles.back[_local2].tile.gotoAndStop(game.tiles.back[_local2].tile._totalframes); } c++; } r++; } } function openChests() { room = _root["room" + game.room]; r = 0; while (r < room.length) { c = 0; while (c < room[0].length) { var _local2 = (("tile_" + r) + "_") + c; if (game[_local2].chest) { game[_local2].openChest = true; game.tiles.back[_local2].tile.gotoAndStop(game.tiles.back[_local2].tile._totalframes); } c++; } r++; } } function getDistance(object1, object2) { xdist = object1._x - object2._x; ydist = object1._y - object2._y; totaldist = Math.sqrt((xdist * xdist) + (ydist * ydist)); return({xdist:xdist, ydist:ydist, totaldist:totaldist}); } function stopClips(object) { for (name in object) { if (typeof(object[name]) == "movieclip") { stopAllClips(object[name]); } } } function stopAllClips(object) { object.stop(); object.stoppedByFunction = true; for (name in object) { if (typeof(object[name]) == "movieclip") { stopAllClips(object[name]); } } } function playClips(object) { for (name in object) { if (typeof(object[name]) == "movieclip") { playAllClips(object[name]); } } } function playAllClips(object) { if (object.stoppedByFunction) { object.play(); } for (name in object) { if (typeof(object[name]) == "movieclip") { playAllClips(object[name]); } } } stop(); if (level3rooms == undefined) { var level3rooms = new Object(); i = 1; while (i <= 21) { level3rooms[("room" + i) + "visited"] = false; i++; } } visitedObject = level3rooms; pause_mc.name_txt.text = "Pause/Map"; pause_mc.onRelease = function () { if (!game.paused) { game.paused = true; game.tiles.attachMovie("map_d3", "map", game.tiles.getNextHighestDepth()); game.tiles.map._x = Stage.height / 2; game.tiles.map._y = Stage.height / 2; for (mc in game.tiles.map) { if ((typeof(game.tiles.map[mc]) == "movieclip") && (game.tiles.map[mc] != game.tiles.map["room" + game.room])) { if (visitedObject[mc + "visited"]) { game.tiles.map[mc].stop(); } else { game.tiles.map[mc].gotoAndStop(61); } } } } else { game.paused = false; game.tiles.map["room" + game.room].gotoAndStop(1); removeMovieClip(game.tiles.map); } }; music_mc.name_txt.text = "Music On/Off"; music_mc.onRelease = function () { if (music.music.getVolume() == 100) { music.music.setVolume(0); } else { music.music.setVolume(100); } }; quit_mc.name_txt.text = "Quit"; quit_mc.onRelease = function () { removeMovieClip(game.tiles); delete _root.newroom; gotoAndPlay ("menu"); }; var levelBeaten = so.data.level3beaten; if (levelBeaten) { i = 1; while (i <= 1) { visitedObject[("room" + i) + "visited"] = true; i++; } } var room1 = [[5, 1, 1, 1, 1, 12, 1, 1, 1, 1, 1, 8], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [6, 3, 3, 3, 3, 63, 3, 3, 3, 3, 3, 7]]; var room2 = [[5, 1, 1, 1, 1, 13, 1, 1, 1, 1, 1, 8], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 14], [2, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7]]; var room3 = [[5, 1, 1, 1, 1, 15, 1, 1, 1, 1, 1, 8], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [16, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 17], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [6, 3, 3, 3, 3, 18, 3, 3, 3, 3, 3, 7]]; var room4 = [[5, 1, 1, 1, 1, 19, 1, 1, 1, 1, 1, 8], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [20, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7]]; var room5 = [[5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 11, 11, 10, 10, 60, 10, 11, 9, 11, 11, 21], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7]]; var room6 = [[5, 1, 1, 1, 1, 22, 1, 1, 1, 1, 1, 8], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [23, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 24], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [6, 3, 3, 3, 3, 25, 3, 3, 3, 3, 3, 7]]; var room7 = [[5, 1, 1, 1, 1, 26, 1, 1, 1, 1, 1, 8], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [27, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 28], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [6, 3, 3, 3, 3, 29, 3, 3, 3, 3, 3, 7]]; var room8 = [[5, 1, 1, 1, 1, 30, 1, 1, 1, 1, 1, 8], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 4], [31, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 32], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [6, 3, 3, 3, 3, 33, 3, 3, 3, 3, 3, 7]]; var room9 = [[5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [34, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7]]; var room10 = [[5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 35], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [6, 3, 3, 3, 3, 36, 3, 3, 3, 3, 3, 7]]; var room11 = [[5, 1, 1, 1, 1, 37, 1, 1, 1, 1, 1, 8], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [38, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 39], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [6, 3, 3, 3, 3, 40, 3, 3, 3, 3, 3, 7]]; var room12 = [[5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [41, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [6, 3, 3, 3, 3, 42, 3, 3, 3, 3, 3, 7]]; var room13 = [[5, 1, 1, 1, 1, 43, 1, 1, 1, 1, 1, 8], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [6, 3, 3, 3, 3, 44, 3, 3, 3, 3, 3, 7]]; var room14 = [[5, 1, 1, 1, 1, 45, 1, 1, 1, 1, 1, 8], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 9, 9, 11, 11, 9, 11, 4], [2, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 46], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7]]; var room15 = [[5, 1, 1, 1, 1, 47, 1, 1, 1, 1, 1, 8], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [48, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 49], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [6, 3, 3, 3, 3, 50, 3, 3, 3, 3, 3, 7]]; var room16 = [[5, 1, 1, 1, 1, 51, 1, 1, 1, 1, 1, 8], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [52, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7]]; var room17 = [[5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 9, 9, 11, 11, 9, 11, 4], [2, 11, 11, 10, 10, 61, 10, 11, 9, 11, 11, 4], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [6, 3, 3, 3, 3, 53, 3, 3, 3, 3, 3, 7]]; var room18 = [[5, 1, 1, 1, 1, 54, 1, 1, 1, 1, 1, 8], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [6, 3, 3, 3, 3, 55, 3, 3, 3, 3, 3, 7]]; var room19 = [[5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 11, 11, 10, 10, 62, 10, 11, 9, 11, 11, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [6, 3, 3, 3, 3, 56, 3, 3, 3, 3, 3, 7]]; var room20 = [[5, 1, 1, 1, 1, 57, 1, 1, 1, 1, 1, 8], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [6, 3, 3, 3, 3, 58, 3, 3, 3, 3, 3, 7]]; var room21 = [[5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [6, 3, 3, 3, 3, 59, 3, 3, 3, 3, 3, 7]]; var game = {tilew:30, tileh:30, room:1, paused:false, enterKey:false, attackKey:false, song:"song1", showingMessage:false}; var hero = {speed:3, xtile:5, ytile:10, dir:"up", action:"idle", health:5, width:12.5, height:12.5, invinsible:false, attacking:false}; hero.maxhealth = 5; if (so.data.badge > 0) { hero.maxhealth = hero.maxhealth + Math.floor(so.data.badge / 3); } so.data.hero.maxhealth = hero.maxhealth; if (so.data.blamSword) { hero.swordType = "hero2"; hero.attack = 2; } else { hero.swordType = "hero"; hero.attack = 1; } initGame = new Object(); initHero = new Object(); for (i in game) { initGame[i] = game[i]; } for (i in hero) { initHero[i] = hero[i]; } if (_root.newroom != undefined) { game.room = _root.newroom.room; hero.xtile = _root.newroom.xtile; hero.ytile = _root.newroom.ytile; hero.health = _root.newroom.health; } hero.loseHealth = function (oppositedir) { hero.health--; if (hero.health > 0) { hero.clip.hit.play(); hero.initBounce = 0; hero.oppositedir = oppositedir; clearInterval(hero.bounceInterval); hero.bounceInterval = setInterval(bounceBack, 1, hero, hero.oppositedir, 50); hero.initInvinsible = 0; clearInterval(hero.invinsibleInterval); hero.invinsibleInterval = setInterval(setInvinsible, 5, hero, 200); } else { hero.action = "die"; moveObject(0, 0, hero); } }; game.Door = function (newroom, newX, newY) { this.newroom = newroom; this.newX = newX; this.newY = newY; }; game.Door.prototype.frame = 11; game.Door.prototype.walkable = true; game.Door.prototype.type = "y"; game.Door.prototype.door = true; game.Hole = function () { }; game.Hole.prototype.frame = 4; game.Hole.prototype.walkable = true; game.Hole.prototype.hole = true; var keys = new Array(); var inventory = new Array(); inventory[0] = new Array(); game.LockDoor = function (newroom, newX, newY, room, name) { this.newroom = newroom; this.newX = newX; this.newY = newY; if (keys[room] == undefined) { keys[room] = new Array(); } keys[room].push([this, name]); }; game.LockDoor.prototype.frame = 7; game.LockDoor.prototype.walkable = false; game.LockDoor.prototype.type = "y"; game.LockDoor.prototype.door = false; game.LockDoor.prototype.lockdoor = true; var trapdoors = new Array(); game.TrapDoor = function (newroom, newX, newY) { this.newroom = newroom; this.newX = newX; this.newY = newY; }; game.TrapDoor.prototype.frame = 15; game.TrapDoor.prototype.walkable = false; game.TrapDoor.prototype.type = "y"; game.TrapDoor.prototype.door = false; game.TrapDoor.prototype.trapdoor = true; game.OutDoor = function (newarea, newroom, newX, newY) { this.newarea = newarea; this.newroom = newroom; this.newX = newX; this.newY = newY; _root.heroHealth = hero.health; }; game.OutDoor.prototype.frame = 11; game.OutDoor.prototype.type = "y"; game.OutDoor.prototype.walkable = true; game.OutDoor.prototype.outdoor = true; var chests = new Array(); game.Chest = function (room) { this.room = room; this.name = keys[room][0][1]; }; game.Chest.prototype.chest = true; game.Chest.prototype.walkable = false; game.Chest.prototype.frame = 19; game.Chest.prototype.openChest = false; game.tile0 = function () { }; game.tile0.prototype = new game.Hole(); game.tile1 = function () { }; game.tile1.prototype.frame = 1; game.tile2 = function () { }; game.tile2.prototype.frame = 2; game.tile3 = function () { }; game.tile3.prototype.frame = 3; game.tile4 = function () { }; game.tile4.prototype.frame = 4; game.tile5 = function () { }; game.tile5.prototype.frame = 24; game.tile6 = function () { }; game.tile6.prototype.frame = 25; game.tile7 = function () { }; game.tile7.prototype.frame = 26; game.tile8 = function () { }; game.tile8.prototype.frame = 27; game.tile9 = function () { }; game.tile9.prototype.frame = 5; game.tile9.prototype.walkable = true; game.tile10 = function () { }; game.tile10.prototype.frame = 29; game.tile10.prototype.walkable = true; game.tile11 = function () { }; game.tile11.prototype.frame = 30; game.tile11.prototype.walkable = true; game.tile12 = function () { }; game.tile12.prototype = new game.Door(3, 5, 10); game.tile13 = function () { }; game.tile13.prototype = new game.TrapDoor(6, 5, 10); game.tile14 = function () { }; game.tile14.prototype = new game.TrapDoor(3, 1, 5); game.tile14.prototype.type = "x"; game.tile14.prototype.frame = 18; game.tile15 = function () { }; game.tile15.prototype = new game.TrapDoor(7, 5, 10); game.tile16 = function () { }; game.tile16.prototype = new game.TrapDoor(2, 10, 5); game.tile16.prototype.type = "x"; game.tile16.prototype.frame = 16; game.tile17 = function () { }; game.tile17.prototype = new game.TrapDoor(4, 1, 5); game.tile17.prototype.type = "x"; game.tile17.prototype.frame = 18; game.tile18 = function () { }; game.tile18.prototype = new game.Door(1, 5, 1); game.tile18.prototype.frame = 13; game.tile19 = function () { }; game.tile19.prototype = new game.TrapDoor(8, 5, 10); game.tile20 = function () { }; game.tile20.prototype = new game.TrapDoor(3, 10, 5); game.tile20.prototype.type = "x"; game.tile20.prototype.frame = 16; game.tile21 = function () { }; game.tile21.prototype = new game.TrapDoor(6, 1, 5); game.tile21.prototype.type = "x"; game.tile21.prototype.frame = 18; game.tile22 = function () { }; game.tile22.prototype = new game.TrapDoor(10, 5, 10); game.tile23 = function () { }; game.tile23.prototype = new game.TrapDoor(5, 10, 5); game.tile23.prototype.type = "x"; game.tile23.prototype.frame = 16; game.tile24 = function () { }; game.tile24.prototype = new game.TrapDoor(7, 1, 5); game.tile24.prototype.type = "x"; game.tile24.prototype.frame = 18; game.tile25 = function () { }; game.tile25.prototype = new game.TrapDoor(2, 5, 1); game.tile25.prototype.frame = 17; game.tile26 = function () { }; game.tile26.prototype = new game.TrapDoor(11, 5, 10); game.tile27 = function () { }; game.tile27.prototype = new game.TrapDoor(6, 10, 5); game.tile27.prototype.type = "x"; game.tile27.prototype.frame = 16; game.tile28 = function () { }; game.tile28.prototype = new game.TrapDoor(8, 1, 5); game.tile28.prototype.type = "x"; game.tile28.prototype.frame = 18; game.tile29 = function () { }; game.tile29.prototype = new game.TrapDoor(3, 5, 1); game.tile29.prototype.frame = 17; game.tile30 = function () { }; game.tile30.prototype = new game.TrapDoor(12, 5, 10); game.tile31 = function () { }; game.tile31.prototype = new game.TrapDoor(7, 10, 5); game.tile31.prototype.type = "x"; game.tile31.prototype.frame = 16; game.tile32 = function () { }; game.tile32.prototype = new game.TrapDoor(9, 1, 5); game.tile32.prototype.type = "x"; game.tile32.prototype.frame = 18; game.tile33 = function () { }; game.tile33.prototype = new game.TrapDoor(4, 5, 1); game.tile33.prototype.frame = 17; game.tile34 = function () { }; game.tile34.prototype = new game.TrapDoor(8, 10, 5); game.tile34.prototype.type = "x"; game.tile34.prototype.frame = 16; game.tile35 = function () { }; game.tile35.prototype = new game.TrapDoor(11, 1, 5); game.tile35.prototype.type = "x"; game.tile35.prototype.frame = 18; game.tile36 = function () { }; game.tile36.prototype = new game.TrapDoor(6, 5, 1); game.tile36.prototype.frame = 17; game.tile37 = function () { }; game.tile37.prototype = new game.LockDoor(13, 5, 10, 11, "tile_0_5"); game.tile38 = function () { }; game.tile38.prototype = new game.TrapDoor(10, 10, 5); game.tile38.prototype.type = "x"; game.tile38.prototype.frame = 16; game.tile39 = function () { }; game.tile39.prototype = new game.TrapDoor(12, 1, 5); game.tile39.prototype.type = "x"; game.tile39.prototype.frame = 18; game.tile40 = function () { }; game.tile40.prototype = new game.TrapDoor(7, 5, 1); game.tile40.prototype.frame = 17; game.tile41 = function () { }; game.tile41.prototype = new game.TrapDoor(11, 10, 5); game.tile41.prototype.type = "x"; game.tile41.prototype.frame = 16; game.tile42 = function () { }; game.tile42.prototype = new game.TrapDoor(8, 5, 1); game.tile42.prototype.frame = 17; game.tile43 = function () { }; game.tile43.prototype = new game.Door(15, 5, 10); game.tile44 = function () { }; game.tile44.prototype = new game.Door(11, 5, 1); game.tile44.prototype.frame = 13; game.tile45 = function () { }; game.tile45.prototype = new game.TrapDoor(17, 5, 10); game.tile46 = function () { }; game.tile46.prototype = new game.TrapDoor(15, 1, 5); game.tile46.prototype.type = "x"; game.tile46.prototype.frame = 18; game.tile47 = function () { }; game.tile47.prototype = new game.Door(18, 5, 10); game.tile48 = function () { }; game.tile48.prototype = new game.Door(14, 10, 5); game.tile48.prototype.type = "x"; game.tile48.prototype.frame = 12; game.tile49 = function () { }; game.tile49.prototype = new game.LockDoor(16, 1, 5, 15, "tile_5_11"); game.tile49.prototype.type = "x"; game.tile49.prototype.frame = 10; game.tile50 = function () { }; game.tile50.prototype = new game.Door(13, 5, 1); game.tile50.prototype.frame = 13; game.tile51 = function () { }; game.tile51.prototype = new game.TrapDoor(19, 5, 10); game.tile52 = function () { }; game.tile52.prototype = new game.TrapDoor(15, 10, 5); game.tile52.prototype.type = "x"; game.tile52.prototype.frame = 12; game.tile53 = function () { }; game.tile53.prototype = new game.Door(14, 5, 1); game.tile53.prototype.frame = 13; game.tile54 = function () { }; game.tile54.prototype = new game.TrapDoor(20, 5, 10); game.tile55 = function () { }; game.tile55.prototype = new game.TrapDoor(15, 5, 1); game.tile55.prototype.frame = 17; game.tile56 = function () { }; game.tile56.prototype = new game.TrapDoor(16, 5, 1); game.tile56.prototype.frame = 17; game.tile57 = function () { }; game.tile57.prototype = new game.LockDoor(21, 5, 10, 20, "tile_0_5"); game.tile58 = function () { }; game.tile58.prototype = new game.Door(18, 5, 1); game.tile58.prototype.frame = 13; game.tile59 = function () { }; game.tile59.prototype = new game.TrapDoor(20, 5, 1); game.tile59.prototype.frame = 17; game.tile60 = function () { }; game.tile60.prototype = new game.Chest(11); game.tile61 = function () { }; game.tile61.prototype = new game.Chest(15); game.tile62 = function () { }; game.tile62.prototype = new game.Chest(20); game.tile63 = function () { }; game.tile63.prototype = new game.OutDoor("overworld", 4, 5, 7); game.tile63.prototype.frame = 13; var enemies = [[], [], [[1, 2, 5]], [[2, 5, 4], [2, 5, 6]], [[1, 5, 5]], [[2, 5, 4], [1, 5, 6]], [[2, 5, 5]], [[2, 5, 4], [2, 5, 5], [2, 5, 6]], [[2, 4, 5]], [[2, 5, 4], [1, 5, 6]], [[2, 5, 4], [1, 5, 5], [2, 5, 6]], [[1, 6, 6], [2, 5, 4]], [[1, 6, 6], [2, 5, 4]], [[2, 5, 4], [2, 5, 6]], [[1, 5, 5]], [[2, 6, 5]], [[1, 5, 5]], [[2, 5, 4], [2, 5, 6]], [[1, 5, 5]], [[2, 5, 4], [1, 5, 7]], [[2, 5, 5]], [[5, 5, 1]]]; game.Enemy = function () { }; game.Enemy.prototype.action = "walk"; game.Enemy.prototype.dir = "down"; game.Enemy.prototype.xdir = 1; game.Enemy.prototype.ydir = 0; game.Enemy.prototype.speed = 2; game.Enemy.prototype.turnchance = 3; game.Enemy.prototype.health = 2; game.Enemy.prototype.width = 12.5; game.Enemy.prototype.height = 12.5; game.enemy1 = function () { }; game.enemy1.prototype = new game.Enemy(); game.enemy1.prototype.health = 3; game.enemy2 = function () { }; game.enemy2.prototype = new game.Enemy(); game.enemy2.prototype.xdir = 0; game.enemy2.prototype.ydir = 1; game.enemy5 = function () { }; game.enemy5.prototype = new game.Enemy(); game.enemy5.prototype.speed = hero.speed; game.enemy5.prototype.health = 5; game.enemy5.prototype.ydir = 1; game.enemy5.prototype.action = "idle"; game.enemy5.prototype.dir = "down"; game.enemy5.prototype.width = 15; game.enemy5.prototype.actionOrder = ["move", "align", "run", "dizzy", "move"]; game.enemy5.prototype.currentAction = 0; var d = 1; var enterTooLong = 0; var attackTooLong = 0; Key.removeListener(key); delete key; var key = new Object(); key.onKeyDown = function () { if (hero.action != "die") { if (Key.isDown(83)) { attackTooLong++; if (attackTooLong <= 1) { game.attackKey = true; } else { game.attackKey = false; } } if (Key.isDown(65)) { enterTooLong++; if (enterTooLong <= 1) { game.enterKey = true; openChest = false; i = 0; while (i < chests[game.room].length) { if (chests[game.room][i].openChest) { openChest = true; } i++; } if (levelBeaten) { openChest = true; } object = hero; checkCorners(object.x, object.y - object.speed, object); if ((((object.tileUpLeft == object.tileUpRight) && (object.tileUpLeft.chest)) && (!openChest)) && (object.dir == "up")) { object.tileUpLeft.tile.tile.play(); object.tileUpLeft.openChest = true; inventory[0].push([object.tileUpLeft.room, object.tileUpLeft.name, false, object.tileUpLeft.bluekey]); if (chests[game.room] == undefined) { chests[game.room] = new Array(); } chests[game.room].push(object.tileUpLeft); if (object.tileUpLeft.bluekey) { game.tiles.attachMovie("bluekey", "key", game.tiles.getNextHighestDepth()); } else { game.tiles.attachMovie("key", "key", game.tiles.getNextHighestDepth()); } game.tiles.key._y = Stage.height - (game.tiles.key._height / 2); game.tiles.key._x = 10; } } else { game.enterKey = false; } } } }; key.onKeyUp = function () { if (Key.getCode() == 83) { game.attackKey = false; attackTooLong = 0; } if (Key.getCode() == 65) { game.enterKey = false; enterTooLong = 0; } }; Key.addListener(key); this.onEnterFrame = function () { checkKeys(); moveEnemy(); checkAttack(); if (game.paused) { stopClips(hero.clip); } }; buildRoom(_root["room" + game.room]);
Frame 58
function buildRoom(room) { visitedObject[("room" + game.room) + "visited"] = true; if (music.song != game.song) { attachMovie(game.song, "music", 10); } _root.createEmptyMovieClip("tiles", 0); tiles.createEmptyMovieClip("back", 0); game.tiles = _root.tiles; game.tiles.setMask(mask_mc); r = 0; while (r < room.length) { c = 0; while (c < room[0].length) { var name = ((("tile_" + r) + "_") + c); game[name] = new game["tile" + room[r][c]](); game[name].depth = (((r * game.tileh) * Stage.height) + (c * game.tilew)) + 1; if (((game[name].walkable || (game[name].lockdoor)) || (game[name].trapdoor)) || (game[name].chest)) { game.tiles.back.attachMovie("tile", name, game[name].depth); game.tiles.back[name]._x = c * game.tilew; game.tiles.back[name]._y = r * game.tileh; game[name].tile = game.tiles.back[name]; game.tiles.back[name].gotoAndStop(game[name].frame); } else { game.tiles.attachMovie("tile", name, game[name].depth); game.tiles[name]._x = c * game.tilew; game.tiles[name]._y = r * game.tileh; game[name].tile = game.tiles[name]; game.tiles[name].gotoAndStop(game[name].frame); } c++; } r++; } hero.x = (game.tilew * hero.xtile) + (game.tilew / 2); hero.y = (game.tileh * hero.ytile) + (game.tileh / 2); hero.initX = hero.xtile; hero.initY = hero.ytile; hero.depth = ((hero.y * 300) + hero.x) + 1; game.tiles.attachMovie(hero.swordType, "theGuy", hero.depth); hero.clip = game.tiles.theGuy; hero.clip._x = hero.x; hero.clip._y = hero.y; hero.clip.gotoAndStop(hero.action + hero.dir); game.tiles.createEmptyMovieClip("enemyCheck", 1E15); game.tiles.enemyCheck.onEnterFrame = function () { opentraps = true; i = 0; while (i < enemies[game.room].length) { name = (("enemy_" + game.room) + "_") + i; if ((("." + game[name].clip) != ".") && (!trapdoors[game.room])) { opentraps = false; } i++; } if (opentraps || (levelBeaten)) { openTraps(); delete this.onEnterFrame; removeMovieClip(this); } }; i = 0; while (i < enemies[game.room].length) { name = (("enemy_" + game.room) + "_") + i; game[name] = new game["enemy" + enemies[game.room][i][0]](); game[name].type = enemies[game.room][i][0]; game[name].xtile = enemies[game.room][i][1]; game[name].ytile = enemies[game.room][i][2]; game[name].x = (game.tilew * game[name].xtile) + (game.tilew / 2); game[name].y = (game.tileh * game[name].ytile) + (game.tileh / 2); game[name].depth = ((game[name].y * 300) + game[name].x) + 1; game.tiles.attachMovie("enemy" + game[name].type, name, game[name].depth); game[name].clip = game.tiles[name]; game[name].clip._x = game[name].x; game[name].clip._y = game[name].y; game[name].clip.gotoAndStop(game[name].action + game[name].dir); game[name].clip.object = game[name]; if (game[name].type != 6) { game[name].clip.onEnterFrame = function () { if (((this.hitTest(hero.clip.hitbox) && (!this.hitTest(hero.clip.hero.sword))) && (!hero.invinsible)) && (this.object.action != "die")) { hero.loseHealth(this.object.dir); } else if (this.hitTest(hero.clip.hero.sword) && (!this.object.invinsible)) { this.object.health = this.object.health - hero.attack; if (this.object.health > 0) { this.object.initBounce = 0; this.object.oppositedir = hero.dir; this.object.bounceInterval = setInterval(bounceBack, 5, this.object, this.object.oppositedir, 50); this.object.initInvinsible = 0; this.object.invinsibleInterval = setInterval(setInvinsible, 2, this.object, 200); } else { this.object.action = "die"; moveObject(0, 0, this.object); } } }; } else if (levelBeaten) { removeMovieClip(game[name].clip); delete game[name]; } else { showBossMessage("Wade Fulp", "~Troubled Brother of King Tom~"); attachMovie("song2", "music", 10); pause_mc.name_txt.text = "DISABLED"; delete pause_mc.onRelease; } i++; } if (levelBeaten) { openLocks(); openChests(); } i = 0; while (i < inventory[0].length) { room = inventory[0][i][0]; name = inventory[0][i][1]; unlocked = inventory[0][i][2]; bluekey = inventory[0][i][3]; if ((room == game.room) && (unlocked)) { game[name].walkable = true; game[name].door = true; frame = game.tiles.back[name].tile._totalframes; game.tiles.back[name].tile.gotoAndStop(frame); } if (!unlocked) { if (bluekey) { game.tiles.attachMovie("bluekey", "key", game.tiles.getNextHighestDepth()); } else { game.tiles.attachMovie("key", "key", game.tiles.getNextHighestDepth()); } game.tiles.key._y = Stage.height - (game.tiles.key._height / 2); game.tiles.key._x = 10; } i++; } i = 0; while (i < chests[game.room].length) { chests[game.room][i].tile.tile.gotoAndStop(chests[game.room][i].tile.tile._totalframes); chests[game.room][i].openChest = true; i++; } game.tiles.createEmptyMovieClip("hud", 100000); game.tiles.hud._x = 390; game.tiles.hud._y = 5; i = 0; while (i < hero.maxhealth) { game.tiles.hud.attachMovie("heart", "heart" + i, i); game.tiles.hud["heart" + i]._x = i * 20; if (i >= 5) { game.tiles.hud["heart" + i]._x = (i - 5) * 20; game.tiles.hud["heart" + i]._y = 20; } i++; } game.tiles.hud.onEnterFrame = function () { i = 0; while (i < hero.maxhealth) { if (hero.health > i) { this["heart" + i].gotoAndStop("full"); } else { this["heart" + i].gotoAndStop("empty"); } i++; } }; } function checkKeys() { if ((hero.action != "attack") && (hero.action != "die")) { hero.action = "idle"; left = Key.isDown(37); right = Key.isDown(39); up = Key.isDown(38); down = Key.isDown(40); if (left && (!right)) { moveObject(-1, 0, hero); } if (right && (!left)) { moveObject(1, 0, hero); } if (up && (!down)) { moveObject(0, -1, hero); } if (down && (!up)) { moveObject(0, 1, hero); } } hero.clip.gotoAndStop(hero.action + hero.dir); } function moveObject(xdir, ydir, object, spd) { if (spd == undefined) { speed = object.speed; } else { speed = spd; } if (!game.paused) { if (object.action != "die") { left = Key.isDown(37); right = Key.isDown(39); up = Key.isDown(38); down = Key.isDown(40); checkCorners(object.x + (speed * xdir), object.y, object); if (xdir == -1) { if (object.upleft && (object.downleft)) { object.x = object.x + (speed * xdir); } else if (object.upleft || (object.tileUpLeft.lockdoor)) { object.y--; } else if (object.downleft || (object.tileDownLeft.lockdoor)) { object.y++; } else { object.x = (object.xtile * game.tilew) + object.width; } if (object.action != "run") { object.action = "walk"; } if ((!up) && (!down)) { object.dir = "left"; } if (((object.tileUpLeft == object.tileDownLeft) && (object.tileUpLeft.lockdoor)) && (object == hero)) { i = 0; while (i < inventory[0].length) { room = inventory[0][i][0]; tile = game[inventory[0][i][1]]; unlocked = inventory[0][i][2]; if (((tile == object.tileUpLeft) && (!unlocked)) && (room == game.room)) { unlockDoor(tile); inventory[0][i][2] = true; } i++; } } } if (xdir == 1) { if (object.upright && (object.downright)) { object.x = object.x + (speed * xdir); } else if (object.upright || (object.tileUpRight.lockdoor)) { object.y--; } else if (object.downright || (object.tileDownRight.lockdoor)) { object.y++; } else { object.x = (((object.xtile + 1) * game.tilew) - object.width) - 1; } if (object.action != "run") { object.action = "walk"; } if ((!up) && (!down)) { object.dir = "right"; } if (((object.tileUpRight == object.tileDownRight) && (object.tileUpRight.lockdoor)) && (object == hero)) { i = 0; while (i < inventory[0].length) { room = inventory[0][i][0]; tile = game[inventory[0][i][1]]; unlocked = inventory[0][i][2]; if (((tile == object.tileUpLeft) && (!unlocked)) && (room == game.room)) { unlockDoor(tile); inventory[0][i][2] = true; } i++; } } } checkCorners(object.x, object.y + (speed * ydir), object); if (ydir == -1) { if (object.upleft && (object.upright)) { object.y = object.y + (speed * ydir); } else if (object.upleft || (object.tileUpLeft.lockdoor)) { object.x--; } else if (object.upright || (object.tileUpRight.lockdoor)) { object.x++; } else { object.y = (object.ytile * game.tileh) + object.height; } if (object.action != "run") { object.action = "walk"; } object.dir = "up"; if (((object.tileUpLeft == object.tileUpRight) && (object.tileUpLeft.lockdoor)) && (object == hero)) { i = 0; while (i < inventory[0].length) { room = inventory[0][i][0]; tile = game[inventory[0][i][1]]; unlocked = inventory[0][i][2]; if (((tile == object.tileUpLeft) && (!unlocked)) && (room == game.room)) { unlockDoor(tile); inventory[0][i][2] = true; } i++; } } } if (ydir == 1) { if (object.downleft && (object.downright)) { object.y = object.y + (speed * ydir); } else if (object.downleft || (object.tileDownLeft.lockdoor)) { object.x--; } else if (object.downright || (object.tileDownRight.lockdoor)) { object.x++; } else { object.y = (((object.ytile + 1) * game.tileh) - object.height) - 1; } if (object.action != "run") { object.action = "walk"; } object.dir = "down"; if (((object.tileDownLeft == object.tileDownRight) && (object.tileDownLeft.lockdoor)) && (object == hero)) { i = 0; while (i < inventory[0].length) { room = inventory[0][i][0]; tile = game[inventory[0][i][1]]; unlocked = inventory[0][i][2]; if (((tile == object.tileUpLeft) && (!unlocked)) && (room == game.room)) { unlockDoor(tile); inventory[0][i][2] = true; } i++; } } } object.xtile = Math.floor(object.x / game.tilew); object.ytile = Math.floor(object.y / game.tileh); if ((object.isMirrored != undefined) && (object.isMirrored.action != "attack")) { ob2 = object.isMirrored; newx = object.clip._x - object.x; newy = object.clip._y - object.y; if (newx != 0) { if (newx > 0) { newx = 1; } else { newx = -1; } } if (newy != 0) { if (newy > 0) { newy = 1; } else { newy = -1; } } moveObject(newx, 0, ob2); moveObject(0, newy, ob2); } object.clip._x = object.x; object.clip._y = object.y; } if (object.action != "run") { object.clip.gotoAndStop(object.action + object.dir); } if ((object == hero) && (game[(("tile_" + object.ytile) + "_") + object.xtile].door)) { changeMap(); } if ((object == hero) && (game[(("tile_" + object.ytile) + "_") + object.xtile].outdoor)) { changeArea(); } object.depth = ((object.y * 300) + object.x) + 1; object.clip.swapDepths(object.depth); return(true); } } function checkCorners(x, y, object) { object.leftX = Math.floor((x - object.width) / game.tilew); object.rightX = Math.floor((x + object.width) / game.tilew); object.upY = Math.floor((y - object.height) / game.tileh); object.downY = Math.floor((y + object.height) / game.tileh); object.tileUpLeft = game[(("tile_" + object.upY) + "_") + object.leftX]; object.tileUpRight = game[(("tile_" + object.upY) + "_") + object.rightX]; object.tileDownLeft = game[(("tile_" + object.downY) + "_") + object.leftX]; object.tileDownRight = game[(("tile_" + object.downY) + "_") + object.rightX]; object.upleft = game[(("tile_" + object.upY) + "_") + object.leftX].walkable; object.upright = game[(("tile_" + object.upY) + "_") + object.rightX].walkable; object.downleft = game[(("tile_" + object.downY) + "_") + object.leftX].walkable; object.downright = game[(("tile_" + object.downY) + "_") + object.rightX].walkable; } function moveEnemy() { i = 0; while (i < enemies[game.room].length) { var _local2 = (("enemy_" + game.room) + "_") + i; var _local1 = game[_local2]; if (!_local1.clip.spinning) { speed = _local1.speed; } else { speed = _local1.spinspeed; } if (!game.paused) { playClips(_local1.clip); checkCorners(_local1.x + (speed * _local1.xdir), _local1.y + (speed * _local1.ydir), _local1); switch (_local1.type) { case 1 : if ((getDistance(_local1.clip, hero.clip).totaldist > 100) || (_local1.clip.hitTest(hero.clip.hitbox))) { if (((_local1.upleft && (_local1.upright)) && (_local1.downleft)) && (_local1.downright)) { moveObject(_local1.xdir, _local1.ydir, _local1); } else { var _local3 = Math.floor((Math.random() * 4) + 1); switch (_local3) { case 1 : _local1.xdir = -1; _local1.ydir = 0; break; case 2 : _local1.xdir = 1; _local1.ydir = 0; break; case 3 : _local1.xdir = 0; _local1.ydir = -1; break; case 4 : _local1.xdir = 0; _local1.ydir = 1; } } } else { distance = getDistance(_local1.clip, hero.clip); if (Math.abs(distance.xdist) > 10) { if (distance.xdist < 0) { _local1.xdir = 1; _local1.ydir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.xdir = -1; _local1.ydir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } } else if (distance.ydist < 0) { _local1.ydir = 1; _local1.xdir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.ydir = -1; _local1.xdir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } } break; case 2 : if ((getDistance(_local1.clip, hero.clip).totaldist > 100) || (_local1.clip.hitTest(hero.clip.hitbox))) { var _local3 = Math.random() * 100; if ((((_local1.upleft && (_local1.upright)) && (_local1.downleft)) && (_local1.downright)) && (_local3 > _local1.turnchance)) { moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local3 = Math.floor((Math.random() * 4) + 1); switch (_local3) { case 1 : _local1.xdir = -1; _local1.ydir = 0; break; case 2 : _local1.xdir = 1; _local1.ydir = 0; break; case 3 : _local1.xdir = 0; _local1.ydir = -1; break; case 4 : _local1.xdir = 0; _local1.ydir = 1; } } } else { distance = getDistance(_local1.clip, hero.clip); if (Math.abs(distance.xdist) > 10) { if (distance.xdist < 0) { _local1.xdir = 1; _local1.ydir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.xdir = -1; _local1.ydir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } } else if (distance.ydist < 0) { _local1.ydir = 1; _local1.xdir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.ydir = -1; _local1.xdir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } } break; case 6 : if (_local1.health > 0) { _local1.invinsible = true; if (_local1.currentAction > _local1.actionOrder.length) { _local1.currentAction = 0; } switch (_local1.actionOrder[Math.floor(_local1.currentAction)]) { case "idle" : _local1.invinsible = true; _local1.hit = false; if (!_local1.attacking) { _local1.clip.gotoAndStop("idle" + _local1.dir); } if (getDistance(_local1.clip, hero.clip).totaldist < 75) { _local1.clip.gotoAndStop("attack" + _local1.dir); _local1.attacking = true; } _local1.currentAction = _local1.currentAction + 0.025; break; case "boomerang" : _local1.clip.gotoAndStop("boomerang" + _local1.dir); if ((game.tiles.swordspin.hitTest(hero.clip.hitbox) || (_local1.clip.hitTest(hero.clip.hitbox))) && (!hero.invinsible)) { if (getDistance(_local1.clip, hero.clip).ydist > 0) { hero.loseHealth("up"); } else { hero.loseHealth("down"); } } break; case "summon" : _local1.clip.gotoAndStop("summon"); break; case "swfcheck" : _local1.clip.gotoAndStop("idle" + _local1.dir); if (_local1.enemy1 && (_local1.enemy2)) { _local1.invinsible = false; if ((_local1.clip.hitTest(hero.clip.hero.sword) && (!_local1.invinsible)) && (!_local1.hit)) { _local1.hit = true; _local1.health = _local1.health - hero.attack; if (_local1.health > 0) { _local1.initInvinsible = 0; _local1.invinsibleInterval = setInterval(setInvinsible, 5, _local1, 200); _local1.currentAction++; } } } else { i = 1; while (i <= 2) { _local2 = (("enemy_" + game.room) + "_") + i; removeMovieClip(game[_local2].clip); delete game[_local2]; delete enemies[game.room][i]; i++; } _local1.currentAction++; } } } else { so.data.level4beaten = true; NewgroundsAPI.logCustomEvent("Level 4 Cleared"); scene = "end"; gotoAndStop ("scene"); } break; default : if (((_local1.upleft && (_local1.upright)) && (_local1.downleft)) && (_local1.downright)) { moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.xdir = _local1.xdir * -1; _local1.ydir = _local1.ydir * -1; } } } else { stopClips(_local1.clip); } i++; } } function checkAttack() { if ((game.attackKey && (hero.action != "attack")) && (!game.paused)) { hero.action = "attack"; } } function changeMap(sameRoom) { if (sameRoom == undefined) { var _local2 = (("tile_" + hero.ytile) + "_") + hero.xtile; if (game[_local2].type == "x") { hero.xtile = game[_local2].newX; } else if (game[_local2].type == "y") { hero.ytile = game[_local2].newY; } else { hero.xtile = game[_local2].newX; hero.ytile = game[_local2].newY; } hero.x = (hero.xtile * game.tilew) + hero.width; hero.y = (((hero.ytile + 1) * game.tileh) - object.height) - 1; hero.clip._x = hero.x; hero.clip._y = hero.y; } d = 0; removeMovieClip(game.tiles); if (sameRoom == undefined) { game.room = game[_local2].newroom; } buildRoom(_root["room" + game.room]); if (sameRoom == undefined) { } } function resetArea() { for (i in initHero) { hero[i] = initHero[i]; } hero.x = (hero.xtile * game.tilew) + hero.width; hero.y = (((hero.ytile + 1) * game.tileh) - object.height) - 1; hero.clip._x = hero.x; hero.clip._y = hero.y; removeMovieClip(game.tiles); game.room = initGame.room; buildRoom(_root["room" + game.room]); } function changeArea(notile) { if (notile == undefined) { var _local2 = (("tile_" + hero.ytile) + "_") + hero.xtile; if (game[_local2].type == "x") { hero.xtile = game[_local2].newX; } else if (game[_local2].type == "y") { hero.ytile = game[_local2].newY; } else { hero.xtile = game[_local2].newX; hero.ytile = game[_local2].newY; } hero.x = (hero.xtile * game.tilew) + hero.width; hero.y = (((hero.ytile + 1) * game.tileh) - object.height) - 1; hero.clip._x = hero.x; hero.clip._y = hero.y; d = 0; removeMovieClip(game.tiles); _root.newroom = {room:game[_local2].newroom, xtile:hero.xtile, ytile:hero.ytile, health:hero.health}; gotoAndStop(game[_local2].newarea); } else { hero.xtile = notile.newX; hero.ytile = notile.newY; hero.x = (hero.xtile * game.tilew) + hero.width; hero.y = (((hero.ytile + 1) * game.tileh) - object.height) - 1; hero.clip._x = hero.x; hero.clip._y = hero.y; d = 0; removeMovieClip(game.tiles); _root.newroom = {room:notile.newroom, xtile:hero.xtile, ytile:hero.ytile, health:hero.health}; gotoAndStop(notile.newarea); } } function fall(object) { object.xtile = object.initX; object.ytile = object.initY; object.x = (object.xtile * game.tilew) + (game.tilew / 2); object.y = (object.ytile * game.tileh) + (game.tileh / 2); object.clip._x = object.x; object.clip._y = object.y; } function showMessage(txt) { game.showingMessage = true; attachMovie("message", "msg", this.getNextHighestDepth()); msg.text_txt.text = ""; msg._y = Stage.height - msg._height; msg.txt = txt; msg.continue_mc._visible = false; msg.onEnterFrame = function () { enterTooLong = 0; if (game.enterKey) { msg.text_txt.text = msg.txt; msg.onEnterFrame = function () { if (game.enterKey) { game.paused = false; game.showingMessage = false; removeMovieClip(msg); } }; game.enterKey = false; msg.continue_mc._visible = true; sound.attachSound("beep2"); sound.start(); clearInterval(showMessageInterval); } }; _root.letterNumber = 0; game.paused = true; var sound = new Sound(); showMessageInterval = setInterval(showLetter, 10, msg, sound); } function showLetter(msg, sound) { sound.attachSound("beep1"); sound.start(); txtArray = msg.txt.split(""); msg.text_txt.text = msg.text_txt.text + txtArray[_root.letterNumber]; if ((_root.letterNumber + 1) < txtArray.length) { _root.letterNumber++; } else { msg.onEnterFrame = function () { if (game.enterKey) { game.paused = false; game.showingMessage = false; removeMovieClip(msg); } }; game.enterKey = false; msg.continue_mc._visible = true; sound.attachSound("beep2"); sound.start(); clearInterval(showMessageInterval); } } function showBossMessage(name, desc) { game.paused = true; attachMovie("messageBoss", "bossMsg", this.getNextHighestDepth()); bossMsg._x = Stage.height / 2; bossMsg._y = Stage.height / 2; bossMsg.txt_mc.name_txt.text = name; bossMsg.txt_mc.desc_txt.text = desc; bossMsg.onEnterFrame = function () { if (this._currentframe == this._totalframes) { game.paused = false; removeMovieClip(this); } }; } function bounceBack(object, dir, max) { if (!game.paused) { if (object.oppositedir == "left") { moveObject(-1, 0, object); } else if (object.oppositedir == "right") { moveObject(1, 0, object); } else if (object.oppositedir == "up") { moveObject(0, -1, object); } else if (object.oppositedir == "down") { moveObject(0, 1, object); } object.initBounce++; if (object.initBounce == max) { clearInterval(object.bounceInterval); } } } function setInvinsible(object, max) { if (!game.paused) { object.invinsible = true; object.clip._alpha = 50; object.initInvinsible++; if (object.initInvinsible == max) { object.invinsible = false; object.clip._alpha = 100; clearInterval(object.invinsibleInterval); } } } function unlockDoor(tile) { tile.walkable = true; tile.door = true; tile.tile.tile.play(); removeMovieClip(game.tiles.key); } function openTraps() { room = _root["room" + game.room]; trapdoors[game.room] = true; r = 0; while (r < room.length) { c = 0; while (c < room[0].length) { var _local2 = (("tile_" + r) + "_") + c; if (game[_local2].trapdoor) { game[_local2].walkable = true; game[_local2].door = true; game.tiles.back[_local2].tile.play(); } c++; } r++; } } function openLocks() { room = _root["room" + game.room]; r = 0; while (r < room.length) { c = 0; while (c < room[0].length) { var _local2 = (("tile_" + r) + "_") + c; if (game[_local2].lockdoor) { game[_local2].walkable = true; game[_local2].door = true; game.tiles.back[_local2].tile.gotoAndStop(game.tiles.back[_local2].tile._totalframes); } c++; } r++; } } function openChests() { room = _root["room" + game.room]; r = 0; while (r < room.length) { c = 0; while (c < room[0].length) { var _local2 = (("tile_" + r) + "_") + c; if (game[_local2].chest) { game[_local2].openChest = true; game.tiles.back[_local2].tile.gotoAndStop(game.tiles.back[_local2].tile._totalframes); } c++; } r++; } } function getDistance(object1, object2) { xdist = object1._x - object2._x; ydist = object1._y - object2._y; totaldist = Math.sqrt((xdist * xdist) + (ydist * ydist)); return({xdist:xdist, ydist:ydist, totaldist:totaldist}); } function stopClips(object) { for (name in object) { if (typeof(object[name]) == "movieclip") { stopAllClips(object[name]); } } } function stopAllClips(object) { object.stop(); object.stoppedByFunction = true; for (name in object) { if (typeof(object[name]) == "movieclip") { stopAllClips(object[name]); } } } function playClips(object) { for (name in object) { if (typeof(object[name]) == "movieclip") { playAllClips(object[name]); } } } function playAllClips(object) { if (object.stoppedByFunction) { object.play(); } for (name in object) { if (typeof(object[name]) == "movieclip") { playAllClips(object[name]); } } } stop(); if (level4rooms == undefined) { var level4rooms = new Object(); i = 1; while (i <= 2) { level4rooms[("room" + i) + "visited"] = false; i++; } } visitedObject = level4rooms; pause_mc.name_txt.text = "Pause/Map"; pause_mc.onRelease = function () { if (!game.paused) { game.paused = true; game.tiles.attachMovie("map_d4", "map", game.tiles.getNextHighestDepth()); game.tiles.map._x = Stage.height / 2; game.tiles.map._y = Stage.height / 2; for (mc in game.tiles.map) { if ((typeof(game.tiles.map[mc]) == "movieclip") && (game.tiles.map[mc] != game.tiles.map["room" + game.room])) { if (visitedObject[mc + "visited"]) { game.tiles.map[mc].stop(); } else { game.tiles.map[mc].gotoAndStop(61); } } } } else { game.paused = false; game.tiles.map["room" + game.room].gotoAndStop(1); removeMovieClip(game.tiles.map); } }; music_mc.name_txt.text = "Music On/Off"; music_mc.onRelease = function () { if (music.music.getVolume() == 100) { music.music.setVolume(0); } else { music.music.setVolume(100); } }; quit_mc.name_txt.text = "Quit"; quit_mc.onRelease = function () { removeMovieClip(game.tiles); delete _root.newroom; gotoAndPlay ("menu"); }; var levelBeaten = so.data.level4beaten; if (levelBeaten) { i = 1; while (i <= 1) { visitedObject[("room" + i) + "visited"] = true; i++; } } var room1 = [[5, 1, 1, 1, 1, 12, 1, 1, 1, 1, 1, 8], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [6, 3, 3, 3, 3, 16, 3, 3, 3, 3, 3, 7]]; var room2 = [[5, 1, 1, 1, 1, 13, 1, 1, 1, 1, 1, 8], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [6, 3, 3, 3, 3, 14, 3, 3, 3, 3, 3, 7]]; var room3 = [[17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17], [17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17], [17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17], [17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17], [17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17], [17, 17, 17, 5, 1, 1, 1, 8, 17, 17, 17, 17], [17, 17, 17, 2, 10, 11, 9, 4, 17, 17, 17, 17], [17, 17, 17, 2, 9, 9, 10, 4, 17, 17, 17, 17], [17, 17, 17, 2, 10, 10, 11, 4, 17, 17, 17, 17], [17, 17, 17, 2, 9, 11, 10, 4, 17, 17, 17, 17], [17, 17, 17, 2, 11, 11, 9, 4, 17, 17, 17, 17], [17, 17, 17, 6, 3, 15, 3, 7, 17, 17, 17, 17]]; var game = {tilew:30, tileh:30, room:1, paused:false, enterKey:false, attackKey:false, song:"song1", showingMessage:false}; var hero = {speed:3, xtile:5, ytile:10, dir:"up", action:"idle", health:5, width:12.5, height:12.5, invinsible:false, attacking:false}; hero.maxhealth = 5; if (so.data.badge > 0) { hero.maxhealth = hero.maxhealth + Math.floor(so.data.badge / 3); } so.data.hero.maxhealth = hero.maxhealth; if (so.data.blamSword) { hero.swordType = "hero2"; hero.attack = 2; } else { hero.swordType = "hero"; hero.attack = 1; } initGame = new Object(); initHero = new Object(); for (i in game) { initGame[i] = game[i]; } for (i in hero) { initHero[i] = hero[i]; } if (_root.newroom != undefined) { game.room = _root.newroom.room; hero.xtile = _root.newroom.xtile; hero.ytile = _root.newroom.ytile; hero.health = _root.newroom.health; } hero.loseHealth = function (oppositedir) { hero.health--; if (hero.health > 0) { hero.clip.hit.play(); hero.initBounce = 0; hero.oppositedir = oppositedir; clearInterval(hero.bounceInterval); hero.bounceInterval = setInterval(bounceBack, 1, hero, hero.oppositedir, 50); hero.initInvinsible = 0; clearInterval(hero.invinsibleInterval); hero.invinsibleInterval = setInterval(setInvinsible, 5, hero, 200); } else { hero.action = "die"; moveObject(0, 0, hero); } }; game.Door = function (newroom, newX, newY) { this.newroom = newroom; this.newX = newX; this.newY = newY; }; game.Door.prototype.frame = 11; game.Door.prototype.walkable = true; game.Door.prototype.type = "y"; game.Door.prototype.door = true; game.Hole = function () { }; game.Hole.prototype.frame = 4; game.Hole.prototype.walkable = true; game.Hole.prototype.hole = true; var keys = new Array(); var inventory = new Array(); inventory[0] = new Array(); game.LockDoor = function (newroom, newX, newY, room, name) { this.newroom = newroom; this.newX = newX; this.newY = newY; if (keys[room] == undefined) { keys[room] = new Array(); } keys[room].push([this, name]); }; game.LockDoor.prototype.frame = 7; game.LockDoor.prototype.walkable = false; game.LockDoor.prototype.type = "y"; game.LockDoor.prototype.door = false; game.LockDoor.prototype.lockdoor = true; var trapdoors = new Array(); game.TrapDoor = function (newroom, newX, newY) { this.newroom = newroom; this.newX = newX; this.newY = newY; }; game.TrapDoor.prototype.frame = 15; game.TrapDoor.prototype.walkable = false; game.TrapDoor.prototype.type = "y"; game.TrapDoor.prototype.door = false; game.TrapDoor.prototype.trapdoor = true; game.OutDoor = function (newarea, newroom, newX, newY) { this.newarea = newarea; this.newroom = newroom; this.newX = newX; this.newY = newY; _root.heroHealth = hero.health; }; game.OutDoor.prototype.frame = 11; game.OutDoor.prototype.type = "y"; game.OutDoor.prototype.walkable = true; game.OutDoor.prototype.outdoor = true; var chests = new Array(); game.Chest = function (room) { this.room = room; this.name = keys[room][0][1]; }; game.Chest.prototype.chest = true; game.Chest.prototype.walkable = false; game.Chest.prototype.frame = 19; game.Chest.prototype.openChest = false; game.tile0 = function () { }; game.tile0.prototype = new game.Hole(); game.tile1 = function () { }; game.tile1.prototype.frame = 1; game.tile2 = function () { }; game.tile2.prototype.frame = 2; game.tile3 = function () { }; game.tile3.prototype.frame = 3; game.tile4 = function () { }; game.tile4.prototype.frame = 4; game.tile5 = function () { }; game.tile5.prototype.frame = 24; game.tile6 = function () { }; game.tile6.prototype.frame = 25; game.tile7 = function () { }; game.tile7.prototype.frame = 26; game.tile8 = function () { }; game.tile8.prototype.frame = 27; game.tile9 = function () { }; game.tile9.prototype.frame = 5; game.tile9.prototype.walkable = true; game.tile10 = function () { }; game.tile10.prototype.frame = 29; game.tile10.prototype.walkable = true; game.tile11 = function () { }; game.tile11.prototype.frame = 30; game.tile11.prototype.walkable = true; game.tile12 = function () { }; game.tile12.prototype = new game.Door(2, 5, 10); game.tile13 = function () { }; game.tile13.prototype = new game.TrapDoor(3, 5, 10); game.tile14 = function () { }; game.tile14.prototype = new game.TrapDoor(1, 5, 1); game.tile14.prototype.frame = 17; game.tile15 = function () { }; game.tile15.prototype = new game.Door(2, 5, 1); game.tile15.prototype.frame = 13; game.tile16 = function () { }; game.tile16.prototype = new game.OutDoor("overworld", 3, 5, 7); game.tile16.prototype.frame = 13; game.tile17 = function () { }; game.tile17.prototype.frame = 28; var enemies = [[], [], [[6, 5, 2]]]; game.Enemy = function () { }; game.Enemy.prototype.action = "walk"; game.Enemy.prototype.dir = "down"; game.Enemy.prototype.xdir = 1; game.Enemy.prototype.ydir = 0; game.Enemy.prototype.speed = 2; game.Enemy.prototype.turnchance = 3; game.Enemy.prototype.health = 2; game.Enemy.prototype.width = 12.5; game.Enemy.prototype.height = 12.5; game.enemy1 = function () { }; game.enemy1.prototype = new game.Enemy(); game.enemy1.prototype.health = 3; game.enemy2 = function () { }; game.enemy2.prototype = new game.Enemy(); game.enemy2.prototype.xdir = 0; game.enemy2.prototype.ydir = 1; game.enemy6 = function () { }; game.enemy6.prototype = new game.Enemy(); game.enemy6.prototype.speed = 5; game.enemy6.prototype.health = 16; game.enemy6.prototype.ydir = 1; game.enemy6.prototype.action = "idle"; game.enemy6.prototype.dir = "down"; game.enemy6.prototype.width = 15; game.enemy6.prototype.actionOrder = ["idle", "boomerang", "idle", "boomerang", "boomerang", "summon", "swfcheck"]; game.enemy6.prototype.currentAction = 0; var d = 1; var enterTooLong = 0; var attackTooLong = 0; Key.removeListener(key); delete key; var key = new Object(); key.onKeyDown = function () { if (hero.action != "die") { if (Key.isDown(83)) { attackTooLong++; if (attackTooLong <= 1) { game.attackKey = true; } else { game.attackKey = false; } } if (Key.isDown(65)) { enterTooLong++; if (enterTooLong <= 1) { game.enterKey = true; openChest = false; i = 0; while (i < chests[game.room].length) { if (chests[game.room][i].openChest) { openChest = true; } i++; } if (levelBeaten) { openChest = true; } object = hero; checkCorners(object.x, object.y - object.speed, object); if ((((object.tileUpLeft == object.tileUpRight) && (object.tileUpLeft.chest)) && (!openChest)) && (object.dir == "up")) { object.tileUpLeft.tile.tile.play(); object.tileUpLeft.openChest = true; inventory[0].push([object.tileUpLeft.room, object.tileUpLeft.name, false, object.tileUpLeft.bluekey]); if (chests[game.room] == undefined) { chests[game.room] = new Array(); } chests[game.room].push(object.tileUpLeft); if (object.tileUpLeft.bluekey) { game.tiles.attachMovie("bluekey", "key", game.tiles.getNextHighestDepth()); } else { game.tiles.attachMovie("key", "key", game.tiles.getNextHighestDepth()); } game.tiles.key._y = Stage.height - (game.tiles.key._height / 2); game.tiles.key._x = 10; } } else { game.enterKey = false; } } } }; key.onKeyUp = function () { if (Key.getCode() == 83) { game.attackKey = false; attackTooLong = 0; } if (Key.getCode() == 65) { game.enterKey = false; enterTooLong = 0; } }; Key.addListener(key); this.onEnterFrame = function () { checkKeys(); moveEnemy(); checkAttack(); if (game.paused) { stopClips(hero.clip); } }; buildRoom(_root["room" + game.room]);
Frame 65
function buildRoom(room) { visitedObject[("room" + game.room) + "visited"] = true; if (music.song != game.song) { attachMovie(game.song, "music", 10); } _root.createEmptyMovieClip("tiles", 0); tiles.createEmptyMovieClip("back", 0); game.tiles = _root.tiles; game.tiles.setMask(mask_mc); r = 0; while (r < room.length) { c = 0; while (c < room[0].length) { var name = ((("tile_" + r) + "_") + c); game[name] = new game["tile" + room[r][c]](); game[name].depth = (((r * game.tileh) * Stage.height) + (c * game.tilew)) + 1; if (((game[name].walkable || (game[name].lockdoor)) || (game[name].trapdoor)) || (game[name].chest)) { game.tiles.back.attachMovie("tile", name, game[name].depth); game.tiles.back[name]._x = c * game.tilew; game.tiles.back[name]._y = r * game.tileh; game[name].tile = game.tiles.back[name]; game.tiles.back[name].gotoAndStop(game[name].frame); } else { game.tiles.attachMovie("tile", name, game[name].depth); game.tiles[name]._x = c * game.tilew; game.tiles[name]._y = r * game.tileh; game[name].tile = game.tiles[name]; game.tiles[name].gotoAndStop(game[name].frame); } c++; } r++; } hero.x = (game.tilew * hero.xtile) + (game.tilew / 2); hero.y = (game.tileh * hero.ytile) + (game.tileh / 2); hero.initX = hero.xtile; hero.initY = hero.ytile; hero.depth = ((hero.y * 300) + hero.x) + 1; game.tiles.attachMovie(hero.swordType, "theGuy", hero.depth); hero.clip = game.tiles.theGuy; hero.clip._x = hero.x; hero.clip._y = hero.y; hero.clip.gotoAndStop(hero.action + hero.dir); game.tiles.createEmptyMovieClip("enemyCheck", 1E15); game.tiles.enemyCheck.onEnterFrame = function () { opentraps = true; i = 0; while (i < enemies[game.room].length) { name = (("enemy_" + game.room) + "_") + i; if ((("." + game[name].clip) != ".") && (!trapdoors[game.room])) { opentraps = false; } i++; } if (opentraps || (levelBeaten)) { openTraps(); delete this.onEnterFrame; removeMovieClip(this); } }; i = 0; while (i < enemies[game.room].length) { name = (("enemy_" + game.room) + "_") + i; game[name] = new game["enemy" + enemies[game.room][i][0]](); game[name].type = enemies[game.room][i][0]; game[name].xtile = enemies[game.room][i][1]; game[name].ytile = enemies[game.room][i][2]; game[name].x = (game.tilew * game[name].xtile) + (game.tilew / 2); game[name].y = (game.tileh * game[name].ytile) + (game.tileh / 2); game[name].depth = ((game[name].y * 300) + game[name].x) + 1; game.tiles.attachMovie("enemy" + game[name].type, name, game[name].depth); game[name].clip = game.tiles[name]; game[name].clip._x = game[name].x; game[name].clip._y = game[name].y; game[name].clip.gotoAndStop(game[name].action + game[name].dir); game[name].clip.object = game[name]; if (game[name].type != 7) { game[name].clip.onEnterFrame = function () { if (((this.hitTest(hero.clip.hitbox) && (!this.hitTest(hero.clip.hero.sword))) && (!hero.invinsible)) && (this.object.action != "die")) { hero.loseHealth(this.object.dir); } else if (this.hitTest(hero.clip.hero.sword) && (!this.object.invinsible)) { this.object.health = this.object.health - hero.attack; if (this.object.health > 0) { this.object.initBounce = 0; this.object.oppositedir = hero.dir; this.object.bounceInterval = setInterval(bounceBack, 5, this.object, this.object.oppositedir, 50); this.object.initInvinsible = 0; this.object.invinsibleInterval = setInterval(setInvinsible, 2, this.object, 200); } else { this.object.action = "die"; moveObject(0, 0, this.object); } } }; } else if (levelBeaten) { removeMovieClip(game[name].clip); delete game[name]; } else { showBossMessage("Strawberry Clock", "~Mysterious Clock General~"); attachMovie("song2", "music", 10); pause_mc.name_txt.text = "DISABLED"; delete pause_mc.onRelease; } i++; } if (levelBeaten) { openLocks(); openChests(); } i = 0; while (i < inventory[0].length) { room = inventory[0][i][0]; name = inventory[0][i][1]; unlocked = inventory[0][i][2]; bluekey = inventory[0][i][3]; if ((room == game.room) && (unlocked)) { game[name].walkable = true; game[name].door = true; frame = game.tiles.back[name].tile._totalframes; game.tiles.back[name].tile.gotoAndStop(frame); } if (!unlocked) { if (bluekey) { game.tiles.attachMovie("bluekey", "key", game.tiles.getNextHighestDepth()); } else { game.tiles.attachMovie("key", "key", game.tiles.getNextHighestDepth()); } game.tiles.key._y = Stage.height - (game.tiles.key._height / 2); game.tiles.key._x = 10; } i++; } i = 0; while (i < chests[game.room].length) { chests[game.room][i].tile.tile.gotoAndStop(chests[game.room][i].tile.tile._totalframes); chests[game.room][i].openChest = true; i++; } game.tiles.createEmptyMovieClip("hud", 100000); game.tiles.hud._x = 390; game.tiles.hud._y = 5; i = 0; while (i < hero.maxhealth) { game.tiles.hud.attachMovie("heart", "heart" + i, i); game.tiles.hud["heart" + i]._x = i * 20; if (i >= 5) { game.tiles.hud["heart" + i]._x = (i - 5) * 20; game.tiles.hud["heart" + i]._y = 20; } i++; } game.tiles.hud.onEnterFrame = function () { i = 0; while (i < hero.maxhealth) { if (hero.health > i) { this["heart" + i].gotoAndStop("full"); } else { this["heart" + i].gotoAndStop("empty"); } i++; } }; } function checkKeys() { if ((hero.action != "attack") && (hero.action != "die")) { hero.action = "idle"; left = Key.isDown(37); right = Key.isDown(39); up = Key.isDown(38); down = Key.isDown(40); if (left && (!right)) { moveObject(-1, 0, hero); } if (right && (!left)) { moveObject(1, 0, hero); } if (up && (!down)) { moveObject(0, -1, hero); } if (down && (!up)) { moveObject(0, 1, hero); } } hero.clip.gotoAndStop(hero.action + hero.dir); } function moveObject(xdir, ydir, object) { if (!object.clip.spinning) { speed = object.speed; } else { speed = object.spinspeed; } if (object.action == "barge") { speed = object.bargespeed; } if (!game.paused) { if (object.action != "die") { left = Key.isDown(37); right = Key.isDown(39); up = Key.isDown(38); down = Key.isDown(40); checkCorners(object.x + (speed * xdir), object.y, object); if (xdir == -1) { if (object.upleft && (object.downleft)) { object.x = object.x + (speed * xdir); } else if (object.upleft || (object.tileUpLeft.lockdoor)) { object.y--; } else if (object.downleft || (object.tileDownLeft.lockdoor)) { object.y++; } else { object.x = (object.xtile * game.tilew) + object.width; } if ((object.action != "spin") && (object.action != "barge")) { object.action = "walk"; } if ((!up) && (!down)) { object.dir = "left"; } if (((object.tileUpLeft == object.tileDownLeft) && (object.tileUpLeft.lockdoor)) && (object == hero)) { i = 0; while (i < inventory[0].length) { room = inventory[0][i][0]; tile = game[inventory[0][i][1]]; unlocked = inventory[0][i][2]; if (((tile == object.tileUpLeft) && (!unlocked)) && (room == game.room)) { unlockDoor(tile); inventory[0][i][2] = true; } i++; } } } if (xdir == 1) { if (object.upright && (object.downright)) { object.x = object.x + (speed * xdir); } else if (object.upright || (object.tileUpRight.lockdoor)) { object.y--; } else if (object.downright || (object.tileDownRight.lockdoor)) { object.y++; } else { object.x = (((object.xtile + 1) * game.tilew) - object.width) - 1; } if ((object.action != "spin") && (object.action != "barge")) { object.action = "walk"; } if ((!up) && (!down)) { object.dir = "right"; } if (((object.tileUpRight == object.tileDownRight) && (object.tileUpRight.lockdoor)) && (object == hero)) { i = 0; while (i < inventory[0].length) { room = inventory[0][i][0]; tile = game[inventory[0][i][1]]; unlocked = inventory[0][i][2]; if (((tile == object.tileUpLeft) && (!unlocked)) && (room == game.room)) { unlockDoor(tile); inventory[0][i][2] = true; } i++; } } } checkCorners(object.x, object.y + (speed * ydir), object); if (ydir == -1) { if (object.upleft && (object.upright)) { object.y = object.y + (speed * ydir); } else if (object.upleft || (object.tileUpLeft.lockdoor)) { object.x--; } else if (object.upright || (object.tileUpRight.lockdoor)) { object.x++; } else { object.y = (object.ytile * game.tileh) + object.height; } if ((object.action != "spin") && (object.action != "barge")) { object.action = "walk"; } object.dir = "up"; if (((object.tileUpLeft == object.tileUpRight) && (object.tileUpLeft.lockdoor)) && (object == hero)) { i = 0; while (i < inventory[0].length) { room = inventory[0][i][0]; tile = game[inventory[0][i][1]]; unlocked = inventory[0][i][2]; if (((tile == object.tileUpLeft) && (!unlocked)) && (room == game.room)) { unlockDoor(tile); inventory[0][i][2] = true; } i++; } } } if (ydir == 1) { if (object.downleft && (object.downright)) { object.y = object.y + (speed * ydir); } else if (object.downleft || (object.tileDownLeft.lockdoor)) { object.x--; } else if (object.downright || (object.tileDownRight.lockdoor)) { object.x++; } else { object.y = (((object.ytile + 1) * game.tileh) - object.height) - 1; } if ((object.action != "spin") && (object.action != "barge")) { object.action = "walk"; } object.dir = "down"; if (((object.tileDownLeft == object.tileDownRight) && (object.tileDownLeft.lockdoor)) && (object == hero)) { i = 0; while (i < inventory[0].length) { room = inventory[0][i][0]; tile = game[inventory[0][i][1]]; unlocked = inventory[0][i][2]; if (((tile == object.tileUpLeft) && (!unlocked)) && (room == game.room)) { unlockDoor(tile); inventory[0][i][2] = true; } i++; } } } object.xtile = Math.floor(object.x / game.tilew); object.ytile = Math.floor(object.y / game.tileh); object.clip._x = object.x; object.clip._y = object.y; } if ((object.action != "spin") && (object.action != "barge")) { object.clip.gotoAndStop(object.action + object.dir); } else if (object.action == "barge") { if (getDistance(object.clip, hero.clip).xdist > 0) { object.clip.gotoAndStop(object.action + "right"); } else { object.clip.gotoAndStop(object.action + "left"); } } else { object.clip.gotoAndStop(object.action); } if ((object == hero) && (game[(("tile_" + object.ytile) + "_") + object.xtile].door)) { changeMap(); } if ((object == hero) && (game[(("tile_" + object.ytile) + "_") + object.xtile].outdoor)) { changeArea(); } object.depth = ((object.y * 300) + object.x) + 1; object.clip.swapDepths(object.depth); return(true); } } function checkCorners(x, y, object) { object.leftX = Math.floor((x - object.width) / game.tilew); object.rightX = Math.floor((x + object.width) / game.tilew); object.upY = Math.floor((y - object.height) / game.tileh); object.downY = Math.floor((y + object.height) / game.tileh); object.tileUpLeft = game[(("tile_" + object.upY) + "_") + object.leftX]; object.tileUpRight = game[(("tile_" + object.upY) + "_") + object.rightX]; object.tileDownLeft = game[(("tile_" + object.downY) + "_") + object.leftX]; object.tileDownRight = game[(("tile_" + object.downY) + "_") + object.rightX]; object.upleft = game[(("tile_" + object.upY) + "_") + object.leftX].walkable; object.upright = game[(("tile_" + object.upY) + "_") + object.rightX].walkable; object.downleft = game[(("tile_" + object.downY) + "_") + object.leftX].walkable; object.downright = game[(("tile_" + object.downY) + "_") + object.rightX].walkable; } function moveEnemy() { i = 0; while (i < enemies[game.room].length) { var _local2 = (("enemy_" + game.room) + "_") + i; var _local1 = game[_local2]; if (!_local1.clip.spinning) { speed = _local1.speed; } else { speed = _local1.spinspeed; } if (!game.paused) { playClips(_local1.clip); checkCorners(_local1.x + (speed * _local1.xdir), _local1.y + (speed * _local1.ydir), _local1); switch (_local1.type) { case 1 : if ((getDistance(_local1.clip, hero.clip).totaldist > 100) || (_local1.clip.hitTest(hero.clip.hitbox))) { if (((_local1.upleft && (_local1.upright)) && (_local1.downleft)) && (_local1.downright)) { moveObject(_local1.xdir, _local1.ydir, _local1); } else { var _local6 = Math.floor((Math.random() * 4) + 1); switch (_local6) { case 1 : _local1.xdir = -1; _local1.ydir = 0; break; case 2 : _local1.xdir = 1; _local1.ydir = 0; break; case 3 : _local1.xdir = 0; _local1.ydir = -1; break; case 4 : _local1.xdir = 0; _local1.ydir = 1; } } } else { distance = getDistance(_local1.clip, hero.clip); if (Math.abs(distance.xdist) > 10) { if (distance.xdist < 0) { _local1.xdir = 1; _local1.ydir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.xdir = -1; _local1.ydir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } } else if (distance.ydist < 0) { _local1.ydir = 1; _local1.xdir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.ydir = -1; _local1.xdir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } } break; case 2 : if ((getDistance(_local1.clip, hero.clip).totaldist > 100) || (_local1.clip.hitTest(hero.clip.hitbox))) { var _local6 = Math.random() * 100; if ((((_local1.upleft && (_local1.upright)) && (_local1.downleft)) && (_local1.downright)) && (_local6 > _local1.turnchance)) { moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local6 = Math.floor((Math.random() * 4) + 1); switch (_local6) { case 1 : _local1.xdir = -1; _local1.ydir = 0; break; case 2 : _local1.xdir = 1; _local1.ydir = 0; break; case 3 : _local1.xdir = 0; _local1.ydir = -1; break; case 4 : _local1.xdir = 0; _local1.ydir = 1; } } } else { distance = getDistance(_local1.clip, hero.clip); if (Math.abs(distance.xdist) > 10) { if (distance.xdist < 0) { _local1.xdir = 1; _local1.ydir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.xdir = -1; _local1.ydir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } } else if (distance.ydist < 0) { _local1.ydir = 1; _local1.xdir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.ydir = -1; _local1.xdir = 0; moveObject(_local1.xdir, _local1.ydir, _local1); } } break; case 7 : if (_local1.health > 0) { _local1.invinsible = true; if (_local1.currentAction > _local1.actionOrder.length) { _local1.currentAction = 0; } switch (_local1.actionOrder[Math.floor(_local1.currentAction)]) { case "move" : _local1.clip.gotoAndStop("idle"); _local1.clip._rotation = 0; _local1.b = 0; _local1.hit = false; if (_local1.x < (hero.x - 5)) { moveObject(1, 0, _local1); } else if (_local1.x > (hero.x + 5)) { moveObject(-1, 0, _local1); } if (_local1.y < (hero.y - 5)) { moveObject(0, 1, _local1); } else if (_local1.y > (hero.y + 5)) { moveObject(0, -1, _local1); } _local1.currentAction = _local1.currentAction + 0.005; if (_local1.clip.hitbox.hitTest(hero.clip.hitbox) && (!hero.invinsible)) { hero.loseHealth(_local1.dir); } break; case "b" : var _local3 = hero.x - _local1.x; var _local4 = hero.y - _local1.y; var _local5 = Math.atan2(_local4, _local3); _local1.clip._rotation = Number(((_local5 * 360) / (Math.PI*2)) + 90); _local1.clip.gotoAndStop("b"); if (_local1.b >= 5) { _local1.b = 0; _local1.currentAction++; } break; case "summon" : _local1.clip.gotoAndStop("summon"); _local1.clip._rotation = 0; _local1.b = 0; break; case "jam" : _local1.clip.gotoAndStop("jam"); _local1.clip._rotation = 0; _local1.b = 0; if (!(_local1.clip.hitTest(hero.clip.hero.sword) && (!_local1.hit))) { break; } _local1.hit = true; _local1.health = _local1.health - hero.attack; if (_local1.health <= 0) { break; } _local1.initInvinsible = 0; _local1.invinsibleInterval = setInterval(setInvinsible, 5, _local1, 200); } } else { _local1.clip.gotoAndStop("die"); } break; default : if (((_local1.upleft && (_local1.upright)) && (_local1.downleft)) && (_local1.downright)) { moveObject(_local1.xdir, _local1.ydir, _local1); } else { _local1.xdir = _local1.xdir * -1; _local1.ydir = _local1.ydir * -1; } } } else { stopClips(_local1.clip); } i++; } } function checkAttack() { if ((game.attackKey && (hero.action != "attack")) && (!game.paused)) { hero.action = "attack"; } } function changeMap(sameRoom, notile) { if (sameRoom == undefined) { var _local2 = (("tile_" + hero.ytile) + "_") + hero.xtile; if (game[_local2].type == "x") { hero.xtile = game[_local2].newX; } else if (game[_local2].type == "y") { hero.ytile = game[_local2].newY; } else { hero.xtile = game[_local2].newX; hero.ytile = game[_local2].newY; } hero.x = (hero.xtile * game.tilew) + hero.width; hero.y = (((hero.ytile + 1) * game.tileh) - object.height) - 1; hero.clip._x = hero.x; hero.clip._y = hero.y; } d = 0; removeMovieClip(game.tiles); if (sameRoom == undefined) { game.room = game[_local2].newroom; } buildRoom(_root["room" + game.room]); if (sameRoom == undefined) { } } function resetArea() { for (i in initHero) { hero[i] = initHero[i]; } hero.x = (hero.xtile * game.tilew) + hero.width; hero.y = (((hero.ytile + 1) * game.tileh) - object.height) - 1; hero.clip._x = hero.x; hero.clip._y = hero.y; removeMovieClip(game.tiles); game.room = initGame.room; buildRoom(_root["room" + game.room]); } function changeArea(notile) { if (notile == undefined) { var _local2 = (("tile_" + hero.ytile) + "_") + hero.xtile; if (game[_local2].type == "x") { hero.xtile = game[_local2].newX; } else if (game[_local2].type == "y") { hero.ytile = game[_local2].newY; } else { hero.xtile = game[_local2].newX; hero.ytile = game[_local2].newY; } hero.x = (hero.xtile * game.tilew) + hero.width; hero.y = (((hero.ytile + 1) * game.tileh) - object.height) - 1; hero.clip._x = hero.x; hero.clip._y = hero.y; d = 0; removeMovieClip(game.tiles); _root.newroom = {room:game[_local2].newroom, xtile:hero.xtile, ytile:hero.ytile, health:hero.health}; gotoAndStop(game[_local2].newarea); } else { hero.xtile = notile.newX; hero.ytile = notile.newY; hero.x = (hero.xtile * game.tilew) + hero.width; hero.y = (((hero.ytile + 1) * game.tileh) - object.height) - 1; hero.clip._x = hero.x; hero.clip._y = hero.y; d = 0; removeMovieClip(game.tiles); if (notile.health == undefined) { health = hero.health; } else { health = notile.health; } _root.newroom = {room:notile.newroom, xtile:hero.xtile, ytile:hero.ytile, health:health}; gotoAndStop(notile.newarea); } } function fall(object) { object.xtile = object.initX; object.ytile = object.initY; object.x = (object.xtile * game.tilew) + (game.tilew / 2); object.y = (object.ytile * game.tileh) + (game.tileh / 2); object.clip._x = object.x; object.clip._y = object.y; } function showMessage(txt) { game.showingMessage = true; attachMovie("message", "msg", this.getNextHighestDepth()); msg.text_txt.text = ""; msg._y = Stage.height - msg._height; msg.txt = txt; msg.continue_mc._visible = false; msg.onEnterFrame = function () { enterTooLong = 0; if (game.enterKey) { msg.text_txt.text = msg.txt; msg.onEnterFrame = function () { if (game.enterKey) { game.paused = false; game.showingMessage = false; removeMovieClip(msg); } }; game.enterKey = false; msg.continue_mc._visible = true; sound.attachSound("beep2"); sound.start(); clearInterval(showMessageInterval); } }; _root.letterNumber = 0; game.paused = true; var sound = new Sound(); showMessageInterval = setInterval(showLetter, 10, msg, sound); } function showLetter(msg, sound) { sound.attachSound("beep1"); sound.start(); txtArray = msg.txt.split(""); msg.text_txt.text = msg.text_txt.text + txtArray[_root.letterNumber]; if ((_root.letterNumber + 1) < txtArray.length) { _root.letterNumber++; } else { msg.onEnterFrame = function () { if (game.enterKey) { game.paused = false; game.showingMessage = false; removeMovieClip(msg); } }; game.enterKey = false; msg.continue_mc._visible = true; sound.attachSound("beep2"); sound.start(); clearInterval(showMessageInterval); } } function showBossMessage(name, desc) { game.paused = true; attachMovie("messageBoss", "bossMsg", this.getNextHighestDepth()); bossMsg._x = Stage.height / 2; bossMsg._y = Stage.height / 2; bossMsg.txt_mc.name_txt.text = name; bossMsg.txt_mc.desc_txt.text = desc; bossMsg.onEnterFrame = function () { if (this._currentframe == this._totalframes) { game.paused = false; removeMovieClip(this); } }; } function bounceBack(object, dir, max) { if (!game.paused) { if (object.oppositedir == "left") { moveObject(-1, 0, object); } else if (object.oppositedir == "right") { moveObject(1, 0, object); } else if (object.oppositedir == "up") { moveObject(0, -1, object); } else if (object.oppositedir == "down") { moveObject(0, 1, object); } object.initBounce++; if (object.initBounce == max) { clearInterval(object.bounceInterval); } } } function setInvinsible(object, max) { if (!game.paused) { object.invinsible = true; object.clip._alpha = 50; object.initInvinsible++; if (object.initInvinsible == max) { object.invinsible = false; object.clip._alpha = 100; clearInterval(object.invinsibleInterval); } } } function unlockDoor(tile) { tile.walkable = true; tile.door = true; tile.tile.tile.play(); removeMovieClip(game.tiles.key); } function openTraps() { room = _root["room" + game.room]; trapdoors[game.room] = true; r = 0; while (r < room.length) { c = 0; while (c < room[0].length) { var _local2 = (("tile_" + r) + "_") + c; if (game[_local2].trapdoor) { game[_local2].walkable = true; game[_local2].door = true; game.tiles.back[_local2].tile.play(); } c++; } r++; } } function openLocks() { room = _root["room" + game.room]; r = 0; while (r < room.length) { c = 0; while (c < room[0].length) { var _local2 = (("tile_" + r) + "_") + c; if (game[_local2].lockdoor) { game[_local2].walkable = true; game[_local2].door = true; game.tiles.back[_local2].tile.gotoAndStop(game.tiles.back[_local2].tile._totalframes); } c++; } r++; } } function openChests() { room = _root["room" + game.room]; r = 0; while (r < room.length) { c = 0; while (c < room[0].length) { var _local2 = (("tile_" + r) + "_") + c; if (game[_local2].chest) { game[_local2].openChest = true; game.tiles.back[_local2].tile.gotoAndStop(game.tiles.back[_local2].tile._totalframes); } c++; } r++; } } function getDistance(object1, object2) { xdist = object1._x - object2._x; ydist = object1._y - object2._y; totaldist = Math.sqrt((xdist * xdist) + (ydist * ydist)); return({xdist:xdist, ydist:ydist, totaldist:totaldist}); } function stopClips(object) { for (name in object) { if (typeof(object[name]) == "movieclip") { stopAllClips(object[name]); } } } function stopAllClips(object) { object.stop(); object.stoppedByFunction = true; for (name in object) { if (typeof(object[name]) == "movieclip") { stopAllClips(object[name]); } } } function playClips(object) { for (name in object) { if (typeof(object[name]) == "movieclip") { playAllClips(object[name]); } } } function playAllClips(object) { if (object.stoppedByFunction) { object.play(); } for (name in object) { if (typeof(object[name]) == "movieclip") { playAllClips(object[name]); } } } stop(); if (level5rooms == undefined) { var level5rooms = new Object(); i = 1; while (i <= 22) { level5rooms[("room" + i) + "visited"] = false; i++; } } visitedObject = level5rooms; pause_mc.name_txt.text = "Pause/Map"; pause_mc.onRelease = function () { if (!game.paused) { game.paused = true; game.tiles.attachMovie("map_d5", "map", game.tiles.getNextHighestDepth()); game.tiles.map._x = Stage.height / 2; game.tiles.map._y = Stage.height / 2; for (mc in game.tiles.map) { if ((typeof(game.tiles.map[mc]) == "movieclip") && (game.tiles.map[mc] != game.tiles.map["room" + game.room])) { if (visitedObject[mc + "visited"]) { game.tiles.map[mc].stop(); } else { game.tiles.map[mc].gotoAndStop(61); } } } } else { game.paused = false; game.tiles.map["room" + game.room].gotoAndStop(1); removeMovieClip(game.tiles.map); } }; music_mc.name_txt.text = "Music On/Off"; music_mc.onRelease = function () { if (music.music.getVolume() == 100) { music.music.setVolume(0); } else { music.music.setVolume(100); } }; quit_mc.name_txt.text = "Quit"; quit_mc.onRelease = function () { removeMovieClip(game.tiles); delete _root.newroom; gotoAndPlay ("menu"); }; var levelBeaten = so.data.level5beaten; if (levelBeaten) { i = 1; while (i <= 22) { visitedObject[("room" + i) + "visited"] = true; i++; } } var room1 = [[5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8], [2, 10, 9, 11, 10, 9, 10, 9, 11, 9, 10, 4], [2, 11, 11, 10, 11, 9, 11, 10, 11, 10, 10, 4], [2, 9, 10, 10, 11, 10, 10, 9, 9, 11, 11, 4], [2, 9, 10, 10, 10, 11, 9, 11, 11, 9, 11, 4], [2, 11, 11, 10, 10, 9, 10, 11, 9, 11, 11, 4], [2, 10, 10, 9, 10, 11, 9, 9, 9, 10, 10, 4], [2, 9, 11, 9, 9, 10, 10, 10, 9, 10, 9, 4], [2, 11, 9, 9, 10, 10, 11, 9, 10, 9, 11, 4], [2, 9, 10, 11, 10, 11, 9, 11, 10, 11, 9, 4], [2, 11, 9, 10, 11, 11, 9, 9, 11, 10, 9, 4], [6, 3, 3, 3, 3, 12, 3, 3, 3, 3, 3, 7]]; var game = {tilew:30, tileh:30, room:1, paused:false, enterKey:false, attackKey:false, song:"song1", showingMessage:false}; var hero = {speed:3, xtile:5, ytile:10, dir:"up", action:"idle", health:5, width:12.5, height:12.5, invinsible:false, attacking:false}; hero.maxhealth = 5; if (so.data.badge > 0) { hero.maxhealth = hero.maxhealth + Math.floor(so.data.badge / 3); } so.data.hero.maxhealth = hero.maxhealth; if (so.data.blamSword) { hero.swordType = "hero2"; hero.attack = 2; } else { hero.swordType = "hero"; hero.attack = 1; } initGame = new Object(); initHero = new Object(); for (i in game) { initGame[i] = game[i]; } for (i in hero) { initHero[i] = hero[i]; } if (_root.newroom != undefined) { game.room = _root.newroom.room; hero.xtile = _root.newroom.xtile; hero.ytile = _root.newroom.ytile; hero.health = _root.newroom.health; } hero.loseHealth = function (oppositedir) { hero.health--; if (hero.health > 0) { hero.clip.hit.play(); hero.initBounce = 0; hero.oppositedir = oppositedir; clearInterval(hero.bounceInterval); hero.bounceInterval = setInterval(bounceBack, 1, hero, hero.oppositedir, 50); hero.initInvinsible = 0; clearInterval(hero.invinsibleInterval); hero.invinsibleInterval = setInterval(setInvinsible, 5, hero, 200); } else { hero.action = "die"; moveObject(0, 0, hero); } }; game.Door = function (newroom, newX, newY) { this.newroom = newroom; this.newX = newX; this.newY = newY; }; game.Door.prototype.frame = 11; game.Door.prototype.walkable = true; game.Door.prototype.type = "y"; game.Door.prototype.door = true; game.Hole = function () { }; game.Hole.prototype.frame = 4; game.Hole.prototype.walkable = true; game.Hole.prototype.hole = true; var keys = new Array(); var inventory = new Array(); inventory[0] = new Array(); game.LockDoor = function (newroom, newX, newY, room, name) { this.newroom = newroom; this.newX = newX; this.newY = newY; if (keys[room] == undefined) { keys[room] = new Array(); } keys[room].push([this, name]); }; game.LockDoor.prototype.frame = 7; game.LockDoor.prototype.walkable = false; game.LockDoor.prototype.type = "y"; game.LockDoor.prototype.door = false; game.LockDoor.prototype.lockdoor = true; var trapdoors = new Array(); game.TrapDoor = function (newroom, newX, newY) { this.newroom = newroom; this.newX = newX; this.newY = newY; }; game.TrapDoor.prototype.frame = 15; game.TrapDoor.prototype.walkable = false; game.TrapDoor.prototype.type = "y"; game.TrapDoor.prototype.door = false; game.TrapDoor.prototype.trapdoor = true; game.OutDoor = function (newarea, newroom, newX, newY) { this.newarea = newarea; this.newroom = newroom; this.newX = newX; this.newY = newY; _root.heroHealth = hero.health; }; game.OutDoor.prototype.frame = 11; game.OutDoor.prototype.type = "y"; game.OutDoor.prototype.walkable = true; game.OutDoor.prototype.outdoor = true; var chests = new Array(); game.Chest = function (room) { this.room = room; this.name = keys[room][0][1]; }; game.Chest.prototype.chest = true; game.Chest.prototype.walkable = false; game.Chest.prototype.frame = 19; game.Chest.prototype.openChest = false; game.tile0 = function () { }; game.tile0.prototype = new game.Hole(); game.tile1 = function () { }; game.tile1.prototype.frame = 1; game.tile2 = function () { }; game.tile2.prototype.frame = 2; game.tile3 = function () { }; game.tile3.prototype.frame = 3; game.tile4 = function () { }; game.tile4.prototype.frame = 4; game.tile5 = function () { }; game.tile5.prototype.frame = 24; game.tile6 = function () { }; game.tile6.prototype.frame = 25; game.tile7 = function () { }; game.tile7.prototype.frame = 26; game.tile8 = function () { }; game.tile8.prototype.frame = 27; game.tile9 = function () { }; game.tile9.prototype.frame = 5; game.tile9.prototype.walkable = true; game.tile10 = function () { }; game.tile10.prototype.frame = 29; game.tile10.prototype.walkable = true; game.tile11 = function () { }; game.tile11.prototype.frame = 30; game.tile11.prototype.walkable = true; game.tile12 = function () { }; game.tile12.prototype = new game.TrapDoor(1, 5, 5); game.tile12.prototype.frame = 17; var enemies = [[], [[7, 5, 5]]]; game.Enemy = function () { }; game.Enemy.prototype.action = "walk"; game.Enemy.prototype.dir = "down"; game.Enemy.prototype.xdir = 1; game.Enemy.prototype.ydir = 0; game.Enemy.prototype.speed = 2; game.Enemy.prototype.turnchance = 3; game.Enemy.prototype.health = 2; game.Enemy.prototype.width = 12.5; game.Enemy.prototype.height = 12.5; game.enemy1 = function () { }; game.enemy1.prototype = new game.Enemy(); game.enemy1.prototype.health = 3; game.enemy2 = function () { }; game.enemy2.prototype = new game.Enemy(); game.enemy2.prototype.xdir = 0; game.enemy2.prototype.ydir = 1; game.enemy7 = function () { }; game.enemy7.prototype = new game.Enemy(); game.enemy7.prototype.speed = 1; game.enemy7.prototype.health = 10; game.enemy7.prototype.width = 20; game.enemy7.prototype.actionOrder = ["move", "b", "b", "summon", "move", "b", "jam", "move"]; game.enemy7.prototype.currentAction = 0; var d = 1; var enterTooLong = 0; var attackTooLong = 0; Key.removeListener(key); delete key; var key = new Object(); key.onKeyDown = function () { if (hero.action != "die") { if (Key.isDown(83)) { attackTooLong++; if (attackTooLong <= 1) { game.attackKey = true; } else { game.attackKey = false; } } if (Key.isDown(65)) { enterTooLong++; if (enterTooLong <= 1) { game.enterKey = true; openChest = false; i = 0; while (i < chests[game.room].length) { if (chests[game.room][i].openChest) { openChest = true; } i++; } if (levelBeaten) { openChest = true; } object = hero; checkCorners(object.x, object.y - object.speed, object); if ((((object.tileUpLeft == object.tileUpRight) && (object.tileUpLeft.chest)) && (!openChest)) && (object.dir == "up")) { object.tileUpLeft.tile.tile.play(); object.tileUpLeft.openChest = true; inventory[0].push([object.tileUpLeft.room, object.tileUpLeft.name, false, object.tileUpLeft.bluekey]); if (chests[game.room] == undefined) { chests[game.room] = new Array(); } chests[game.room].push(object.tileUpLeft); if (object.tileUpLeft.bluekey) { game.tiles.attachMovie("bluekey", "key", game.tiles.getNextHighestDepth()); } else { game.tiles.attachMovie("key", "key", game.tiles.getNextHighestDepth()); } game.tiles.key._y = Stage.height - (game.tiles.key._height / 2); game.tiles.key._x = 10; } } else { game.enterKey = false; } } } }; key.onKeyUp = function () { if (Key.getCode() == 83) { game.attackKey = false; attackTooLong = 0; } if (Key.getCode() == 65) { game.enterKey = false; enterTooLong = 0; } }; Key.addListener(key); this.onEnterFrame = function () { checkKeys(); moveEnemy(); checkAttack(); if (game.paused) { stopClips(hero.clip); } }; buildRoom(_root["room" + game.room]);
Frame 72
stop(); removeMovieClip(game.tiles); attachMovie(scene, "sceneMC", 11); sceneMC._x = (sceneMC._y = 180); song = "song3"; if (music.song != song) { attachMovie(song, "music", 10); }
Symbol 29 MovieClip Frame 60
gotoAndPlay (2);
Symbol 41 Button
on (press) { if (NewgroundsAPI.isInstalled()) { NewgroundsAPI.loadNewgrounds(); } else { getURL ("http://www.newgrounds.com", "_blank"); } }
Symbol 47 MovieClip Frame 10
gotoAndPlay (1);
Symbol 63 Button
on (press) { if (NewgroundsAPI.isInstalled()) { NewgroundsAPI.loadNewgrounds("collection/picoday2008"); } else { getURL ("http://www.newgrounds.com/collection/picoday2008", "_blank"); } }
Symbol 65 MovieClip Frame 1
stop();
Symbol 76 Button
on (press) { nextFrame(); }
Symbol 97 MovieClip Frame 12
stop();
Symbol 122 Button
on (press) { if (NewgroundsAPI.isInstalled()) { NewgroundsAPI.loadNewgrounds("collection/pico"); } else { getURL ("http://www.newgrounds.com", "_blank"); } }
Symbol 137 MovieClip Frame 15
stop();
Symbol 178 Button
on (press) { getURL ("http://www.newgrounds.com/collection/pico", "_blank"); }
Symbol 181 MovieClip Frame 1
_quality = "MEDIUM";
Symbol 181 MovieClip Frame 225
_quality = "HIGH"; _root.play();
Symbol 182 MovieClip Frame 1
function startAd(ngad_url) { System.security.allowDomain("70.87.128.99"); System.security.allowInsecureDomain("70.87.128.99"); System.security.allowDomain("ads.shizmoo.com"); System.security.allowInsecureDomain("ads.shizmoo.com"); System.security.allowDomain("www.cpmstar.com"); System.security.allowInsecureDomain("www.cpmstar.com"); System.security.allowDomain("server.cpmstar.com"); System.security.allowInsecureDomain("server.cpmstar.com"); var ngads_redirect = new XML(); ngads_redirect.ignoreWhite = true; ngads_redirect.onLoad = function (success) { trace("[NEWGROUNDS FLASH ADS] :: You may get a 'Security Sandbox Violation' ... this is normal, do not freak out!"); if (success) { ng_ad.loadMovie(ngads_redirect.toString(), "GET"); } }; var _local1 = 731; var _local2 = 3; ngads_redirect.load(ngad_url); } if (NewgroundsAPI.isInstalled()) { if (NewgroundsAPI.getAdURL()) { startAd(NewgroundsAPI.getAdURL()); } NewgroundsAPI.onAdsApproved = function () { startAd(NewgroundsAPI.getAdURL()); }; } else { filepath = _url.split("\\"); if (filepath.length < 2) { filepath = _url.split("/"); filepath.shift(); filepath.shift(); filepath.shift(); filepath[0] = filepath[0].split("|").join(":"); } filepath.pop(); msg = "Hey there!\r"; msg = msg + "I couldn't help but notice you are using our snazzy \r"; msg = msg + "Pico Day preloader.\r\r"; msg = msg + "Well, it seems like there was a problem with your API\r"; msg = msg + "installation because we can't seem to find the \r"; msg = msg + (("NewgroundsAPI.as file in " + filepath.join("\\")) + newline); msg = msg + "Make sure when you download the API from Newgrounds\r"; msg = msg + "you unzip everything into this folder."; trace(msg); } stop();
Instance of Symbol 54 MovieClip in Symbol 182 MovieClip Frame 1
onClipEvent (enterFrame) { loaded = Math.ceil((_root.getBytesLoaded() / _root.getBytesTotal()) * 100); gotoAndStop(loaded); if (loaded == 100) { _parent.play(); } }
Symbol 182 MovieClip Frame 9
stop();
Symbol 182 MovieClip Frame 10
stop();
Symbol 1008 MovieClip [__Packages.NewgroundsAPI] Frame 0
class NewgroundsAPI { static var tracker_id, host, version, debug, error_format, header_format, normal_format, link_format; function NewgroundsAPI () { } static function connectMovie(id) { if (!id) { SendError("Missing required 'id' parameter in NewgroundsAPI.connectMovie(id:Number)"); } else if (!tracker_id) { SendMessage("Connecting to API gateway..."); tracker_id = id; host = _url.split("/")[2].toLowerCase(); if (host.length < 1) { host = "localhost"; } var _local2 = new Object(); SendEvent(MOVIE_VIEWS); } } static function setMovieVersion(movie_version) { if (!movie_version) { SendError("Missing required 'version' in NewgroundsAPI.setMovieVersion(version:String)"); } else { version = movie_version; } } static function debugMode() { debug = true; } static function addCustomEvent(stat_id, stat_name) { if (!stat_id) { SendError("Missing required 'id' parameter in NewgroundsAPI.AddCustomEvent(id:Number, event_name:String)"); } else if (!stat_name) { SendError("Missing required 'event_name' parameter in NewgroundsAPI.AddCustomEvent(id:Number, event_name:String)"); } else { custom_events[stat_name] = CUSTOM_STATS + stat_id; SendMessage("Created custom event: " + stat_name); } } static function addCustomLink(stat_id, stat_name) { if (!stat_id) { SendError("Missing required 'id' parameter in NewgroundsAPI.AddCustomLink(id:Number, link_name:String)"); } else if (!stat_name) { SendError("Missing required 'link_name' parameter in NewgroundsAPI.AddCustomLink(id:Number, link_name:String)"); } else { custom_links[stat_name] = CUSTOM_STATS + stat_id; SendMessage((("Created custom link " + stat_id) + ": ") + stat_name); } } static function loadMySite() { SendLink(AUTHOR_SITE); } static function loadNewgrounds(special) { if (special) { var _local1 = {page:special}; } SendLink(NEWGROUNDS, _local1); } static function logCustomEvent(event_name) { if (!event_name) { SendError("Missing required 'event_name' parameter in NewgroundsAPI.logCustomEvent(event_name:String)"); } else if (!custom_events[event_name]) { SendError("Attempted to log undefined custom event: " + event_name); } else { SendEvent(custom_events[event_name]); } } static function loadCustomLink(link_name) { if (!link_name) { SendError("Missing required 'link_name' parameter in NewgroundsAPI.loadCustomLink(link_name:String)"); } else if (!custom_links[link_name]) { SendError("Attempted to open undefined custom link: " + link_name); } else { SendLink(custom_links[link_name]); } } static function getAdURL() { return(movie_options.ad_url); } static function getMovieURL() { if (movie_options.movie_url) { return(movie_options.movie_url); } return("Newgrounds.com"); } static function getNewVersionURL() { return((((((GATEWAY_URL + "?&id=") + tracker_id) + "&host=") + escape(host)) + "&stat=") + NEW_VERSION); } static function SendEvent(id) { SendStat(id, false); } static function SendLink(id, extra) { SendStat(id, true, extra); } static function ReadGatewayData(params) { for (var _local2 in params) { params[_local2] = unescape(params[_local2]); movie_options[_local2] = params[_local2]; } if (params.settings_loaded) { SendMessage("You have successfully connected to the Newgrounds API gateway!"); SendMessage(("Movie Identified as '" + movie_options.movie_name) + "'"); if (movie_options.message) { SendMessage(movie_options.message); } if (movie_options.ad_url) { SendMessage("Your movie has been approved to run Flash Ads"); onAdsApproved(movie_options.ad_url); } if (movie_options.movie_version and (movie_options.movie_version.toString() != version.toString())) { SendMessage("WARNING: The movie version configured in your API settings does not match this movie's version!"); onNewVersionAvailable(movie_options.movie_version, getMovieURL(), getNewVersionURL()); } if (movie_options.deny_host) { SendMessage("You have blocked 'localHost' in your API settings."); SendMessage("If you wish to test your movie you will need to remove this block."); onDenyHost(host, getMovieURL(), getNewVersionURL()); } if (movie_options.request_portal_url == 1) { var _local4 = (((GATEWAY_URL + "?&id=") + tracker_id) + "&portal_url=") + escape(_url); var _local3 = new XML(); _local3.ignoreWhite = true; _local3.load(_local4); } } else if (!movie_options.settings_loaded) { SendError("Could not establish connection to the API gateway."); } } static function SendStat(stat_id, open_in_browser, extra) { if (!tracker_id) { SendError("API calls cannot be made without a valid movie id."); SendError("Did you remember to add the \"NewgroundsAPI.connectMovie()\" code?"); } else { var _local7 = (((((GATEWAY_URL + "?&id=") + tracker_id) + "&host=") + escape(host)) + "&stat=") + stat_id; for (var _local9 in extra) { _local7 = _local7 + ((("&" + escape(_local9)) + "=") + escape(extra[_local9])); } trace(_local7); if (debug) { _local7 = _local7 + "&debug=1"; } if (open_in_browser) { getURL (_local7, "_blank"); } else { var _local10 = new XML(); _local10.ignoreWhite = true; _local10.onLoad = function (success) { var _local6 = new Object(); var _local3 = 0; while (_local3 < this.firstChild.childNodes.length) { var _local4 = this.firstChild.childNodes[_local3]; var _local5 = _local4.nodeName; var _local2 = _local4.attributes.value; if (_local2 == Number(_local2)) { _local2 = Number(_local2); } _local6[_local5] = _local2; _local3++; } NewgroundsAPI.ReadGatewayData(_local6); }; _local10.load(_local7); } } } static function SendError(msg) { trace("[NEWGROUNDS API ERROR] :: " + msg); } static function SendMessage(msg) { trace("[NEWGROUNDS API] :: " + msg); } static function InitTextFormats() { if (!error_format) { error_format = new TextFormat(); error_format.font = "Arial Black"; error_format.size = 48; error_format.color = 16711680 /* 0xFF0000 */; } if (!header_format) { header_format = new TextFormat(); header_format.font = "Arial Black"; header_format.size = 24; header_format.color = 16777215 /* 0xFFFFFF */; } if (!normal_format) { normal_format = new TextFormat(); normal_format.font = "Arial"; normal_format.bold = true; normal_format.size = 12; normal_format.color = 16777215 /* 0xFFFFFF */; } if (!link_format) { link_format = new TextFormat(); link_format.color = 16776960 /* 0xFFFF00 */; link_format.underline = true; } } static function onNewVersionAvailable(version, movie_url, redirect_url) { InitTextFormats(); var _local2 = new Object(); _local2.x = Stage.width / 2; _local2.y = Stage.height / 2; _root.createEmptyMovieClip("NGAPI_new_version_overlay", _root.getNextHighestDepth()); _root.NGAPI_new_version_overlay.lineStyle(1, 0, 100); _root.NGAPI_new_version_overlay.beginFill(0, 70); _root.NGAPI_new_version_overlay.moveTo(-10, -10); _root.NGAPI_new_version_overlay.lineTo(-10, 1000); _root.NGAPI_new_version_overlay.lineTo(1000, 1000); _root.NGAPI_new_version_overlay.lineTo(1000, -10); _root.NGAPI_new_version_overlay.lineTo(-10, -10); _root.NGAPI_new_version_overlay.endFill(); _root.NGAPI_new_version_overlay.lineStyle(10, 0, 100); _root.NGAPI_new_version_overlay.beginFill(51); _root.NGAPI_new_version_overlay.moveTo(_local2.x - 240, _local2.y - 120); _root.NGAPI_new_version_overlay.lineTo(_local2.x + 240, _local2.y - 120); _root.NGAPI_new_version_overlay.lineTo(_local2.x + 240, _local2.y + 80); _root.NGAPI_new_version_overlay.lineTo(_local2.x - 240, _local2.y + 80); _root.NGAPI_new_version_overlay.lineTo(_local2.x - 240, _local2.y - 120); _root.NGAPI_new_version_overlay.endFill(); _root.NGAPI_new_version_overlay.createEmptyMovieClip("exit", 1000); _root.NGAPI_new_version_overlay.exit.lineStyle(2, 39423, 100); _root.NGAPI_new_version_overlay.exit.beginFill(0, 50); _root.NGAPI_new_version_overlay.exit.moveTo(_local2.x + 210, _local2.y - 110); _root.NGAPI_new_version_overlay.exit.lineTo(_local2.x + 230, _local2.y - 110); _root.NGAPI_new_version_overlay.exit.lineTo(_local2.x + 230, _local2.y - 90); _root.NGAPI_new_version_overlay.exit.lineTo(_local2.x + 210, _local2.y - 90); _root.NGAPI_new_version_overlay.exit.lineTo(_local2.x + 210, _local2.y - 110); _root.NGAPI_new_version_overlay.exit.endFill(); _root.NGAPI_new_version_overlay.exit.moveTo(_local2.x + 214, _local2.y - 106); _root.NGAPI_new_version_overlay.exit.lineTo(_local2.x + 226, _local2.y - 94); _root.NGAPI_new_version_overlay.exit.moveTo(_local2.x + 226, _local2.y - 106); _root.NGAPI_new_version_overlay.exit.lineTo(_local2.x + 214, _local2.y - 94); _root.NGAPI_new_version_overlay.exit.onMouseUp = function () { if (_root.NGAPI_new_version_overlay.exit.hitTest(_root._xmouse, _root._ymouse)) { _root.NGAPI_new_version_overlay.removeMovieClip(); } }; var _local3 = (("Version " + version) + " is now available at:") + newline; var _local5 = _local3.length; _local3 = _local3 + movie_url; var _local4 = _local3.length; _root.NGAPI_new_version_overlay.createTextField("mouseblocker", 99, -10, -10, 1000, 1000); _root.NGAPI_new_version_overlay.createTextField("newversion", 100, _local2.x - 210, _local2.y - 90, 400, 80); _root.NGAPI_new_version_overlay.newversion.text = "New Version Available!"; _root.NGAPI_new_version_overlay.newversion.setTextFormat(header_format); _root.NGAPI_new_version_overlay.createTextField("message", 101, (Stage.width - 400) / 2, Stage.height / 2, 400, 40); _root.NGAPI_new_version_overlay.message.text = _local3; _root.NGAPI_new_version_overlay.message.multiline = true; _root.NGAPI_new_version_overlay.message.wordWrap = true; _root.NGAPI_new_version_overlay.message.html = true; _root.NGAPI_new_version_overlay.message.setTextFormat(normal_format); link_format.url = redirect_url; _root.NGAPI_new_version_overlay.message.setTextFormat(_local5, _local4, link_format); } static function onDenyHost(hostname, movie_url, redirect_url) { InitTextFormats(); _root.createEmptyMovieClip("NGAPI_deny_host_overlay", _root.getNextHighestDepth()); _root.NGAPI_deny_host_overlay.lineStyle(20, 0, 100); _root.NGAPI_deny_host_overlay.beginFill(6684672); _root.NGAPI_deny_host_overlay.moveTo(0, 0); _root.NGAPI_deny_host_overlay.lineTo(Stage.width, 0); _root.NGAPI_deny_host_overlay.lineTo(Stage.width, Stage.height); _root.NGAPI_deny_host_overlay.lineTo(0, Stage.height); _root.NGAPI_deny_host_overlay.lineTo(0, 0); _root.NGAPI_deny_host_overlay.endFill(); var _local2 = ("This movie has not been approved for use on " + hostname) + "."; _local2 = _local2 + "\r\rFor an aproved copy, please visit:\r"; var _local4 = _local2.length; _local2 = _local2 + movie_url; var _local3 = _local2.length; _root.NGAPI_deny_host_overlay.createTextField("mousekill", 100, 0, 0, Stage.width, Stage.height); _root.NGAPI_deny_host_overlay.createTextField("error", 101, (Stage.width - 400) / 2, (Stage.height / 2) - 100, 400, 200); _root.NGAPI_deny_host_overlay.error.text = "ERROR!"; _root.NGAPI_deny_host_overlay.error.setTextFormat(error_format); _root.NGAPI_deny_host_overlay.createTextField("message", 102, (Stage.width - 400) / 2, Stage.height / 2, 400, 200); _root.NGAPI_deny_host_overlay.message.text = _local2; _root.NGAPI_deny_host_overlay.message.multiline = true; _root.NGAPI_deny_host_overlay.message.wordWrap = true; _root.NGAPI_deny_host_overlay.message.html = true; _root.NGAPI_deny_host_overlay.message.setTextFormat(normal_format); link_format.url = redirect_url; _root.NGAPI_deny_host_overlay.message.setTextFormat(_local4, _local3, link_format); } static function isInstalled() { return(true); } static function onAdsApproved(ad_url) { } static var movie_options = new Object(); static var custom_events = new Object(); static var custom_links = new Object(); static var MOVIE_VIEWS = 1; static var AUTHOR_SITE = 2; static var NEWGROUNDS = 3; static var NEW_VERSION = 4; static var CUSTOM_STATS = 50; static var GATEWAY_URL = "http://www.ngads.com/gateway.php"; }
Symbol 186 MovieClip [trophy3] Frame 50
stop(); _root.showMessage("Congratulations! You have received the Review Crew trophy! Go get the Blam Sword!"); _root.levelBeaten = true; _root.so.data.level3beaten = true; _root.NewgroundsAPI.logCustomEvent("Level 3 Cleared"); this.onEnterFrame = function () { if (!_root.game.showingMessage) { _root.scene = "blamsword"; _root.gotoAndStop("scene"); } };
Symbol 190 MovieClip [trophy4] Frame 50
stop(); _root.showMessage("Congratulations(?) You received the Turd of the Week trophy! You completed whole game!"); _root.levelBeaten = true; _root.so.data.level5beaten = true; _root.NewgroundsAPI.logCustomEvent("Level 5 Cleared"); _root.NewgroundsAPI.logCustomEvent("Game Cleared"); this.onEnterFrame = function () { if (!_root.game.showingMessage) { _root.changeArea({newarea:"overworld", newroom:5, newX:5, newY:7}); } };
Symbol 241 MovieClip Frame 10
stop(); this.onEnterFrame = function () { this._alpha = this._alpha - 5; if (this._alpha <= 0) { if (Math.floor(Math.random() * 5) == 0) { depth = _root.game.tiles.getNextHighestDepth(); _root.game.tiles.attachMovie("heart", "heart" + depth, depth); _root.game.tiles["heart" + depth]._x = _parent._x; _root.game.tiles["heart" + depth]._y = _parent._y; _root.game.tiles["heart" + depth].gotoAndStop("full"); _root.game.tiles["heart" + depth].onEnterFrame = function () { if (this.hitTest(_root.hero.clip.hitbox)) { if (_root.hero.health < _root.hero.maxhealth) { _root.hero.health++; } removeMovieClip(this); } }; } removeMovieClip(_parent); } };
Symbol 248 MovieClip Frame 8
stop(); this.onEnterFrame = function () { this._alpha = this._alpha - 5; if (this._alpha <= 0) { if (Math.floor(Math.random() * 5) == 0) { depth = _root.game.tiles.getNextHighestDepth(); _root.game.tiles.attachMovie("heart", "heart" + depth, depth); _root.game.tiles["heart" + depth]._x = _parent._x; _root.game.tiles["heart" + depth]._y = _parent._y; _root.game.tiles["heart" + depth].gotoAndStop("full"); _root.game.tiles["heart" + depth].onEnterFrame = function () { if (this.hitTest(_root.hero.clip.hitbox)) { if (_root.hero.health < _root.hero.maxhealth) { _root.hero.health++; } removeMovieClip(this); } }; } removeMovieClip(_parent); } };
Symbol 259 MovieClip Frame 9
stop(); this.onEnterFrame = function () { this._alpha = this._alpha - 5; if (this._alpha <= 0) { if (Math.floor(Math.random() * 5) == 0) { depth = _root.game.tiles.getNextHighestDepth(); _root.game.tiles.attachMovie("heart", "heart" + depth, depth); _root.game.tiles["heart" + depth]._x = _parent._x; _root.game.tiles["heart" + depth]._y = _parent._y; _root.game.tiles["heart" + depth].gotoAndStop("full"); _root.game.tiles["heart" + depth].onEnterFrame = function () { if (this.hitTest(_root.hero.clip.hitbox)) { if (_root.hero.health < _root.hero.maxhealth) { _root.hero.health++; } removeMovieClip(this); } }; } removeMovieClip(_parent); } };
Symbol 319 MovieClip Frame 22
_parent.wavesHit = false; _root.game.tiles.attachMovie("enemy3_wave", "wave" + _parent.waves, 96300 + _parent.waves); _root.game.tiles["wave" + _parent.waves]._x = _parent._x - 15; _root.game.tiles["wave" + _parent.waves]._y = _parent._y - 55; _root.game.tiles["wave" + _parent.waves]._xscale = (_root.game.tiles["wave" + _parent.waves]._yscale = 50); _root.game.tiles["wave" + _parent.waves].onEnterFrame = function () { if ((this.hitTest(_root.hero.clip) && (!_root.hero.invinsible)) && (!_parent.wavesHit)) { xdif = _root.hero.clip._x - this._x; ydif = _root.hero.clip._y - this._y; if ((xdif > 0) && (ydif > 0)) { if (xdif > ydif) { oppositedir = "right"; } else { oppositedir = "down"; } } else if (xdif > 0) { if (xdif > Math.abs(ydif)) { oppositedir = "right"; } else { oppositedir = "up"; } } else if (ydif > 0) { if (Math.abs(xdif) > ydif) { oppositedir = "left"; } else { oppositedir = "down"; } } else if (Math.abs(xdif) > Math.abs(ydif)) { oppositedir = "left"; } else { oppositedir = "up"; } _root.hero.loseHealth(oppositedir); _parent.wavesHit = true; } if (!_root.game.paused) { this._xscale = this._xscale + 10; this._yscale = this._yscale + 10; this._alpha = this._alpha - 2; } if (this._alpha < 0) { removeMovieClip(this); } }; _parent.waves++; _root.game.tiles.attachMovie("enemy3_wave", "wave" + _parent.waves, 96300 + _parent.waves); _root.game.tiles["wave" + _parent.waves]._x = _parent._x + 15; _root.game.tiles["wave" + _parent.waves]._y = _parent._y - 55; _root.game.tiles["wave" + _parent.waves]._xscale = (_root.game.tiles["wave" + _parent.waves]._yscale = 50); _root.game.tiles["wave" + _parent.waves].onEnterFrame = function () { if ((this.hitTest(_root.hero.clip) && (!_root.hero.invinsible)) && (!_parent.wavesHit)) { xdif = _root.hero.clip._x - this._x; ydif = _root.hero.clip._y - this._y; if ((xdif > 0) && (ydif > 0)) { if (xdif > ydif) { oppositedir = "right"; } else { oppositedir = "down"; } } else if (xdif > 0) { if (xdif > Math.abs(ydif)) { oppositedir = "right"; } else { oppositedir = "up"; } } else if (ydif > 0) { if (Math.abs(xdif) > ydif) { oppositedir = "left"; } else { oppositedir = "down"; } } else if (Math.abs(xdif) > Math.abs(ydif)) { oppositedir = "left"; } else { oppositedir = "up"; } _root.hero.loseHealth(oppositedir); _parent.wavesHit = true; } if (!_root.game.paused) { this._xscale = this._xscale + 10; this._yscale = this._yscale + 10; this._alpha = this._alpha - 2; } if (this._alpha < 0) { removeMovieClip(this); } }; _parent.waves++;
Symbol 319 MovieClip Frame 45
stop();
Symbol 328 MovieClip Frame 27
name = "cd" + _parent.cds; _root.game.tiles.attachMovie("enemy3_cd", name, 96400 + _parent.cds); _root.game.tiles[name]._x = _parent._x; _root.game.tiles[name]._y = _parent._y - 55; _root.game.tiles[name]._xscale = (_root.game.tiles[name]._yscale = 30); _root.game.tiles[name].onEnterFrame = function () { if (this.hitTest(_root.hero.clip) && (!_root.hero.invinsible)) { xdif = _root.hero.clip._x - this._x; ydif = _root.hero.clip._y - this._y; if ((xdif > 0) && (ydif > 0)) { if (xdif > ydif) { oppositedir = "right"; } else { oppositedir = "down"; } } else if (xdif > 0) { if (xdif > Math.abs(ydif)) { oppositedir = "right"; } else { oppositedir = "up"; } } else if (ydif > 0) { if (Math.abs(xdif) > ydif) { oppositedir = "left"; } else { oppositedir = "down"; } } else if (Math.abs(xdif) > Math.abs(ydif)) { oppositedir = "left"; } else { oppositedir = "up"; } _root.hero.loseHealth(oppositedir); } if (!_root.game.paused) { this._xscale = this._xscale + 0.5; this._yscale = this._yscale + 0.5; this._x = this._x - 2; this._y = this._y + 4; } if (this._y > (Stage.height + 50)) { removeMovieClip(this); } }; _parent.cds++;
Symbol 328 MovieClip Frame 33
name = "cd" + _parent.cds; _root.game.tiles.attachMovie("enemy3_cd", name, 96400 + _parent.cds); _root.game.tiles[name]._x = _parent._x; _root.game.tiles[name]._y = _parent._y - 55; _root.game.tiles[name]._xscale = (_root.game.tiles[name]._yscale = 30); _root.game.tiles[name].onEnterFrame = function () { if (this.hitTest(_root.hero.clip) && (!_root.hero.invinsible)) { xdif = _root.hero.clip._x - this._x; ydif = _root.hero.clip._y - this._y; if ((xdif > 0) && (ydif > 0)) { if (xdif > ydif) { oppositedir = "right"; } else { oppositedir = "down"; } } else if (xdif > 0) { if (xdif > Math.abs(ydif)) { oppositedir = "right"; } else { oppositedir = "up"; } } else if (ydif > 0) { if (Math.abs(xdif) > ydif) { oppositedir = "left"; } else { oppositedir = "down"; } } else if (Math.abs(xdif) > Math.abs(ydif)) { oppositedir = "left"; } else { oppositedir = "up"; } _root.hero.loseHealth(oppositedir); } if (!_root.game.paused) { this._xscale = this._xscale + 0.5; this._yscale = this._yscale + 0.5; this._y = this._y + 4; } if (this._y > (Stage.height + 50)) { removeMovieClip(this); } }; _parent.cds++;
Symbol 328 MovieClip Frame 39
name = "cd" + _parent.cds; _root.game.tiles.attachMovie("enemy3_cd", name, 96400 + _parent.cds); _root.game.tiles[name]._x = _parent._x; _root.game.tiles[name]._y = _parent._y - 55; _root.game.tiles[name]._xscale = (_root.game.tiles[name]._yscale = 30); _root.game.tiles[name].onEnterFrame = function () { if (this.hitTest(_root.hero.clip) && (!_root.hero.invinsible)) { xdif = _root.hero.clip._x - this._x; ydif = _root.hero.clip._y - this._y; if ((xdif > 0) && (ydif > 0)) { if (xdif > ydif) { oppositedir = "right"; } else { oppositedir = "down"; } } else if (xdif > 0) { if (xdif > Math.abs(ydif)) { oppositedir = "right"; } else { oppositedir = "up"; } } else if (ydif > 0) { if (Math.abs(xdif) > ydif) { oppositedir = "left"; } else { oppositedir = "down"; } } else if (Math.abs(xdif) > Math.abs(ydif)) { oppositedir = "left"; } else { oppositedir = "up"; } _root.hero.loseHealth(oppositedir); } if (!_root.game.paused) { this._xscale = this._xscale + 0.5; this._yscale = this._yscale + 0.5; this._x = this._x + 2; this._y = this._y + 4; } if (this._y > (Stage.height + 50)) { removeMovieClip(this); } }; _parent.cds++;
Symbol 336 MovieClip Frame 1
_root.game.tiles.attachMovie("trophy1", "trophy", _root.game.tiles.getNextHighestDepth()); _root.game.tiles.trophy._x = Stage.height / 2; _root.game.tiles.trophy._y = Stage.height / 2; removeMovieClip(_root.music);
Symbol 336 MovieClip Frame 25
stop(); removeMovieClip(this._parent);
Symbol 337 MovieClip [enemy3] Frame 1
stop(); waves = 0; cds = 0;
Symbol 370 MovieClip Frame 21
_parent.spinning = true;
Symbol 370 MovieClip Frame 26
gotoAndPlay (21);
Symbol 377 MovieClip Frame 1
_parent.spinning = false;
Symbol 384 MovieClip Frame 11
_root.game.tiles.attachMovie("trophy2", "trophy", _root.game.tiles.getNextHighestDepth()); _root.game.tiles.trophy._x = Stage.height / 2; _root.game.tiles.trophy._y = Stage.height / 2; removeMovieClip(_root.music);
Symbol 384 MovieClip Frame 36
stop(); removeMovieClip(this._parent);
Symbol 385 MovieClip [enemy4] Frame 1
stop(); this.spinning = false;
Symbol 432 MovieClip Frame 19
gotoAndPlay (10);
Symbol 438 MovieClip Frame 5
_parent.attacking = true;
Symbol 438 MovieClip Frame 10
_parent.attacking = false; _parent.object.action = "idle";
Symbol 449 MovieClip Frame 5
_parent.attacking = true;
Symbol 449 MovieClip Frame 14
_parent.attacking = false; _parent.object.action = "idle";
Symbol 462 MovieClip Frame 5
_parent.attacking = true;
Symbol 462 MovieClip Frame 14
_parent.attacking = true; _parent.object.action = "idle";
Symbol 470 MovieClip Frame 11
_root.game.tiles.attachMovie("trophy3", "trophy", _root.game.tiles.getNextHighestDepth()); _root.game.tiles.trophy._x = Stage.height / 2; _root.game.tiles.trophy._y = Stage.height / 2; removeMovieClip(_root.music);
Symbol 470 MovieClip Frame 36
stop(); removeMovieClip(this._parent);
Symbol 471 MovieClip [enemy5] Frame 1
stop();
Symbol 515 MovieClip Frame 10
_root.hero.action = "idle"; _root.game.attackKey = false;
Symbol 519 MovieClip Frame 14
_root.hero.action = "idle"; _root.game.attackKey = false;
Symbol 523 MovieClip Frame 12
_root.hero.action = "idle"; _root.game.attackKey = false;
Symbol 527 MovieClip Frame 10
_root.hero.action = "idle"; _root.game.attackKey = false;
Symbol 538 MovieClip Frame 10
stop(); _root.game.tiles.attachMovie("gameover", "gameover", 9999999999); _root.game.tiles.gameover._x = Stage.width / 2; _root.game.tiles.gameover._y = Stage.height / 2;
Symbol 543 MovieClip Frame 10
stop(); _root.game.tiles.attachMovie("gameover", "gameover", _root.game.tiles.getNextHighestDepth()); _root.game.tiles.gameover._x = Stage.width / 2; _root.game.tiles.gameover._y = Stage.height / 2;
Symbol 550 MovieClip Frame 10
stop(); _root.game.tiles.attachMovie("gameover", "gameover", _root.game.tiles.getNextHighestDepth()); _root.game.tiles.gameover._x = Stage.width / 2; _root.game.tiles.gameover._y = Stage.height / 2;
Symbol 580 MovieClip Frame 1
stop();
Symbol 580 MovieClip Frame 10
stop(); this._parent.tile.door = true;
Symbol 591 MovieClip Frame 1
stop();
Symbol 591 MovieClip Frame 6
stop();
Symbol 595 MovieClip Frame 1
stop();
Symbol 595 MovieClip Frame 40
stop();
Symbol 617 MovieClip Frame 1
stop();
Symbol 617 MovieClip Frame 10
stop(); this._parent.tile.door = true;
Symbol 620 MovieClip Frame 1
stop();
Symbol 620 MovieClip Frame 40
stop();
Symbol 661 MovieClip Frame 1
if (_root.so.data.badge == undefined) { _root.so.data.badge = 0; } badge = _root.so.data.badge; name = "badge" + badge; attachMovie(name, "badge", 1);
Symbol 662 MovieClip Frame 1
stop();
Symbol 662 MovieClip Frame 40
stop();
Symbol 662 MovieClip Frame 41
stop();
Symbol 682 MovieClip [trophy1] Frame 50
stop(); _root.showMessage("Congratulations! You have received the Daily 1st trophy! Only 2 more trophies to go!"); _root.levelBeaten = true; _root.so.data.level1beaten = true; _root.NewgroundsAPI.logCustomEvent("Level 1 Cleared"); this.onEnterFrame = function () { if (!_root.game.showingMessage) { _root.changeArea({newarea:"overworld", newroom:2, newX:5, newY:7}); } };
Symbol 686 MovieClip [trophy2] Frame 50
stop(); _root.showMessage("Congratulations! You have received the Weekly 1st trophy! You only need the Review Crew Pick now!"); _root.levelBeaten = true; _root.so.data.level2beaten = true; _root.NewgroundsAPI.logCustomEvent("Level 2 Cleared"); this.onEnterFrame = function () { if (!_root.game.showingMessage) { _root.changeArea({newarea:"overworld", newroom:1, newX:5, newY:7}); } };
Symbol 716 MovieClip [gameover] Frame 1
removeMovieClip(_root.music); _root.game.tiles.setMask(null); bg_mc.onRollOver = function () { };
Symbol 716 MovieClip [gameover] Frame 69
stop(); continue_mc.name_txt.text = "Continue"; continue_mc.onRelease = function () { _root.resetArea(); removeMovieClip(this._parent); }; quit_mc.name_txt.text = "Quit"; quit_mc.onRelease = function () { removeMovieClip(_root.game.tiles); _root.gotoAndPlay("menu"); removeMovieClip(this._parent); };
Symbol 724 MovieClip Frame 24
_parent.object.b++; depth = 96400 + _parent.object.b; _parent._parent.createEmptyMovieClip("b" + depth, depth); _parent._parent["b" + depth].attachMovie("b", "b", depth); mc = _parent._parent["b" + depth]; mc._x = _parent._x; mc._y = _parent._y; mc._rotation = _parent._rotation; mc.onEnterFrame = function () { this.b._y = this.b._y - 5; this.b._rotation = this.b._rotation - 5; if (this.b.hitTest(_root.hero.clip.hitbox) && (!_root.hero.invinsible)) { _root.hero.loseHealth("down"); } };
Symbol 725 MovieClip Frame 14
clock = Math.floor(Math.random() * 3) + 1; depth = 96400 /* 0x017890 */; _parent._parent.createEmptyMovieClip("clock" + depth, depth); _parent._parent["clock" + depth].attachMovie("clock" + clock, "clock", depth); mc = _parent._parent["clock" + depth]; mc._x = _parent._x + 50; mc._y = _parent._y; var xd = (_root.hero.x - mc._x); var yd = (_root.hero.y - mc._y); var radAngle = Math.atan2(yd, xd); mc._rotation = Number(((radAngle * 360) / (Math.PI*2)) + 90); mc.counter = 0; mc.action = (Math.random() * 50) + 50; mc.onEnterFrame = function () { this.counter++; if (this.counter >= this.action) { this.clock._y = this.clock._y - 10; if (this.clock.hitTest(_root.hero.clip.hitbox) && (!_root.hero.invinsible)) { _root.hero.loseHealth("down"); } } else { var _local3 = _root.hero.x - this._x; var _local4 = _root.hero.y - this._y; var _local5 = Math.atan2(_local4, _local3); this._rotation = Number(((_local5 * 360) / (Math.PI*2)) + 90); } };
Symbol 725 MovieClip Frame 42
clock = Math.floor(Math.random() * 3) + 1; depth = 96401 /* 0x017891 */; _parent._parent.createEmptyMovieClip("clock" + depth, depth); _parent._parent["clock" + depth].attachMovie("clock" + clock, "clock", depth); mc = _parent._parent["clock" + depth]; mc._x = _parent._x - 50; mc._y = _parent._y; var xd = (_root.hero.x - mc._x); var yd = (_root.hero.y - mc._y); var radAngle = Math.atan2(yd, xd); mc._rotation = Number(((radAngle * 360) / (Math.PI*2)) + 90); mc.counter = 0; mc.action = (Math.random() * 50) + 50; mc.onEnterFrame = function () { this.counter++; if (this.counter >= this.action) { this.clock._y = this.clock._y - 10; if (this.clock.hitTest(_root.hero.clip.hitbox) && (!_root.hero.invinsible)) { _root.hero.loseHealth("down"); } } else { var _local3 = _root.hero.x - this._x; var _local4 = _root.hero.y - this._y; var _local5 = Math.atan2(_local4, _local3); this._rotation = Number(((_local5 * 360) / (Math.PI*2)) + 90); } };
Symbol 725 MovieClip Frame 56
_parent.object.currentAction++;
Symbol 734 MovieClip Frame 25
_parent.play(); stop();
Symbol 735 MovieClip Frame 49
gotoAndStop (51);
Symbol 735 MovieClip Frame 51
hero = _root.hero; newX = hero.x; newY = hero.y; _parent.object.x = newX; _parent.object.y = newY; _root.moveObject(0, 0, _parent.object); play();
Symbol 735 MovieClip Frame 72
hero = _root.hero; if (_parent.hitTest(hero.clip.hitbox)) { hero.loseHealth("down"); gotoAndPlay (150); } else { _parent.object.invinsible = false; }
Symbol 735 MovieClip Frame 151
stop();
Symbol 735 MovieClip Frame 153
stop(); _parent.object.currentAction++;
Symbol 742 MovieClip Frame 11
_root.game.tiles.attachMovie("trophy4", "trophy", _root.game.tiles.getNextHighestDepth()); _root.game.tiles.trophy._x = Stage.height / 2; _root.game.tiles.trophy._y = Stage.height / 2; removeMovieClip(_root.music);
Symbol 742 MovieClip Frame 36
stop(); removeMovieClip(this._parent);
Symbol 743 MovieClip [enemy7] Frame 1
stop();
Symbol 786 MovieClip Frame 10
_root.hero.action = "idle"; _root.game.attackKey = false;
Symbol 790 MovieClip Frame 14
_root.hero.action = "idle"; _root.game.attackKey = false;
Symbol 794 MovieClip Frame 12
_root.hero.action = "idle"; _root.game.attackKey = false;
Symbol 798 MovieClip Frame 10
_root.hero.action = "idle"; _root.game.attackKey = false;
Symbol 809 MovieClip Frame 10
stop(); _root.game.tiles.attachMovie("gameover", "gameover", 9999999999); _root.game.tiles.gameover._x = Stage.width / 2; _root.game.tiles.gameover._y = Stage.height / 2;
Symbol 814 MovieClip Frame 10
stop(); _root.game.tiles.attachMovie("gameover", "gameover", _root.game.tiles.getNextHighestDepth()); _root.game.tiles.gameover._x = Stage.width / 2; _root.game.tiles.gameover._y = Stage.height / 2;
Symbol 820 MovieClip Frame 10
stop(); _root.game.tiles.attachMovie("gameover", "gameover", _root.game.tiles.getNextHighestDepth()); _root.game.tiles.gameover._x = Stage.width / 2; _root.game.tiles.gameover._y = Stage.height / 2;
Symbol 833 MovieClip [blamsword] Frame 270
stop(); _root.so.data.blamSword = true; _root.showMessage("You've acquired the magical blam sword! Now you can save the king! Go to the castle!"); this.onEnterFrame = function () { if (!_root.game.showingMessage) { _root.changeArea({newarea:"overworld", newroom:9, newX:5, newY:10}); removeMovieClip(this); } };
Symbol 869 MovieClip Frame 10
if (_root.getDistance(_parent, _root.hero.clip).totaldist < 75) { if (_root.getDistance(_parent, _root.hero.clip).ydist > 0) { _root.hero.loseHealth("up"); } else { _root.hero.loseHealth("down"); } }
Symbol 869 MovieClip Frame 15
stop(); _parent.object.attacking = false;
Symbol 871 MovieClip Frame 10
if (_root.getDistance(_parent, _root.hero.clip).totaldist < 75) { if (_root.getDistance(_parent, _root.hero.clip).ydist > 0) { _root.hero.loseHealth("up"); } else { _root.hero.loseHealth("down"); } }
Symbol 871 MovieClip Frame 15
stop(); _parent.object.attacking = false;
Symbol 883 MovieClip Frame 15
stop(); depth = _parent.getDepth() + 1; _root.game.tiles.attachMovie("swordspin", "swordspin", depth); mc = _root.game.tiles.swordspin; mc._x = _parent._x; mc._y = _parent._y; mc.onEnterFrame = function () { if (!_root.game.paused) { this._y = this._y + 3; } }; this.onEnterFrame = function () { if (!_root.game.paused) { _root.moveObject(0, 1, _parent.object); this._alpha = this._alpha - 5; if (this._alpha <= 0) { nextFrame(); _parent.object.y = 170; _parent._y = 170; this.onEnterFrame = function () { if (!_root.game.paused) { if (this._alpha < 100) { this._alpha = this._alpha + 5; _root.moveObject(0, 1, _parent.object); } else if (this._alpha >= 100) { play(); delete this.onEnterFrame; } } }; } } };
Symbol 883 MovieClip Frame 16
mc = _root.game.tiles.swordspin; mc.swapDepths(_parent.getDepth() - 1);
Symbol 883 MovieClip Frame 17
mc = _root.game.tiles.swordspin; removeMovieClip(mc);
Symbol 883 MovieClip Frame 21
stop(); _parent.object.currentAction++; _parent.object.dir = "up";
Symbol 893 MovieClip Frame 15
stop(); depth = _parent.getDepth() - 1; _root.game.tiles.attachMovie("swordspin", "swordspin", depth); mc = _root.game.tiles.swordspin; mc._x = _parent._x; mc._y = _parent._y; mc.onEnterFrame = function () { if (!_root.game.paused) { this._y = this._y - 3; } }; this.onEnterFrame = function () { if (!_root.game.paused) { _root.moveObject(0, -1, _parent.object); this._alpha = this._alpha - 5; if (this._alpha <= 0) { nextFrame(); _parent.object.y = 190; _parent._y = 190; this.onEnterFrame = function () { if (!_root.game.paused) { if (this._alpha < 100) { this._alpha = this._alpha + 5; _root.moveObject(0, -1, _parent.object); } else if (this._alpha >= 100) { play(); delete this.onEnterFrame; } } }; } } };
Symbol 893 MovieClip Frame 16
mc = _root.game.tiles.swordspin; mc.swapDepths(_parent.getDepth() + 1);
Symbol 893 MovieClip Frame 17
mc = _root.game.tiles.swordspin; removeMovieClip(mc);
Symbol 893 MovieClip Frame 21
stop(); _parent.object.currentAction++; _parent.object.dir = "down";
Symbol 896 MovieClip Frame 26
game = _root.game; hero = _root.hero; enemies = _root.enemies; i = 1; while (i <= 2) { name = (("enemy_" + game.room) + "_") + i; game[name] = new game.enemy2(); game[name].type = 2; game[name].xtile = 3 + (4 * (i - 1)); game[name].ytile = 5; game[name].x = (game.tilew * game[name].xtile) + (game.tilew / 2); game[name].y = (game.tileh * game[name].ytile) + (game.tileh / 2); game[name].depth = ((game[name].y * 300) + game[name].x) + 1; game[name].parent = _parent; game[name].parent.object["enemy" + i] = false; game[name].i = i; enemies[game.room][i] = new Array(); enemies[game.room][i][0] = game[name].type; enemies[game.room][i][1] = game[name].xtile; enemies[game.room][i][2] = game[name].ytile; game.tiles.attachMovie("enemy" + game[name].type, name, game[name].depth); game[name].clip = game.tiles[name]; game[name].clip._x = game[name].x; game[name].clip._y = game[name].y; game[name].clip.gotoAndStop(game[name].action + game[name].dir); game[name].clip.object = game[name]; game[name].clip.onEnterFrame = function () { if (((this.hitTest(hero.clip.hitbox) && (!this.hitTest(hero.clip.hero.sword))) && (!hero.invinsible)) && (this.object.action != "die")) { hero.loseHealth(this.object.dir); } else if (this.hitTest(hero.clip.hero.sword) && (!this.object.invinsible)) { this.object.health = this.object.health - hero.attack; if (this.object.health > 0) { this.object.initBounce = 0; this.object.oppositedir = hero.dir; this.object.bounceInterval = setInterval(_root.bounceBack, 5, this.object, this.object.oppositedir, 50); this.object.initInvinsible = 0; this.object.invinsibleInterval = setInterval(_root.setInvinsible, 5, this.object, 200); } else { this.object.action = "die"; this.object.parent.object["enemy" + this.object.i] = true; moveObject(0, 0, this.object); } } }; i++; }
Symbol 896 MovieClip Frame 35
function addCurrentAction(me) { if (!_root.game.paused) { clearInterval(addCurrentActionInterval); _parent.object.currentAction++; } else { me.onEnterFrame = function () { if (!_root.game.paused) { clearInterval(addCurrentActionInterval); _parent.object.currentAction++; delete this.onEnterFrame; } }; } } stop(); addCurrentActionInterval = setInterval(addCurrentAction, 3000, this);
Symbol 897 MovieClip [enemy6] Frame 1
stop();
Symbol 931 MovieClip [end] Frame 25
stop(); img.onRelease = function () { play(); };
Symbol 931 MovieClip [end] Frame 50
stop(); img.onRelease = function () { play(); };
Symbol 931 MovieClip [end] Frame 75
stop(); img.onRelease = function () { play(); };
Symbol 931 MovieClip [end] Frame 100
stop(); img.onRelease = function () { play(); };
Symbol 931 MovieClip [end] Frame 125
stop(); img.onRelease = function () { play(); };
Symbol 931 MovieClip [end] Frame 150
stop(); img.onRelease = function () { nextFrame(); };
Symbol 973 MovieClip [intro] Frame 25
stop(); img.onRelease = function () { play(); };
Symbol 973 MovieClip [intro] Frame 50
stop(); img.onRelease = function () { play(); };
Symbol 973 MovieClip [intro] Frame 75
stop(); img.onRelease = function () { play(); };
Symbol 973 MovieClip [intro] Frame 100
stop(); img.onRelease = function () { play(); };
Symbol 973 MovieClip [intro] Frame 125
stop(); img.onRelease = function () { _root.changeArea({newarea:"overworld", newroom:8, newX:5, newY:9}); removeMovieClip(this._parent); removeMovieClip(this); };
Symbol 981 MovieClip [song2] Frame 1
stop(); var song = "song2"; var music = new Sound(); music.attachSound(song + "intro"); music.start(); this.onEnterFrame = function () { if (music.position >= (music.duration - 50)) { music.stop(); music.attachSound(song + "loop"); music.start(); this.onEnterFrame = function () { if (music.position >= (music.duration - 50)) { music.stop(); music.start(); } }; } }; this.onUnload = function () { music.stop(); };
Symbol 982 MovieClip [song1] Frame 1
stop(); var song = "song1"; var music = new Sound(); music.attachSound(song + "intro"); music.start(); this.onEnterFrame = function () { if (music.position >= (music.duration - 50)) { music.stop(); music.attachSound(song + "loop"); music.start(); this.onEnterFrame = function () { if (music.position >= (music.duration - 50)) { music.stop(); music.start(); } }; } }; this.onUnload = function () { music.stop(); };
Symbol 983 MovieClip [song3] Frame 1
stop(); var song = "song3"; var music = new Sound(); music.attachSound(song + "loop"); music.start(); this.onEnterFrame = function () { if (music.position >= (music.duration - 50)) { music.stop(); music.start(); } }; this.onUnload = function () { music.stop(); };
Symbol 984 MovieClip [song4] Frame 1
stop(); var song = "song4"; var music = new Sound(); music.attachSound(song + "loop"); music.start(); this.onEnterFrame = function () { if (music.position >= (music.duration - 50)) { music.stop(); music.start(); } }; this.onUnload = function () { music.stop(); };

Library Items

Symbol 1 GraphicUsed by:6
Symbol 2 GraphicUsed by:6
Symbol 3 GraphicUsed by:6
Symbol 4 GraphicUsed by:6
Symbol 5 GraphicUsed by:6
Symbol 6 MovieClip [enemy3_cd]Uses:1 2 3 4 5
Symbol 7 GraphicUsed by:13
Symbol 8 GraphicUsed by:13
Symbol 9 GraphicUsed by:13
Symbol 10 GraphicUsed by:13
Symbol 11 GraphicUsed by:13
Symbol 12 GraphicUsed by:13
Symbol 13 MovieClip [enemy3_wave]Uses:7 8 9 10 11 12
Symbol 14 ShapeTweeningUsed by:22
Symbol 15 FontUsed by:16 17
Symbol 16 EditableTextUses:15Used by:18
Symbol 17 EditableTextUses:15Used by:18
Symbol 18 MovieClipUses:16 17Used by:22
Symbol 19 GraphicUsed by:22
Symbol 20 ShapeTweeningUsed by:22
Symbol 21 GraphicUsed by:22
Symbol 22 MovieClip [messageBoss]Uses:14 18 19 20 21
Symbol 23 GraphicUsed by:30
Symbol 24 ShapeTweeningUsed by:29
Symbol 25 GraphicUsed by:29
Symbol 26 ShapeTweeningUsed by:29
Symbol 27 GraphicUsed by:29
Symbol 28 GraphicUsed by:29
Symbol 29 MovieClipUses:24 25 26 27 28Used by:30 558 559 561
Symbol 30 MovieClip [map_over]Uses:23 29
Symbol 31 GraphicUsed by:34
Symbol 32 GraphicUsed by:33
Symbol 33 MovieClipUses:32Used by:34 64
Symbol 34 MovieClipUses:31 33Used by:181 182
Symbol 35 GraphicUsed by:181 182
Symbol 36 GraphicUsed by:37
Symbol 37 MovieClipUses:36Used by:181 182
Symbol 38 GraphicUsed by:41 79 111 122 178 186 190 682 686 896
Symbol 39 GraphicUsed by:41 79
Symbol 40 GraphicUsed by:41 79
Symbol 41 ButtonUses:38 39 40Used by:182
Symbol 42 GraphicUsed by:54
Symbol 43 ShapeTweeningUsed by:54
Symbol 44 GraphicUsed by:54
Symbol 45 GraphicUsed by:46
Symbol 46 MovieClipUses:45Used by:47
Symbol 47 MovieClipUses:46Used by:54 78
Symbol 48 GraphicUsed by:49
Symbol 49 MovieClipUses:48Used by:51
Symbol 50 GraphicUsed by:51
Symbol 51 MovieClipUses:49 50Used by:54
Symbol 52 GraphicUsed by:54 74 76 78
Symbol 53 GraphicUsed by:54 78
Symbol 54 MovieClipUses:42 43 44 47 51 52 53Used by:182
Symbol 55 GraphicUsed by:104 182
Symbol 56 GraphicUsed by:64
Symbol 57 GraphicUsed by:58
Symbol 58 MovieClipUses:57Used by:64 181
Symbol 59 GraphicUsed by:60
Symbol 60 MovieClipUses:59Used by:64 181
Symbol 61 GraphicUsed by:63
Symbol 62 GraphicUsed by:63
Symbol 63 ButtonUses:61 62Used by:64
Symbol 64 MovieClipUses:56 33 58 60 63Used by:65
Symbol 65 MovieClipUses:64Used by:182
Symbol 66 GraphicUsed by:74 76 78
Symbol 67 GraphicUsed by:74 76
Symbol 68 GraphicUsed by:74 76 78
Symbol 69 GraphicUsed by:70 74 76
Symbol 70 MovieClipUses:69Used by:74 76
Symbol 71 GraphicUsed by:74 76 78
Symbol 72 GraphicUsed by:74 76 78
Symbol 73 SoundUsed by:74 76 181
Symbol 74 ButtonUses:66 67 68 52 70 71 72 69 73Used by:182
Symbol 75 SoundUsed by:182
Symbol 76 ButtonUses:66 67 68 52 70 71 72 69 73Used by:182
Symbol 77 ShapeTweeningUsed by:181
Symbol 78 MovieClipUses:66 53 47 68 52 71 72Used by:181
Symbol 79 MovieClipUses:38 39 40Used by:181
Symbol 80 GraphicUsed by:97 181
Symbol 81 SoundUsed by:181
Symbol 82 ShapeTweeningUsed by:181
Symbol 83 SoundUsed by:181
Symbol 84 ShapeTweeningUsed by:181
Symbol 85 GraphicUsed by:86 181 328 557 687  Timeline
Symbol 86 MovieClipUses:85Used by:181
Symbol 87 ShapeTweeningUsed by:181
Symbol 88 GraphicUsed by:181
Symbol 89 ShapeTweeningUsed by:97
Symbol 90 ShapeTweeningUsed by:97
Symbol 91 ShapeTweeningUsed by:97
Symbol 92 ShapeTweeningUsed by:97
Symbol 93 ShapeTweeningUsed by:97
Symbol 94 ShapeTweeningUsed by:97
Symbol 95 ShapeTweeningUsed by:97
Symbol 96 ShapeTweeningUsed by:97
Symbol 97 MovieClipUses:89 90 91 92 93 94 95 96 80Used by:181
Symbol 98 GraphicUsed by:181
Symbol 99 GraphicUsed by:100
Symbol 100 MovieClipUses:99Used by:181
Symbol 101 SoundUsed by:181
Symbol 102 GraphicUsed by:103
Symbol 103 MovieClipUses:102Used by:181
Symbol 104 MovieClipUses:55Used by:181
Symbol 105 GraphicUsed by:106
Symbol 106 MovieClipUses:105Used by:181
Symbol 107 SoundUsed by:181
Symbol 108 SoundUsed by:181
Symbol 109 GraphicUsed by:111 122 178
Symbol 110 GraphicUsed by:111 122 178
Symbol 111 ButtonUses:38 109 110Used by:181
Symbol 112 GraphicUsed by:181
Symbol 113 GraphicUsed by:117
Symbol 114 GraphicUsed by:117 143 155 167
Symbol 115 GraphicUsed by:117
Symbol 116 GraphicUsed by:117 143 155 167
Symbol 117 MovieClipUses:113 114 115 116Used by:181
Symbol 118 GraphicUsed by:181
Symbol 119 GraphicUsed by:181
Symbol 120 GraphicUsed by:181
Symbol 121 GraphicUsed by:181
Symbol 122 ButtonUses:38 109 110Used by:181
Symbol 123 GraphicUsed by:137
Symbol 124 GraphicUsed by:137
Symbol 125 GraphicUsed by:137
Symbol 126 GraphicUsed by:137
Symbol 127 GraphicUsed by:137
Symbol 128 GraphicUsed by:137
Symbol 129 GraphicUsed by:137
Symbol 130 GraphicUsed by:137
Symbol 131 GraphicUsed by:137
Symbol 132 GraphicUsed by:137
Symbol 133 GraphicUsed by:137
Symbol 134 GraphicUsed by:137
Symbol 135 GraphicUsed by:137
Symbol 136 GraphicUsed by:137
Symbol 137 MovieClipUses:123 124 125 126 127 128 129 130 131 132 133 134 135 136Used by:181
Symbol 138 GraphicUsed by:181
Symbol 139 GraphicUsed by:181
Symbol 140 GraphicUsed by:181
Symbol 141 GraphicUsed by:143
Symbol 142 GraphicUsed by:143
Symbol 143 MovieClipUses:141 114 142 116Used by:181
Symbol 144 GraphicUsed by:181
Symbol 145 GraphicUsed by:181
Symbol 146 GraphicUsed by:181
Symbol 147 GraphicUsed by:181
Symbol 148 GraphicUsed by:181
Symbol 149 GraphicUsed by:181
Symbol 150 GraphicUsed by:181
Symbol 151 GraphicUsed by:181
Symbol 152 GraphicUsed by:181
Symbol 153 GraphicUsed by:155
Symbol 154 GraphicUsed by:155
Symbol 155 MovieClipUses:153 114 154 116Used by:181
Symbol 156 GraphicUsed by:181
Symbol 157 GraphicUsed by:181
Symbol 158 GraphicUsed by:181
Symbol 159 GraphicUsed by:181
Symbol 160 GraphicUsed by:181
Symbol 161 GraphicUsed by:181
Symbol 162 GraphicUsed by:181
Symbol 163 GraphicUsed by:181
Symbol 164 GraphicUsed by:181
Symbol 165 GraphicUsed by:167
Symbol 166 GraphicUsed by:167
Symbol 167 MovieClipUses:165 114 166 116Used by:181
Symbol 168 GraphicUsed by:181
Symbol 169 GraphicUsed by:181
Symbol 170 GraphicUsed by:181
Symbol 171 GraphicUsed by:181
Symbol 172 GraphicUsed by:181
Symbol 173 GraphicUsed by:181
Symbol 174 GraphicUsed by:181
Symbol 175 GraphicUsed by:181
Symbol 176 GraphicUsed by:181
Symbol 177 SoundUsed by:181
Symbol 178 ButtonUses:38 109 110Used by:181
Symbol 179 GraphicUsed by:180
Symbol 180 MovieClipUses:179Used by:181
Symbol 181 MovieClipUses:34 37 77 78 79 80 35 81 82 83 84 86 87 88 97 98 100 101 103 104 106 107 108 111 112 117 118 119 120 121 122 137 138 139 140 143 144 145 146 147 148 149 150 151 152 155 156 157 158 159 160 161 162 163 164 167 168 169 170 171 172 173 174 175 176 58 73 60 177 178 180 85Used by:182
Symbol 182 MovieClipUses:34 35 37 41 54 55 65 74 75 76 181Used by:Timeline
Symbol 1008 MovieClip [__Packages.NewgroundsAPI]
Symbol 183 ShapeTweeningUsed by:186
Symbol 184 GraphicUsed by:186
Symbol 185 ShapeTweeningUsed by:186
Symbol 186 MovieClip [trophy3]Uses:183 184 185 38Used by:Timeline
Symbol 187 ShapeTweeningUsed by:190
Symbol 188 GraphicUsed by:190
Symbol 189 ShapeTweeningUsed by:190
Symbol 190 MovieClip [trophy4]Uses:187 188 189 38Used by:Timeline
Symbol 191 GraphicUsed by:192
Symbol 192 MovieClip [badge1]Uses:191Used by:Timeline
Symbol 193 GraphicUsed by:194
Symbol 194 MovieClip [badge2]Uses:193Used by:Timeline
Symbol 195 GraphicUsed by:196
Symbol 196 MovieClip [badge3]Uses:195Used by:Timeline
Symbol 197 GraphicUsed by:198
Symbol 198 MovieClip [badge4]Uses:197Used by:Timeline
Symbol 199 GraphicUsed by:200
Symbol 200 MovieClip [badge5]Uses:199Used by:Timeline
Symbol 201 GraphicUsed by:202
Symbol 202 MovieClip [badge6]Uses:201Used by:Timeline
Symbol 203 GraphicUsed by:204
Symbol 204 MovieClip [badge7]Uses:203Used by:Timeline
Symbol 205 GraphicUsed by:206
Symbol 206 MovieClip [badge8]Uses:205Used by:Timeline
Symbol 207 GraphicUsed by:208
Symbol 208 MovieClip [badge9]Uses:207Used by:Timeline
Symbol 209 GraphicUsed by:210
Symbol 210 MovieClip [badge10]Uses:209Used by:Timeline
Symbol 211 GraphicUsed by:212
Symbol 212 MovieClip [badge11]Uses:211Used by:Timeline
Symbol 213 GraphicUsed by:214
Symbol 214 MovieClip [badge12]Uses:213Used by:Timeline
Symbol 215 GraphicUsed by:216
Symbol 216 MovieClip [badge13]Uses:215Used by:Timeline
Symbol 217 GraphicUsed by:218
Symbol 218 MovieClip [badge14]Uses:217Used by:Timeline
Symbol 219 GraphicUsed by:220
Symbol 220 MovieClip [badge15]Uses:219Used by:Timeline
Symbol 221 GraphicUsed by:222
Symbol 222 MovieClipUses:221Used by:224 227 229
Symbol 223 GraphicUsed by:224
Symbol 224 MovieClipUses:222 223Used by:260
Symbol 225 GraphicUsed by:226 947
Symbol 226 MovieClipUses:225Used by:227 229
Symbol 227 MovieClipUses:226 222Used by:260
Symbol 228 GraphicUsed by:229
Symbol 229 MovieClipUses:222 226 228Used by:260
Symbol 230 GraphicUsed by:231
Symbol 231 MovieClipUses:230Used by:241 268
Symbol 232 GraphicUsed by:241
Symbol 233 GraphicUsed by:241
Symbol 234 GraphicUsed by:241
Symbol 235 GraphicUsed by:241
Symbol 236 GraphicUsed by:241
Symbol 237 GraphicUsed by:241
Symbol 238 GraphicUsed by:241
Symbol 239 GraphicUsed by:241
Symbol 240 GraphicUsed by:241
Symbol 241 MovieClipUses:231 232 233 234 235 236 237 238 239 240Used by:260 271
Symbol 242 GraphicUsed by:243
Symbol 243 MovieClipUses:242Used by:248 269
Symbol 244 GraphicUsed by:248
Symbol 245 GraphicUsed by:248
Symbol 246 GraphicUsed by:248
Symbol 247 GraphicUsed by:248
Symbol 248 MovieClipUses:243 244 245 246 247Used by:260 271
Symbol 249 GraphicUsed by:250
Symbol 250 MovieClipUses:249Used by:259 270
Symbol 251 GraphicUsed by:259
Symbol 252 GraphicUsed by:259
Symbol 253 GraphicUsed by:259
Symbol 254 GraphicUsed by:259
Symbol 255 GraphicUsed by:259
Symbol 256 GraphicUsed by:259
Symbol 257 GraphicUsed by:259
Symbol 258 GraphicUsed by:259
Symbol 259 MovieClipUses:250 251 252 253 254 255 256 257 258Used by:260 271
Symbol 260 MovieClip [enemy1]Uses:224 227 229 241 248 259Used by:Timeline
Symbol 261 GraphicUsed by:268
Symbol 262 GraphicUsed by:268
Symbol 263 GraphicUsed by:268
Symbol 264 GraphicUsed by:268
Symbol 265 GraphicUsed by:268
Symbol 266 GraphicUsed by:268
Symbol 267 GraphicUsed by:268
Symbol 268 MovieClipUses:231 261 262 263 264 265 266 267Used by:271
Symbol 269 MovieClipUses:243Used by:271
Symbol 270 MovieClipUses:250Used by:271
Symbol 271 MovieClip [enemy2]Uses:268 269 270 241 248 259Used by:Timeline
Symbol 272 GraphicUsed by:273 481 509 516 522 524 759 784 787 793 795 931 973
Symbol 273 MovieClipUses:272Used by:337 385 471 743 897
Symbol 274 GraphicUsed by:294 319 328 336
Symbol 275 GraphicUsed by:279
Symbol 276 GraphicUsed by:279
Symbol 277 GraphicUsed by:279
Symbol 278 GraphicUsed by:279
Symbol 279 MovieClipUses:275 276 277 278Used by:294 307 314 319 328 336
Symbol 280 GraphicUsed by:281
Symbol 281 MovieClipUses:280Used by:294 307 314 319 328 336
Symbol 282 GraphicUsed by:283
Symbol 283 MovieClipUses:282Used by:294 319 328 336
Symbol 284 GraphicUsed by:285
Symbol 285 MovieClipUses:284Used by:294 307 314 319 328 336
Symbol 286 GraphicUsed by:287
Symbol 287 MovieClipUses:286Used by:294 319 328 336
Symbol 288 GraphicUsed by:289
Symbol 289 MovieClipUses:288Used by:294 319 328 336
Symbol 290 GraphicUsed by:291
Symbol 291 MovieClipUses:290Used by:294 319 328 336
Symbol 292 GraphicUsed by:293
Symbol 293 MovieClipUses:292Used by:294 319 328 336
Symbol 294 MovieClipUses:274 279 281 283 285 287 289 291 293Used by:337
Symbol 295 GraphicUsed by:296
Symbol 296 MovieClipUses:295Used by:307
Symbol 297 GraphicUsed by:298
Symbol 298 MovieClipUses:297Used by:307
Symbol 299 GraphicUsed by:300
Symbol 300 MovieClipUses:299Used by:307
Symbol 301 GraphicUsed by:302
Symbol 302 MovieClipUses:301Used by:307
Symbol 303 GraphicUsed by:304
Symbol 304 MovieClipUses:303Used by:307
Symbol 305 GraphicUsed by:306
Symbol 306 MovieClipUses:305Used by:307
Symbol 307 MovieClipUses:296 285 298 300 302 279 281 304 306Used by:337
Symbol 308 GraphicUsed by:309
Symbol 309 MovieClipUses:308Used by:314
Symbol 310 GraphicUsed by:311
Symbol 311 MovieClipUses:310Used by:314
Symbol 312 GraphicUsed by:313
Symbol 313 MovieClipUses:312Used by:314
Symbol 314 MovieClipUses:279 281 285 309 311 313Used by:337
Symbol 315 GraphicUsed by:319
Symbol 316 GraphicUsed by:319
Symbol 317 GraphicUsed by:319
Symbol 318 GraphicUsed by:319
Symbol 319 MovieClipUses:274 279 281 283 285 287 289 291 293 315 316 317 318Used by:337
Symbol 320 ShapeTweeningUsed by:328
Symbol 321 ShapeTweeningUsed by:328
Symbol 322 ShapeTweeningUsed by:328
Symbol 323 ShapeTweeningUsed by:328
Symbol 324 ShapeTweeningUsed by:328
Symbol 325 ShapeTweeningUsed by:328
Symbol 326 ShapeTweeningUsed by:328
Symbol 327 ShapeTweeningUsed by:328
Symbol 328 MovieClipUses:274 279 281 283 285 287 289 291 293 320 321 322 85 323 324 325 326 327Used by:337
Symbol 329 GraphicUsed by:336
Symbol 330 GraphicUsed by:336
Symbol 331 GraphicUsed by:336
Symbol 332 GraphicUsed by:336
Symbol 333 GraphicUsed by:336
Symbol 334 GraphicUsed by:336
Symbol 335 GraphicUsed by:336
Symbol 336 MovieClipUses:274 279 281 283 285 287 289 291 293 329 330 331 332 333 334 335Used by:337
Symbol 337 MovieClip [enemy3]Uses:273 294 307 314 319 328 336Used by:Timeline
Symbol 338 GraphicUsed by:339
Symbol 339 MovieClipUses:338Used by:385
Symbol 340 GraphicUsed by:344
Symbol 341 GraphicUsed by:344
Symbol 342 GraphicUsed by:344
Symbol 343 GraphicUsed by:344
Symbol 344 MovieClipUses:340 341 342 343Used by:385
Symbol 345 GraphicUsed by:349
Symbol 346 GraphicUsed by:349
Symbol 347 GraphicUsed by:349
Symbol 348 GraphicUsed by:349
Symbol 349 MovieClipUses:345 346 347 348Used by:385
Symbol 350 GraphicUsed by:354
Symbol 351 GraphicUsed by:354
Symbol 352 GraphicUsed by:354
Symbol 353 GraphicUsed by:354
Symbol 354 MovieClipUses:350 351 352 353Used by:385
Symbol 355 GraphicUsed by:370
Symbol 356 GraphicUsed by:370
Symbol 357 GraphicUsed by:370
Symbol 358 GraphicUsed by:370
Symbol 359 GraphicUsed by:370
Symbol 360 GraphicUsed by:370
Symbol 361 GraphicUsed by:370
Symbol 362 GraphicUsed by:370
Symbol 363 GraphicUsed by:370
Symbol 364 GraphicUsed by:370
Symbol 365 GraphicUsed by:370
Symbol 366 GraphicUsed by:370
Symbol 367 GraphicUsed by:370
Symbol 368 GraphicUsed by:370
Symbol 369 GraphicUsed by:370
Symbol 370 MovieClipUses:355 356 357 358 359 360 361 362 363 364 365 366 367 368 369Used by:385
Symbol 371 GraphicUsed by:372
Symbol 372 MovieClipUses:371Used by:385
Symbol 373 GraphicUsed by:377
Symbol 374 GraphicUsed by:377
Symbol 375 GraphicUsed by:377
Symbol 376 GraphicUsed by:377
Symbol 377 MovieClipUses:373 374 375 376Used by:385
Symbol 378 GraphicUsed by:384
Symbol 379 GraphicUsed by:384
Symbol 380 GraphicUsed by:384
Symbol 381 GraphicUsed by:384
Symbol 382 GraphicUsed by:384
Symbol 383 GraphicUsed by:384
Symbol 384 MovieClipUses:378 379 380 381 382 383Used by:385
Symbol 385 MovieClip [enemy4]Uses:273 339 344 349 354 370 372 377 384Used by:Timeline
Symbol 386 GraphicUsed by:387
Symbol 387 MovieClipUses:386Used by:396 406 407 409 449 462 470
Symbol 388 GraphicUsed by:389
Symbol 389 MovieClipUses:388Used by:396 403 406 407 408 409 432 438 462 463 464 470
Symbol 390 GraphicUsed by:391
Symbol 391 MovieClipUses:390Used by:396 406 407 409 449 462 470
Symbol 392 GraphicUsed by:393
Symbol 393 MovieClipUses:392Used by:396 403 406 407 408 409 432 438 449 462 463 464 470
Symbol 394 GraphicUsed by:395
Symbol 395 MovieClipUses:394Used by:396 407 462 470
Symbol 396 MovieClipUses:387 389 391 393 395Used by:471
Symbol 397 GraphicUsed by:398
Symbol 398 MovieClipUses:397Used by:403 408 432 438 463 464
Symbol 399 GraphicUsed by:400
Symbol 400 ButtonUses:399Used by:403 408 432 438 463 464
Symbol 401 GraphicUsed by:402
Symbol 402 MovieClipUses:401Used by:403 408 432 438 463 464
Symbol 403 MovieClipUses:393 398 400 389 402Used by:471
Symbol 404 GraphicUsed by:405
Symbol 405 ButtonUses:404Used by:406 409 449
Symbol 406 MovieClipUses:391 393 405 387 389Used by:471
Symbol 407 MovieClipUses:387 389 391 393 395Used by:471
Symbol 408 MovieClipUses:393 398 400 389 402Used by:471
Symbol 409 MovieClipUses:391 393 405 387 389Used by:471
Symbol 410 GraphicUsed by:411
Symbol 411 MovieClipUses:410Used by:432 463 464
Symbol 412 GraphicUsed by:432
Symbol 413 GraphicUsed by:432
Symbol 414 GraphicUsed by:432
Symbol 415 GraphicUsed by:432
Symbol 416 GraphicUsed by:432
Symbol 417 GraphicUsed by:432
Symbol 418 GraphicUsed by:432
Symbol 419 GraphicUsed by:432
Symbol 420 GraphicUsed by:432
Symbol 421 GraphicUsed by:432
Symbol 422 GraphicUsed by:432
Symbol 423 GraphicUsed by:432
Symbol 424 GraphicUsed by:432
Symbol 425 GraphicUsed by:432
Symbol 426 GraphicUsed by:432
Symbol 427 GraphicUsed by:432
Symbol 428 GraphicUsed by:432
Symbol 429 GraphicUsed by:432
Symbol 430 GraphicUsed by:432
Symbol 431 GraphicUsed by:432
Symbol 432 MovieClipUses:393 398 400 389 402 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431Used by:471
Symbol 433 GraphicUsed by:438
Symbol 434 GraphicUsed by:438
Symbol 435 GraphicUsed by:438 527 798
Symbol 436 GraphicUsed by:438 527 798
Symbol 437 GraphicUsed by:438 527 798
Symbol 438 MovieClipUses:393 398 400 389 402 433 434 435 436 437Used by:471
Symbol 439 GraphicUsed by:440
Symbol 440 MovieClipUses:439Used by:449 462
Symbol 441 GraphicUsed by:442
Symbol 442 ButtonUses:441Used by:449
Symbol 443 GraphicUsed by:449 523 794
Symbol 444 GraphicUsed by:449 523 794
Symbol 445 GraphicUsed by:449 523 794
Symbol 446 GraphicUsed by:449 523 794
Symbol 447 GraphicUsed by:449 523 794
Symbol 448 GraphicUsed by:449 523 794
Symbol 449 MovieClipUses:440 391 393 405 387 442 443 444 445 446 447 448Used by:471
Symbol 450 GraphicUsed by:462 519 790
Symbol 451 GraphicUsed by:462 519 790
Symbol 452 GraphicUsed by:462
Symbol 453 GraphicUsed by:462 519 790
Symbol 454 GraphicUsed by:462 519 790
Symbol 455 GraphicUsed by:462 519 790
Symbol 456 GraphicUsed by:462 519 790
Symbol 457 GraphicUsed by:462 519 790
Symbol 458 GraphicUsed by:462
Symbol 459 GraphicUsed by:462 519 790
Symbol 460 GraphicUsed by:462 519 790
Symbol 461 GraphicUsed by:462 519 790
Symbol 462 MovieClipUses:387 389 391 395 393 450 451 452 453 454 455 440 456 457 458 459 460 461Used by:471
Symbol 463 MovieClipUses:393 398 400 389 402 411Used by:471
Symbol 464 MovieClipUses:393 398 400 389 402 411Used by:471
Symbol 465 GraphicUsed by:470
Symbol 466 GraphicUsed by:470
Symbol 467 GraphicUsed by:470
Symbol 468 GraphicUsed by:470
Symbol 469 GraphicUsed by:470
Symbol 470 MovieClipUses:387 389 391 393 395 465 466 467 468 469Used by:471
Symbol 471 MovieClip [enemy5]Uses:273 396 403 406 407 408 409 432 438 449 462 463 464 470Used by:Timeline
Symbol 472 GraphicUsed by:474
Symbol 473 GraphicUsed by:474
Symbol 474 MovieClip [heart]Uses:472 473Used by:Timeline
Symbol 475 GraphicUsed by:476
Symbol 476 MovieClipUses:475Used by:480 483 487 496 503 508 515 519 523 527
Symbol 477 GraphicUsed by:480
Symbol 478 GraphicUsed by:479
Symbol 479 MovieClipUses:478Used by:480 483 496 503 519 527
Symbol 480 MovieClipUses:476 477 479Used by:551
Symbol 481 MovieClipUses:272Used by:551
Symbol 482 GraphicUsed by:483
Symbol 483 MovieClipUses:482 479 476Used by:551
Symbol 484 GraphicUsed by:485
Symbol 485 MovieClipUses:484Used by:487 508 515 519 523
Symbol 486 GraphicUsed by:487
Symbol 487 MovieClipUses:485 476 486Used by:551
Symbol 488 GraphicUsed by:489 539 766 810
Symbol 489 MovieClipUses:488Used by:496 515 527
Symbol 490 GraphicUsed by:491 540 767 811
Symbol 491 ButtonUses:490Used by:496 515 527
Symbol 492 GraphicUsed by:493
Symbol 493 MovieClipUses:492Used by:496 503 515 519 527
Symbol 494 GraphicUsed by:495
Symbol 495 MovieClipUses:494Used by:496 515 527
Symbol 496 MovieClipUses:476 489 491 493 495 479Used by:551
Symbol 497 GraphicUsed by:498 528 799
Symbol 498 MovieClipUses:497Used by:503 508 519 523
Symbol 499 GraphicUsed by:500 531 775 802
Symbol 500 MovieClipUses:499Used by:503 508 519 523
Symbol 501 GraphicUsed by:502
Symbol 502 MovieClipUses:501Used by:503 519
Symbol 503 MovieClipUses:498 493 500 479 476 502Used by:551
Symbol 504 GraphicUsed by:505 520
Symbol 505 MovieClipUses:504Used by:508
Symbol 506 GraphicUsed by:507 521
Symbol 507 MovieClipUses:506Used by:508
Symbol 508 MovieClipUses:485 500 476 505 498 507Used by:551
Symbol 509 MovieClipUses:272Used by:515
Symbol 510 GraphicUsed by:515 786
Symbol 511 GraphicUsed by:515
Symbol 512 GraphicUsed by:515 786
Symbol 513 GraphicUsed by:515 786
Symbol 514 GraphicUsed by:515 786
Symbol 515 MovieClipUses:485 489 491 493 495 476 509 510 511 512 513 514Used by:551
Symbol 516 MovieClipUses:272Used by:519
Symbol 517 GraphicUsed by:519
Symbol 518 GraphicUsed by:519
Symbol 519 MovieClipUses:498 493 500 479 502 476 450 451 516 517 453 454 455 485 456 457 518 459 460 461Used by:551
Symbol 520 ButtonUses:504Used by:523
Symbol 521 ButtonUses:506Used by:523
Symbol 522 MovieClipUses:272Used by:523
Symbol 523 MovieClipUses:485 500 476 520 498 521 522 443 444 445 446 447 448Used by:551
Symbol 524 MovieClipUses:272Used by:527
Symbol 525 GraphicUsed by:527
Symbol 526 GraphicUsed by:527
Symbol 527 MovieClipUses:476 489 491 493 495 479 524 525 526 435 436 437Used by:551
Symbol 528 MovieClipUses:497Used by:538
Symbol 529 GraphicUsed by:530
Symbol 530 MovieClipUses:529Used by:538 543
Symbol 531 MovieClipUses:499Used by:538
Symbol 532 GraphicUsed by:533
Symbol 533 MovieClipUses:532Used by:538 543
Symbol 534 GraphicUsed by:535
Symbol 535 MovieClipUses:534Used by:538 543
Symbol 536 GraphicUsed by:537
Symbol 537 MovieClipUses:536Used by:538
Symbol 538 MovieClipUses:528 530 531 533 535 537Used by:551
Symbol 539 MovieClipUses:488Used by:543
Symbol 540 MovieClipUses:490Used by:543
Symbol 541 GraphicUsed by:542
Symbol 542 MovieClipUses:541Used by:543
Symbol 543 MovieClipUses:535 539 540 530 542 533Used by:551
Symbol 544 GraphicUsed by:550
Symbol 545 GraphicUsed by:550 820
Symbol 546 GraphicUsed by:550
Symbol 547 GraphicUsed by:550
Symbol 548 GraphicUsed by:550
Symbol 549 GraphicUsed by:550
Symbol 550 MovieClipUses:544 545 546 547 548 549Used by:551
Symbol 551 MovieClip [hero2]Uses:480 481 483 487 496 503 508 515 519 523 527 538 543 550Used by:Timeline
Symbol 552 GraphicUsed by:553
Symbol 553 MovieClip [key]Uses:552Used by:595  Timeline
Symbol 554 GraphicUsed by:555
Symbol 555 MovieClip [bluekey]Uses:554Used by:620  Timeline
Symbol 556 GraphicUsed by:558 559
Symbol 557 MovieClipUses:85Used by:558 559 561
Symbol 558 MovieClip [map_d1]Uses:556 29 557Used by:Timeline
Symbol 559 MovieClip [map_d2]Uses:556 29 557Used by:Timeline
Symbol 560 GraphicUsed by:561
Symbol 561 MovieClip [map_d3]Uses:560 29 557Used by:Timeline
Symbol 562 GraphicUsed by:569
Symbol 563 FontUsed by:564
Symbol 564 EditableTextUses:563Used by:569
Symbol 565 GraphicUsed by:566
Symbol 566 MovieClipUses:565Used by:567
Symbol 567 MovieClipUses:566Used by:569 931 973
Symbol 568 GraphicUsed by:569
Symbol 569 MovieClip [message]Uses:562 564 567 568Used by:Timeline
Symbol 570 GraphicUsed by:678
Symbol 571 GraphicUsed by:678
Symbol 572 GraphicUsed by:678
Symbol 573 GraphicUsed by:678
Symbol 574 GraphicUsed by:678
Symbol 575 GraphicUsed by:678
Symbol 576 GraphicUsed by:580
Symbol 577 GraphicUsed by:580
Symbol 578 ShapeTweeningUsed by:580
Symbol 579 GraphicUsed by:580
Symbol 580 MovieClipUses:576 577 578 579Used by:678
Symbol 581 GraphicUsed by:678
Symbol 582 GraphicUsed by:678
Symbol 583 GraphicUsed by:678
Symbol 584 GraphicUsed by:678
Symbol 585 GraphicUsed by:591
Symbol 586 GraphicUsed by:591
Symbol 587 GraphicUsed by:591
Symbol 588 GraphicUsed by:591
Symbol 589 GraphicUsed by:591
Symbol 590 GraphicUsed by:591
Symbol 591 MovieClipUses:585 586 587 588 589 590Used by:678
Symbol 592 GraphicUsed by:595
Symbol 593 GraphicUsed by:595 620
Symbol 594 GraphicUsed by:595
Symbol 595 MovieClipUses:592 593 594 553Used by:678
Symbol 596 GraphicUsed by:678
Symbol 597 GraphicUsed by:678
Symbol 598 GraphicUsed by:678
Symbol 599 GraphicUsed by:678
Symbol 600 GraphicUsed by:678
Symbol 601 GraphicUsed by:678
Symbol 602 GraphicUsed by:678
Symbol 603 GraphicUsed by:678
Symbol 604 GraphicUsed by:678
Symbol 605 GraphicUsed by:678
Symbol 606 GraphicUsed by:678
Symbol 607 GraphicUsed by:662 678 833
Symbol 608 GraphicUsed by:678
Symbol 609 GraphicUsed by:678
Symbol 610 GraphicUsed by:678
Symbol 611 GraphicUsed by:678
Symbol 612 GraphicUsed by:678
Symbol 613 GraphicUsed by:617
Symbol 614 GraphicUsed by:617
Symbol 615 ShapeTweeningUsed by:617
Symbol 616 GraphicUsed by:617
Symbol 617 MovieClipUses:613 614 615 616Used by:678
Symbol 618 GraphicUsed by:620
Symbol 619 GraphicUsed by:620
Symbol 620 MovieClipUses:618 593 619 555Used by:678
Symbol 621 GraphicUsed by:637
Symbol 622 GraphicUsed by:623
Symbol 623 MovieClipUses:622Used by:637 652 673
Symbol 624 BitmapUsed by:625 626 627 628 629 630 631 664
Symbol 625 GraphicUses:624Used by:637
Symbol 626 GraphicUses:624Used by:632
Symbol 627 GraphicUses:624Used by:632
Symbol 628 GraphicUses:624Used by:632
Symbol 629 GraphicUses:624Used by:632
Symbol 630 GraphicUses:624Used by:632
Symbol 631 GraphicUses:624Used by:632
Symbol 632 MovieClipUses:626 627 628 629 630 631Used by:637
Symbol 633 GraphicUsed by:636
Symbol 634 GraphicUsed by:635
Symbol 635 MovieClipUses:634Used by:636
Symbol 636 MovieClipUses:633 635Used by:637
Symbol 637 MovieClipUses:621 623 625 632 636Used by:678
Symbol 638 GraphicUsed by:652
Symbol 639 GraphicUsed by:642
Symbol 640 GraphicUsed by:641
Symbol 641 MovieClipUses:640Used by:642
Symbol 642 MovieClipUses:639 641Used by:652
Symbol 643 GraphicUsed by:644
Symbol 644 MovieClipUses:643Used by:650
Symbol 645 GraphicUsed by:650
Symbol 646 GraphicUsed by:647
Symbol 647 MovieClipUses:646Used by:648
Symbol 648 MovieClipUses:647Used by:650
Symbol 649 GraphicUsed by:650
Symbol 650 MovieClipUses:644 645 648 649Used by:652
Symbol 651 GraphicUsed by:652
Symbol 652 MovieClipUses:638 623 642 650 651Used by:678
Symbol 653 GraphicUsed by:678
Symbol 654 GraphicUsed by:678
Symbol 655 GraphicUsed by:678
Symbol 656 GraphicUsed by:678
Symbol 657 GraphicUsed by:678
Symbol 658 GraphicUsed by:662
Symbol 659 GraphicUsed by:662
Symbol 660 GraphicUsed by:662
Symbol 661 MovieClipUsed by:662  Timeline
Symbol 662 MovieClipUses:607 658 659 660 661Used by:678
Symbol 663 GraphicUsed by:678
Symbol 664 GraphicUses:624Used by:670
Symbol 665 GraphicUsed by:669
Symbol 666 GraphicUsed by:669
Symbol 667 GraphicUsed by:669
Symbol 668 GraphicUsed by:669
Symbol 669 MovieClipUses:665 666 667 668Used by:670
Symbol 670 MovieClipUses:664 669Used by:678
Symbol 671 GraphicUsed by:673
Symbol 672 GraphicUsed by:673
Symbol 673 MovieClipUses:671 623 672Used by:678
Symbol 674 GraphicUsed by:677
Symbol 675 GraphicUsed by:676
Symbol 676 MovieClipUses:675Used by:677
Symbol 677 MovieClipUses:674 676Used by:678
Symbol 678 MovieClip [tile]Uses:570 571 572 573 574 575 580 581 582 583 584 591 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 617 620 637 652 653 654 655 656 657 662 663 670 673 677Used by:Timeline
Symbol 679 ShapeTweeningUsed by:682
Symbol 680 GraphicUsed by:682
Symbol 681 ShapeTweeningUsed by:682
Symbol 682 MovieClip [trophy1]Uses:679 680 681 38Used by:Timeline
Symbol 683 ShapeTweeningUsed by:686
Symbol 684 GraphicUsed by:686
Symbol 685 ShapeTweeningUsed by:686
Symbol 686 MovieClip [trophy2]Uses:683 684 685 38Used by:Timeline
Symbol 687 MovieClipUses:85Used by:716
Symbol 688 ShapeTweeningUsed by:716
Symbol 689 ShapeTweeningUsed by:716
Symbol 690 ShapeTweeningUsed by:716
Symbol 691 ShapeTweeningUsed by:716
Symbol 692 ShapeTweeningUsed by:716
Symbol 693 ShapeTweeningUsed by:716
Symbol 694 GraphicUsed by:716
Symbol 695 GraphicUsed by:716
Symbol 696 ShapeTweeningUsed by:716
Symbol 697 GraphicUsed by:716
Symbol 698 ShapeTweeningUsed by:716
Symbol 699 GraphicUsed by:716
Symbol 700 GraphicUsed by:716
Symbol 701 GraphicUsed by:716
Symbol 702 ShapeTweeningUsed by:716
Symbol 703 ShapeTweeningUsed by:716
Symbol 704 ShapeTweeningUsed by:716
Symbol 705 ShapeTweeningUsed by:716
Symbol 706 ShapeTweeningUsed by:716
Symbol 707 ShapeTweeningUsed by:716
Symbol 708 ShapeTweeningUsed by:716
Symbol 709 ShapeTweeningUsed by:716
Symbol 710 GraphicUsed by:716
Symbol 711 GraphicUsed by:714
Symbol 712 FontUsed by:713
Symbol 713 EditableTextUses:712Used by:714
Symbol 714 MovieClipUses:711 713Used by:716  Timeline
Symbol 715 GraphicUsed by:716
Symbol 716 MovieClip [gameover]Uses:687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 714 715Used by:Timeline
Symbol 717 GraphicUsed by:720
Symbol 718 GraphicUsed by:719
Symbol 719 MovieClipUses:718Used by:720
Symbol 720 MovieClipUses:717 719Used by:723 724 725
Symbol 721 GraphicUsed by:722
Symbol 722 MovieClipUses:721Used by:723 724 725 748 750 752
Symbol 723 MovieClipUses:720 722Used by:734 735 743
Symbol 724 MovieClipUses:720 722Used by:743
Symbol 725 MovieClipUses:720 722Used by:743
Symbol 726 GraphicUsed by:727
Symbol 727 MovieClipUses:726Used by:735
Symbol 728 GraphicUsed by:729
Symbol 729 MovieClipUses:728Used by:734 735
Symbol 730 GraphicUsed by:734
Symbol 731 GraphicUsed by:734
Symbol 732 GraphicUsed by:734
Symbol 733 GraphicUsed by:734
Symbol 734 MovieClipUses:729 723 730 731 732 733Used by:735
Symbol 735 MovieClipUses:727 723 729 734Used by:743
Symbol 736 GraphicUsed by:742
Symbol 737 GraphicUsed by:742
Symbol 738 GraphicUsed by:742
Symbol 739 GraphicUsed by:742
Symbol 740 GraphicUsed by:742
Symbol 741 GraphicUsed by:742
Symbol 742 MovieClipUses:736 737 738 739 740 741Used by:743
Symbol 743 MovieClip [enemy7]Uses:723 273 724 725 735 742Used by:Timeline
Symbol 744 GraphicUsed by:745
Symbol 745 MovieClipUses:744Used by:746
Symbol 746 MovieClip [b]Uses:745Used by:Timeline
Symbol 747 GraphicUsed by:748
Symbol 748 MovieClip [clock1]Uses:747 722Used by:Timeline
Symbol 749 GraphicUsed by:750
Symbol 750 MovieClip [clock2]Uses:749 722Used by:Timeline
Symbol 751 GraphicUsed by:752
Symbol 752 MovieClip [clock3]Uses:751 722Used by:Timeline
Symbol 753 GraphicUsed by:754
Symbol 754 MovieClipUses:753Used by:758 761 765 772 778 783 786 790 794 798
Symbol 755 GraphicUsed by:758
Symbol 756 GraphicUsed by:757
Symbol 757 MovieClipUses:756Used by:758 761 772 778 790 798
Symbol 758 MovieClipUses:754 755 757Used by:821
Symbol 759 MovieClipUses:272Used by:821
Symbol 760 GraphicUsed by:761
Symbol 761 MovieClipUses:760 757 754Used by:821
Symbol 762 GraphicUsed by:763
Symbol 763 MovieClipUses:762Used by:765 783 786 790 794
Symbol 764 GraphicUsed by:765
Symbol 765 MovieClipUses:763 754 764Used by:821 833
Symbol 766 MovieClipUses:488Used by:772 786 798
Symbol 767 ButtonUses:490Used by:772 786 798
Symbol 768 GraphicUsed by:769
Symbol 769 MovieClipUses:768Used by:772 778 786 790 798 831
Symbol 770 GraphicUsed by:771
Symbol 771 MovieClipUses:770Used by:772 786 798
Symbol 772 MovieClipUses:754 766 767 769 771 757Used by:821
Symbol 773 GraphicUsed by:774
Symbol 774 MovieClipUses:773Used by:778 783 790 794 831
Symbol 775 MovieClipUses:499Used by:778 783 790 794 831
Symbol 776 GraphicUsed by:777
Symbol 777 MovieClipUses:776Used by:778 790 831
Symbol 778 MovieClipUses:774 769 775 757 754 777Used by:821
Symbol 779 GraphicUsed by:780 791
Symbol 780 MovieClipUses:779Used by:783
Symbol 781 GraphicUsed by:782 792
Symbol 782 MovieClipUses:781Used by:783
Symbol 783 MovieClipUses:763 775 754 780 774 782Used by:821 833
Symbol 784 MovieClipUses:272Used by:786
Symbol 785 GraphicUsed by:786
Symbol 786 MovieClipUses:763 766 767 769 771 754 784 510 785 512 513 514Used by:821
Symbol 787 MovieClipUses:272Used by:790
Symbol 788 GraphicUsed by:790
Symbol 789 GraphicUsed by:790
Symbol 790 MovieClipUses:774 769 775 757 777 754 450 451 787 788 453 454 455 763 456 457 789 459 460 461Used by:821
Symbol 791 ButtonUses:779Used by:794
Symbol 792 ButtonUses:781Used by:794
Symbol 793 MovieClipUses:272Used by:794
Symbol 794 MovieClipUses:763 775 754 791 774 792 793 443 444 445 446 447 448Used by:821
Symbol 795 MovieClipUses:272Used by:798
Symbol 796 GraphicUsed by:798
Symbol 797 GraphicUsed by:798
Symbol 798 MovieClipUses:754 766 767 769 771 757 795 796 797 435 436 437Used by:821
Symbol 799 MovieClipUses:497Used by:809
Symbol 800 GraphicUsed by:801
Symbol 801 MovieClipUses:800Used by:809 814
Symbol 802 MovieClipUses:499Used by:809
Symbol 803 GraphicUsed by:804
Symbol 804 MovieClipUses:803Used by:809 814
Symbol 805 GraphicUsed by:806
Symbol 806 MovieClipUses:805Used by:809 814
Symbol 807 GraphicUsed by:808
Symbol 808 MovieClipUses:807Used by:809
Symbol 809 MovieClipUses:799 801 802 804 806 808Used by:821
Symbol 810 MovieClipUses:488Used by:814
Symbol 811 MovieClipUses:490Used by:814
Symbol 812 GraphicUsed by:813
Symbol 813 MovieClipUses:812Used by:814
Symbol 814 MovieClipUses:806 810 811 801 813 804Used by:821
Symbol 815 GraphicUsed by:820
Symbol 816 GraphicUsed by:820
Symbol 817 GraphicUsed by:820
Symbol 818 GraphicUsed by:820
Symbol 819 GraphicUsed by:820
Symbol 820 MovieClipUses:815 545 816 817 818 819Used by:821
Symbol 821 MovieClip [hero]Uses:758 759 761 765 772 778 783 786 790 794 798 809 814 820Used by:Timeline
Symbol 822 GraphicUsed by:833
Symbol 823 GraphicUsed by:824
Symbol 824 MovieClipUses:823Used by:827
Symbol 825 GraphicUsed by:826
Symbol 826 MovieClipUses:825Used by:827
Symbol 827 MovieClipUses:824 826Used by:833 987
Symbol 828 GraphicUsed by:833
Symbol 829 GraphicUsed by:833
Symbol 830 GraphicUsed by:833
Symbol 831 MovieClipUses:774 769 777 775Used by:833
Symbol 832 GraphicUsed by:833
Symbol 833 MovieClip [blamsword]Uses:607 822 827 828 783 765 829 830 831 832Used by:Timeline
Symbol 834 GraphicUsed by:835
Symbol 835 MovieClip [badge0]Uses:834Used by:Timeline
Symbol 836 GraphicUsed by:851
Symbol 837 GraphicUsed by:838
Symbol 838 MovieClipUses:837Used by:851 869 883 893 896
Symbol 839 GraphicUsed by:840
Symbol 840 MovieClipUses:839Used by:851 869 883 893 896
Symbol 841 GraphicUsed by:842
Symbol 842 MovieClipUses:841Used by:851 869 883 893 896
Symbol 843 GraphicUsed by:844
Symbol 844 MovieClipUses:843Used by:851 869 883 893 896
Symbol 845 GraphicUsed by:846 860
Symbol 846 MovieClipUses:845Used by:851 869 883 893 896
Symbol 847 GraphicUsed by:848 861
Symbol 848 MovieClipUses:847Used by:851 883 893 896
Symbol 849 GraphicUsed by:850
Symbol 850 MovieClipUses:849Used by:851 869 883 893 896
Symbol 851 MovieClipUses:836 838 840 842 844 846 848 850Used by:897
Symbol 852 GraphicUsed by:853
Symbol 853 MovieClipUses:852Used by:865 871 883 893
Symbol 854 GraphicUsed by:855
Symbol 855 MovieClipUses:854Used by:865 871 883 893
Symbol 856 GraphicUsed by:857
Symbol 857 MovieClipUses:856Used by:865 871 883 893
Symbol 858 GraphicUsed by:859
Symbol 859 MovieClipUses:858Used by:865 871 883 893
Symbol 860 MovieClipUses:845Used by:865 871 883 893
Symbol 861 MovieClipUses:847Used by:865 883 893
Symbol 862 GraphicUsed by:863
Symbol 863 MovieClipUses:862Used by:865 871 883 893
Symbol 864 GraphicUsed by:865
Symbol 865 MovieClipUses:853 855 857 859 860 861 863 864Used by:897
Symbol 866 GraphicUsed by:867 870
Symbol 867 MovieClipUses:866Used by:869 896
Symbol 868 GraphicUsed by:869 871 883 893 896
Symbol 869 MovieClipUses:867 868 838 840 846 842 850 844Used by:897
Symbol 870 MovieClipUses:866Used by:871
Symbol 871 MovieClipUses:870 859 857 853 855 860 863 868Used by:897
Symbol 872 GraphicUsed by:883 893
Symbol 873 GraphicUsed by:883
Symbol 874 GraphicUsed by:883
Symbol 875 GraphicUsed by:883
Symbol 876 GraphicUsed by:883 893
Symbol 877 GraphicUsed by:883
Symbol 878 GraphicUsed by:883
Symbol 879 GraphicUsed by:883
Symbol 880 GraphicUsed by:883
Symbol 881 GraphicUsed by:883
Symbol 882 GraphicUsed by:883
Symbol 883 MovieClipUses:868 838 840 842 872 846 848 850 844 873 874 875 876 877 859 853 855 878 860 879 857 863 880 881 882 861Used by:897
Symbol 884 GraphicUsed by:893
Symbol 885 GraphicUsed by:893
Symbol 886 GraphicUsed by:893
Symbol 887 GraphicUsed by:893
Symbol 888 GraphicUsed by:893
Symbol 889 GraphicUsed by:893
Symbol 890 GraphicUsed by:893
Symbol 891 GraphicUsed by:893
Symbol 892 GraphicUsed by:893
Symbol 893 MovieClipUses:859 863 853 855 884 860 861 857 868 885 886 887 888 876 838 840 842 872 846 889 844 890 850 891 892 848Used by:897
Symbol 894 GraphicUsed by:896
Symbol 895 ShapeTweeningUsed by:896
Symbol 896 MovieClipUses:868 838 840 842 894 846 848 844 850 867 895 38Used by:897
Symbol 897 MovieClip [enemy6]Uses:273 851 865 869 871 883 893 896Used by:Timeline
Symbol 898 GraphicUsed by:902
Symbol 899 GraphicUsed by:902
Symbol 900 GraphicUsed by:902
Symbol 901 GraphicUsed by:902
Symbol 902 MovieClip [swordspin]Uses:898 899 900 901Used by:Timeline
Symbol 903 BitmapUsed by:904
Symbol 904 GraphicUses:903Used by:905
Symbol 905 MovieClipUses:904Used by:906
Symbol 906 MovieClipUses:905Used by:907
Symbol 907 MovieClipUses:906Used by:931 973  Timeline
Symbol 908 GraphicUsed by:916
Symbol 909 GraphicUsed by:915
Symbol 910 GraphicUsed by:911
Symbol 911 MovieClipUses:910Used by:914
Symbol 912 GraphicUsed by:913
Symbol 913 MovieClipUses:912Used by:914
Symbol 914 MovieClipUses:911 913Used by:915
Symbol 915 MovieClipUses:909 914Used by:916
Symbol 916 MovieClipUses:908 915Used by:931 973
Symbol 917 GraphicUsed by:918
Symbol 918 MovieClipUses:917Used by:931
Symbol 919 GraphicUsed by:920
Symbol 920 MovieClipUses:919Used by:931
Symbol 921 GraphicUsed by:922
Symbol 922 MovieClipUses:921Used by:931
Symbol 923 GraphicUsed by:924
Symbol 924 MovieClipUses:923Used by:931
Symbol 925 GraphicUsed by:926
Symbol 926 MovieClipUses:925Used by:931
Symbol 927 GraphicUsed by:928
Symbol 928 MovieClipUses:927Used by:931
Symbol 929 GraphicUsed by:930
Symbol 930 MovieClipUses:929Used by:931
Symbol 931 MovieClip [end]Uses:272 907 916 918 567 920 922 924 926 928 930Used by:Timeline
Symbol 932 GraphicUsed by:933
Symbol 933 MovieClipUses:932Used by:973
Symbol 934 GraphicUsed by:937
Symbol 935 GraphicUsed by:936
Symbol 936 MovieClipUses:935Used by:937
Symbol 937 MovieClipUses:934 936Used by:973
Symbol 938 GraphicUsed by:939
Symbol 939 MovieClipUses:938Used by:973
Symbol 940 GraphicUsed by:950
Symbol 941 GraphicUsed by:942
Symbol 942 MovieClipUses:941Used by:950
Symbol 943 GraphicUsed by:944
Symbol 944 MovieClipUses:943Used by:950
Symbol 945 GraphicUsed by:946
Symbol 946 MovieClipUses:945Used by:947 950
Symbol 947 MovieClipUses:225 946Used by:950
Symbol 948 GraphicUsed by:949
Symbol 949 MovieClipUses:948Used by:950
Symbol 950 MovieClipUses:940 942 944 946 947 949Used by:973
Symbol 951 GraphicUsed by:952
Symbol 952 MovieClipUses:951Used by:973
Symbol 953 GraphicUsed by:958
Symbol 954 GraphicUsed by:955
Symbol 955 MovieClipUses:954Used by:958
Symbol 956 GraphicUsed by:957
Symbol 957 MovieClipUses:956Used by:958
Symbol 958 MovieClipUses:953 955 957Used by:973
Symbol 959 GraphicUsed by:960
Symbol 960 MovieClipUses:959Used by:973
Symbol 961 GraphicUsed by:970
Symbol 962 GraphicUsed by:967
Symbol 963 GraphicUsed by:964
Symbol 964 MovieClipUses:963Used by:967
Symbol 965 GraphicUsed by:966
Symbol 966 MovieClipUses:965Used by:967
Symbol 967 MovieClipUses:962 964 966Used by:970
Symbol 968 GraphicUsed by:969
Symbol 969 MovieClipUses:968Used by:970
Symbol 970 MovieClipUses:961 967 969Used by:973
Symbol 971 GraphicUsed by:972
Symbol 972 MovieClipUses:971Used by:973
Symbol 973 MovieClip [intro]Uses:272 907 916 933 567 937 939 950 952 958 960 970 972Used by:Timeline
Symbol 974 Sound [song1intro]Used by:Timeline
Symbol 975 Sound [song3loop]Used by:Timeline
Symbol 976 Sound [song2loop]Used by:Timeline
Symbol 977 Sound [song4loop]Used by:Timeline
Symbol 978 Sound [song1loop]Used by:Timeline
Symbol 979 Sound [beep1]Used by:Timeline
Symbol 980 Sound [song2intro]Used by:Timeline
Symbol 981 MovieClip [song2]Used by:Timeline
Symbol 982 MovieClip [song1]Used by:Timeline
Symbol 983 MovieClip [song3]Used by:Timeline
Symbol 984 MovieClip [song4]Used by:Timeline
Symbol 985 Sound [beep2]Used by:Timeline
Symbol 986 GraphicUsed by:987
Symbol 987 MovieClipUses:986 827Used by:993
Symbol 988 BitmapUsed by:989
Symbol 989 GraphicUses:988Used by:992
Symbol 990 GraphicUsed by:992
Symbol 991 GraphicUsed by:992
Symbol 992 MovieClipUses:989 990 991Used by:993
Symbol 993 MovieClipUses:987 992Used by:Timeline
Symbol 994 ShapeTweeningUsed by:Timeline
Symbol 995 GraphicUsed by:Timeline
Symbol 996 FontUsed by:997 998 999 1000 1001 1002 1003
Symbol 997 TextUses:996Used by:Timeline
Symbol 998 TextUses:996Used by:Timeline
Symbol 999 TextUses:996Used by:Timeline
Symbol 1000 TextUses:996Used by:Timeline
Symbol 1001 TextUses:996Used by:Timeline
Symbol 1002 TextUses:996Used by:Timeline
Symbol 1003 TextUses:996Used by:Timeline
Symbol 1004 GraphicUsed by:Timeline
Symbol 1005 GraphicUsed by:Timeline
Symbol 1006 GraphicUsed by:1007
Symbol 1007 MovieClipUses:1006Used by:Timeline

Instance Names

"PDL"Frame 1Symbol 182 MovieClip
"new_mc"Frame 9Symbol 714 MovieClip
"continue_mc"Frame 9Symbol 714 MovieClip
"howtoplay_mc"Frame 9Symbol 714 MovieClip
"playmoregames_mc"Frame 9Symbol 714 MovieClip
"next_mc"Frame 23Symbol 714 MovieClip
"back_mc"Frame 23Symbol 714 MovieClip
"pause_mc"Frame 30Symbol 714 MovieClip
"music_mc"Frame 30Symbol 714 MovieClip
"quit_mc"Frame 30Symbol 714 MovieClip
"mask_mc"Frame 30Symbol 1007 MovieClip
"name_txt"Symbol 18 MovieClip Frame 1Symbol 16 EditableText
"desc_txt"Symbol 18 MovieClip Frame 1Symbol 17 EditableText
"txt_mc"Symbol 22 MovieClip [messageBoss] Frame 1Symbol 18 MovieClip
"room1"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room2"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room3"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room4"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room5"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room6"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room8"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room9"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room10"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room12"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room7"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room11"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room13"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room15"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room16"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room17"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room19"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room14"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room18"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room20"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room22"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room23"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room24"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room26"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room21"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room25"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room27"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room29"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room30"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room31"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room33"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room28"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room32"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room34"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room36"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room37"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room38"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room40"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room35"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room39"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room41"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room43"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room44"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room45"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room47"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room42"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room46"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room48"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room50"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room51"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room52"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room54"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room49"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room53"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room55"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room57"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room58"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room59"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room61"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room56"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"room60"Symbol 30 MovieClip [map_over] Frame 1Symbol 29 MovieClip
"ng_ad"Symbol 182 MovieClip Frame 1Symbol 65 MovieClip
"hitbox"Symbol 337 MovieClip [enemy3] Frame 1Symbol 273 MovieClip
"clip"Symbol 337 MovieClip [enemy3] Frame 1Symbol 294 MovieClip
"clip"Symbol 337 MovieClip [enemy3] Frame 2Symbol 307 MovieClip
"clip"Symbol 337 MovieClip [enemy3] Frame 4Symbol 314 MovieClip
"clip"Symbol 337 MovieClip [enemy3] Frame 5Symbol 319 MovieClip
"clip"Symbol 337 MovieClip [enemy3] Frame 6Symbol 328 MovieClip
"clip"Symbol 337 MovieClip [enemy3] Frame 7Symbol 336 MovieClip
"hitbox"Symbol 385 MovieClip [enemy4] Frame 1Symbol 273 MovieClip
"hitbox"Symbol 471 MovieClip [enemy5] Frame 1Symbol 273 MovieClip
"hitbox"Symbol 471 MovieClip [enemy5] Frame 10Symbol 273 MovieClip
"sword"Symbol 515 MovieClip Frame 5Symbol 509 MovieClip
"sword"Symbol 519 MovieClip Frame 4Symbol 516 MovieClip
"sword"Symbol 523 MovieClip Frame 5Symbol 522 MovieClip
"sword"Symbol 527 MovieClip Frame 5Symbol 524 MovieClip
"hitbox"Symbol 551 MovieClip [hero2] Frame 1Symbol 481 MovieClip
"hero"Symbol 551 MovieClip [hero2] Frame 9Symbol 515 MovieClip
"hero"Symbol 551 MovieClip [hero2] Frame 10Symbol 519 MovieClip
"hero"Symbol 551 MovieClip [hero2] Frame 11Symbol 523 MovieClip
"hero"Symbol 551 MovieClip [hero2] Frame 12Symbol 527 MovieClip
"room1"Symbol 558 MovieClip [map_d1] Frame 1Symbol 29 MovieClip
"room2"Symbol 558 MovieClip [map_d1] Frame 1Symbol 29 MovieClip
"room10"Symbol 558 MovieClip [map_d1] Frame 1Symbol 29 MovieClip
"room3"Symbol 558 MovieClip [map_d1] Frame 1Symbol 29 MovieClip
"room4"Symbol 558 MovieClip [map_d1] Frame 1Symbol 29 MovieClip
"room7"Symbol 558 MovieClip [map_d1] Frame 1Symbol 29 MovieClip
"room6"Symbol 558 MovieClip [map_d1] Frame 1Symbol 29 MovieClip
"room8"Symbol 558 MovieClip [map_d1] Frame 1Symbol 29 MovieClip
"room21"Symbol 558 MovieClip [map_d1] Frame 1Symbol 29 MovieClip
"room14"Symbol 558 MovieClip [map_d1] Frame 1Symbol 29 MovieClip
"room13"Symbol 558 MovieClip [map_d1] Frame 1Symbol 29 MovieClip
"room15"Symbol 558 MovieClip [map_d1] Frame 1Symbol 29 MovieClip
"room19"Symbol 558 MovieClip [map_d1] Frame 1Symbol 29 MovieClip
"room17"Symbol 558 MovieClip [map_d1] Frame 1Symbol 29 MovieClip
"room18"Symbol 558 MovieClip [map_d1] Frame 1Symbol 29 MovieClip
"room9"Symbol 558 MovieClip [map_d1] Frame 1Symbol 29 MovieClip
"room5"Symbol 558 MovieClip [map_d1] Frame 1Symbol 29 MovieClip
"room11"Symbol 558 MovieClip [map_d1] Frame 1Symbol 29 MovieClip
"room12"Symbol 558 MovieClip [map_d1] Frame 1Symbol 29 MovieClip
"room20"Symbol 558 MovieClip [map_d1] Frame 1Symbol 29 MovieClip
"room16"Symbol 558 MovieClip [map_d1] Frame 1Symbol 29 MovieClip
"room4"Symbol 559 MovieClip [map_d2] Frame 1Symbol 29 MovieClip
"room1"Symbol 559 MovieClip [map_d2] Frame 1Symbol 29 MovieClip
"room12"Symbol 559 MovieClip [map_d2] Frame 1Symbol 29 MovieClip
"room5"Symbol 559 MovieClip [map_d2] Frame 1Symbol 29 MovieClip
"room2"Symbol 559 MovieClip [map_d2] Frame 1Symbol 29 MovieClip
"room13"Symbol 559 MovieClip [map_d2] Frame 1Symbol 29 MovieClip
"room6"Symbol 559 MovieClip [map_d2] Frame 1Symbol 29 MovieClip
"room3"Symbol 559 MovieClip [map_d2] Frame 1Symbol 29 MovieClip
"room14"Symbol 559 MovieClip [map_d2] Frame 1Symbol 29 MovieClip
"room10"Symbol 559 MovieClip [map_d2] Frame 1Symbol 29 MovieClip
"room21"Symbol 559 MovieClip [map_d2] Frame 1Symbol 29 MovieClip
"room18"Symbol 559 MovieClip [map_d2] Frame 1Symbol 29 MovieClip
"room11"Symbol 559 MovieClip [map_d2] Frame 1Symbol 29 MovieClip
"room20"Symbol 559 MovieClip [map_d2] Frame 1Symbol 29 MovieClip
"room19"Symbol 559 MovieClip [map_d2] Frame 1Symbol 29 MovieClip
"room22"Symbol 559 MovieClip [map_d2] Frame 1Symbol 29 MovieClip
"room7"Symbol 559 MovieClip [map_d2] Frame 1Symbol 29 MovieClip
"room8"Symbol 559 MovieClip [map_d2] Frame 1Symbol 29 MovieClip
"room9"Symbol 559 MovieClip [map_d2] Frame 1Symbol 29 MovieClip
"room15"Symbol 559 MovieClip [map_d2] Frame 1Symbol 29 MovieClip
"room16"Symbol 559 MovieClip [map_d2] Frame 1Symbol 29 MovieClip
"room17"Symbol 559 MovieClip [map_d2] Frame 1Symbol 29 MovieClip
"room1"Symbol 561 MovieClip [map_d3] Frame 1Symbol 29 MovieClip
"room2"Symbol 561 MovieClip [map_d3] Frame 1Symbol 29 MovieClip
"room3"Symbol 561 MovieClip [map_d3] Frame 1Symbol 29 MovieClip
"room4"Symbol 561 MovieClip [map_d3] Frame 1Symbol 29 MovieClip
"room5"Symbol 561 MovieClip [map_d3] Frame 1Symbol 29 MovieClip
"room6"Symbol 561 MovieClip [map_d3] Frame 1Symbol 29 MovieClip
"room7"Symbol 561 MovieClip [map_d3] Frame 1Symbol 29 MovieClip
"room8"Symbol 561 MovieClip [map_d3] Frame 1Symbol 29 MovieClip
"room9"Symbol 561 MovieClip [map_d3] Frame 1Symbol 29 MovieClip
"room10"Symbol 561 MovieClip [map_d3] Frame 1Symbol 29 MovieClip
"room11"Symbol 561 MovieClip [map_d3] Frame 1Symbol 29 MovieClip
"room12"Symbol 561 MovieClip [map_d3] Frame 1Symbol 29 MovieClip
"room13"Symbol 561 MovieClip [map_d3] Frame 1Symbol 29 MovieClip
"room14"Symbol 561 MovieClip [map_d3] Frame 1Symbol 29 MovieClip
"room15"Symbol 561 MovieClip [map_d3] Frame 1Symbol 29 MovieClip
"room16"Symbol 561 MovieClip [map_d3] Frame 1Symbol 29 MovieClip
"room17"Symbol 561 MovieClip [map_d3] Frame 1Symbol 29 MovieClip
"room18"Symbol 561 MovieClip [map_d3] Frame 1Symbol 29 MovieClip
"room19"Symbol 561 MovieClip [map_d3] Frame 1Symbol 29 MovieClip
"room20"Symbol 561 MovieClip [map_d3] Frame 1Symbol 29 MovieClip
"room21"Symbol 561 MovieClip [map_d3] Frame 1Symbol 29 MovieClip
"text_txt"Symbol 569 MovieClip [message] Frame 1Symbol 564 EditableText
"continue_mc"Symbol 569 MovieClip [message] Frame 1Symbol 567 MovieClip
"tile"Symbol 678 MovieClip [tile] Frame 7Symbol 580 MovieClip
"tile"Symbol 678 MovieClip [tile] Frame 15Symbol 591 MovieClip
"tile"Symbol 678 MovieClip [tile] Frame 19Symbol 595 MovieClip
"tile"Symbol 678 MovieClip [tile] Frame 37Symbol 617 MovieClip
"tile"Symbol 678 MovieClip [tile] Frame 38Symbol 620 MovieClip
"tile"Symbol 678 MovieClip [tile] Frame 47Symbol 662 MovieClip
"name_txt"Symbol 714 MovieClip Frame 1Symbol 713 EditableText
"bg_mc"Symbol 716 MovieClip [gameover] Frame 1Symbol 687 MovieClip
"continue_mc"Symbol 716 MovieClip [gameover] Frame 69Symbol 714 MovieClip
"quit_mc"Symbol 716 MovieClip [gameover] Frame 69Symbol 714 MovieClip
"hitbox"Symbol 743 MovieClip [enemy7] Frame 1Symbol 273 MovieClip
"sword"Symbol 786 MovieClip Frame 5Symbol 784 MovieClip
"sword"Symbol 790 MovieClip Frame 4Symbol 787 MovieClip
"sword"Symbol 794 MovieClip Frame 5Symbol 793 MovieClip
"sword"Symbol 798 MovieClip Frame 5Symbol 795 MovieClip
"hitbox"Symbol 821 MovieClip [hero] Frame 1Symbol 759 MovieClip
"hero"Symbol 821 MovieClip [hero] Frame 9Symbol 786 MovieClip
"hero"Symbol 821 MovieClip [hero] Frame 10Symbol 790 MovieClip
"hero"Symbol 821 MovieClip [hero] Frame 11Symbol 794 MovieClip
"hero"Symbol 821 MovieClip [hero] Frame 12Symbol 798 MovieClip
"hitbox"Symbol 897 MovieClip [enemy6] Frame 1Symbol 273 MovieClip
"img"Symbol 931 MovieClip [end] Frame 1Symbol 916 MovieClip
"img"Symbol 973 MovieClip [intro] Frame 1Symbol 916 MovieClip
"img"Symbol 973 MovieClip [intro] Frame 26Symbol 937 MovieClip
"img"Symbol 973 MovieClip [intro] Frame 51Symbol 950 MovieClip
"img"Symbol 973 MovieClip [intro] Frame 76Symbol 958 MovieClip
"img"Symbol 973 MovieClip [intro] Frame 101Symbol 970 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS1/AS2.
ExportAssets (56)Timeline Frame 1Symbol 6 as "enemy3_cd"
ExportAssets (56)Timeline Frame 1Symbol 13 as "enemy3_wave"
ExportAssets (56)Timeline Frame 1Symbol 22 as "messageBoss"
ExportAssets (56)Timeline Frame 1Symbol 30 as "map_over"
ExportAssets (56)Timeline Frame 1Symbol 1008 as "__Packages.NewgroundsAPI"
ExportAssets (56)Timeline Frame 2Symbol 186 as "trophy3"
ExportAssets (56)Timeline Frame 2Symbol 190 as "trophy4"
ExportAssets (56)Timeline Frame 2Symbol 192 as "badge1"
ExportAssets (56)Timeline Frame 2Symbol 194 as "badge2"
ExportAssets (56)Timeline Frame 2Symbol 196 as "badge3"
ExportAssets (56)Timeline Frame 2Symbol 198 as "badge4"
ExportAssets (56)Timeline Frame 2Symbol 200 as "badge5"
ExportAssets (56)Timeline Frame 2Symbol 202 as "badge6"
ExportAssets (56)Timeline Frame 2Symbol 204 as "badge7"
ExportAssets (56)Timeline Frame 2Symbol 206 as "badge8"
ExportAssets (56)Timeline Frame 2Symbol 208 as "badge9"
ExportAssets (56)Timeline Frame 2Symbol 210 as "badge10"
ExportAssets (56)Timeline Frame 2Symbol 212 as "badge11"
ExportAssets (56)Timeline Frame 2Symbol 214 as "badge12"
ExportAssets (56)Timeline Frame 2Symbol 216 as "badge13"
ExportAssets (56)Timeline Frame 2Symbol 218 as "badge14"
ExportAssets (56)Timeline Frame 2Symbol 220 as "badge15"
ExportAssets (56)Timeline Frame 2Symbol 260 as "enemy1"
ExportAssets (56)Timeline Frame 2Symbol 271 as "enemy2"
ExportAssets (56)Timeline Frame 2Symbol 337 as "enemy3"
ExportAssets (56)Timeline Frame 2Symbol 385 as "enemy4"
ExportAssets (56)Timeline Frame 2Symbol 471 as "enemy5"
ExportAssets (56)Timeline Frame 2Symbol 474 as "heart"
ExportAssets (56)Timeline Frame 2Symbol 551 as "hero2"
ExportAssets (56)Timeline Frame 2Symbol 553 as "key"
ExportAssets (56)Timeline Frame 2Symbol 555 as "bluekey"
ExportAssets (56)Timeline Frame 2Symbol 558 as "map_d1"
ExportAssets (56)Timeline Frame 2Symbol 559 as "map_d2"
ExportAssets (56)Timeline Frame 2Symbol 561 as "map_d3"
ExportAssets (56)Timeline Frame 2Symbol 569 as "message"
ExportAssets (56)Timeline Frame 2Symbol 678 as "tile"
ExportAssets (56)Timeline Frame 2Symbol 682 as "trophy1"
ExportAssets (56)Timeline Frame 2Symbol 686 as "trophy2"
ExportAssets (56)Timeline Frame 2Symbol 716 as "gameover"
ExportAssets (56)Timeline Frame 2Symbol 743 as "enemy7"
ExportAssets (56)Timeline Frame 2Symbol 746 as "b"
ExportAssets (56)Timeline Frame 2Symbol 748 as "clock1"
ExportAssets (56)Timeline Frame 2Symbol 750 as "clock2"
ExportAssets (56)Timeline Frame 2Symbol 752 as "clock3"
ExportAssets (56)Timeline Frame 2Symbol 821 as "hero"
ExportAssets (56)Timeline Frame 2Symbol 833 as "blamsword"
ExportAssets (56)Timeline Frame 2Symbol 835 as "badge0"
ExportAssets (56)Timeline Frame 2Symbol 897 as "enemy6"
ExportAssets (56)Timeline Frame 2Symbol 902 as "swordspin"
ExportAssets (56)Timeline Frame 2Symbol 931 as "end"
ExportAssets (56)Timeline Frame 2Symbol 973 as "intro"
ExportAssets (56)Timeline Frame 2Symbol 974 as "song1intro"
ExportAssets (56)Timeline Frame 2Symbol 975 as "song3loop"
ExportAssets (56)Timeline Frame 3Symbol 976 as "song2loop"
ExportAssets (56)Timeline Frame 3Symbol 977 as "song4loop"
ExportAssets (56)Timeline Frame 4Symbol 978 as "song1loop"
ExportAssets (56)Timeline Frame 5Symbol 979 as "beep1"
ExportAssets (56)Timeline Frame 6Symbol 980 as "song2intro"
ExportAssets (56)Timeline Frame 7Symbol 981 as "song2"
ExportAssets (56)Timeline Frame 7Symbol 982 as "song1"
ExportAssets (56)Timeline Frame 7Symbol 983 as "song3"
ExportAssets (56)Timeline Frame 7Symbol 984 as "song4"
ExportAssets (56)Timeline Frame 7Symbol 985 as "beep2"

Labels

"preloader"Frame 1
"menu"Frame 9
"howtoplay"Frame 23
"overworld"Frame 30
"dungeon1"Frame 37
"dungeon2"Frame 44
"dungeon3"Frame 51
"dungeon4"Frame 58
"dungeon5"Frame 65
"scene"Frame 72
"walkleft"Symbol 260 MovieClip [enemy1] Frame 1
"walkdown"Symbol 260 MovieClip [enemy1] Frame 2
"walkup"Symbol 260 MovieClip [enemy1] Frame 3
"walkright"Symbol 260 MovieClip [enemy1] Frame 4
"dieleft"Symbol 260 MovieClip [enemy1] Frame 5
"diedown"Symbol 260 MovieClip [enemy1] Frame 6
"dieup"Symbol 260 MovieClip [enemy1] Frame 7
"dieright"Symbol 260 MovieClip [enemy1] Frame 8
"walkleft"Symbol 271 MovieClip [enemy2] Frame 1
"walkdown"Symbol 271 MovieClip [enemy2] Frame 2
"walkup"Symbol 271 MovieClip [enemy2] Frame 3
"walkright"Symbol 271 MovieClip [enemy2] Frame 4
"dieleft"Symbol 271 MovieClip [enemy2] Frame 5
"diedown"Symbol 271 MovieClip [enemy2] Frame 6
"dieup"Symbol 271 MovieClip [enemy2] Frame 7
"dieright"Symbol 271 MovieClip [enemy2] Frame 8
"walkdown"Symbol 337 MovieClip [enemy3] Frame 1
"walkleft"Symbol 337 MovieClip [enemy3] Frame 2
"walkright"Symbol 337 MovieClip [enemy3] Frame 3
"walkup"Symbol 337 MovieClip [enemy3] Frame 4
"attack1"Symbol 337 MovieClip [enemy3] Frame 5
"attack2"Symbol 337 MovieClip [enemy3] Frame 6
"die"Symbol 337 MovieClip [enemy3] Frame 7
"idle"Symbol 385 MovieClip [enemy4] Frame 1
"walkleft"Symbol 385 MovieClip [enemy4] Frame 2
"walkright"Symbol 385 MovieClip [enemy4] Frame 3
"walkup"Symbol 385 MovieClip [enemy4] Frame 4
"walkdown"Symbol 385 MovieClip [enemy4] Frame 5
"spin"Symbol 385 MovieClip [enemy4] Frame 6
"bargeleft"Symbol 385 MovieClip [enemy4] Frame 7
"bargeright"Symbol 385 MovieClip [enemy4] Frame 8
"dizzy"Symbol 385 MovieClip [enemy4] Frame 9
"die"Symbol 385 MovieClip [enemy4] Frame 10
"idledown"Symbol 471 MovieClip [enemy5] Frame 1
"walkleft"Symbol 471 MovieClip [enemy5] Frame 2
"walkright"Symbol 471 MovieClip [enemy5] Frame 3
"walkup"Symbol 471 MovieClip [enemy5] Frame 4
"walkdown"Symbol 471 MovieClip [enemy5] Frame 5
"idleleft"Symbol 471 MovieClip [enemy5] Frame 6
"idleright"Symbol 471 MovieClip [enemy5] Frame 7
"idleup"Symbol 471 MovieClip [enemy5] Frame 8
"dizzy"Symbol 471 MovieClip [enemy5] Frame 9
"attackleft"Symbol 471 MovieClip [enemy5] Frame 10
"attackright"Symbol 471 MovieClip [enemy5] Frame 11
"attackup"Symbol 471 MovieClip [enemy5] Frame 12
"attackdown"Symbol 471 MovieClip [enemy5] Frame 13
"run1"Symbol 471 MovieClip [enemy5] Frame 14
"run2"Symbol 471 MovieClip [enemy5] Frame 15
"die"Symbol 471 MovieClip [enemy5] Frame 16
"empty"Symbol 474 MovieClip [heart] Frame 1
"full"Symbol 474 MovieClip [heart] Frame 2
"idleleft"Symbol 551 MovieClip [hero2] Frame 1
"idledown"Symbol 551 MovieClip [hero2] Frame 2
"idleup"Symbol 551 MovieClip [hero2] Frame 3
"idleright"Symbol 551 MovieClip [hero2] Frame 4
"walkleft"Symbol 551 MovieClip [hero2] Frame 5
"walkdown"Symbol 551 MovieClip [hero2] Frame 6
"walkup"Symbol 551 MovieClip [hero2] Frame 7
"walkright"Symbol 551 MovieClip [hero2] Frame 8
"attackleft"Symbol 551 MovieClip [hero2] Frame 9
"attackdown"Symbol 551 MovieClip [hero2] Frame 10
"attackup"Symbol 551 MovieClip [hero2] Frame 11
"attackright"Symbol 551 MovieClip [hero2] Frame 12
"diedown"Symbol 551 MovieClip [hero2] Frame 13
"dieright"Symbol 551 MovieClip [hero2] Frame 14
"dieleft"Symbol 551 MovieClip [hero2] Frame 15
"dieup"Symbol 551 MovieClip [hero2] Frame 16
"idle"Symbol 743 MovieClip [enemy7] Frame 1
"b"Symbol 743 MovieClip [enemy7] Frame 2
"summon"Symbol 743 MovieClip [enemy7] Frame 3
"jam"Symbol 743 MovieClip [enemy7] Frame 4
"die"Symbol 743 MovieClip [enemy7] Frame 5
"idleleft"Symbol 821 MovieClip [hero] Frame 1
"idledown"Symbol 821 MovieClip [hero] Frame 2
"idleup"Symbol 821 MovieClip [hero] Frame 3
"idleright"Symbol 821 MovieClip [hero] Frame 4
"walkleft"Symbol 821 MovieClip [hero] Frame 5
"walkdown"Symbol 821 MovieClip [hero] Frame 6
"walkup"Symbol 821 MovieClip [hero] Frame 7
"walkright"Symbol 821 MovieClip [hero] Frame 8
"attackleft"Symbol 821 MovieClip [hero] Frame 9
"attackdown"Symbol 821 MovieClip [hero] Frame 10
"attackup"Symbol 821 MovieClip [hero] Frame 11
"attackright"Symbol 821 MovieClip [hero] Frame 12
"diedown"Symbol 821 MovieClip [hero] Frame 13
"dieright"Symbol 821 MovieClip [hero] Frame 14
"dieleft"Symbol 821 MovieClip [hero] Frame 15
"dieup"Symbol 821 MovieClip [hero] Frame 16
"idledown"Symbol 897 MovieClip [enemy6] Frame 1
"idleup"Symbol 897 MovieClip [enemy6] Frame 2
"attackdown"Symbol 897 MovieClip [enemy6] Frame 3
"attackup"Symbol 897 MovieClip [enemy6] Frame 4
"boomerangdown"Symbol 897 MovieClip [enemy6] Frame 5
"boomerangup"Symbol 897 MovieClip [enemy6] Frame 6
"summon"Symbol 897 MovieClip [enemy6] Frame 7




http://swfchan.com/9/42314/info.shtml
Created: 10/5 -2019 00:23:57 Last modified: 10/5 -2019 00:23:57 Server time: 21/12 -2024 14:37:37