Frame 2
function loadFin() {
gotoAndStop ("game");
}
loaderLights.onEnterFrame = function () {
var _local3 = this._parent.getBytesLoaded();
var _local2 = this._parent.getBytesTotal();
this.gotoAndStop(Math.ceil((11 / _local2) * _local3));
if ((_local2 > 0) && (_local2 == _local3)) {
this._parent.loadFin();
}
};
Stage.showMenu = false;
Stage.scaleMode = "noScale";
Frame 3
stop();
Frame 5
gotoAndStop (1);
Frame 34
function Point(x, y) {
this.x = x;
this.y = y;
}
function beginWipe() {
wipeOver._visible = true;
wipeOver.func = showStart;
wipeOver.gotoAndPlay(2);
delete startScreen.backButton.onRelease;
if (sfxOn) {
var _local1 = new Sound();
_local1.attachSound("_lwhoosh");
_local1.start();
}
}
function firstThingWipe() {
wipeOver._visible = true;
wipeOver.func = firstThing;
wipeOver.gotoAndPlay(2);
delete startScreen.backButton.onRelease;
delete charStats.cont.onRelease;
if (sfxOn) {
var _local1 = new Sound();
_local1.attachSound("_lwhoosh");
_local1.start();
}
}
function firstThing() {
showStart();
soundMC = this.createEmptyMovieClip("sMC", soundMCDepth);
if (musicOn) {
opening = new Sound(soundMC);
opening.attachSound("_startSound");
opening.start(0, 9999);
}
}
function showStart() {
startScreen.gotoAndStop("startScreen");
startScreen._visible = true;
charStats._visible = false;
shop._visible = false;
options._visible = false;
gameover._visible = false;
wipeOver._visible = false;
pnflashSplash._visible = false;
startScreen.startButton.onRelease = startWipe;
startScreen.controls.onRelease = controlsWipe;
startScreen.credits.onRelease = creditsWipe;
startScreen.options.onRelease = optionsWipe;
}
function startWipe() {
wipeOver._visible = true;
wipeOver.func = startGame;
wipeOver.gotoAndPlay(2);
delete startScreen.startButton.onRelease;
delete startScreen.controls.onRelease;
delete startScreen.credits.onRelease;
if (sfxOn) {
var _local1 = new Sound();
_local1.attachSound("_lwhoosh");
_local1.start();
}
}
function creditsWipe() {
wipeOver._visible = true;
wipeOver.func = showCredits;
wipeOver.gotoAndPlay(2);
delete startScreen.startButton.onRelease;
delete startScreen.controls.onRelease;
delete startScreen.credits.onRelease;
delete startScreen.options.onRelease;
if (sfxOn) {
var _local1 = new Sound();
_local1.attachSound("_lwhoosh");
_local1.start();
}
}
function showCredits() {
startScreen.gotoAndStop("creditsScreen");
startScreen.backButton.onRelease = beginWipe;
}
function controlsWipe() {
wipeOver._visible = true;
wipeOver.func = showControls;
wipeOver.gotoAndPlay(2);
delete startScreen.startButton.onRelease;
delete startScreen.controls.onRelease;
delete startScreen.credits.onRelease;
delete startScreen.options.onRelease;
if (sfxOn) {
var _local1 = new Sound();
_local1.attachSound("_lwhoosh");
_local1.start();
}
}
function showControls() {
startScreen.gotoAndStop("controlsScreen");
startScreen.backButton.onRelease = beginWipe;
}
function optionsWipe() {
wipeOver._visible = true;
wipeOver.func = showOptions;
wipeOver.gotoAndPlay(2);
delete startScreen.startButton.onRelease;
delete startScreen.controls.onRelease;
delete startScreen.credits.onRelease;
delete startScreen.options.onRelease;
if (sfxOn) {
var _local1 = new Sound();
_local1.attachSound("_lwhoosh");
_local1.start();
}
}
function showOptions() {
startScreen.gotoAndStop("optionsScreen");
startScreen.backButton.onRelease = beginWipe;
}
function pnflashWipe() {
wipeOver._visible = true;
wipeOver.func = showPnflash;
wipeOver.gotoAndPlay(2);
delete startScreen.backButton.onRelease;
delete charStats.cont.onRelease;
if (sfxOn) {
var _local1 = new Sound();
_local1.attachSound("_lwhoosh");
_local1.start();
}
}
function showPnflash() {
charStats._visible = false;
pnflashSplash._visible = true;
pnflashSplash.cont.onRelease = firstThingWipe;
}
function startGame() {
opening.stop();
startScreen._visible = false;
crossHair._visible = true;
level = 1;
makeLevel(level);
row = Math.floor(Math.random() * sSize);
collumn = Math.floor(Math.random() * sSize);
inGame = true;
p = new Player();
var _local1 = {num:4};
var _local3 = new Room(level, row, collumn, true, _local1);
gui.options.onRelease = pauseGame;
canPause = true;
paused = false;
buildUpgradeBase();
}
function gameOver() {
pnconnector.storeScore(score);
crossHair._visible = false;
inGame = false;
delete theScreen.onEnterFrame;
gameover._visible = true;
gameover.gotoAndPlay(2);
var _local1 = 0;
while (_local1 < 5) {
delete gui["weaponButton" + _local1].onRelease;
_local1++;
}
delete gui.options.onRelease;
themeSounds[0].stop();
if (sfxOn) {
var _local2 = new Sound();
_local2.attachSound("_lgameover");
_local2.start();
}
}
function quitGame() {
options._visible = false;
gameOver();
}
function makeLevel(lev) {
roomsDone = 0;
sNum = 0;
sSize = 10;
mapRow = new Array();
var _local1 = 0;
while (_local1 < sSize) {
mapRow[_local1] = new Array();
_local1++;
}
maxSMobs = 3 + level;
maxMobs = 5 + level;
if (maxMobs > 10) {
maxMobs = 10;
}
soundSetup();
}
function pauseGame() {
if (canPause && (inGame)) {
if (sfxOn) {
var _local2 = new Sound();
_local2.attachSound("_lclick1");
_local2.start();
}
if (!paused) {
delete theScreen.onEnterFrame;
theScreen._visible = false;
paused = true;
options._visible = true;
var _local1 = 0;
while (_local1 < 5) {
delete gui["weaponButton" + _local1].onRelease;
_local1++;
}
Mouse.show();
} else {
removeMap();
paused = false;
options._visible = false;
charStats._visible = false;
theScreen._visible = true;
theScreen.onEnterFrame = detectKeys;
p.changeAmmo();
}
}
}
function finishExit() {
theScreen.removeMovieClip();
showShop();
}
function nextLevel() {
level++;
makeLevel(level);
var _local1 = {num:4};
row = Math.floor(Math.random() * sSize);
collumn = Math.floor(Math.random() * sSize);
var _local3 = new Room(level, row, collumn, true, _local1);
}
function endPopulate() {
populateStats();
charStats.back._visible = false;
charStats.cont._visible = true;
charStats.cont.onRelease = pnflashWipe;
theScreen.removeMovieClip();
Mouse.show();
}
function populateStats() {
options._visible = false;
charStats.back._visible = true;
charStats.cont._visible = false;
charStats._visible = true;
var _local2 = 0;
while (score > pointsSpace[_local2]) {
_local2++;
}
if (_local2 >= names.length) {
_local2 = names.length - 1;
}
charStats.title.text = names[_local2];
charStats.lev.text = "Level - " + level;
charStats.mon.text = "Money - " + money;
charStats.points.text = "Points - " + score;
charStats.health.text = (("Health - " + p.hp) + "/") + p.maxhp;
charStats.arm.text = (("Armour - " + p.armour) + "/") + p.maxArmour;
charStats.speed.text = "Speed - " + (p.speedLevel + 1);
var _local1 = 0;
while (_local1 < 5) {
charStats["wLev" + _local1].text = p.weapons[_local1] + 1;
charStats["wAmmo" + _local1].text = p.ammo[_local1];
_local1++;
}
}
function Enemy() {
this.init(arguments);
}
function Zombie() {
this.hitSound = "_lhitSound1";
this.clipName = "Zombie";
this.givePowerUp = false;
this.rad = 11;
this.myFunction = headTowards;
this.hpFactor = 1;
this.hpBase = 8;
this.score = 10;
this.speed = 3;
this.stayDist = this.speed;
this.hitDamage = 5;
this.wussiness = 10;
this.shootTime = 99;
this.init(arguments[0], arguments[1], arguments[2], arguments[3]);
}
function Soldier() {
this.hitSound = "_lsoldierHit";
this.clipName = "Soldier";
this.givePowerUp = false;
this.rad = 11;
this.myFunction = headTowardsAndShoot;
this.hpFactor = 1;
this.hpBase = 5;
this.score = 12;
this.speed = 2;
this.stayDist = 60;
this.hitDamage = 4;
this.wussiness = 5;
this.shotType = [0];
this.shotPower = [5];
this.shootTime = 30;
this.shotFunc = singleAtPlayer;
this.init(arguments[0], arguments[1], arguments[2], arguments[3]);
}
function Demon() {
this.hitSound = "_lhitSound1";
this.clipName = "Zombie";
this.givePowerUp = false;
this.rad = 11;
this.myFunction = headTowardsAndShoot;
this.hpFactor = 2;
this.hpBase = 10;
this.score = 24;
this.speed = 2;
this.stayDist = this.speed;
this.hitDamage = 5;
this.wussiness = 10;
this.shotType = [0];
this.shotPower = [8];
this.shootTime = 60;
this.shotFunc = singleAtPlayer;
this.init(arguments[0], arguments[1], arguments[2], arguments[3]);
}
function Sludgeman() {
this.hitSound = "_lhitSound1";
this.clipName = "Sludgeman";
this.givePowerUp = false;
this.rad = 11;
this.myFunction = headTowardsAndShoot;
this.hpFactor = 3;
this.hpBase = 12;
this.score = 24;
this.speed = 1.5;
this.stayDist = this.speed;
this.hitDamage = 5;
this.wussiness = 10;
this.shotType = [2];
this.shotPower = [4];
this.shootTime = 50;
this.shotFunc = singleAtPlayer;
this.init(arguments[0], arguments[1], arguments[2], arguments[3]);
}
function Boss0() {
this.moveUp = true;
this.moveCount = 0;
this.hitSound = "_lclick1";
this.clipName = "Boss0";
this.givePowerUp = true;
this.rad = 25;
this.myFunction = boss0Move;
this.hpFactor = 20;
this.hpBase = 100;
this.score = 120;
this.speed = 2;
this.hitDamage = 8;
this.wussiness = 10;
this.shotType = [0, 3];
this.shotPower = [10, 40];
this.shootTime = 30;
this.shotFunc = [singleAtPlayer, rocketShot];
this.isBoss = true;
this.init(arguments[0], arguments[1], arguments[2], arguments[3]);
}
function Boss1() {
this.moveUp = true;
this.moveCount = 0;
this.hitSound = "_lhitSound1";
this.clipName = "Boss1";
this.givePowerUp = true;
this.rad = 25;
this.myFunction = boss1Move;
this.hpFactor = 20;
this.hpBase = 100;
this.score = 120;
this.speed = 2;
this.hitDamage = 8;
this.wussiness = 10;
this.shotType = [0, 3];
this.shotPower = [10, 40];
this.shootTime = 30;
this.shotFunc = [singleAtPlayer, rocketShot];
this.isBoss = true;
this.init(arguments[0], arguments[1], arguments[2], arguments[3]);
}
function walkTile(slow) {
this.walkable = true;
this.shootThrough = true;
this.walkFunction = null;
this.damage = 0;
this.shootFunction = null;
this.hp = 0;
this.efFunction = null;
this.speedFactor = slow;
this.initFunc = null;
this.freeTile = true;
}
function permWall(shootThrough) {
this.walkable = false;
this.shootThrough = shootThrough;
this.walkFunction = null;
this.damage = 0;
this.shootFunction = null;
this.hp = 0;
this.efFunction = null;
this.speedFactor = 0;
this.initFunc = null;
}
function walkDamageTile(dam, slow) {
this.walkable = true;
this.shootThrough = true;
this.walkFunction = null;
this.damage = dam;
this.shootFunction = null;
this.hp = 0;
this.efFunction = damagePlayer;
this.speedFactor = slow;
this.initFunc = null;
}
function destroyableTile(hp, destroyFunction, destroyedTile) {
this.walkable = false;
this.shootThrough = false;
this.walkFunction = null;
this.damage = 0;
this.shootFunction = destroyable;
this.hp = hp;
this.efFunction = null;
this.speedFactor = 0;
this.destroyFunction = changeTile;
this.destroyedTile = destroyedTile;
this.initFunc = destructableSUp;
}
function laserFence(tileNum) {
this.walkable = true;
this.shootThrough = true;
this.walkFunction = null;
this.damage = 50;
this.shootFunction = null;
this.hp = 0;
this.efFunction = damagePlayer;
this.speedFactor = 0.5;
this.laserFence = true;
this.initFunc = null;
this.destroyedTile = tileNum;
this.destroyFunction = changeTile;
}
function laserFenceGenerator(destroyedTile) {
this.walkable = false;
this.shootThrough = false;
this.walkFunction = null;
this.damage = 0;
this.shootFunction = destroyable;
this.hp = 10;
this.efFunction = null;
this.speedFactor = 0;
this.destroyFunction = destroyLaserFence;
this.destroyedTile = destroyedTile;
this.initFunc = laserFenceGenSetUp;
this.num = null;
}
function walkSwitch(num) {
this.walkable = true;
this.shootThrough = true;
this.walkFunction = toggleTiles;
this.damage = 0;
this.shootFunction = null;
this.hp = 0;
this.efFunction = null;
this.speedFactor = 1;
this.destroyFunction = null;
this.initFunc = associateTiles;
this.num = num;
}
function switchTile(num, onTile, offTile) {
this.num = num;
this.onTile = onTile;
this.offTile = offTile;
this.state = "on";
var _local2 = tileDesc[onTile];
this.walkable = _local2.walkable;
this.shootThrough = _local2.shootThrough;
this.walkFunction = _local2.walkFunction;
this.damage = _local2.damage;
this.shootFunction = _local2.shootFunction;
this.hp = _local2.hp;
this.efFunction = _local2.efFunction;
this.speedFactor = _local2.speedFactor;
this.destroyFunction = null;
this.initFunc = switchedTiles;
}
function switchTile(num, onTile, offTile) {
this.num = num;
this.onTile = onTile;
this.offTile = offTile;
this.state = "on";
var _local2 = tileDesc[onTile];
this.walkable = _local2.walkable;
this.shootThrough = _local2.shootThrough;
this.walkFunction = _local2.walkFunction;
this.damage = _local2.damage;
this.shootFunction = _local2.shootFunction;
this.hp = _local2.hp;
this.efFunction = _local2.efFunction;
this.speedFactor = _local2.speedFactor;
this.destroyFunction = null;
this.initFunc = switchedTiles;
}
function monsterSpawners(monsterType, hp) {
this.walkable = false;
this.shootThrough = false;
this.walkFunction = null;
this.damage = 0;
this.shootFunction = destroyable;
this.hp = hp;
this.efFunction = spawnMonsters;
this.speedFactor = 0;
this.destroyFunction = null;
this.initFunc = monsterSpawn;
this.num = monsterType;
this.monsterType = monsterTypes[monsterType];
this.spawnInterval = 60;
if (hp == 20) {
this.destroyedTile = 152;
} else {
this.destroyedTile = 143;
}
this.destroyFunction = destroyMonsterSpawner;
}
function tileWalkFunction(walkFunction, initFunction) {
this.walkable = true;
this.shootThrough = true;
this.walkFunction = walkFunction;
this.damage = 0;
this.shootFunction = null;
this.hp = 0;
this.efFunction = null;
this.speedFactor = 1;
this.initFunc = initFunction;
}
function doorTile(walkFunction, num) {
this.onTile = num;
this.offTile = num + 10;
this.walkable = true;
this.shootThrough = true;
this.walkFunction = walkFunction;
this.damage = 0;
this.shootFunction = null;
this.hp = 0;
this.efFunction = null;
this.speedFactor = 1;
this.initFunc = null;
}
function ccTile(num, statesArray, compFunction) {
this.num = num;
this.statesArray = statesArray;
this.walkable = true;
this.shootThrough = true;
this.walkFunction = cChange;
this.damage = 0;
this.shootFunction = null;
this.hp = 0;
this.efFunction = null;
this.speedFactor = 1;
this.initFunc = cChangeInit;
this.compFunction = compFunction;
}
function specialSpawner(num) {
this.walkable = true;
this.shootThrough = true;
this.walkFunction = null;
this.damage = 0;
this.shootFunction = null;
this.hp = 0;
this.efFunction = null;
this.speedFactor = 1;
this.destroyFunction = null;
this.destroyedTile = null;
this.initFunc = makeSpecial;
this.num = num;
}
function rBarrierTile(onTile, offTile) {
this.onTile = onTile;
this.offTile = offTile;
this.state = "on";
var _local2 = tileDesc[onTile];
this.walkable = _local2.walkable;
this.shootThrough = _local2.shootThrough;
this.walkFunction = _local2.walkFunction;
this.damage = _local2.damage;
this.shootFunction = _local2.shootFunction;
this.hp = _local2.hp;
this.efFunction = _local2.efFunction;
this.speedFactor = _local2.speedFactor;
this.destroyFunction = null;
this.initFunc = barrierAssoc;
}
function specialSpawner(num) {
this.walkable = true;
this.shootThrough = true;
this.walkFunction = null;
this.damage = 0;
this.shootFunction = null;
this.hp = 0;
this.efFunction = null;
this.speedFactor = 1;
this.destroyFunction = null;
this.destroyedTile = null;
this.initFunc = makeSpecial;
this.num = num;
}
function bossSpawner(num) {
this.walkable = true;
this.shootThrough = true;
this.walkFunction = null;
this.damage = 0;
this.shootFunction = null;
this.hp = 0;
this.efFunction = null;
this.speedFactor = 1;
this.destroyFunction = null;
this.destroyedTile = null;
this.initFunc = spawnBoss;
this.num = num;
}
function Sprite() {
}
function getAngle(x1, y1, x2, y2) {
return(Math.atan2(y2 - y1, x2 - x1) / PiRads);
}
function getMyCorners(x, y, ob) {
downY = Math.floor(((y + ob.rad) - 1) / tileH);
upY = Math.floor((y - ob.rad) / tileH);
leftX = Math.floor((x - ob.rad) / tileW);
rightX = Math.floor(((x + ob.rad) - 1) / tileW);
ob.upleft = currentRoom.tiles[upY][leftX].walkable;
ob.downleft = currentRoom.tiles[downY][leftX].walkable;
ob.upright = currentRoom.tiles[upY][rightX].walkable;
ob.downright = currentRoom.tiles[downY][rightX].walkable;
}
function enemyBrain() {
if (count > 15) {
for (var _local1 in currentRoom.currentEnemies) {
currentRoom.currentEnemies[_local1].myFunction();
}
}
}
function moveBullets() {
for (var _local8 in currentRoom.bullets) {
var _local1 = currentRoom.bullets[_local8];
var _local5 = _local1.getTile();
if (_local5.shootThrough) {
_local1.mc._x = (_local1.x = _local1.x + _local1.dirx);
_local1.mc._y = (_local1.y = _local1.y + _local1.diry);
if (_local1.pShot) {
for (var _local7 in currentRoom.currentEnemies) {
var _local2 = currentRoom.currentEnemies[_local7];
var _local4 = _local1.x - _local2.x;
var _local3 = _local1.y - _local2.y;
if (Math.sqrt((_local4 * _local4) + (_local3 * _local3)) < _local2.rad) {
_local2.hurtMe(_local1.power);
if (!_local1.shootThrough) {
_local1.mc.gotoAndPlay("explode");
if (_local1.splashDamage) {
_local1.doSplashDamge();
}
if (sfxOn) {
var _local6 = new Sound();
_local6.attachSound(_local1.explodeSound);
_local6.start();
}
delete currentRoom.bullets[_local8];
}
}
}
} else {
var _local4 = _local1.x - p.x;
var _local3 = _local1.y - p.y;
if (Math.sqrt((_local4 * _local4) + (_local3 * _local3)) < p.rad) {
_local1.mc.gotoAndPlay("explode");
if (_local1.splashDamage) {
_local1.doSplashDamge();
}
p.hurtMe(_local1.power);
_local1.mc.gotoAndPlay("explode");
delete currentRoom.bullets[_local8];
}
}
} else {
_local1.mc.gotoAndPlay("explode");
if (_local1.splashDamage) {
_local1.doSplashDamge();
}
if (_local5.shootFunction != null) {
_local5.shootFunction(_local1.power);
}
if (sfxOn) {
var _local6 = new Sound();
_local6.attachSound(_local1.explodeSound);
_local6.start();
}
delete currentRoom.bullets[_local8];
}
}
for (var _local8 in currentRoom.mines) {
var _local1 = currentRoom.mines[_local8];
for (var _local7 in currentRoom.currentEnemies) {
var _local2 = currentRoom.currentEnemies[_local7];
var _local4 = _local1.x - _local2.x;
var _local3 = _local1.y - _local2.y;
if (Math.sqrt((_local4 * _local4) + (_local3 * _local3)) < (5 + _local2.rad)) {
_local1.mc.gotoAndPlay("explode");
if (_local1.splashDamage) {
_local1.doSplashDamge();
}
_local2.hurtMe(_local1.power);
_local1.mc.gotoAndPlay("explode");
delete currentRoom.mines[_local8];
}
}
}
}
function tileFunction() {
for (var _local1 in currentRoom.efTiles) {
currentRoom.efTiles[_local1].efFunction();
}
}
function detectKeys() {
var _local6 = p;
var _local5 = false;
var _local4 = p.getAngle(_xmouse - roomX, _ymouse - roomY);
p.mc._rotation = (p.angle = _local4 - 90);
var _local3 = 0;
var _local2 = 0;
if (Key.isDown(39) || (Key.isDown(68))) {
_local3++;
}
if (Key.isDown(37) || (Key.isDown(65))) {
_local3--;
}
if (Key.isDown(38) || (Key.isDown(87))) {
_local2--;
}
if (Key.isDown(40) || (Key.isDown(83))) {
_local2++;
}
if ((_local3 != 0) || (_local2 != 0)) {
p.moveChar(_local3, _local2);
p.mc.mc.walk.play();
_local5 = true;
} else {
p.mc.mc.walk.stop();
}
if ((_xmouse < (roomX + 375)) && (_ymouse < (roomY + 375))) {
Mouse.hide();
crossHair._x = _xmouse;
crossHair._y = _ymouse;
} else {
Mouse.show();
}
_root.enemyBrain();
_root.moveBullets();
_root.tileFunction();
count++;
}
function headTowards() {
if (this.free) {
var _local3 = 0;
var _local4 = 0;
var _local2 = this.speed;
if (this.gotoP) {
this.xTo = p.x;
this.yTo = p.y;
}
if (this.x < (this.xTo - _local2)) {
_local3 = 1;
} else if (this.x > (this.xTo + _local2)) {
_local3 = -1;
}
if (this.y < (this.yTo - _local2)) {
_local4 = 1;
} else if (this.y > (this.yTo + _local2)) {
_local4 = -1;
}
this.mc._rotation = this.moveChar(_local3, _local4);
if ((!this.moving) && (this.gotoP)) {
this.budgetPF(_local3, _local4);
}
if (!this.gotoP) {
if (((this.gotoCount++) > 20) || (this.currentTile == this.gotoTile)) {
this.gotoP = true;
}
}
}
}
function headTowardsAndShoot() {
if (this.free) {
if (!this.shooting) {
var _local3 = 0;
var _local4 = 0;
var _local2 = this.stayDist;
if (this.gotoP) {
this.xTo = p.x;
this.yTo = p.y;
}
if (this.x < (this.xTo - _local2)) {
_local3 = 1;
} else if (this.x > (this.xTo + _local2)) {
_local3 = -1;
}
if (this.y < (this.yTo - _local2)) {
_local4 = 1;
} else if (this.y > (this.yTo + _local2)) {
_local4 = -1;
}
this.mc._rotation = this.moveChar(_local3, _local4);
if ((!this.moving) && (this.gotoP)) {
this.budgetPF(_local3, _local4);
}
if (!this.gotoP) {
if (((this.gotoCount++) > 20) || (this.currentTile == this.gotoTile)) {
this.gotoP = true;
}
}
if ((this.shootCounter++) > this.shootTime) {
this.shootCounter = Math.floor(Math.random() * this.shootTime);
this.shotFunc();
this.mc._rotation = this.getAngle(p.x, p.y) + 90;
this.shooting = true;
this.shootWait = 0;
}
} else if ((this.shootWait++) > 10) {
this.shooting = false;
}
}
}
function boss0Move() {
if (this.free) {
if (!this.shooting) {
var _local3 = 0;
var _local2 = 0;
if (!this.moveUp) {
if (((this.moveCount--) < 0) || (this.y < (this.rad + 35))) {
this.moveUp = true;
this.moveCount = Math.random() * 40;
} else {
_local2 = -1;
}
} else if (((this.moveCount--) < 0) || (this.y > (340 - this.rad))) {
this.moveUp = false;
this.moveCount = Math.random() * 40;
} else {
_local2 = 1;
}
this.moveChar(_local3, _local2);
this.mc.mc.turret._rotation = this.getAngle(p.x, p.y) - 90;
if ((this.shootCounter++) > this.shootTime) {
this.mc.mc.turret.gotoAndPlay("shoot");
this.shootCounter = Math.floor(Math.random() * this.shootTime);
if (Math.random() > 0.2) {
this.doShot("atPlayer", 0);
} else {
this.doShot("atPlayer", 1);
}
this.shooting = true;
this.shootWait = 0;
}
} else if ((this.shootWait++) > 10) {
this.shooting = false;
}
}
}
function boss1Move() {
if (this.free) {
if (!this.shooting) {
var _local3 = 0;
var _local2 = 0;
if (!this.moveUp) {
if (((this.moveCount--) < 0) || (this.x < (this.rad + 35))) {
this.moveUp = true;
this.moveCount = Math.random() * 40;
} else {
_local3 = -1;
}
} else if (((this.moveCount--) < 0) || (this.x > (340 - this.rad))) {
this.moveUp = false;
this.moveCount = Math.random() * 40;
} else {
_local3 = 1;
}
this.moveChar(_local3, _local2);
this.mc.mc.turret._rotation = this.getAngle(p.x, p.y) - 90;
if ((this.shootCounter++) > this.shootTime) {
this.mc.mc.turret.gotoAndPlay("shoot");
this.shootCounter = Math.floor(Math.random() * this.shootTime);
if (Math.random() > 0.2) {
this.doShot("atPlayer", 0);
} else {
this.doShot("atPlayer", 1);
}
this.shooting = true;
this.shootWait = 0;
}
} else if ((this.shootWait++) > 10) {
this.shooting = false;
}
}
}
function specialEF() {
var _local7 = this.x - p.x;
var _local6 = this.y - p.y;
if (Math.sqrt((_local7 * _local7) + (_local6 * _local6)) < ((p.rad + this.rad) + 5)) {
if (this.deSpawned) {
currentRoom.spawnPU = false;
}
currentRoom.specialGot = true;
if (sfxOn) {
var _local4 = new Sound();
_local4.attachSound("_lscale");
_local4.start();
}
this.mc.gotoAndPlay("got");
var _local2 = theScreen.attachMovie("_linfo", "inf" + exNum, explosionsDepth + exNum);
_local2._x = this.x;
_local2._y = this.y;
if ((++exNum) > 50) {
exNum = 0;
}
switch (this.pType) {
case 0 :
var _local5 = 100 * level;
_local2.txt.txt0.htmlText = (_local2.txt.txt1.htmlText = "POINTS\n+" + _local5);
score = score + _local5;
break;
case 1 :
_local5 = 100 * level;
_local2.txt.txt0.htmlText = (_local2.txt.txt1.htmlText = "MONEY\n+$" + _local5);
money = money + _local5;
break;
case 2 :
_local2.txt.txt0.htmlText = (_local2.txt.txt1.htmlText = "HEALTH\nBONUS");
p.maxhp = p.maxhp + upgrades[0].increment;
if (p.maxhp > 9999) {
p.maxhp = 9999;
}
p.hp = p.maxhp;
upgrades[0].timesBought++;
p.doHealth();
break;
case 3 :
_local2.txt.txt0.htmlText = (_local2.txt.txt1.htmlText = "ARMOUR\nBONUS");
p.maxArmour = p.maxArmour + upgrades[1].increment;
if (p.maxArmour > 9999) {
p.maxArmour = 9999;
}
p.armour = p.maxArmour;
upgrades[1].timesBought++;
p.doArmour();
break;
case 4 :
_local2.txt.txt0.htmlText = (_local2.txt.txt1.htmlText = "SPEED\nUPGRADE");
if (upgrades[2].timesBought < 20) {
p.speedLevel = p.speedLevel + upgrades[2].increment;
p.speed = p.speed + p.speedInc;
upgrades[2].timesBought++;
}
break;
case 5 :
_local2.txt.txt0.htmlText = (_local2.txt.txt1.htmlText = "AMMO\nBONUS");
p.ammo[1] = p.ammo[1] + 20;
p.ammo[2] = p.ammo[2] + 20;
p.ammo[3] = p.ammo[3] + 4;
p.ammo[4] = p.ammo[4] + 5;
p.changeAmmo();
}
var _local3 = _local2.txt.txt0.textWidth / 2;
if ((_local2._x + _local3) > 370) {
_local2._x = 370 - _local3;
} else if ((_local2._x - _local3) < 5) {
_local2._x = 5 + _local3;
}
delete currentRoom.currentEnemies[this.num];
}
}
function rocketShot() {
this.doShot("atPlayer", 1);
}
function singleAtPlayer() {
this.doShot("atPlayer", 0);
}
function Shot(shotType, x, y, power, angle, pShot) {
var _local2 = shotBehaviours[shotType];
if (pShot) {
this.mc = theScreen.attachMovie("_l" + _local2.clipName, "shot" + n, shotDepth + n);
} else {
this.mc = theScreen.attachMovie("_l" + _local2.clipName, "shot" + n, shotDepth + n);
}
this.pShot = pShot;
this.id = "shot" + n;
n++;
currentRoom.bullets[this.id] = this;
this.shotType = shotType;
this.hittable = true;
this.mc._rotation = angle;
this.mc.myObject = this;
this.shootThrough = _local2.shootThrough;
this.splashDamage = _local2.splashDamage;
this.splashRadius = _local2.splashRadius;
this.explodeSound = _local2.explodeSound;
var _local3 = _local2.speed;
this.power = power;
this.dirx = _local3 * Math.cos(angle * PiRads);
this.diry = _local3 * Math.sin(angle * PiRads);
this.mc._x = (this.x = x + (_local2.startDist * this.dirx));
this.mc._y = (this.y = y + (_local2.startDist * this.diry));
if (shotType == 4) {
this.mc.swapDepths(minesDepth + (minesD++));
this.mc._rotation = 0;
if (minesD > 299) {
minesD = 0;
}
currentRoom.mines[this.id] = this;
} else {
currentRoom.bullets[this.id] = this;
}
}
function playerShoot() {
if ((count - p.lastShot) > p.cooldown) {
p.lastShot = count;
p.doShot();
}
}
function shotDescObj(power, angle) {
this.power = power;
this.angle = angle;
}
function sqrShotObj() {
this.soundN = "_lshotSound0";
this.explodeSound = "_lexplosion1";
this.startDist = 2;
this.cost = 100;
this.ammoCost = 10;
this.shootThrough = false;
this.coolDown = 7;
this.speed = 7;
this.clipName = "bullet";
this.splashDamage = false;
this.levels = new Array();
var _local2 = 0;
while (_local2 < 9) {
this.levels[_local2] = new Array();
this.levels[_local2].push(new shotDescObj((_local2 * 4) + 9, -2));
this.levels[_local2].push(new shotDescObj((_local2 * 4) + 9, 2));
_local2++;
}
_local2 = 9;
while (_local2 < 18) {
this.levels[_local2] = new Array();
this.levels[_local2].push(new shotDescObj((_local2 * 4) + 9, -3));
this.levels[_local2].push(new shotDescObj((_local2 * 4) + 9, 3));
this.levels[_local2].push(new shotDescObj((_local2 * 4) + 9, 0));
_local2++;
}
_local2 = 18;
while (_local2 < 20) {
this.levels[_local2] = new Array();
this.levels[_local2].push(new shotDescObj((_local2 * 4) + 9, -3));
this.levels[_local2].push(new shotDescObj((_local2 * 4) + 9, 1));
this.levels[_local2].push(new shotDescObj((_local2 * 4) + 9, -1));
this.levels[_local2].push(new shotDescObj((_local2 * 4) + 9, 3));
_local2++;
}
}
function defShotObj() {
this.soundN = "_lshotSound0";
this.explodeSound = "_lexplosion1";
this.startDist = 2;
this.cost = 50;
this.shootThrough = false;
this.coolDown = 7;
this.speed = 8;
this.clipName = "bullet";
this.splashDamage = false;
this.levels = new Array();
var _local2 = 0;
while (_local2 < 20) {
this.levels[_local2] = new Array();
this.levels[_local2].push(new shotDescObj((_local2 * 5) + 9, 0));
_local2++;
}
}
function plasmaObj() {
this.soundN = "_lplasmaEx";
this.explodeSound = "_lphaser";
this.startDist = 2;
this.cost = 50;
this.shootThrough = true;
this.coolDown = 7;
this.speed = 7;
this.clipName = "plasma";
this.splashDamage = false;
this.levels = new Array();
var _local2 = 0;
while (_local2 < 20) {
this.levels[_local2] = new Array();
this.levels[_local2].push(new shotDescObj((_local2 * 4) + 6, 0));
_local2++;
}
}
function mineObj() {
this.soundN = "_lclick";
this.explodeSound = "_lexplosion0";
this.startDist = 2;
this.cost = 50;
this.ammoCost = 50;
this.shootThrough = false;
this.coolDown = 12;
this.speed = 0;
this.clipName = "mine";
this.splashDamage = true;
this.splashRadius = 65;
this.levels = new Array();
var _local2 = 0;
while (_local2 < 20) {
this.levels[_local2] = new Array();
this.levels[_local2].push(new shotDescObj((_local2 * 15) + 30, 0));
_local2++;
}
}
function missileObj() {
this.soundN = "_lshotSound3";
this.explodeSound = "_lexplosion0";
this.startDist = 5;
this.cost = 50;
this.ammoCost = 100;
this.shootThrough = false;
this.coolDown = 24;
this.speed = 7;
this.clipName = "missile";
this.splashDamage = true;
this.splashRadius = 40;
this.levels = new Array();
var _local2 = 0;
while (_local2 < 20) {
this.levels[_local2] = new Array();
this.levels[_local2].push(new shotDescObj((_local2 * 12) + 20, 0));
_local2++;
}
}
function nextWeapon() {
if (inGame && (canPause)) {
p.shotType++;
if (p.shotType > 4) {
p.shotType = 0;
}
while (p.ammo[p.shotType] <= 0) {
p.shotType++;
if (p.shotType > 4) {
p.shotType = 0;
}
}
if (sfxOn) {
var _local1 = new Sound();
_local1.attachSound("_lchangeWeapon");
_local1.start();
}
p.changeAmmo();
}
}
function chooseWeapon() {
p.shotType = this.num;
p.changeAmmo();
if (sfxOn) {
var _local2 = new Sound();
_local2.attachSound("_lchangeWeapon");
_local2.start();
}
}
function Player() {
this.width = 8;
this.height = 8;
this.rad = 9;
this.speed = 4;
this.speedLevel = 0;
this.speedInc = 0.1;
this.shotType = 0;
this.weaponLevel = 0;
this.cooldown = 7;
this.xDispl = 5;
this.yDispl = 8;
this.maxArmour = 100;
this.armour = this.maxArmour;
this.maxhp = 200;
this.hp = this.maxhp;
this.weapons = [0, 0, 0, 0, 0, 0, 0];
this.ammo = [999, 30, 30, 2, 5, 0, 0];
score = 0;
money = 0;
}
function Powerup(x, y, type) {
this.num = enemyD++;
currentRoom.currentEnemies[this.num] = this;
this.mc = theScreen.attachMovie("_lpowerup", "enemy" + num, enemyDepth + this.num);
this.mc.mc.gotoAndStop(type + 1);
this.pType = type;
this.mc.myObject = this;
this.xTile = x;
this.yTile = y;
this.powerup = true;
this.currentTile = currentRoom.tiles[y][x];
this.x = (this.xTile * tileW) + (tileW / 2);
this.y = (this.yTile * tileH) + (tileH / 2);
this.mc._x = this.x;
this.mc._y = this.y;
this.hittable = true;
this.rad = 3;
this.myFunction = specialEF;
}
function Room(lev, row, collumn, exitRoute, entryPoint) {
currentRoom = this;
this.init();
this.done = false;
this.specialGot = false;
this.barrierDone = false;
this.collumn = collumn;
this.row = row;
this.spawnDestroyed = [];
this.laserFencesDestroyed = [];
this.destroyablesStates = [];
this.enemiesKilled = [];
this.spawnedEnemies = [];
if (exitRoute) {
this.exitRoute = true;
}
this.mc.tc._visible = false;
mapRow[row][collumn] = this;
this.doors = [null, null, null, null, null];
var _local8 = level * 0.05;
if (_local8 > 0.2) {
_local8 = 0.2;
}
var _local7 = new Array();
if (this.exitRoute) {
var _local12 = 0.65 - _local8;
var _local13 = 0.85 - _local8;
var _local14 = 0.7 + _local8;
} else {
var _local12 = 0.85 - _local8;
var _local13 = 0.95 - _local8;
}
var _local6 = [false, false, false, false, false];
if (roomsDone == 0) {
var _local9 = [0, 4, 8, 12, 16, 20];
var _local2 = 0;
while ((level > _local9[_local2]) && (_local2 < 5)) {
_local2++;
}
_local2 = Math.ceil(Math.random() * _local2);
var _local3 = 0;
while (_local3 <= _local2) {
_local6[Math.floor(Math.random() * 5)] = true;
_local3++;
}
}
if (entryPoint.isTeleporter) {
this.doors[4] = new Teleport(this, entryPoint);
this.teleport = true;
if (entryPoint.exitRoute && (!exitFound)) {
this.exitRoute = true;
}
var _local11 = 4;
} else {
var _local11 = entryPoint.num;
if (((Math.random() > _local13) || (_local6[4])) || (roomsDone == 0)) {
_local7.push(4);
this.doors[4] = new Teleport(this, entryPoint);
this.teleport = true;
}
}
if (mapRow[row - 1][collumn] != undefined) {
if (mapRow[row - 1][collumn].doors[3] != undefined) {
this.doors[0] = new Door(0, this);
if (mapRow[row - 1][collumn].doors[3].exitRoute && (!exitFound)) {
this.exitRoute = true;
}
}
} else if (((Math.random() > _local12) || (_local6[0])) && (row > 0)) {
_local7.push(0);
this.doors[0] = new Door(0, this);
}
if (mapRow[row + 1][collumn] != undefined) {
if (mapRow[row + 1][collumn].doors[0] != undefined) {
this.doors[3] = new Door(3, this);
if (mapRow[row + 1][collumn].doors[0].exitRoute && (!exitFound)) {
this.exitRoute = true;
}
}
} else if (((Math.random() > _local12) || (_local6[3])) && (row < (sSize - 1))) {
_local7.push(3);
this.doors[3] = new Door(3, this);
}
if (mapRow[row][collumn - 1] != undefined) {
if (mapRow[row][collumn - 1].doors[2] != undefined) {
this.doors[1] = new Door(1, this);
if (mapRow[row][collumn - 1].doors[2].exitRoute && (!exitFound)) {
this.exitRoute = true;
}
}
} else if (((Math.random() > _local12) || (_local6[1])) && (collumn > 0)) {
_local7.push(1);
this.doors[1] = new Door(1, this);
}
if (mapRow[row][collumn + 1] != undefined) {
if (mapRow[row][collumn + 1].doors[1] != undefined) {
this.doors[2] = new Door(2, this);
if (mapRow[row][collumn + 1].doors[1].exitRoute && (!exitFound)) {
this.exitRoute = true;
}
}
} else if (((Math.random() > _local12) || (_local6[2])) && (collumn < (sSize - 1))) {
_local7.push(2);
this.doors[2] = new Door(2, this);
}
if (this.exitRoute) {
if (((Math.random() > _local14) && (roomsDone > level)) || (_local7.length == 0)) {
this.isExit = true;
} else {
this.isExit = false;
this.doors[_local7[Math.floor(Math.random() * _local7.length)]].exitRoute = true;
}
}
if ((roomsDone == 0) && (level == 1)) {
this.map = firstMap;
} else if (this.isExit) {
if (level == 1) {
this.map = exitMaps[6][Math.floor(Math.random() * exitMaps[6].length)];
} else if (Math.random() > 0.3) {
this.map = exitMaps[_local11][Math.floor(Math.random() * exitMaps[_local11].length)];
} else {
this.map = exitMaps[5][Math.floor(Math.random() * exitMaps[5].length)];
}
} else {
if ((_local7.length == 0) && (Math.random() > 0.4)) {
this.spawnPU = true;
this.powerUpS = Math.floor(Math.random() * 5);
}
if ((Math.random() > 0.8) && (level > 1)) {
this.map = levelMaps[_local11][Math.floor(Math.random() * exitMaps[_local11].length)];
} else {
this.map = levelMaps[5][Math.floor(Math.random() * levelMaps[5].length)];
}
}
roomsDone++;
this.makeRoom(entryPoint);
}
function Tile(tType, y, x) {
this.walkedOn = false;
this.id = (("tile" + y) + "_") + x;
this.mc = theScreen.attachMovie("_ltile", this.id, tileDepth + (tileD++));
this.mc._x = x * tileW;
this.mc._y = y * tileH;
this.mc.myObject = this;
this.x = x;
this.y = y;
this.mc.gotoAndStop(tType + 1);
this.tType = tType;
var _local2 = tileDesc[tType];
this.walkable = _local2.walkable;
this.shootThrough = _local2.shootThrough;
this.walkFunction = _local2.walkFunction;
this.damage = _local2.damage;
this.shootFunction = _local2.shootFunction;
this.hp = level * _local2.hp;
this.destroyFunction = _local2.destroyFunction;
this.destroyedTile = _local2.destroyedTile;
this.monsterType = _local2.monsterType;
this.num = _local2.num;
this.freeTile = _local2.freeTile == true;
this.onTile = _local2.onTile;
this.offTile = _local2.offTile;
this.state = _local2.state;
this.initFunc = _local2.initFunc;
if (_local2.statesArray != undefined) {
this.compFunction = _local2.compFunction;
this.statesArray = _local2.statesArray;
}
this.efFunction = _local2.efFunction;
if (this.efFunction != null) {
currentRoom.efTiles[this.id] = this;
this.dCount = 0;
}
if (_local2.laserFence) {
this.laserFence = true;
this.generators = 0;
}
this.speedFactor = _local2.speedFactor;
}
function Door(num, room) {
this.exitRoute = false;
this.num = num;
}
function Teleport(theRoom, entryPoint) {
this.exitRoute = false;
this.dest = entryPoint;
this.myRoom = theRoom;
this.isTeleporter = true;
this.num = 4;
}
function openDoors() {
var _local2 = currentRoom.doorTiles;
if (currentRoom.doorsLocked) {
var _local3 = 0;
while (_local3 < _local2.length) {
_local2[_local3].changeTileTo(_local2[_local3].onTile);
_local3++;
}
}
_local2 = currentRoom.entryTiles;
var _local3 = 0;
while (_local3 < _local2.length) {
_local2[_local3].changeTileTo(_local2[_local3].onTile);
_local3++;
}
currentRoom.done = true;
if (currentRoom.barrierA.length > 0) {
for (_local3 in currentRoom.barrierA) {
currentRoom.barrierA[_local3].changeTileTo(currentRoom.barrierA[_local3].offTile);
if (sfxOn) {
var _local1 = new Sound();
_local1.attachSound("_ldoorClose");
_local1.start();
}
}
currentRoom.barrierDone = true;
delete currentRoom.barrierA;
}
}
function openEntryDoor() {
var _local3 = currentRoom.entryTiles;
var _local2 = 0;
while (_local2 < _local3.length) {
_local3[_local2].changeTileTo(_local3[_local2].onTile);
_local2++;
}
if (this._parent.sfxOn) {
var _local4 = new Sound();
_local4.attachSound("_ldoorClose");
_local4.start();
}
}
function lockDoors() {
theScreen.tNum = 0;
currentRoom.doorsLocked = true;
theScreen.onEnterFrame = function () {
var _local3 = currentRoom.doorTiles;
if ((this.tNum % 4) == 0) {
var _local2 = this.tNum / 4;
if (_local2 < _local3.length) {
_local3[_local2].changeTileTo(_local3[_local2].offTile);
if (this._parent.sfxOn) {
var _local4 = new Sound();
_local4.attachSound("_ldoorClose");
_local4.start();
}
} else {
delete this.tNum;
canPause = true;
this.onEnterFrame = detectKeys;
}
}
this.tNum++;
};
}
function lockEntryDoor() {
theScreen.tNum = 0;
theScreen.onEnterFrame = function () {
var _local3 = currentRoom.entryTiles;
if ((this.tNum % 4) == 0) {
var _local2 = this.tNum / 4;
if (_local2 < _local3.length) {
_local3[_local2].changeTileTo(_local3[_local2].offTile);
if (this._parent.sfxOn) {
var _local4 = new Sound();
_local4.attachSound("_ldoorClose");
_local4.start();
}
} else {
delete this.tNum;
canPause = true;
this.onEnterFrame = detectKeys;
}
}
this.tNum++;
};
}
function removeMap() {
sMap.removeMovieClip();
mapLines.removeMovieClip();
mapBack._visible = false;
options._visible = true;
}
function showMap() {
options._visible = false;
mapBack._visible = true;
sMap = this._parent._parent.createEmptyMovieClip("mapBG", mapDepth);
mapLines = this._parent._parent.createEmptyMovieClip("mapBGLines", mapLinesDepth);
sMap._x = (mapLines._x = roomX);
sMap._y = (mapLines._y = roomY);
var _local2 = (375 - (2 * sSize)) / sSize;
var _local11 = (_local2 + 2) * sSize;
sMap.beginFill(2236962, 100);
sMap.lineStyle(0, 0, 0);
sMap.moveTo(-2, -2);
sMap.lineTo(_local11 + 2, -2);
sMap.lineTo(_local11 + 2, _local11 + 2);
sMap.lineTo(-2, _local11 + 2);
sMap.lineTo(-2, -2);
sMap.endFill();
var _local10 = 0;
while (_local10 < sSize) {
var _local8 = 0;
while (_local8 < sSize) {
var _local3 = mapRow[_local10][_local8];
var _local5 = 1 + ((_local2 + 2) * _local8);
var _local4 = 1 + ((_local2 + 2) * _local10);
sMap.lineStyle(0, 0, 50);
if (_local3 == undefined) {
sMap.beginFill(1118481, 0);
} else if (_local3 != undefined) {
if (_local3.isExit) {
sMap.beginFill(14540066, 100);
} else {
sMap.beginFill(14540253, 100);
}
if (_local3 == currentRoom) {
ch = sMap.attachMovie("pMarker", "px", 0);
ch._x = _local5 + (_local2 / 2);
ch._y = _local4 + (_local2 / 2);
}
}
sMap.moveTo(_local5, _local4);
sMap.lineTo(_local5 + _local2, _local4);
sMap.lineTo(_local5 + _local2, _local4 + _local2);
sMap.lineTo(_local5, _local4 + _local2);
sMap.lineTo(_local5, _local4);
sMap.endFill();
if (_local3 != undefined) {
if (_local3.doors[4] != null) {
var _local7 = _local5 + (_local2 / 2);
var _local6 = _local4 + (_local2 / 2);
sMap.lineStyle(0, 255, 100);
sMap.beginFill(6711039);
sMap.moveTo(_local7, _local6 - 3);
sMap.lineTo(_local7 + 3, _local6);
sMap.lineTo(_local7 - 3, _local6);
sMap.lineTo(_local7, _local6 - 3);
sMap.endFill();
sMap.beginFill(85);
sMap.moveTo(_local7 - 3, _local6);
sMap.lineTo(_local7 + 3, _local6);
sMap.lineTo(_local7, _local6 + 3);
sMap.lineTo(_local7 - 3, _local6);
sMap.endFill();
var _local9 = _local3.doors[4].dest;
if (_local9.isTeleporter) {
mapLines.lineStyle(1, 13421823, 70);
mapLines.moveTo(_local7, _local6);
mapLines.lineTo(((_local2 + 2) * _local9.myRoom.collumn) + (_local2 / 2), ((_local2 + 2) * _local9.myRoom.row) + (_local2 / 2));
}
}
if (_local3.doors[0] != null) {
drapMapSquare((_local5 + (_local2 / 2)) - 1, _local4 - 2);
}
if (_local3.doors[1] != null) {
drapMapSquare(_local5 - 2, (_local4 + (_local2 / 2)) - 1);
}
if (_local3.doors[2] != null) {
drapMapSquare(_local5 + _local2, (_local4 + (_local2 / 2)) - 1);
}
if (_local3.doors[3] != null) {
drapMapSquare((_local5 + (_local2 / 2)) - 1, _local4 + _local2);
}
}
_local8++;
}
_local10++;
}
}
function drapMapSquare(x, y) {
sMap.lineStyle(2, 16777215, 100);
sMap.beginFill(85);
sMap.moveTo(x, y);
sMap.lineTo(x + 2, y);
sMap.lineTo(x + 2, y + 2);
sMap.lineTo(x, y + 2);
sMap.lineTo(x, y);
sMap.endFill();
}
function toggleSFX() {
if (sfxOn) {
sfxOn = false;
options.sfxTickbox.gotoAndStop(2);
startScreen.sfxTickbox.gotoAndStop(2);
} else {
sfxOn = true;
options.sfxTickbox.gotoAndStop(1);
startScreen.sfxTickbox.gotoAndStop(1);
}
}
function toggleMusic() {
if (musicOn) {
musicOn = false;
options.musicTickbox.gotoAndStop(2);
startScreen.musicTickbox.gotoAndStop(2);
opening.stop();
} else {
musicOn = true;
options.musicTickbox.gotoAndStop(1);
startScreen.musicTickbox.gotoAndStop(1);
if (inGame) {
soundSetup();
} else {
opening.start(0, 99999);
}
}
}
function setMusicVolume(vol) {
musicVol = vol;
opening.setVolume(musicVol);
options.musicBar.slideButton._x = -75 + (1.5 * vol);
}
function soundSetup() {
if (musicOn) {
themeSounds = [];
maxReps = [0, 2, 2, 2, 2, 2, 2, 2, 2];
clips = [0, 1, 4, 5, 6, 8];
var _local1 = 0;
while (_local1 < 9) {
themeSounds[_local1] = new Sound(soundMC);
themeSounds[_local1].attachSound("music" + _local1);
themeSounds[_local1].onSoundComplete = doNextSound;
_local1++;
}
themeSounds[0].setVolume(musicVol);
themeSounds[0].start();
themeSounds[0].onSoundComplete = doNextSound;
soundNum = 1;
}
}
function doNextSound() {
var _local1 = Math.ceil(Math.random() * 2) * 2;
while (_local1 == cSound) {
_local1 = Math.ceil(Math.random() * 2) * 2;
}
cSound = _local1;
var _local2 = clips[Math.ceil(Math.random() * 5)];
clipNum.text = _local2;
themeSounds[_local2].start(0, cSound);
}
function showShop() {
canPause = false;
delete gui.options.onRelease;
populateUpgrades();
shop._visible = true;
shop.contButton.onRelease = removeShop;
var _local1 = 0;
while (_local1 < 5) {
delete gui["weaponButton" + _local1].onRelease;
_local1++;
}
shop.onEnterFrame = function () {
Mouse.show();
};
themeSounds[0].stop();
if (musicOn) {
shopSound = new Sound(soundMC);
shopSound.attachSound("_lshop");
shopSound.start(0, 9999);
}
}
function removeShop() {
delete shop.onEnterFrame;
shop._visible = false;
shopSound.stop();
nextLevel();
}
function populateUpgrades() {
if (sfxOn) {
var _local7 = new Sound();
_local7.attachSound("_lclick");
_local7.start();
}
shop.gotoAndStop("upgrades");
shop.points.text = score;
shop.mon.text = money;
delete shop.upgrades.onRelease;
shop.supplies.onRelease = populateSupplies;
shop.specials.onRelease = populateSpecials;
var _local2 = 0;
while (_local2 < 8) {
switch (_local2) {
case 0 :
var _local4 = p.maxhp;
break;
case 1 :
_local4 = p.maxArmour;
break;
case 2 :
_local4 = p.speedLevel + 1;
break;
case 3 :
_local4 = p.weapons[0] + 1;
break;
case 4 :
_local4 = p.weapons[1] + 1;
break;
case 5 :
_local4 = p.weapons[2] + 1;
break;
case 6 :
_local4 = p.weapons[3] + 1;
break;
case 7 :
_local4 = p.weapons[4] + 1;
}
var _local3 = upgrades[_local2];
var _local6 = _local4 + _local3.increment;
var _local5 = _local3.cost + (_local3.cost * _local3.timesBought);
if (_local3.timesBought < _local3.maxLevel) {
shop["effect" + _local2].text = (_local4 + "->") + _local6;
shop["cost" + _local2].text = _local5;
} else {
shop["effect" + _local2].text = _local4;
shop["cost" + _local2].text = "-";
}
if ((money < _local5) || (shop["cost" + _local2].text == "-")) {
shop["buyButton" + _local2]._visible = false;
} else {
shop["buyButton" + _local2]._visible = true;
shop["buyButton" + _local2].num = _local2;
shop["buyButton" + _local2].onRelease = function () {
this._parent._parent.buyUpgrade(this.num);
};
}
_local2++;
}
}
function buyUpgrade(num) {
switch (num) {
case 0 :
p.maxhp = p.maxhp + upgrades[num].increment;
p.hp = p.hp + upgrades[num].increment;
break;
case 1 :
p.maxArmour = p.maxArmour + upgrades[num].increment;
p.armour = p.armour + upgrades[num].increment;
break;
case 2 :
p.speedLevel = p.speedLevel + upgrades[num].increment;
p.speed = p.speed + p.speedInc;
break;
case 3 :
p.weapons[0] = p.weapons[0] + upgrades[num].increment;
break;
case 4 :
p.weapons[1] = p.weapons[1] + upgrades[num].increment;
break;
case 5 :
p.weapons[2] = p.weapons[2] + upgrades[num].increment;
break;
case 6 :
p.weapons[3] = p.weapons[3] + upgrades[num].increment;
break;
case 7 :
p.weapons[4] = p.weapons[4] + upgrades[num].increment;
}
var _local2 = upgrades[num];
money = money - (_local2.cost + (_local2.cost * _local2.timesBought));
_local2.timesBought++;
p.doHealth();
p.doArmour();
populateUpgrades();
}
function Upgrade(increment, cost, costIncrease, maxLevel) {
this.increment = increment;
this.cost = cost;
this.costIncrease = costIncrease;
this.maxLevel = maxLevel - 1;
this.timesBought = 0;
}
function buildUpgradeBase() {
upgrades = [];
upgrades.push(new Upgrade(25, 50, 25, 999));
upgrades.push(new Upgrade(25, 50, 25, 999));
upgrades.push(new Upgrade(1, 50, 25, 20));
upgrades.push(new Upgrade(1, 100, 50, 20));
upgrades.push(new Upgrade(1, 100, 50, 20));
upgrades.push(new Upgrade(1, 100, 50, 20));
upgrades.push(new Upgrade(1, 100, 50, 20));
upgrades.push(new Upgrade(1, 100, 50, 20));
}
function populateSupplies() {
if (sfxOn) {
var _local8 = new Sound();
_local8.attachSound("_lclick");
_local8.start();
}
shop.gotoAndStop("supplies");
shop.points.text = score;
shop.mon.text = money;
shop.upgrades.onRelease = populateUpgrades;
delete shop.supplies.onRelease;
shop.specials.onRelease = populateSpecials;
var _local2 = 0;
while (_local2 < 6) {
switch (_local2) {
case 0 :
var _local5 = p.hp;
if (p.maxhp < 9999) {
var _local6 = p.maxhp;
} else {
var _local6 = 9999;
}
break;
case 1 :
_local5 = p.armour;
if (p.maxArmour < 9999) {
var _local6 = p.maxArmour;
} else {
var _local6 = 9999;
}
break;
case 2 :
_local5 = p.ammo[1];
var _local6 = 999;
break;
case 3 :
_local5 = p.ammo[2];
_local6 = 999;
break;
case 4 :
_local5 = p.ammo[3];
_local6 = 999;
break;
case 5 :
_local5 = p.ammo[4];
_local6 = 999;
}
var _local4 = supplies[_local2];
var _local7 = _local4.cost + (_local4.costIncrease * upgrades[_local4.ugNum].timesBought);
var _local3 = _local5 + _local4.amount;
if (_local3 > _local6) {
_local3 = _local6;
}
shop["effect" + _local2].text = (_local5 + "->") + _local3;
shop["cost" + _local2].text = _local7;
if ((money < _local7) || (_local3 == _local5)) {
shop["buyButton" + _local2]._visible = false;
} else {
shop["buyButton" + _local2]._visible = true;
shop["buyButton" + _local2].num = _local2;
shop["buyButton" + _local2].nextVal = _local3;
shop["buyButton" + _local2].onRelease = function () {
this._parent._parent.buySupply(this.num, this.nextVal);
};
}
_local2++;
}
}
function buySupply(num, newVal) {
switch (num) {
case 0 :
p.hp = newVal;
break;
case 1 :
p.armour = newVal;
break;
case 2 :
p.ammo[1] = newVal;
break;
case 3 :
p.ammo[2] = newVal;
break;
case 4 :
p.ammo[3] = newVal;
break;
case 5 :
p.ammo[4] = newVal;
}
var _local2 = supplies[num];
money = money - (_local2.cost + (_local2.costIncrease * upgrades[_local2.ugNum].timesBought));
p.doHealth();
p.doArmour();
populateSupplies();
}
function Supply(amount, cost, costIncrease, ugNum) {
this.amount = amount;
this.cost = cost;
this.costIncrease = costIncrease;
this.ugNum = ugNum;
}
function buildSupplyBase() {
supplies = [];
supplies.push(new Supply(50, 50, 0, 0));
supplies.push(new Supply(50, 50, 0, 1));
supplies.push(new Supply(20, 100, 10, 4));
supplies.push(new Supply(20, 100, 10, 5));
supplies.push(new Supply(2, 100, 20, 6));
supplies.push(new Supply(2, 50, 10, 7));
}
function populateSpecials() {
if (sfxOn) {
var _local4 = new Sound();
_local4.attachSound("_lclick");
_local4.start();
}
shop.gotoAndStop("specials");
shop.points.text = score;
shop.mon.text = money;
shop.upgrades.onRelease = populateUpgrades;
shop.supplies.onRelease = populateSupplies;
delete shop.specials.onRelease;
var _local2 = 0;
while (_local2 < 6) {
var _local3 = specials[_local2];
shop["effect" + _local2].text = _local3.amount;
shop["cost" + _local2].text = _local3.cost;
if (money < _local3.cost) {
shop["buyButton" + _local2]._visible = false;
} else {
shop["buyButton" + _local2]._visible = true;
shop["buyButton" + _local2].num = _local2;
shop["buyButton" + _local2].onRelease = function () {
this._parent._parent.buySpecial(this.num);
};
}
_local2++;
}
}
function buySpecial(num) {
sp = specials[num];
if (num < 4) {
score = score + sp.amount;
} else {
level = level + sp.amount;
}
money = money - sp.cost;
populateSpecials();
}
function Special(amount, cost) {
this.amount = amount;
this.cost = cost;
}
function buildSpecialBase() {
specials = [];
specials.push(new Special(10, 10));
specials.push(new Special(100, 100));
specials.push(new Special(1000, 1000));
specials.push(new Special(9999, 9999));
specials.push(new Special(1, 500));
specials.push(new Special(10, 2000));
}
function monsterSpawn() {
this.sNum = currentRoom.spawnersMade++;
if (currentRoom.spawnDestroyed[this.sNum]) {
this.changeTileTo(this.destroyedTile);
} else {
this.count = Math.floor(Math.random() * 170);
this.spawnInterval = 260;
this.spawnTiles = [];
this.hp = (this.hp / 2) * level;
this.score = (this.hp / 2) * level;
currentRoom.possibleEnemies++;
var _local4 = this.y - 1;
while (_local4 < (this.y + 2)) {
var _local3 = this.x - 1;
while (_local3 < (this.x + 2)) {
var _local2 = currentRoom.tiles[_local4][_local3];
if ((_local2.walkable && (_local2.damage == 0)) && (_local2 != this)) {
this.spawnTiles.push(_local2);
}
_local3++;
}
_local4++;
}
}
}
function destructableSUp() {
this.dNum = currentRoom.destroyablesMade++;
if (currentRoom.destroyablesStates[this.dNum] == undefined) {
currentRoom.destroyablesStates[this.dNum] = 0;
} else if (currentRoom.destroyablesStates[this.dNum] == 1) {
this.changeTileTo(this.destroyedTile);
} else if (currentRoom.destroyablesStates[this.dNum] == 2) {
this.changeTileTo(this.destroyedTile);
this.changeTileTo(this.destroyedTile);
}
}
function associateTiles() {
}
function switchedTiles() {
if (currentRoom.switchT[this.num] == undefined) {
currentRoom.switchT[this.num] = [];
}
currentRoom.switchT[this.num].push(this);
this.mc.gotoAndStop(this.onTile + 1);
}
function laserFenceGenSetUp() {
this.fenceTiles = [];
var _local3 = this.x + 1;
var _local2 = this.y;
while (currentRoom.tiles[_local2][_local3].laserFence) {
this.fenceTiles.push(currentRoom.tiles[_local2][_local3]);
currentRoom.tiles[_local2][_local3].generators++;
_local3++;
}
_local3 = this.x - 1;
_local2 = this.y;
while (currentRoom.tiles[_local2][_local3].laserFence) {
this.fenceTiles.push(currentRoom.tiles[_local2][_local3]);
currentRoom.tiles[_local2][_local3].generators++;
_local3--;
}
_local3 = this.x;
_local2 = this.y + 1;
while (currentRoom.tiles[_local2][_local3].laserFence) {
this.fenceTiles.push(currentRoom.tiles[_local2][_local3]);
currentRoom.tiles[_local2][_local3].generators++;
_local2++;
}
_local3 = this.x;
_local2 = this.y - 1;
while (currentRoom.tiles[_local2][_local3].laserFence) {
this.fenceTiles.push(currentRoom.tiles[_local2][_local3]);
currentRoom.tiles[_local2][_local3].generators++;
_local2--;
}
this.lfNum = currentRoom.laserFencesMade++;
currentRoom.laserFences[this.lfNum] = this;
}
function cChangeInit() {
if (currentRoom.colourUnlock || (!currentRoom.barrierDone)) {
if (currentRoom.ccT[this.num] == undefined) {
currentRoom.ccT[this.num] = [];
}
this.state = 0;
this.numStates = this.statesArray.length;
currentRoom.ccT[this.num].push(this);
this.mc.gotoAndStop(this.statesArray[this.state] + 1);
}
}
function makeSpecial() {
if (!currentRoom.specialGot) {
var _local2 = this.num;
if (_local2 > 5) {
_local2 = Math.floor(Math.random() * 6);
}
var _local3 = new Powerup(this.x, this.y, _local2);
}
}
function barrierAssoc() {
if (!currentRoom.barrierDone) {
currentRoom.barrierA.push(this);
this.mc.gotoAndStop(this.onTile + 1);
} else {
this.changeTileTo(this.offTile);
}
}
function spawnBoss() {
if (!currentRoom.done) {
var _local2 = new bosses[this.num](enemyD++, this.x, this.y);
}
}
function destroyable(power) {
this.hp = this.hp - power;
if (this.hp <= 0) {
this.destroyFunction();
}
}
function changeTile() {
if (this.dNum != undefined) {
currentRoom.destroyablesStates[this.dNum]++;
}
delete currentRoom.efTiles[this.id];
this.tType = this.destroyedTile;
var _local2 = tileDesc[this.tType];
this.walkable = _local2.walkable;
this.shootThrough = _local2.shootThrough;
this.walkFunction = _local2.walkFunction;
this.damage = _local2.damage;
this.shootFunction = _local2.shootFunction;
this.hp = _local2.hp;
this.efFunction = _local2.efFunction;
this.speedFactor = _local2.speedFactor;
this.efFunction = _local2.efFunction;
this.destroyedTile = _local2.destroyedTile;
if (this.efFunction != null) {
currentRoom.efTiles[this.id] = this;
}
this.mc.gotoAndStop(this.tType + 1);
}
function destroyMonsterSpawner() {
if ((--currentRoom.possibleEnemies) == 0) {
currentRoom.allKilledFunc();
}
delete currentRoom.efTiles[this.id];
this.tType = this.destroyedTile;
var _local2 = tileDesc[this.tType];
this.walkable = _local2.walkable;
this.shootThrough = _local2.shootThrough;
this.walkFunction = _local2.walkFunction;
this.damage = _local2.damage;
this.shootFunction = _local2.shootFunction;
this.hp = _local2.hp;
this.efFunction = _local2.efFunction;
this.speedFactor = _local2.speedFactor;
this.efFunction = _local2.efFunction;
this.destroyedTile = _local2.destroyedTile;
if (this.efFunction != null) {
currentRoom.efTiles[this.id] = this;
}
money = money + this.score;
score = score + this.score;
this.mc.gotoAndStop(this.tType + 1);
currentRoom.spawnDestroyed[this.sNum] = true;
this.makeExplosion();
}
function destroyLaserFence() {
currentRoom.laserFencesDestroyed[this.lfNum] = true;
currentRoom.destroyablesStates[this.dNum] = 1;
this.deactivateLF();
this.makeExplosion();
money = money + (4 * level);
score = score + (5 + (5 * level));
}
function damagePlayer() {
if ((this.dCount++) > 4) {
this.dCount = 0;
if (p.currentTile == this) {
p.hurtMe(this.damage);
}
for (var _local3 in currentRoom.currentEnemies) {
var _local2 = currentRoom.currentEnemies[_local3];
if ((_local2.currentTile == this) && (this.damage >= _local2.wussiness)) {
_local2.hurtMe(this.damage);
}
}
}
}
function spawnMonsters() {
if (((this.count++) > this.spawnInterval) && (currentRoom.possibleEnemies < maxMobs)) {
this.count = Math.floor(Math.random() * this.spawnInterval) - 20;
var _local5 = this.spawnTiles;
var _local2 = _local5[Math.floor(Math.random() * _local5.length)];
var _local3 = true;
for (var _local4 in currentRoom.currentEnemies) {
if (currentRoom.currentEnemies[_local4].currentTile == _local2) {
_local3 = false;
}
}
if (p.currentTile == _local2) {
_local3 = false;
}
if (_local3) {
if (sfxOn) {
var _local6 = new Sound();
_local6.attachSound("_lspawn");
_local6.start();
}
var _local8 = new this.monsterType(enemyD++, _local2.x, _local2.y);
_local8.isSpawned = true;
currentRoom.spawnedEnemies[_local8.num] = this.monsterType;
var _local7 = theScreen.attachMovie("_lteleportInStuff", "ex" + exNum, explosionsDepth + exNum);
_local7._x = (_local2.x * tileW) + (tileW / 2);
_local7._y = (_local2.y * tileW) + (tileW / 2);
if ((++exNum) > 50) {
exNum = 0;
}
_local7 = theScreen.attachMovie("_lspawnlight", "ex" + exNum, explosionsDepth + exNum);
_local7._x = (this.x * tileW) + (tileW / 2);
_local7._y = (this.y * tileW) + (tileW / 2);
if ((++exNum) > 50) {
exNum = 0;
}
}
}
}
function toggleTiles() {
var _local2 = currentRoom.switchT[this.num];
for (var _local3 in _local2) {
toggleTile(_local2[_local3]);
}
if (sfxOn) {
var _local4 = new Sound();
_local4.attachSound("_ldoorClose");
_local4.start();
}
}
function cChange() {
this.state++;
if (this.state == this.numStates) {
this.state = 0;
}
this.mc.gotoAndStop(this.statesArray[this.state] + 1);
var _local2 = true;
var _local3 = this.statesArray.length - 1;
for (var _local4 in currentRoom.ccT[this.num]) {
if (currentRoom.ccT[this.num][_local4].state != _local3) {
_local2 = false;
}
}
if (_local2) {
this.compFunction();
for (var _local4 in currentRoom.ccT[this.num]) {
currentRoom.ccT[this.num][_local4].walkFunction = null;
}
}
}
function doorWalk() {
delete theScreen.onEnterFrame;
theScreen.removeMovieClip();
switch (this.num) {
case 0 :
row--;
break;
case 1 :
collumn--;
break;
case 2 :
collumn++;
break;
case 3 :
row++;
}
if (mapRow[row][collumn] == undefined) {
var _local3 = new Room(1, row, collumn, this.exitRoute, currentRoom.doors[this.num]);
} else {
var _local2 = currentRoom.doors[this.num];
currentRoom = mapRow[row][collumn];
mapRow[row][collumn].makeRoom(_local2);
}
}
function doTeleport() {
delete theScreen.onEnterFrame;
canPause = false;
this.mc.mc.gotoAndPlay(2);
this.mc.countDown = 30;
if (sfxOn) {
var _local2 = new Sound();
_local2.attachSound("_lteleport");
_local2.start();
}
var _local3 = theScreen.attachMovie("_lteleportStuff", "tel", playerDepth - 1);
_local3._x = (this.x * tileW) + (tileW / 2);
_local3._y = (this.y * tileW) + (tileW / 2);
this.mc.onEnterFrame = function () {
if ((this.countDown--) > 0) {
p.mc._rotation = p.mc._rotation + 20;
p.mc._alpha = p.mc._alpha - 4;
} else {
this.myObject.finishTeleport();
}
};
}
function exitLevel() {
delete theScreen.onEnterFrame;
canPause = false;
delete gui.options.onRelease;
var _local2 = 0;
while (_local2 < 5) {
delete gui["weaponButton" + _local2].onRelease;
_local2++;
}
p.mc._x = (this.x * tileW) + (tileW / 2);
p.mc._y = (this.y * tileH) + (tileH / 2);
if (sfxOn) {
var _local5 = new Sound();
_local5.attachSound("_lexit");
_local5.start();
}
var _local3 = theScreen.attachMovie("_linfo", "inf" + exNum, explosionsDepth + exNum);
_local3._x = (this.x * tileW) + (tileW / 2);
_local3._y = (this.y * tileH) + (tileH / 2);
if ((++exNum) > 50) {
exNum = 0;
}
var _local6 = 100 * level;
_local3.txt.txt0.htmlText = (_local3.txt.txt1.htmlText = "LEVEL BONUS\n$" + _local6);
p.mc.gotoAndPlay("exit");
money = money + _local6;
var _local4 = _local3.txt.txt0.textWidth / 2;
if ((_local3._x + _local4) > 370) {
_local3._x = 370 - _local4;
} else if ((_local3._x - _local4) < 5) {
_local3._x = 5 + _local4;
}
}
function toggleTile(t) {
if (t.state == "on") {
var _local2 = tileDesc[t.offTile];
t.state = "off";
t.mc.gotoAndStop(t.offTile + 1);
} else {
var _local2 = tileDesc[t.onTile];
t.state = "on";
t.mc.gotoAndStop(t.onTile + 1);
}
delete currentRoom.efTiles[t.id];
t.walkable = _local2.walkable;
t.efFunction = _local2.efFunction;
t.shootThrough = _local2.shootThrough;
t.walkFunction = _local2.walkFunction;
t.hp = _local2.hp;
t.damage = _local2.damage;
t.efFunction = _local2.efFunction;
t.speedFactor = _local2.speedFactor;
t.dCount = 0;
if (t.efFunction != null) {
currentRoom.efTiles[t.id] = t;
} else {
delete currentRoom.efTiles[t.id];
}
}
function traceYay() {
if (currentRoom.colourUnlock) {
var _local3 = currentRoom.doorTiles;
var _local1 = 0;
while (_local1 < _local3.length) {
_local3[_local1].changeTileTo(_local3[_local1].onTile);
_local1++;
}
_local3 = currentRoom.entryTiles;
_local1 = 0;
while (_local1 < _local3.length) {
_local3[_local1].changeTileTo(_local3[_local1].onTile);
_local1++;
}
currentRoom.done = true;
} else if (currentRoom.barrierA.length > 0) {
for (var _local1 in currentRoom.barrierA) {
currentRoom.barrierA[_local1].changeTileTo(currentRoom.barrierA[_local1].offTile);
if (sfxOn) {
var _local2 = new Sound();
_local2.attachSound("_ldoorClose");
_local2.start();
}
}
currentRoom.barrierDone = true;
delete currentRoom.barrierA;
}
}
function colourchangeKill() {
}
Function.prototype.extend = function (superClass) {
this.prototype.__proto__ = superClass.prototype;
this.prototype.__constructor__ = superClass;
ASSetPropFlags(this.prototype, ["__constructor__"], 1);
};
ASSetPropFlags(Function.prototype, ["extend"], 1);
MovieClip.prototype.mcExtends = function (superClass) {
if (typeof(superClass) == "function") {
this.__proto__ = superClass.prototype;
if (typeof(this.attachMovie) == "undefined") {
var _local4 = this.__proto__;
var _local3 = _local4.__proto__.__proto__;
while (_local3 != null) {
_local3 = _local3.__proto__;
_local4 = _local4.__proto__;
}
_local4.__proto__ = MovieClip.prototype;
}
arguments.splice(0, 1);
superClass.apply(this, arguments);
} else {
trace("mcExtends: Incorrect superClass type or path - " + typeof(superClass));
}
};
ASSetPropFlags(MovieClip.prototype, ["mcExtends"], 1);
num = 0;
PiRads = (Math.PI/180);
roomX = 12;
roomY = 12;
tileW = 25;
tileH = 25;
mapWidth = 15;
mapHeight = 15;
var midTile = Math.floor(mapWidth / 2);
startX0 = [midTile, mapWidth - 1, 0, midTile, midTile];
startY0 = [mapHeight - 1, midTile, midTile, 0, midTile];
startX1 = [midTile, mapWidth - 2, 1, midTile, midTile];
startY1 = [mapHeight - 2, midTile, midTile, 1, midTile];
doorPos = [];
doorPos[0] = [new Point(midTile - 1, 0), new Point(midTile, 0), new Point(midTile + 1, 0)];
doorPos[1] = [new Point(0, midTile - 1), new Point(0, midTile), new Point(0, midTile + 1)];
doorPos[2] = [new Point(mapWidth - 1, midTile - 1), new Point(mapWidth - 1, midTile), new Point(mapWidth - 1, midTile + 1)];
doorPos[3] = [new Point(midTile - 1, mapHeight - 1), new Point(midTile, mapHeight - 1), new Point(midTile + 1, mapHeight - 1)];
telePortPos = [new Point(midTile, midTile), new Point(3, 3), new Point(11, 3), new Point(11, 3), new Point(11, 11)];
soundMCDepth = 0;
screenDepth = 1;
crossHairsDepth = 2;
optionsDepth = 3;
mapDepth = 4;
mapLinesDepth = 5;
mapBackDepth = 6;
charStatsDepth = 7;
shopDepth = 8;
gameoverDepth = 9;
startScreenDepth = 10;
pnflashSplashDepth = 11;
wipeOverDepth = 20;
guiDepth = 12343455 /* 0xBC589F */;
tileDepth = 0;
deadDepth = 1000;
minesDepth = 1200;
playerDepth = 1500;
enemyDepth = 2000;
shotDepth = 3000;
explosionsDepth = 4000;
musicVol = 50;
names = ["FLUFFY", "WIMP", "FRIENDLY", "INTERN", "PRIVATE", "PAINMERCHANT", "KILLERNATOR", "TRIGGERFIEND", "FRAGMEISTER", "BLOODDRINKER", "HURTMAKER", "DESTROYER", "GOON", "FK'ER", "BERSERKER"];
pointsSpace = [0];
var i = 1;
while (i < names.length) {
pointsSpace[i] = pointsSpace[i - 1] + (500 * i);
i++;
}
crossHair.swapDepths(crossHairsDepth);
mapBack.swapDepths(mapBackDepth);
charStats.swapDepths(charStatsDepth);
shop.swapDepths(shopDepth);
gui.swapDepths(guiDepth);
options.swapDepths(optionsDepth);
gameover.swapDepths(gameoverDepth);
startScreen.swapDepths(startScreenDepth);
wipeOver.swapDepths(wipeOverDepth);
pnflashSplash.swapDepths(pnflashSplashDepth);
myListener = new Object();
myListener.lastHit = 0;
myListener.onKeyDown = function () {
if ((((count - this.lastHit) > 1) && (canPause)) && (inGame)) {
this.lastHit = count;
var _local2 = Key.getCode();
switch (_local2) {
case 32 :
pauseGame();
break;
case 13 :
pauseGame();
break;
case 16 :
nextWeapon();
break;
case 69 :
nextWeapon();
break;
case 80 :
pauseGame();
}
if ((_local2 > 48) && (_local2 < 54)) {
if (p.ammo[_local2 - 49] > 0) {
p.shotType = _local2 - 49;
if (sfxOn) {
var _local3 = new Sound();
_local3.attachSound("_lchangeWeapon");
_local3.start();
}
p.changeAmmo();
}
}
}
};
Key.addListener(myListener);
Enemy.extend(Sprite);
Enemy.prototype.init = function (num, x, y) {
this.level = level;
this.num = num;
this.hp = this.hpBase + (this.hpFactor * level);
this.score = this.score * level;
this.hitDamage = this.hitDamage * level;
var _local2 = 0;
while (_local2 < this.shotPower.length) {
this.shotPower[_local2] = this.shotPower[_local2] * level;
_local2++;
}
currentRoom.currentEnemies[this.num] = this;
this.mc = theScreen.attachMovie("_l" + this.clipName, "enemy" + num, enemyDepth + num);
this.mc.myObject = this;
this.xTile = x;
this.yTile = y;
this.currentTile = currentRoom.tiles[y][x];
this.x = (this.xTile * tileW) + (tileW / 2);
this.y = (this.yTile * tileH) + (tileH / 2);
this.mc._x = this.x;
this.mc._y = this.y;
this.gotoP = Math.random() * 60;
this.hittable = true;
this.free = true;
this.shootCounter = Math.floor(Math.random() * this.shootTime);
this.gotoP = true;
currentRoom.possibleEnemies++;
};
Zombie.extend(Enemy);
Soldier.extend(Enemy);
Demon.extend(Enemy);
Sludgeman.extend(Enemy);
Boss0.extend(Enemy);
Boss1.extend(Enemy);
Enemy.prototype.hurtMe = function (damage) {
if (sfxOn) {
var _local2 = new Sound();
_local2.attachSound(this.hitSound);
_local2.start();
}
this.hp = this.hp - damage;
if (this.hp <= 0) {
score = score + this.score;
money = money + this.score;
this.hittable = false;
this.mc.gotoAndPlay("destroy");
this.mc.swapDepths(deadDepth + (deadD++));
if (deadD > 199) {
deadD = 0;
}
if ((--currentRoom.possibleEnemies) == 0) {
currentRoom.allKilledFunc();
}
if (this.givePowerUp) {
var _local3 = new Powerup(this.currentTile.x, this.currentTile.y, Math.floor(Math.random() * 6));
}
if (this.isBoss) {
if (currentRoom.barrierA.length > 0) {
for (i in currentRoom.barrierA) {
currentRoom.barrierA[i].changeTileTo(currentRoom.barrierA[i].offTile);
}
currentRoom.barrierDone = true;
if (sfxOn) {
var _local2 = new Sound();
_local2.attachSound("_ldoorClose");
_local2.start();
}
delete currentRoom.barrierA;
}
}
if (this.isSpawned) {
delete currentRoom.spawnedEnemies[this.num];
} else {
currentRoom.enemiesKilled[this.rNum] = true;
}
delete currentRoom.currentEnemies[this.num];
} else {
this.mc.gotoAndPlay("hurt");
}
};
Enemy.prototype.checkCols = function (x, y) {
var _local6 = (y + this.rad) - 1;
var _local5 = (y - this.rad) + 1;
var _local7 = (x - this.rad) + 1;
var _local8 = (x + this.rad) - 1;
for (var _local11 in currentRoom.currentEnemies) {
var _local2 = currentRoom.currentEnemies[_local11];
if (_local2 != this) {
var _local3 = x - _local2.x;
var _local4 = y - _local2.y;
if (Math.sqrt((_local3 * _local3) + (_local4 * _local4)) < ((_local2.rad + this.rad) - 1)) {
_local3 = _local7 - _local2.x;
_local4 = _local5 - _local2.y;
this.upleft = Math.sqrt((_local3 * _local3) + (_local4 * _local4)) < (_local2.rad - 1);
_local4 = _local6 - _local2.y;
this.downleft = Math.sqrt((_local3 * _local3) + (_local4 * _local4)) < (_local2.rad - 1);
_local3 = _local8 - _local2.x;
_local4 = _local5 - _local2.y;
this.upright = Math.sqrt((_local3 * _local3) + (_local4 * _local4)) < (_local2.rad - 1);
_local4 = _local6 - _local2.y;
this.downright = Math.sqrt((_local3 * _local3) + (_local4 * _local4)) < (_local2.rad - 1);
}
}
}
};
Enemy.prototype.getCorners = function (x, y) {
downY = Math.floor(((y + this.rad) - 1) / tileH);
upY = Math.floor((y - this.rad) / tileH);
leftX = Math.floor((x - this.rad) / tileW);
rightX = Math.floor(((x + this.rad) - 1) / tileW);
this.upleft = currentRoom.tiles[upY][leftX].walkable && (currentRoom.tiles[upY][leftX].damage < this.wussiness);
this.downleft = currentRoom.tiles[downY][leftX].walkable && (currentRoom.tiles[downY][leftX].damage < this.wussiness);
this.upright = currentRoom.tiles[upY][rightX].walkable && (currentRoom.tiles[upY][rightX].damage < this.wussiness);
this.downright = currentRoom.tiles[downY][rightX].walkable && (currentRoom.tiles[downY][rightX].damage < this.wussiness);
};
Enemy.prototype.budgetPF = function (dirx, diry) {
var _local2 = 0;
var _local3 = 0;
var _local4 = this.currentTile.y;
var _local5 = this.currentTile.x;
var _local13 = currentRoom.tiles[_local4 - 1][_local5].walkable && (currentRoom.tiles[_local4 - 1][_local5].damage < this.wussiness);
var _local14 = currentRoom.tiles[_local4 + 1][_local5].walkable && (currentRoom.tiles[_local4 + 1][_local5].damage < this.wussiness);
var _local12 = currentRoom.tiles[_local4][_local5 - 1].walkable && (currentRoom.tiles[_local4][_local5 - 1].damage < this.wussiness);
var _local15 = currentRoom.tiles[_local4][_local5 + 1].walkable && (currentRoom.tiles[_local4][_local5 + 1].damage < this.wussiness);
var _local9 = ((_local13 && (_local12)) && (currentRoom.tiles[_local4 - 1][_local5 - 1].walkable)) && (currentRoom.tiles[_local4 - 1][_local5 - 1].damage < this.wussiness);
var _local6 = ((_local14 && (_local12)) && (currentRoom.tiles[_local4 + 1][_local5 - 1].walkable)) && (currentRoom.tiles[_local4 + 1][_local5 - 1].damage < this.wussiness);
var _local7 = ((_local13 && (_local12)) && (currentRoom.tiles[_local4 - 1][_local5 + 1].walkable)) && (currentRoom.tiles[_local4 - 1][_local5 + 1].damage < this.wussiness);
var _local8 = ((_local14 && (_local15)) && (currentRoom.tiles[_local4 + 1][_local5 + 1].walkable)) && (currentRoom.tiles[_local4 + 1][_local5 + 1].damage < this.wussiness);
if (diry == 1) {
if ((dirx == 1) && (_local6)) {
_local2 = -1;
_local3 = 1;
} else if ((dirx == -1) && (_local8)) {
_local2 = 1;
_local3 = 1;
} else if (_local6 && (!_local8)) {
_local2 = -1;
_local3 = 1;
} else if ((!_local6) && (_local8)) {
_local2 = 1;
_local3 = 1;
} else if (Math.random() > 0.5) {
_local2 = 1;
_local3 = 1;
} else {
_local2 = -1;
_local3 = 1;
}
} else if (diry == -1) {
if ((dirx == 1) && (_local9)) {
_local2 = -1;
_local3 = -1;
} else if ((dirx == -1) && (_local7)) {
_local2 = 1;
_local3 = -1;
} else if (_local6 && (!_local7)) {
_local2 = -1;
_local3 = -1;
} else if ((!_local6) && (_local7)) {
_local2 = 1;
_local3 = -1;
} else if (Math.random() > 0.5) {
_local2 = 1;
_local3 = -1;
} else {
_local2 = -1;
_local3 = -1;
}
} else if (dirx == 1) {
if ((diry == 1) && (_local7)) {
_local2 = 1;
_local3 = -1;
} else if ((diry == -1) && (_local8)) {
_local2 = 1;
_local3 = 1;
} else if (_local7 && (!_local8)) {
_local2 = 1;
_local3 = -1;
} else if ((!_local7) && (_local8)) {
_local2 = 1;
_local3 = 1;
} else if (Math.random() > 0.5) {
_local2 = 1;
_local3 = 1;
} else {
_local2 = 1;
_local3 = -1;
}
} else if (dirx == -1) {
if ((diry == 1) && (_local9)) {
_local2 = -1;
_local3 = -1;
} else if ((diry == -1) && (_local6)) {
_local2 = -1;
_local3 = 1;
} else if (_local9 && (!_local6)) {
_local2 = -1;
_local3 = -1;
} else if ((!_local9) && (_local6)) {
_local2 = -1;
_local3 = 1;
} else if (Math.random() > 0.5) {
_local2 = -1;
_local3 = 1;
} else {
_local2 = -1;
_local3 = -1;
}
}
this.xTo = (currentRoom.tiles[_local4 + _local3][_local5 + _local2].x * tileW) + (tileW / 2);
this.yTo = (currentRoom.tiles[_local4 + _local3][_local5 + _local2].y * tileH) + (tileH / 2);
this.gotoTile = currentRoom.tiles[_local4 + _local3][_local5 + _local2];
this.gotoP = false;
this.gotoCount = 0;
};
enemiesDef = [];
enemiesDef[0] = [];
enemiesDef[1] = [Zombie, Zombie];
enemiesDef[2] = [Soldier, Soldier];
enemiesDef[3] = [Demon, Demon];
enemiesDef[4] = [Sludgeman, Sludgeman];
monsterTypes = [Zombie, Soldier, Demon, Sludgeman];
tileDesc = [];
var i = 0;
while (i < 20) {
tileDesc[i] = new walkTile(1);
i++;
}
var i = 20;
while (i < 40) {
tileDesc[i] = new permWall(false);
i++;
}
tileDesc[28] = new permWall(true);
tileDesc[40] = new walkDamageTile(10, 1);
tileDesc[41] = new walkDamageTile(5, 0.6);
tileDesc[42] = new walkTile(0.6);
tileDesc[43] = new permWall(true);
var i = 44;
while (i < 56) {
tileDesc[i] = new walkTile(0.6);
i++;
}
var i = 55;
while (i < 65) {
tileDesc[i] = new walkTile(0.8);
i++;
}
tileDesc[65] = new laserFenceGenerator(67);
tileDesc[66] = new laserFenceGenerator(142);
tileDesc[67] = new permWall(false);
tileDesc[142] = new permWall(false);
var i = 68;
while (i < 74) {
tileDesc[i] = new laserFence(i - 68);
i++;
}
var i = 74;
while (i < 80) {
tileDesc[i] = new laserFence(i - 74);
i++;
}
var i = 80;
while (i < 86) {
tileDesc[i] = new laserFence(i - 80);
i++;
}
var i = 86;
while (i < 92) {
tileDesc[i] = new laserFence(i - 86);
i++;
}
var i = 92;
while (i < 102) {
tileDesc[i] = new destroyableTile(10, changeTile, i + 10);
i++;
}
tileDesc[92] = new destroyableTile(10, changeTile, 102);
tileDesc[93] = new destroyableTile(15, changeTile, 103);
tileDesc[94] = new destroyableTile(5, changeTile, 104);
tileDesc[95] = new destroyableTile(25, changeTile, 105);
var i = 102;
while (i < 112) {
tileDesc[i] = new destroyableTile(10, changeTile, i - 102);
i++;
}
var i = 112;
while (i < 122) {
tileDesc[i] = new walkSwitch(i - 112);
i++;
}
var i = 122;
while (i < 132) {
tileDesc[i] = new switchTile(i - 122, i - 122, i - 82);
i++;
}
var i = 132;
while (i < 142) {
tileDesc[i] = new switchTile(i - 132, i - 92, i - 132);
i++;
}
tileDesc[122] = new switchTile(0, 0, 40);
tileDesc[132] = new switchTile(0, 40, 0);
tileDesc[123] = new switchTile(1, 0, 41);
tileDesc[133] = new switchTile(1, 41, 0);
tileDesc[124] = new switchTile(2, 0, 40);
tileDesc[134] = new switchTile(2, 40, 0);
tileDesc[125] = new switchTile(3, 0, 41);
tileDesc[135] = new switchTile(3, 41, 0);
var i = 144;
while (i < 158) {
tileDesc[i] = new monsterSpawners(i - 144, 20);
i++;
}
var i = 148;
while (i < 152) {
tileDesc[i] = new monsterSpawners(i - 148, 40);
i++;
}
tileDesc[152] = new permWall(true);
tileDesc[143] = new permWall(true);
var i = 161;
while (i < 165) {
tileDesc[i] = new doorTile(doorWalk, i);
i++;
}
var i = 165;
while (i < 171) {
var a = [165, 166];
tileDesc[i] = new ccTile(i - 165, a, traceYay);
i++;
}
var a = [165, 166];
tileDesc[165] = new ccTile(0, a, traceYay);
var a = [166, 165];
tileDesc[166] = new ccTile(1, a, traceYay);
var a = [167, 165];
tileDesc[167] = new ccTile(2, a, traceYay);
var a = [167, 166];
tileDesc[168] = new ccTile(3, a, traceYay);
var i = 171;
while (i < 175) {
tileDesc[i] = new permWall(false);
i++;
}
tileDesc[175] = new doorTile(doTeleport, 175);
tileDesc[176] = new doorTile(null, 176);
tileDesc[217] = new tileWalkFunction(exitLevel, null);
var i = 153;
while (i < 161) {
tileDesc[i] = new walkTile(1);
i++;
}
tileDesc[185] = new walkTile(1);
tileDesc[186] = new walkTile(1);
var i = 187;
while (i < 197) {
tileDesc[i] = new specialSpawner(i - 187);
i++;
}
var i = 197;
while (i < 207) {
tileDesc[i] = new rBarrierTile(28 + i, 0);
i++;
}
tileDesc[197] = new rBarrierTile(29, 0);
tileDesc[198] = new rBarrierTile(30, 0);
tileDesc[199] = new rBarrierTile(31, 0);
tileDesc[200] = new rBarrierTile(28, 0);
tileDesc[201] = new rBarrierTile(40, 0);
var i = 207;
while (i < 217) {
tileDesc[i] = new bossSpawner(i - 207);
i++;
}
firstMap = [[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 1, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [0, 0, 1]];
levelMaps = [];
var i = 0;
while (i < 6) {
levelMaps[i] = [];
i++;
}
levelMaps[0].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 20], [22, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 20], [22, 0, 93, 166, 166, 166, 166, 166, 166, 166, 166, 166, 93, 0, 20], [22, 0, 0, 166, 0, 0, 0, 0, 0, 0, 0, 166, 0, 0, 20], [22, 0, 0, 166, 0, 0, 0, 0, 0, 0, 0, 166, 0, 0, 20], [22, 0, 41, 166, 0, 0, 0, 0, 0, 0, 0, 166, 41, 0, 20], [22, 0, 41, 166, 0, 0, 0, 0, 0, 0, 0, 166, 41, 0, 20], [22, 0, 41, 166, 0, 0, 0, 0, 0, 0, 0, 166, 41, 0, 20], [22, 0, 0, 166, 0, 0, 0, 0, 0, 0, 0, 166, 0, 0, 20], [22, 0, 0, 166, 166, 166, 166, 166, 166, 166, 166, 166, 0, 0, 20], [22, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 20], [22, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 20], [22, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [0, 2, 1, 1]]);
levelMaps[0].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 0, 0, 0, 0, 94, 0, 0, 0, 94, 0, 0, 0, 0, 20], [22, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 147, 94, 0, 0, 0, 94, 147, 0, 0, 0, 20], [22, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 20], [22, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 94, 94, 0, 0, 0, 94, 94, 0, 0, 0, 20], [22, 94, 0, 0, 0, 94, 0, 5, 0, 94, 0, 0, 0, 94, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 12, 13, 0, 0, 0, 20], [22, 0, 0, 94, 0, 94, 0, 0, 0, 94, 0, 94, 0, 0, 20], [22, 0, 94, 0, 0, 94, 10, 0, 0, 94, 0, 0, 94, 0, 20], [22, 145, 0, 0, 0, 94, 4, 0, 10, 94, 0, 0, 0, 145, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [0, 0, 4, 3]]);
levelMaps[1].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 149, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 65, 68, 69, 68, 65, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 83, 135, 135, 135, 80, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 80, 135, 193, 135, 80, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 80, 135, 135, 135, 84, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 65, 68, 68, 68, 65, 0, 20], [22, 0, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 93, 93, 0, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 115, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [1, 0, 1, 2]]);
levelMaps[1].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 148, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 151, 20], [22, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 123, 123, 123, 123, 123, 123, 123, 123, 0, 0, 0, 0, 20], [22, 0, 123, 123, 123, 123, 123, 123, 123, 123, 0, 0, 0, 0, 20], [22, 0, 123, 133, 133, 133, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 113, 133, 193, 133, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 123, 133, 133, 133, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 123, 123, 123, 123, 123, 123, 123, 123, 0, 0, 0, 0, 20], [22, 0, 123, 123, 123, 123, 123, 123, 123, 123, 0, 0, 0, 0, 20], [22, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 148, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 151, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [0, 0, 1, 2]]);
levelMaps[1].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 94, 94, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 94, 94, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 94, 94, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 94, 94, 0, 0, 0, 20], [22, 0, 0, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 94, 94, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 94, 94, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 94, 94, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 94, 94, 0, 0, 0, 20], [22, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [4, 1, 0]]);
levelMaps[2].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 93, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 40, 40, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 40, 40, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20], [22, 0, 0, 40, 40, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20], [22, 40, 40, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 93, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [0, 0, 2, 2, 2]]);
levelMaps[2].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 94, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 150, 94, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 94, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 148, 94, 94, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 94, 165, 165, 165, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 94, 165, 165, 165, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 94, 165, 165, 165, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 148, 94, 94, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 94, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 150, 94, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 94, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [4, 2, 2, 2]]);
levelMaps[3].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 0, 134, 134, 134, 134, 0, 0, 0, 134, 134, 134, 134, 0, 20], [22, 0, 134, 134, 134, 134, 134, 0, 134, 134, 134, 134, 134, 0, 20], [22, 0, 134, 134, 134, 134, 134, 0, 134, 134, 134, 134, 134, 0, 20], [22, 0, 134, 134, 124, 124, 124, 124, 124, 124, 124, 134, 134, 0, 20], [22, 0, 134, 134, 124, 124, 124, 124, 124, 124, 124, 134, 134, 0, 20], [22, 134, 134, 134, 124, 124, 0, 0, 0, 124, 124, 134, 134, 134, 20], [22, 0, 134, 134, 134, 134, 0, 0, 0, 134, 134, 134, 134, 0, 20], [22, 0, 134, 134, 124, 124, 0, 114, 0, 124, 124, 134, 134, 0, 20], [22, 0, 134, 134, 124, 124, 124, 124, 124, 124, 124, 134, 134, 0, 20], [22, 0, 134, 134, 124, 124, 124, 124, 124, 124, 124, 134, 134, 0, 20], [22, 0, 134, 134, 134, 134, 134, 0, 134, 134, 134, 134, 134, 0, 20], [22, 0, 0, 134, 134, 134, 134, 0, 134, 134, 134, 134, 0, 0, 20], [22, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [0, 0, 3, 2]]);
levelMaps[3].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 41, 41, 41, 41, 41, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 41, 41, 41, 41, 41, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 147, 0, 0, 0, 0, 0, 147, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 95, 95, 95, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 95, 193, 95, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 95, 95, 95, 0, 0, 0, 0, 0, 20], [22, 0, 0, 144, 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [0, 0, 3, 2]]);
levelMaps[4].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 40, 40, 40, 0, 40, 40, 40, 0, 0, 0, 20], [22, 0, 0, 0, 40, 56, 56, 56, 56, 56, 40, 0, 0, 0, 20], [22, 0, 0, 0, 40, 56, 56, 56, 56, 56, 40, 0, 0, 0, 20], [22, 0, 0, 0, 0, 56, 56, 56, 56, 56, 0, 0, 0, 0, 20], [22, 0, 0, 0, 40, 56, 56, 56, 56, 56, 40, 0, 0, 0, 20], [22, 0, 0, 0, 40, 56, 56, 56, 56, 56, 40, 0, 0, 0, 20], [22, 0, 0, 0, 40, 40, 40, 0, 40, 40, 40, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [0, 1, 1, 3]]);
levelMaps[4].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 61, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 11, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 134, 134, 134, 124, 134, 134, 134, 0, 0, 0, 20], [22, 0, 0, 0, 134, 0, 0, 0, 0, 0, 134, 0, 0, 0, 20], [22, 0, 0, 0, 134, 0, 0, 0, 1, 0, 134, 0, 0, 0, 20], [22, 0, 0, 0, 124, 0, 0, 0, 0, 0, 124, 0, 0, 0, 20], [22, 0, 0, 0, 134, 0, 0, 114, 0, 0, 134, 0, 0, 0, 20], [22, 0, 0, 0, 1, 134, 134, 124, 134, 134, 0, 0, 0, 0, 20], [22, 0, 0, 147, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [0, 0, 3, 4]]);
levelMaps[5].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 144, 0, 20], [22, 0, 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 20], [22, 0, 0, 0, 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 65, 68, 68, 68, 65, 72, 68, 68, 68, 65, 0, 20], [22, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 20], [22, 122, 122, 122, 0, 0, 0, 80, 0, 132, 132, 132, 0, 0, 20], [22, 122, 122, 122, 0, 5, 0, 80, 0, 41, 41, 41, 5, 0, 20], [22, 112, 122, 122, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 20], [22, 132, 122, 122, 0, 0, 0, 80, 0, 92, 92, 92, 0, 0, 20], [22, 122, 122, 122, 0, 4, 0, 65, 0, 92, 92, 92, 0, 0, 20], [22, 0, 0, 0, 3, 0, 0, 0, 0, 92, 92, 92, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [1, 0, 2, 3]]);
levelMaps[5].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 92, 92, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 144, 0, 1, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 92, 92, 92, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 20], [22, 0, 0, 92, 92, 92, 1, 0, 3, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 1, 146, 0, 0, 0, 0, 0, 20], [22, 92, 92, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 20], [22, 0, 0, 0, 145, 0, 0, 0, 5, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [4, 0, 1, 2]]);
levelMaps[5].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 40, 40, 40, 0, 40, 40, 40, 0, 0, 0, 20], [22, 0, 0, 0, 40, 56, 56, 56, 56, 56, 40, 0, 0, 0, 20], [22, 0, 0, 0, 40, 56, 56, 56, 56, 56, 40, 0, 0, 0, 20], [22, 0, 0, 0, 0, 56, 56, 56, 56, 56, 0, 0, 0, 0, 20], [22, 0, 0, 0, 40, 56, 56, 56, 56, 56, 40, 0, 0, 0, 20], [22, 0, 0, 0, 40, 56, 56, 56, 56, 56, 40, 0, 0, 0, 20], [22, 0, 0, 0, 40, 40, 40, 0, 40, 40, 40, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [0, 1, 1, 3]]);
levelMaps[5].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 20], [22, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 65, 68, 68, 68, 68, 68, 68, 68, 65, 0, 0, 20], [22, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 20], [22, 0, 0, 80, 0, 124, 124, 124, 124, 124, 0, 80, 0, 3, 20], [22, 0, 0, 80, 0, 124, 145, 0, 124, 124, 0, 84, 0, 0, 20], [22, 0, 0, 80, 0, 124, 124, 0, 124, 124, 0, 80, 0, 0, 20], [22, 0, 0, 80, 0, 124, 124, 0, 146, 124, 0, 80, 0, 0, 20], [22, 0, 0, 80, 0, 124, 124, 124, 124, 124, 0, 80, 0, 0, 20], [22, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 20], [22, 0, 3, 65, 68, 68, 68, 68, 68, 78, 68, 65, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [0, 0, 1, 3]]);
levelMaps[5].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 144, 20], [22, 56, 56, 62, 56, 56, 56, 62, 56, 56, 60, 56, 59, 56, 20], [22, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 20], [22, 56, 56, 62, 45, 48, 48, 48, 48, 48, 47, 56, 56, 56, 20], [22, 56, 56, 62, 51, 42, 42, 42, 42, 42, 49, 61, 56, 56, 20], [22, 56, 56, 56, 51, 42, 42, 42, 42, 42, 49, 56, 56, 56, 20], [22, 56, 58, 56, 51, 42, 42, 42, 42, 42, 49, 56, 56, 56, 20], [22, 56, 56, 62, 51, 42, 42, 42, 42, 42, 49, 56, 56, 56, 20], [22, 56, 56, 62, 51, 42, 42, 42, 42, 42, 49, 56, 56, 56, 20], [22, 56, 56, 62, 46, 50, 50, 50, 50, 50, 44, 56, 56, 56, 20], [22, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 20], [22, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 20], [22, 144, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 57, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [0, 0, 1, 2]]);
levelMaps[5].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 20], [22, 0, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 0, 20], [22, 0, 165, 28, 28, 28, 28, 0, 28, 28, 28, 28, 165, 0, 20], [22, 0, 165, 28, 145, 0, 0, 0, 0, 0, 1, 28, 165, 0, 20], [22, 0, 165, 28, 0, 0, 0, 0, 0, 0, 0, 28, 165, 3, 20], [22, 0, 165, 28, 0, 0, 0, 0, 0, 0, 0, 28, 165, 0, 20], [22, 0, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165, 0, 20], [22, 0, 165, 28, 197, 199, 197, 0, 0, 0, 0, 28, 165, 0, 20], [22, 0, 165, 28, 198, 187, 198, 0, 0, 0, 0, 28, 165, 0, 20], [22, 0, 165, 28, 197, 199, 197, 0, 0, 0, 145, 28, 165, 0, 20], [22, 0, 165, 28, 28, 28, 28, 0, 28, 28, 28, 28, 165, 0, 20], [22, 0, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 0, 20], [22, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [0, 0, 2, 3]]);
levelMaps[5].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 197, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 193, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [2, 1, 1, 3, 2, 2, 1]]);
levelMaps[5].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 149, 92, 0, 0, 0, 0, 0, 92, 148, 0, 0, 20], [22, 0, 0, 92, 92, 0, 0, 0, 0, 0, 92, 92, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 92, 92, 0, 0, 0, 0, 0, 92, 92, 0, 0, 20], [22, 0, 0, 148, 92, 0, 0, 0, 0, 0, 92, 149, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [0, 0, 2, 3]]);
levelMaps[5].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 145, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 65, 68, 68, 71, 68, 68, 68, 68, 68, 72, 68, 68, 65, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 65, 68, 68, 68, 69, 68, 68, 68, 68, 70, 68, 73, 65, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 20], [22, 145, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [0, 0, 4, 2]]);
levelMaps[5].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 40, 40, 40, 40, 40, 40, 0, 40, 40, 40, 40, 40, 40, 20], [22, 40, 40, 40, 40, 40, 40, 0, 40, 40, 40, 40, 40, 40, 20], [22, 40, 40, 40, 40, 40, 40, 0, 40, 40, 40, 40, 40, 40, 20], [22, 40, 40, 40, 146, 0, 0, 0, 0, 0, 147, 40, 40, 40, 20], [22, 40, 40, 40, 0, 0, 0, 0, 0, 0, 0, 40, 40, 40, 20], [22, 40, 40, 40, 0, 0, 0, 0, 0, 0, 0, 40, 40, 40, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 40, 40, 40, 1, 0, 0, 0, 0, 0, 0, 40, 40, 40, 20], [22, 40, 40, 40, 0, 0, 0, 0, 0, 0, 0, 40, 40, 40, 20], [22, 40, 40, 40, 144, 0, 0, 0, 0, 0, 145, 40, 40, 40, 20], [22, 40, 40, 40, 40, 40, 40, 0, 40, 40, 40, 40, 40, 40, 20], [22, 40, 40, 40, 40, 40, 40, 0, 40, 40, 40, 40, 40, 40, 20], [22, 40, 40, 40, 40, 40, 40, 0, 40, 40, 40, 40, 40, 40, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [0, 1, 4]]);
levelMaps[5].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 94, 94, 0, 0, 0, 0, 0, 94, 94, 0, 0, 20], [22, 0, 0, 149, 94, 0, 0, 0, 0, 0, 149, 94, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 166, 166, 0, 0, 0, 0, 0, 166, 166, 0, 0, 20], [22, 0, 0, 94, 166, 166, 0, 0, 0, 166, 166, 94, 0, 0, 20], [22, 0, 0, 94, 94, 166, 0, 0, 0, 166, 94, 94, 0, 0, 20], [22, 0, 0, 145, 94, 94, 1, 1, 1, 94, 94, 145, 0, 0, 20], [22, 199, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 193, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [0, 0, 4, 1]]);
levelMaps[5].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 144, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 41, 0, 0, 0, 94, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 94, 0, 0, 20], [22, 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, 147, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [2, 0, 4, 1]]);
levelMaps[5].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 201, 201, 201, 201, 201, 201, 201, 201, 0, 0, 20], [22, 0, 0, 0, 201, 167, 167, 167, 167, 167, 167, 201, 0, 0, 20], [22, 0, 0, 0, 201, 167, 201, 201, 201, 201, 167, 201, 0, 0, 20], [22, 0, 0, 0, 201, 167, 201, 167, 167, 201, 167, 201, 0, 0, 20], [22, 0, 0, 0, 201, 167, 201, 201, 167, 201, 167, 201, 0, 0, 20], [22, 0, 0, 0, 201, 167, 167, 167, 167, 201, 167, 201, 0, 0, 20], [22, 0, 0, 0, 201, 201, 201, 201, 201, 201, 167, 201, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 200, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 193, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [1, 0, 2, 4]]);
levelMaps[5].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 94, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 11, 1, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 94, 0, 0, 10, 0, 0, 0, 0, 94, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, 94, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 94, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, 3, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 94, 0, 0, 94, 0, 0, 0, 0, 94, 0, 0, 20], [22, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [0, 0, 2, 4, 2, 3, 4]]);
levelMaps[5].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 145, 0, 94, 94, 94, 61, 0, 61, 94, 94, 94, 0, 145, 20], [22, 0, 0, 94, 94, 94, 61, 0, 57, 94, 94, 94, 0, 0, 20], [22, 94, 94, 94, 94, 94, 61, 0, 61, 94, 94, 94, 94, 94, 20], [22, 94, 94, 94, 94, 94, 61, 0, 61, 94, 94, 94, 94, 94, 20], [22, 94, 94, 94, 94, 61, 61, 0, 61, 61, 94, 94, 94, 94, 20], [22, 61, 59, 61, 61, 58, 0, 0, 0, 61, 62, 61, 61, 62, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 20], [22, 61, 61, 61, 61, 61, 0, 0, 0, 61, 62, 61, 59, 61, 20], [22, 94, 94, 94, 94, 61, 61, 0, 61, 61, 94, 94, 94, 94, 20], [22, 94, 94, 94, 94, 94, 61, 0, 64, 94, 94, 94, 94, 94, 20], [22, 94, 94, 94, 94, 94, 61, 0, 61, 94, 94, 94, 94, 94, 20], [22, 0, 0, 94, 94, 94, 61, 0, 61, 94, 94, 94, 0, 0, 20], [22, 145, 0, 94, 94, 94, 61, 0, 61, 94, 94, 94, 0, 145, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [0, 0, 2, 4, 1]]);
levelMaps[5].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 193, 10, 0, 0, 0, 0, 0, 20], [22, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [2, 0, 4]]);
levelMaps[5].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 41, 41, 41, 41, 41, 0, 41, 41, 41, 41, 41, 0, 20], [22, 0, 41, 41, 41, 41, 41, 0, 41, 41, 41, 41, 41, 0, 20], [22, 0, 41, 41, 41, 41, 41, 0, 41, 41, 41, 41, 41, 0, 20], [22, 0, 41, 41, 41, 41, 41, 0, 41, 41, 41, 41, 41, 0, 20], [22, 0, 41, 41, 41, 41, 0, 0, 0, 41, 41, 41, 41, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 41, 41, 41, 41, 0, 0, 0, 41, 41, 41, 41, 0, 20], [22, 0, 41, 41, 41, 41, 41, 0, 41, 41, 41, 41, 41, 0, 20], [22, 0, 41, 41, 41, 41, 41, 0, 41, 41, 41, 41, 41, 0, 20], [22, 0, 41, 41, 41, 41, 41, 0, 41, 41, 41, 41, 41, 0, 20], [22, 0, 41, 41, 41, 41, 41, 0, 41, 41, 41, 41, 41, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [0, 0, 2, 2]]);
levelMaps[5].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 115, 0, 0, 0, 0, 0, 0, 133, 133, 133, 133, 133, 114, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 133, 133, 133, 133, 133, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 133, 133, 133, 133, 133, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 133, 133, 133, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 133, 133, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 20], [22, 123, 123, 123, 123, 123, 0, 0, 0, 0, 0, 134, 134, 134, 20], [22, 123, 123, 123, 123, 123, 0, 0, 0, 0, 134, 134, 134, 134, 20], [22, 123, 123, 123, 123, 123, 0, 0, 0, 134, 134, 134, 134, 134, 20], [22, 123, 113, 123, 123, 123, 0, 0, 0, 134, 134, 134, 134, 134, 20], [22, 135, 133, 135, 135, 135, 0, 0, 134, 134, 134, 134, 134, 193, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [0, 0, 0]]);
levelMaps[5].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [0, 0, 1, 2, 3, 4]]);
levelMaps[5].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 145, 122, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 122, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 201, 201, 201, 167, 201, 201, 201, 0, 0, 0, 20], [22, 0, 0, 0, 201, 0, 167, 0, 167, 0, 201, 0, 0, 0, 20], [22, 0, 0, 0, 201, 167, 201, 167, 201, 167, 201, 0, 0, 0, 20], [22, 0, 0, 0, 167, 4, 167, 7, 167, 1, 167, 0, 0, 0, 20], [22, 0, 0, 0, 201, 167, 201, 167, 201, 167, 201, 0, 0, 0, 20], [22, 0, 0, 0, 201, 0, 167, 0, 167, 1, 201, 0, 0, 0, 20], [22, 0, 0, 0, 201, 201, 201, 167, 201, 201, 201, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 20], [22, 199, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 122, 20], [22, 193, 198, 0, 0, 0, 0, 0, 0, 0, 0, 94, 122, 145, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [3, 0, 1]]);
levelMaps[5].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 94, 94, 0, 94, 94, 0, 94, 94, 0, 145, 94, 0, 20], [22, 0, 146, 94, 0, 0, 0, 0, 0, 94, 94, 94, 94, 0, 20], [22, 0, 0, 94, 94, 0, 94, 94, 94, 94, 94, 0, 0, 0, 20], [22, 0, 94, 94, 94, 0, 0, 0, 0, 0, 0, 0, 94, 94, 20], [22, 0, 94, 0, 94, 0, 0, 0, 0, 0, 94, 0, 94, 0, 20], [22, 0, 0, 0, 94, 0, 0, 0, 0, 0, 94, 0, 0, 0, 20], [22, 0, 94, 0, 94, 0, 0, 0, 0, 0, 94, 0, 94, 0, 20], [22, 94, 94, 0, 0, 10, 0, 0, 0, 0, 94, 94, 94, 1, 20], [22, 0, 0, 0, 94, 94, 94, 94, 94, 0, 94, 94, 0, 0, 20], [22, 0, 94, 94, 94, 94, 0, 0, 0, 0, 0, 94, 144, 0, 20], [22, 0, 94, 147, 0, 94, 94, 0, 94, 94, 0, 94, 94, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [0, 0, 2, 2, 4]]);
var i = 0;
while (i < 8) {
var tm = [[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 1, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [0, 0]];
var mons = Math.ceil(Math.random() * 6);
var j = 0;
while (j < mons) {
tm[tm.length - 1].push(Math.floor(Math.random() * 5));
j++;
}
levelMaps[5].push(tm);
i++;
}
exitMaps = [];
var i = 0;
while (i < 7) {
exitMaps[i] = [];
i++;
}
exitMaps[4].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 207, 0, 0, 20], [22, 0, 0, 0, 0, 165, 165, 165, 165, 165, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 165, 0, 0, 145, 165, 0, 0, 0, 0, 20], [22, 0, 1, 0, 0, 165, 0, 0, 0, 165, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 165, 0, 0, 0, 165, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 165, 145, 0, 0, 165, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 165, 165, 165, 165, 165, 0, 0, 0, 0, 20], [22, 199, 199, 199, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 153, 154, 155, 198, 0, 5, 0, 0, 0, 1, 0, 0, 0, 20], [22, 156, 217, 157, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 158, 159, 160, 198, 0, 0, 0, 0, 0, 0, 6, 0, 0, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [1, 1, 1]]);
exitMaps[4].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 207, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 93, 93, 93, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 20], [22, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 146, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 199, 199, 199, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 153, 154, 155, 198, 93, 93, 93, 0, 0, 1, 0, 0, 0, 20], [22, 156, 217, 157, 198, 0, 0, 93, 0, 0, 0, 0, 0, 0, 20], [22, 158, 159, 160, 198, 147, 0, 93, 0, 0, 0, 6, 0, 0, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [0, 1, 1]]);
exitMaps[2].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 93, 92, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 93, 92, 0, 0, 0, 0, 0, 0, 20], [22, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 207, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 93, 92, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 93, 92, 0, 0, 0, 0, 0, 0, 20], [22, 199, 199, 199, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 153, 154, 155, 198, 0, 5, 0, 0, 0, 1, 0, 0, 0, 20], [22, 156, 217, 157, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 158, 159, 160, 198, 0, 0, 0, 0, 0, 0, 6, 0, 145, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [4, 1, 2]]);
exitMaps[2].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 197, 199, 199, 199, 197, 148, 0, 0, 0, 20], [22, 0, 1, 0, 0, 198, 153, 154, 155, 198, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 198, 156, 217, 157, 198, 0, 0, 207, 0, 20], [22, 0, 0, 0, 0, 198, 158, 159, 160, 198, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 197, 199, 199, 199, 197, 148, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 149, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [3, 1, 4, 2]]);
exitMaps[0].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 4, 0, 0, 0, 208, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 92, 92, 0, 0, 0, 92, 92, 0, 0, 0, 20], [22, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 20], [22, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 20], [22, 199, 199, 199, 197, 42, 42, 42, 42, 42, 42, 42, 42, 42, 20], [22, 153, 154, 155, 198, 62, 60, 62, 62, 60, 60, 60, 56, 56, 20], [22, 156, 217, 157, 198, 56, 56, 56, 56, 56, 61, 57, 56, 56, 20], [22, 158, 159, 160, 198, 62, 56, 56, 58, 56, 57, 6, 57, 145, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [2, 1, 1]]);
exitMaps[0].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 144, 0, 94, 0, 0, 0, 112, 0, 0, 0, 94, 0, 145, 20], [22, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 20], [22, 94, 94, 4, 0, 0, 0, 208, 0, 0, 0, 0, 94, 94, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 1, 0, 0, 94, 94, 94, 94, 94, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 132, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 132, 132, 132, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 132, 132, 132, 132, 132, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 153, 154, 155, 132, 132, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 156, 217, 157, 132, 132, 132, 0, 0, 0, 0, 0, 0, 0, 20], [22, 158, 159, 160, 132, 132, 132, 0, 0, 0, 0, 0, 0, 0, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [4, 1, 1]]);
exitMaps[1].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 145, 122, 56, 56, 56, 56, 56, 56, 56, 56, 56, 122, 144, 20], [22, 122, 122, 56, 56, 56, 56, 56, 56, 56, 56, 56, 122, 122, 20], [22, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 20], [22, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 20], [22, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 20], [22, 56, 6, 0, 1, 56, 56, 56, 56, 56, 56, 56, 56, 56, 20], [22, 56, 0, 207, 0, 56, 112, 56, 56, 56, 56, 56, 56, 56, 20], [22, 56, 0, 6, 3, 56, 56, 56, 56, 56, 56, 56, 56, 56, 20], [22, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 20], [22, 56, 56, 56, 56, 56, 56, 56, 56, 56, 197, 199, 199, 199, 20], [22, 56, 56, 56, 56, 56, 56, 56, 56, 56, 198, 153, 154, 155, 20], [22, 122, 122, 56, 56, 56, 56, 56, 56, 56, 198, 156, 217, 157, 20], [22, 145, 122, 56, 56, 56, 56, 56, 56, 56, 198, 158, 159, 160, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [2, 1, 1]]);
exitMaps[1].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 145, 0, 0, 0, 0, 40, 40, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 40, 40, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 40, 40, 0, 0, 0, 10, 0, 0, 20], [22, 0, 0, 0, 0, 0, 40, 40, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 40, 40, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 40, 40, 0, 0, 0, 0, 0, 0, 20], [22, 145, 0, 207, 0, 0, 201, 201, 11, 0, 0, 0, 0, 0, 20], [22, 0, 0, 7, 3, 0, 40, 40, 11, 0, 0, 0, 4, 0, 20], [22, 0, 0, 0, 0, 0, 40, 40, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 40, 40, 0, 0, 197, 199, 199, 199, 20], [22, 0, 0, 0, 0, 0, 40, 40, 0, 0, 198, 153, 154, 155, 20], [22, 0, 0, 0, 0, 0, 40, 40, 0, 0, 198, 156, 217, 157, 20], [22, 145, 0, 0, 0, 0, 40, 40, 0, 0, 198, 158, 159, 160, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [2, 1, 1, 2]]);
exitMaps[3].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 2, 0, 20], [22, 0, 92, 92, 0, 0, 0, 0, 0, 92, 92, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 20], [22, 0, 0, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 208, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 1, 0, 3, 0, 0, 0, 197, 199, 199, 199, 20], [22, 0, 0, 92, 92, 0, 0, 92, 92, 0, 198, 153, 154, 155, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 156, 217, 157, 20], [22, 145, 0, 0, 0, 0, 0, 0, 0, 145, 198, 158, 159, 160, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [3, 1, 1]]);
exitMaps[3].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 20], [22, 0, 0, 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 208, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 92, 92, 92, 92, 92, 92, 92, 92, 92, 197, 199, 199, 199, 20], [22, 92, 92, 92, 92, 92, 92, 92, 92, 92, 198, 153, 154, 155, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 156, 217, 157, 20], [22, 145, 0, 0, 0, 0, 0, 0, 0, 147, 198, 158, 159, 160, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [2, 1, 1, 4]]);
exitMaps[5].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 4, 0, 0, 95, 40, 95, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 95, 95, 40, 95, 95, 7, 0, 0, 0, 20], [22, 0, 0, 0, 95, 95, 95, 40, 95, 95, 95, 0, 0, 0, 20], [22, 0, 1, 95, 95, 95, 153, 154, 155, 95, 95, 95, 0, 0, 20], [22, 0, 0, 40, 40, 40, 156, 217, 157, 40, 40, 40, 0, 0, 20], [22, 0, 0, 95, 95, 95, 158, 159, 160, 95, 95, 95, 0, 0, 20], [22, 0, 0, 0, 95, 95, 95, 40, 95, 95, 95, 0, 0, 0, 20], [22, 0, 0, 0, 2, 95, 95, 40, 95, 95, 1, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 95, 40, 95, 0, 1, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 150, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [1, 1, 1, 4, 2]]);
exitMaps[5].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 134, 134, 134, 134, 134, 134, 134, 0, 0, 0, 20], [22, 0, 0, 0, 134, 134, 134, 134, 134, 134, 134, 0, 0, 0, 20], [22, 0, 0, 0, 134, 134, 153, 154, 155, 134, 134, 0, 0, 0, 20], [22, 0, 0, 0, 134, 134, 156, 217, 157, 134, 134, 0, 0, 0, 20], [22, 0, 0, 0, 134, 134, 158, 159, 160, 134, 134, 0, 0, 0, 20], [22, 0, 0, 0, 134, 134, 134, 134, 134, 134, 134, 0, 0, 0, 20], [22, 0, 0, 0, 134, 134, 134, 134, 134, 134, 134, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 0, 114, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [1, 1, 1, 4, 2]]);
exitMaps[6].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 20], [22, 0, 146, 93, 0, 0, 0, 0, 0, 0, 0, 93, 147, 0, 20], [22, 0, 93, 4, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 65, 68, 68, 69, 65, 0, 0, 0, 0, 20], [22, 0, 1, 0, 0, 80, 153, 154, 155, 80, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 81, 156, 217, 157, 80, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 80, 158, 159, 160, 84, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 65, 73, 68, 68, 65, 0, 0, 0, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 20], [22, 0, 145, 93, 0, 0, 0, 0, 0, 0, 0, 93, 144, 0, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [1, 1, 4, 2]]);
exitMaps[6].push([[24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 25], [22, 112, 0, 0, 0, 0, 0, 0, 0, 0, 122, 122, 122, 122, 20], [22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 146, 122, 122, 20], [22, 0, 10, 0, 0, 0, 0, 0, 0, 0, 122, 122, 145, 122, 20], [22, 0, 0, 0, 0, 132, 132, 132, 132, 132, 122, 122, 122, 122, 20], [22, 0, 0, 0, 132, 132, 132, 132, 132, 132, 132, 0, 0, 0, 20], [22, 0, 1, 0, 132, 132, 153, 154, 155, 132, 132, 0, 0, 0, 20], [22, 0, 0, 0, 132, 132, 156, 217, 157, 132, 132, 0, 0, 0, 20], [22, 0, 0, 0, 132, 132, 158, 159, 160, 132, 132, 0, 0, 0, 20], [22, 0, 0, 0, 132, 132, 132, 132, 132, 132, 132, 0, 0, 0, 20], [22, 122, 122, 122, 122, 132, 132, 132, 132, 132, 0, 0, 0, 0, 20], [22, 122, 145, 122, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 122, 122, 144, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20], [22, 122, 122, 122, 122, 0, 0, 0, 0, 0, 7, 0, 0, 0, 20], [26, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 27], [4, 1, 3, 2]]);
Sprite.prototype.getAngle = function (x, y) {
return(Math.atan2(y - this.y, x - this.x) / PiRads);
};
Sprite.prototype.getTile = function () {
return(currentRoom.tiles[Math.floor(this.y / tileH)][Math.floor(this.x / tileW)]);
};
Sprite.prototype.hurtMe = function (damage) {
var _local3 = 0;
while ((this.armour > 0) && (damage > 0)) {
this.armour = this.armour - 2;
damage = damage - 2;
_local3++;
}
damage = damage + _local3;
this.hp = this.hp - damage;
if (this.hp <= 0) {
this.hittable = false;
this.mc.gotoAndPlay("destroy");
this.mc.swapDepths(deadDepth + (deadD++));
if (deadD > 199) {
deadD = 0;
}
if (this != p) {
if ((--currentRoom.possibleEnemies) == 0) {
currentRoom.allKilledFunc();
}
delete currentRoom.currentEnemies[this.num];
}
} else {
this.mc.gotoAndPlay("hurt");
}
p.doHealth();
p.doArmour();
};
Sprite.prototype.moveChar = function (dirx, diry) {
var _local12 = null;
this.dirx = dirx;
this.diry = diry;
var _local6 = this.getTile();
var _local5 = _local6.speedFactor * this.speed;
if (diry != 0) {
this.getCorners(this.x, this.y + (_local5 * diry));
var _local3 = 0;
if (diry == -1) {
if (this.upleft and this.upright) {
_local3 = _local5 * diry;
this.y = this.y + _local3;
} else {
this.y = (this.yTile * tileH) + this.rad;
}
}
if (diry == 1) {
if (this.downleft and this.downright) {
_local3 = _local5 * diry;
this.y = this.y + _local3;
} else {
this.y = ((this.yTile + 1) * tileH) - this.rad;
}
}
}
if (dirx != 0) {
this.getCorners(this.x + (_local5 * dirx), this.y);
var _local4 = 0;
if (dirx == -1) {
if (this.downleft and this.upleft) {
_local4 = _local5 * dirx;
this.x = this.x + _local4;
} else {
this.x = (this.xTile * tileW) + this.rad;
}
}
if (dirx == 1) {
if (this.upright and this.downright) {
_local4 = _local5 * dirx;
this.x = this.x + _local4;
} else {
this.x = ((this.xTile + 1) * tileW) - this.rad;
}
}
}
for (var _local9 in currentRoom.currentEnemies) {
var _local2 = currentRoom.currentEnemies[_local9];
if (_local2 != this) {
var _local11 = this.x - _local2.x;
var _local10 = this.y - _local2.y;
if (Math.sqrt((_local11 * _local11) + (_local10 * _local10)) < ((_local2.rad + this.rad) - 1)) {
if ((_local4 > 0) && (this.x < _local2.x)) {
this.x = this.x - _local4;
} else if ((_local4 < 0) && (this.x > _local2.x)) {
this.x = this.x - _local4;
}
if ((_local3 > 0) && (this.y < _local2.y)) {
this.y = this.y - _local3;
} else if ((_local3 < 0) && (this.y > _local2.y)) {
this.y = this.y - _local3;
}
}
}
}
if (this == p) {
if (_local6 != this.currentTile) {
this.currentTile = _local6;
_local6.walkFunction(this);
}
} else {
if (_local6 != this.currentTile) {
this.currentTile = _local6;
}
var _local11 = this.x - p.x;
var _local10 = this.y - p.y;
if (Math.sqrt((_local11 * _local11) + (_local10 * _local10)) < ((p.rad + this.rad) - 1)) {
this.mc.mc.gotoAndPlay("hittingPlayer");
p.hurtMe(this.hitDamage);
this.free = false;
_local12 = this.getAngle(p.x, p.y) + 90;
if ((_local4 > 0) && (this.x < p.x)) {
this.x = this.x - _local4;
} else if ((_local4 < 0) && (this.x > p.x)) {
this.x = this.x - _local4;
}
if ((_local3 > 0) && (this.y < p.y)) {
this.y = this.y - _local3;
} else if ((_local3 < 0) && (this.y > p.y)) {
this.y = this.y - _local3;
}
} else if ((Math.abs(this.mc._x - this.x) + Math.abs(this.mc._y - this.y)) > 0.2) {
_local12 = this.getAngle(this.mc._x, this.mc._y) - 90;
this.mc.mc.walk.play();
this.moving = true;
} else {
this.mc.mc.walk.stop();
this.moving = false;
}
}
this.mc._x = this.x;
this.mc._y = this.y;
this.xTile = Math.floor(this.mc._x / tileW);
this.yTile = Math.floor(this.mc._y / tileH);
return(_local12);
};
Shot.extend(Sprite);
Shot.prototype.doSplashDamge = function () {
for (var _local5 in currentRoom.currentEnemies) {
var _local2 = currentRoom.currentEnemies[_local5];
var _local7 = this.x - _local2.x;
var _local6 = this.y - _local2.y;
if (Math.sqrt((_local7 * _local7) + (_local6 * _local6)) < (_local2.rad + this.splashRadius)) {
_local2.hurtMe(this.power);
}
}
var _local7 = this.x - p.x;
var _local6 = this.y - p.y;
if (Math.sqrt((_local7 * _local7) + (_local6 * _local6)) < (p.rad + this.power)) {
p.hurtMe(this.power);
}
var _local3 = this.getTile();
var _local4 = currentRoom.tiles;
_local3.shootFunction(this.power);
_local4[_local3.y - 1][_local3.x].shootFunction(this.power);
_local4[_local3.y][_local3.x - 1].shootFunction(this.power);
_local4[_local3.y][_local3.x + 1].shootFunction(this.power);
_local4[_local3.y][_local3.x - 1].shootFunction(this.power);
_local4[_local3.y][_local3.x + 1].shootFunction(this.power);
_local4[_local3.y + 1][_local3.x - 1].shootFunction(this.power);
_local4[_local3.y + 1][_local3.x].shootFunction(this.power);
_local4[_local3.y + 1][_local3.x + 1].shootFunction(this.power);
};
Enemy.prototype.doShot = function (direction, i) {
this.mc.mc.gotoAndPlay("shooting");
if (direction == "atPlayer") {
var _local2 = this.getAngle(p.x, p.y);
} else {
var _local2 = direction;
}
var _local3 = new Shot(this.shotType[i], this.x, this.y, this.shotPower[i], _local2, false);
};
Player.prototype.doShot = function () {
var _local9 = shotBehaviours[this.shotType];
var _local3 = _local9.levels[this.weapons[this.shotType]];
var _local5 = getAngle(this.x, this.y, _xmouse - roomX, _ymouse - roomY) - 90;
var _local7 = this.xDispl * Math.cos((_local5 - 180) * PiRads);
var _local6 = this.yDispl * Math.sin((_local5 - 180) * PiRads);
_local5 = _local5 + (2 - (Math.random() * 4));
var _local2 = 0;
while (_local2 < _local3.length) {
var _local4 = new Shot(this.shotType, this.x + _local7, this.y + _local6, _local3[_local2].power, (_local3[_local2].angle + _local5) + 90, true);
_local2++;
}
if (sfxOn) {
var _local8 = new Sound();
_local8.attachSound(_local9.soundN);
_local8.start();
}
if (this.shotType > 0) {
this.ammo[this.shotType]--;
while ((this.ammo[this.shotType] <= 0) && (this.shotType > 0)) {
this.shotType--;
}
this.changeAmmo();
}
this.mc.mc.gotoAndPlay("shooting" + this.shotType);
};
Player.prototype.changeAmmo = function () {
if (this.shotType == 0) {
gui.weaponButton0.light.gotoAndStop("inUse");
gui.ammo = "999";
} else {
gui.weaponButton0.light.gotoAndStop("available");
}
gui.weaponButton0.gotoAndStop(1);
gui.weaponButton0.onRelease = chooseWeapon;
var _local2 = 1;
while (_local2 < 5) {
gui["weaponButton" + _local2].gotoAndStop(1);
if (this.ammo[_local2] > 0) {
if (this.shotType == _local2) {
gui["weaponButton" + _local2].light.gotoAndStop("inUse");
gui.ammo = this.ammo[_local2];
} else {
gui["weaponButton" + _local2].light.gotoAndStop("available");
}
gui["weaponButton" + _local2].onRelease = chooseWeapon;
} else {
gui["weaponButton" + _local2].light.gotoAndStop("unavailable");
delete gui["weaponButton" + _local2].onRelease;
}
_local2++;
}
};
var i = 0;
while (i < 5) {
gui["weaponButton" + i].num = i;
i++;
}
shotBehaviours = [];
shotBehaviours[0] = new defShotObj();
shotBehaviours[1] = new sqrShotObj();
shotBehaviours[2] = new plasmaObj();
shotBehaviours[3] = new missileObj();
shotBehaviours[4] = new mineObj();
Player.extend(Sprite);
Player.prototype.addMC = function (entryPoint) {
this.mc = theScreen.attachMovie("_lchar", "char", playerDepth);
if ((entryPoint.num == 4) || (roomsDone == 1)) {
var _local4 = currentRoom.map[currentRoom.map.length - 1][0];
this.xTile = telePortPos[_local4].x;
this.yTile = telePortPos[_local4].y - 1;
var _local3 = theScreen.attachMovie("_lteleportInStuff", "ex" + exNum, explosionsDepth + exNum);
_local3._x = (this.xTile * tileW) + (tileW / 2);
_local3._y = (this.yTile * tileW) + (tileW / 2);
if ((++exNum) > 50) {
exNum = 0;
}
theScreen.countDown = 5;
theScreen.onEnterFrame = function () {
if ((this.countDown--) == 0) {
delete this.countDown;
currentRoom.startLevel();
}
};
} else {
this.xTile = startX0[entryPoint.num];
this.yTile = startY0[entryPoint.num];
this.sDir = entryPoint.num;
theScreen.countDown = 10;
theScreen.yDest = (startY1[entryPoint.num] * tileH) + (tileH / 2);
theScreen.xDest = (startX1[entryPoint.num] * tileW) + (tileW / 2);
theScreen.onEnterFrame = function () {
if ((this.countDown--) <= 0) {
delete this.countDown;
currentRoom.startLevel();
} else {
switch (p.sDir) {
case 0 :
if (p.y > this.yDest) {
p.moveChar(0, -1);
p.mc._rotation = 180;
}
break;
case 1 :
if (p.x > this.xDest) {
p.moveChar(-1, 0);
p.mc._rotation = 90;
}
break;
case 2 :
if (p.x < this.xDest) {
p.moveChar(1, 0);
p.mc._rotation = -90;
}
break;
case 3 :
if (p.y >= this.yDest) {
break;
}
p.moveChar(0, 1);
p.mc._rotation = 0;
}
}
};
}
this.x = (this.xTile * tileW) + (tileW / 2);
this.y = (this.yTile * tileH) + (tileH / 2);
this.currentTile = this.getTile();
this.mc._x = this.x;
this.mc._y = this.y;
this.mc.myObject = this;
this.hittable = true;
this.mc.gotoAndStop(this.frame);
this.changeAmmo();
this.doArmour();
this.doHealth();
};
Player.prototype.hurtMe = function (damage) {
if (sfxOn) {
var _local4 = new Sound();
_local4.attachSound("_lhitSound0");
_local4.start();
}
var _local3 = 0;
while ((this.armour > 0) && (damage > 0)) {
this.armour = this.armour - 2;
damage = damage - 2;
_local3++;
}
if (this.armour < 0) {
this.armour = 0;
}
damage = damage + _local3;
this.hp = this.hp - damage;
if (this.hp <= 0) {
this.hp = 0;
this.hittable = false;
this.mc.gotoAndPlay("destroy");
this.mc.swapDepths(deadDepth + (deadD++));
if (deadD > 199) {
deadD = 0;
}
gameOver();
} else {
this.mc.gotoAndPlay("hurt");
}
this.doHealth();
this.doArmour();
};
Player.prototype.doHealth = function () {
if (this.hp > 0) {
gui.health.gotoAndStop(100 - Math.floor((99 / this.maxhp) * this.hp));
} else {
gui.health.gotoAndStop(100);
}
};
Player.prototype.doArmour = function () {
if (this.armour > 0) {
gui.armour.gotoAndStop(100 - Math.floor((99 / this.maxArmour) * this.armour));
} else {
gui.armour.gotoAndStop(100);
}
};
Player.prototype.getCorners = function (x, y) {
downY = Math.floor(((y + this.rad) - 1) / tileH);
upY = Math.floor((y - this.rad) / tileH);
leftX = Math.floor((x - this.rad) / tileW);
rightX = Math.floor(((x + this.rad) - 1) / tileW);
this.upleft = currentRoom.tiles[upY][leftX].walkable;
this.downleft = currentRoom.tiles[downY][leftX].walkable;
this.upright = currentRoom.tiles[upY][rightX].walkable;
this.downright = currentRoom.tiles[downY][rightX].walkable;
};
Room.prototype.makeRoom = function (entryPoint) {
theScreen = _root.createEmptyMovieClip("screen", screenDepth);
theScreen._x = roomX;
theScreen._y = roomY;
theScreen.onPress = playerShoot;
count = 0;
myListener.lastHit = 0;
p.lastShot = 0;
n = 0;
exNum = 0;
var _local10 = this.map;
this.condition = _local10[_local10.length - 1][1];
this.tiles = [];
this.bullets = [];
this.mines = [];
this.efTiles = [];
this.doorTiles = [];
this.entryTiles = [];
this.switchT = [];
this.ccT = [];
this.barrierA = [];
this.possibleEnemies = 0;
this.allKilledFunc = null;
this.spawnersMade = 0;
this.laserFencesMade = 0;
this.destroyablesMade = 0;
this.laserFences = [];
tileD = 0;
enemyD = 0;
deadD = 0;
minesD = 0;
var _local3 = [];
if ((entryPoint.num == 4) || (roomsDone == 1)) {
var _local19 = _local10[_local10.length - 1][0];
var _local13 = telePortPos[_local19].x;
var _local14 = telePortPos[_local19].y - 1;
} else {
var _local13 = startX1[entryPoint.num];
var _local14 = startY1[entryPoint.num];
}
var _local16 = 0;
while (_local16 < mapHeight) {
this.tiles[_local16] = [];
var _local4 = 0;
while (_local4 < mapWidth) {
var _local8 = _local10[_local16][_local4];
this.tiles[_local16][_local4] = new Tile(_local8, _local16, _local4);
if (this.tiles[_local16][_local4].freeTile) {
if ((Math.abs(_local13 - _local4) + Math.abs(_local14 - _local16)) > 5) {
_local3.push(this.tiles[_local16][_local4]);
}
}
_local4++;
}
_local16++;
}
_local16 = 0;
while (_local16 < 4) {
if (this.doors[_local16] != null) {
var _local4 = 0;
while (_local4 < doorPos[_local16].length) {
var _local17 = this.tiles[doorPos[_local16][_local4].y][doorPos[_local16][_local4].x];
_local17.changeTileTo(161 + _local16);
_local17.num = _local16;
_local17.onTile = tileDesc[161 + _local16].onTile;
_local17.offTile = tileDesc[161 + _local16].offTile;
this.doorTiles.push(_local17);
_local4++;
}
}
_local16++;
}
switch (entryPoint.num) {
case 0 :
var _local12 = 3;
break;
case 1 :
_local12 = 2;
break;
case 2 :
_local12 = 1;
break;
case 3 :
_local12 = 0;
break;
case 4 :
_local12 = 4;
}
if (_local12 < 4) {
var _local4 = 0;
while (_local4 < doorPos[_local12].length) {
this.entryTiles.push(this.tiles[doorPos[_local12][_local4].y][doorPos[_local12][_local4].x]);
_local4++;
}
} else {
var _local19 = _local10[_local10.length - 1][0];
this.entryTiles.push(this.tiles[telePortPos[_local19].y][telePortPos[_local19].x]);
this.entryTiles.push(this.tiles[telePortPos[_local19].y - 1][telePortPos[_local19].x]);
}
if (this.doors[4] != null) {
var _local19 = _local10[_local10.length - 1][0];
var _local17 = this.tiles[telePortPos[_local19].y][telePortPos[_local19].x];
_local17.changeTileTo(175);
_local17.onTile = tileDesc[175].onTile;
_local17.offTile = tileDesc[175].offTile;
_local17.num = 4;
this.doorTiles.push(_local17);
_local19 = _local10[_local10.length - 1][0];
_local17 = this.tiles[telePortPos[_local19].y - 1][telePortPos[_local19].x];
_local17.changeTileTo(176);
_local17.onTile = tileDesc[176].onTile;
_local17.offTile = tileDesc[176].offTile;
this.doorTiles.push(_local17);
}
var _local22 = _local10[_local10.length];
this.currentEnemies = [];
var _local15 = _local10[_local10.length - 1];
var _local5 = 0;
_local16 = 2;
while (_local16 < _local15.length) {
var _local9 = enemiesDef[_local15[_local16]];
var _local4 = 0;
while (_local4 < _local9.length) {
if (_local5 < maxSMobs) {
var _local6 = Math.floor(Math.random() * _local3.length);
while (_local3[_local6] == "used") {
_local6 = Math.floor(Math.random() * _local3.length);
}
if (!this.enemiesKilled[_local5]) {
var _local11 = new _local9[_local4](enemyD++, _local3[_local6].x, _local3[_local6].y);
_local11.rNum = _local5;
_local3[_local6] = "used";
}
}
_local5++;
_local4++;
}
_local16++;
}
var _local21 = [];
for (_local16 in this.spawnedEnemies) {
var _local6 = Math.floor(Math.random() * _local3.length);
while (_local3[_local6] == "used") {
_local6 = Math.floor(Math.random() * _local3.length);
}
var _local11 = new this.spawnedEnemies[_local16](enemyD++, _local3[_local6].x, _local3[_local6].y);
_local11.isSpawned = true;
this.newSpawnedEnemies[_local11.num] = this.spawnedEnemies[_local16];
}
this.spawnedEnemies = _local21;
_local16 = 0;
while (_local16 < mapHeight) {
var _local4 = 0;
while (_local4 < mapWidth) {
var _local7 = this.tiles[_local16][_local4];
if (_local7.initFunc != null) {
_local7.initFunc();
}
_local4++;
}
_local16++;
}
for (_local16 in this.laserFences) {
if (this.laserFencesDestroyed[this.laserFences[_local16].lfNum]) {
this.laserFences[_local16].deactivateLF();
}
}
if (this.spawnPU) {
if (this.sUP == undefined) {
this.sUP = Math.floor(Math.random() * _local3.length);
}
var _local20 = new Powerup(_local3[this.sUP].x, _local3[this.sUP].y, this.powerUpS);
_local20.deSpawned = true;
}
p.addMC(entryPoint);
};
Room.prototype.startLevel = function () {
gui.options.onRelease = pauseGame;
if (currentRoom.possibleEnemies > 0) {
if ((this.condition > 0) && (!this.done)) {
switch (this.condition) {
case 1 :
if ((level > 1) || (this.isExit)) {
lockDoors();
} else {
lockEntryDoor();
}
this.allKilledFunc = openDoors;
this.colourUnlock = false;
break;
case 2 :
if ((level > 1) || (this.isExit)) {
lockDoors();
} else {
lockEntryDoor();
this.allKilledFunc = openEntryDoor;
}
this.colourUnlock = true;
}
} else {
this.colourUnlock = false;
this.allKilledFunc = openEntryDoor;
lockEntryDoor();
}
} else {
canPause = true;
theScreen.onEnterFrame = detectKeys;
this.colourUnlock = false;
}
};
mapBack._visible = false;
mapBack.onRelease = removeMap;
sfxOn = true;
musicOn = true;
setMusicVolume(50);
buildSupplyBase();
buildSpecialBase();
bosses = [Boss0, Boss1];
Tile.prototype.deactivateLF = function () {
this.destroyed = true;
for (var _local2 in this.fenceTiles) {
if ((--this.fenceTiles[_local2].generators) == 0) {
this.fenceTiles[_local2].destroyFunction();
}
}
this.mc.gotoAndStop(this.destroyedTile + 1);
this.shootFunction = null;
};
Tile.prototype.changeTileTo = function (tNum) {
delete currentRoom.efTiles[this.id];
this.tType = tNum;
var _local2 = tileDesc[this.tType];
this.walkable = _local2.walkable;
this.shootThrough = _local2.shootThrough;
this.walkFunction = _local2.walkFunction;
this.damage = _local2.damage;
this.shootFunction = _local2.shootFunction;
this.hp = _local2.hp;
this.efFunction = _local2.efFunction;
this.speedFactor = _local2.speedFactor;
this.efFunction = _local2.efFunction;
this.destroyedTile = _local2.destroyedTile;
if (this.efFunction != null) {
currentRoom.efTiles[this.id] = this;
}
this.mc.gotoAndStop(this.tType + 1);
};
Tile.prototype.makeExplosion = function () {
var _local3 = theScreen.attachMovie("_lexplosion", "ex" + exNum, explosionsDepth + exNum);
_local3._x = (this.x * tileW) + (tileW / 2);
_local3._y = (this.y * tileW) + (tileW / 2);
if ((++exNum) > 50) {
exNum = 0;
}
if (sfxOn) {
var _local2 = new Sound();
_local2.attachSound("_lexplosion0");
_local2.start();
}
};
Tile.prototype.finishTeleport = function () {
theScreen.removeMovieClip();
var _local4 = currentRoom.doors[4];
if (_local4.dest.isTeleporter) {
currentRoom = _local4.dest.myRoom;
row = currentRoom.row;
collumn = currentRoom.collumn;
mapRow[row][collumn].makeRoom(_local4);
} else {
var _local2 = Math.floor(Math.random() * sSize);
var _local3 = Math.floor(Math.random() * sSize);
while (mapRow[_local3][_local2] != undefined) {
_local2 = Math.floor(Math.random() * sSize);
_local3 = Math.floor(Math.random() * sSize);
}
row = _local3;
collumn = _local2;
var _local5 = new Room(1, row, collumn, this.exitRoute, _local4);
_local4.dest = _local5.doors[4];
}
};
firstThing();
stop();
Symbol 3 MovieClip [pnFlashGames] Frame 1
#initclip 1
function bitOR(a, b) {
var _local1 = (a & 1) | (b & 1);
var _local2 = (a >>> 1) | (b >>> 1);
return((_local2 << 1) | _local1);
}
function bitXOR(a, b) {
var _local1 = (a & 1) ^ (b & 1);
var _local2 = (a >>> 1) ^ (b >>> 1);
return((_local2 << 1) | _local1);
}
function bitAND(a, b) {
var _local1 = (a & 1) & (b & 1);
var _local2 = (a >>> 1) & (b >>> 1);
return((_local2 << 1) | _local1);
}
function addme(x, y) {
var _local1 = (x & 65535) + (y & 65535);
var _local2 = ((x >> 16) + (y >> 16)) + (_local1 >> 16);
return((_local2 << 16) | (_local1 & 65535));
}
function rhex(num) {
str = "";
j = 0;
while (j <= 3) {
str = str + (hex_chr.charAt((num >> ((j * 8) + 4)) & 15) + hex_chr.charAt((num >> (j * 8)) & 15));
j++;
}
return(str);
}
function str2blks_MD5(str) {
nblk = ((str.length + 8) >> 6) + 1;
blks = new Array(nblk * 16);
i = 0;
while (i < (nblk * 16)) {
blks[i] = 0;
i++;
}
i = 0;
while (i < str.length) {
blks[i >> 2] = blks[i >> 2] | (str.charCodeAt(i) << ((((str.length * 8) + i) % 4) * 8));
i++;
}
blks[i >> 2] = blks[i >> 2] | (128 << ((((str.length * 8) + i) % 4) * 8));
var _local2 = str.length * 8;
blks[(nblk * 16) - 2] = _local2 & 255;
blks[(nblk * 16) - 2] = blks[(nblk * 16) - 2] | (((_local2 >>> 8) & 255) << 8);
blks[(nblk * 16) - 2] = blks[(nblk * 16) - 2] | (((_local2 >>> 16) & 255) << 16);
blks[(nblk * 16) - 2] = blks[(nblk * 16) - 2] | (((_local2 >>> 24) & 255) << 24);
return(blks);
}
function rol(num, cnt) {
return((num << cnt) | (num >>> (32 - cnt)));
}
function cmn(q, a, b, x, s, t) {
return(addme(rol(addme(addme(a, q), addme(x, t)), s), b));
}
function ff(a, b, c, d, x, s, t) {
return(cmn(bitOR(bitAND(b, c), bitAND(~b, d)), a, b, x, s, t));
}
function gg(a, b, c, d, x, s, t) {
return(cmn(bitOR(bitAND(b, d), bitAND(c, ~d)), a, b, x, s, t));
}
function hh(a, b, c, d, x, s, t) {
return(cmn(bitXOR(bitXOR(b, c), d), a, b, x, s, t));
}
function ii(a, b, c, d, x, s, t) {
return(cmn(bitXOR(c, bitOR(b, ~d)), a, b, x, s, t));
}
function calcMD5(str) {
x = str2blks_MD5(str);
a = 1732584193 /* 0x67452301 */;
b = -271733879;
c = -1732584194;
d = 271733878 /* 0x10325476 */;
var _local1;
i = 0;
while (i < x.length) {
olda = a;
oldb = b;
oldc = c;
oldd = d;
_local1 = 0;
a = ff(a, b, c, d, x[i + 0], 7, -680876936);
d = ff(d, a, b, c, x[i + 1], 12, -389564586);
c = ff(c, d, a, b, x[i + 2], 17, 606105819);
b = ff(b, c, d, a, x[i + 3], 22, -1044525330);
a = ff(a, b, c, d, x[i + 4], 7, -176418897);
d = ff(d, a, b, c, x[i + 5], 12, 1200080426);
c = ff(c, d, a, b, x[i + 6], 17, -1473231341);
b = ff(b, c, d, a, x[i + 7], 22, -45705983);
a = ff(a, b, c, d, x[i + 8], 7, 1770035416);
d = ff(d, a, b, c, x[i + 9], 12, -1958414417);
c = ff(c, d, a, b, x[i + 10], 17, -42063);
b = ff(b, c, d, a, x[i + 11], 22, -1990404162);
a = ff(a, b, c, d, x[i + 12], 7, 1804603682);
d = ff(d, a, b, c, x[i + 13], 12, -40341101);
c = ff(c, d, a, b, x[i + 14], 17, -1502002290);
b = ff(b, c, d, a, x[i + 15], 22, 1236535329);
a = gg(a, b, c, d, x[i + 1], 5, -165796510);
d = gg(d, a, b, c, x[i + 6], 9, -1069501632);
c = gg(c, d, a, b, x[i + 11], 14, 643717713);
b = gg(b, c, d, a, x[i + 0], 20, -373897302);
a = gg(a, b, c, d, x[i + 5], 5, -701558691);
d = gg(d, a, b, c, x[i + 10], 9, 38016083);
c = gg(c, d, a, b, x[i + 15], 14, -660478335);
b = gg(b, c, d, a, x[i + 4], 20, -405537848);
a = gg(a, b, c, d, x[i + 9], 5, 568446438);
d = gg(d, a, b, c, x[i + 14], 9, -1019803690);
c = gg(c, d, a, b, x[i + 3], 14, -187363961);
b = gg(b, c, d, a, x[i + 8], 20, 1163531501);
a = gg(a, b, c, d, x[i + 13], 5, -1444681467);
d = gg(d, a, b, c, x[i + 2], 9, -51403784);
c = gg(c, d, a, b, x[i + 7], 14, 1735328473);
b = gg(b, c, d, a, x[i + 12], 20, -1926607734);
a = hh(a, b, c, d, x[i + 5], 4, -378558);
d = hh(d, a, b, c, x[i + 8], 11, -2022574463);
c = hh(c, d, a, b, x[i + 11], 16, 1839030562);
b = hh(b, c, d, a, x[i + 14], 23, -35309556);
a = hh(a, b, c, d, x[i + 1], 4, -1530992060);
d = hh(d, a, b, c, x[i + 4], 11, 1272893353);
c = hh(c, d, a, b, x[i + 7], 16, -155497632);
b = hh(b, c, d, a, x[i + 10], 23, -1094730640);
a = hh(a, b, c, d, x[i + 13], 4, 681279174);
d = hh(d, a, b, c, x[i + 0], 11, -358537222);
c = hh(c, d, a, b, x[i + 3], 16, -722521979);
b = hh(b, c, d, a, x[i + 6], 23, 76029189);
a = hh(a, b, c, d, x[i + 9], 4, -640364487);
d = hh(d, a, b, c, x[i + 12], 11, -421815835);
c = hh(c, d, a, b, x[i + 15], 16, 530742520);
b = hh(b, c, d, a, x[i + 2], 23, -995338651);
a = ii(a, b, c, d, x[i + 0], 6, -198630844);
d = ii(d, a, b, c, x[i + 7], 10, 1126891415);
c = ii(c, d, a, b, x[i + 14], 15, -1416354905);
b = ii(b, c, d, a, x[i + 5], 21, -57434055);
a = ii(a, b, c, d, x[i + 12], 6, 1700485571);
d = ii(d, a, b, c, x[i + 3], 10, -1894986606);
c = ii(c, d, a, b, x[i + 10], 15, -1051523);
b = ii(b, c, d, a, x[i + 1], 21, -2054922799);
a = ii(a, b, c, d, x[i + 8], 6, 1873313359);
d = ii(d, a, b, c, x[i + 15], 10, -30611744);
c = ii(c, d, a, b, x[i + 6], 15, -1560198380);
b = ii(b, c, d, a, x[i + 13], 21, 1309151649);
a = ii(a, b, c, d, x[i + 4], 6, -145523070);
d = ii(d, a, b, c, x[i + 11], 10, -1120210379);
c = ii(c, d, a, b, x[i + 2], 15, 718787259);
b = ii(b, c, d, a, x[i + 9], 21, -343485551);
a = addme(a, olda);
b = addme(b, oldb);
c = addme(c, oldc);
d = addme(d, oldd);
i = i + 16;
}
return(((rhex(a) + rhex(b)) + rhex(c)) + rhex(d));
}
var hex_chr = "0123456789abcdef";
pnFlashGames = function () {
this.gid = _root.pn_gid;
this.uname = _root.pn_uname;
this.License = _root.pn_license;
this.CheckSum = _root.pn_checksum;
this.Domain = _root.pn_domain;
this._modvalue = "pnFlashGames";
this._modvar = "module";
this._script = "index.php";
if (_root.pn_modvalue != null) {
this._modvalue = _root.pn_modvalue;
}
if (_root.pn_modvar != null) {
this._modvar = _root.pn_modvar;
}
if (_root.pn_script != null) {
this._script = _root.pn_script;
}
this._autoupdate = false;
if (_root.pn_autoupdate == "true") {
this._autoupdate = true;
}
if (_root.pn_extravars != null) {
this._extravars = new Array();
temppairs = _root.pn_extravars.split("|");
x = 0;
while (x < temppairs.length) {
tempset = temppairs[x].split("~");
this._extravars.push(tempset);
x++;
}
} else {
this._extravars = null;
}
this.busy = false;
this.gameSaved = null;
this.gameLoaded = null;
this.gameScoresLoaded = null;
this.gameScores = null;
this.scoreStored = null;
this.gameData = "";
this.buildKey();
this.confirmKey();
};
pnFlashGames.prototype = new MovieClip();
pnFlashGames.prototype.saveGame = function (gameData) {
this.busy = true;
varsObj = new LoadVars();
varsObj.func = "saveGame";
varsObj.gid = this.gid;
varsObj.gameData = gameData;
varsObj.type = "user";
varsObj[this._modvar] = this._modvalue;
varsObj.parent = this;
varsObj.onLoad = this.saveGame_Result;
if (this._extravars != null) {
x = 0;
while (x < this._extravars.length) {
varsObj[this._extravars[x][0]] = this._extravars[x][1];
x++;
}
}
if (this.debugMode) {
this.debugOutput(varsObj);
} else {
varsObj.sendAndLoad(this._script, varsObj, "POST");
}
};
pnFlashGames.prototype.saveGame_Result = function (success) {
this.parent._parent.incoming = this.opSuccess;
if (this.opSuccess == "true") {
this.parent.gameSaved = true;
} else {
this.parent.gameSaved = false;
}
this.parent.busy = false;
};
pnFlashGames.prototype.loadGame = function () {
this.busy = true;
varsObj = new LoadVars();
varsObj.func = "loadGame";
varsObj.gid = this.gid;
varsObj.type = "user";
varsObj[this._modvar] = this._modvalue;
varsObj.parent = this;
varsObj.onLoad = this.loadGame_Result;
if (this._extravars != null) {
x = 0;
while (x < this._extravars.length) {
varsObj[this._extravars[x][0]] = this._extravars[x][1];
x++;
}
}
if (this.debugMode) {
this.debugOutput(varsObj);
} else {
varsObj.sendAndLoad(this._script, varsObj, "POST");
}
};
pnFlashGames.prototype.loadGame_Result = function (success) {
if (this.opSuccess == "true") {
this.parent.gameLoaded = true;
this.parent.gameData = gameData;
} else {
this.parent.gameLoaded = false;
}
if (this.parent.onLoadGame != null) {
this.parent.onLoadGame(this.gameData);
}
this.parent.busy = false;
};
pnFlashGames.prototype.storeScore = function (score) {
this.busy = true;
varsObj = new LoadVars();
varsObj.score = score;
varsObj.func = "storeScore";
varsObj.gid = this.gid;
varsObj.type = "user";
varsObj[this._modvar] = this._modvalue;
varsObj.parent = this;
varsObj.onLoad = this.storeScore_Result;
if (this._extravars != null) {
x = 0;
while (x < this._extravars.length) {
varsObj[this._extravars[x][0]] = this._extravars[x][1];
x++;
}
}
if (this.debugMode) {
this.debugOutput(varsObj);
} else {
varsObj.sendAndLoad(this._script, varsObj, "POST");
}
};
pnFlashGames.prototype.storeScore_Result = function (success) {
if (this.opSuccess == "true") {
this.parent.scoreStored = true;
if (this.parent._autoupdate) {
_root.getURL("javascript:refreshScores();");
}
} else {
this.parent.scoreStored = false;
}
this.parent.busy = false;
};
pnFlashGames.prototype.loadGameScores = function () {
this.busy = true;
varsObj = new LoadVars();
varsObj.func = "loadGameScores";
varsObj.gid = this.gid;
varsObj.type = "user";
varsObj[this._modvar] = this._modvalue;
varsObj.parent = this;
varsObj.onLoad = this.loadGameScores_Result;
if (this._extravars != null) {
x = 0;
while (x < this._extravars.length) {
varsObj[this._extravars[x][0]] = this._extravars[x][1];
x++;
}
}
if (this.debugMode) {
this.debugOutput(varsObj);
} else {
varsObj.sendAndLoad(this._script, varsObj, "POST");
}
};
pnFlashGames.prototype.loadGameScores_Result = function (success) {
if (this.opSuccess == "true") {
this.parent.gameScoresLoaded = true;
this.parent.gameScores = new XML(this.gameScores);
} else {
this.parent.gameScoresLoaded = false;
}
if (this.parent.onLoadGameScores != null) {
this.parent.onLoadGameScores(this.gameScores);
}
this.parent.busy = false;
};
pnFlashGames.prototype.debugOutput = function (vars) {
debug = "";
debug = debug + (("Function: " + vars.func) + newline);
switch (vars.func) {
case "storeScore" :
debug = debug + ("Score: " + vars.score);
break;
case "saveGame" :
debug = debug + ("Saving: " + vars.gameData);
break;
case "loadGame" :
debug = debug + "Loading data....";
break;
case "getGameScores" :
debug = debug + "Getting scores for this game....";
}
trace(debug);
};
pnFlashGames.prototype.buildKey = function () {
domainparts = this.Domain.split(".");
tempkey = (((domainparts[1] + "*") + this.CheckSum) + "*") + domainparts[0];
this.CheckKey = calcMD5(tempkey);
tempkey = "";
return(undefined);
};
pnFlashGames.prototype.confirmKey = function () {
if (!this.debugMode) {
if (this.License == this.CheckKey) {
return(true);
}
this.swapDepths(999999);
stopAllSounds();
_root.getURL("http://pnflashgames.com/licensefail.php", "_blank", "POST");
this.gotoAndStop("error");
} else {
return(true);
}
};
Object.registerClass("pnFlashGames", pnFlashGames);
#endinitclip
stop();
Symbol 3 MovieClip [pnFlashGames] Frame 5
stop();
stopAllSounds();
_root.gotoAndStop(1);
delete _root.enterFrame;
for (i in _root) {
if (i != _name) {
_root[i].removeMovieClip();
_root[i].unloadMovie();
}
}
blocker.useHandCursor = false;
_root.createEmptyMovieClip("errScreen", 5000000);
_root.errScreen.createTextField("message", 1, 0, 0, 300, 500);
_root.errScreen.message.type = "dynamic";
_root.errScreen.message.autoSize = "center";
_root.errScreen.message.textColor = 6710886 /* 0x666666 */;
_root.errScreen.message.html = true;
_root.errScreen.message.wordWrap = true;
_root.errScreen.message._width = Stage.width - 10;
_root.errScreen.message.htmlText = ("<b>This game is released under the Common Game License (CGL). Altering of its source code and distribution of this .swf file is strictly forbidden. Please review the requirements on the page that just loaded. If you suspect software piracy, please report it by email: <font color='#0000FF'><u><a href='mailto:piracy@pnflashgames.com?subject=Possible%20piracy%20on%20" + this.Domain) + "'>piracy@pnflashgames.com</a></u></font></b>";
_root.errScreen.message._x = (Stage.width / 2) - (_root.errScreen.message._width / 2);
_root.errScreen.message._y = (Stage.height / 2) - (_root.errScreen.message._height / 2);
Sound.setVolume(0);
Symbol 18 MovieClip Frame 1
stop();
Symbol 18 MovieClip Frame 2
play();
Symbol 18 MovieClip Frame 11
this._parent.myObject.free = true;
Symbol 18 MovieClip Frame 12
play();
Symbol 18 MovieClip Frame 18
this._parent.myObject.free = true;
Symbol 25 MovieClip [_lSludgeman] Frame 1
stop();
Symbol 25 MovieClip [_lSludgeman] Frame 9
if (this.myObject.hittable) {
gotoAndStop (1);
}
Symbol 25 MovieClip [_lSludgeman] Frame 10
play();
Symbol 25 MovieClip [_lSludgeman] Frame 30
this.removeMovieClip();
Symbol 36 MovieClip [_lexplosion] Frame 1
ex0._x = (Math.random() * 12) - 6;
ex0._y = (Math.random() * 12) - 6;
Symbol 36 MovieClip [_lexplosion] Frame 5
ex1._x = (Math.random() * 12) - 6;
ex1._y = (Math.random() * 12) - 6;
Symbol 36 MovieClip [_lexplosion] Frame 8
ex2._x = (Math.random() * 12) - 6;
ex2._y = (Math.random() * 12) - 6;
Symbol 36 MovieClip [_lexplosion] Frame 18
this.removeMovieClip();
Symbol 51 MovieClip Frame 1
stop();
Symbol 58 MovieClip Frame 1
stop();
Symbol 65 MovieClip Frame 1
stop();
Symbol 65 MovieClip Frame 2
stop();
Symbol 65 MovieClip Frame 3
stop();
Symbol 70 MovieClip Frame 1
stop();
Symbol 70 MovieClip Frame 2
stop();
Symbol 75 MovieClip Frame 1
stop();
Symbol 75 MovieClip Frame 2
stop();
Symbol 80 MovieClip Frame 1
stop();
Symbol 80 MovieClip Frame 2
stop();
Symbol 85 MovieClip Frame 1
stop();
Symbol 85 MovieClip Frame 2
stop();
Symbol 90 MovieClip Frame 1
stop();
Symbol 90 MovieClip Frame 2
stop();
Symbol 93 MovieClip Frame 1
stop();
Symbol 93 MovieClip Frame 2
stop();
Symbol 102 MovieClip Frame 1
stop();
Symbol 115 MovieClip [_lbullet] Frame 1
stop();
Symbol 115 MovieClip [_lbullet] Frame 2
play();
Symbol 115 MovieClip [_lbullet] Frame 6
this.removeMovieClip();
Symbol 116 MovieClip [_linfo] Frame 28
this.removeMovieClip();
Symbol 127 MovieClip [_lmine] Frame 1
stop();
Symbol 127 MovieClip [_lmine] Frame 2
play();
Symbol 127 MovieClip [_lmine] Frame 10
this.removeMovieClip();
Symbol 137 MovieClip Frame 11
gotoAndPlay ("loop");
Symbol 142 MovieClip [_lmissile] Frame 1
stop();
Symbol 142 MovieClip [_lmissile] Frame 2
play();
Symbol 142 MovieClip [_lmissile] Frame 11
this.removeMovieClip();
Symbol 153 MovieClip [_lplasma] Frame 1
stop();
Symbol 153 MovieClip [_lplasma] Frame 2
play();
Symbol 153 MovieClip [_lplasma] Frame 7
this.removeMovieClip();
Symbol 170 MovieClip Frame 1
stop();
Symbol 171 MovieClip [_lpowerup] Frame 12
stop();
Symbol 171 MovieClip [_lpowerup] Frame 13
play();
Symbol 171 MovieClip [_lpowerup] Frame 23
this.removeMovieClip();
Symbol 174 MovieClip [_lspawnlight] Frame 7
this.removeMovieClip();
Symbol 181 MovieClip [_lteleportInStuff] Frame 7
stop();
this.removeMovieClip();
Symbol 187 MovieClip Frame 1
this._rotation = Math.random() * 360;
this._xscale = (this._yscale = 80 + (Math.random() * 40));
gotoAndPlay(Math.ceil(Math.random() * 8));
Symbol 344 MovieClip Frame 1
stop();
Symbol 344 MovieClip Frame 2
stop();
Symbol 407 MovieClip [_ltile] Frame 1
stop();
Symbol 413 MovieClip Frame 1
Symbol 436 MovieClip Frame 1
stop();
Symbol 436 MovieClip Frame 2
play();
Symbol 436 MovieClip Frame 5
this._parent.myObject.free = true;
if (this._parent.myObject.hittable) {
gotoAndStop (1);
}
Symbol 436 MovieClip Frame 6
play();
Symbol 436 MovieClip Frame 9
this._parent.myObject.free = true;
if (this._parent.myObject.hittable) {
gotoAndStop (1);
}
Symbol 436 MovieClip Frame 10
play();
Symbol 436 MovieClip Frame 22
this._parent.myObject.free = true;
if (this._parent.myObject.hittable) {
gotoAndStop (1);
}
Symbol 437 MovieClip [_lchar] Frame 1
stop();
Symbol 437 MovieClip [_lchar] Frame 3
play();
Symbol 437 MovieClip [_lchar] Frame 6
if (this.myObject.hittable) {
gotoAndStop (1);
}
Symbol 437 MovieClip [_lchar] Frame 10
play();
Symbol 437 MovieClip [_lchar] Frame 20
this.removeMovieClip();
Symbol 437 MovieClip [_lchar] Frame 53
stop();
this._parent._parent.finishExit();
Symbol 461 MovieClip Frame 1
stop();
Symbol 461 MovieClip Frame 2
play();
Symbol 461 MovieClip Frame 17
this._parent.myObject.free = true;
Symbol 461 MovieClip Frame 18
play();
Symbol 461 MovieClip Frame 26
this._parent.myObject.free = true;
Symbol 470 MovieClip [_lZombie] Frame 1
stop();
Symbol 470 MovieClip [_lZombie] Frame 9
if (this.myObject.hittable) {
gotoAndStop (1);
}
Symbol 470 MovieClip [_lZombie] Frame 10
play();
Symbol 470 MovieClip [_lZombie] Frame 31
this.removeMovieClip();
Symbol 477 MovieClip Frame 1
stop();
Symbol 477 MovieClip Frame 2
play();
Symbol 477 MovieClip Frame 10
this._parent.myObject.free = true;
Symbol 477 MovieClip Frame 11
play();
Symbol 477 MovieClip Frame 13
this._parent.myObject.free = true;
Symbol 485 MovieClip [_lSoldier] Frame 1
stop();
Symbol 485 MovieClip [_lSoldier] Frame 9
if (this.myObject.hittable) {
gotoAndStop (1);
}
Symbol 485 MovieClip [_lSoldier] Frame 10
play();
Symbol 485 MovieClip [_lSoldier] Frame 33
this.removeMovieClip();
Symbol 494 MovieClip Frame 1
stop();
Symbol 494 MovieClip Frame 2
play();
Symbol 495 MovieClip Frame 1
play();
Symbol 495 MovieClip Frame 3
this._parent.myObject.free = true;
Symbol 498 MovieClip [_lBoss0] Frame 1
stop();
Symbol 498 MovieClip [_lBoss0] Frame 6
play();
Symbol 498 MovieClip [_lBoss0] Frame 9
if (this.myObject.hittable) {
gotoAndStop (1);
}
Symbol 498 MovieClip [_lBoss0] Frame 10
play();
Symbol 498 MovieClip [_lBoss0] Frame 45
this.removeMovieClip();
Symbol 500 MovieClip Frame 1
play();
Symbol 500 MovieClip Frame 3
this._parent.myObject.free = true;
Symbol 501 MovieClip [_lBoss1] Frame 1
stop();
Symbol 501 MovieClip [_lBoss1] Frame 6
play();
Symbol 501 MovieClip [_lBoss1] Frame 9
if (this.myObject.hittable) {
gotoAndStop (1);
}
Symbol 501 MovieClip [_lBoss1] Frame 10
play();
Symbol 501 MovieClip [_lBoss1] Frame 45
this.removeMovieClip();
Symbol 532 MovieClip Frame 1
stop();
Symbol 532 MovieClip Frame 2
stop();
Symbol 532 MovieClip Frame 3
stop();
Symbol 536 MovieClip Frame 1
stop();
Symbol 536 MovieClip Frame 2
stop();
Symbol 536 MovieClip Frame 3
stop();
Symbol 538 MovieClip Frame 1
stop();
Symbol 538 MovieClip Frame 2
stop();
Symbol 538 MovieClip Frame 3
stop();
Symbol 541 MovieClip Frame 1
stop();
Symbol 541 MovieClip Frame 2
stop();
Symbol 547 MovieClip Frame 1
stop();
Symbol 547 MovieClip Frame 2
stop();
Symbol 547 MovieClip Frame 3
stop();
Symbol 548 MovieClip Frame 1
slideConstr = 75;
slideButton.onPress = function () {
this.startDrag(false, -slideConstr, 0, slideConstr, 0);
this.gotoAndStop(2);
};
slideButton.onRelease = (slideButton.onReleaseOutside = function () {
this.stopDrag();
this.gotoAndStop(1);
var _local2 = Math.ceil((100 / (slideConstr * 2)) * (this._x + slideConstr));
this._parent._parent._parent.setMusicVolume(_local2);
});
slideButton.onRollOver = function () {
this.gotoAndStop(3);
};
slideButton.onRollOut = function () {
this.gotoAndStop(1);
};
bg.onRelease = function () {
var _local2 = Math.ceil((100 / (slideConstr * 2)) * (this._xmouse + slideConstr));
slideButton._x = this._xmouse;
this._parent._parent._parent.setMusicVolume(_local2);
};
slideButton._x = -75 + (1.5 * this._parent._parent.musicVol);
Symbol 550 MovieClip Frame 1
stop();
Symbol 550 MovieClip Frame 2
stop();
Symbol 550 MovieClip Frame 3
stop();
Symbol 552 MovieClip Frame 1
stop();
Symbol 552 MovieClip Frame 2
stop();
Symbol 552 MovieClip Frame 3
stop();
Symbol 555 MovieClip Frame 1
stop();
Symbol 555 MovieClip Frame 2
stop();
Symbol 555 MovieClip Frame 3
stop();
Symbol 556 MovieClip Frame 1
returnToGame.onRelease = this._parent.pauseGame;
viewMap.onRelease = this._parent.showMap;
sfxButton.onRelease = this._parent.toggleSFX;
musicButton.onRelease = this._parent.toggleMusic;
viewChar.onRelease = this._parent.populateStats;
quitButton.onRelease = this._parent.quitGame;
Symbol 561 MovieClip Frame 1
stop();
Symbol 561 MovieClip Frame 2
stop();
Symbol 561 MovieClip Frame 3
stop();
Symbol 570 MovieClip Frame 1
stop();
Symbol 570 MovieClip Frame 2
stop();
Symbol 575 MovieClip Frame 1
stop();
Symbol 575 MovieClip Frame 2
stop();
Symbol 580 MovieClip Frame 1
stop();
Symbol 580 MovieClip Frame 2
stop();
Symbol 585 MovieClip Frame 1
stop();
Symbol 585 MovieClip Frame 2
stop();
Symbol 593 MovieClip Frame 1
stop();
Symbol 593 MovieClip Frame 2
stop();
Symbol 593 MovieClip Frame 3
stop();
Symbol 596 MovieClip Frame 1
stop();
Symbol 596 MovieClip Frame 2
stop();
Symbol 596 MovieClip Frame 3
stop();
Symbol 599 MovieClip Frame 1
stop();
Symbol 599 MovieClip Frame 2
stop();
Symbol 599 MovieClip Frame 3
stop();
Symbol 603 MovieClip Frame 1
stop();
Symbol 603 MovieClip Frame 2
stop();
me.onRelease = function () {
getURL ("http://www.utterlysuperb.com", "_blank");
};
pnflash.onRelease = function () {
getURL ("http://www.pnflashgames.com", "_blank");
};
tonypa.onRelease = function () {
getURL ("http://www.tonypa.pri.ee/tbw/", "_blank");
};
Symbol 603 MovieClip Frame 3
stop();
Symbol 603 MovieClip Frame 4
stop();
sfxButton.onRelease = this._parent.toggleSFX;
musicButton.onRelease = this._parent.toggleMusic;
if (!this._parent.sfxOn) {
sfxTickbox.gotoAndStop(2);
}
if (!this._parent.musicOn) {
musicTickbox.gotoAndStop(2);
}
Symbol 614 MovieClip Frame 1
stop();
Symbol 614 MovieClip Frame 2
stop();
Symbol 614 MovieClip Frame 3
stop();
Symbol 628 MovieClip Frame 1
stop();
Symbol 628 MovieClip Frame 2
stop();
Symbol 690 MovieClip Frame 1
stop();
Symbol 690 MovieClip Frame 2
stop();
Symbol 690 MovieClip Frame 3
stop();
Symbol 712 MovieClip Frame 1
back.onRelease = function () {
this._parent._visible = false;
this._parent._parent.options._visible = true;
};
Symbol 723 MovieClip Frame 1
stop();
Symbol 723 MovieClip Frame 2
play();
Symbol 723 MovieClip Frame 57
this._parent.endPopulate();
Symbol 723 MovieClip Frame 72
this._visible = false;
Symbol 729 Button
on (release) {
getURL ("http://www.pnflashgames.com", "_blank");
}
Symbol 730 MovieClip Frame 1
back.onRelease = function () {
this._parent._visible = false;
this._parent._parent.options._visible = true;
};
Symbol 733 MovieClip Frame 1
stop();
Symbol 733 MovieClip Frame 2
play();
Symbol 733 MovieClip Frame 6
this.func();
Symbol 733 MovieClip Frame 10
this._visible = false;