Frame 1
function onEnterFrame() {
if (this._currentframe == 1) {
bytes_loaded = Math.round(this.getBytesLoaded());
bytes_total = Math.round(this.getBytesTotal());
getPercent = bytes_loaded / bytes_total;
loader._xscale = getPercent * 100;
if ((bytes_loaded == bytes_total) && (thePlay._x < 0)) {
if ((domain == "armorgames.com") || (domain == "www.armorgames.com")) {
gotoAndStop (2);
}
loader._x = 1000;
outer._x = 1000;
thePlay._x = Stage.width / 2;
thePlay.onRollOver = function () {
thePlay._xscale = (thePlay._yscale = 150);
};
thePlay.onRollOut = function () {
thePlay._xscale = (thePlay._yscale = 100);
};
thePlay.onRelease = function () {
gotoAndStop (2);
};
}
}
}
function goToThisURL() {
getURL ("http://armorgames.com", "_blank");
}
function createContextMenu(menu) {
_root.menu = menu;
}
stop();
Playtomic.Log.View(3395, "e220ced224c14208", _root._url);
var myMenu = new ContextMenu();
myMenu.hideBuiltInItems();
var mainItem = new ContextMenuItem("Play More Games", goToThisURL);
myMenu.customItems.push(mainItem);
createContextMenu(myMenu);
urlStart = _url.indexOf("://") + 3;
urlEnd = _url.indexOf("/", urlStart);
domain = _url.substring(urlStart, urlEnd);
LastDot = domain.lastIndexOf(".") - 1;
domEnd = domain.lastIndexOf(".", LastDot) + 1;
domain = domain.substring(domEnd, domain.length);
if ((domain == "armorgames.com") || (domain == "www.armorgames.com")) {
outer._y = Stage.height / 2;
loader._y = Stage.height / 2;
} else {
var CPMStarContentSpotID = "1946Q5F32C48D";
System.security.allowDomain("server.cpmstar.com");
adBox.loadMovie("http://server.cpmstar.com/adviewas2.swf?contentspotid=" + CPMStarContentSpotID);
}
Instance of Symbol 32 MovieClip in Frame 1
on (release) {
getURL ("http://armorgames.com", "_BLANK");
}
Instance of Symbol 56 MovieClip in Frame 2
on (release) {
getURL ("http://armorgames.com", "_BLANK");
}
Frame 3
function onEnterFrame() {
if (selector == 1) {
theBox._x = theBox._x + ((eas._x - theBox._x) / 4);
tHold = theBox._xscale;
theBox._xscale = 100;
theScale = (eas._width / theBox._width) * 100;
theBox._xscale = tHold;
theBox._xscale = theBox._xscale + ((theScale - tHold) / 4);
}
if (selector == 2) {
theBox._x = theBox._x + ((med._x - theBox._x) / 4);
tHold = theBox._xscale;
theBox._xscale = 100;
theScale = (med._width / theBox._width) * 100;
theBox._xscale = tHold;
theBox._xscale = theBox._xscale + ((theScale - tHold) / 4);
}
if (selector == 3) {
theBox._x = theBox._x + ((har._x - theBox._x) / 4);
tHold = theBox._xscale;
theBox._xscale = 100;
theScale = (har._width / theBox._width) * 100;
theBox._xscale = tHold;
theBox._xscale = theBox._xscale + ((theScale - tHold) / 4);
}
if (gotoFrame) {
_root._alpha = _root._alpha - 5;
if (_root._alpha <= 0) {
gotoAndStop(frameTarget + 1);
}
}
if (goRed) {
mbg.red._alpha = mbg.red._alpha + alphaSpeed;
if (mbg.red._alpha > 100) {
mbg.red._alpha = 100;
}
} else {
mbg.red._alpha = mbg.red._alpha - alphaSpeed;
if (mbg.red._alpha < 0) {
mbg.red._alpha = 0;
}
}
if (goBlue) {
mbg.blue._alpha = mbg.blue._alpha + alphaSpeed;
if (mbg.blue._alpha > 100) {
mbg.blue._alpha = 100;
}
} else {
mbg.blue._alpha = mbg.blue._alpha - alphaSpeed;
if (mbg.blue._alpha < 0) {
mbg.blue._alpha = 0;
}
}
if (goGreen) {
mbg.green._alpha = mbg.green._alpha + alphaSpeed;
if (mbg.green._alpha > 100) {
mbg.green._alpha = 100;
}
} else {
mbg.green._alpha = mbg.green._alpha - alphaSpeed;
if (mbg.green._alpha < 0) {
mbg.green._alpha = 0;
}
}
if (goPurple) {
mbg.purple._alpha = mbg.purple._alpha + alphaSpeed;
if (mbg.purple._alpha > 100) {
mbg.purple._alpha = 100;
}
} else {
mbg.purple._alpha = mbg.purple._alpha - alphaSpeed;
if (mbg.purple._alpha <= 0) {
mbg.purple._alpha = 0;
}
}
}
function resetValues() {
money = 0;
levelsUnlocked = 1;
score = 0;
day = 1;
gunUsed = 1;
level = 1;
firstMoney = true;
firstPlay = true;
speedLevel = 1;
armorLevel = 1;
bombLevel = 1;
weaponsOwned = new Array(true, false, false, false, false, false, false, false, false, false, false, false, false, false);
shopWeaponSelected = 1;
firstDeath = true;
firstDay = true;
firstArmor = false;
firstBomb = false;
displayedArmor = false;
displayedBomb = false;
enemyTypes = 1;
weaponDamageLevels = new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
weaponReloadTimeLevels = new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
weaponClipSizeLevels = new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
}
function saveGame() {
sObject.data.money = money;
sObject.flush();
sObject.data.levelsUnlocked = levelsUnlocked;
sObject.flush();
sObject.data.score = score;
sObject.flush();
sObject.data.day = day;
sObject.flush();
sObject.data.gunUsed = gunUsed;
sObject.flush();
sObject.data.level = level;
sObject.flush();
sObject.data.firstMoney = firstMoney;
sObject.flush();
sObject.data.firstPlay = firstPlay;
sObject.flush();
sObject.data.speedLevel = speedLevel;
sObject.flush();
sObject.data.armorLevel = armorLevel;
sObject.flush();
sObject.data.bombLevel = bombLevel;
sObject.flush();
sObject.data.weaponsOwned = weaponsOwned;
sObject.flush();
sObject.data.shopWeaponSelected = shopWeaponSelected;
sObject.flush();
sObject.data.firstDeath = firstDeath;
sObject.flush();
sObject.data.firstDay = firstDay;
sObject.flush();
sObject.data.firstArmor = firstArmor;
sObject.flush();
sObject.data.firstBomb = firstBomb;
sObject.flush();
sObject.data.displayedArmor = displayedArmor;
sObject.flush();
sObject.data.displayedBomb = displayedBomb;
sObject.flush();
sObject.data.enemyTypes = enemyTypes;
sObject.flush();
sObject.data.weaponDamageLevels = weaponDamageLevels;
sObject.flush();
sObject.data.weaponClipSizeLevels = weaponClipSizeLevels;
sObject.flush();
sObject.data.weaponReloadTimeLevels = weaponReloadTimeLevels;
sObject.flush();
}
stop();
urlStart = _url.indexOf("://") + 3;
urlEnd = _url.indexOf("/", urlStart);
domain = _url.substring(urlStart, urlEnd);
LastDot = domain.lastIndexOf(".") - 1;
domEnd = domain.lastIndexOf(".", LastDot) + 1;
domain = domain.substring(domEnd, domain.length);
if ((domain == "newgrounds.com") || (domain == "www.newgrounds.com")) {
}
sg.onRollOver = function () {
sg._xscale = (sg._yscale = 110);
goRed = true;
};
o.onRollOver = function () {
o._xscale = (o._yscale = 110);
goBlue = true;
};
mg.onRollOver = function () {
mg._xscale = (mg._yscale = 110);
goGreen = true;
};
lag.onRollOver = function () {
lag._xscale = (lag._yscale = 110);
goPurple = true;
};
sg.onRollOut = function () {
sg._xscale = (sg._yscale = 100);
goRed = false;
};
o.onRollOut = function () {
o._xscale = (o._yscale = 100);
goBlue = false;
};
mg.onRollOut = function () {
mg._xscale = (mg._yscale = 100);
goGreen = false;
};
lag.onRollOut = function () {
lag._xscale = (lag._yscale = 100);
goPurple = false;
};
o.onRelease = function () {
gotoAndStop (6);
};
mg.onRelease = function () {
getURL ("http://armorgames.com", "_BLANK");
};
lag.onRelease = function () {
getURL ("http://www.facebook.com/ArmorGames", "_BLANK");
};
goRed = false;
goBlue = false;
goGreen = false;
goPurple = false;
mbg.red._alpha = 0;
mbg.blue._alpha = 0;
mbg.green._alpha = 0;
mbg.purple._alpha = 0;
alphaSpeed = 33;
gotoFrame = false;
frameTarget = 0;
sg.onRelease = function () {
Playtomic.Log.Play();
gotoFrame = true;
frameTarget = 3;
};
selector = 2;
eas.onRelease = function () {
selector = 1;
};
med.onRelease = function () {
selector = 2;
};
har.onRelease = function () {
selector = 3;
};
resetValues();
sObject = SharedObject.getLocal("saveFile");
if (sObject.data.money != undefined) {
money = sObject.data.money;
}
if (sObject.data.score != undefined) {
score = sObject.data.score;
}
if (sObject.data.day != undefined) {
day = sObject.data.day;
}
if (sObject.data.gunUsed != undefined) {
gunUsed = sObject.data.gunUsed;
}
if (sObject.data.level != undefined) {
level = sObject.data.level;
}
if (sObject.data.firstMoney != undefined) {
firstMoney = sObject.data.firstMoney;
}
if (sObject.data.firstPlay != undefined) {
firstPlay = sObject.data.firstPlay;
}
if (sObject.data.speedLevel != undefined) {
speedLevel = sObject.data.speedLevel;
}
if (sObject.data.bombLevel != undefined) {
bombLevel = sObject.data.bombLevel;
}
if (sObject.data.armorLevel != undefined) {
armorLevel = sObject.data.armorLevel;
}
if (sObject.data.shopWeaponSelected != undefined) {
shopWeaponSelected = sObject.data.shopWeaponSelected;
}
if (sObject.data.firstDeath != undefined) {
firstDeath = sObject.data.firstDeath;
}
if (sObject.data.firstDay != undefined) {
firstDay = sObject.data.firstDay;
}
if (sObject.data.firstArmor != undefined) {
firstArmor = sObject.data.firstArmor;
}
if (sObject.data.firstBomb != undefined) {
firstBomb = sObject.data.firstBomb;
}
if (sObject.data.displayedArmor != undefined) {
displayedArmor = sObject.data.displayedArmor;
}
if (sObject.data.displayedBomb != undefined) {
displayedBomb = sObject.data.displayedBomb;
}
if (sObject.data.enemyTypes != undefined) {
enemyTypes = sObject.data.enemyTypes;
}
if (sObject.data.levelsUnlocked != undefined) {
levelsUnlocked = sObject.data.levelsUnlocked;
}
i = 0;
while (i <= weaponsOwned.length) {
if (sObject.data.weaponsOwned[i] != undefined) {
weaponsOwned[i] = sObject.data.weaponsOwned[i];
}
i++;
}
i = 0;
while (i <= weaponDamageLevels.length) {
if (sObject.data.weaponDamageLevels[i] != undefined) {
weaponDamageLevels[i] = sObject.data.weaponDamageLevels[i];
}
i++;
}
i = 0;
while (i <= weaponReloadTimeLevels.length) {
if (sObject.data.weaponReloadTimeLevels[i] != undefined) {
weaponReloadTimeLevels[i] = sObject.data.weaponReloadTimeLevels[i];
}
i++;
}
i = 0;
while (i <= weaponClipSizeLevels.length) {
if (sObject.data.weaponClipSizeLevels[i] != undefined) {
weaponClipSizeLevels[i] = sObject.data.weaponClipSizeLevels[i];
}
i++;
}
Instance of Symbol 88 MovieClip in Frame 3
on (release) {
getURL ("http://armorgames.com", "_BLANK");
}
Frame 4
function resetChar() {
char._x = Stage.width / 2;
char._y = Stage.height / 2;
bg._x = (-bg._width) / 4;
bg._y = (-bg._height) / 4;
char._rotation = 0;
}
function init() {
_quality = "MEDIUM";
resetChar();
shake = 0;
xDir = 0;
yDir = 0;
xSpeed = 0;
ySpeed = 0;
speed = 0.7;
friction = 0.8;
lowDepth = 100;
depth = 50000;
highDepth = 500000 /* 0x07A120 */;
topDepth = 910000 /* 0x0DE2B0 */;
dayMC.swapDepths(920000);
maxHealth = 100;
health = 100;
gamePause = true;
instructionsDelay = 235;
playerPause = false;
inStick = false;
rel._alpha = 0;
kills = 0;
char.gotoAndStop(1);
char.inner.gotoAndStop(1);
levelSubKillLevels = new Array(20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20);
reloadTimers = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
ammoInClip = new Array(11, 10, 10, 15, 8, 50, 30, 4, 20, 20, 100, 4, 6, 200);
char.swapDepths(900500);
HUD.swapDepths(905000);
info.swapDepths(905600);
speeds = new Array(2.1, 2.4, 2.6, 2.9, 3.2, 3.4, 3.6, 3.7, 3.8);
speedCosts = new Array(20, 100, 300, 900, 2500, 5000, 7500, 10000);
armors = 0;
armorCosts = new Array(100, 500, 2000, 5000, 10000);
bombs = 0;
bombCosts = new Array(100, 1000, 10000);
}
function resetDayNum() {
dayMC.inner.dayTxt.htmlText = bold("DAY " + day);
dayMC.gotoAndPlay(2);
}
function failedTest() {
dayMC.inner.dayTxt.htmlText = bold("TEST FAILED");
dayMC.gotoAndPlay(2);
}
function completedTest() {
dayMC.inner.dayTxt.htmlText = bold("TEST COMPLETED");
dayMC.gotoAndPlay(2);
}
function weaponChange() {
if (toBall && (toWeapon)) {
toWeapon = false;
}
if (toBall) {
char.inner.nextFrame();
if (char.inner._currentframe == 16) {
toBall = false;
toWeapon = true;
char.gotoAndStop(gunUsed);
char.inner.gotoAndStop(16);
}
}
if (toWeapon) {
char.inner.gotoAndStop(char.inner._currentframe - 1);
if (char.inner._currentframe == 1) {
toWeapon = false;
}
}
charShadow.charShadow.gotoAndStop(char._currentframe);
charShadow.charShadow.inner.gotoAndStop(char.inner._currentframe);
}
function createOptions() {
if (!gamePause) {
playerPause = !playerPause;
if (playerPause) {
pSymbol._alpha = 100;
} else {
pSymbol._alpha = 0;
}
}
}
function updateStats() {
HUD.healthBar._xscale = health;
HUD.dayTxt.htmlText = bold(level);
if (health >= maxHealth) {
health = maxHealth;
}
if (health <= 0) {
health = 0;
gamePause = true;
if (firstDeath) {
firstDeath = false;
makeInfo(5);
} else {
blackScreenStart = true;
failedTest();
}
}
HUD.monTxt.htmlText = bold(money);
HUD.scoreTxt.htmlText = bold(score);
HUD.gu.htmlText = gunUsed;
if (bombs >= 1) {
HUD.bomb1._alpha = 100;
} else {
HUD.bomb1._alpha = 0;
}
if (bombs >= 2) {
HUD.bomb2._alpha = 100;
} else {
HUD.bomb2._alpha = 0;
}
if (bombs >= 3) {
HUD.bomb3._alpha = 100;
} else {
HUD.bomb3._alpha = 0;
}
if (armors >= 1) {
HUD.armor1._alpha = 100;
} else {
HUD.armor1._alpha = 0;
}
if (armors >= 2) {
HUD.armor2._alpha = 100;
} else {
HUD.armor2._alpha = 0;
}
if (armors >= 3) {
HUD.armor3._alpha = 100;
} else {
HUD.armor3._alpha = 0;
}
if (armors >= 4) {
HUD.armor4._alpha = 100;
} else {
HUD.armor4._alpha = 0;
}
if (armors >= 5) {
HUD.armor5._alpha = 100;
} else {
HUD.armor5._alpha = 0;
}
HUD.clipTxt.htmlText = bold((ammoInClip[gunUsed - 1] + "/") + weaponClipSizes[weaponClipSizeLevels[gunUsed - 1] - 1][gunUsed - 1]);
HUD.enTxt.htmlText = bold((kills + "/") + calcEnemiesForLevel());
shop.monTxt.htmlText = bold(money);
}
function bold(item) {
return(("<b>" + item) + "</b>");
}
function onEnterFrame() {
if (_root._alpha <= 99) {
_root._alpha = _root._alpha + 5;
}
manageLevelSelect();
blackScreen();
manageBlur();
squareRemover();
reticleMovement();
trailMovement();
startGame();
if ((!gamePause) && (!playerPause)) {
mainGame();
}
}
function mainGame() {
weaponChange();
characterMovement();
moneyRingMovement();
bombAbility();
reloadManagement();
manageEnemies();
acidMovement();
stickyMovement();
enemyMovement();
manageShooting();
missileMovement();
explosionMovement();
enBulletMovement();
bulletMovement();
partMovement();
hitTesting();
coinMovement();
particleMovement();
shaker();
updateStats();
}
function manageBlur() {
if (sBlur == 1) {
var blur = (new flash.filters.BlurFilter(totalBlur, totalBlur, 3));
_root.filters = new Array(blur);
var _local2;
_local2 = new mx.transitions.Tween(blur, "blurX", mx.transitions.easing.Strong.easeOut, blur.blurX, noBlur, 1, true);
_local2.onMotionChanged = function () {
blur.blurY = blur.blurX;
_root.filters = new Array(blur);
};
} else {
_root.filters = null;
}
}
function startGame() {
if (!gameStarted) {
characterMovement();
manageShooting();
bulletMovement();
updateStats();
if (mouseClicked && (ins._currentframe == 29)) {
ins.gotoAndPlay(30);
}
if (moved && (ins._currentframe == 50)) {
ins.gotoAndPlay(51);
}
if (ins._currentframe == 71) {
firstPlay = false;
resetDayNum();
gameStarted = true;
gamePause = false;
}
}
}
function createParticle(object) {
tp = attachMovie("teleportParticle", "teleportParticle" + depth, depth++);
tp._x = object._x;
tp._y = object._y;
tpDir = randRange(1, 360);
tpSpeed = (Math.random() * 6) + 4;
tp._xscale = (tp._yscale = randRange(50, 120));
tp.xSpeed = Math.cos((tpDir * Math.PI) / 180) * tpSpeed;
tp.ySpeed = Math.sin((tpDir * Math.PI) / 180) * tpSpeed;
particles.push(tp);
}
function particleMovement() {
p = particles.length - 1;
while (p >= 0) {
particle = particles[p];
particle._x = particle._x + particle.xSpeed;
particle._y = particle._y + particle.ySpeed;
particle.xSpeed = particle.xSpeed * 0.9;
particle.ySpeed = particle.ySpeed * 0.9;
particle._alpha = particle._alpha - 5;
particle._xscale = (particle._yscale = particle._yscale - 3);
if (particle._alpha <= 0) {
removeParticle();
}
p--;
}
}
function removeParticle() {
particle.removeMovieClip();
particles.splice(p, 1);
}
function bombAbility() {
if ((Key.isDown(32) && (!bombOnStage)) && (bombs > 0)) {
bombs = bombs - 1;
theBomb = attachMovie("bombBlast", "bombBlast" + highDepth, highDepth++);
bigExplosion.start();
theBomb._x = char._x;
theBomb._y = char._y;
theBomb.gotoAndPlay(2);
bombOnStage = true;
updateStats();
}
if (bombOnStage) {
i = enemies.length - 1;
while (i >= 0) {
enemy = enemies[i];
if (theBomb.hitTest(enemy._x, enemy._y, true)) {
hitEnemy(i, 1000);
}
i--;
}
if (theBomb._currentframe == 65) {
bombOnStage = false;
theBomb.removeMovieClip();
}
}
}
function reloadManagement() {
if (reloadTimers[gunUsed - 1] > 0) {
if (rel._alpha < 100) {
rel._alpha = rel._alpha + 5;
}
reloadTimers[gunUsed - 1] = reloadTimers[gunUsed - 1] - 1;
if (reloadTimers[gunUsed - 1] == 0) {
ammoInClip[gunUsed - 1] = weaponClipSizes[weaponClipSizeLevels[gunUsed - 1] - 1][gunUsed - 1];
updateStats();
}
HUD.cr._xscale = (reloadTimers[gunUsed - 1] / weaponReloadTimes[weaponReloadTimeLevels[gunUsed - 1] - 1][gunUsed - 1]) * 100;
} else {
if (rel._alpha > 0) {
rel._alpha = rel._alpha - 10;
}
HUD.cr._xscale = 0;
}
}
function manageLevelSelect() {
if (ls != undefined) {
_root._x = 0;
_root._y = 0;
if (ls.alphaIncrease) {
ls._alpha = ls._alpha + 5;
if (ls._alpha >= 100) {
ls.alphaIncrease = false;
}
}
if (ls.alphaDecrease) {
ls._alpha = ls._alpha - 6;
if (ls._alpha <= 0) {
ls.removeMovieClip();
if (firstDay) {
makeInfo(4);
firstDay = false;
}
if ((firstBomb && (!displayedBomb)) && (info._x < 0)) {
makeInfo(2);
displayedBomb = true;
}
if ((firstArmor && (!displayedArmor)) && (info._x < 0)) {
makeInfo(3);
displayedArmor = true;
}
}
}
}
}
function updatePlayerStats() {
shop.armorTxt.htmlText = bold("Armor Level: " + (armorLevel - 1));
shop.c4.htmlText = bold("$" + armorCosts[armorLevel - 1]);
if (armorLevel == (armorCosts.length + 1)) {
shop.c4.htmlText = bold("MAXED");
}
shop.bombsTxt.htmlText = bold("Bombs: " + (bombLevel - 1));
shop.c5.htmlText = bold("$" + bombCosts[bombLevel - 1]);
if (bombLevel == (bombCosts.length + 1)) {
shop.c5.htmlText = bold("MAXED");
}
shop.speedTxt.htmlText = bold("Speed Level: " + (speedLevel - 1));
shop.c6.htmlText = bold("$" + speedCosts[speedLevel - 1]);
if (speedLevel == (speedCosts.length + 1)) {
shop.c6.htmlText = bold("MAXED");
}
applyStats(shopWeaponSelected - 1);
updateStats();
}
function shopManager() {
buttonHoverFrame(shop.u1);
buttonHoverFrame(shop.u2);
buttonHoverFrame(shop.u3);
buttonHoverFrame(shop.u4);
buttonHoverFrame(shop.u5);
buttonHoverFrame(shop.u6);
updatePlayerStats();
shop.u1.onRelease = function () {
if (((money >= weaponDamageCosts[weaponDamageLevels[shopWeaponSelected - 1] - 1][shopWeaponSelected - 1]) && (weaponsOwned[shopWeaponSelected - 1])) && (weaponDamageLevels[shopWeaponSelected - 1] != 3)) {
money = money - weaponDamageCosts[weaponDamageLevels[shopWeaponSelected - 1] - 1][shopWeaponSelected - 1];
weaponDamageLevels[shopWeaponSelected - 1] = weaponDamageLevels[shopWeaponSelected - 1] + 1;
applyStats(shopWeaponSelected - 1);
}
updateStats();
};
shop.u2.onRelease = function () {
if (((money >= weaponReloadTimeCosts[weaponReloadTimeLevels[shopWeaponSelected - 1] - 1][shopWeaponSelected - 1]) && (weaponsOwned[shopWeaponSelected - 1])) && (weaponReloadTimeLevels[shopWeaponSelected - 1] != 3)) {
money = money - weaponReloadTimeCosts[weaponReloadTimeLevels[shopWeaponSelected - 1] - 1][shopWeaponSelected - 1];
weaponReloadTimeLevels[shopWeaponSelected - 1] = weaponReloadTimeLevels[shopWeaponSelected - 1] + 1;
applyStats(shopWeaponSelected - 1);
}
updateStats();
};
shop.u3.onRelease = function () {
if (((money >= weaponClipSizeCosts[weaponClipSizeLevels[shopWeaponSelected - 1] - 1][shopWeaponSelected - 1]) && (weaponsOwned[shopWeaponSelected - 1])) && (weaponClipSizeLevels[shopWeaponSelected - 1] != 3)) {
money = money - weaponClipSizeCosts[weaponClipSizeLevels[shopWeaponSelected - 1] - 1][shopWeaponSelected - 1];
weaponClipSizeLevels[shopWeaponSelected - 1] = weaponClipSizeLevels[shopWeaponSelected - 1] + 1;
applyStats(shopWeaponSelected - 1);
}
updateStats();
};
shop.u4.onRelease = function () {
if ((money >= armorCosts[armorLevel - 1]) && ((armorLevel - 1) != armorCosts.length)) {
money = money - armorCosts[armorLevel - 1];
armorLevel = armorLevel + 1;
firstArmor = true;
updatePlayerStats();
}
updateStats();
};
shop.u5.onRelease = function () {
if ((money >= bombCosts[bombLevel - 1]) && ((bombLevel - 1) != bombCosts.length)) {
money = money - bombCosts[bombLevel - 1];
bombLevel = bombLevel + 1;
firstBomb = true;
updatePlayerStats();
}
updateStats();
};
shop.u6.onRelease = function () {
if ((money >= speedCosts[speedLevel - 1]) && ((speedLevel - 1) != speedCosts.length)) {
money = money - speedCosts[speedLevel - 1];
speedLevel = speedLevel + 1;
updatePlayerStats();
}
updateStats();
};
buttonHoverAlpha(shop.sl);
shop.sl.onRelease = function () {
shop.removeMovieClip();
createLevelSelect();
};
weaponButtons = new Array(shop.g1, shop.g2, shop.g3, shop.g4, shop.g5, shop.g6, shop.g7, shop.g8, shop.g9, shop.g10, shop.g11, shop.g12, shop.g13, shop.g14);
i = weaponButtons.length - 1;
while (i >= 0) {
createWeaponButton(weaponButtons[i], i);
i--;
}
purchaseButton();
}
function purchaseButton() {
buttonHoverAlpha(shop.purchase);
shop.purchase.onRelease = function () {
wepCost = weaponCosts[shopWeaponSelected - 1];
if (money >= wepCost) {
money = money - wepCost;
weaponsOwned[shopWeaponSelected - 1] = true;
gunUsed = shopWeaponSelected;
applyStats(shopWeaponSelected - 1);
toBall = true;
shop.purchase.gotoAndStop(2);
shop.isOwned._alpha = 100;
updateStats();
}
};
}
function createWeaponButton(button, num) {
button._alpha = 0;
if (((shopWeaponSelected - 1) == num) && (num >= (shop.itemImage._currentframe - 1))) {
button._alpha = 100;
shopWeaponSelected = num + 1;
applyStats(num);
}
wepCost = Math.floor(weaponCosts[num]);
if (((!weaponsOwned[num]) && (money >= wepCost)) && (num >= (shop.itemImage._currentframe - 1))) {
button._alpha = 100;
shopWeaponSelected = num + 1;
applyStats(num);
}
button.onRollOver = function () {
rollover.start();
if (button._alpha <= 80) {
button._alpha = 50;
}
};
button.onRollOut = function () {
if (button._alpha <= 80) {
button._alpha = 0;
}
};
button.onRelease = function () {
if (button._alpha <= 80) {
k = weaponButtons.length - 1;
while (k >= 0) {
weaponButtons[k]._alpha = 0;
k--;
}
button._alpha = 100;
shopWeaponSelected = num + 1;
applyStats(num);
}
};
}
function applyStats(num) {
if (weaponsOwned[num]) {
shop.isOwned._alpha = 100;
} else {
shop.isOwned._alpha = 0;
}
wepCost = Math.floor(weaponCosts[num]);
if (weaponsOwned[num] || (money < wepCost)) {
shop.purchase.gotoAndStop(2);
} else {
shop.purchase.gotoAndStop(1);
}
shop.itemStats.itemTxt.htmlText = bold(weaponNames[num]);
shop.itemStats.costTxt.htmlText = bold(wepCost);
shop.itemImage.gotoAndStop(num + 1);
shop.itemImage.inner.gotoAndStop(1);
shop.itemDescTxt = weaponDescriptions[num];
wepCost = Math.floor(weaponCosts[num]);
if (weaponsOwned[shopWeaponSelected - 1]) {
shop.damageTxt.htmlText = bold("Damage: " + weaponDamages[weaponDamageLevels[shopWeaponSelected - 1] - 1][shopWeaponSelected - 1]);
shop.reloadTxt.htmlText = bold("Reload Time: " + weaponReloadTimes[weaponReloadTimeLevels[shopWeaponSelected - 1] - 1][shopWeaponSelected - 1]);
shop.clipSizeTxt.htmlText = bold("Clip Size: " + weaponClipSizes[weaponClipSizeLevels[shopWeaponSelected - 1] - 1][shopWeaponSelected - 1]);
shop.c1.htmlText = bold("$" + weaponDamageCosts[weaponDamageLevels[shopWeaponSelected - 1] - 1][shopWeaponSelected - 1]);
shop.c2.htmlText = bold("$" + weaponReloadTimeCosts[weaponReloadTimeLevels[shopWeaponSelected - 1] - 1][shopWeaponSelected - 1]);
shop.c3.htmlText = bold("$" + weaponClipSizeCosts[weaponClipSizeLevels[shopWeaponSelected - 1] - 1][shopWeaponSelected - 1]);
shop.d1.htmlText = bold("Increase damage to: " + weaponDamages[weaponDamageLevels[shopWeaponSelected - 1]][shopWeaponSelected - 1]);
shop.d2.htmlText = bold(("Increase reload to: " + weaponReloadTimes[weaponReloadTimeLevels[shopWeaponSelected - 1]][shopWeaponSelected - 1]) + "s");
shop.d3.htmlText = bold("Increase clip size to: " + weaponClipSizes[weaponClipSizeLevels[shopWeaponSelected - 1]][shopWeaponSelected - 1]);
if (weaponDamageLevels[shopWeaponSelected - 1] == 3) {
shop.c1.htmlText = bold("MAXED");
shop.d1.htmlText = bold("MAXED");
}
if (weaponReloadTimeLevels[shopWeaponSelected - 1] == 3) {
shop.c2.htmlText = bold("MAXED");
shop.d2.htmlText = bold("MAXED");
}
if (weaponClipSizeLevels[shopWeaponSelected - 1] == 3) {
shop.c3.htmlText = bold("MAXED");
shop.d3.htmlText = bold("MAXED");
}
} else {
shop.damageTxt.htmlText = "";
shop.reloadTxt.htmlText = "";
shop.clipSizeTxt.htmlText = "";
shop.c1.htmlText = "";
shop.c2.htmlText = "";
shop.c3.htmlText = "";
shop.d1.htmlText = "";
shop.d2.htmlText = "";
shop.d3.htmlText = "";
}
}
function clearScreen() {
i = enemies.length - 1;
while (i >= 0) {
enemy = enemies[i];
removeEnemy(i, false);
i--;
}
b = bullets.length - 1;
while (b >= 0) {
bullet = bullets[b];
removeBullet(b);
b--;
}
c = coins.length - 1;
while (c >= 0) {
coin = coins[c];
removeCoin();
c--;
}
p = parts.length - 1;
while (p >= 0) {
part = parts[p];
removePart();
p--;
}
m = missiles.length - 1;
while (m >= 0) {
missile = missiles[m];
removeMissile();
m--;
}
e = explosions.length - 1;
while (e >= 0) {
explosion = explosions[e];
removeExplosion();
e--;
}
a = acids.length - 1;
while (a >= 0) {
acid = acids[a];
removeAcid();
a--;
}
s = stickys.length - 1;
while (s >= 0) {
sticky = stickys[s];
removeSticky();
s--;
}
t = trails.length - 1;
while (t >= 0) {
trail = trails[t];
removeTrail();
t--;
}
e = enemyBullets.length - 1;
while (e >= 0) {
enemyBullet = enemyBullets[e];
removeEnemyBullet();
e--;
}
p = particles.length - 1;
while (p >= 0) {
particle = particles[p];
removeParticle();
p--;
}
r = moneyRings.length - 1;
while (r >= 0) {
moneyRing = moneyRings[r];
removeMoneyRing();
r--;
}
}
function manageShooting() {
shotDelay = shotDelay - 1;
if ((((((shotDelay <= 0) && (MouseDown)) && (reloadTimers[gunUsed - 1] <= 0)) && (ammoInClip[gunUsed - 1] > 0)) && (!toBall)) && (!toWeapon)) {
shotFunctions[gunUsed - 1]();
ammoInClip[gunUsed - 1] = ammoInClip[gunUsed - 1] - 1;
shotDelay = shotDelayConst[gunUsed - 1];
if (ammoInClip[gunUsed - 1] <= 0) {
reload.start();
reloadTimers[gunUsed - 1] = weaponReloadTimes[weaponReloadTimeLevels[gunUsed - 1] - 1][gunUsed - 1];
}
}
if (((((MouseDown && (shotDelay <= 0)) && (ammoInClip[gunUsed - 1] <= 0)) && (reloadTimers[gunUsed - 1] <= 0)) && (!toBall)) && (!toWeapon)) {
reload.start();
reloadTimers[gunUsed - 1] = weaponReloadTimes[weaponReloadTimeLevels[gunUsed - 1] - 1][gunUsed - 1];
}
}
function normalShot(angleOffset, type) {
if (type == 5) {
bu = attachMovie("missile", "missile" + depth, depth++);
} else {
bu = attachMovie("bullet", "bullet" + depth, depth++);
}
bu._x = char._x;
bu._y = char._y;
bu.xSpeed = Math.cos(((char._rotation + angleOffset) * Math.PI) / 180) * bulSpeeds[type - 1];
bu.ySpeed = Math.sin(((char._rotation + angleOffset) * Math.PI) / 180) * bulSpeeds[type - 1];
bullets.push(bu);
bu.Type = type;
bu.Damage = weaponDamages[weaponDamageLevels[gunUsed - 1] - 1][gunUsed - 1];
}
function basicShot() {
normalShot(0, 1);
gunshot1.start();
}
function defenseShot() {
normalShot(0, 2);
normalShot(180, 2);
gunshot2.start();
}
function side4Shot() {
normalShot(0, 3);
normalShot(90, 3);
normalShot(190, 3);
normalShot(270, 3);
gunshot4.start();
}
function bouncyShot() {
normalShot(0, 4);
bu.life = 120;
gunshot1.start();
}
function homingShot() {
normalShot(0, 5);
bu.Target = -1;
gunshot6.start();
}
function machineShot() {
normalShot(0, 6);
gunshot2.start();
}
function splitShot() {
normalShot(10, 7);
normalShot(-10, 7);
gunshot3.start();
}
function sniperShot() {
normalShot(0, 8);
gunshot5.start();
}
function shotgunShot() {
normalShot(15, 9);
normalShot(0, 9);
normalShot(-15, 9);
gunshot3.start();
}
function flakShot() {
k = 0;
while (k < 5) {
normalShot((Math.random() * 30) - 15, 10);
k++;
}
gunshot5.start();
}
function chainShot() {
normalShot(Math.random(10) - 5, 11);
gunshot2.start();
}
function rocketShot() {
mis = attachMovie("missile", "missile" + depth, depth++);
rt = Math.atan2(_ymouse - char._y, _xmouse - char._x);
mis._x = char._x;
mis._y = char._y;
mis._rotation = char._rotation;
xmoveAdd = Math.cos(rt);
ymoveAdd = Math.sin(rt);
currentX = tx + (xmoveAdd * 5);
currentY = ty + (ymoveAdd * 5);
mis._x = currentX;
mis._y = currentY;
missiles.push(mis);
mis.xSpeed = xmoveAdd * 15;
mis.ySpeed = ymoveAdd * 15;
gunshot6.start();
}
function missileMovement() {
m = missiles.length - 1;
while (m >= 0) {
missile = missiles[m];
missile._x = missile._x + missile.xSpeed;
missile._y = missile._y + missile.ySpeed;
misDir = Math.atan2(missile.ySpeed, missile.xSpeed);
missile._rotation = (misDir * 180) / Math.PI;
i = enemies.length - 1;
while (i >= 0) {
enemy = enemies[i];
if (enemy.hitTest(missile) && (missile._x != undefined)) {
dam = weaponDamages[weaponDamageLevels[gunUsed - 1] - 1][gunUsed - 1];
hitEnemy(i, dam);
createExplosion(missile._x, missile._y, true);
removeMissile();
i = -1;
}
i--;
}
if ((missile._x >= ((bg._width + bg._x) + missile._width)) && (missile.xSpeed > 0)) {
removeMissile();
}
if ((missile._x <= ((-missile._width) + bg._x)) && (missile.xSpeed < 0)) {
removeMissile();
}
if ((missile._y >= ((bg._height + bg._y) + missile._height)) && (missile.ySpeed > 0)) {
removeMissile();
}
if ((missile._y <= ((-missile._height) + bg._y)) && (missile.ySpeed < 0)) {
removeMissile();
}
m--;
}
}
function removeMissile() {
missile.removeMovieClip();
missiles.splice(m, 1);
}
function createExplosion(xLoc, yLoc, damaging) {
if (damaging || (_quality != "LOW")) {
exp = attachMovie("explosion", "explosion" + highDepth, highDepth++);
exp._xscale = (exp._yscale = 100);
exp._x = xLoc;
exp._y = yLoc;
exp.Damaging = damaging;
explosions.push(exp);
}
}
function explosionMovement() {
e = explosions.length - 1;
while (e >= 0) {
explosion = explosions[e];
if ((explosion.ina._currentframe == 7) && (explosion.Damaging)) {
i = enemies.length - 1;
while (i >= 0) {
enemy = enemies[i];
if (explosion.re.hitTest(enemy)) {
dam = 30;
hitEnemy(i, dam);
}
i--;
}
}
if (explosion.ina._currentframe == 47) {
removeExplosion();
}
e--;
}
}
function removeExplosion() {
explosion.removeMovieClip();
explosions.splice(e, 1);
}
function railShot() {
laser.removeMovieClip();
createEmptyMovieClip("laser", 900555 + (depth++));
with (laser) {
lineStyle(15, 16777215);
xmoveAdd = Math.cos((char._rotation * Math.PI) / 180) * 10;
ymoveAdd = Math.sin((char._rotation * Math.PI) / 180) * 10;
currentX = char._x + (xmoveAdd * 4);
currentY = char._y + (ymoveAdd * 4);
holdX = currentX;
holdY = currentY;
moveTo(currentX, currentY);
t = 50;
while (t >= 0) {
currentX = currentX + xmoveAdd;
currentY = currentY + ymoveAdd;
if (t == 0) {
lineStyle(19, 16764108);
lineTo(currentX, currentY);
moveTo(holdX, holdY);
lineStyle(17, 16777215);
lineTo(currentX, currentY);
}
i = enemies.length - 1;
while (i >= 0) {
enemy = enemies[i];
if (enemy.hitTest(currentX, currentY, true)) {
dam = weaponDamages[weaponDamageLevels[gunUsed - 1] - 1][gunUsed - 1];
hitEnemy(i, dam);
}
i--;
}
t--;
}
}
laser.onEnterFrame = function () {
laser._alpha = laser._alpha - 15;
if (laser._alpha <= 5) {
laser.removeMovieClip();
}
};
laserShot.start();
}
function electricityShot() {
mainArray = new Array(4);
i = 0;
while (i < 4) {
mainArray[i] = new Array(4);
j = 0;
while (j < 4) {
mainArray[i][j] = new Array();
j++;
}
i++;
}
i = enemies.length - 1;
while (i >= 0) {
enemy = enemies[i];
enemy.Index = i;
mainArray[Math.floor(enemy._x / 160)][Math.floor(enemy._y / 120)].push(enemy);
i--;
}
if (lGo == 1) {
bulletMC.removeMovieClip();
lGo = 2;
createEmptyMovieClip("bulletMC", 900555 + (depth++));
with (bulletMC) {
lineStyle(2, 0);
rt = Math.atan2(_ymouse - char._y, _xmouse - char._x);
xmoveAdd = Math.cos(rt) * 15;
ymoveAdd = Math.sin(rt) * 15;
currentX = char._x + (xmoveAdd * 1);
currentY = char._y + (ymoveAdd * 1);
moveTo(currentX, currentY);
t = 35;
while (t >= 0) {
currentX = currentX + xmoveAdd;
currentY = currentY + ymoveAdd;
if (mainArray[Math.floor(currentX / 160)][Math.floor(currentY / 120)] != undefined) {
i = mainArray[Math.floor(currentX / 160)][Math.floor(currentY / 120)].length - 1;
while (i >= 0) {
enemy = mainArray[Math.floor(currentX / 160)][Math.floor(currentY / 120)][i];
if (enemy.hitTest(currentX, currentY, true)) {
t = -5;
hitEnemy(enemy.Index, weaponDamages[weaponDamageLevels[gunUsed - 1] - 1][gunUsed - 1]);
}
i--;
}
}
lineTo((currentX + (Math.random() * 16)) - 8, (currentY + (Math.random() * 16)) - 8);
t--;
}
}
bulletMC.onEnterFrame = function () {
bulletMC._alpha = bulletMC._alpha - (bulletMC._alpha / 2);
if (bulletMC._alpha <= 5) {
bulletMC.removeMovieClip();
}
};
} else if (lGo == 2) {
bulletMC2.removeMovieClip();
lGo = 3;
createEmptyMovieClip("bulletMC2", 900555 + (depth++));
with (bulletMC2) {
lineStyle(2, 0);
rt = Math.atan2(_ymouse - char._y, _xmouse - char._x);
xmoveAdd = Math.cos(rt) * 15;
ymoveAdd = Math.sin(rt) * 15;
currentX = char._x + (xmoveAdd * 1);
currentY = char._y + (ymoveAdd * 1);
moveTo(currentX, currentY);
t = 35;
while (t >= 0) {
currentX = currentX + xmoveAdd;
currentY = currentY + ymoveAdd;
lineTo((currentX + (Math.random() * 16)) - 8, (currentY + (Math.random() * 16)) - 8);
if (mainArray[Math.floor(currentX / 160)][Math.floor(currentY / 120)] != undefined) {
i = mainArray[Math.floor(currentX / 160)][Math.floor(currentY / 120)].length - 1;
while (i >= 0) {
enemy = mainArray[Math.floor(currentX / 160)][Math.floor(currentY / 120)][i];
if (enemy.hitTest(currentX, currentY, true)) {
t = -5;
hitEnemy(enemy.Index, weaponDamages[weaponDamageLevels[gunUsed - 1] - 1][gunUsed - 1]);
}
i--;
}
}
t--;
}
}
bulletMC2.onEnterFrame = function () {
bulletMC2._alpha = bulletMC2._alpha - (bulletMC2._alpha / 2);
if (bulletMC2._alpha <= 5) {
bulletMC2.removeMovieClip();
}
};
} else if (lGo == 3) {
bulletMC3.removeMovieClip();
lGo = 1;
createEmptyMovieClip("bulletMC3", 900555 + (depth++));
with (bulletMC3) {
lineStyle(2, 0);
rt = Math.atan2(_ymouse - char._y, _xmouse - char._x);
xmoveAdd = Math.cos(rt) * 15;
ymoveAdd = Math.sin(rt) * 15;
currentX = char._x + (xmoveAdd * 1);
currentY = char._y + (ymoveAdd * 1);
moveTo(currentX, currentY);
t = 35;
while (t >= 0) {
currentX = currentX + xmoveAdd;
currentY = currentY + ymoveAdd;
lineTo((currentX + (Math.random() * 16)) - 8, (currentY + (Math.random() * 16)) - 8);
if (mainArray[Math.floor(currentX / 160)][Math.floor(currentY / 120)] != undefined) {
i = mainArray[Math.floor(currentX / 160)][Math.floor(currentY / 120)].length - 1;
while (i >= 0) {
enemy = mainArray[Math.floor(currentX / 160)][Math.floor(currentY / 120)][i];
if (enemy.hitTest(currentX, currentY, true)) {
t = -5;
hitEnemy(enemy.Index, weaponDamages[weaponDamageLevels[gunUsed - 1] - 1][gunUsed - 1]);
}
i--;
}
}
t--;
}
}
bulletMC3.onEnterFrame = function () {
bulletMC3._alpha = bulletMC3._alpha - (bulletMC3._alpha / 2);
if (bulletMC3._alpha <= 5) {
bulletMC3.removeMovieClip();
}
};
}
electricity.start();
}
function hitTesting() {
mainArray = new Array(4);
i = 0;
while (i < 4) {
mainArray[i] = new Array(4);
j = 0;
while (j < 4) {
mainArray[i][j] = new Array();
j++;
}
i++;
}
mainArray2 = new Array(4);
i = 0;
while (i < 4) {
mainArray2[i] = new Array(4);
j = 0;
while (j < 4) {
mainArray2[i][j] = new Array();
j++;
}
i++;
}
i = enemies.length - 1;
while (i >= 0) {
enemy = enemies[i];
enemy.Index = i;
mainArray[Math.floor(enemy._x / 160)][Math.floor(enemy._y / 120)].push(enemy);
i--;
}
b = bullets.length - 1;
while (b >= 0) {
bullet = bullets[b];
bullet.Index = b;
mainArray2[Math.floor(bullet._x / 160)][Math.floor(bullet._y / 120)].push(bullet);
b--;
}
e = 0;
while (e < 16) {
i = mainArray[Math.floor(e / 4)][e % 4].length - 1;
while (i >= 0) {
enemy = mainArray[Math.floor(e / 4)][e % 4][i];
b = mainArray2[Math.floor(e / 4)][e % 4].length - 1;
while (b >= 0) {
bullet = mainArray2[Math.floor(e / 4)][e % 4][b];
if (enemy.hitTest(bullet._x, bullet._y, true)) {
hitEnemy(enemy.Index, bullet.Damage);
removeBullet(bullet.Index);
}
b--;
}
i--;
}
e++;
}
i = enemies.length - 1;
while (i >= 0) {
enemy = enemies[i];
if ((((enemy.t.hitTest(char._x - 10, char._y, true) || (enemy.t.hitTest(char._x + 10, char._y, true))) || (enemy.t.hitTest(char._x, char._y - 10, true))) || (enemy.t.hitTest(char._x, char._y + 10, true))) && (enemy._x != undefined)) {
charDamage(enemy.Damage);
createExplosion(enemy._x, enemy._y, false);
removeEnemy(i, true);
}
i--;
}
b = bullets.length - 1;
while (b >= 0) {
bullet = bullets[b];
if (bullet.hitTest(bullet.Target) && (bullet.Type == 5)) {
enemy = bullet.Target;
i = 0;
e = enemies.length - 1;
while (e >= 0) {
if (enemy == enemies[e]) {
i = e;
}
e--;
}
hitEnemy(enemy.Index, bullet.Damage);
removeBullet(bullet.Index);
}
b--;
}
}
function charDamage(damage) {
if (selector == 1) {
damage = Math.floor(damage / 4);
}
if (selector == 2) {
damage = Math.floor(damage / 2);
}
health = health - damage;
shotHit.start();
if (((armors >= 1) && (damage > 8)) || ((health <= 0) && (armors >= 1))) {
armors = armors - 1;
health = health + damage;
q = 10;
while (q > 0) {
createParticle(char);
q--;
}
} else {
fd = attachMovie("flashDeath", "flashDeath" + depth, depth++);
fd._x = Stage.width / 2;
fd._y = Stage.height / 2;
}
}
function hitEnemy(num, damage) {
enemy.health = enemy.health - damage;
fs = enemy.attachMovie("floorShot", "floorShot" + depth, depth++);
shotHit.start();
fs._rotation = ((Math.atan2(bullet._y - enemy._y, bullet._x - enemy._x) * 180) / Math.PI) - enemy._rotation;
fs._xscale = (fs._yscale = 200);
fs.gotoAndStop(randRange(1, 3));
if (enemy.Type == behindEnemy) {
enemy._alpha = 0;
enemy.Shadow._alpha = 0;
}
if (enemy.Type == immuneEnemy) {
if (enemy.immuneTimer > 0) {
enemy.health = enemy.health + damage;
}
}
if (enemy.health <= 0) {
removeEnemy(num, true);
shake = 1;
}
}
function moveBullet(isX, place) {
if (isX) {
bullet._x = place;
} else {
bullet._y = place;
}
}
function bulletMovement() {
b = bullets.length - 1;
while (b >= 0) {
bullet = bullets[b];
if (bullet.Type == 5) {
if ((bullet.Target == -1) || (bullet.Target > enemies.length)) {
bullet.Target = randRange(1, enemies.length);
}
if (enemies.length > 0) {
theAng = Math.atan2(enemies[bullet.Target - 1]._y - bullet._y, enemies[bullet.Target - 1]._x - bullet._x);
bullet.xSpeed = bullet.xSpeed + ((Math.cos(theAng) * bulSpeeds[bullet.Type - 1]) / 20);
bullet.ySpeed = bullet.ySpeed + ((Math.sin(theAng) * bulSpeeds[bullet.Type - 1]) / 20);
bullet.xSpeed = bullet.xSpeed * 0.98;
bullet.ySpeed = bullet.ySpeed * 0.98;
bullet._rotation = (Math.atan2(bullet.ySpeed, bullet.xSpeed) * 180) / Math.PI;
}
}
bullet._x = bullet._x + bullet.xSpeed;
bullet._y = bullet._y + bullet.ySpeed;
if (bullet.Type == 4) {
if ((bullet._x >= ((bg._width + bg._x) - (bullet._width / 2))) && (bullet.xSpeed > 0)) {
bullet.xSpeed = bullet.xSpeed * -1;
moveBullet(true, (bg._width + bg._x) - (bullet._width / 2));
}
if ((bullet._x <= ((bullet._width / 2) + bg._x)) && (bullet.xSpeed < 0)) {
bullet.xSpeed = bullet.xSpeed * -1;
moveBullet(true, (bullet._width / 2) + bg._x);
}
if ((bullet._y >= ((bg._height + bg._y) + (bullet._height / 2))) && (bullet.ySpeed > 0)) {
bullet.ySpeed = bullet.ySpeed * -1;
moveBullet(false, (bg._height + bg._y) - (bullet._height / 2));
}
if ((bullet._y <= ((bullet._height / 2) + bg._y)) && (bullet.ySpeed < 0)) {
bullet.ySpeed = bullet.ySpeed * -1;
moveBullet(false, (bullet._height / 2) + bg._y);
}
bullet.life = bullet.life - 1;
if (bullet.life <= 20) {
bullet._alpha = bullet.life * 5;
if (bullet.life <= 0) {
removeBullet(b);
}
}
}
if ((bullet._x >= ((bg._width + bg._x) + (bullet._width / 2))) && (bullet.xSpeed > 0)) {
removeBullet(b);
}
if ((bullet._x <= (((-bullet._width) / 2) + bg._x)) && (bullet.xSpeed < 0)) {
removeBullet(b);
}
if ((bullet._y >= ((bg._height + bg._y) + (bullet._height / 2))) && (bullet.ySpeed > 0)) {
removeBullet(b);
}
if ((bullet._y <= (((-bullet._height) / 2) + bg._y)) && (bullet.ySpeed < 0)) {
removeBullet(b);
}
b--;
}
}
function removeBullet(b) {
bullet.removeMovieClip();
bullets.splice(b, 1);
a = bullets.length - 1;
while (a >= b) {
bullets[a].Index = bullets[a].Index - 1;
a--;
}
}
function calcEnemiesForLevel() {
theTotal2 = 0;
q = 0;
while (q < enemiesPerLevelC.length) {
theTotal2 = theTotal2 + enemiesPerLevelC[q][level - 1];
q++;
}
return(theTotal2);
}
function decideOnEnemies() {
theTotal = 0;
q = 0;
while (q < enemiesPerLevel.length) {
theTotal = theTotal + enemiesPerLevel[q][level - 1];
q++;
}
trueMax = Math.floor((((kills / calcEnemiesForLevel()) * 0.7) + 0.3) * enemiesStageMax[level - 1]);
enemiesToAdd = theTotal;
if (enemiesToAdd > trueMax) {
enemiesToAdd = trueMax - enemiesOnStage;
} else {
enemiesToAdd = trueMax - enemiesOnStage;
if (enemiesToAdd >= theTotal) {
enemiesToAdd = theTotal;
}
}
b = 0;
while (b < enemiesToAdd) {
enType = calcType();
preLoc = randRange(1, 4);
preN = (Math.random() * enemySpeeds[i]) - (enemySpeeds[i] / 2);
preX = randRange(0, bg._width) + bg._x;
preY = randRange(0, bg._height) + bg._y;
if (enType == 22) {
createEnemy(enType);
createEnemy(enType);
createEnemy(enType);
createEnemy(enType);
}
createEnemy(enType);
b++;
}
}
function calcType() {
theChances = new Array();
theTotal = 0;
theChances.push(0);
q = 0;
while (q < enemiesPerLevel.length) {
theChances.push(enemiesPerLevel[q][level - 1] + theTotal);
theTotal = theTotal + enemiesPerLevel[q][level - 1];
q++;
}
theChances.push(theTotal);
thePick = randRange(1, theTotal);
theType = 0;
q = 0;
while (q < theChances.length) {
topNum = 0;
if (q == theChances.length) {
topNum = 0;
} else {
topNum = theChances[q];
}
if ((theChances[q + 1] >= thePick) && (topNum <= thePick)) {
enemiesPerLevel[q][level - 1] = enemiesPerLevel[q][level - 1] - 1;
theType = q + 1;
q = theChances.length;
}
q++;
}
return(theType);
}
function manageEnemies() {
if (pickUpDelay) {
bssDelay = bssDelay - 1;
if (bssDelay <= 0) {
gamePause = true;
completedTest();
if (level == levelsUnlocked) {
levelsUnlocked = levelsUnlocked + 1;
}
blackScreenStart = true;
}
}
decideOnEnemies();
if (kills >= calcEnemiesForLevel()) {
if (level == 32) {
gamePause = true;
completedTest();
gotoAndStop (5);
clearScreen();
char.removeMovieClip();
HUD.removeMovieClip();
info.removeMovieClip();
reticle.removeMovieClip();
Mouse.show();
dayMC.removeMovieClip();
pSymbol.removeMovieClip();
} else if (!pickUpDelay) {
bssDelay = 90;
pickUpDelay = true;
}
enemyRange = enemyRanges[level - 1];
}
}
function reticleMovement() {
reticle._x = _xmouse;
reticle._y = _ymouse;
reticle._rotation = reticle._rotation + 2;
}
function characterMovement() {
trailDelay = trailDelay - 1;
if ((trailDelay <= 0) && ((Math.abs(xSpeed) + Math.abs(ySpeed)) > 2)) {
trailDelay = 5;
tl = attachMovie("tbt", "robotTrail" + lowDepth, lowDepth++);
tl._xscale = (tl._yscale = 40);
tl._x = char._x + randRange(-6, 6);
tl._y = char._y + randRange(-6, 6);
tl._x = tl._x - (xSpeed * 5);
tl._y = tl._y - (ySpeed * 5);
trails.push(tl);
}
xDir = 0;
yDir = 0;
if (Key.isDown(39) || (Key.isDown(68))) {
xDir = 1;
}
if (Key.isDown(37) || (Key.isDown(65))) {
xDir = -1;
}
if (Key.isDown(38) || (Key.isDown(87))) {
yDir = -1;
}
if (Key.isDown(40) || (Key.isDown(83))) {
yDir = 1;
}
dir = Math.atan2(yDir, xDir);
if ((xDir != 0) || (yDir != 0)) {
moved = true;
if (!inStick) {
xSpeed = xSpeed + (Math.cos(dir) * speeds[speedLevel - 1]);
ySpeed = ySpeed + (Math.sin(dir) * speeds[speedLevel - 1]);
} else {
xSpeed = xSpeed + ((Math.cos(dir) * speeds[speedLevel - 1]) / 2);
ySpeed = ySpeed + ((Math.sin(dir) * speeds[speedLevel - 1]) / 2);
}
}
xSpeed = xSpeed * friction;
ySpeed = ySpeed * friction;
char._x = char._x + xSpeed;
char._y = char._y + ySpeed;
if ((char._x + (char._width / 2)) >= Stage.width) {
char._x = Stage.width - (char._width / 2);
xSpeed = 0;
}
if ((char._y + (char._height / 2)) >= Stage.height) {
char._y = Stage.height - (char._height / 2);
ySpeed = 0;
}
if ((char._x - (char._width / 2)) <= 0) {
char._x = char._width / 2;
xSpeed = 0;
}
if ((char._y - (char._height / 2)) <= 0) {
char._y = char._height / 2;
ySpeed = 0;
}
origXBG = bg._x;
origYBG = bg._y;
bg._x = bg._x - (char._x - (Stage.width / 2));
bg._y = bg._y - (char._y - (Stage.height / 2));
char._x = Stage.width / 2;
char._y = Stage.height / 2;
if (bg._x >= 0) {
char._x = char._x - bg._x;
bg._x = 0;
}
if (bg._y >= 0) {
char._y = char._y - bg._y;
bg._y = 0;
}
if (bg._x <= ((-bg._width) + Stage.width)) {
char._x = char._x - (bg._x + 640);
bg._x = (-bg._width) + Stage.width;
}
if (bg._y <= ((-bg._height) + Stage.height)) {
char._y = char._y - (bg._y + 480);
bg._y = (-bg._height) + Stage.height;
}
computeBackMovement(origXBG - bg._x, origYBG - bg._y);
xDist = _xmouse - char._x;
yDist = _ymouse - char._y;
theDir = (Math.atan2(yDist, xDist) * 180) / Math.PI;
char._rotation = theDir;
charShadow._x = char._x - 6;
charShadow._y = char._y + 6;
charShadow._rotation = char._rotation;
}
function computeBackMovement(xSpace, ySpace) {
i = enemies.length - 1;
while (i >= 0) {
enemy = enemies[i];
enemy._x = enemy._x - xSpace;
enemy._y = enemy._y - ySpace;
i--;
}
b = bullets.length - 1;
while (b >= 0) {
bullet = bullets[b];
bullet._x = bullet._x - xSpace;
bullet._y = bullet._y - ySpace;
b--;
}
c = coins.length - 1;
while (c >= 0) {
coin = coins[c];
coin._x = coin._x - xSpace;
coin._y = coin._y - ySpace;
c--;
}
p = parts.length - 1;
while (p >= 0) {
part = parts[p];
part._x = part._x - xSpace;
part._y = part._y - ySpace;
p--;
}
m = missiles.length - 1;
while (m >= 0) {
missile = missiles[m];
missile._x = missile._x - xSpace;
missile._y = missile._y - ySpace;
m--;
}
e = explosions.length - 1;
while (e >= 0) {
explosion = explosions[e];
explosion._x = explosion._x - xSpace;
explosion._y = explosion._y - ySpace;
e--;
}
a = acids.length - 1;
while (a >= 0) {
acid = acids[a];
acid._x = acid._x - xSpace;
acid._y = acid._y - ySpace;
a--;
}
s = stickys.length - 1;
while (s >= 0) {
sticky = stickys[s];
sticky._x = sticky._x - xSpace;
sticky._y = sticky._y - ySpace;
s--;
}
t = trails.length - 1;
while (t >= 0) {
trail = trails[t];
trail._x = trail._x - xSpace;
trail._y = trail._y - ySpace;
t--;
}
e = enemyBullets.length - 1;
while (e >= 0) {
enemyBullet = enemyBullets[e];
enemyBullet._x = enemyBullet._x - xSpace;
enemyBullet._y = enemyBullet._y - ySpace;
e--;
}
p = particles.length - 1;
while (p >= 0) {
particle = particles[p];
particle._x = particle._x - xSpace;
particle._y = particle._y - ySpace;
p--;
}
r = moneyRings.length - 1;
while (r >= 0) {
moneyRing = moneyRings[r];
moneyRing._x = moneyRing._x - xSpace;
moneyRing._y = moneyRing._y - ySpace;
r--;
}
laser._x = laser._x - xSpace;
laser._y = laser._y - ySpace;
}
function createEnemy(enType) {
if ((enType == 17) || (enType == 18)) {
} else {
enemiesOnStage = enemiesOnStage + 1;
}
enShadow = attachMovie(enemyShadows[enType - 1], "enemyShadow" + depth, depth++);
en = attachMovie(enemyClips[enType - 1], "enemy" + depth, depth++);
en.health = enemyHealths[enType - 1];
en.Damage = enemyDamages[enType - 1];
en.Score = enemyScores[enType - 1];
en.coin1 = enemyCoins1[enType - 1];
en.coin2 = enemyCoins2[enType - 1];
en.coin3 = enemyCoins3[enType - 1];
en.beenOnStage = false;
en.Type = enType;
en.rotTime = 0;
en.rotTo = 0;
loc = randRange(1, 4);
if (enType == 22) {
loc = preLoc;
}
if (loc <= 2) {
en._x = randRange(0, bg._width) + bg._x;
en.xSpeed = (Math.random() * enemySpeeds[enType - 1]) - (enemySpeeds[enType - 1] / 2);
if (enType == 22) {
en.xSpeed = preN;
en._x = preX;
}
if (loc == 1) {
en.ySpeed = enemySpeeds[enType - 1];
en._y = ((-en._height) / 2) + bg._y;
} else {
en.ySpeed = -enemySpeeds[enType - 1];
en._y = (bg._height + (en._height / 2)) + bg._y;
}
} else {
en._y = randRange(0, bg._height) + bg._y;
en.ySpeed = (Math.random() * enemySpeeds[enType - 1]) - (enemySpeeds[enType - 1] / 2);
if (enType == 22) {
en.ySpeed = preN;
en._y = preY;
}
if (loc == 3) {
en.xSpeed = enemySpeeds[enType - 1];
en._x = ((-en._width) / 2) + bg._x;
} else {
en.xSpeed = -enemySpeeds[enType - 1];
en._x = ((en._width / 2) + bg._x) + bg._width;
}
}
if (enType == immuneEnemy) {
en.immuneTimer = 140;
}
if (((((enType == sniperEnemy) || (enType == dodgeEnemy)) || (enType == chargeEnemy)) || (enType == turretEnemy)) || (enType == chaserEnemy)) {
en.BulletTimer = 0;
}
if (enType == behindEnemy) {
en._alpha = 50;
enShadow._alpha = 50;
}
en.trailTime = 0;
en.Shadow = enShadow;
if (enType == 22) {
en._x = en._x + randRange(-60, 60);
en._y = en._y + randRange(-60, 60);
}
if (enType == turretEnemy) {
en._x = randRange(0, bg._width) + bg._x;
en._y = randRange(0, bg._height) + bg._y;
while (char.hitTest(en)) {
en._x = randRange(0, bg._width) + bg._x;
en._y = randRange(0, bg._height) + bg._y;
}
en.xSpeed = 0;
en.ySpeed = 0;
}
if (enType == 2) {
tD = (Math.random() * Math.PI) * 2;
en.xSpeed = Math.cos(tD) * enemySpeeds[enType - 1];
en.ySpeed = Math.sin(tD) * enemySpeeds[enType - 1];
}
if (enType == 18) {
en._x = enemy._x;
en._y = enemy._y;
eDir = (randRange(1, 360) * Math.PI) / 180;
en.xSpeed = Math.cos(eDir) * enemySpeeds[enType - 1];
en.ySpeed = Math.sin(eDir) * enemySpeeds[enType - 1];
}
if (enType == teleportEnemy) {
en.teleportDelay = 100 + random(200);
en.teleDis = false;
en.teleApp = false;
}
if (enType == 17) {
en._x = enemy._x;
en._y = enemy._y;
eDir = ((n * 90) * Math.PI) / 180;
en.xSpeed = Math.cos(eDir) * enemySpeeds[enType - 1];
en.ySpeed = Math.sin(eDir) * enemySpeeds[enType - 1];
en._x = en._x + (en.xSpeed * 5);
en._y = en._y + (en.ySpeed * 5);
}
enemies.push(en);
}
function enemyMovement() {
i = enemies.length - 1;
while (i >= 0) {
enemy = enemies[i];
switchBack = false;
if (enemy.Type == 16) {
switchBack = true;
enemy.Type = random(18) + 1;
}
if (enemy.Type == 13) {
enemy.BulletTimer = enemy.BulletTimer - 1;
if (enemy.BulletTimer <= 0) {
createEnBullet(1);
enemy.BulletTimer = 30 + random(30);
}
}
if ((enemy.Type == 9) || (enemy.Type == 14)) {
enemy.BulletTimer = enemy.BulletTimer - 1;
if (enemy.BulletTimer <= 0) {
if (enemy.Type == 10) {
createEnBullet(7);
} else {
createEnBullet(2);
}
enemy.BulletTimer = 30 + random(30);
if (enemy.Type == 14) {
enemy.BulletTimer = 10;
}
}
}
if ((enemy.Type == 6) || (enemy.Type == 15)) {
enemy.BulletTimer = enemy.BulletTimer - 1;
if (enemy.BulletTimer <= 0) {
if (enemy.Type == 6) {
createEnBullet(3);
createEnBullet(3);
createEnBullet(3);
enemy.BulletTimer = 240 + random(180);
} else {
createEnBullet(8);
createEnBullet(8);
createEnBullet(8);
enemy.BulletTimer = 60 + random(120);
}
}
}
if (enemy.Type == 11) {
enemy.BulletTimer = enemy.BulletTimer - 1;
if (enemy.BulletTimer <= 0) {
createEnBullet(1);
createEnBullet(4);
createEnBullet(5);
createEnBullet(6);
enemy.BulletTimer = 60 + random(90);
}
}
if (enemy.Type == behindEnemy) {
if (randRange(1, 120) == 1) {
enemy._alpha = 50;
}
enemy._alpha = enemy._alpha - 1;
if (enemy._alpha <= 0) {
enemy._alpha = 0;
}
theEnDist = Math.sqrt(Math.pow(char._x - enemy._x, 2) + Math.pow(char._y - enemy._y, 2));
if (theEnDist < 300) {
enemy._alpha = (300 - theEnDist) / 3;
}
enemy.Shadow._alpha = enemy._alpha;
}
if (((enemy.Type == 9) || (enemy.Type == 10)) || (enemy.Type == 18)) {
tempRot = enemy._rotation;
qx2 = char._x - enemy._x;
qy2 = char._y - enemy._y;
radians = Math.atan2(qy2, qx2);
tempTurn = (radians * 180) / Math.PI;
diffRot = (tempRot - tempTurn) % 360;
if (diffRot > 180) {
diffRot = diffRot - 360;
} else if (diffRot < -180) {
diffRot = diffRot + 360;
}
if (Math.abs(diffRot) < 5) {
tempRot = tempTurn;
} else {
if (diffRot < 0) {
tempRot = tempRot + 2.5;
} else {
tempRot = tempRot - 2.5;
}
if ((enemy.Type == sniperEnemy) || (enemy.Type == 9)) {
if (diffRot < 0) {
tempRot = tempRot - 1;
} else {
tempRot = tempRot + 1;
}
}
}
enemy._rotation = tempRot;
enemy.xSpeed = Math.cos((enemy._rotation * Math.PI) / 180) * enemySpeeds[enemy.Type - 1];
enemy.ySpeed = Math.sin((enemy._rotation * Math.PI) / 180) * enemySpeeds[enemy.Type - 1];
}
if ((enemy.Type == 5) || (enemy.Type == 15)) {
enemy.rotTime = enemy.rotTime - 1;
if (enemy.rotTime <= 0) {
if (enemy.Type == 5) {
rAng = Math.atan2(char._y - enemy._y, char._x - enemy._x);
enemy.xSpeed = (Math.cos(rAng) * enemySpeeds[enemy.Type - 1]) * 10;
enemy.ySpeed = (Math.sin(rAng) * enemySpeeds[enemy.Type - 1]) * 10;
}
if (enemy.Type == 15) {
rAng = Math.atan2(char._y - enemy._y, char._x - enemy._x);
enemy.xSpeed = (Math.cos(rAng) * enemySpeeds[enemy.Type - 1]) * 2;
enemy.ySpeed = (Math.sin(rAng) * enemySpeeds[enemy.Type - 1]) * 2;
enemy.xSpeed = enemy.xSpeed + (((Math.cos(rAng) * enemySpeeds[enemy.Type - 1]) * 2) * (Math.random() - 0.5));
enemy.ySpeed = enemy.ySpeed + (((Math.sin(rAng) * enemySpeeds[enemy.Type - 1]) * 2) * (Math.random() - 0.5));
}
enemy.rotTime = 10;
enemy._rotation = (Math.atan2(enemy.ySpeed, enemy.xSpeed) * 180) / Math.PI;
} else {
enemy.xSpeed = 0;
enemy.ySpeed = 0;
}
}
if ((enemy.Type == 1) || (enemy.Type == 12)) {
enemy.rotTime = enemy.rotTime - 1;
if (enemy.rotTime <= 0) {
rAng = Math.atan2(char._y - enemy._y, char._x - enemy._x);
enemy.xSpeed = enemy.xSpeed + (Math.cos(rAng) * enemySpeeds[enemy.Type - 1]);
enemy.ySpeed = enemy.ySpeed + (Math.sin(rAng) * enemySpeeds[enemy.Type - 1]);
if (enemy.rotTime <= -5) {
enemy.rotTime = 40;
}
}
enemy.xSpeed = enemy.xSpeed * 0.9;
enemy.ySpeed = enemy.ySpeed * 0.9;
}
if ((enemy.Type == 8) || (enemy.Type == 6)) {
rAng = Math.atan2(char._y - enemy._y, char._x - enemy._x);
enemy.xSpeed = Math.cos(rAng) * enemySpeeds[enemy.Type - 1];
enemy.ySpeed = Math.sin(rAng) * enemySpeeds[enemy.Type - 1];
}
if (((enemy.Type == 4) || (enemy.Type == 13)) || (enemy.Type == 7)) {
enemy.rotTime = enemy.rotTime - 1;
if (enemy.rotTime <= 0) {
enemy.rotTime = 30;
enemy.rotTo = random(360);
if (enemy._x >= (Stage.width / 2)) {
if (enemy._y >= ((Stage.height / 2) + (Stage.height / 6))) {
enemy.rotTo = random(90) + 180;
} else if (enemy._y <= ((Stage.height / 2) - (Stage.height / 6))) {
enemy.rotTo = random(90) + 90;
}
} else if (enemy._x <= (Stage.width / 2)) {
if (enemy._y >= ((Stage.height / 2) + (Stage.height / 6))) {
enemy.rotTo = random(90) + 270;
} else if (enemy._y <= ((Stage.height / 2) - (Stage.height / 6))) {
enemy.rotTo = random(90) + 0;
}
}
} else {
tempRot = enemy._rotation;
tempTurn = enemy.rotTo;
diffRot = (tempRot - tempTurn) % 360;
if (diffRot > 180) {
diffRot = diffRot - 360;
} else if (diffRot < -180) {
diffRot = diffRot + 360;
}
if (Math.abs(diffRot) < 3) {
tempRot = tempTurn;
} else if (diffRot < 0) {
tempRot = tempRot + 8;
} else {
tempRot = tempRot - 8;
}
enemy._rotation = tempRot;
enemy.xSpeed = Math.cos((enemy._rotation * Math.PI) / 180) * enemySpeeds[enemy.Type - 1];
enemy.ySpeed = Math.sin((enemy._rotation * Math.PI) / 180) * enemySpeeds[enemy.Type - 1];
}
}
if ((enemy.Type == 3) || (enemy.Type == 11)) {
tD = Math.atan2(char._y - enemy._y, char._x - enemy._x);
enemy.xSpeed = enemy.xSpeed + (Math.cos(tD) * enemySpeeds[enemy.Type - 1]);
enemy.ySpeed = enemy.ySpeed + (Math.sin(tD) * enemySpeeds[enemy.Type - 1]);
enemy.xSpeed = enemy.xSpeed * 0.99;
enemy.ySpeed = enemy.ySpeed * 0.99;
}
if (enemy.Type == 2) {
changeAim = false;
if (enemy._x >= ((bg._width + bg._x) - (enemy._width / 2))) {
enemy._x = (bg._width + bg._x) - (enemy._width / 2);
enemy.xSpeed = enemy.xSpeed * -1;
changeAim = true;
}
if (enemy._x <= ((enemy._width / 2) + bg._x)) {
enemy._x = (enemy._width / 2) + bg._x;
enemy.xSpeed = enemy.xSpeed * -1;
changeAim = true;
}
if (enemy._y >= ((bg._height + bg._y) - (enemy._height / 2))) {
enemy._y = (bg._height + bg._y) - (enemy._height / 2);
enemy.ySpeed = enemy.ySpeed * -1;
changeAim = true;
}
if (enemy._y <= ((enemy._height / 2) + bg._y)) {
enemy._y = (enemy._height / 2) + bg._y;
enemy.ySpeed = enemy.ySpeed * -1;
changeAim = true;
}
if (changeAim) {
tD = Math.atan2(char._y - enemy._y, char._x - enemy._x);
enemy.xSpeed = Math.cos(tD) * enemySpeeds[enemy.Type - 1];
enemy.ySpeed = Math.sin(tD) * enemySpeeds[enemy.Type - 1];
}
}
if (enemy.Type == teleportEnemy) {
enemy.teleportDelay = enemy.teleportDelay - 1;
if (((enemy.teleportDelay <= 0) && (!enemy.teleDis)) && (!enemy.teleApp)) {
enemy.teleDis = true;
}
if (enemy.teleDis) {
enemy._alpha = enemy._alpha - 5;
if (enemy._alpha <= 0) {
enemy.teleDis = false;
enemy.teleApp = true;
q = 10;
while (q > 0) {
createParticle(enemy);
q--;
}
enemy._x = randRange(bg._x, bg._x + bg._width);
enemy._y = randRange(bg._y, bg._y + bg._height);
while (Math.sqrt(Math.pow(enemy._x - char._x, 2) + Math.pow(enemy._y - char._y, 2)) < 100) {
enemy._x = randRange(bg._x, bg._x + bg._width);
enemy._y = randRange(bg._y, bg._y + bg._height);
}
}
}
if (enemy.teleApp) {
enemy._alpha = enemy._alpha + 5;
if (enemy._alpha >= 100) {
enemy.teleApp = false;
enemy.teleportDelay = 100 + random(200);
}
}
}
if (((enemy.Type == 5) || (enemy.Type == 15)) || (enemy.Type == 14)) {
} else {
enemy._rotation = (Math.atan2(enemy.ySpeed, enemy.xSpeed) * 180) / Math.PI;
}
if (enemy.Type == turretEnemy) {
enemy._rotation = enemy._rotation + 5;
}
enemy._x = enemy._x + enemy.xSpeed;
enemy._y = enemy._y + enemy.ySpeed;
if (enemy.Type == 8) {
enDist = Math.sqrt(Math.pow(char._x - enemy._x, 2) + Math.pow(char._y - enemy._y, 2));
if (enDist < 100) {
enemy._x = enemy._x + enemy.xSpeed;
enemy._y = enemy._y + enemy.ySpeed;
}
}
if (enemy.Type == immuneEnemy) {
enemy.immuneTimer = enemy.immuneTimer - 1;
if (enemy.immuneTimer <= 0) {
enemy._alpha = 100;
} else {
enemy._alpha = 50;
}
}
if (switchBack) {
enemy.Type = 16;
}
if (!enemy.beenOnStage) {
if ((((enemy._x >= (enemy._width / 2)) && (enemy._x <= (Stage.width - (enemy._width / 2)))) && (enemy._y >= (enemy._height / 2))) && (enemy._y <= (Stage.height - (enemy._height / 2)))) {
enemy.beenOnStage = true;
}
}
enemy.Shadow._x = enemy._x - 6;
enemy.Shadow._y = enemy._y + 6;
enemy.Shadow._rotation = enemy._rotation;
i--;
}
}
function removeEnemy(num, killed) {
if ((enemy.Type == 17) || (enemy.Type == 18)) {
} else {
enemiesOnStage = enemiesOnStage - 1;
}
enemy.Shadow.removeMovieClip();
if (killed) {
boom.start();
createExplosion(enemy._x, enemy._y, false);
if ((enemy.Type == 17) || (enemy.Type == 18)) {
} else {
kills = kills + 1;
}
score = score + enemy.Score;
c = enemy.coin1;
while (c > 0) {
createCoin(1);
c--;
}
c = enemy.coin2;
while (c > 0) {
createCoin(2);
c--;
}
c = enemy.coin3;
while (c > 0) {
createCoin(3);
c--;
}
if (firstMoney) {
firstMoney = false;
makeInfo(1);
}
if (enemy.Type == acidEnemy) {
ad = attachMovie("acid", "acid" + lowDepth, lowDepth++);
acids.push(ad);
ad._rotation = enemy._rotation + 90;
ad._x = enemy._x;
ad._y = enemy._y;
ad.life = 200;
}
if (enemy.Type == stickyEnemy) {
st = attachMovie("sticky", "sticky" + lowDepth, lowDepth++);
st._rotation = enemy._rotation + 90;
stickys.push(st);
st._x = enemy._x;
st._y = enemy._y;
st.life = 120;
}
if (enemy.Type == explodingEnemy) {
k = 0;
while (k < 5) {
createPart(enemy._x, enemy._y, 5);
k++;
}
}
if (enemy.Type == twoSplitEnemy) {
n = 0;
while (n < 2) {
createEnemy(18);
n++;
}
}
if (enemy.Type == fourSplitEnemy) {
n = 0;
while (n < 4) {
createEnemy(17);
n++;
}
}
}
enemy.removeMovieClip();
enemies.splice(num, 1);
a = enemies.length - 1;
while (a >= num) {
enemies[a].Index = enemies[a].Index - 1;
a--;
}
}
function createEnBullet(type) {
gunshot4.start();
bul = attachMovie("enemyBullet", "bullet" + depth, depth++);
bul._x = enemy._x;
bul._y = enemy._y;
if (type == 1) {
bulAng = Math.atan2(char._x - enemy._y, char._x - enemy._x);
}
if ((type == 2) || (type == 7)) {
bulAng = (enemy._rotation * Math.PI) / 180;
}
if ((type == 3) || (type == 8)) {
bulAng = Math.atan2(char._x - enemy._y, char._x - enemy._x) + ((Math.random() / 5) - 0.1);
bul._x = bul._x + ((Math.random() * 10) - 5);
bul._y = bul._y + ((Math.random() * 10) - 5);
}
if (type == 4) {
bulAng = ((enemy._rotation * Math.PI) / 180) + 90;
}
if (type == 5) {
bulAng = ((enemy._rotation * Math.PI) / 180) + 180;
}
if (type == 6) {
bulAng = ((enemy._rotation * Math.PI) / 180) + 270;
}
bul.xSpeed = Math.cos(bulAng) * 5;
bul.ySpeed = Math.sin(bulAng) * 5;
if (type == 7) {
bul.xSpeed = Math.cos(bulAng) * 15;
bul.ySpeed = Math.sin(bulAng) * 15;
}
if (type == 8) {
bul.xSpeed = Math.cos(bulAng) * 10;
bul.ySpeed = Math.sin(bulAng) * 10;
}
enemyBullets.push(bul);
}
function enBulletMovement() {
e = enemyBullets.length - 1;
while (e >= 0) {
enemyBullet = enemyBullets[e];
enemyBullet._x = enemyBullet._x + enemyBullet.xSpeed;
enemyBullet._y = enemyBullet._y + enemyBullet.ySpeed;
if (char.hitTest(enemyBullet._x, enemyBullet._y, true)) {
removeEnemyBullet();
charDamage(4);
}
if (((enemyBullet._x >= ((bg._width + bg._x) + (enemyBullet._width / 2))) && (enemyBullet.xSpeed > 0)) && (enemyBullet._x != undefined)) {
removeEnemyBullet();
}
if (((enemyBullet._x <= (((-enemyBullet._width) / 2) + bg._x)) && (enemyBullet.xSpeed < 0)) && (enemyBullet._x != undefined)) {
removeEnemyBullet();
}
if (((enemyBullet._y >= ((bg._height + bg._y) + (enemyBullet._height / 2))) && (enemyBullet.ySpeed > 0)) && (enemyBullet._x != undefined)) {
removeEnemyBullet();
}
if (((enemyBullet._y <= (((-enemyBullet._height) / 2) + bg._y)) && (enemyBullet.ySpeed < 0)) && (enemyBullet._x != undefined)) {
removeEnemyBullet();
}
e--;
}
}
function removeEnemyBullet() {
enemyBullet.removeMovieClip();
enemyBullets.splice(e, 1);
}
function trailMovement() {
t = trails.length - 1;
while (t >= 0) {
trail = trails[t];
trail._xscale = (trail._yscale = trail._yscale - 1);
trail._alpha = trail._alpha - 3;
if (trail._alpha <= 0) {
removeTrail();
}
t--;
}
}
function removeTrail() {
trail.removeMovieClip();
trails.splice(t, 1);
}
function acidMovement() {
a = acids.length - 1;
while (a >= 0) {
acid = acids[a];
acid.life = acid.life - 1;
if (acid.life <= 20) {
acid._alpha = acid.life * 5;
if (acid.life <= 0) {
removeAcid();
}
}
if (acid.hitTest(char._x, char._y, true) && (acid._x != undefined)) {
charDamage(20);
removeAcid();
}
a--;
}
}
function removeAcid() {
acid.removeMovieClip();
acids.splice(a, 1);
}
function stickyMovement() {
inStick = false;
s = stickys.length - 1;
while (s >= 0) {
sticky = stickys[s];
sticky.life = sticky.life - 1;
if (sticky.life <= 20) {
sticky._alpha = sticky.life * 5;
if (sticky.life <= 0) {
removeSticky();
}
}
if (char.hitTest(sticky) && (sticky._x != undefined)) {
inStick = true;
}
s--;
}
}
function removeSticky() {
sticky.removeMovieClip();
stickys.splice(s, 1);
}
function createPart(xPlace, yPlace, ptSpeed) {
pt = attachMovie("part1", "part" + depth, depth++);
pt._x = xPlace;
pt._y = yPlace;
parts.push(pt);
ptDir = (randRange(0, 360) * Math.PI) / 180;
pt.xSpeed = (Math.cos(ptDir) * ptSpeed) * (Math.random() + 1);
pt.ySpeed = (Math.sin(ptDir) * ptSpeed) * (Math.random() + 1);
pt.Rotation = (Math.random() * 10) - 5;
}
function partMovement() {
p = parts.length - 1;
while (p >= 0) {
part = parts[p];
part._x = part._x + part.xSpeed;
part._y = part._y + part.ySpeed;
part._rotation = part._rotation + part.Rotation;
if (part.hitTest(char)) {
removePart();
charDamage(10);
}
if ((part._x >= ((bg._width + bg._x) + (part._width / 2))) && (part._x != undefined)) {
removePart();
}
if ((part._x <= (((-part._width) / 2) + bg._x)) && (part._x != undefined)) {
removePart();
}
if ((part._y >= ((bg._height + bg._y) + (part._height / 2))) && (part._x != undefined)) {
removePart();
}
if ((part._y <= (((-part._height) / 2) + bg._y)) && (part._x != undefined)) {
removePart();
}
p--;
}
}
function removePart() {
part.removeMovieClip();
parts.splice(p, 1);
}
function createCoin(coinValue) {
if (coinValue == 1) {
cn = attachMovie("coin1", "coin" + lowDepth, lowDepth++);
cn.Value = 1;
}
if (coinValue == 2) {
cn = attachMovie("coin2", "coin" + lowDepth, lowDepth++);
cn.Value = 4;
}
if (coinValue == 3) {
cn = attachMovie("coin3", "coin" + lowDepth, lowDepth++);
cn.Value = 64;
}
cn._x = enemy._x;
cn._y = enemy._y;
cnSpeed = Math.random() * 3;
cnDir = (randRange(1, 360) * Math.PI) / 180;
cn.xSpeed = Math.cos(cnDir) * cnSpeed;
cn.ySpeed = Math.sin(cnDir) * cnSpeed;
cn.life = 250;
coins.push(cn);
}
function coinMovement() {
i = coins.length - 1;
while (i >= 0) {
coin = coins[i];
coin._x = coin._x + coin.xSpeed;
coin._y = coin._y + coin.ySpeed;
coin.xSpeed = coin.xSpeed * coinFriction;
coin.ySpeed = coin.ySpeed * coinFriction;
dist = Math.sqrt(Math.pow(coin._x - char._x, 2) + Math.pow(coin._y - char._y, 2));
if (dist < 100) {
ang = Math.atan2(coin._y - char._y, coin._x - char._x);
coin._x = coin._x + ((Math.cos(ang) * (-(100 - dist))) / 4);
coin._y = coin._y + ((Math.sin(ang) * (-(100 - dist))) / 4);
}
coin.life = coin.life - 1;
if (coin.life <= 25) {
coin._alpha = coin.life * 4;
}
if (coin.life <= 0) {
removeCoin(false);
}
if (char.hitTest(coin)) {
removeCoin(true);
}
i--;
}
}
function removeCoin(giveMoney) {
if (giveMoney) {
mr = attachMovie("moneyRing", "moneyRing" + highDepth, highDepth++);
mr._x = coin._x;
mr._y = coin._y;
moneyRings.push(mr);
money = money + coin.Value;
bubble.start();
}
coin.removeMovieClip();
coins.splice(i, 1);
}
function moneyRingMovement() {
r = moneyRings.length - 1;
while (r >= 0) {
moneyRing = moneyRings[r];
if (moneyRing._currentframe == 15) {
removeMoneyRing();
}
r--;
}
}
function removeMoneyRing() {
moneyRing.removeMovieClip();
moneyRings.splice(r, 1);
}
function makeInfo(num) {
info._x = (Stage.width / 2) - _root._x;
info._y = (Stage.height / 2) - _root._y;
gamePause = true;
buttonHoverFrame(info.okay);
t = infoItems.length - 1;
while (t >= 0) {
infoItems[t]._alpha = 0;
if (Math.floor(t / 2) == (num - 1)) {
infoItems[t]._alpha = 100;
}
t--;
}
info.infoTxt.htmlText = bold(infos[num - 1]);
info.okay.onRelease = function () {
info._x = -1000;
gamePause = false;
if (num == 5) {
blackScreenStart = true;
failedTest();
}
};
}
function createLevelSelect() {
ls = attachMovie("levelSelect", "levelSelect", 906033);
ls._x = Stage.width / 2;
ls._y = Stage.height / 2;
ls.alphaIncrease = true;
ls.alphaDecrease = false;
levelButtons = new Array(ls.f1, ls.f2, ls.f3, ls.f4, ls.f5, ls.f6, ls.f7, ls.f8, ls.f9, ls.f10, ls.f11, ls.f12, ls.f13, ls.f14, ls.f15, ls.f16, ls.f17, ls.f18, ls.f19, ls.f20, ls.f21, ls.f22, ls.f23, ls.f24, ls.f25, ls.f26, ls.f27, ls.f28, ls.f29, ls.f30, ls.f31, ls.f32);
k = levelButtons.length - 1;
while (k >= 0) {
createLevelButton(levelButtons[k], k + 1);
k--;
}
}
function createLevelButton(button, num) {
if (num > levelsUnlocked) {
button.gotoAndStop(3);
} else {
button.lNum.htmlText = bold(num);
button.onRollOver = function () {
rollover.start();
button.gotoAndStop(2);
button.lNum.htmlText = bold(num);
};
button.onRollOut = function () {
button.gotoAndStop(1);
button.lNum.htmlText = bold(num);
};
button.onRelease = function () {
enemiesOnStage = 0;
ls.alphaDecrease = true;
gamePause = false;
bssDelay = 0;
pickUpDelay = false;
blackScreenStart = false;
resetChar();
bombs = bombLevel - 1;
bombDelay = 0;
armors = armorLevel - 1;
day = day + 1;
level = num;
bombOnStage = false;
bg.gotoAndStop(Math.floor((level - 1) / 8) + 1);
resetDayNum();
};
}
}
function createShop(fadeIn) {
enemyTypes = 1;
kills = 0;
health = maxHealth;
saveGame();
saveMessage.removeMovieClip();
gamePause = true;
shop = attachMovie("shop", "shop", 905500);
clearScreen();
shopManager();
shop._x = Stage.width / 2;
shop._y = Stage.height / 2;
i = enemiesPerLevelC.length - 1;
while (i >= 0) {
k = enemiesPerLevelC[i].length - 1;
while (k >= 0) {
enemiesPerLevel[i][k] = enemiesPerLevelC[i][k];
k--;
}
i--;
}
}
function buttonHoverAlpha(button) {
button.onRollOver = function () {
button._alpha = 75;
};
button.onRollOut = function () {
button._alpha = 100;
};
button.onReleaseOutside = function () {
button._alpha = 100;
};
}
function buttonHoverFrame(button) {
button.onRollOver = function () {
rollover.start();
button.gotoAndStop(2);
};
button.onRollOut = function () {
button.gotoAndStop(1);
};
button.onReleaseOutside = function () {
button.gotoAndStop(1);
};
}
function shaker() {
if (shake == 0) {
} else if (shake == 1) {
shake = shake + 1;
_root._x = _root._x + (Math.cos((char._rotation * Math.PI) / 180) * 5);
_root._y = _root._y + (Math.sin((char._rotation * Math.PI) / 180) * 5);
} else if (shake == 2) {
shake = 3;
_root._x = Math.cos((char._rotation * Math.PI) / 180) * 4;
_root._y = Math.sin((char._rotation * Math.PI) / 180) * 4;
} else if (shake == 3) {
shake = 4;
_root._x = Math.cos((char._rotation * Math.PI) / 180) * 3;
_root._y = Math.sin((char._rotation * Math.PI) / 180) * 3;
} else if (shake == 4) {
shake = 0;
_root._x = 0;
_root._y = 0;
}
if (gamePause) {
_root._x = 0;
_root._y = 0;
}
HUD._x = HUDX - _root._x;
HUD._y = HUDY - _root._y;
}
function randRange(smallNum, bigNum) {
return(Math.floor(Math.random() * ((bigNum - smallNum) + 1)) + smallNum);
}
function blackScreen() {
if (blackScreenStart) {
i = 1;
while (i >= 0) {
bser = attachMovie("bs", "bs" + topDepth, topDepth++);
squares.push(bser);
bser._x = (squaresAdded % (Stage.width / bser._width)) * bser._width;
bser._y = Math.floor(squaresAdded / (Stage.width / bser._width)) * bser._height;
squaresAdded = squaresAdded + 1;
if ((squaresAdded + 1) >= (((Stage.width / bser._width) * (Stage.height / bser._height)) + 175)) {
saveMessage = attachMovie("saveMessage", "saveMessage", 970500);
saveMessage._x = Stage.width / 2;
saveMessage._y = Stage.height / 2;
}
if (squaresAdded >= (((Stage.width / bser._width) * (Stage.height / bser._height)) + 175)) {
createShop(false);
blackScreenGo = true;
blackScreenStart = false;
}
i--;
}
}
}
function squareRemover() {
if (blackScreenGo && (squaresAdded > 0)) {
i = 1;
while (i >= 0) {
squares[0].removeMovieClip();
squares.splice(0, 1);
squaresAdded = squaresAdded - 1;
i--;
}
}
if ((squaresAdded <= 0) && (blackScreenGo)) {
blackScreenGo = false;
}
}
function alphaHover(button) {
button.onRollOver = function () {
button._alpha = 75;
};
button.onRollOut = function () {
button._alpha = 100;
};
}
stop();
var bigExplosion = new Sound();
bigExplosion.attachSound("bigExplosion.mp3");
var boom = new Sound();
boom.attachSound("boom.mp3");
var bubble = new Sound();
bubble.attachSound("bubble.mp3");
var electricity = new Sound();
electricity.attachSound("electricity.mp3");
var gunshot1 = new Sound();
gunshot1.attachSound("gunshot1.mp3");
var gunshot2 = new Sound();
gunshot2.attachSound("gunshot2.mp3");
var gunshot3 = new Sound();
gunshot3.attachSound("gunshot3.mp3");
var gunshot4 = new Sound();
gunshot4.attachSound("gunshot4.mp3");
var gunshot5 = new Sound();
gunshot5.attachSound("gunshot5.mp3");
var gunshot6 = new Sound();
gunshot6.attachSound("gunshot6.mp3");
var laserShot = new Sound();
laserShot.attachSound("laserShot.mp3");
var shotHit = new Sound();
shotHit.attachSound("shotHit.mp3");
var rollover = new Sound();
rollover.attachSound("rollover.mp3");
var reload = new Sound();
reload.attachSound("reload.mp3");
var song = new Sound();
song.attachSound("song.mp3");
song.start(0, 999);
var totalBlur = 8;
var noBlur = 0;
init();
keyListener = new Object();
keyListener.onKeyDown = function () {
num = Key.getAscii();
if (num == 113) {
gunNum = 1;
while (!weaponsOwned[(gunUsed - 1) - gunNum]) {
gunNum = gunNum + 1;
if (((gunUsed - 1) - gunNum) <= -1) {
gunUsed = 14;
gunNum = 0;
}
}
gunUsed = gunUsed - gunNum;
toBall = true;
updateStats();
}
if (num == 101) {
gunNum = 1;
while (!weaponsOwned[(gunUsed - 1) + gunNum]) {
gunNum = gunNum + 1;
if (((gunUsed - 1) + gunNum) >= 13) {
gunUsed = 1;
gunNum = 0;
}
}
gunUsed = gunUsed + gunNum;
toBall = true;
updateStats();
}
if (num == 48) {
num = num + 10;
}
if (((num >= 49) && (num <= 58)) && (weaponsOwned[num - 49])) {
gunUsed = num - 48;
toBall = true;
updateStats();
}
if ((num == 114) && (reloadTimers[gunUsed - 1] <= 0)) {
reloadTimers[gunUsed - 1] = weaponReloadTimes[weaponReloadTimeLevels[gunUsed - 1] - 1][gunUsed - 1];
}
if (num == 112) {
createOptions();
}
};
Key.addListener(keyListener);
toBall = false;
toWeapon = false;
pSymbol._alpha = 0;
pSymbol.swapDepths(900950);
sBlur = 0;
gameStarted = false;
particles = new Array();
bombOnStage = false;
weaponCosts = new Array(10, 30, 60, 120, 200, 400, 800, 1600, 3200, 6400, 10000, 15000, 20000, 30000);
weaponDescriptions = new Array("The pistol shoots weak and slow bullets.", "The defense gun shoots from both the front and back of the robot.", "The 4 sided gun shoots out of all four sides of the robot.", "The bouncy gun shoots bullets that will bounce off of the side of the arena.", "The homing gun shoots bullets that will home in on an enemy.", "The machine gun shoots quickly, but lacks power.", "The split gun shoots out two bullets instead of one.", "The sniper rifle shoots fast bullets and is very powerful, but there is a long wait between shots.", "The shotgun shoots a spread of three bullets.", "The flak gun shoots several bullets in a random formation.", "The chain gun shoots very quickly and has moderately powerful bullets.", "The rocket gun shoots out rockets that will explode upon collision with an enemy doing splash damage.", "The rail gun shoots out a beam which damage any enemy caught in it.", "The electricity gun shoots electricity doing extensive damage to anything that gets in it's way.");
weapon1Damages = new Array(1, 1, 1, 2, 2, 4, 4, 15, 5, 15, 18, 35, 30, 3);
weapon2Damages = new Array(2, 2, 2, 4, 3, 6, 6, 25, 10, 22, 25, 50, 50, 6);
weapon3Damages = new Array(3, 3, 3, 6, 4, 8, 8, 35, 15, 30, 35, 70, 70, 9);
weaponDamages = new Array(weapon1Damages, weapon2Damages, weapon3Damages);
weaponDamageCosts1 = new Array(15, 30, 60, 120, 200, 400, 800, 1600, 3200, 6400, 10000, 15000, 20000, 30000);
weaponDamageCosts2 = new Array(50, 60, 120, 200, 400, 800, 1600, 3200, 6400, 10000, 15000, 20000, 30000, 40000);
weaponDamageCosts = new Array(weaponDamageCosts1, weaponDamageCosts2);
weapon1ReloadTimes = new Array(20, 20, 20, 25, 30, 35, 40, 20, 50, 55, 60, 25, 15, 50);
weapon2ReloadTimes = new Array(15, 15, 15, 20, 22, 30, 30, 15, 40, 45, 45, 18, 10, 30);
weapon3ReloadTimes = new Array(10, 10, 10, 15, 15, 20, 20, 10, 25, 30, 30, 10, 5, 20);
weaponReloadTimes = new Array(weapon1ReloadTimes, weapon2ReloadTimes, weapon3ReloadTimes);
weaponReloadTimeCosts1 = new Array(10, 15, 30, 60, 100, 200, 400, 800, 1600, 3200, 5000, 7000, 10000, 15000);
weaponReloadTimeCosts2 = new Array(15, 30, 60, 120, 200, 400, 800, 1600, 3200, 6400, 10000, 15000, 20000, 30000);
weaponReloadTimeCosts = new Array(weaponReloadTimeCosts1, weaponReloadTimeCosts2);
weapon1ClipSizes = new Array(10, 10, 10, 15, 8, 50, 30, 4, 20, 20, 100, 8, 6, 200);
weapon2ClipSizes = new Array(15, 15, 15, 20, 12, 75, 45, 6, 30, 30, 150, 12, 9, 300);
weapon3ClipSizes = new Array(20, 20, 20, 25, 16, 100, 60, 8, 40, 40, 200, 16, 12, 400);
weaponClipSizes = new Array(weapon1ClipSizes, weapon2ClipSizes, weapon3ClipSizes);
weaponClipSizeCosts1 = new Array(5, 10, 15, 30, 50, 100, 200, 400, 800, 1600, 2500, 3500, 5000, 10000);
weaponClipSizeCosts2 = new Array(10, 15, 30, 60, 100, 200, 400, 800, 1600, 3200, 5000, 7000, 10000, 15000);
weaponClipSizeCosts = new Array(weaponClipSizeCosts1, weaponClipSizeCosts2);
weaponNames = new Array("Pistol", "Defense Gun", "4 Side Gun", "Bouncy Gun", "Homing Gun", "Machine Gun", "Split Gun", "Sniper Rifle", "Shotgun", "Flak Gun", "Chain Gun", "Rocket Gun", "Rail Gun", "Electric Gun");
shotDelayConst = new Array(10, 9, 8, 7, 5, 4, 6, 6, 6, 12, 4, 4, 4, 0);
shotDelay = 0;
bullets = new Array();
bulSpeeds = new Array(20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20);
missiles = new Array();
explosions = new Array();
lGo = 1;
shotFunctions = new Array(basicShot, defenseShot, side4Shot, bouncyShot, homingShot, machineShot, splitShot, sniperShot, shotgunShot, flakShot, chainShot, rocketShot, railShot, electricityShot);
mainArray = new Array(4);
i = 0;
while (i < 4) {
mainArray[i] = new Array(4);
j = 0;
while (j < 4) {
mainArray[i][j] = new Array();
j++;
}
i++;
}
mainArray2 = new Array(4);
i = 0;
while (i < 4) {
mainArray2[i] = new Array(4);
j = 0;
while (j < 4) {
mainArray2[i][j] = new Array();
j++;
}
i++;
}
enDelayConst = new Array(12, 20, 40, 50, 20, 30, 50, 50, 20, 30, 50, 50, 20, 50, 50, 50);
enDelayVariance = new Array(8, 10, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20);
enDelays = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
enemyRanges = new Array(0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16);
enemyRange = enemyRanges[level - 1];
enemiesOnStage = 0;
enemiesStageMax = new Array(20, 60, 30, 60, 60, 20, 40, 40, 40, 50, 40, 40, 40, 40, 40, 40, 15, 20, 30, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 20, 30, 32);
enemiesPerLevelType1C = new Array(20, 20, 0, 20, 60, 0, 15, 30, 0, 0, 0, 20, 0, 0, 20, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 0, 0, 0, 8, 10, 11);
enemiesPerLevelType2C = new Array(0, 20, 0, 20, 0, 0, 15, 0, 20, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 20, 0, 10, 0, 0, 10, 0, 0, 10, 0, 8, 10, 11);
enemiesPerLevelType3C = new Array(0, 0, 30, 20, 30, 0, 15, 30, 0, 0, 0, 20, 20, 0, 0, 0, 0, 0, 0, 20, 0, 10, 0, 0, 0, 0, 20, 0, 10, 8, 10, 11);
enemiesPerLevelType4C = new Array(0, 0, 0, 0, 0, 30, 15, 0, 0, 0, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 8, 10, 11);
enemiesPerLevelType5C = new Array(0, 0, 0, 0, 0, 0, 0, 20, 50, 0, 30, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 8, 10, 11);
enemiesPerLevelType6C = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 40, 20, 0, 40, 40, 0, 0, 0, 0, 0, 0, 10, 0, 0, 10, 0, 0, 0, 0, 8, 10, 11);
enemiesPerLevelType7C = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 40, 10, 0, 0, 20, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 10, 8, 10, 11);
enemiesPerLevelType8C = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 60, 0, 20, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 8, 10, 11);
enemiesPerLevelType9C = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 35, 0, 20, 20, 10, 0, 0, 0, 0, 20, 0, 0, 8, 10, 11);
enemiesPerLevelType10C = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 20, 20, 10, 0, 0, 0, 0, 0, 10, 0, 8, 10, 11);
enemiesPerLevelType11C = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 10, 20, 0, 20, 0, 0, 0, 0, 8, 10, 11);
enemiesPerLevelType12C = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 50, 0, 0, 0, 0, 10, 8, 10, 11);
enemiesPerLevelType13C = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 20, 0, 0, 0, 8, 10, 11);
enemiesPerLevelType14C = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 50, 0, 0, 8, 10, 11);
enemiesPerLevelType15C = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 8, 10, 11);
enemiesPerLevelType16C = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 8, 10, 11);
enemiesPerLevelC = new Array(enemiesPerLevelType1C, enemiesPerLevelType2C, enemiesPerLevelType3C, enemiesPerLevelType4C, enemiesPerLevelType5C, enemiesPerLevelType6C, enemiesPerLevelType7C, enemiesPerLevelType8C, enemiesPerLevelType9C, enemiesPerLevelType10C, enemiesPerLevelType11C, enemiesPerLevelType12C, enemiesPerLevelType13C, enemiesPerLevelType14C, enemiesPerLevelType15C, enemiesPerLevelType16C);
enemiesPerLevelType1 = new Array();
enemiesPerLevelType2 = new Array();
enemiesPerLevelType3 = new Array();
enemiesPerLevelType4 = new Array();
enemiesPerLevelType5 = new Array();
enemiesPerLevelType6 = new Array();
enemiesPerLevelType7 = new Array();
enemiesPerLevelType8 = new Array();
enemiesPerLevelType9 = new Array();
enemiesPerLevelType10 = new Array();
enemiesPerLevelType11 = new Array();
enemiesPerLevelType12 = new Array();
enemiesPerLevelType13 = new Array();
enemiesPerLevelType14 = new Array();
enemiesPerLevelType15 = new Array();
enemiesPerLevelType16 = new Array();
enemiesPerLevel = new Array(enemiesPerLevelType1, enemiesPerLevelType2, enemiesPerLevelType3, enemiesPerLevelType4, enemiesPerLevelType5, enemiesPerLevelType6, enemiesPerLevelType7, enemiesPerLevelType8, enemiesPerLevelType9, enemiesPerLevelType10, enemiesPerLevelType11, enemiesPerLevelType12, enemiesPerLevelType13, enemiesPerLevelType14, enemiesPerLevelType15, enemiesPerLevelType16);
i = enemiesPerLevelC.length - 1;
while (i >= 0) {
k = enemiesPerLevelC[i].length - 1;
while (k >= 0) {
enemiesPerLevel[i][k] = enemiesPerLevelC[i][k];
k--;
}
i--;
}
bssDelay = 0;
pickUpDelay = false;
moved = false;
Mouse.hide();
reticle.swapDepths(990000);
trailDelay = 0;
enemies = new Array();
enemySpeeds = new Array(1.5, 6, 0.1, 4, 4, 0.5, 4, 4, 4, 10, 0.15, 2, 4, 0, 5, 4, 4, 4);
enemyHealths = new Array(1, 2, 3, 1, 4, 6, 10, 12, 12, 25, 30, 30, 30, 40, 50, 60, 1, 5);
enemyDamages = new Array(25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25);
enemyScores = new Array(10, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20);
enemyCoins1 = new Array(1, 1, 3, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1);
enemyCoins2 = new Array(0, 0, 0, 1, 1, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 0, 0, 0);
enemyCoins3 = new Array(0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 0, 0);
enemyClips = new Array("enemy1", "enemy2", "enemy3", "enemy4", "enemy5", "enemy6", "enemy7", "enemy8", "enemy9", "enemy10", "enemy11", "enemy12", "enemy13", "enemy14", "enemy15", "enemy16", "enemy17", "enemy18");
enemyShadows = new Array("enemy1Shadow", "enemy2Shadow", "enemy3Shadow", "enemy4Shadow", "enemy5Shadow", "enemy6Shadow", "enemy7Shadow", "enemy8Shadow", "enemy9Shadow", "enemy10Shadow", "enemy11Shadow", "enemy12Shadow", "enemy13Shadow", "enemy14Shadow", "enemy15Shadow", "enemy16Shadow", "enemy17Shadow", "enemy18Shadow");
stickyEnemy = 3;
fourSplitEnemy = 4;
teleportEnemy = 5;
dodgeEnemy = 6;
twoSplitEnemy = 7;
immuneEnemy = 8;
behindEnemy = 9;
sniperEnemy = 10;
acidEnemy = 11;
explodingEnemy = 12;
chargeEnemy = 13;
turretEnemy = 14;
chaserEnemy = 15;
finalEnemy = 16;
enemyBullets = new Array();
trails = new Array();
acids = new Array();
stickys = new Array();
parts = new Array();
coins = new Array();
coinFriction = 0.85;
moneyRings = new Array();
infos = new Array("It appears the enemy dropped some scrap metal. It can be used to upgrade your robot in the shop!", "Press the 'SPACE' key to activate your bomb during a game to kill all surrounding enemies.", "Armor protects you from an extra hit delt by an enemy, it will be used automatically upon being damaged.", "You are now on Day 2 of your mission, the goal of the game is to win in as few days as possible.", "You died! Don't worry though, you can use the scrap you collected to upgrade your robot and try again.");
infoItems = new Array(info.s1, info.a1, info.s2, info.a2, info.s3, info.a3);
HUDX = HUD._x;
HUDY = HUD._y;
shaker();
mouseClicked = false;
MouseDown = false;
onMouseDown = function () {
MouseDown = true;
Mouse.hide();
mouseClicked = true;
};
onMouseUp = function () {
MouseDown = false;
};
squares = new Array();
squaresAdded = 0;
blackScreenStart = false;
blackScreenGo = false;
mainGame();
char._rotation = 270;
charShadow._rotation = 270;
if (!firstPlay) {
createShop(false);
gamePause = true;
gameStarted = true;
blackScreenStart = false;
blackScreenGo = false;
firstDay = false;
firstDeath = false;
ins.swapDepths(252153);
ins.removeMovieClip();
toBall = true;
}
alphaHover(pbtn);
alphaHover(mbtn);
alphaHover(qbtn);
pbtn.swapDepths(850200);
mbtn.swapDepths(850201);
qbtn.swapDepths(850202);
pbtn.onRelease = function () {
createOptions();
};
muted = false;
mbtn.onRelease = function () {
if (muted) {
muted = !muted;
song.setVolume(100);
} else {
muted = !muted;
song.setVolume(0);
}
};
qbtn.onRelease = function () {
if (_quality == "LOW") {
_quality = "MEDIUM";
} else if (_quality == "MEDIUM") {
_quality = "HIGH";
} else {
_quality = "LOW";
}
};
firstPlay = false;
Frame 5
delete onEnterFrame;
gameOverTxt.htmlText = bold(("It took you: " + day) + " Days");
btm.onRollOver = function () {
btm._alpha = 80;
};
btm.onRollOut = function () {
btm._alpha = 100;
};
btm.onRelease = function () {
gotoAndStop (3);
};
pmg.onRollOver = function () {
pmg._alpha = 80;
};
pmg.onRollOut = function () {
pmg._alpha = 100;
};
pmg.onRelease = function () {
getURL ("http://armorgames.com", "_BLANK");
};
Instance of Symbol 88 MovieClip in Frame 5
on (release) {
getURL ("http://armorgames.com", "_BLANK");
}
Frame 6
delete onEnterFrame;
btm.onRollOver = function () {
btm._alpha = 80;
};
btm.onRollOut = function () {
btm._alpha = 100;
};
btm.onRelease = function () {
gotoAndStop (3);
};
com.onRollOver = function () {
com._xscale = (com._yscale = 110);
};
com.onRollOut = function () {
com._xscale = (com._yscale = 100);
};
com.onRelease = function () {
getURL ("http://bea-d.be/deseo.htm", "_BLANK");
};
Instance of Symbol 670 MovieClip in Frame 6
on (release) {
getURL ("http://armorgames.com", "_BLANK");
}
Symbol 17 MovieClip [flashDeath] Frame 10
this.removeMovieClip();
Symbol 671 MovieClip [__Packages.Playtomic.LogRequest] Frame 0
class Playtomic.LogRequest
{
var Pieces;
function LogRequest () {
}
function Queue(data) {
Pieces++;
Data = Data + (((Data == "") ? "" : "~") + data);
if ((Pieces == 8) || (Data.length > 300)) {
Pieces = 0;
Ready = true;
}
}
function Send() {
var _local2 = new LoadVars();
_local2.load(((((((((("http://g" + Playtomic.Log.GUID) + ".api.playtomic.com/Tracker/q.aspx?swfid=") + Playtomic.Log.SWFID) + "&q=") + Data) + "&url=") + Playtomic.Log.SourceUrl) + "&") + Math.random()) + "z", null, "POST");
}
var Data = "";
var Ready = false;
}
Symbol 672 MovieClip [__Packages.Playtomic.Log] Frame 0
class Playtomic.Log
{
static var SourceUrl, Cookie;
function Log () {
}
static function View(swfid, guid, defaulturl) {
if (swfid == undefined) {
swfid = 0;
}
if (guid == undefined) {
guid = "";
}
if (defaulturl == undefined) {
defaulturl = "";
}
if (SWFID > 0) {
return(undefined);
}
SWFID = swfid;
GUID = guid;
Enabled = true;
if ((SWFID == 0) || (GUID == "")) {
Enabled = false;
return(undefined);
}
if (((defaulturl.indexOf("http://") != 0) && (System.security.sandboxType != "localWithNetwork")) && (System.security.sandboxType != "localTrusted")) {
Enabled = false;
return(undefined);
}
SourceUrl = GetUrl(defaulturl);
if (((SourceUrl == null) || (SourceUrl == "")) || (SourceUrl.indexOf("https://") == 0)) {
Enabled = false;
return(undefined);
}
Cookie = SharedObject.getLocal("playtomic");
var _local2 = GetCookie("views");
_local2++;
SaveCookie("views", _local2);
Send("v/" + _local2, true);
_global.setTimeout(PingServer, 60000);
}
static function ForceSend() {
Request.Send();
Request = new Playtomic.LogRequest();
}
static function Play() {
if (!Enabled) {
return(undefined);
}
LevelCounters = new Array();
LevelAverages = new Array();
LevelRangeds = new Array();
Plays++;
Send("p/" + Plays);
}
static function CustomMetric(name, group, unique) {
if (!Enabled) {
return(undefined);
}
if ((group == null) || (group == undefined)) {
group = "";
}
if ((unique == null) || (unique == undefined)) {
unique = false;
}
if (unique) {
if (Customs.indexOf(name) > -1) {
return(undefined);
}
Customs.push(name);
}
Send((("c/" + Clean(name)) + "/") + Clean(group));
}
static function Link(url, name, group, unique, total, fail) {
if (!Enabled) {
return(undefined);
}
Send((((((((((("l/" + Clean(name)) + "/") + Clean(group)) + "/") + Clean(url)) + "/") + unique) + "/") + total) + "/") + fail);
}
static function LevelCounterMetric(name, level, unique) {
if (!Enabled) {
return(undefined);
}
if (unique) {
if (LevelCounters.indexOf(name) > -1) {
return(undefined);
}
LevelCounters.push(name);
}
Send((("lc/" + Clean(name)) + "/") + Clean(level));
}
static function LevelRangedMetric(name, level, value, unique) {
if (!Enabled) {
return(undefined);
}
if (unique) {
if (LevelRangeds.indexOf(name) > -1) {
return(undefined);
}
LevelRangeds.push(name);
SaveCookie("lr_" + name, 1);
}
Send((((("lr/" + Clean(name)) + "/") + Clean(level)) + "/") + value);
}
static function LevelAverageMetric(name, level, value, unique) {
if (!Enabled) {
return(undefined);
}
if (unique) {
if (LevelAverages.indexOf(name) > -1) {
return(undefined);
}
LevelAverages.push(name);
}
Send((((("la/" + Clean(name)) + "/") + Clean(level)) + "/") + value);
}
static function PingServer() {
if (!Enabled) {
return(undefined);
}
Pings++;
Send((("t/" + (FirstPing ? "y" : "n")) + "/") + Pings, true);
if (FirstPing) {
FirstPing = false;
setInterval(PingServer, 60000);
}
}
static function Send(s, view) {
if (view == undefined) {
view = false;
}
Request.Queue(s);
if ((Request.Ready || (view)) || (!Queue)) {
Request.Send();
Request = new Playtomic.LogRequest();
}
}
static function GetCookie(n) {
if (Cookie.data[n] == undefined) {
return(0);
}
return(parseInt(Cookie.data[n]));
}
static function SaveCookie(n, v) {
var _local1 = SharedObject.getLocal("swfstats");
_local1.data[n] = v.toString();
_local1.flush();
}
static function Clean(s) {
while (s.indexOf("/") > -1) {
s = s.replace("/", "\\");
}
while (s.indexOf("~") > -1) {
s = s.replace("~", "-");
}
return(escape(s));
}
static function Replace(str, find, replace) {
return(str.split(find).join(replace));
}
static function GetUrl(defaulturl) {
return(defaulturl);
}
static var Enabled = false;
static var Queue = true;
static var SWFID = 0;
static var GUID = "";
static var Request = new Playtomic.LogRequest();
static var FirstPing = true;
static var Pings = 0;
static var Plays = 0;
static var HighestGoal = 0;
static var Customs = new Array();
static var LevelCounters = new Array();
static var LevelAverages = new Array();
static var LevelRangeds = new Array();
}
Symbol 673 MovieClip [__Packages.mx.transitions.OnEnterFrameBeacon] Frame 0
class mx.transitions.OnEnterFrameBeacon
{
function OnEnterFrameBeacon () {
}
static function init() {
var _local4 = _global.MovieClip;
if (!_root.__OnEnterFrameBeacon) {
mx.transitions.BroadcasterMX.initialize(_local4);
var _local3 = _root.createEmptyMovieClip("__OnEnterFrameBeacon", 9876);
_local3.onEnterFrame = function () {
_global.MovieClip.broadcastMessage("onEnterFrame");
};
}
}
static var version = "1.1.0.52";
}
Symbol 674 MovieClip [__Packages.mx.transitions.BroadcasterMX] Frame 0
class mx.transitions.BroadcasterMX
{
var _listeners;
function BroadcasterMX () {
}
static function initialize(o, dontCreateArray) {
if (o.broadcastMessage != undefined) {
delete o.broadcastMessage;
}
o.addListener = mx.transitions.BroadcasterMX.prototype.addListener;
o.removeListener = mx.transitions.BroadcasterMX.prototype.removeListener;
if (!dontCreateArray) {
o._listeners = new Array();
}
}
function addListener(o) {
removeListener(o);
if (broadcastMessage == undefined) {
broadcastMessage = mx.transitions.BroadcasterMX.prototype.broadcastMessage;
}
return(_listeners.push(o));
}
function removeListener(o) {
var _local2 = _listeners;
var _local3 = _local2.length;
while (_local3--) {
if (_local2[_local3] == o) {
_local2.splice(_local3, 1);
if (!_local2.length) {
broadcastMessage = undefined;
}
return(true);
}
}
return(false);
}
function broadcastMessage() {
var _local5 = String(arguments.shift());
var _local4 = _listeners.concat();
var _local6 = _local4.length;
var _local3 = 0;
while (_local3 < _local6) {
_local4[_local3][_local5].apply(_local4[_local3], arguments);
_local3++;
}
}
static var version = "1.1.0.52";
}
Symbol 675 MovieClip [__Packages.mx.transitions.Tween] Frame 0
class mx.transitions.Tween
{
var obj, prop, begin, useSeconds, _listeners, addListener, prevTime, _time, looping, _duration, broadcastMessage, isPlaying, _fps, prevPos, _pos, change, _intervalID, _startTime;
function Tween (obj, prop, func, begin, finish, duration, useSeconds) {
mx.transitions.OnEnterFrameBeacon.init();
if (!arguments.length) {
return;
}
this.obj = obj;
this.prop = prop;
this.begin = begin;
position = (begin);
this.duration = (duration);
this.useSeconds = useSeconds;
if (func) {
this.func = func;
}
this.finish = (finish);
_listeners = [];
addListener(this);
start();
}
function set time(t) {
prevTime = _time;
if (t > duration) {
if (looping) {
rewind(t - _duration);
update();
broadcastMessage("onMotionLooped", this);
} else {
if (useSeconds) {
_time = _duration;
update();
}
stop();
broadcastMessage("onMotionFinished", this);
}
} else if (t < 0) {
rewind();
update();
} else {
_time = t;
update();
}
//return(time);
}
function get time() {
return(_time);
}
function set duration(d) {
_duration = (((d == null) || (d <= 0)) ? (_global.Infinity) : (d));
//return(duration);
}
function get duration() {
return(_duration);
}
function set FPS(fps) {
var _local2 = isPlaying;
stopEnterFrame();
_fps = fps;
if (_local2) {
startEnterFrame();
}
//return(FPS);
}
function get FPS() {
return(_fps);
}
function set position(p) {
setPosition(p);
//return(position);
}
function setPosition(p) {
prevPos = _pos;
obj[prop] = (_pos = p);
broadcastMessage("onMotionChanged", this, _pos);
updateAfterEvent();
}
function get position() {
return(getPosition());
}
function getPosition(t) {
if (t == undefined) {
t = _time;
}
return(func(t, begin, change, _duration));
}
function set finish(f) {
change = f - begin;
//return(finish);
}
function get finish() {
return(begin + change);
}
function continueTo(finish, duration) {
begin = position;
this.finish = (finish);
if (duration != undefined) {
this.duration = (duration);
}
start();
}
function yoyo() {
continueTo(begin, time);
}
function startEnterFrame() {
if (_fps == undefined) {
_global.MovieClip.addListener(this);
} else {
_intervalID = setInterval(this, "onEnterFrame", 1000 / _fps);
}
isPlaying = true;
}
function stopEnterFrame() {
if (_fps == undefined) {
_global.MovieClip.removeListener(this);
} else {
clearInterval(_intervalID);
}
isPlaying = false;
}
function start() {
rewind();
startEnterFrame();
broadcastMessage("onMotionStarted", this);
}
function stop() {
stopEnterFrame();
broadcastMessage("onMotionStopped", this);
}
function resume() {
fixTime();
startEnterFrame();
broadcastMessage("onMotionResumed", this);
}
function rewind(t) {
_time = ((t == undefined) ? 0 : (t));
fixTime();
update();
}
function fforward() {
time = (_duration);
fixTime();
}
function nextFrame() {
if (useSeconds) {
time = ((getTimer() - _startTime) / 1000);
} else {
time = (_time + 1);
}
}
function onEnterFrame() {
nextFrame();
}
function prevFrame() {
if (!useSeconds) {
time = (_time - 1);
}
}
function toString() {
return("[Tween]");
}
function fixTime() {
if (useSeconds) {
_startTime = getTimer() - (_time * 1000);
}
}
function update() {
position = (getPosition(_time));
}
static var version = "1.1.0.52";
static var __initBeacon = mx.transitions.OnEnterFrameBeacon.init();
static var __initBroadcaster = mx.transitions.BroadcasterMX.initialize(mx.transitions.Tween.prototype, true);
function func(t, b, c, d) {
return(((c * t) / d) + b);
}
}
Symbol 676 MovieClip [__Packages.mx.transitions.easing.Strong] Frame 0
class mx.transitions.easing.Strong
{
function Strong () {
}
static function easeIn(t, b, c, d) {
t = t / d;
return((((((c * t) * t) * t) * t) * t) + b);
}
static function easeOut(t, b, c, d) {
t = (t / d) - 1;
return((c * (((((t * t) * t) * t) * t) + 1)) + b);
}
static function easeInOut(t, b, c, d) {
t = t / (d / 2);
if (t < 1) {
return(((((((c / 2) * t) * t) * t) * t) * t) + b);
}
t = t - 2;
return(((c / 2) * (((((t * t) * t) * t) * t) + 2)) + b);
}
static var version = "1.1.0.52";
}
Symbol 56 MovieClip Frame 1
_root.stop();
gotoAndPlay (2);
Symbol 56 MovieClip Frame 225
_root.nextFrame();
Symbol 67 MovieClip Frame 1
stop();
Symbol 103 MovieClip Frame 1
stop();
Symbol 103 MovieClip Frame 5
stop();
Symbol 117 MovieClip Frame 1
stop();
Symbol 124 MovieClip Frame 1
stop();
Instance of Symbol 32 MovieClip in Symbol 268 MovieClip [shop] Frame 1
on (release) {
getURL ("http://armorgames.com", "_BLANK");
}
Symbol 510 MovieClip Frame 48
_parent.removeMovieClip();
Symbol 519 MovieClip [bombBlast] Frame 66
stop();
Symbol 524 MovieClip [moneyRing] Frame 15
stop();
Symbol 544 MovieClip Frame 14
_parent.removeMovieClip();
Symbol 558 MovieClip Frame 12
_parent.removeMovieClip();
Symbol 573 MovieClip Frame 14
_parent.removeMovieClip();
Symbol 583 MovieClip Frame 1
stop();
Symbol 583 MovieClip Frame 3
stop();
Symbol 592 MovieClip [levelSelect] Frame 1
stop();
Symbol 600 MovieClip [dayMC] Frame 1
stop();
Symbol 600 MovieClip [dayMC] Frame 100
stop();
Symbol 618 MovieClip Frame 29
stop();
Symbol 618 MovieClip Frame 50
stop();
Symbol 618 MovieClip Frame 71
stop();
Symbol 637 MovieClip Frame 1
stop();