Frame 1
function round2(num) {
return(Math.round(num * 100) / 100);
}
copyright = "Copyright (c) 2005 by Yaroslav Yanovsky";
System.security.allowDomain("www.enkord.com");
if (bannerURL == undefined) {
bannerURL = "http://www.enkord.com/games/clashnslash/banner.swf";
}
lang = "en";
stop();
_focusrect = false;
Stage.showMenu = false;
Stage.width = 480;
Stage.height = 360;
Stage.scaleMode = "noScale";
percent_mc._xscale = 0;
var to = _root.getBytesTotal();
var prevLo = 0;
total_txt.text = round2(to / 1024).toString() + " KB";
var loadListener = new Object();
loadListener.onLoadError = function (target_mc, errorCode) {
preload_logo_mc._visible = true;
loaded_txt._visible = true;
total_txt._visible = true;
percent_mc._visible = true;
percent_txt._visible = true;
frame_mc._visible = true;
preload_logo_mc.onPress = function () {
getURL ("http://www.enkord.com/", "_blank");
};
};
if (downloadURL == undefined) {
preload_logo_mc._visible = false;
loaded_txt._visible = false;
total_txt._visible = false;
percent_mc._visible = false;
percent_txt._visible = false;
frame_mc._visible = false;
var mcLoader = new MovieClipLoader();
mcLoader.addListener(loadListener);
var mc = this.createEmptyMovieClip("bannerstub", this.getNextHighestDepth());
mcLoader.loadClip(bannerURL, mc);
}
ii = setInterval(function () {
var _local2 = _root.getBytesLoaded();
var _local4 = round2((_local2 - prevLo) / 64);
speed_txt.text = _local4.toString() + " Kb/s";
loaded_txt.text = Math.round(_local2 / 1024).toString() + " KB";
var _local3 = Math.round((_local2 / to) * 100);
percent_txt.text = _local3 + " %";
percent_mc._xscale = _local3;
prevLo = _local2;
if ((_local2 == to) && (preload_logo_mc._visible)) {
clearInterval(ii);
gotoAndPlay ("load");
}
}, 500);
Frame 3
function adjustScore(value) {
_root.score = _root.score + value;
if (_root.score < 0) {
_root.score = 0;
}
}
function togglePause() {
if (paused) {
message.gotoAndPlay("unpaused");
} else {
message.gotoAndPlay("paused");
}
togglePauseSilent();
}
function togglePauseSilent() {
paused = !paused;
}
function getEncodedValue(v, key) {
var _local1 = (v ^ key).toString();
var _local4 = new Array();
_local4.push(key);
var _local2 = new Array();
i = 0;
while (i < _local1.length) {
_local2.push(_local1.charCodeAt(i) ^ key);
i++;
}
_local4.push(_local2.length ^ key);
_local4 = _local4.concat(_local2);
return(_local4.join(","));
}
function getScoreEncoded() {
var _local5 = random(16777215);
var _local4 = random(16777215);
while (_local4 == _local5) {
_local4 = random(16777215);
}
var _local3 = random(16777215);
while ((_local3 == _local5) || (_local3 == _local4)) {
_local3 = random(16777215);
}
var _local2 = random(16777215);
while (((_local2 == _local5) || (_local2 == _local4)) || (_local2 == _local3)) {
_local2 = random(16777215);
}
var _local6 = _root.level + (6 * _root.difficulty);
return(new Array(getEncodedValue(_root.score, _local5), getEncodedValue(_local6, _local4), getEncodedValue(_root.score, _local3), getEncodedValue(_local6, _local2)));
}
function updateMouse() {
var _local3 = _root._xmouse;
var _local2 = _root._ymouse;
var _local4 = (((_local3 > 0) && (_local3 < 480)) && (_local2 > 0)) && (_local2 < 360);
if (_local4 != mouseInRect) {
if ((mouseInRect = _local4)) {
Mouse.hide();
cursor._visible = true;
} else {
Mouse.show();
cursor._visible = false;
}
}
cursor._x = _local3;
cursor._y = _local2;
}
function updateTitle() {
updateMouse();
}
function hideOffscreenStuff() {
ufo.gotoAndPlay("dead");
ufo2.gotoAndPlay("dead");
terran.gotoAndPlay("dead");
terran3.gotoAndPlay("dead");
mine.gotoAndPlay("dead");
mine2.gotoAndPlay("dead");
caskorange.gotoAndPlay("dead");
caskred.gotoAndPlay("dead");
caskyellow.gotoAndPlay("dead");
caskblue.gotoAndPlay("dead");
caskgreen.gotoAndPlay("dead");
box.gotoAndPlay("dead");
bullet1.gotoAndPlay("dead");
bullet2.gotoAndPlay("dead");
bullet3.gotoAndPlay("dead");
bullet4.gotoAndPlay("dead");
plasma.gotoAndPlay("dead");
aimsrc.gotoAndPlay("dead");
shiphpsrc.gotoAndPlay("dead");
shipxpsrc.gotoAndPlay("dead");
planethpsrc.gotoAndPlay("dead");
weaponsrc.gotoAndPlay("dead");
playersrc.gotoAndPlay("dead");
}
function upgradeNumberToName(num) {
switch (num) {
case 1 :
return("armor");
case 2 :
return("bulletspeed");
case 3 :
return("clipsize");
case 4 :
return("experience");
case 5 :
return("explosion");
case 6 :
return("reload");
case 7 :
return("repair");
case 8 :
return("shipspeed");
case 9 :
return("shotspeed");
}
}
function buildingNumberToName(num) {
switch (Number(num)) {
case 1 :
return("airport");
case 2 :
return("starport");
case 3 :
return("support1");
case 4 :
return("support2");
case 5 :
return("support3");
case 6 :
return("ship");
case 7 :
return("squadron");
case 8 :
return("powerplant");
case 9 :
return("mine");
}
}
function playSound(snd) {
if (_root.soundEnabled) {
_root.sound.gotoAndPlay(snd);
}
}
function playMusic(snd) {
if (_root.musicEnabled) {
stopAllSounds();
_root.sound.gotoAndPlay(snd);
}
}
var rootURL = "http://www.enkord.com/";
if (moreGamesURL == undefined) {
moreGamesURL = rootURL;
}
if (downloadURL == undefined) {
downloadURL = rootURL + "games/clashnslash/download/?from=webversion";
} else {
greatgames._visible = false;
greatgames_btn.enabled = false;
enkordgames._visible = false;
enkordgames_btn.enabled = false;
not_our_site = true;
}
if (orderURL == undefined) {
orderURL = rootURL + "games/clashnslash/order/?from=webversion";
}
if (hiscoreURL == undefined) {
hiscoreURL = rootURL + (not_our_site ? "games/clashnslash/online/hiscore-nolinks.php" : "games/clashnslash/online/hiscore.php");
}
var _r;
var paused = false;
var curscreen = "none";
var curweapon = 0;
aimsrc.duplicateMovieClip("cursor", 15000);
var mouseState = false;
var prevMouseState = false;
var gameInit = true;
var score = 0;
var difficulty = 0;
var musicEnabled = ((music_trig != undefined) ? false : true);
var soundEnabled = ((sound_trig != undefined) ? false : true);
signsound.gotoAndPlay((soundEnabled ? "on" : "off"));
signmusic.gotoAndPlay((musicEnabled ? "on" : "off"));
var mouseInRect = ((((x > 0) && (x < 480)) && (y > 0)) && (y < 360));
if (mouseInRect) {
Mouse.hide();
}
hideOffscreenStuff();
cursor.gotoAndPlay("arrow");
Frame 4
playMusic("menumusic");
Frame 5
_quality = "high";
updateTitle();
_root.bg.gotoAndStop("space1");
play();
Frame 6
updateTitle();
gotoAndPlay ("titlerepeat");
Frame 7
function doInitLevel1() {
game.weapon = new WeaponClass(10, 40, bullet1);
game.maxspawn = 40;
_root.curweapon = 0;
game.shipupgrades = true;
game.shipupgradeshint = true;
game.planetupgrades = false;
game.unlockedweapons = 1;
_root.bg.gotoAndStop("space1");
}
function doSpawnLevel1(count) {
if (count < 20) {
if (count > 17) {
var _local1 = 0;
while (_local1 <= 2) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll == 5) {
bonus = BONUS_EXPLOSION;
} else if (roll == 6) {
bonus = BONUS_SPREAD;
}
game.spawnOnscreen(0.2, mine, bonus);
_local1++;
}
}
var _local1 = 0;
while (_local1 < (((count % 2) == 0) ? 2 : 1)) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll == 5) {
bonus = BONUS_EXPLOSION;
} else if (roll == 6) {
bonus = BONUS_SPREAD;
}
game.spawnOffscreen(0.2, ufo, bonus);
_local1++;
}
} else if (count < 40) {
var _local1 = 0;
while (_local1 < 2) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll < 7) {
bonus = BONUS_EXPLOSION;
} else if (roll == 7) {
bonus = BONUS_NUKE;
} else if (roll <= 10) {
bonus = BONUS_SPREAD;
}
game.spawnOffscreen(0.2, ufo, bonus);
_local1++;
}
}
}
function doInitLevel2() {
game.weapon = new WeaponClass(25, 12, bullet2);
game.maxspawn = 60;
_root.curweapon = 1;
game.shipupgrades = true;
game.planetupgradeshint = true;
game.unlockedweapons = 1;
_root.bg.gotoAndStop("space1");
}
function doSpawnLevel2(count) {
if (count < 20) {
if (count > 17) {
var _local2 = 0;
while (_local2 <= (((count % 2) == 0) ? 2 : 1)) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll == 5) {
bonus = BONUS_EXPLOSION;
} else if (roll == 6) {
bonus = BONUS_NUKE;
}
game.spawnOnscreen(0.2, mine, bonus);
_local2++;
}
}
var _local2 = 0;
while (_local2 < (((count % 2) == 0) ? 2 : 1)) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll == 5) {
bonus = BONUS_EXPLOSION;
} else if (roll == 6) {
bonus = BONUS_SLIME;
}
game.spawnOffscreen(0.25, terran, bonus, true);
_local2++;
}
} else if (count < 40) {
if (count > 37) {
var _local2 = 0;
while (_local2 <= (((count % 2) == 0) ? 2 : 1)) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll == 5) {
bonus = BONUS_EXPLOSION;
}
game.spawnOnscreen(0.2, mine, bonus);
_local2++;
}
}
var _local2 = 0;
while (_local2 < (((count % 2) == 0) ? 2 : 1)) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll == 7) {
bonus = BONUS_NUKE;
} else if (roll <= 9) {
bonus = BONUS_SLIME;
}
game.spawnOffscreen(0.2, ufo2, bonus);
_local2++;
}
} else if (count < 60) {
var _local2 = 0;
while (_local2 < (((count % 2) == 0) ? 2 : 1)) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll == 7) {
bonus = BONUS_NUKE;
} else if (roll == 8) {
bonus = BONUS_SLIME;
}
game.spawnOffscreen(0.3, ufo2, bonus);
_local2++;
}
game.spawnOffscreen(0.2, ufo, 0);
}
}
function doInitLevel3() {
game.weapon = new WeaponClass(8, 30, bullet3);
game.weapon.isShrapnel = true;
_root.curweapon = 2;
game.maxspawn = 60;
game.shipupgrades = true;
game.unlockedweapons = 2;
_root.bg.gotoAndStop("space1");
}
function doSpawnLevel3(count) {
if (count < 20) {
game.spawnOnscreen(0.2, mine, 0);
if (count > 10) {
game.spawnOnscreen(0.3, mine2, 0);
}
} else if (count < 40) {
var _local1 = 0;
while (_local1 < (((count % 3) == 0) ? 3 : 2)) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll == 5) {
bonus = BONUS_SPREAD;
} else if (roll == 6) {
bonus = BONUS_ICE;
}
game.spawnOffscreen(0.2, ufo, bonus);
_local1++;
}
} else if (count < 60) {
var _local1 = 0;
while (_local1 < (((count % 3) == 0) ? 3 : 2)) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll < 7) {
bonus = BONUS_SPREAD;
} else if (roll == 7) {
bonus = BONUS_NUKE;
} else if (roll <= 10) {
bonus = BONUS_ICE;
}
game.spawnOffscreen(0.3, ufo2, bonus);
_local1++;
}
}
}
function doInitLevel4() {
game.weapon = new WeaponClass(8, 30, bullet3);
game.weapon.isShrapnel = true;
_root.curweapon = 2;
game.maxspawn = 60;
game.shipupgrades = true;
game.unlockedweapons = 3;
_root.bg.gotoAndStop("space2");
}
function doSpawnLevel4(count) {
if (count < 20) {
if (count > 15) {
var _local1 = 0;
while (_local1 <= 3) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll == 5) {
bonus = BONUS_EXPLOSION;
} else if (roll == 6) {
bonus = BONUS_ICE;
}
game.spawnOnscreen(0.3, mine, bonus);
_local1++;
}
}
var _local1 = 0;
while (_local1 < (((count % 2) == 0) ? 2 : 1)) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll == 5) {
bonus = BONUS_EXPLOSION;
} else if (roll == 6) {
bonus = BONUS_SLIME;
}
game.spawnOffscreen(0.25, terran, bonus, true);
_local1++;
}
} else if (count < 40) {
var _local1 = 0;
while (_local1 < (((count % 2) == 0) ? 2 : 1)) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll < 7) {
bonus = BONUS_EXPLOSION;
} else if (roll == 7) {
bonus = BONUS_NUKE;
} else if (roll <= 10) {
bonus = BONUS_ICE;
}
game.spawnOffscreen(0.3, ufo2, bonus);
_local1++;
}
} else if (count < 60) {
var _local1 = 0;
while (_local1 < (((count % 3) == 0) ? 2 : 1)) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll < 7) {
bonus = BONUS_EXPLOSION;
} else if (roll == 7) {
bonus = BONUS_NUKE;
} else if (roll <= 10) {
bonus = BONUS_SLIME;
}
game.spawnOnscreen(0.3, mine2, bonus);
_local1++;
}
game.spawnOffscreen(0.3, ufo2, 0);
}
}
function doInitLevel5() {
game.weapon = new WeaponClass(6, 40, bullet4);
game.weapon.isRocket = true;
_root.curweapon = 3;
game.maxspawn = 80;
game.unlockedweapons = 3;
_root.bg.gotoAndStop("space2");
}
function doSpawnLevel5(count) {
if (count < 20) {
if (count < 5) {
game.spawnOnscreen(0.3, mine2, 0);
}
if (count > 17) {
var _local2 = 0;
while (_local2 <= 2) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll == 5) {
bonus = BONUS_EXPLOSION;
} else if (roll == 6) {
bonus = BONUS_NUKE;
}
game.spawnOnscreen(0.2, mine, bonus);
_local2++;
}
}
var _local2 = 0;
while (_local2 < (((count % 2) == 0) ? 2 : 1)) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll == 5) {
bonus = BONUS_EXPLOSION;
} else if (roll == 6) {
bonus = BONUS_SPREAD;
}
game.spawnOffscreen(0.25, terran, bonus, true);
_local2++;
}
} else if (count < 40) {
if (count > 37) {
var _local2 = 0;
while (_local2 <= (((count % 3) == 0) ? 2 : 1)) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll == 5) {
bonus = BONUS_EXPLOSION;
}
game.spawnOnscreen(0.2, mine, bonus);
_local2++;
}
}
var _local2 = 0;
while (_local2 < (((count % 2) == 0) ? 2 : 1)) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll < 7) {
bonus = BONUS_EXPLOSION;
} else if (roll == 7) {
bonus = BONUS_NUKE;
} else if (roll <= 9) {
bonus = BONUS_ICE;
}
game.spawnOffscreen(0.3, ufo2, bonus);
_local2++;
}
} else if (count < 60) {
if (count > 55) {
var _local2 = 0;
while (_local2 <= (((count % 3) == 0) ? 2 : 1)) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll == 5) {
bonus = BONUS_EXPLOSION;
}
game.spawnOnscreen(0.3, mine2, bonus);
_local2++;
}
}
var _local2 = 0;
while (_local2 < (((count % 3) == 0) ? 2 : 1)) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll < 7) {
bonus = BONUS_EXPLOSION;
} else if (roll == 7) {
bonus = BONUS_NUKE;
} else if (roll == 8) {
bonus = BONUS_SLIME;
}
game.spawnOffscreen(0.35, terran3, bonus, true);
_local2++;
}
game.spawnOffscreen(0.2, ufo, 0);
} else if (count < 80) {
if (count > 75) {
var _local2 = 0;
while (_local2 <= (((count % 2) == 0) ? 2 : 1)) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll == 5) {
bonus = BONUS_NUKE;
} else if (roll == 6) {
bonus = BONUS_SLIME;
}
game.spawnOnscreen(0.3, mine2, bonus);
_local2++;
}
}
var _local2 = 0;
while (_local2 < (((count % 2) == 0) ? 2 : 1)) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll < 7) {
bonus = BONUS_EXPLOSION;
} else if (roll == 7) {
bonus = BONUS_NUKE;
}
game.spawnOffscreen(0.3, ufo2, bonus);
_local2++;
}
game.spawnOffscreen(0.35, terran3, 0, true);
}
}
function doInitLevel6() {
game.weapon = new WeaponClass(10, 40, bullet1);
_root.curweapon = 0;
game.maxspawn = 80;
game.unlockedweapons = 3;
_root.bg.gotoAndStop("space2");
}
function doSpawnLevel6(count) {
if (count < 20) {
if (count > 17) {
var _local2 = 0;
while (_local2 <= 2) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll == 5) {
bonus = BONUS_EXPLOSION;
} else if (roll == 6) {
bonus = BONUS_NUKE;
}
game.spawnOnscreen(0.2, mine, bonus);
_local2++;
}
}
var _local2 = 0;
while (_local2 < (((count % 2) == 0) ? 3 : 2)) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll == 5) {
bonus = BONUS_EXPLOSION;
} else if (roll == 6) {
bonus = BONUS_SPREAD;
}
game.spawnOffscreen(0.25, terran, bonus, true);
_local2++;
}
} else if (count < 40) {
if (count > 37) {
var _local2 = 0;
while (_local2 <= (((count % 3) == 0) ? 2 : 1)) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll == 5) {
bonus = BONUS_EXPLOSION;
}
game.spawnOnscreen(0.3, mine2, bonus);
_local2++;
}
}
var _local2 = 0;
while (_local2 < (((count % 2) == 0) ? 3 : 2)) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll < 7) {
bonus = BONUS_EXPLOSION;
} else if (roll == 7) {
bonus = BONUS_NUKE;
} else if (roll <= 9) {
bonus = BONUS_ICE;
}
game.spawnOffscreen(0.3, ufo2, bonus);
_local2++;
}
} else if (count < 60) {
if (count > 55) {
var _local2 = 0;
while (_local2 <= (((count % 3) == 0) ? 3 : 2)) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll == 5) {
bonus = BONUS_EXPLOSION;
}
game.spawnOnscreen(0.3, mine2, bonus);
_local2++;
}
}
var _local2 = 0;
while (_local2 < (((count % 3) == 0) ? 2 : 1)) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll < 7) {
bonus = BONUS_EXPLOSION;
} else if (roll == 7) {
bonus = BONUS_NUKE;
} else if (roll == 8) {
bonus = BONUS_SLIME;
}
game.spawnOffscreen(0.35, terran3, bonus, true);
_local2++;
}
game.spawnOffscreen(0.2, ufo, 0);
} else if (count < 80) {
if (count > 75) {
var _local2 = 0;
while (_local2 <= (((count % 2) == 0) ? 3 : 2)) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll == 5) {
bonus = BONUS_NUKE;
} else if (roll == 6) {
bonus = BONUS_SLIME;
}
game.spawnOnscreen(0.3, mine2, bonus);
_local2++;
}
}
var _local2 = 0;
while (_local2 < (((count % 2) == 0) ? 3 : 2)) {
bonus = 0;
roll = random(20);
if (roll < 5) {
bonus = BONUS_SCORE;
} else if (roll < 7) {
bonus = BONUS_EXPLOSION;
} else if (roll == 7) {
bonus = BONUS_NUKE;
}
game.spawnOffscreen(0.3, ufo2, bonus);
_local2++;
}
game.spawnOffscreen(0.35, terran3, 0, true);
}
}
var level = 1;
score = 0;
noshoot = false;
Frame 8
function deg2rad(fVal) {
return((fVal * Math.PI) / 180);
}
function rad2deg(fVal) {
return(fVal * 57.2957795130823);
}
function getLength(x, y) {
return(Math.sqrt((x * x) + (y * y)));
}
function setLength(x, y, len) {
var _local1 = getLength(x, y);
if (_local1 < 1E-5) {
return(undefined);
}
if (len > 1E-5) {
_local1 = _local1 / len;
x = x / _local1;
y = y / _local1;
} else {
x = 0;
y = 0;
}
return([x, y]);
}
function EntityClass(x, y, imc) {
imc.duplicateMovieClip("entity" + entityCounter, entityCounter);
this.mc = _root["entity" + entityCounter];
entityCounter++;
this.mc._x = x;
this.mc._y = y;
this.velocityX = 0;
this.velocityY = 0;
this.alive = true;
this.status = STATUS_NORMAL;
this.laststatus = 0;
this.bonus = 0;
}
function BonusClass(x, y, fx, imc) {
super(x, y, imc);
this.effect = fx;
}
function PlayerClass(imc) {
this.velocityX = 0;
this.velocityY = 0;
if (player) {
this.mc = player;
} else {
imc.duplicateMovieClip("player", guiDepth++);
this.mc = player;
}
this.maxhp = 18;
this.hp = this.maxhp;
this.lastdamage = 0;
this.lastrepair = 0;
this.damagepause = 40;
this.repairpause = 150;
this.respawnpause = respawnTime * 2;
this.xp = 0;
this.xplevel = 0;
shipxp.bar._xscale = 0;
}
function PlanetClass(imc) {
this.mc = imc;
this.velocityX = 0;
this.velocityY = 0;
this.maxhp = 200;
this.hp = this.maxhp;
this.xp = 0;
this.xplevel = 0;
this.lastexp = 0;
this.lastregen = 0;
planetxp.bar._xscale = 0;
}
function WeaponClass(clp, cd, imc) {
i = 1;
while (i <= 40) {
var obj = eval ("bulletcover" + i);
if (typeof(obj) == "movieclip") {
obj.removeMovieClip();
}
i++;
}
this.maxclip = clp;
this.clip = this.maxclip;
this.cooldown = cd;
this.lastshot = 0;
gui.clip.gotoAndPlay(this.clip + 2);
this.reloaded = 0;
this.mc = imc;
this.isShrapnel = false;
this.isRocket = false;
i = 1;
while (i <= 40) {
bulletcover.duplicateMovieClip("bulletcover" + i, 8000 + i);
var obj = _root["bulletcover" + i];
obj._x = 25 + (i * 12);
obj._y = 12;
obj._visible = i <= this.maxclip;
i++;
}
}
function GameClass() {
this.objects = new Array();
this.bullets = new Array();
this.bonuses = new Array();
this.player = new PlayerClass(playersrc);
this.player.mc.swapDepths(8000);
this.planet = new PlanetClass(planetsrc);
this.frames = 0;
this.spawnCounter = 0;
this.upgrades = new Array();
this.shipupgrades = true;
this.shipupgradeshint = false;
this.planetupgrades = true;
this.planetupgradeshint = false;
this.buildings = new Array();
this.unlockedweapons = 3;
}
var entityCounter = 100;
var orbitLength = 80;
var reloadTime = aimsrc.reload;
var reloadTimeUpgraded = aimsrc.reloadupgraded;
var respawnTime = aimsrc.respawn;
var guiDepth = 10000;
var levelCompleteMessageDisplayed = false;
var gameOverState = false;
CLEAN_PAUSE = 100;
SPAWN_PAUSE = 100;
_quality = "low";
_root.playMusic("gamemusic");
weaponsrc.duplicateMovieClip("weapon", guiDepth++);
weapon._x = 14;
weapon._y = 14;
message.currentleveltext = "LEVEL " + level;
i = 0;
while (i < difficulty) {
message.currentleveltext = message.currentleveltext + "*";
i++;
}
message.gotoAndPlay("level");
cursor.gotoAndStop("aim");
BONUS_EXPLOSION = 1;
BONUS_NUKE = 2;
BONUS_SPREAD = 3;
BONUS_SCORE = 4;
BONUS_SLIME = 5;
BONUS_ICE = 6;
STATUS_NORMAL = 0;
STATUS_SLIME = 1;
STATUS_ICE = 2;
STATUS_PERIOD = 200;
var bonusmc = new Array();
bonusmc[BONUS_EXPLOSION] = caskorange;
bonusmc[BONUS_NUKE] = caskred;
bonusmc[BONUS_SPREAD] = caskyellow;
bonusmc[BONUS_SCORE] = box;
bonusmc[BONUS_SLIME] = caskgreen;
bonusmc[BONUS_ICE] = caskblue;
SCORE_PLAYER_HIT_PENALTY = -500;
SCORE_PLAYER_DEATH_PENALTY = -5000;
SCORE_PLANET_HIT_PENALTY = -1000;
SCORE_SHOT_MISS_PENALTY = -50;
SCORE_SLIME_CATCH = 200;
SCORE_ICE_CATCH = 500;
SCORE_EXPLOSION_FACTOR = 8;
SCORE_NUKE_FACTOR = 4;
SCORE_SLIME_DEATH_FACTOR = 5;
SCORE_ICE_DEATH_FACTOR = 10;
SCORE_UPGRADE_FACTOR = 1.3;
shiphpsrc.duplicateMovieClip("shiphp", guiDepth++);
shiphp._x = 60;
shiphp._y = 344;
shipxpsrc.duplicateMovieClip("shipxp", guiDepth++);
shipxp._x = 72;
shipxp._y = 330;
planethpsrc.duplicateMovieClip("planethp", guiDepth++);
planethp._x = 420;
planethp._y = 344;
shipxpsrc.duplicateMovieClip("planetxp", guiDepth++);
planetxp._x = 432;
planetxp._y = 330;
mouseListener = new Object();
mouseListener.onMouseDown = function () {
mouseState = true;
};
mouseListener.onMouseUp = function () {
mouseState = false;
};
Mouse.addListener(mouseListener);
EntityClass.prototype.setMovement = function (x, y, vel) {
var _local2 = setLength(x - this.mc._x, y - this.mc._y, vel);
this.velocityX = _local2[0];
this.velocityY = _local2[1];
};
EntityClass.prototype.update = function () {
if (this.status != STATUS_NORMAL) {
if ((this.laststatus + STATUS_PERIOD) < game.frames) {
this.setStatus(STATUS_NORMAL);
}
if (this.status == STATUS_SLIME) {
this.mc._x = this.mc._x + (this.velocityX / 2);
this.mc._y = this.mc._y + (this.velocityY / 2);
}
} else {
this.mc._x = this.mc._x + this.velocityX;
this.mc._y = this.mc._y + this.velocityY;
}
};
EntityClass.prototype.die = function () {
if (this.alive) {
var _local2 = this.mc.score;
if (_local2 == undefined) {
_local2 = 0;
}
if (this.status == STATUS_SLIME) {
_local2 = _local2 * SCORE_SLIME_DEATH_FACTOR;
} else if (this.status == STATUS_SLIME) {
_local2 = _local2 * SCORE_ICE_DEATH_FACTOR;
}
if (game.upgrades[4]) {
_local2 = _local2 * SCORE_UPGRADE_FACTOR;
}
adjustScore(Math.round(_local2));
game.player.addExperience(Math.round(_local2));
this.mc.gotoAndPlay("decay");
} else {
this.mc.gotoAndPlay("dead");
}
this.alive = false;
if (this.bonus != 0) {
var _local3 = new BonusClass(this.mc._x, this.mc._y, this.bonus, bonusmc[this.bonus]);
game.addBonus(_local3);
}
};
EntityClass.prototype.dieSilent = function () {
this.alive = false;
this.mc.gotoAndPlay("dead");
};
EntityClass.prototype.setStatus = function (newstatus) {
if (newstatus == STATUS_NORMAL) {
this.mc.gotoAndPlay("alive");
this.status = newstatus;
this.laststatus = game.frames;
} else if (this.mc._currentframe == 1) {
this.status = newstatus;
if (newstatus == STATUS_SLIME) {
this.mc.gotoAndPlay("slime");
} else {
this.mc.gotoAndPlay("ice");
}
this.laststatus = game.frames;
}
};
BonusClass.prototype = new EntityClass();
BonusClass.prototype.die = function () {
super.die();
var _local3 = obj.mc.score;
if (_local3 == undefined) {
_local3 = 0;
}
if (this.effect == BONUS_EXPLOSION) {
for (i in game.bonuses) {
var obj = game.bonuses[i];
if ((((obj.alive && (obj.mc._x > (this.mc._x - 60))) && (obj.mc._x < (this.mc._x + 60))) && (obj.mc._y > (this.mc._y - 60))) && (obj.mc._y < (this.mc._y + 60))) {
obj.die();
}
adjustScore(_local3 * SCORE_EXPLOSION_FACTOR);
}
for (i in game.objects) {
var obj = game.objects[i];
if ((((obj.alive && (obj.mc._x > (this.mc._x - 70))) && (obj.mc._x < (this.mc._x + 70))) && (obj.mc._y > (this.mc._y - 70))) && (obj.mc._y < (this.mc._y + 70))) {
obj.die();
}
adjustScore(_local3 * SCORE_EXPLOSION_FACTOR);
}
} else if (this.effect == BONUS_NUKE) {
for (i in game.bonuses) {
var obj = game.bonuses[i];
if ((((obj.alive && (obj.mc._x > (this.mc._x - 90))) && (obj.mc._x < (this.mc._x + 90))) && (obj.mc._y > (this.mc._y - 90))) && (obj.mc._y < (this.mc._y + 90))) {
obj.die();
}
adjustScore(_local3 * SCORE_NUKE_FACTOR);
}
for (i in game.objects) {
var obj = game.objects[i];
if ((((obj.alive && (obj.mc._x > (this.mc._x - 100))) && (obj.mc._x < (this.mc._x + 100))) && (obj.mc._y > (this.mc._y - 100))) && (obj.mc._y < (this.mc._y + 100))) {
obj.die();
}
adjustScore(_local3 * SCORE_NUKE_FACTOR);
}
} else if (this.effect == BONUS_SPREAD) {
obj = new EntityClass(this.mc._x, this.mc._y, plasma);
obj.setMovement(this.mc._x - 10, this.mc._y, 7);
obj.mc._rotation = 270;
game.addBullet(obj);
obj = new EntityClass(this.mc._x, this.mc._y, plasma);
obj.setMovement(this.mc._x + 10, this.mc._y, 7);
obj.mc._rotation = 90;
game.addBullet(obj);
obj = new EntityClass(this.mc._x, this.mc._y, plasma);
obj.setMovement(this.mc._x, this.mc._y - 10, 7);
game.addBullet(obj);
obj = new EntityClass(this.mc._x, this.mc._y, plasma);
obj.setMovement(this.mc._x, this.mc._y + 10, 7);
obj.mc._rotation = 180;
game.addBullet(obj);
obj = new EntityClass(this.mc._x, this.mc._y, plasma);
obj.setMovement(this.mc._x - 10, this.mc._y - 10, 7);
obj.mc._rotation = -45;
game.addBullet(obj);
obj = new EntityClass(this.mc._x, this.mc._y, plasma);
obj.setMovement(this.mc._x + 10, this.mc._y - 10, 7);
obj.mc._rotation = 45;
game.addBullet(obj);
obj = new EntityClass(this.mc._x, this.mc._y, plasma);
obj.setMovement(this.mc._x - 10, this.mc._y + 10, 7);
obj.mc._rotation = 225;
game.addBullet(obj);
obj = new EntityClass(this.mc._x, this.mc._y, plasma);
obj.setMovement(this.mc._x + 10, this.mc._y + 10, 7);
obj.mc._rotation = 135;
game.addBullet(obj);
} else if (this.effect == BONUS_SLIME) {
for (i in game.objects) {
var obj = game.objects[i];
if ((((obj.alive && (obj.mc._x > (this.mc._x - 90))) && (obj.mc._x < (this.mc._x + 90))) && (obj.mc._y > (this.mc._y - 90))) && (obj.mc._y < (this.mc._y + 90))) {
obj.setStatus(STATUS_SLIME);
}
adjustScore(SCORE_SLIME_CATCH);
}
} else if (this.effect == BONUS_ICE) {
for (i in game.objects) {
var obj = game.objects[i];
if ((((obj.alive && (obj.mc._x > (this.mc._x - 90))) && (obj.mc._x < (this.mc._x + 90))) && (obj.mc._y > (this.mc._y - 90))) && (obj.mc._y < (this.mc._y + 90))) {
obj.setStatus(STATUS_ICE);
}
adjustScore(SCORE_ICE_CATCH);
}
}
};
PlayerClass.prototype = new EntityClass();
PlayerClass.prototype.xptable = [700, 4000, 9000, 18000, 30000, 46000, 70000, 100000, 130000, 170000, 1000000];
PlayerClass.prototype.addExperience = function (xpnum) {
if (!game.shipupgrades) {
return(undefined);
}
this.xp = this.xp + xpnum;
var _local3 = ((this.xplevel == 0) ? 0 : (this.xptable[this.xplevel - 1]));
shipxp.bar._xscale = ((this.xp - _local3) / (this.xptable[this.xplevel] - _local3)) * 100;
if (shipxp.bar._xscale > 100) {
shipxp.bar._xscale = 100;
}
if ((game.shipupgrades && (this.xp > this.xptable[this.xplevel])) && (shiphp.upgrade._currentframe == 1)) {
if (game.shipupgradeshint) {
shiphp.upgrade.gotoAndStop("hint");
game.shipupgradeshint = false;
togglePauseSilent();
} else {
shiphp.upgrade.gotoAndStop("on");
}
this.xplevel++;
_root.playSound("levelup");
}
};
PlayerClass.prototype.update = function () {
if (this.hp <= 0) {
var _local9 = this.respawnpause;
if (game.buildings[1]) {
if (game.buildings[2]) {
_local9 = _local9 * 0.5;
} else {
_local9 = _local9 * 0.75;
}
}
if ((this.lastdamage + _local9) < game.frames) {
this.hp = this.maxhp;
this.mc.gotoAndPlay("respawn");
shiphp.bar._xscale = 100;
}
return(undefined);
}
if (game.upgrades[7] && ((this.lastrepair + this.repairpause) < game.frames)) {
this.hp++;
if (this.hp > this.maxhp) {
this.hp = this.maxhp;
}
shiphp.bar._xscale = (this.hp / this.maxhp) * 100;
this.lastrepair = game.frames;
}
var _local4 = _xmouse - this.mc._x;
var _local5 = _ymouse - this.mc._y;
var _local7 = getLength(_local4, _local5);
var _local8;
if (_local7 > 100) {
var _local6 = (_local7 - 100) / 20;
if (_local6 > 2) {
_local6 = 2;
}
if (game.upgrades[8]) {
_local6 = _local6 * 2;
}
_local8 = setLength(_local4, _local5, _local6);
} else {
_local8 = [0, 0];
}
this.velocityX = _local8[0];
this.velocityY = _local8[1];
super.update();
_local4 = this.mc._x - planetsrc._x;
_local5 = this.mc._y - planetsrc._y;
var _local10 = setLength(_local4, _local5, orbitLength);
_local4 = _local10[0] + planetsrc._x;
_local5 = _local10[1] + planetsrc._y;
this.mc._x = _local4;
this.mc._y = _local5;
if (_local7 > 5) {
_local4 = _root._xmouse - _local4;
_local5 = _root._ymouse - _local5;
if (_local4 > 0.01) {
var _local11 = Math.atan(_local5 / _local4);
this.mc._rotation = (_local11 * 180) / Math.PI;
} else if (_local4 < -0.01) {
var _local11 = Math.atan(_local5 / _local4);
this.mc._rotation = 180 + ((_local11 * 180) / Math.PI);
} else if (_local5 > 0) {
this.mc._rotation = 90;
} else {
this.mc._rotation = -90;
}
}
};
PlayerClass.prototype.damage = function () {
if ((this.hp <= 0) || ((this.lastdamage + this.damagepause) > game.frames)) {
return(undefined);
}
this.mc.gotoAndPlay("damage");
this.lastdamage = game.frames;
if (game.upgrades[1]) {
this.hp = this.hp - 2;
} else {
this.hp = this.hp - 3;
}
shiphp.bar._xscale = (this.hp / this.maxhp) * 100;
if (this.hp <= 0) {
this.mc.gotoAndPlay("decay");
if (game.buildings[1]) {
if (game.buildings[2]) {
cursor.gotoAndPlay("respawn2");
} else {
cursor.gotoAndPlay("respawn1");
}
} else {
cursor.gotoAndPlay("respawn");
}
adjustScore(SCORE_PLAYER_DEATH_PENALTY);
var _local2 = obj.mc.score;
if (_local2 == undefined) {
_local2 = 0;
}
if (game.upgrades[5]) {
for (i in game.bonuses) {
var obj = game.bonuses[i];
if ((((obj.alive && (obj.mc._x > (this.mc._x - 100))) && (obj.mc._x < (this.mc._x + 100))) && (obj.mc._y > (this.mc._y - 100))) && (obj.mc._y < (this.mc._y + 100))) {
obj.die();
}
adjustScore(_local2 * SCORE_NUKE_FACTOR);
}
for (i in game.objects) {
var obj = game.objects[i];
if ((((obj.alive && (obj.mc._x > (this.mc._x - 100))) && (obj.mc._x < (this.mc._x + 100))) && (obj.mc._y > (this.mc._y - 100))) && (obj.mc._y < (this.mc._y + 100))) {
obj.die();
}
adjustScore(_local2 * SCORE_NUKE_FACTOR);
}
}
} else {
adjustScore(SCORE_PLAYER_HIT_PENALTY);
}
};
PlanetClass.prototype = new EntityClass();
PlanetClass.prototype.xptable = [1000, 5000, 10000, 16000, 23000, 31000, 40000, 50000, 61000, 72000, 1000000];
PlanetClass.prototype.update = function () {
if ((this.lastexp + 50) < game.frames) {
this.lastexp = game.frames;
this.addExperience(100);
}
if ((this.lastregen + 100) < game.frames) {
this.lastregen = game.frames;
var _local2 = 0;
if (game.buildings[3]) {
_local2 = _local2 + 1;
}
if (game.buildings[5]) {
_local2 = _local2 + 3;
}
if (game.buildings[8]) {
_local2 = _local2 + 3;
}
if (game.buildings[9]) {
_local2 = _local2 + 2;
}
this.hp = this.hp + _local2;
if (this.hp > this.maxhp) {
this.hp = this.maxhp;
}
planethp.bar._xscale = (this.hp / this.maxhp) * 100;
}
};
PlanetClass.prototype.damage = function () {
if ((this.hp <= 0) || ((this.lastdamage + this.damagepause) > game.frames)) {
return(undefined);
}
var _local2 = 20;
if (game.buildings[3]) {
_local2 = _local2 - 2;
}
if (game.buildings[6]) {
_local2 = _local2 - 3;
}
if (game.buildings[7]) {
_local2 = _local2 - 3;
}
if (game.buildings[9]) {
_local2 = _local2 - 1;
}
this.hp = this.hp - _local2;
planethp.bar._xscale = (this.hp / this.maxhp) * 100;
if (this.hp <= 0) {
this.mc.gotoAndPlay("decay");
}
adjustScore(SCORE_PLANET_HIT_PENALTY);
};
PlanetClass.prototype.addExperience = function (xpnum) {
if (!game.planetupgrades) {
return(undefined);
}
this.xp = this.xp + xpnum;
var _local3 = ((this.xplevel == 0) ? 0 : (this.xptable[this.xplevel - 1]));
planetxp.bar._xscale = ((this.xp - _local3) / (this.xptable[this.xplevel] - _local3)) * 100;
if (planetxp.bar._xscale > 100) {
planetxp.bar._xscale = 100;
}
if ((game.planetupgrades && (this.xp > this.xptable[this.xplevel])) && (planethp.upgrade._currentframe == 1)) {
if (game.planetupgradeshint) {
planethp.upgrade.gotoAndStop("hint");
game.planetupgradeshint = false;
togglePauseSilent();
} else {
planethp.upgrade.gotoAndStop("on");
}
this.xplevel++;
_root.playSound("levelup");
}
};
WeaponClass.prototype.shoot = function () {
var _local3 = this.cooldown;
if (game.upgrades[9]) {
_local3 = _local3 * 0.75;
}
if ((this.lastshot + _local3) > game.frames) {
return(false);
}
if (this.clip > 0) {
_root["bulletcover" + this.clip]._visible = false;
this.clip--;
if (this.clip <= 0) {
this.reload();
}
this.lastshot = game.frames;
return(true);
}
return(false);
};
WeaponClass.prototype.reload = function () {
if (game.upgrades[6]) {
this.reloaded = game.frames + (reloadTimeUpgraded * 2);
cursor.gotoAndPlay("reloadupgraded");
_root.playSound("reload");
} else {
this.reloaded = game.frames + (reloadTime * 2);
cursor.gotoAndPlay("reload");
_root.playSound("reload");
}
};
WeaponClass.prototype.update = function () {
if ((this.clip <= 0) && (this.reloaded <= game.frames)) {
this.clip = Math.round(this.maxclip * (game.upgrades[3] ? 1.3 : 1));
i = 1;
while (i <= this.clip) {
_root["bulletcover" + i]._visible = true;
i++;
}
}
};
WeaponClass.prototype.remove = function () {
i = 1;
while (i <= this.clip) {
_root["bulletcover" + i].removeMovieClip();
i++;
}
};
GameClass.prototype.init = function () {
_root["doInitLevel" + level]();
};
GameClass.prototype.addObject = function (obj) {
this.objects.push(obj);
};
GameClass.prototype.addBullet = function (bul) {
this.bullets.push(bul);
};
GameClass.prototype.addBonus = function (bon) {
this.bonuses.push(bon);
};
GameClass.prototype.isGameOver = function () {
return((this.objects.length > 0) && (this.planet.mc._currentframe == this.planet.mc._totalframes));
};
GameClass.prototype.cleanUp = function () {
for (i in this.objects) {
this.objects[i].dieSilent();
}
for (i in this.bonuses) {
this.bonuses[i].dieSilent();
}
for (i in this.bullets) {
this.bullets[i].dieSilent();
}
planethp.removeMovieClip();
shiphp.removeMovieClip();
planetxp.removeMovieClip();
shipxp.removeMovieClip();
_root.weapon.removeMovieClip();
this.weapon.remove();
this.clean();
};
GameClass.prototype.gameOver = function () {
this.cleanUp();
cursor.gotoAndPlay("arrow");
gameOverState = true;
this.player.mc.removeMovieClip();
};
GameClass.prototype.levelComplete = function () {
this.cleanUp();
level++;
};
GameClass.prototype.update = function () {
updateMouse();
if (_root.paused) {
return(undefined);
}
this.player.update();
this.weapon.update();
this.planet.update();
for (i in this.objects) {
var _local4 = this.objects[i];
_local4.update();
if (_local4.alive) {
if (_local4.mc.hit.hitTest(this.player.mc.hit)) {
this.player.damage();
} else if (_local4.mc.hit.hitTest(this.planet.mc.hit)) {
this.planet.damage();
_local4.die();
}
}
}
for (i in this.bonuses) {
this.bonuses[i].update();
}
for (i in this.bullets) {
var _local3 = this.bullets[i];
if (_local3.alive) {
_local3.update();
if ((((_local3.mc._x < -20) || (_local3.mc._x > 500)) || (_local3.mc._y < -20)) || (_local3.mc._y > 380)) {
_local3.dieSilent();
adjustScore(SCORE_SHOT_MISS_PENALTY);
} else if ((game.frames % 5) == 0) {
for (j in this.bonuses) {
var _local5 = this.bonuses[j];
if (_local5.alive && (_local5.mc.hit.hitTest(_local3.mc._x, _local3.mc._y, false))) {
_local5.die();
_local3.die();
break;
}
}
for (j in this.objects) {
var _local4 = this.objects[j];
if (_local4.alive && (_local4.mc.hit.hitTest(_local3.mc._x, _local3.mc._y, false))) {
_local4.die();
_local3.die();
break;
}
}
}
}
}
if (this.isGameOver()) {
this.gameOver();
}
this.frames++;
if ((this.frames % CLEAN_PAUSE) == 0) {
this.clean();
}
if ((this.frames % SPAWN_PAUSE) == 1) {
_root["doSpawnLevel" + level](this.spawnCounter++);
}
};
GameClass.prototype.clean = function () {
var _local4 = new Array();
for (i in this.objects) {
var _local2 = this.objects[i];
if ((_local2.alive || ((_local2.mc._currentframe != _local2.mc._totalframes) && (_local2.mc._currentframe != 1))) && ((((_local2.mc._x > -50) && (_local2.mc._x < 530)) && (_local2.mc._y > -50)) && (_local2.mc._y < 410))) {
_local4.push(_local2);
} else {
_local2.mc.removeMovieClip();
}
}
this.objects = _local4;
var _local6 = new Array();
for (i in this.bonuses) {
var _local3 = this.bonuses[i];
if (_local3.alive || (_local3.mc._currentframe < _local3.mc._totalframes)) {
_local6.push(_local3);
} else {
_local3.mc.removeMovieClip();
}
}
this.bonuses = _local6;
var _local5 = new Array();
for (i in this.bullets) {
var _local3 = this.bullets[i];
if (_local3.alive || (_local3.mc._currentframe < _local3.mc._totalframes)) {
_local5.push(_local3);
} else {
_local3.mc.removeMovieClip();
}
}
this.bullets = _local5;
};
GameClass.prototype.shootAt = function (x, y) {
if ((this.player.hp <= 0) || (!this.weapon.shoot())) {
return(undefined);
}
this.player.mc.gotoAndPlay("shot");
var _local2 = new EntityClass(this.player.mc._x, this.player.mc._y, this.weapon.mc);
var _local5 = 5;
if (this.upgrades[2]) {
_local5 = _local5 + 2;
}
_local2.setMovement(x, y, _local5);
game.addBullet(_local2);
if (this.weapon.isShrapnel) {
var _local4 = x - this.player.mc._x;
var _local3 = y - this.player.mc._y;
var _local8 = 0.2;
var _local7 = Math.sin(_local8);
var _local6 = Math.cos(_local8);
var _local9 = (_local4 * _local6) + (_local3 * _local7);
_local2 = new EntityClass(this.player.mc._x, this.player.mc._y, this.weapon.mc);
_local2.setMovement(_local9 + this.player.mc._x, (((-_local4) * _local7) + (_local3 * _local6)) + this.player.mc._y, _local5);
_local2.mc._xscale = 80;
_local2.mc._yscale = 80;
game.addBullet(_local2);
_local8 = -0.2;
_local7 = Math.sin(_local8);
_local6 = Math.cos(_local8);
_local9 = (_local4 * _local6) + (_local3 * _local7);
_local2 = new EntityClass(this.player.mc._x, this.player.mc._y, this.weapon.mc);
_local2.setMovement(_local9 + this.player.mc._x, (((-_local4) * _local7) + (_local3 * _local6)) + this.player.mc._y, _local5);
_local2.mc._xscale = 80;
_local2.mc._yscale = 80;
game.addBullet(_local2);
} else if (this.weapon.isRocket) {
_local2.mc._rotation = rad2deg(Math.atan2(y - this.player.mc._y, x - this.player.mc._x)) + 90;
_local2.effect = BONUS_EXPLOSION;
_local2.dieLikeBonus = BonusClass.prototype.die;
_local2.dieOld = EntityClass.prototype.die;
_local2.die = function () {
this.dieOld();
this.dieLikeBonus();
};
}
};
GameClass.prototype.spawnOffscreen = function (vel, mc, bonus, orient) {
var _local3 = 0;
var _local2 = 0;
switch (Math.floor(Math.random() * 4)) {
case 0 :
_local3 = -20;
_local2 = Math.random() * 360;
break;
case 1 :
_local3 = 500;
_local2 = Math.random() * 360;
break;
case 2 :
_local3 = Math.random() * 480;
_local2 = -20;
break;
case 3 :
_local3 = Math.random() * 480;
_local2 = 380;
}
if ((_local3 < 50) && (_local2 < 50)) {
_local3 = Math.random() * 480;
_local2 = 380;
}
var _local4 = new EntityClass(_local3, _local2, mc);
_local4.bonus = bonus;
_local4.setMovement(240, 180, vel * (1 + (0.5 * difficulty)));
if ((orient != undefined) && (orient)) {
_local4.mc._rotation = rad2deg(Math.atan2(180 - _local4.mc._y, 240 - _local4.mc._x)) + 90;
}
this.addObject(_local4);
};
GameClass.prototype.spawnOnscreen = function (vel, mc, bonus) {
var _local3 = 0;
var _local2 = 0;
switch (Math.floor(Math.random() * 4)) {
case 0 :
_local3 = 20 + (Math.random() * 110);
_local2 = 20 + (Math.random() * 320);
break;
case 1 :
_local3 = 460 - (Math.random() * 110);
_local2 = 20 + (Math.random() * 320);
break;
case 2 :
_local3 = 20 + (Math.random() * 440);
_local2 = 20 + (Math.random() * 50);
break;
case 3 :
_local3 = 20 + (Math.random() * 440);
_local2 = 340 - (Math.random() * 50);
}
if ((_local3 < 50) && (_local2 < 50)) {
_local3 = Math.random() * 480;
_local2 = 380;
}
var _local4 = new EntityClass(_local3, _local2, mc);
_local4.bonus = bonus;
_local4.setMovement(240, 180, vel * (1 + (0.5 * difficulty)));
_local4.mc.gotoAndPlay("zoom");
this.addObject(_local4);
};
GameClass.prototype.beginShipScreen = function (w1, w2, w3) {
if (!_root.paused) {
togglePauseSilent();
}
_root.shiphp.showWeaponPanel(w1, w2, w3);
_root.cursor.gotoAndPlay("arrow");
};
GameClass.prototype.endShipScreen = function (sel) {
_root.curscreen = "none";
togglePauseSilent();
_root.shiphp.hideWeaponPanel(sel);
if (sel.charAt(0) == "w") {
switch (Number(sel.charAt(6))) {
case 1 :
game.weapon = new WeaponClass(25, 12, bullet2);
break;
case 2 :
game.weapon = new WeaponClass(8, 30, bullet3);
game.weapon.isShrapnel = true;
break;
case 3 :
game.weapon = new WeaponClass(6, 40, bullet4);
game.weapon.isRocket = true;
}
_root.curweapon = Number(sel.charAt(6));
} else {
this.upgrades[sel] = true;
}
};
GameClass.prototype.beginPlanetScreen = function () {
if (!_root.paused) {
togglePauseSilent();
}
_root.planethp.showPanel();
_root.cursor.gotoAndPlay("arrow");
};
GameClass.prototype.endPlanetScreen = function (sel) {
_root.curscreen = "none";
togglePauseSilent();
_root.planethp.hidePanel(sel);
this.buildings[sel] = true;
planetsrc.planet[buildingNumberToName(sel)].gotoAndPlay("on");
};
var game = new GameClass();
game.init();
if (gameInit) {
gameInit = false;
} else {
hideOffscreenStuff();
}
Frame 9
game.update();
if ((!Key.isDown(32)) && (prevSpace)) {
if (_root.curscreen == "none") {
if ((shiphp.upgrade._currentframe == 1) && (planethp.upgrade._currentframe == 1)) {
togglePause();
} else if (shiphp.upgrade._currentframe != 1) {
game.beginShipScreen(true, true, false);
} else {
game.beginPlanetScreen();
}
}
}
prevSpace = Key.isDown(32);
if (mouseState && (!paused)) {
canshoot = true;
if (shiphp.upgrade._currentframe != 1) {
var x = _root._xmouse;
var y = _root._ymouse;
if ((((x > 15) && (x < 55)) && (y > 305)) && (y < 340)) {
canshoot = false;
}
} else if (planethp.upgrade._currentframe != 1) {
var x = _root._xmouse;
var y = _root._ymouse;
if ((((x > 355) && (x < 405)) && (y > 305)) && (y < 340)) {
canshoot = false;
}
}
if (canshoot) {
game.shootAt(_root._xmouse, _root._ymouse);
}
}
prevMouseState = mouseState;
if (!paused) {
_quality = "low";
var nextlevel = false;
if (gameOverState) {
game.planet.mc.gotoAndPlay("normal");
_root.playMusic("menumusic");
gotoAndPlay ("gameover");
} else {
if ((game.objects.length == 0) && (game.frames > (game.maxspawn * SPAWN_PAUSE))) {
if (levelCompleteMessageDisplayed) {
if (message._currentframe == 1) {
game.levelComplete();
nextlevel = true;
}
} else {
levelCompleteMessageDisplayed = true;
message.gotoAndPlay("complete");
}
}
if (nextlevel) {
_root.playMusic("menumusic");
game.player.mc.removeMovieClip();
cursor.gotoAndPlay("arrow");
switch (level) {
case 2 :
gotoAndPlay ("levelpause1");
break;
case 3 :
gotoAndPlay ("levelpause2");
break;
case 4 :
gotoAndPlay ("levelpause3");
break;
case 5 :
gotoAndPlay ("levelpause4");
break;
case 6 :
gotoAndPlay ("levelpause5");
break;
case 7 :
gotoAndPlay ("complete");
}
} else {
play();
}
}
}
Frame 10
game.update();
gotoAndPlay ("game");
Frame 11
_quality = "high";
updateMouse();
_root.bg.gotoAndStop("space1");
play();
Frame 12
nameinput.onSetFocus = function (oldFocus) {
if (this.text == "Your name here") {
this.text = "";
}
};
updateMouse();
gotoAndPlay ("complete");
Frame 13
_quality = "high";
updateMouse();
_root.bg.gotoAndStop("space2");
play();
Frame 14
nameinput.onSetFocus = function (oldFocus) {
if (this.text == "Your name here") {
this.text = "";
}
};
updateMouse();
gotoAndPlay ("gameover");
Frame 15
_quality = "high";
updateMouse();
_root.bg.gotoAndStop("space1");
play();
Frame 16
nameinput.onSetFocus = function (oldFocus) {
if (this.text == "Your name here") {
this.text = "";
}
};
updateMouse();
gotoAndPlay ("levelpause");
Frame 17
_quality = "high";
updateMouse();
_root.bg.gotoAndStop("space1");
play();
Frame 18
updateMouse();
gotoAndPlay ("levelpause1");
Frame 19
_quality = "high";
updateMouse();
_root.bg.gotoAndStop("space1");
play();
Frame 20
updateMouse();
gotoAndPlay ("levelpause3");
Frame 21
_quality = "high";
updateMouse();
_root.bg.gotoAndStop("space1");
play();
Frame 22
updateMouse();
gotoAndPlay ("levelpause5");
Frame 23
_quality = "high";
updateMouse();
_root.bg.gotoAndStop("space1");
play();
Frame 24
updateMouse();
gotoAndPlay ("levelpause2");
Frame 25
_quality = "high";
updateMouse();
_root.bg.gotoAndStop("space1");
play();
Frame 26
updateMouse();
gotoAndPlay ("levelpause4");
Symbol 17 MovieClip Frame 1
stop();
Symbol 17 MovieClip Frame 2
stop();
Symbol 39 MovieClip Frame 14
stop();
Symbol 40 MovieClip Frame 1
this.score = 50;
stop();
Symbol 40 MovieClip Frame 2
stop();
Symbol 40 MovieClip Frame 3
stop();
Symbol 40 MovieClip Frame 4
_root.playSound("explosion");
play();
Symbol 40 MovieClip Frame 18
stop();
Symbol 48 MovieClip Frame 1
stop();
Symbol 48 MovieClip Frame 2
_root.playSound("hitbullet");
play();
Symbol 48 MovieClip Frame 28
stop();
Symbol 52 MovieClip Frame 1
stop();
Symbol 52 MovieClip Frame 2
_root.playSound("hitplasma");
play();
Symbol 52 MovieClip Frame 28
stop();
Symbol 54 MovieClip Frame 1
stop();
Symbol 54 MovieClip Frame 2
_root.playSound("hitbullet");
play();
Symbol 54 MovieClip Frame 28
stop();
Symbol 63 MovieClip Frame 1
var score = 100;
stop();
Symbol 63 MovieClip Frame 2
stop();
Symbol 63 MovieClip Frame 3
stop();
Symbol 63 MovieClip Frame 4
_root.playSound("explosion");
play();
Symbol 63 MovieClip Frame 18
gotoAndPlay ("dead");
Symbol 63 MovieClip Frame 19
_root.playSound("appear");
play();
Symbol 63 MovieClip Frame 33
gotoAndPlay ("alive");
Symbol 63 MovieClip Frame 34
stop();
Symbol 69 MovieClip Frame 1
this.score = 75;
stop();
Symbol 69 MovieClip Frame 2
stop();
Symbol 69 MovieClip Frame 3
stop();
Symbol 69 MovieClip Frame 4
_root.playSound("explosion");
play();
Symbol 69 MovieClip Frame 18
stop();
Symbol 71 MovieClip Frame 1
stop();
Symbol 71 MovieClip Frame 2
_root.playSound("hitbullet");
play();
Symbol 71 MovieClip Frame 28
stop();
Symbol 77 MovieClip Frame 1
var score = 125;
stop();
Symbol 77 MovieClip Frame 2
stop();
Symbol 77 MovieClip Frame 3
stop();
Symbol 77 MovieClip Frame 4
_root.playSound("explosion");
play();
Symbol 77 MovieClip Frame 18
stop();
Symbol 83 MovieClip Frame 1
var score = 150;
stop();
Symbol 83 MovieClip Frame 2
stop();
Symbol 83 MovieClip Frame 3
stop();
Symbol 83 MovieClip Frame 4
_root.playSound("explosion");
play();
Symbol 83 MovieClip Frame 17
gotoAndPlay ("dead");
Symbol 83 MovieClip Frame 18
_root.playSound("appear");
play();
Symbol 83 MovieClip Frame 32
gotoAndPlay ("alive");
Symbol 83 MovieClip Frame 33
stop();
Symbol 89 MovieClip Frame 1
var score = 175;
stop();
Symbol 89 MovieClip Frame 2
stop();
Symbol 89 MovieClip Frame 3
stop();
Symbol 89 MovieClip Frame 4
_root.playSound("explosion");
play();
Symbol 89 MovieClip Frame 18
stop();
Symbol 92 MovieClip Frame 1
stop();
Symbol 92 MovieClip Frame 2
stop();
Symbol 161 MovieClip Frame 1
var score = 25;
stop();
Symbol 161 MovieClip Frame 2
_root.playSound("explosionbig");
play();
Symbol 161 MovieClip Frame 16
stop();
Symbol 166 MovieClip Frame 1
var score = 50;
stop();
Symbol 166 MovieClip Frame 2
_root.playSound("explosionbig");
play();
Symbol 166 MovieClip Frame 16
stop();
Symbol 171 MovieClip Frame 1
var score = 210;
stop();
Symbol 171 MovieClip Frame 2
play();
_root.playSound("shotplasma");
Symbol 171 MovieClip Frame 16
stop();
Symbol 241 MovieClip Frame 1
var score = 100;
stop();
Symbol 241 MovieClip Frame 2
play();
_root.playSound("bonus");
Symbol 241 MovieClip Frame 25
stop();
Symbol 251 MovieClip Frame 1
var score = 75;
stop();
Symbol 251 MovieClip Frame 2
play();
_root.playSound("slime");
Symbol 251 MovieClip Frame 16
stop();
Symbol 261 MovieClip Frame 1
var score = 100;
stop();
Symbol 261 MovieClip Frame 2
play();
_root.playSound("ice");
Symbol 261 MovieClip Frame 16
stop();
Symbol 264 MovieClip Frame 1
stop();
Symbol 264 MovieClip Frame 2
_root.playSound("explosionbigshort");
play();
Symbol 264 MovieClip Frame 28
stop();
Symbol 274 MovieClip Frame 1
var reload = 60;
var reloadupgraded = 30;
var respawn = 120;
stop();
Symbol 274 MovieClip Frame 2
stop();
Symbol 274 MovieClip Frame 3
stop();
Symbol 274 MovieClip Frame 4
play();
Symbol 274 MovieClip Frame 63
gotoAndStop ("aim");
Symbol 274 MovieClip Frame 64
play();
Symbol 274 MovieClip Frame 183
gotoAndStop ("aim");
Symbol 274 MovieClip Frame 184
play();
Symbol 274 MovieClip Frame 216
gotoAndStop ("aim");
Symbol 274 MovieClip Frame 217
play();
Symbol 274 MovieClip Frame 306
gotoAndStop ("aim");
Symbol 274 MovieClip Frame 307
play();
Symbol 274 MovieClip Frame 366
gotoAndStop ("aim");
Symbol 274 MovieClip Frame 367
stop();
Symbol 285 MovieClip Frame 1
stop();
Symbol 285 MovieClip Frame 2
if (_root.game.weapon.isRocket) {
_root.playSound("shotrocket");
} else {
_root.playSound("shotcannon");
}
play();
Symbol 285 MovieClip Frame 4
gotoAndStop ("normal");
Symbol 285 MovieClip Frame 5
_root.playSound("hitbullet");
play();
Symbol 285 MovieClip Frame 15
gotoAndStop ("normal");
Symbol 285 MovieClip Frame 16
_root.playSound("explosion");
play();
Symbol 285 MovieClip Frame 30
stop();
Symbol 285 MovieClip Frame 31
play();
Symbol 285 MovieClip Frame 50
gotoAndStop ("normal");
Symbol 303 MovieClip Frame 1
stop();
Symbol 303 MovieClip Frame 2
stop();
Symbol 303 MovieClip Frame 3
stop();
Symbol 303 MovieClip Frame 4
stop();
Symbol 307 MovieClip Frame 1
stop();
Symbol 307 MovieClip Frame 2
stop();
Symbol 307 MovieClip Frame 3
stop();
Symbol 310 Button
on (rollOver) {
if (this.enabled) {
_root.cursor.gotoAndPlay("hand");
_root.playSound("mouseover");
}
}
on (rollOut) {
if (this.enabled) {
_root.cursor.gotoAndPlay("arrow");
}
}
on (release) {
if (this.enabled) {
_root.game.endShipScreen(_name);
}
}
Symbol 316 MovieClip Frame 1
this._quality = "high";
stop();
Symbol 316 MovieClip Frame 2
stop();
Symbol 316 MovieClip Frame 3
stop();
Symbol 316 MovieClip Frame 4
stop();
Symbol 317 MovieClip Frame 1
function setWeapon(w) {
this.icon.gotoAndStop(w);
this.text.gotoAndStop(w);
}
function setEnable(e, h) {
this.enabled = e && (!h);
this.hit._visible = e && (!h);
this._alpha = (e ? 100 : 50);
this.base.gotoAndStop((h ? "selected" : "normal"));
}
var enabled = false;
this.hit._visible = false;
this._alpha = 50;
Symbol 319 MovieClip Frame 2
weapon1.setEnable(_root.game.unlockedweapons > 0, _root.curweapon == 1);
weapon2.setEnable(_root.game.unlockedweapons > 1, _root.curweapon == 2);
weapon3.setEnable(_root.game.unlockedweapons > 2, _root.curweapon == 3);
weapon4.setEnable(false, false);
weapon1.setWeapon("cannon");
weapon2.setWeapon("shrapnel");
weapon3.setWeapon("rocket");
weapon4.setWeapon("shock");
stop();
Symbol 320 MovieClip Frame 1
var wasotherupgrade = 1;
stop();
Symbol 320 MovieClip Frame 2
if (_root.planethp.upgrade._currentframe != 1) {
wasotherupgrade = _root.planethp.upgrade._currentframe;
_root.planethp.upgrade.gotoAndPlay("off");
}
_parent.upgrade.gotoAndStop("off");
_root.curscreen = "ship";
play();
Symbol 320 MovieClip Frame 16
stop();
Symbol 320 MovieClip Frame 17
panel.weapon1.hit._visible = false;
panel.weapon2.hit._visible = false;
panel.weapon3.hit._visible = false;
panel.weapon4.hit._visible = false;
play();
Symbol 320 MovieClip Frame 33
_root.cursor.gotoAndPlay("aim");
if (wasotherupgrade != 1) {
_root.planethp.upgrade.gotoAndPlay(wasotherupgrade);
wasotherupgrade = 1;
}
stop();
Symbol 325 Button
on (rollOver) {
_root.noshoot = true;
_root.cursor.gotoAndPlay("hand");
_root.playSound("mouseover");
}
on (rollOut) {
_root.noshoot = false;
_root.cursor.gotoAndPlay("aim");
}
on (release) {
_root.noshoot = false;
if (_root.planethp.upgrade._currentframe != 3) {
if (_root.curscreen == "none") {
_root.game.beginShipScreen(true, true, false);
}
}
}
on (releaseOutside) {
_root.noshoot = false;
_root.cursor.gotoAndPlay("aim");
}
Symbol 328 MovieClip Frame 1
stop();
Symbol 328 MovieClip Frame 2
stop();
Symbol 328 MovieClip Frame 3
_quality = "high";
stop();
Symbol 350 MovieClip Frame 1
stop();
Symbol 350 MovieClip Frame 2
stop();
Symbol 350 MovieClip Frame 3
stop();
Symbol 350 MovieClip Frame 4
stop();
Symbol 350 MovieClip Frame 5
stop();
Symbol 350 MovieClip Frame 6
stop();
Symbol 350 MovieClip Frame 7
stop();
Symbol 350 MovieClip Frame 8
stop();
Symbol 350 MovieClip Frame 9
stop();
Symbol 350 MovieClip Frame 10
stop();
Symbol 351 Button
on (rollOver) {
if (this.enabled) {
_root.cursor.gotoAndPlay("hand");
_root.playSound("mouseover");
}
}
on (rollOut) {
if (this.enabled) {
_root.cursor.gotoAndPlay("arrow");
}
}
on (release) {
if (this.enabled) {
_root.game.endShipScreen(_root["u" + _name.charAt(7)]);
}
}
Symbol 362 MovieClip Frame 1
this._quality = "high";
stop();
Symbol 362 MovieClip Frame 2
stop();
Symbol 362 MovieClip Frame 3
stop();
Symbol 362 MovieClip Frame 4
stop();
Symbol 362 MovieClip Frame 5
stop();
Symbol 362 MovieClip Frame 6
stop();
Symbol 362 MovieClip Frame 7
stop();
Symbol 362 MovieClip Frame 8
stop();
Symbol 362 MovieClip Frame 9
stop();
Symbol 363 MovieClip Frame 1
function setUpgrade(w) {
this.icon.gotoAndStop(w);
this.text.gotoAndStop(w);
}
function setEnable(e, h) {
this.enabled = e && (!h);
this.hit._visible = e && (!h);
this._alpha = 100;
this._visible = (e ? true : false);
this.base.gotoAndStop((h ? "selected" : "normal"));
}
var enabled = false;
this.hit._visible = false;
this._alpha = 50;
Symbol 365 MovieClip Frame 2
i = 1;
while (i <= 4) {
var u = this["upgrade" + i];
u.setEnable(_root["u" + i] != 0, false);
u.setUpgrade(_root.upgradeNumberToName(_root["u" + i]));
i++;
}
stop();
Symbol 366 MovieClip Frame 1
stop();
Symbol 366 MovieClip Frame 2
_parent.upgrade.gotoAndStop("off");
play();
Symbol 366 MovieClip Frame 16
stop();
Symbol 366 MovieClip Frame 17
panel.upgrade1.hit._visible = false;
panel.upgrade2.hit._visible = false;
panel.upgrade3.hit._visible = false;
panel.upgrade4.hit._visible = false;
play();
Symbol 366 MovieClip Frame 33
_root.cursor.gotoAndPlay("aim");
stop();
Symbol 367 MovieClip Frame 1
function showWeaponPanel(w1, w2, w3) {
_root.w1 = w1;
_root.w2 = w2;
_root.w3 = w3;
wpn.gotoAndPlay("in");
if (_root.curweapon) {
upg.gotoAndPlay("in");
}
setUpgrades(4);
}
function hideWeaponPanel(wsel) {
wpn.gotoAndPlay("out");
if ((upg._currentframe != upg._totalframes) && (upg._currentframe != 1)) {
upg.gotoAndPlay("out");
}
}
function setUpgrades(num) {
numinstalled = 0;
for (i in _root.game.upgrades) {
if (_root.game.upgrades[i]) {
numinstalled++;
}
}
num = 9 - numinstalled;
if (num > 4) {
num = 4;
}
i = 1;
while (i <= 4) {
_root["u" + i] = 0;
i++;
}
var _local3 = new Array();
i = 1;
while (i <= num) {
var _local2;
do {
_local2 = random(9) + 1;
} while (_root.game.upgrades[_local2] || (_local3[_local2]));
_root["u" + i] = _local2;
_local3[_local2] = true;
i++;
}
}
play();
Symbol 367 MovieClip Frame 2
stop();
Symbol 367 MovieClip Frame 3
stop();
Symbol 388 MovieClip Frame 1
stop();
Symbol 388 MovieClip Frame 2
stop();
Symbol 388 MovieClip Frame 3
stop();
Symbol 388 MovieClip Frame 4
stop();
Symbol 388 MovieClip Frame 5
stop();
Symbol 388 MovieClip Frame 6
stop();
Symbol 388 MovieClip Frame 7
stop();
Symbol 388 MovieClip Frame 8
stop();
Symbol 388 MovieClip Frame 9
stop();
Symbol 389 Button
on (rollOver) {
if (this.enabled) {
_root.cursor.gotoAndPlay("hand");
_root.playSound("mouseover");
_root.planetsrc.planet[_root.buildingNumberToName(_root["b" + _name.charAt(7)])].gotoAndPlay("on");
_parent._parent.selectBuilding(_root["b" + _name.charAt(7)]);
}
}
on (rollOut) {
if (this.enabled) {
_root.cursor.gotoAndPlay("arrow");
_root.planetsrc.planet[_root.buildingNumberToName(_root["b" + _name.charAt(7)])].gotoAndPlay("off");
_parent._parent.selectBuilding(0);
}
}
on (releaseOutside) {
if (this.enabled) {
_root.cursor.gotoAndPlay("arrow");
_root.planetsrc.planet[_root.buildingNumberToName(_root["b" + _name.charAt(7)])].gotoAndPlay("off");
}
}
on (release) {
if (this.enabled) {
_root.game.endPlanetScreen(_root["b" + _name.charAt(7)]);
_parent._parent.selectBuilding(0);
}
}
Symbol 399 MovieClip Frame 1
this._quality = "high";
stop();
Symbol 399 MovieClip Frame 2
stop();
Symbol 399 MovieClip Frame 3
stop();
Symbol 399 MovieClip Frame 4
stop();
Symbol 399 MovieClip Frame 5
stop();
Symbol 399 MovieClip Frame 6
stop();
Symbol 399 MovieClip Frame 7
stop();
Symbol 399 MovieClip Frame 8
stop();
Symbol 399 MovieClip Frame 9
stop();
Symbol 400 MovieClip Frame 1
function setUpgrade(w) {
this.icon.gotoAndStop(w);
this.text.gotoAndStop(w);
}
function setEnable(e, h) {
this.enabled = e && (!h);
this.hit._visible = e && (!h);
this._alpha = 100;
this._visible = (e ? true : false);
this.base.gotoAndStop((h ? "selected" : "normal"));
}
var enabled = false;
this.hit._visible = false;
this._alpha = 50;
Symbol 402 MovieClip Frame 2
i = 1;
while (i <= 4) {
var u = this["upgrade" + i];
u.setEnable(_root["b" + i] != 0, false);
u.setUpgrade(_root.buildingNumberToName(_root["b" + i]));
i++;
}
stop();
Symbol 413 MovieClip Frame 1
function selectBuilding(b) {
var _local2 = new Array();
i = 1;
while (i <= 9) {
if (_root.game.buildings[i]) {
_local2[i] = true;
}
i++;
}
if (b > 0) {
_local2[b] = true;
}
var _local4 = 1;
if (_local2[3]) {
_local4 = _local4 + 2;
}
if (_local2[6]) {
_local4 = _local4 + 3;
}
if (_local2[7]) {
_local4 = _local4 + 3;
}
if (_local2[9]) {
_local4 = _local4 + 1;
}
stats.armor._xscale = _local4 * 10;
var _local3 = 1;
if (_local2[3]) {
_local3 = _local3 + 1;
}
if (_local2[5]) {
_local3 = _local3 + 3;
}
if (_local2[8]) {
_local3 = _local3 + 3;
}
if (_local2[9]) {
_local3 = _local3 + 2;
}
stats.repair._xscale = _local3 * 10;
var _local5 = 1;
if (_local2[1]) {
_local5 = _local5 + 4;
}
if (_local2[2]) {
_local5 = _local5 + 5;
}
stats.respawn._xscale = _local5 * 10;
}
var wasotherupgrade = 1;
stop();
Symbol 413 MovieClip Frame 2
if (_root.shiphp.upgrade._currentframe != 1) {
wasotherupgrade = _root.shiphp.upgrade._currentframe;
_root.shiphp.upgrade.gotoAndPlay("off");
}
_root.curscreen = "planet";
_parent.upgrade.gotoAndStop("off");
play();
Symbol 413 MovieClip Frame 16
selectBuilding(0);
stop();
Symbol 413 MovieClip Frame 17
panel.upgrade1.hit._visible = false;
panel.upgrade2.hit._visible = false;
panel.upgrade3.hit._visible = false;
panel.upgrade4.hit._visible = false;
play();
Symbol 413 MovieClip Frame 33
_root.cursor.gotoAndPlay("aim");
if (wasotherupgrade != 1) {
_root.shiphp.upgrade.gotoAndPlay(wasotherupgrade);
wasotherupgrade = 1;
}
stop();
Symbol 416 MovieClip Frame 1
function setUpgrade(w) {
this.icon.gotoAndStop(w);
}
function setEnable(e) {
this.enabled = e;
this._visible = e;
}
var enabled = false;
Symbol 420 MovieClip Frame 1
function pickItems() {
var _local4 = 0;
i = 1;
while (i <= 6) {
this["upgrade" + i].setEnable(false);
i++;
}
for (i in _root.game.buildings) {
if (_root.game.buildings[i]) {
_local4++;
if (_local4 > 6) {
break;
}
var _local3 = this["upgrade" + _local4];
_local3.setUpgrade(_root.buildingNumberToName(i));
_local3.setEnable(true);
}
}
none._visible = !upgrade1._visible;
}
Symbol 420 MovieClip Frame 2
pickItems();
stop();
Symbol 421 MovieClip Frame 1
var wasotherupgrade = 1;
stop();
Symbol 421 MovieClip Frame 2
if (_root.shiphp.upgrade._currentframe != 1) {
wasotherupgrade = _root.shiphp.upgrade._currentframe;
_root.shiphp.upgrade.gotoAndPlay("off");
}
_root.curscreen = "planet";
_parent.upgrade.gotoAndStop("off");
play();
Symbol 421 MovieClip Frame 16
stop();
Symbol 421 MovieClip Frame 17
panel.upgrade1.hit._visible = false;
panel.upgrade2.hit._visible = false;
panel.upgrade3.hit._visible = false;
panel.upgrade4.hit._visible = false;
play();
Symbol 421 MovieClip Frame 33
_root.curscreen = "none";
_root.cursor.gotoAndPlay("aim");
if (wasotherupgrade != 1) {
_root.shiphp.upgrade.gotoAndPlay(wasotherupgrade);
wasotherupgrade = 1;
}
stop();
Symbol 424 Button
on (rollOver) {
_root.noshoot = true;
_root.cursor.gotoAndPlay("hand");
_root.playSound("mouseover");
}
on (rollOut) {
_root.noshoot = false;
_root.cursor.gotoAndPlay("aim");
}
on (release) {
_root.noshoot = false;
if (_root.shiphp.upgrade._currentframe != 3) {
if (_root.curscreen == "none") {
_root.game.beginPlanetScreen();
}
}
}
on (releaseOutside) {
_root.noshoot = false;
_root.cursor.gotoAndPlay("aim");
}
Symbol 427 MovieClip Frame 1
stop();
Symbol 427 MovieClip Frame 2
stop();
Symbol 427 MovieClip Frame 3
_quality = "high";
stop();
Symbol 428 MovieClip Frame 1
function showPanel() {
preparePanel();
upg.gotoAndPlay("in");
ins.gotoAndPlay("in");
}
function hidePanel(wsel) {
wpn.gotoAndPlay("out");
ins.gotoAndPlay("out");
if ((upg._currentframe != upg._totalframes) && (upg._currentframe != 1)) {
upg.gotoAndPlay("out");
}
}
function preparePanel() {
var _local2 = new Array();
i = 1;
while (i <= 9) {
if (_local2[i] == undefined) {
_local2[i] = _root.game.buildings[i];
}
if ((!_local2[i]) || (_local2[i] == undefined)) {
switch (i) {
case 1 :
_local2[2] = true;
break;
case 3 :
_local2[4] = true;
_local2[5] = true;
break;
case 4 :
_local2[5] = true;
break;
case 6 :
_local2[7] = true;
}
}
i++;
}
numinstalled = 0;
for (i in _local2) {
if (_local2[i]) {
numinstalled++;
}
}
num = 9 - numinstalled;
if (num > 4) {
num = 4;
}
i = 1;
while (i <= 4) {
_root["b" + i] = 0;
i++;
}
var _local4 = new Array();
i = 1;
while (i <= num) {
var _local3;
do {
_local3 = random(9) + 1;
} while (_local2[_local3] || (_local4[_local3]));
_root["b" + i] = _local3;
_local4[_local3] = true;
i++;
}
}
play();
Symbol 428 MovieClip Frame 2
stop();
Symbol 428 MovieClip Frame 3
stop();
Symbol 447 MovieClip Frame 1
stop();
Symbol 447 MovieClip Frame 3
play();
Symbol 447 MovieClip Frame 4
stop();
Symbol 447 MovieClip Frame 5
play();
Symbol 447 MovieClip Frame 6
stop();
Symbol 447 MovieClip Frame 7
play();
Symbol 447 MovieClip Frame 8
stop();
Symbol 447 MovieClip Frame 9
play();
Symbol 447 MovieClip Frame 10
stop();
Symbol 447 MovieClip Frame 11
play();
Symbol 447 MovieClip Frame 12
stop();
Symbol 447 MovieClip Frame 13
play();
Symbol 447 MovieClip Frame 14
stop();
Symbol 447 MovieClip Frame 15
play();
Symbol 447 MovieClip Frame 16
stop();
Symbol 447 MovieClip Frame 17
play();
Symbol 447 MovieClip Frame 18
stop();
Symbol 447 MovieClip Frame 19
play();
Symbol 447 MovieClip Frame 20
stop();
Symbol 447 MovieClip Frame 21
play();
Symbol 447 MovieClip Frame 22
stop();
Symbol 447 MovieClip Frame 23
play();
Symbol 447 MovieClip Frame 24
stop();
Symbol 447 MovieClip Frame 25
play();
Symbol 447 MovieClip Frame 26
stop();
Symbol 447 MovieClip Frame 27
play();
Symbol 447 MovieClip Frame 28
stop();
Symbol 447 MovieClip Frame 29
play();
Symbol 447 MovieClip Frame 30
stop();
Symbol 447 MovieClip Frame 31
play();
Symbol 447 MovieClip Frame 32
stop();
Symbol 447 MovieClip Frame 33
play();
Symbol 447 MovieClip Frame 34
stop();
Symbol 447 MovieClip Frame 35
play();
Symbol 447 MovieClip Frame 38
stop();
Symbol 447 MovieClip Frame 39
play();
Symbol 447 MovieClip Frame 42
stop();
Symbol 450 MovieClip Frame 1
stop();
Symbol 450 MovieClip Frame 2
stop();
Symbol 453 Button
on (rollOver) {
button2.gotoAndPlay("flash");
cursor.gotoAndPlay("hand");
_root.playSound("mouseover");
}
on (rollOut) {
cursor.gotoAndPlay("arrow");
}
on (release) {
_root.playSound("mouseclick");
getURL (downloadURL, ((_root.downloadTarget != undefined) ? (_root.downloadTarget) : "_blank"));
}
Symbol 457 MovieClip Frame 1
stop();
Symbol 457 MovieClip Frame 2
play();
Symbol 458 Button
on (rollOver) {
button.gotoAndPlay("flash");
cursor.gotoAndPlay("hand");
_root.playSound("mouseover");
}
on (rollOut) {
cursor.gotoAndPlay("arrow");
}
on (release) {
_root.playSound("mouseclick");
_root.gotoAndPlay("play");
}
Symbol 460 MovieClip Frame 1
stop();
Symbol 460 MovieClip Frame 2
play();
Symbol 468 Button
on (rollOver) {
cursor.gotoAndPlay("hand");
_root.playSound("mouseover");
}
on (rollOut) {
cursor.gotoAndPlay("arrow");
}
on (release) {
getURL ("http://www.enkord.com/", "_blank");
}
Symbol 472 MovieClip Frame 1
stop();
Symbol 472 MovieClip Frame 2
play();
Symbol 473 Button
on (rollOver) {
cursor.gotoAndPlay("hand");
greatgames.gotoAndPlay("zoom");
_root.playSound("mouseover");
}
on (rollOut) {
cursor.gotoAndPlay("arrow");
}
on (release) {
getURL (_root.moreGamesURL, "_blank");
}
Symbol 477 MovieClip Frame 1
stop();
Symbol 477 MovieClip Frame 2
stop();
Symbol 478 Button
on (rollOver) {
cursor.gotoAndPlay("hand");
}
on (rollOut) {
cursor.gotoAndPlay("arrow");
}
on (release) {
if ((_root.soundEnabled = !_root.soundEnabled)) {
signsound.gotoAndPlay("on");
} else {
signsound.gotoAndPlay("off");
}
}
Symbol 482 MovieClip Frame 1
stop();
Symbol 482 MovieClip Frame 2
stop();
Symbol 483 Button
on (rollOver) {
cursor.gotoAndPlay("hand");
}
on (rollOut) {
cursor.gotoAndPlay("arrow");
}
on (release) {
if ((_root.musicEnabled = !_root.musicEnabled)) {
playMusic("menumusic");
signmusic.gotoAndPlay("on");
} else {
stopAllSounds();
signmusic.gotoAndPlay("off");
}
}
Symbol 489 MovieClip Frame 1
stop();
Symbol 489 MovieClip Frame 2
stop();
Symbol 492 MovieClip Frame 1
stop();
Symbol 492 MovieClip Frame 2
stop();
Symbol 495 MovieClip Frame 1
stop();
Symbol 495 MovieClip Frame 2
stop();
Symbol 498 MovieClip Frame 1
stop();
Symbol 498 MovieClip Frame 2
stop();
Symbol 501 MovieClip Frame 1
stop();
Symbol 501 MovieClip Frame 2
stop();
Symbol 504 MovieClip Frame 1
stop();
Symbol 504 MovieClip Frame 2
stop();
Symbol 507 MovieClip Frame 1
stop();
Symbol 507 MovieClip Frame 2
stop();
Symbol 510 MovieClip Frame 1
stop();
Symbol 510 MovieClip Frame 2
stop();
Symbol 513 MovieClip Frame 1
stop();
Symbol 513 MovieClip Frame 2
stop();
Symbol 515 MovieClip Frame 1
planet.airport.gotoAndPlay("off");
planet.starport.gotoAndPlay("off");
planet.support1.gotoAndPlay("off");
planet.support2.gotoAndPlay("off");
planet.support3.gotoAndPlay("off");
planet.powerplant.gotoAndPlay("off");
planet.mine.gotoAndPlay("off");
planet.ship.gotoAndPlay("off");
planet.squadron.gotoAndPlay("off");
Symbol 515 MovieClip Frame 71
stop();
Symbol 516 MovieClip Frame 1
planet.airport.gotoAndPlay("off");
planet.starport.gotoAndPlay("off");
planet.support1.gotoAndPlay("off");
planet.support2.gotoAndPlay("off");
planet.support3.gotoAndPlay("off");
planet.powerplant.gotoAndPlay("off");
planet.mine.gotoAndPlay("off");
planet.ship.gotoAndPlay("off");
planet.squadron.gotoAndPlay("off");
stop();
Symbol 516 MovieClip Frame 2
play();
Symbol 516 MovieClip Frame 5
_root.playSound("explosion");
Symbol 516 MovieClip Frame 10
_root.playSound("explosion");
Symbol 516 MovieClip Frame 14
_root.playSound("explosion");
Symbol 516 MovieClip Frame 18
_root.playSound("explosion");
Symbol 516 MovieClip Frame 20
_root.playSound("explosion");
Symbol 516 MovieClip Frame 24
_root.playSound("explosion");
Symbol 516 MovieClip Frame 28
_root.playSound("explosion");
Symbol 516 MovieClip Frame 30
_root.playSound("explosion");
Symbol 516 MovieClip Frame 34
_root.playSound("explosion");
Symbol 516 MovieClip Frame 39
_root.playSound("explosion");
Symbol 516 MovieClip Frame 42
_root.playSound("explosion");
Symbol 516 MovieClip Frame 47
_root.playSound("explosion");
Symbol 516 MovieClip Frame 50
_root.playSound("explosion");
Symbol 516 MovieClip Frame 54
_root.playSound("explosion");
Symbol 516 MovieClip Frame 58
_root.playSound("explosion");
Symbol 516 MovieClip Frame 62
_root.playSound("explosion");
Symbol 516 MovieClip Frame 66
_root.playSound("explosionbig");
Symbol 516 MovieClip Frame 95
stop();
Symbol 524 MovieClip Frame 1
stop();
Symbol 524 MovieClip Frame 2
play();
Symbol 524 MovieClip Frame 80
gotoAndStop ("none");
Symbol 524 MovieClip Frame 81
play();
Symbol 524 MovieClip Frame 161
gotoAndStop ("none");
Symbol 524 MovieClip Frame 162
play();
Symbol 524 MovieClip Frame 311
gotoAndStop ("none");
Symbol 524 MovieClip Frame 312
play();
Symbol 524 MovieClip Frame 370
gotoAndStop ("none");
Symbol 524 MovieClip Frame 371
play();
Symbol 524 MovieClip Frame 429
gotoAndStop ("none");
Symbol 542 Button
on (rollOver) {
_root.cursor.gotoAndPlay("hand");
}
on (rollOut) {
_root.cursor.gotoAndPlay("arrow");
}
on (release) {
if (_root.level > 6) {
_root.level = 6;
}
_root._r = _root.getScoreEncoded();
var name = _root.playername;
var d1;
var d2;
var d3;
var d4;
d1 = _root._r[0].toString();
d2 = _root._r[1].toString();
d3 = _root._r[2].toString();
d4 = _root._r[3].toString();
getURL (_root.hiscoreURL, "_blank", "POST");
}
Symbol 544 Button
on (rollOver) {
buttongetfull.gotoAndPlay("flash");
cursor.gotoAndPlay("hand");
_root.playSound("mouseover");
}
on (rollOut) {
cursor.gotoAndPlay("arrow");
}
on (release) {
_root.playSound("mouseclick");
getURL (_root.orderURL, ((_root.orderTarget != undefined) ? (_root.orderTarget) : "_blank"));
}
Symbol 546 MovieClip Frame 1
stop();
Symbol 546 MovieClip Frame 2
play();
Symbol 547 Button
on (rollOver) {
buttonstartover.gotoAndPlay("flash");
cursor.gotoAndPlay("hand");
_root.playSound("mouseover");
}
on (rollOut) {
cursor.gotoAndPlay("arrow");
}
on (release) {
_root.playSound("mouseclick");
level = 1;
difficulty++;
_root.gotoAndPlay("level");
}
Symbol 549 MovieClip Frame 1
stop();
Symbol 549 MovieClip Frame 2
play();
Symbol 556 Button
on (rollOver) {
buttonagain.gotoAndPlay("flash");
cursor.gotoAndPlay("hand");
_root.playSound("mouseover");
}
on (rollOut) {
cursor.gotoAndPlay("arrow");
}
on (release) {
_root.playSound("mouseclick");
score = 0;
difficulty = 0;
_root.gotoAndPlay("level");
}
Symbol 557 MovieClip Frame 1
stop();
Symbol 557 MovieClip Frame 2
play();
Symbol 559 Button
on (rollOver) {
buttoncontinue.gotoAndPlay("flash");
cursor.gotoAndPlay("hand");
_root.playSound("mouseover");
}
on (rollOut) {
cursor.gotoAndPlay("arrow");
}
on (release) {
_root.playSound("mouseclick");
_root.gotoAndPlay("level");
}
Symbol 561 MovieClip Frame 1
stop();
Symbol 561 MovieClip Frame 2
play();
Symbol 567 MovieClip Frame 1
stop();
Symbol 570 MovieClip Frame 1
stop();
Symbol 573 MovieClip Frame 1
stop();
Symbol 576 MovieClip Frame 1
stop();
Symbol 579 MovieClip Frame 1
stop();
Symbol 582 MovieClip Frame 1
stop();