Frame 1
function resetgame() {
score = 0;
peak = 0;
threshold = 1000;
lives = 6;
mult = 1;
updatescore();
}
function trackmoot() {
if ((mootx < enemydata[12].xp) && (enemydata[12].xvel >= (mult * -1))) {
enemydata[12].xvel = enemydata[12].xvel - 0.1;
}
if ((mootx > enemydata[12].xp) && (enemydata[12].xvel <= mult)) {
enemydata[12].xvel = enemydata[12].xvel + 0.1;
}
enemydata[12].yvel = (mult * 2) - Math.abs(enemydata[12].xvel);
}
function resetarrows() {
a = 0;
while (a < 3) {
arrows[a]._y = -110 - (((9 - mult) * 2) * a);
a++;
}
}
function generate() {
r = random(100);
kind = 1;
if (r < 5) {
kind = 3;
}
if (r >= (103 - mult)) {
kind = 4;
}
if ((r > 20) && (r <= ((25 + (mult * 3)) + int(score / 50000)))) {
kind = 2;
}
if ((kind == 4) && (enemydata[13].active)) {
kind = 1;
}
if ((kind == 3) && (enemydata[12].active)) {
kind = 1;
}
if ((kind == 1) && (score > 500000)) {
kind = 2;
}
if (kind == 4) {
soundufo.start(0, 999);
lr = random(2);
enemydata[13].xp = (lr * 800) - 80;
enemydata[13].yp = (random(11) * 10) + 60;
enemydata[13].xvel = (1 - (lr * 2)) * (mult + (int(mult / 6) * 2));
enemydata[13].yvel = 0;
enemydata[13].active = true;
}
if (kind == 3) {
soundtracker.start(0, 999);
enemydata[12].xp = random(600) + 20;
enemydata[12].yp = -10;
enemydata[12].xvel = 0;
enemydata[12].yvel = mult + 1;
enemydata[12].active = true;
}
if (kind == 2) {
soundspinner.start(0, 0);
fit = -1;
k = 11;
while (k >= 8) {
if (!enemydata[k].active) {
fit = k;
}
k--;
}
if (fit == -1) {
kind = 1;
} else {
enemydata[fit].xp = random(600) + 20;
enemydata[fit].yp = -10;
enemydata[fit].xvel = (((random(7) - 3) * random(2)) * random(2)) * random(2);
enemydata[fit].yvel = random(6) + mult;
enemydata[fit].active = true;
enemydata[fit].size = random(2) + 1;
enemies[fit]._xscale = (enemies[fit]._yscale = 50 * enemydata[fit].size);
}
}
if (kind == 1) {
fit = -1;
k = 7;
while (k >= 0) {
if (!enemydata[k].active) {
fit = k;
}
k--;
}
if (fit == -1) {
fit = fit;
} else {
enemydata[fit].xp = random(600) + 20;
enemydata[fit].yp = -10;
enemydata[fit].xvel = (((random(7) - 3) * random(2)) * random(2)) * random(2);
enemydata[fit].yvel = random(6) + mult;
enemydata[fit].active = true;
enemydata[fit].size = random(2) + 1;
enemies[fit]._xscale = (enemies[fit]._yscale = 50 * enemydata[fit].size);
enemies[fit].gotoAndStop(random(7) + 1);
do {
enemydata[fit].txt = wordlist[random(wordlist.length)];
enemies[fit].txtenemy.text = enemydata[fit].txt;
} while (enemies[fit].txtenemy.textWidth > 224);
}
}
}
function between(vv, ll, hh) {
if ((vv >= ll) && (vv <= hh)) {
return(true);
}
return(false);
}
function cancel(cw) {
if (cw == 12) {
soundtracker.stop();
}
if (cw == 13) {
soundufo.stop();
}
enemydata[cw].active = false;
enemydata[cw].yp = -210;
enemies[cw]._y = -210;
}
function boom() {
gamestate = "boom";
soundspinner.stop();
soundexplode.start(0, 0);
resetarrows();
b = 0;
while (b < nume) {
cancel(b);
b++;
}
score = score - (100 * mult);
updatescore();
moot.play();
}
function resumegame() {
bg.gotoAndStop(mult);
if (lives > 0) {
lives--;
gamestate = "playing";
} else {
gamestate = "gameover";
mootx = 320;
soundgohorns.start(0, 0);
sounderasure1.stop();
sounderasure2.stop();
}
}
function getewh(wh) {
if (wh < 8) {
ewidth = enemies[wh].txtenemy.textWidth * (enemydata[wh].size / 2);
}
if ((wh >= 8) && (wh < 12)) {
ewidth = enemies[wh]._width;
}
if (wh == 12) {
ewidth = 60;
}
if (wh == 13) {
ewidth = 135;
}
if (wh >= 14) {
ewidth = 40;
}
if (wh < 8) {
eheight = 36 * (enemydata[wh].size / 2);
}
if ((wh >= 8) && (wh < 12)) {
eheight = enemies[wh]._height;
}
if (wh == 12) {
eheight = 60;
}
if (wh == 13) {
eheight = 35;
}
if (wh == 14) {
eheight = 40;
}
}
function checkcollisions() {
cc = 0;
while (cc < nume) {
a = 0;
while (a < 3) {
if (enemydata[cc].active) {
getewh(cc);
if ((between(arrows[a]._x - 6, enemydata[cc].xp - (ewidth / 2), enemydata[cc].xp + (ewidth / 2)) || (between(arrows[a]._x + 6, enemydata[cc].xp - (ewidth / 2), enemydata[cc].xp + (ewidth / 2)))) && (between(arrows[a]._y + 10, enemydata[cc].yp - (eheight / 2), enemydata[cc].yp + (eheight / 2)) || (between(arrows[a]._y - 10, enemydata[cc].yp - (eheight / 2), enemydata[cc].yp + (eheight / 2))))) {
arrows[a]._y = -101;
if (cc < 8) {
score = score + ((20 / enemydata[cc].size) * mult);
if ((((enemydata[cc].size == 2) && (enemydata[cc].xvel == 0)) && (random(10) < mult)) && (enemydata[7].active == false)) {
enemydata[cc].size = 1;
enemydata[cc].xvel = enemydata[cc].yvel * ((random(2) * 2) - 1);
enemies[cc]._xscale = (enemies[cc]._yscale = 50 * enemydata[cc].size);
enemydata[7].xp = enemydata[cc].xp;
enemydata[7].yp = enemydata[cc].yp;
enemydata[7].xvel = -enemydata[cc].xvel;
enemydata[7].yvel = enemydata[cc].yvel;
enemydata[7].active = true;
enemydata[7].size = 1;
enemies[7]._xscale = (enemies[7]._yscale = 50 * enemydata[7].size);
enemies[7].gotoAndStop(enemies[cc]._currentframe);
enemies[7].txtenemy.text = enemydata[cc].txt;
} else {
cancel(cc);
}
}
if ((cc >= 8) && (cc < 12)) {
score = score + ((80 / enemydata[cc].size) * mult);
cancel(cc);
}
if (cc == 12) {
score = score + (50 * mult);
cancel(cc);
}
if (cc == 13) {
score = score + (100 * mult);
cancel(cc);
}
if (cc > 13) {
cancel(cc);
}
sounddestroy.stop();
sounddestroy.start(0, 0);
}
}
a++;
}
cc++;
}
cc = 0;
while (cc < nume) {
if (enemydata[cc].active) {
getewh(cc);
if ((between(mootx - 28, enemydata[cc].xp - (ewidth / 2), enemydata[cc].xp + (ewidth / 2)) || (between(mootx + 28, enemydata[cc].xp - (ewidth / 2), enemydata[cc].xp + (ewidth / 2)))) && (between(enemydata[cc].yp - (eheight / 2), 400, 480) || (between(enemydata[cc].yp + (eheight / 2), 400, 480)))) {
boom();
}
}
cc++;
}
cc = 0;
while (cc < nume) {
comp = 0;
if (cc == 13) {
comp = 90;
}
if (enemydata[cc].active && ((enemydata[cc].xp < (10 - comp)) || (enemydata[cc].xp > (630 + comp)))) {
cancel(cc);
}
cc++;
}
cc = 0;
while (cc < nume) {
if (enemydata[cc].active) {
if (cc < 8) {
eheight = 36;
}
if ((cc >= 8) && (cc < 12)) {
eheight = enemies[cc]._height;
}
if (cc == 12) {
eheight = 60;
}
if (cc == 13) {
eheight = 100;
}
if (cc == 14) {
eheight = 20;
}
if ((enemydata[cc].yp + (eheight / 2)) >= 480) {
cancel(cc);
if (cc < 8) {
score = score - ((10 / enemydata[cc].size) * mult);
}
if ((cc >= 8) && (cc < 12)) {
boom();
}
}
}
cc++;
}
}
function updatescore() {
if (score > 999999) {
score = 999999 /* 0x0F423F */;
}
if (peak < score) {
peak = score;
}
if ((peak >= threshold) && (score <= 500000)) {
lives++;
threshold = threshold + 1000;
}
if (lives > 99) {
lives = 99;
}
if (score >= 100000) {
mult = 6;
}
if (between(score, 50000, 99999)) {
mult = 5;
}
if (between(score, 20000, 49999)) {
mult = 4;
}
if (between(score, 5000, 19999)) {
mult = 3;
}
if (between(score, 1000, 4999)) {
mult = 2;
}
if (score < 1000) {
mult = 1;
}
bg.gotoAndStop(mult);
txtscore.text = score;
txtpeak.text = peak;
txtmult.text = "x" + mult;
txtlives.text = lives;
}
function hyperspace() {
mootx = togo;
}
arrows = new Array();
arrows[0] = arrow0;
arrows[1] = arrow1;
arrows[2] = arrow2;
enemies = new Array();
enemies[0] = enemy0;
enemies[1] = enemy1;
enemies[2] = enemy2;
enemies[3] = enemy3;
enemies[4] = enemy4;
enemies[5] = enemy5;
enemies[6] = enemy6;
enemies[7] = enemy7;
enemies[8] = spinner0;
enemies[9] = spinner1;
enemies[10] = spinner2;
enemies[11] = spinner3;
enemies[12] = fbomb;
enemies[13] = ufo;
enemies[14] = ufoshot0;
enemies[15] = ufoshot1;
enemies[16] = ufoshot2;
nume = 17;
enemydata = new Array();
e = 0;
while (e < nume) {
enemydata[e] = new Object();
enemydata[e].xp = 320;
enemydata[e].yp = -210;
enemydata[e].xvel = 0;
enemydata[e].yvel = 0;
enemydata[e].size = 2;
enemydata[e].active = false;
if (e < 8) {
enemydata[e].txt = "abc";
enemies[e].txtenemy.text = enemydata[e].txt;
}
e++;
}
wordlist = new Array("lol", "derp", "nigger", "ass", "dicks", "vagina", "cum", "pussy", "dildo", "goat", "anus", "jew", "cocks", "ban", "japan", "eels", "buttplug", "herp", "cancer", "anal", "leakage", "shit", "fuck", "damn", "hell", "jizz", "skeet", "sperm", "angry", "dragon", "crap", "noob", "anime", "hentai", "ecchi", "random", "aids", "queef", "smegma", "yogurt", "blowjob", "facial", "mouth", "yaoi", "torrent", "cheese", "cunt", "wang", "beans", "fart", "finger", "holocaust", "hitler", "twat", "period", "blood", "spit", "crack", "drip", "fap", "wank", "jerk", "tits", "nipple", "pubic", "shark", "spam", "midget", "alcohol", "porn", "abortion", "bush", "suicide", "hero", "rape", "incest", "genital", "warts", "choke", "broccoli", "space", "wtf", "dirty", "mexican", "crabs", "retard", "furry", "wizard", "moot", "snacks", "chat", "creep", "america", "idiot", "umbrella", "scrape", "penis", "spoon", "hood", "virgin", "loli", "catgirl", "crush", "futa", "noodle", "gay", "fag", "prime", "troll", "cool", "omg", "jesus", "meme", "shoop", "over", "mecha", "scrotum", "reaction", "harpoon", "captcha", "prongs", "afraid", "retry", "phone", "who", "doctor", "map", "quart", "angle", "broad", "check", "drizzle", "eager", "friend", "graph", "hello", "injury", "joust", "keystone", "lambda", "mercury", "noose", "ozone", "price", "quota", "rattle", "slippage", "thunder", "urine", "vacate", "wrist", "yellow", "tunnel", "rocks", "barn", "baked", "pot", "weed", "gold", "cactus", "sofa", "king", "through", "slowly", "tornado", "which", "scruff", "dimly", "consist", "facial", "widely", "sooner", "movement", "moreover", "therein", "yonder", "swipe", "mental", "carrier", "disease", "world", "lizard", "genuine", "tube", "cruise", "damp", "moist", "carat", "ampersand", "listen", "revolted", "poster", "tickle", "pirate", "puppet", "chirp", "compile", "trigger", "refresh", "lucky", "zone", "sprint", "contra", "dream", "grasp", "landlord", "today", "parent", "typhoon", "silver", "month", "purple", "moan", "early", "foreskin", "taint", "sneeze", "donkey", "punch", "thirsty", "mane", "collar", "chasm", "spelunk", "birthday", "wide", "freckle", "rub", "yoke", "vibrate", "chance", "other", "floppy", "would", "sputter", "explore", "crass", "hospital", "river", "mail", "elect", "quiver", "perish", "county", "harden", "tumble", "rucksack", "winter", "dial", "lingo", "bandana", "pattern", "century", "single", "twice", "trio", "grand", "slam", "pent", "hexagon", "percent", "vacuum", "that", "sibling", "show", "sentence", "over", "lament", "extra", "drip", "arbor", "coupon", "memory", "gristle", "pinch", "asian", "slut", "shrimp", "whore", "nasty", "whirl", "bomb", "arrow", "file", "command", "debug", "control", "dominate", "bondage", "frame", "bath", "blood", "cure", "plumber", "hammer", "comedy", "cancel", "chewy", "signals", "pronounce", "adverse", "cigar", "tract", "egg", "cookie", "spare", "roll", "breathe", "colon", "undulate", "blossom", "utopia", "corn", "elevate", "thrash", "couple", "sherbet", "number", "bread", "growth", "lonely", "laugh", "gore", "rotate", "cramp", "style", "attribute", "harmony", "lime", "internet", "planet", "yeast", "marble", "defend", "gate", "devil", "sunset", "cracker", "ghastly", "between", "length", "hundred", "text", "blank", "nailed", "stuffing", "glug", "receipt", "bait", "ooze", "lap", "cream", "cotton", "propane", "positive", "band", "milk", "piss", "vomit", "anything", "forget", "fabricate", "lighter", "drank", "swallow", "repeat", "fling", "bruise", "drain", "pledge", "anonymous", "gasp", "grail", "eliminate", "weapon", "bland", "rotor", "trunk", "distract", "ginger", "safe", "board", "obstacle", "mission", "fuse", "weakness", "core", "staple", "pressure", "money", "shot", "radio", "battle", "gristle", "shingle", "cavity", "image", "last", "remote", "tickle", "bitch", "pink", "dubious", "rancid", "giant", "drink", "clit", "sucks", "doubles", "rage", "fat", "blunt", "flash", "quiver", "robot", "voice", "grip", "short", "glitter", "enema", "unicorn", "surgeon", "magic", "open", "eyes", "motion", "cold", "outside", "hold", "night", "shame", "always", "make", "believe", "melting", "ocean", "pump", "fast", "guzzle", "while", "nibble", "qualm", "bereft", "nebula", "hawk", "snot", "mucus", "septum", "duplicate", "beef", "sausage", "mushroom", "voracious", "vapid", "chemical", "toilet", "amputee", "belch", "chum", "diarrhea", "ejaculate", "flotsam", "green", "hoist", "inject", "juice", "kamikaze", "lap", "milf", "nazi", "octopus", "pneumonia", "rap", "slime", "tease", "uvula", "vulva", "wriggle", "zits", "asshole", "bastard", "chink", "dyke", "elephant", "fatty", "gross", "hate", "inch", "jack", "kill", "luscious", "mustard", "nerd", "oboe", "pliers", "rusty", "sex", "trombone", "junk", "flat");
var holdspinner = this.createEmptyMovieClip("holdspinner", 20);
var soundspinner = new Sound(holdspinner);
soundspinner.attachSound("spinner.wav");
var holddestroy = this.createEmptyMovieClip("holddestroy", 21);
var sounddestroy = new Sound(holddestroy);
sounddestroy.attachSound("destroy.wav");
var holdexplode = this.createEmptyMovieClip("holdexplode", 22);
var soundexplode = new Sound(holdexplode);
soundexplode.attachSound("explode.wav");
var holdtracker = this.createEmptyMovieClip("holdtracker", 23);
var soundtracker = new Sound(holdtracker);
soundtracker.attachSound("tracker.wav");
var holdgohorns = this.createEmptyMovieClip("holdgohorns", 24);
var soundgohorns = new Sound(holdgohorns);
soundgohorns.attachSound("gohorns.wav");
var holdufo = this.createEmptyMovieClip("holdufo", 25);
var soundufo = new Sound(holdufo);
soundufo.attachSound("ufo.wav");
var holderasure1 = this.createEmptyMovieClip("holderasure1", 31);
var sounderasure1 = new Sound(holderasure1);
sounderasure1.attachSound("erasure1.wav");
var holderasure2 = this.createEmptyMovieClip("holderasure2", 32);
var sounderasure2 = new Sound(holderasure2);
sounderasure2.attachSound("erasure2.wav");
resetgame();
mootx = 320;
resetarrows();
gamestate = "gameover";
musicon = true;
soundon = true;
keyListener = new Object();
keyListener.onKeyDown = function () {
var _local1 = Key.getCode();
if (_local1 == 77) {
musicon = !musicon;
vm = 50;
if (gamestate != "paused") {
vm = 100;
}
if (!musicon) {
vm = 0;
}
sounderasure1.setVolume(vm);
sounderasure2.setVolume(vm);
}
if (_local1 == 80) {
if (gamestate == "playing") {
gamestate = "ready2pause";
}
if (gamestate == "paused") {
gamestate = "playing";
if (musicon) {
sounderasure1.setVolume(100);
sounderasure2.setVolume(100);
}
}
if (gamestate == "ready2pause") {
gamestate = "paused";
if (musicon) {
sounderasure1.setVolume(50);
sounderasure2.setVolume(50);
}
}
}
if (_local1 == 83) {
soundon = !soundon;
vs = 50;
if (gamestate != "paused") {
vs = 100;
}
if (!soundon) {
vs = 0;
}
soundspinner.setVolume(vs);
sounddestroy.setVolume(vs);
soundexplode.setVolume(vs);
soundtracker.setVolume(vs);
soundgohorns.setVolume(vs);
}
};
Key.addListener(keyListener);
this.onMouseDown = function () {
if (gamestate == "playing") {
hyperspace();
}
if (gamestate == "gameover") {
resetgame();
sounderasure1.start(0, 0);
musicintro = true;
skiponce = true;
sounderasure1.onSoundComplete = function () {
if (gamestate != "gameover") {
sounderasure2.start(0, 9999);
}
};
gamestate = "playing";
titlescreen._visible = false;
}
};
this.onEnterFrame = function () {
if (gamestate == "playing") {
if ((random(100) <= (mult * 2)) && (!enemydata[13].active)) {
generate();
}
togo = Math.max(Math.min(610, _xmouse), 30);
diff = Math.min(Math.abs(mootx - togo), 14 + mult);
if (mootx < togo) {
mootx = mootx + diff;
}
if (mootx > togo) {
mootx = mootx - diff;
}
moot._x = mootx;
a = 0;
while (a < 3) {
if (arrows[a]._y < -100) {
arrows[a]._y++;
}
if (arrows[a]._y == -100) {
arrows[a]._y = 380;
arrows[a]._x = mootx;
}
if (arrows[a]._y > -10) {
arrows[a]._y = arrows[a]._y - (6 + (mult * 2));
if (Math.abs(arrows[0]._y - arrows[1]._y) < 100) {
if (arrows[0]._y < arrows[1]._y) {
arrows[0]._y--;
} else {
arrows[1]._y--;
}
}
if (Math.abs(arrows[0]._y - arrows[2]._y) < 100) {
if (arrows[0]._y < arrows[2]._y) {
arrows[0]._y--;
} else {
arrows[0]._y++;
}
}
if (Math.abs(arrows[1]._y - arrows[2]._y) < 100) {
if (arrows[1]._y < arrows[2]._y) {
arrows[1]._y--;
} else {
arrows[1]._y++;
}
}
}
if ((arrows[a]._y <= -10) && (arrows[a]._y > -90)) {
arrows[a]._y = -101;
}
a++;
}
checkcollisions();
me = 0;
while (me < nume) {
if ((me == 12) && (enemydata[12].active)) {
trackmoot();
if (enemydata[12].xp < 40) {
enemydata[12].xvel = Math.abs(enemydata[12].xvel);
}
if (enemydata[12].xp > 600) {
enemydata[12].xvel = Math.abs(enemydata[12].xvel) * -1;
}
}
if ((me == 13) && (enemydata[13].active)) {
if (between(enemydata[13].xp, 10, 630) && ((enemydata[13].xp % 80) == 0)) {
fit = -1;
k = 16;
while (k >= 14) {
if (!enemydata[k].active) {
fit = k;
}
k--;
}
if (fit == -1) {
fit = fit;
} else {
enemydata[fit].xp = enemydata[13].xp;
enemydata[fit].yp = enemydata[13].yp;
enemydata[fit].xvel = (mootx - enemydata[fit].xp) / ((480 - enemydata[fit].yp) / (mult * 2));
enemydata[fit].yvel = mult * 2;
enemydata[fit].active = true;
}
}
}
if (enemydata[me].active) {
enemydata[me].xp = enemydata[me].xp + enemydata[me].xvel;
enemydata[me].yp = enemydata[me].yp + enemydata[me].yvel;
enemies[me]._x = enemydata[me].xp;
enemies[me]._y = enemydata[me].yp;
}
me++;
}
checkcollisions();
updatescore();
}
if (gamestate == "boom") {
bg.gotoAndStop(7);
}
if (gamestate == "gameover") {
bg.gotoAndStop(8);
titlescreen._visible = true;
}
if (gamestate == "paused") {
bg.gotoAndStop(8);
}
if (gamestate != "gameover") {
if ((sounderasure1.position > 44200) && (musicintro)) {
if (skiponce) {
skiponce = false;
} else {
sounderasure1.stop();
sounderasure2.start(0, 9999);
musicintro = false;
}
}
}
};
Symbol 18 MovieClip Frame 1
stop();
Symbol 33 MovieClip Frame 1
stop();
Instance of Symbol 57 MovieClip "swirl" in Symbol 58 MovieClip Frame 1
onClipEvent (enterFrame) {
this._rotation = this._rotation + 5;
}
Symbol 63 MovieClip Frame 1
stop();
Symbol 63 MovieClip Frame 30
_root.resumegame();