Frame 2
stop();
Instance of Symbol 9 MovieClip "shot" in Frame 2
onClipEvent (load) {
if (_name != "shot") {
_root.actions.totalShots++;
shotTime = getTimer();
_x = _root.actions.tipx1;
_y = _root.actions.tipy1;
xSpeed = _root.actions.shotXspeed + _root.actions.xSpeed;
ySpeed = _root.actions.shotYspeed + _root.actions.ySpeed;
}
}
onClipEvent (enterFrame) {
if (_name != "shot") {
_root.actions.wrapAround(this);
if ((getTimer() - shotTime) > 1500) {
removeMovieClip(this);
}
_x = (_x + xSpeed);
_y = (_y - ySpeed);
}
}
onClipEvent (unload) {
_root.actions.totalShots--;
}
Instance of Symbol 9 MovieClip "amoebaShot" in Frame 2
onClipEvent (load) {
if (_name != "amoebaShot") {
_y = _root.amoeba._y;
_x = _root.amoeba._x;
shotSpeed = 10;
shotTime = getTimer();
deltaX = _x - _root.ship._x;
deltaY = _y - _root.ship._y;
angle = -Math.atan2(deltaX, deltaY);
ySpeed = shotSpeed * Math.cos(angle);
xSpeed = shotSpeed * Math.sin(angle);
amoebaShot = new Sound(this);
amoebaShot.attachSound("amoebaShot");
amoebaShot.setVolume(20);
amoebaShot.start();
}
}
onClipEvent (enterFrame) {
if (_name != "amoebaShot") {
_y = (_y - ySpeed);
_x = (_x + xSpeed);
_root.actions.wrapAround(this);
if (_root.ship.body.hitTest(_x, _y, true) && (_root.ship._alpha > 90)) {
_root.actions.death(_root.ship);
removeMovieClip(this);
}
if ((getTimer() - shotTime) > 3000) {
removeMovieClip(this);
}
}
}
onClipEvent (unload) {
_root.amoeba.firing = false;
}
Instance of Symbol 11 MovieClip "glob" in Frame 2
onClipEvent (load) {
function hit(whichShot) {
removeMovieClip(whichShot);
_root.actions.explosion(this);
if (((((whichShot == 0) || (_root.newShot1000)) || (_root.newShot2000)) || (_root.newShot3000)) || (_root.newShot4000)) {
_root.actions.score = _root.actions.score + scoreAmount;
}
removeMovieClip(this);
}
if (_name != "glob") {
scoreAmount = 25;
_root.actions.totalCells++;
angle = Math.random() * (Math.PI*2);
speed = random(5) + 1;
xSpeed = Math.sin(angle) * speed;
ySpeed = Math.cos(angle) * speed;
rotateSpeed = random(8) - 4;
}
}
onClipEvent (enterFrame) {
if (_name != "glob") {
_root.actions.collisions(this);
_root.actions.wrapAround(this);
_x = (_x + xSpeed);
_y = (_y + ySpeed);
_rotation = (_rotation + rotateSpeed);
}
}
onClipEvent (unload) {
_root.actions.totalCells--;
}
Instance of Symbol 19 MovieClip "amoeba" in Frame 2
onClipEvent (load) {
function hit(whichShot) {
if (whichShot != _root.newshot5000) {
i = 1;
while (i <= 2) {
_root.actions.cellNumber++;
duplicateMovieClip (_root.glob, "cell" + _root.actions.cellNumber, _root.actions.cellNumber);
_root["cell" + _root.actions.cellNumber]._x = _x;
_root["cell" + _root.actions.cellNumber]._y = _y;
i++;
}
if (whichShot != 0) {
_root.actions.cellNumber++;
duplicateMovieClip (_root.seeker, "cell" + _root.actions.cellNumber, _root.actions.cellNumber);
_root["cell" + _root.actions.cellNumber]._x = _x;
_root["cell" + _root.actions.cellNumber]._y = _y;
}
removeMovieClip(whichShot);
_root.actions.death(this);
_root.actions.score = _root.actions.score + 75;
}
}
moveTime = getTimer();
appearTime = getTimer();
ySpeed = 4;
rotateSpeed = random(8) - 4;
pause = random(7000) + 7000;
amoebaSound = new Sound(this);
amoebaSound.attachSound("amoeba");
soundStartable = true;
}
onClipEvent (enterFrame) {
if (_visible == 0) {
amoebaSound.stop();
soundStartable = true;
_x = -30;
xDirection = random(2);
if (xDirection == 0) {
xSpeed = 4;
}
if (xDirection == 1) {
xSpeed = -4;
}
}
if ((getTimer() - appearTime) > pause) {
_visible = 1;
}
if (_visible) {
_root.actions.collisions(this);
_root.actions.wrapAround(this);
if ((_root.startButton._alpha < 10) && (soundStartable)) {
amoebaSound.start(0, 99999);
amoebaSound.setVolume(50);
soundStartable = false;
}
if ((((_root.ship._alpha > 90) && (!firing)) && (_x > 100)) && (_x < 500)) {
firing = true;
duplicateMovieClip (_root.amoebaShot, "newShot5000", 5000);
}
if (((getTimer() - appearTime) > 30000) && ((_x < 0) || (_x > 640))) {
_root.actions.death(this);
}
_x = (_x + xSpeed);
_y = (_y + ySpeed);
_rotation = (_rotation + rotateSpeed);
}
if ((getTimer() - moveTime) > (random(2000) + 2000)) {
yDirection = random(3);
rotateSpeed = random(8) - 4;
moveTime = getTimer();
if (yDirection == 0) {
ySpeed = 4;
}
if (yDirection == 1) {
ySpeed = -4;
}
if (yDirection == 2) {
ySpeed = 0;
}
}
}
Instance of Symbol 21 MovieClip "paramecium" in Frame 2
onClipEvent (load) {
function hit(whichShot) {
if (whichShot != _root.newShot5000) {
_root.actions.score = _root.actions.score + 50;
}
_root.actions.explosion(this);
removeMovieClip(whichShot);
removeMovieClip(this);
_x = (_x + 20);
}
function go(degree) {
_y = (_y - (speed * Math.cos(_rotation * (Math.PI/180))));
_x = (_x + (speed * Math.sin(_rotation * (Math.PI/180))));
if (_rotation < degree) {
_rotation = (_rotation + 15);
}
if (_rotation > degree) {
_rotation = (_rotation - 15);
}
}
if (_name != "paramecium") {
angle = random(360);
_root.actions.totalcells++;
_x = ((Math.sin(angle * (Math.PI/180)) * (_root.actions.radius2 + 10)) + _root.actions.centerx);
_y = ((Math.cos(angle * (Math.PI/180)) * (_root.actions.radius2 + 10)) + _root.actions.centery);
moveTime = getTimer();
speed = random(4) + 4;
direction = random(9);
}
}
onClipEvent (enterFrame) {
if (_name != "paramecium") {
if (up && (left)) {
go(-45);
} else if (up && (right)) {
go(45);
} else if (down && (left)) {
go(-135);
} else if (down && (right)) {
go(135);
} else if ((right && (!down)) && (!up)) {
go(90);
} else if ((left && (!down)) && (!up)) {
go(-90);
} else if ((down && (!right)) && (!left)) {
go(180);
} else if ((up && (!right)) && (!left)) {
go(0);
}
if (direction == 0) {
up = true;
down = false;
right = false;
left = false;
}
if (direction == 1) {
up = false;
down = true;
right = false;
left = false;
}
if (direction == 2) {
up = false;
down = false;
right = true;
left = false;
}
if (direction == 3) {
up = false;
down = false;
right = false;
left = true;
}
if (direction == 4) {
up = true;
down = false;
right = true;
left = false;
}
if (direction == 5) {
up = true;
down = false;
right = false;
left = true;
}
if (direction == 6) {
up = false;
down = true;
right = true;
left = false;
}
if (direction == 7) {
up = false;
down = true;
right = false;
left = true;
}
if (direction == 8) {
up = false;
down = false;
right = false;
left = false;
}
_root.actions.collisions(this);
_root.actions.wrapAround(this);
if ((getTimer() - moveTime) > (random(2000) + 2000)) {
direction = random(9);
moveTime = getTimer();
}
}
}
onClipEvent (unload) {
_root.actions.totalcells--;
}
Instance of Symbol 14 MovieClip "seeker" in Frame 2
onClipEvent (load) {
function hit(whichShot) {
if (whichShot != _root.newshot5000) {
_root.actions.score = _root.actions.score + 150;
_root.actions.explosion(this);
removeMovieClip(whichShot);
removeMovieClip(this);
}
}
if (_name != "seeker") {
speed = 5;
}
}
onClipEvent (enterFrame) {
if (_name != "seeker") {
if (_root.actions.dead) {
_root.actions.explosion(this);
removeMovieClip(this);
}
_rotation = (_rotation + 10);
deltaX = _x - _root.ship._x;
deltaY = _y - _root.ship._y;
angle = -Math.atan2(deltaX, deltaY);
ySpeed = speed * Math.cos(angle);
xSpeed = speed * Math.sin(angle);
_y = (_y - ySpeed);
_x = (_x + xSpeed);
_root.actions.collisions(this);
}
}
Instance of Symbol 88 MovieClip "actions" in Frame 2
onClipEvent (load) {
function initiate() {
_root.startButton.enabled = false;
_root.ship._rotation = 0;
if (started) {
buttonFadeOut = true;
}
i = cellNumber;
while (i > 0) {
removeMovieClip("_root.cell" + i);
i--;
}
death(_root.amoeba);
score = 0;
level = 2;
lives = 3;
dead = false;
fadeIn = true;
}
function wraparound(whichObject) {
with (whichObject) {
delta_x = _root.circle._x - _x;
delta_y = _root.circle._y - _y;
angle = Math.atan2(delta_y, delta_x);
distance = Math.sqrt((delta_x * delta_x) + (delta_y * delta_y));
if (distance > radius2) {
_x = (Math.cos(angle) * radius2) + centerx;
_y = (Math.sin(angle) * radius2) + centery;
}
}
}
function collisions(whichObject) {
a = 1;
while (a <= 3) {
if (whichObject.hitTest(this["tipx" + a], this["tipy" + a], true)) {
if (_root.ship._alpha > 90) {
whichObject.hit(0);
}
death(_root.ship);
}
a++;
}
b = 1000;
while (b <= 5000) {
if (whichObject.hitTest(_root["newShot" + b]._x, _root["newShot" + b]._y, true) && (_root["newShot" + b]._visible)) {
whichObject.hit(_root["newShot" + b]);
}
b = b + 1000;
}
}
function explosion(whichObject) {
duplicateMovieClip (_root.explosion, "explosion" + explosionNumber, explosionNumber);
_root["explosion" + explosionNumber]._x = whichObject._x;
_root["explosion" + explosionNumber]._y = whichObject._y;
explosionNumber++;
}
function death(whichShip) {
if ((lives != 0) && (whichship._alpha > 90)) {
explosion(whichShip);
}
if (whichShip == _root.ship) {
deathTime = getTimer();
if (!dead) {
lives--;
}
dead = true;
thrustSound.stop();
soundStartable = true;
whichShip._alpha = 0;
_root.shipShadow._alpha = 0;
whichShip._x = 302;
whichShip._y = 295;
} else {
whichship.appearTime = getTimer();
whichship.pauseTime = (Math.random() * 7000) + 7000;
whichship._visible = 0;
}
}
_root.explosion.stop();
_root.cell._visible = 0;
_root.ship._alpha = 0;
_root.amoeba._visible = 0;
_root.circle.ring._visible = 0;
_root.ship.body.body2._visible = 0;
_root.mask.label._visible = 0;
_root.texts.whiteText._visible = 0;
_root.startButton.blackButton._visible = 0;
_root.shipShadow._alpha = 0;
_root.circle.swapdepths(4000000);
_root.mask.swapdepths(4000001);
_root.texts.swapdepths(4000002);
_root.startButton.swapdepths(4000003);
radius = _root.ship.body._height / 2;
radius2 = _root.circle._width / 2;
centerx = _root.circle._x;
centery = _root.circle._y;
bonusLifeScore = 2000;
score = 0;
lives = 0;
level = 6;
totalcells = 0;
cellNumber = 1;
explosionNumber = 1000000 /* 0x0F4240 */;
shotNumber = 1000;
totalShots = 1;
maxShots = 4;
shotSpeed = 17;
thrust = 1;
decay = 0.98;
maxSpeed = 15;
shotSound = new Sound(this);
shotSound.attachSound("shoot");
thrustSound = new Sound(_root.ship);
thrustSound.attachSound("thrust");
soundStartabe = true;
_root.mask.backgroundButton.onRelease = function () {
_root.circle.drop._visible = !_root.circle.drop._visible;
_root.circle.ring._visible = !_root.circle.ring._visible;
_root.mask.dropShadow._visible = !_root.mask.dropShadow._visible;
_root.background._visible = !_root.background._visible;
_root.ship.body.body2._visible = !_root.ship.body.body2._visible;
_root.mask.label._visible = !_root.mask.label._visible;
_root.mask.maskedArea._visible = !_root.mask.maskedArea._visible;
_root.texts.whiteText._visible = !_root.texts.whiteText._visible;
_root.startButton.blackButton._visible = !_root.startButton.blackButton._visible;
_root.startButton.colorButton._visible = !_root.startButton.colorButton._visible;
};
_root.mask.qualityButton.onRelease = function () {
toggleHighQuality();
};
}
onClipEvent (enterFrame) {
_root.startButton.onRelease = initiate;
if ((totalcells == 0) && (started)) {
level++;
cellNumber = 1;
}
if (cellNumber <= level) {
duplicateMovieClip (_root.paramecium, "cell" + cellNumber, cellNumber);
cellNumber++;
started = true;
}
if (dead && (lives > 0)) {
pauseTime = getTimer() - deathTime;
if ((pauseTime > 3000) && (lives > 0)) {
dead = false;
fadeIn = true;
}
}
if (score > bonusLifeScore) {
bonusLifeScore = bonusLifeScore + 2000;
lives = lives + 1;
}
with (_root.startButton) {
if (lives == 0) {
_root.startButton.enabled = true;
if (_alpha < 10) {
buttonText = "RESTART";
}
if (_alpha < 100) {
_alpha = _alpha + 10;
}
}
if ((_alpha > 0) && (buttonFadeOut)) {
_alpha = _alpha - 10;
} else {
buttonFadeOut = false;
}
}
wrapAround(_root.ship);
if (Key.isDown(32)) {
if (((!spacekeydown) && (!dead)) && (totalshots <= maxshots)) {
duplicateMovieClip (_root.shot, "newshot" + shotnumber, shotnumber);
shotsound.start();
shotnumber = shotnumber + 1000;
if ((shotnumber / 1000) > maxshots) {
shotnumber = 1000;
}
shotyspeed = shotspeed * yThrustPercent;
shotxspeed = shotspeed * xThrustPercent;
spacekeydown = true;
}
} else {
spacekeydown = false;
}
with (_root.ship) {
if ((_alpha < 100) && (fadeIn)) {
flames._visible = 0;
_alpha = _alpha + 10;
_root.shipShadow._alpha = _root.shipShadow._alpha + 10;
} else {
fadeIn = false;
}
if (!dead) {
if (Key.isDown(38)) {
xSpeed = xSpeed + (thrust * xThrustPercent);
ySpeed = ySpeed + (thrust * yThrustPercent);
flames._visible = 1;
if (soundStartable) {
thrustSound.start(0, 99999999);
soundStartable = false;
}
} else {
xSpeed = xSpeed * decay;
ySpeed = ySpeed * decay;
flames._visible = 0;
thrustSound.stop();
soundStartable = true;
}
if (Key.isDown(39)) {
_rotation = _rotation + 10;
}
if (Key.isDown(37)) {
_rotation = _rotation - 10;
}
}
xThrustPercent = Math.sin(_rotation * (Math.PI/180));
yThrustPercent = Math.cos(_rotation * (Math.PI/180));
speed = Math.sqrt((xSpeed * xSpeed) + (ySpeed * ySpeed));
if (speed > maxSpeed) {
xSpeed = xSpeed * (maxSpeed / speed);
ySpeed = ySpeed * (maxSpeed / speed);
}
_y = _y - ySpeed;
_x = _x + xSpeed;
if (dead) {
xSpeed = 0;
ySpeed = 0;
}
angle1 = (_rotation - 90) * (Math.PI/180);
tipy1 = (Math.sin(angle1) * radius) + _y;
tipx1 = (Math.cos(angle1) * radius) + _x;
angle2 = (_rotation + 57) * (Math.PI/180);
tipy2 = (Math.sin(angle2) * radius) + _y;
tipx2 = (Math.cos(angle2) * radius) + _x;
angle3 = (_rotation - 237) * (Math.PI/180);
tipy3 = (Math.sin(angle3) * radius) + _y;
tipx3 = (Math.cos(angle3) * radius) + _x;
_root.shipShadow._x = _x + 4;
_root.shipShadow._y = _y + 4;
_root.shipShadow._rotation = _rotation;
}
}
Symbol 33 MovieClip Frame 10
stop();
removeMovieClip(this);
Symbol 46 MovieClip Frame 1
stop();