Frame 4
if (_framesloaded < _totalframes) {
gotoAndPlay (3);
}
Frame 5
function uf_initialize_game() {
uf_initialize_sound();
uf_set_volumes(20, 95);
debug_mode = false;
game_time_obj = new date();
best_score_display = "000000";
best_score = 0;
fps = 25;
pi = 3.14;
view_width = 640;
view_height = 480;
view_centre_x = 320;
view_centre_y = 240;
convert_coords = new object();
margin_left = 0;
margin_right = 640;
margin_top = 0;
margin_bottom = 480;
screen_shake = false;
screen_shake_count = 0;
screen_shake_time = 10;
screen_shake_amount = 0.5;
gravity = 0;
drag = 0.04;
naut_x = 0;
naut_y = 0;
naut_mass = 0.2;
naut_speed = 1;
naut_thrusting = 0;
thrust_force = 0.4;
naut_asleep = false;
naut_asleep_count = 0;
naut_asleep_delay = 30;
no_of_levels = 20;
extra_life_every = 20000;
naut_type_1_mass = 0.7;
naut_type_2_mass = 1;
naut_type_3_mass = 1.3;
naut_rotation = 0;
naut_rot_dir = 0;
naut_rot_speed = 0;
naut_rot_speed_add = 1.6;
last_frame_collision = false;
bonus_energy_interval = 100;
bonus_energy_frame = 0;
bonus_energy_visible = false;
bonus_display_for = 175;
no_of_bonus_types = 7;
max_bullets = 3;
bullet_count = 0;
bullet_objs = new Array(max_bullets);
weapon_type_0_desc = "FLATULIZER";
weapon_type_1_desc = "OUTHOUSE ROUNDHOUSE";
weapon_type_2_desc = "FOGGY BRICKS";
weapon_type_3_desc = "POOTRON BOMB";
weapon_type_4_desc = "WETBATS";
weapon_flatulizer = 0;
weapon_outhouse = 1;
weapon_foggy = 2;
weapon_pootron = 3;
weapon_wetbats = 4;
weapon_type_0_life = 7;
weapon_type_4_life = 90;
weapon_type_3_life = 12;
bonus_1_desc = "BUM SCRUMPY";
bonus_2_desc = weapon_type_1_desc;
bonus_3_desc = weapon_type_2_desc;
bonus_4_desc = weapon_type_3_desc;
bonus_5_desc = weapon_type_4_desc;
bonus_6_desc = "INVINCIBUBBLE";
special_enemy_interval = 180;
special_enemy_frame = 0;
special_enemy_visible = false;
special_enemy_display_for = 350;
special_enemy_speed = 2;
special_enemy_hit_count = 20;
special_enemy_max_mines = 1;
special_enemy_accuracy = 35;
uf_setup_math_tables();
}
function uf_prepare_next_game() {
level = 0;
player_lives = 10;
score = 0;
old_score = 0;
next_bonus = 1;
uf_play_sound("MUSIC_IG", 0, 999);
}
function uf_setup_math_tables() {
my_cos = new array(720);
x = 1;
while (720 >= x) {
my_cos[x] = math.cos(uf_deg_to_rad(x - 360));
x++;
}
my_sin = new array(720);
x = 1;
while (720 >= x) {
my_sin[x] = math.sin(uf_deg_to_rad(x - 360));
x++;
}
}
function uf_cos(ang) {
return(math.cos(uf_deg_to_rad(ang)));
}
function uf_sin(ang) {
return(math.sin(uf_deg_to_rad(ang)));
}
function uf_set_weapon(no, no_of_shots) {
current_weapon = eval (("weapon_type_" + no) + "_desc");
current_weapon_life = eval (("weapon_type_" + no) + "_life");
current_weapon_no_of_shots = no_of_shots;
}
function uf_deg_to_rad(deg) {
radian = (pi / 180) * deg;
return(radian);
}
function uf_rad_to_deg(rad) {
deg = rad * (180 / pi);
return(deg);
}
function uf_convert_coords(movie, x, y) {
convert_coords.x = x;
convert_coords.y = y;
movie.localToGlobal(convert_coords);
}
function uf_get_dir_ang(obj1, obj2) {
lx = obj2._x - obj1._x;
ly = obj2._y - obj1._y;
adder = 90;
if (obj1._x < obj2._x) {
adder = 270;
}
ang = adder + uf_rad_to_deg(math.atan(ly / lx));
distance = math.sqrt((lx * lx) + (ly * ly));
return(ang);
}
function uf_get_vector(ang) {
dir_x_off = uf_sin(ang);
dir_y_off = -uf_cos(ang);
}
function uf_set_character(no) {
sprite_naut = eval ("sprite_naut_type_" + no);
naut_mass = eval (("naut_type_" + no) + "_mass");
}
function uf_set_player_message(mess, frms) {
if (!player_message_visible) {
player_message_visible = true;
player_message_count = frms;
player_message = mess;
}
}
function uf_process_player_message() {
if (player_message_visible) {
player_message_count = player_message_count - 1;
if (player_message_count == 0) {
player_message = "";
player_message_visible = false;
}
}
}
function uf_next_level() {
special_enemies_hit = 0;
special_enemy_visible = false;
special_enemy_frame = 0;
special_enemy_mine_visible = false;
backdrop.nextFrame();
level = level + 1;
if (no_of_levels < level) {
gotoAndPlay (153);
}
frame_count = 0;
level_complete = false;
level_time = 60 * fps;
special_enemy_visible = false;
special_enemy_frame = 0;
bonus_energy_frame = 0;
bonus_energy_visible = false;
uf_update_score(0);
}
function uf_process_object_hit(obj) {
obj.hit_count = obj.hit_count - 1;
dead = false;
last_hit_obj = obj;
if (obj.hit_count == 0) {
dead = true;
obj.obj_status = "dead";
obj.gotoAndPlay("boom");
uf_update_score(obj.points_value);
} else {
uf_play_sound("RCH_1");
}
return(dead);
}
function uf_set_properties(obj) {
obj._xscale = obj.xscale;
obj._yscale = obj.yscale;
obj._rotation = obj.rot;
obj._x = obj.x;
obj._y = obj.y;
}
function uf_initialize_obj(obj) {
obj.hit_count = obj.initial_hit_count;
uf_set_properties(obj);
}
function uf_process_screen_shake() {
if (screen_shake) {
screen_shake_count = screen_shake_count - 1;
if (0 >= screen_shake_count) {
screen_shake = false;
current_scenario._x = current_scenario_init_x;
current_scenario._y = current_scenario_init_y;
} else {
sax = -(screen_shake_count + (random(screen_shake_count * 2) * screen_shake_amount));
say = -(screen_shake_count + (random(screen_shake_count * 2) * screen_shake_amount));
new_x = current_scenario_init_x + sax;
new_y = current_scenario_init_y + say;
current_scenario._x = new_x;
current_scenario._y = new_y;
}
}
}
function uf_shake_screen() {
screen_shake = true;
screen_shake_count = screen_shake_time;
current_scenario_init_x = current_scenario._x;
current_scenario_init_y = current_scenario._y;
}
function uf_update_time() {
level_time = level_time - 1;
time_display = math.floor(level_time / fps);
if (time_display != old_level_time) {
if (time_display < 10) {
ring_wobble_time.gotoAndPlay("wobble");
}
if (time_display == 0) {
gotoAndPlay (158);
}
}
old_level_time = time_display;
}
function uf_update_score(inc) {
score = score + inc;
display = "00000" + score;
l = string.length(display);
display_score = display.substr(l - 6, 6);
if (extra_life_every < (score - old_score)) {
player_lives = player_lives + 1;
old_score = score;
uf_set_player_message("BONUS LIFE x 1", 30);
}
}
function uf_update_energy(adder) {
naut_energy = naut_energy + adder;
if (100 < naut_energy) {
naut_energy = 100;
}
energy_meter.gotoAndStop(naut_energy + 1);
ring_wobble_energy.gotoAndPlay("wobble");
}
function uf_is_on_screen(obj) {
w = obj._width / 2;
h = obj._height / 2;
return(((((margin_left - w) < obj._x) and (obj._x < (margin_right + w))) and ((margin_top - h) < obj._y)) and (obj._y < (margin_bottom + h)));
}
function uf_check_collision(obj1, obj2, quikcheck) {
collided = false;
if (((obj1.stage_x != undefined) and (obj2.stage_x != undefined)) and quikcheck) {
if (48 < math.abs(obj1.stage_x - obj2.stage_x)) {
return(false);
}
}
if ((!obj1._visible) or (!obj2._visible)) {
return(false);
}
obj1_limit = obj1.no_of_collision_objs;
obj2_limit = obj2.no_of_collision_objs;
sub = 0;
while ((obj1_limit >= sub) and (!collided)) {
sub++;
scenery_obj = eval ("obj1.collision_" + sub);
y = 0;
while ((obj2_limit >= y) and (!collided)) {
y++;
col_obj = eval ("obj2.collision_" + y);
if (scenery_obj.hitTest(col_obj)) {
collided = true;
}
}
}
return(collided);
}
function uf_check_collision_v2(obj1, obj2, quikcheck) {
if (((obj1.stage_x != undefined) and (obj2.stage_x != undefined)) and quikcheck) {
if (48 < math.abs(obj1.stage_x - obj2.stage_x)) {
return(false);
}
}
return(obj1.collision_1.hitTest(obj2.collision_1));
}
function uf_process_keypresses() {
if (Key.isDown(Key.UP) or (joystick.joystick_desc == "UP")) {
naut_thrusting = thrust_force;
thrust_rot = naut_rotation;
if (cloud_frame == 0) {
cloud_frame = frame_count - 10;
max_clouds = 6;
sprite_naut.gotoAndPlay("fart");
}
} else {
naut_thrusting = 0;
cloud_frame = 0;
sprite_naut.stop_thrusting = true;
}
if (Key.isDown(Key.LEFT) or (joystick.joystick_desc == "LEFT")) {
naut_rot_speed = naut_rot_speed - naut_rot_speed_add;
}
if (Key.isDown(Key.RIGHT) or (joystick.joystick_desc == "RIGHT")) {
naut_rot_speed = naut_rot_speed + naut_rot_speed_add;
}
if (joystick.joystick_fire) {
uf_fire();
}
}
function uf_process_bullets() {
bullets_alive = 0;
b = 0;
while (max_bullets >= b) {
b++;
if (bullet_objs[b] != undefined) {
bullets_alive = bullets_alive + 1;
obj = bullet_objs[b];
obj.x = obj.x + (obj.xoff * obj.speed);
obj.y = obj.y + (obj.yoff * obj.speed);
obj.life = obj.life - 1;
obj.stage_x = obj.x;
obj.stage_y = obj.y;
uf_set_properties(obj);
if ((!uf_is_on_screen(obj)) or (0 >= obj.life)) {
bullet_objs[b]._visible = false;
bullet_objs[b] = undefined;
} else {
hit = false;
if (special_enemy_visible) {
hit = uf_check_collision_v2(bullet_objs[b], se_obj, true);
}
if (hit) {
if (uf_process_object_hit(se_obj)) {
special_enemies_hit = special_enemies_hit + 1;
}
}
if ((!hit) and special_enemy_mine_visible) {
hit = uf_check_collision_v2(bullet_objs[b], special_enemy_mine_obj, true);
if (hit) {
if (uf_process_object_hit(special_enemy_mine_obj)) {
uf_clear_enemy_mine();
}
}
}
if ((current_weapon == weapon_type_3_desc) or (current_weapon == weapon_type_4_desc)) {
hit = false;
quick_check = false;
} else {
quick_check = true;
}
if (hit) {
bullet_objs[b]._visible = false;
bullet_objs[b] = undefined;
}
no_of_enemies = current_scenario.no_of_enemies;
g = 0;
while ((no_of_enemies >= g) and (!hit)) {
g++;
enemy_obj = current_scenario.enemy_objs[g];
hit = uf_check_collision_v2(bullet_objs[b], enemy_obj, quick_check);
if (hit and (enemy_obj.obj_status != "dead")) {
current_scenario.uf_process_hit(enemy_obj);
if (current_weapon == weapon_type_4_desc) {
uf_get_vector(random(360));
new_xoff = dir_x_off;
new_yoff = dir_y_off;
bullet_objs[b].xoff = new_xoff;
bullet_objs[b].yoff = new_yoff;
} else if (current_weapon == weapon_type_0_desc) {
bullet_objs[b]._visible = false;
bullet_objs[b] = undefined;
} else if (current_weapon == weapon_type_3_desc) {
current_scenario.uf_process_hit(enemy_obj);
hit = false;
}
}
}
}
}
}
}
function uf_fire() {
if (0 < current_weapon_no_of_shots) {
current_weapon_no_of_shots = current_weapon_no_of_shots - 1;
c = 0;
do {
c = c + 1;
} while ((bullet_objs[c] != undefined) and (max_bullets >= c));
if (max_bullets >= c) {
weapon_obj = eval ((("weapon_" + current_weapon) + "_") + c);
wep_rot = sprite_naut.rot - 180;
uf_get_vector(wep_rot);
weapon_obj.xoff = dir_x_off;
weapon_obj.yoff = dir_y_off;
if ((current_weapon == weapon_type_0_desc) and (0 < naut_energy)) {
weapon_obj.x = sprite_naut.x;
weapon_obj.y = sprite_naut.y;
weapon_obj.speed = 22;
weapon_obj._visible = true;
weapon_obj.life = current_weapon_life;
uf_update_energy(-0.75);
uf_play_sound("SHT_1");
} else if (current_weapon == weapon_type_4_desc) {
weapon_obj.x = sprite_naut.x;
weapon_obj.y = sprite_naut.y;
weapon_obj.rot = sprite_naut.rot + 180;
weapon_obj.speed = 22;
weapon_obj._visible = true;
weapon_obj.life = current_weapon_life;
weapon_obj.gotoAndPlay(1);
uf_play_sound("SHT_2");
} else if (current_weapon == weapon_type_3_desc) {
weapon_obj.x = sprite_naut.x;
weapon_obj.y = sprite_naut.y;
weapon_obj.rot = sprite_naut.rot + 180;
weapon_obj.speed = 1;
weapon_obj._visible = true;
weapon_obj.life = current_weapon_life;
weapon_obj.gotoAndPlay("blast");
uf_play_sound("EXP_BIG");
}
bullet_objs[c] = weapon_obj;
}
} else if (current_weapon != weapon_type_3_desc) {
uf_set_weapon(weapon_flatulizer, 99999);
}
}
function uf_process_fart_clouds() {
if (naut_thrusting != 0) {
if (5 < (frame_count - cloud_frame)) {
cloud_frame = frame_count;
cloud_obj = eval ("sprite_fart_" + current_cloud);
cloud_obj._visible = true;
cloud_obj.play();
cloud_obj._x = sprite_naut._x + random(10);
cloud_obj._y = sprite_naut._y + random(10);
cloud_obj._rotation = random(360);
ran = 40 + random(80);
cloud_obj._xscale = ran;
cloud_obj._yscale = ran;
current_cloud = current_cloud + 1;
if (max_clouds < current_cloud) {
current_cloud = 1;
}
}
}
}
function uf_process_movement() {
obj = sprite_naut;
naut_rotation = naut_rotation + naut_rot_speed;
if (360 < naut_rotation) {
naut_rotation = naut_rotation - 360;
} else if (naut_rotation < 0) {
naut_rotation = 360 + naut_rotation;
}
rot = thrust_rot;
uf_get_vector(rot);
y_off = dir_y_off;
x_off = dir_x_off;
naut_speed = naut_thrusting;
new_thrust = naut_thrusting / naut_mass;
naut_x_speed = naut_x_speed + (x_off * new_thrust);
naut_y_speed = naut_y_speed + (y_off * new_thrust);
newdrag = drag;
naut_rot_speed = naut_rot_speed - (newdrag * naut_rot_speed);
naut_x_speed = naut_x_speed - (newdrag * naut_x_speed);
naut_y_speed = naut_y_speed - (newdrag * naut_y_speed);
naut_y_speed = naut_y_speed - gravity;
obj.xoff = x_off;
obj.yoff = y_off;
obj.speed = naut_thrusting;
obj.rot = naut_rotation;
obj.x = obj.x + naut_x_speed;
obj.y = obj.y + naut_y_speed;
if (obj.x < margin_left) {
obj.x = margin_right;
} else if (margin_right < obj.x) {
obj.x = margin_left;
}
if (obj.y < margin_top) {
obj.y = margin_bottom;
} else if (margin_bottom < obj.y) {
obj.y = margin_top;
}
uf_set_properties(obj);
}
function uf_process_scene_collisions(lev) {
collided = false;
if (!naut_invincible) {
scene_no_of_col_objects = 1;
x = 1;
while (scene_no_of_col_objects >= x) {
scenery_obj = eval ("lev.scenery_" + x);
collided = uf_check_collision(scenery_obj, sprite_naut);
if (collided) {
x = scene_no_of_col_objects;
}
x++;
}
}
return(collided);
}
function uf_process_enemy_collisions(lev) {
collided = false;
if (!naut_invincible) {
scene_no_of_col_objects = lev.no_of_enemies;
x = 0;
while ((scene_no_of_col_objects >= x) and (!collided)) {
x++;
scenery_obj = eval ("lev.enemy_" + x);
collided = uf_check_collision_v2(scenery_obj, sprite_naut, true);
}
}
return(collided);
}
function uf_process_bonus_collisions() {
collided = false;
if (bonus_energy_visible) {
collided = uf_check_collision_v2(current_bonus_obj, sprite_naut, true);
if (collided) {
bonus_type = current_bonus_obj.name;
bonus_picked_up = bonus_type;
if (bonus_type == bonus_1_desc) {
uf_update_energy(50);
sound_type = "NRG";
} else if (bonus_type == bonus_2_desc) {
sound_type = "PCK";
} else if (bonus_type == bonus_3_desc) {
sound_type = "PCK";
} else if (bonus_type == bonus_4_desc) {
uf_set_weapon(weapon_pootron, 1);
sound_type = "PCK";
} else if (bonus_type == bonus_5_desc) {
uf_set_weapon(weapon_wetbats, 3);
sound_type = "PCK";
} else if (bonus_type == bonus_6_desc) {
uf_set_invincible(15);
sound_type = "PCK";
}
uf_clear_energy_bonus();
anim_bonus_pickup._x = current_bonus_obj._x;
anim_bonus_pickup._y = current_bonus_obj._y;
anim_bonus_pickup._visible = true;
anim_bonus_pickup.gotoAndPlay(1);
uf_play_sound(sound_type);
}
}
return(collided);
}
function uf_clear_enemy_mine() {
special_enemy_mine_visible = false;
special_enemy_mine_obj.gotoAndPlay("boom");
}
function uf_set_enemy_mine() {
uf_play_sound("NME_MINE");
special_enemy_mine_visible = true;
mine_obj = special_enemy_mine_1;
special_enemy_mine_obj = mine_obj;
mine_obj._visible = true;
mine_obj.initial_hit_count = special_enemy_hit_count;
mine_obj.x = se_obj.x;
mine_obj.y = se_obj.y;
mine_obj.speed = se_obj.speed * 0.15;
mine_obj.xoff = se_obj.xoff;
mine_obj.yoff = se_obj.yoff;
uf_initialize_obj(mine_obj);
mine_obj.gotoAndPlay(1);
}
function uf_set_invincible(time) {
naut_invincible = true;
naut_invin_count = time * fps;
sprite_naut.invincible._visible = true;
}
function uf_process_special_enemy_collisions() {
collided = false;
if (!naut_invincible) {
if (special_enemy_mine_visible) {
collided = uf_check_collision_v2(sprite_naut, special_enemy_mine_obj, true);
if (collided) {
uf_clear_enemy_mine();
}
}
if (special_enemy_visible and (!collided)) {
collided = uf_check_collision_v2(se_obj, sprite_naut, true);
if ((!collided) and (0 < se_obj.fire_accuracy)) {
collided = uf_check_collision(sprite_naut, lazer_beam_enemy, true);
}
}
}
return(collided);
}
function uf_process_energy_bonus() {
if (!bonus_energy_visible) {
if ((bonus_energy_interval < (frame_count - bonus_energy_frame)) or (naut_energy < 25)) {
ok = false;
while (!ok) {
next_bonus = next_bonus + 1;
if (no_of_bonus_types < next_bonus) {
next_bonus = 1;
}
r = next_bonus;
if (naut_energy < 25) {
r = 1;
ok = true;
}
bonus_desc = eval (("bonus_" + r) + "_desc");
current_bonus_obj = eval ("bonus_" + r);
if (level >= current_bonus_obj.level_appear) {
ok = true;
}
}
current_bonus_obj.name = bonus_desc;
current_bonus_obj._visible = true;
bonus_energy_frame = frame_count;
bonus_energy_visible = true;
current_bonus_obj.x = 30 + random(view_width - 30);
current_bonus_obj.y = 30 + random(view_height - 30);
uf_set_properties(current_bonus_obj);
current_bonus_obj.gotoAndPlay(1);
bonus_view_time = bonus_display_for;
}
} else {
bonus_view_time = bonus_view_time - 1;
if (bonus_view_time == 0) {
uf_clear_energy_bonus();
}
}
}
function uf_clear_energy_bonus() {
current_bonus_obj._visible = false;
bonus_energy_visible = false;
bonus_energy_frame = frame_count;
}
function uf_process_special_enemies() {
if (special_enemy_mine_visible) {
mine_obj = special_enemy_mine_obj;
mine_obj.x = mine_obj.x + (mine_obj.xoff * mine_obj.speed);
mine_obj.y = mine_obj.y + (mine_obj.yoff * mine_obj.speed);
mine_obj.stage_x = mine_obj.x;
mine_obj.stage_y = mine_obj.x;
uf_set_properties(mine_obj);
if (!uf_is_on_screen(mine_obj)) {
uf_clear_enemy_mine();
}
}
if (!special_enemy_visible) {
if (special_enemy_interval < (frame_count - special_enemy_frame)) {
ok = false;
while (!ok) {
res = math.floor(random(3));
if (res == 0) {
special_enemy_type = "FLOATER";
} else if (res == 1) {
special_enemy_type = "AIM";
} else if (res == 2) {
special_enemy_type = "UFO";
}
se_obj = eval ("special_enemy_" + special_enemy_type);
if (level >= se_obj.level_appear) {
ok = true;
}
}
se_obj._visible = true;
special_enemy_frame = frame_count;
special_enemy_visible = true;
if (special_enemy_type == "AIM") {
special_enemy_x = view_width;
special_enemy_y = 30 + random(view_height - 30);
se_obj.x = special_enemy_x;
se_obj.y = special_enemy_y;
se_obj.fire_accuracy = 0;
uf_initialize_obj(se_obj);
dir = uf_get_dir_ang(sprite_naut, se_obj);
se_obj.rot = dir;
uf_get_vector(dir);
se_obj.xoff = dir_x_off;
se_obj.yoff = dir_y_off;
} else if (special_enemy_type == "FLOATER") {
special_enemy_x = view_width;
special_enemy_y = 30 + random(view_height - 30);
se_obj.x = special_enemy_x;
se_obj.y = special_enemy_y;
se_obj.fire_accuracy = special_enemy_accuracy;
uf_get_vector(270);
se_obj.xoff = dir_x_off;
se_obj.yoff = dir_y_off;
} else if (special_enemy_type == "UFO") {
special_enemy_x = view_width;
special_enemy_y = 30 + random(view_height - 30);
se_obj.x = special_enemy_x;
se_obj.y = special_enemy_y;
uf_get_vector(270);
se_obj.xoff = dir_x_off;
se_obj.yoff = dir_y_off;
}
se_obj.speed = special_enemy_speed;
se_obj.initial_hit_count = special_enemy_hit_count;
uf_initialize_obj(se_obj);
special_enemy_view_time = special_enemy_display_for;
se_obj.gotoAndPlay("start");
}
} else {
special_enemy_view_time = special_enemy_view_time - 1;
if ((special_enemy_view_time == 0) or (!uf_is_on_screen(se_obj))) {
uf_clear_special_enemy();
} else {
se_obj.stage_x = se_obj.x;
se_obj.stage_y = se_obj.y;
lazer_beam_enemy.x = se_obj.x;
lazer_beam_enemy.y = se_obj.y;
uf_set_properties(lazer_beam_enemy);
if (special_enemy_type == "AIM") {
se_obj.x = se_obj.x + (se_obj.xoff * special_enemy_speed);
se_obj.y = se_obj.y + (se_obj.yoff * special_enemy_speed);
} else if (special_enemy_type == "FLOATER") {
se_obj.x = se_obj.x + (se_obj.xoff * special_enemy_speed);
se_obj.y = se_obj.y - (se_obj.yoff * special_enemy_speed);
} else if (special_enemy_type == "UFO") {
se_obj.x = se_obj.x + (se_obj.xoff * special_enemy_speed);
se_obj.y = se_obj.y - (se_obj.yoff * special_enemy_speed);
if ((random(300) < 3) and (!special_enemy_mine_visible)) {
uf_set_enemy_mine();
}
}
uf_set_properties(se_obj);
c = 1;
while (special_enemy_max_mines >= c) {
mine_obj = special_enemy_mines[c];
mine_obj.x = mine_obj.x + (mine_obj.xoff * mine_obj.speed);
mine_obj.y = mine_obj.y + (mine_obj.yoff * mine_obj.speed);
uf_set_properties(mine_obj);
c++;
}
if ((0 < se_obj.fire_accuracy) and (!special_enemy_firing)) {
if (random(200) < 4) {
uf_play_sound("NME_SHT_1");
ang = uf_get_dir_ang(sprite_naut, se_obj);
ang = ang - se_obj.fire_accuracy;
lazer_beam_enemy.rot = ang;
lazer_beam_enemy.gotoAndPlay("fire");
}
}
}
}
}
function uf_clear_special_enemy() {
se_obj._visible = false;
special_enemy_firing = false;
se_obj.stop();
lazer_beam_enemy.gotoAndStop(1);
special_enemy_visible = false;
special_enemy_frame = frame_count;
}
function uf_reset_naut(reduce_life) {
if (reduce_life) {
player_lives = player_lives - 1;
ring_wobble_lives.gotoAndPlay("wobble");
uf_play_sound("LSE_LIFE");
}
if (player_lives == 0) {
game_over = true;
} else {
naut_energy = 100;
uf_update_energy(0);
sprite_naut.x = view_width / 2;
sprite_naut.y = view_height / 2;
sprite_naut.xoff = 0;
sprite_naut.yoff = 0;
sprite_naut.rot = 0;
naut_x_speed = 0;
naut_y_speed = 0;
naut_rot_speed = 0;
uf_set_weapon(weapon_flatulizer, 99999);
uf_set_properties(sprite_naut);
sprite_naut._visible = true;
sprite_naut.gotoAndPlay("twatted");
uf_set_invincible(3);
}
}
function uf_process_invincibility() {
if (naut_invincible) {
sprite_naut.invincible._visible = true;
naut_invin_count = naut_invin_count - 1;
if (naut_invin_count == 0) {
sprite_naut.invincible._visible = false;
naut_invincible = false;
sprite_naut._visible = true;
}
}
}
function uf_process_game_loop() {
frame_count = frame_count + 1;
old_object_last_hit = object_last_hit_1;
uf_process_energy_bonus();
uf_process_player_message();
uf_process_special_enemies();
uf_process_keypresses();
uf_process_fart_clouds();
uf_process_movement();
uf_process_invincibility();
uf_process_bullets();
bonus_pickup = uf_process_bonus_collisions();
hit = uf_process_special_enemy_collisions();
if (!hit) {
if (!hit) {
hit = uf_process_enemy_collisions(current_scenario);
}
}
uf_update_time();
if (debug_mode) {
mil = getTimer();
_root.mspf = mil - old_mil;
old_mil = mil;
}
return(hit);
}
function uf_get_pan_values(obj) {
sx = obj._x;
ctr = view_width / 2;
sound_pan_value = ((sx - ctr) / view_width) * 200;
sound_pan_value = 0;
return(sound_pan_value);
}
function uf_play_sound(desc, pan, loop) {
if (desc == "EXP") {
sound_to_play_obj = sound_explosion;
} else if (desc == "SHT_1") {
sound_to_play_obj = sound_player_shoot_1;
} else if (desc == "RCH_1") {
sound_to_play_obj = sound_richochet_1;
} else if (desc == "PCK") {
sound_to_play_obj = sound_bonus_pick;
} else if (desc == "NME_SHT_1") {
sound_to_play_obj = sound_enemy_fire_1;
} else if (desc == "SHT_2") {
sound_to_play_obj = sound_player_shoot_2;
} else if (desc == "EXP_BIG") {
sound_to_play_obj = sound_explosion_big;
} else if (desc == "SE_1") {
sound_to_play_obj = sound_se_1;
} else if (desc == "SE_2") {
sound_to_play_obj = sound_se_2;
} else if (desc == "NRG") {
sound_to_play_obj = sound_energy_pickup;
} else if (desc == "GME_OVR") {
sound_to_play_obj = sound_game_over;
} else if (desc == "NME_MINE") {
sound_to_play_obj = sound_enemy_mine;
} else if (desc == "LVL_CMP") {
sound_to_play_obj = sound_level_complete;
} else if (desc == "LSE_LIFE") {
sound_to_play_obj = sound_loose_life;
} else if (desc == "MUSIC_FE") {
stopAllSounds();
sound_to_play_obj = sound_music_frontend;
} else if (desc == "MUSIC_IG") {
stopAllSounds();
sound_to_play_obj = sound_music_ingame;
}
sound_to_play_obj.setPan(pan);
sound_to_play_obj.start(0, loop);
}
function uf_set_volumes(vol_sfx, vol_music) {
sound_explosion.setVolume(vol_sfx);
sound_explosion_big.setVolume(vol_sfx);
sound_player_shoot_1.setVolume(vol_sfx);
sound_richochet_1.setVolume(vol_sfx);
sound_bonus_pick.setVolume(vol_sfx);
sound_enemy_fire_1.setVolume(vol_sfx);
sound_player_shoot_2.setVolume(vol_sfx);
sound_energy_pickup.setVolume(vol_sfx);
sound_se_1.setVolume(vol_sfx);
sound_se_2.setVolume(vol_sfx);
sound_game_over.setVolume(vol_sfx);
sound_enemy_mine.setVolume(vol_sfx);
sound_loose_life.setVolume(vol_sfx);
sound_level_complete.setVolume(vol_sfx);
sound_music_ingame.setVolume(vol_music);
sound_music_frontend.setVolume(vol_music);
}
function uf_initialize_sound() {
sound_explosion = new sound();
sound_explosion.attachSound("explosion");
sound_explosion_big = new sound();
sound_explosion_big.attachSound("explosion_big");
sound_player_shoot_1 = new sound();
sound_player_shoot_1.attachSound("player_shoot_1");
sound_richochet_1 = new sound();
sound_richochet_1.attachSound("richochet_1");
sound_bonus_pick = new sound();
sound_bonus_pick.attachSound("bonus_pickup");
sound_enemy_fire_1 = new sound();
sound_enemy_fire_1.attachSound("bzzt");
sound_player_shoot_2 = new sound();
sound_player_shoot_2.attachSound("wetbats");
sound_energy_pickup = new sound();
sound_energy_pickup.attachSound("energy_pickup");
sound_se_1 = new sound();
sound_se_1.attachSound("se_1");
sound_game_over = new sound();
sound_game_over.attachSound("game_over");
sound_music_frontend = new sound();
sound_music_frontend.attachSound("music_frontend");
sound_music_ingame = new sound();
sound_music_ingame.attachSound("music_ingame");
sound_enemy_mine = new sound();
sound_enemy_mine.attachSound("enemy_mine_drop");
sound_se_2 = new sound();
sound_se_2.attachSound("enemy_hum");
sound_loose_life = new sound();
sound_loose_life.attachSound("loose_life");
sound_level_complete = new sound();
sound_level_complete.attachSound("level_complete");
}
uf_initialize_game();
Frame 106
finished = false;
logo_x = logo._x;
logo_y = logo._y;
_root.uf_play_sound("MUSIC_FE", 0, 999);
_quality = "HIGH";
if (best_score < score) {
best_score_display = display_score;
best_level = "Level " + level;
best_score = score;
}
Instance of Symbol 59 MovieClip "logo" in Frame 123
onClipEvent (enterFrame) {
frm = frm + 0.1;
nsin = math.sin(frm);
ncos = math.cos(frm);
this._width = this._width + (nsin * 2);
this._height = this._height + (ncos * 2);
}
Frame 125
stop();
Frame 126
character_selected = 1;
_root.uf_next_level();
_root.uf_set_player_message("LEVEL " + _root.level, 50);
current_scenario = scenario_asteroids;
game_over = false;
current_scenario.gotoAndPlay("level_" + _root.level);
current_scenario_init_x = current_scenario._x;
current_scenario_init_y = current_scenario._y;
lazer_beam_enemy._visible = false;
anim_bonus_pickup._visible = false;
anim_points_bonus._visible = false;
bonus_1._visible = false;
bonus_2._visible = false;
bonus_3._visible = false;
bonus_4._visible = false;
bonus_5._visible = false;
bonus_6._visible = false;
special_enemy_AIM._visible = false;
special_enemy_FLOATER._visible = false;
special_enemy_UFO._visible = false;
sprite_fart_1._visible = false;
sprite_fart_2._visible = false;
sprite_fart_3._visible = false;
sprite_fart_4._visible = false;
sprite_fart_5._visible = false;
sprite_fart_6._visible = false;
sprite_naut_type_1._visible = false;
sprite_naut_type_2._visible = false;
sprite_naut_type_3._visible = false;
weapon_flatulizer_1._visible = false;
weapon_flatulizer_2._visible = false;
weapon_flatulizer_3._visible = false;
weapon_flatulizer_4._visible = false;
weapon_flatulizer_5._visible = false;
weapon_flatulizer_6._visible = false;
weapon_flatulizer_7._visible = false;
weapon_flatulizer_8._visible = false;
weapon_flatulizer_9._visible = false;
weapon_flatulizer_10._visible = false;
weapon_wetbats_1._visible = false;
weapon_wetbats_2._visible = false;
weapon_wetbats_3._visible = false;
weapon_wetbats_4._visible = false;
weapon_wetbats_5._visible = false;
weapon_wetbats_6._visible = false;
weapon_wetbats_7._visible = false;
weapon_wetbats_8._visible = false;
weapon_wetbats_9._visible = false;
weapon_wetbats_10._visible = false;
special_enemy_mine_1._visible = false;
special_enemy_mine_2._visible = false;
_root.uf_set_character(_root.character_selected);
_root.uf_reset_naut();
Instance of Symbol 80 MovieClip "special_enemy_FLOATER" in Frame 126
onClipEvent (load) {
level_appear = 1;
}
Instance of Symbol 97 MovieClip "special_enemy_UFO" in Frame 126
onClipEvent (load) {
level_appear = 1;
}
Instance of Symbol 103 MovieClip "special_enemy_AIM" in Frame 126
onClipEvent (load) {
level_appear = 1;
}
Instance of Symbol 136 MovieClip "bonus_1" in Frame 126
onClipEvent (load) {
level_appear = 1;
}
Instance of Symbol 139 MovieClip "bonus_2" in Frame 126
onClipEvent (load) {
level_appear = 6;
}
Instance of Symbol 142 MovieClip "bonus_3" in Frame 126
onClipEvent (load) {
level_appear = 4;
}
Instance of Symbol 145 MovieClip "bonus_4" in Frame 126
onClipEvent (load) {
level_appear = 5;
}
Instance of Symbol 146 MovieClip "bonus_5" in Frame 126
onClipEvent (load) {
level_appear = 1;
}
Instance of Symbol 149 MovieClip "bonus_6" in Frame 126
onClipEvent (load) {
level_appear = 4;
}
Frame 128
old_x_off = x_off;
old_y_off = y_off;
hit_summat = _root.uf_process_game_loop();
current_scenario.uf_process_enemies();
if (hit_summat) {
enemy_hit_obj = _root.object_last_hit_1;
enemy_hit_no = enemy_hit_obj.no;
enemy_name = enemy_hit_obj.name;
_root.uf_reset_naut(true);
}
if (current_scenario.no_of_enemies_left == 0) {
uf_clear_special_enemy();
_root.level_complete = true;
}
Frame 129
if ((!_root.level_complete) and (!game_over)) {
gotoAndPlay (128);
} else if (!game_over) {
_root.uf_play_sound("LVL_CMP");
MOVIE_bonus_totup.gotoAndPlay("do_totup");
} else if (game_over) {
gotoAndPlay (132);
}
Frame 131
if (!MOVIE_bonus_totup.done_totup) {
gotoAndPlay (130);
} else {
gotoAndPlay (126);
}
Frame 132
_quality = "HIGH";
stopAllSounds();
_root.uf_play_sound("GME_OVR");
Frame 136
stop();
Frame 137
backdrop.gotoAndStop(2);
stop();
Instance of Symbol 136 MovieClip "bonus_1" in Frame 137
onClipEvent (load) {
level_appear = 1;
}
Instance of Symbol 145 MovieClip "bonus_4" in Frame 137
onClipEvent (load) {
level_appear = 5;
}
Instance of Symbol 146 MovieClip "bonus_5" in Frame 137
onClipEvent (load) {
level_appear = 1;
}
Instance of Symbol 149 MovieClip "bonus_6" in Frame 137
onClipEvent (load) {
level_appear = 4;
}
Frame 141
backdrop.gotoAndStop(2);
stop();
Instance of Symbol 228 MovieClip "enemy_2" in Frame 141
onClipEvent (load) {
level_appear = 1;
}
onClipEvent (enterFrame) {
frm = frm + 0.25;
s = math.sin(frm);
c = math.cos(frm);
this._width = this._width + s;
this._height = this._height + c;
}
Instance of Symbol 230 MovieClip "enemy_3" in Frame 141
onClipEvent (load) {
level_appear = 1;
}
onClipEvent (enterFrame) {
frm = frm + 0.25;
s = math.sin(frm);
c = math.cos(frm);
this._width = this._width + s;
this._height = this._height + c;
}
Instance of Symbol 233 MovieClip "enemy_1" in Frame 141
onClipEvent (load) {
level_appear = 1;
}
onClipEvent (enterFrame) {
frm = frm + 0.25;
s = math.sin(frm);
c = math.cos(frm);
this._width = this._width + s;
this._height = this._height + c;
}
Instance of Symbol 235 MovieClip "mine" in Frame 141
onClipEvent (enterFrame) {
frm = frm + 0.25;
s = math.sin(frm);
c = math.cos(frm);
this._width = this._width + s;
this._height = this._height + c;
}
Frame 145
backdrop.gotoAndStop(2);
stop();
Instance of Symbol 237 MovieClip "rock_2" in Frame 145
onClipEvent (load) {
level_appear = 1;
}
onClipEvent (enterFrame) {
frm = frm + 0.25;
this._rotation = this._rotation + 1;
}
Instance of Symbol 238 MovieClip "rock_3" in Frame 145
onClipEvent (load) {
level_appear = 1;
}
onClipEvent (enterFrame) {
frm = frm + 0.25;
this._rotation = this._rotation + 1;
}
Instance of Symbol 239 MovieClip "rock_1" in Frame 145
onClipEvent (load) {
level_appear = 1;
}
onClipEvent (enterFrame) {
frm = frm + 0.25;
this._rotation = this._rotation + 1;
}
Frame 149
backdrop.gotoAndStop(2);
stop();
Instance of Symbol 59 MovieClip in Frame 149
onClipEvent (enterFrame) {
frm = frm + 0.1;
nsin = math.sin(frm);
ncos = math.cos(frm);
this._width = this._width + (nsin * 2);
this._height = this._height + (ncos * 2);
}
Frame 153
_quality = "HIGH";
stopAllSounds();
Frame 157
stop();
Frame 158
_quality = "HIGH";
stopAllSounds();
_root.uf_play_sound("GME_OVR");
Frame 162
stop();
Frame 163
backdrop.gotoAndStop(2);
Symbol 20 MovieClip Frame 1
stop();
box._visible = _root.debug_mode;
Symbol 21 MovieClip [testlibrary] Frame 1
no_of_collision_objs = 10;
_root.uf_hide_collision_boxes(this, no_of_collision_objs);
stop();
Symbol 25 MovieClip Frame 1
sc = 175 + random(100);
this._xscale = sc;
this._yscale = sc;
Symbol 25 MovieClip Frame 25
sc = 175 + random(100);
this._xscale = sc;
this._yscale = sc;
this._rotation = random(360);
gotoAndPlay(random(10));
Symbol 55 MovieClip Frame 20
stop();
Symbol 56 Button
on (release) {
_root.uf_prepare_next_game();
gotoAndPlay (126);
_quality = "MEDIUM";
}
Symbol 57 Button
on (release) {
gotoAndPlay (145);
}
Symbol 58 Button
on (release) {
gotoAndPlay (149);
}
Symbol 68 MovieClip Frame 2
stop();
Symbol 72 Button
on (keyPress "<Space>") {
_root.uf_fire();
}
Symbol 79 MovieClip Frame 1
boom._rotation = random(360);
_root.uf_play_sound("EXP");
Symbol 79 MovieClip Frame 8
stop();
Symbol 80 MovieClip Frame 1
no_of_collision_objs = 1;
points_value = 1000;
level_appear = 10;
stop();
Symbol 80 MovieClip Frame 30
gotoAndPlay (2);
Symbol 80 MovieClip Frame 35
this._x = -200;
this._y = -200;
Symbol 83 MovieClip Frame 1
no_of_collision_objs = 1;
stop();
Symbol 84 MovieClip Frame 1
stop();
box._visible = _root.debug_mode;
Symbol 87 MovieClip Frame 1
no_of_collision_objs = 1;
Instance of Symbol 84 MovieClip "collision_1" in Symbol 87 MovieClip Frame 1
/* no clip actions */
Symbol 90 MovieClip Frame 5
gotoAndPlay (1);
Symbol 91 MovieClip Frame 1
no_of_collision_objs = 4;
_root.special_enemy_firing = false;
this._visible = false;
stop();
this._x = -200;
this._y = -200;
Symbol 91 MovieClip Frame 2
this._visible = true;
_root.special_enemy_firing = true;
Symbol 91 MovieClip Frame 45
this._visible = false;
_root.special_enemy_firing = false;
gotoAndStop (1);
Symbol 94 MovieClip Frame 1
no_of_collision_objs = 1;
Symbol 94 MovieClip Frame 26
gotoAndPlay (15);
Symbol 94 MovieClip Frame 35
stop();
this._visible = false;
this._x = -200;
this._y = -200;
Symbol 97 MovieClip Frame 1
no_of_collision_objs = 1;
points_value = 1000;
level_appear = 5;
stop();
Symbol 97 MovieClip Frame 2
_root.uf_play_sound("SE_2", _root.uf_get_pan_values(this));
Symbol 97 MovieClip Frame 30
gotoAndPlay (2);
Symbol 97 MovieClip Frame 35
this._x = -200;
this._y = -200;
Symbol 100 MovieClip Frame 1
stop();
no_of_collision_objs = 1;
this._visible = false;
Symbol 100 MovieClip Frame 2
this._visible = true;
Symbol 100 MovieClip Frame 12
_root.uf_set_weapon(_root.weapon_flatulizer, 99999);
gotoAndStop (1);
Symbol 103 MovieClip Frame 1
no_of_collision_objs = 1;
points_value = 1000;
level_appear = 1;
stop();
Symbol 103 MovieClip Frame 2
_root.uf_play_sound("SE_1", _root.uf_get_pan_values(this));
Symbol 103 MovieClip Frame 15
gotoAndPlay (2);
Symbol 103 MovieClip Frame 20
this._x = -200;
this._y = -200;
Symbol 106 MovieClip Frame 1
stop();
box._visible = _root.debug_mode;
Symbol 127 MovieClip Frame 1
no_of_collision_objs = 1;
stop();
points_value = 250;
Symbol 127 MovieClip Frame 2
points_value = 250;
Symbol 127 MovieClip Frame 3
points_value = 150;
Symbol 127 MovieClip Frame 4
points_value = 50;
Symbol 127 MovieClip Frame 25
this._visible = false;
this._x = -200;
this._y = -200;
stop();
Symbol 127 MovieClip Frame 26
points_value = 500;
Instance of Symbol 112 MovieClip in Symbol 127 MovieClip Frame 26
/* no clip actions */
Symbol 127 MovieClip Frame 27
points_value = 500;
Symbol 127 MovieClip Frame 28
points_value = 250;
Symbol 127 MovieClip Frame 29
points_value = 100;
Symbol 127 MovieClip Frame 30
points_value = 600;
Instance of Symbol 120 MovieClip in Symbol 127 MovieClip Frame 30
/* no clip actions */
Symbol 127 MovieClip Frame 31
points_value = 600;
Symbol 127 MovieClip Frame 32
points_value = 300;
Symbol 127 MovieClip Frame 33
points_value = 100;
Symbol 128 MovieClip Frame 1
function uf_initialize_level() {
enemy_objs = new Array(no_of_enemies);
no_of_enemies_left = no_of_enemies;
dummy_limit = no_of_enemies * 0.3;
dummy_limit = 0;
rock_layer = 1;
side = false;
i = 1;
while (no_of_enemies >= i) {
name = "enemy_" + i;
duplicateMovieClip (asteroids, name, rock_layer);
rock_layer = rock_layer + 1;
new_obj = eval (name);
if (rock_type == 1) {
new_obj.initial_hit_count = 1;
} else if (rock_type == 2) {
new_obj.initial_hit_count = 2;
} else if (rock_type == 3) {
new_obj.initial_hit_count = 3;
}
if (dummy_limit >= i) {
its_a_dummy = true;
new_obj.gotoAndStop("dummy");
} else {
its_a_dummy = false;
if (!intobitz) {
frm = random(movie_rocks) + 1;
frm_name = (("rock_" + rock_type) + "_") + frm;
} else {
frm_name = ("rock_" + rock_type) + "_4";
frm = 4;
}
new_obj.gotoAndStop(frm_name);
}
new_obj.no = i;
new_obj.obj_status = "alive";
new_obj.rock_type = rock_type;
new_obj.rock_no = frm;
new_obj.name = name;
enemy_objs[i] = new_obj;
new_obj.mass = frm;
new_obj.speed = (1 + (movie_rocks - frm)) * max_speed;
new_obj.rot_add = 1 + (((-max_rot) + random(max_rot * 2)) * (movie_rocks - frm));
new_obj.x = random(16) * 20;
new_obj.y = bottom_margin;
side = !side;
if (side) {
new_obj.y = top_margin;
new_obj.x = new_obj.x * -1;
}
new_scale = 100 * scale_val;
new_obj.xscale = new_scale;
new_obj.yscale = new_scale;
new_obj.rot = random(360);
if (its_a_dummy) {
new_sc = 100 - random(50);
new_obj.xscale = new_sc;
new_obj.yscale = new_sc;
}
_root.uf_initialize_obj(new_obj);
ng = _root.uf_get_dir_ang(sprite_naut, new_obj);
_root.uf_get_vector(ng);
new_obj.xoff = _root.dir_x_off * 0.75;
new_obj.yoff = _root.dir_y_off;
i++;
}
}
function uf_process_hit(obj) {
if (_root.uf_process_object_hit(obj)) {
if ((!intobitz) or (obj.rock_no == 2)) {
no_of_enemies_left = no_of_enemies_left - 1;
} else {
rock_no = obj.rock_no - 1;
parent_hit_count = obj.initial_hit_count;
no_of_enemies = no_of_enemies + 1;
no_of_enemies_left = no_of_enemies_left + 1;
new_speed = obj.speed * 1.5;
new_rot_speed = (-(obj.rot_add * 2)) + random(obj.rot_add * 2);
frm_name = (("rock_" + obj.rock_type) + "_") + rock_no;
h = 0;
while (h < 2) {
no_of_enemies = no_of_enemies + 1;
new_pos = no_of_enemies;
name = "enemy_" + new_pos;
duplicateMovieClip (asteroids, name, rock_layer);
rock_layer = rock_layer + 1;
new_obj = eval (name);
new_obj.gotoAndStop(frm_name);
new_obj.initial_hit_count = parent_hit_count;
new_obj.no = new_pos;
new_obj.obj_status = "alive";
new_obj.rock_type = rock_type;
new_obj.rock_no = rock_no;
new_obj.name = name;
enemy_objs[new_pos] = new_obj;
new_obj.mass = rock_no;
if (h == 0) {
vect = math.floor(random(12)) * 30;
if (((((vect == 0) or (vect == 360)) or (vect == 90)) or (vect == 180)) or (vect == 270)) {
vect = vect + 25;
}
_root.uf_get_vector(vect);
newxoff = _root.dir_x_off;
newyoff = _root.dir_y_off;
} else {
newxoff = newxoff * -1;
newyoff = newyoff * -1;
}
new_scale = 100 * scale_val;
new_obj.xscale = new_scale;
new_obj.yscale = new_scale;
new_obj.xoff = newxoff;
new_obj.yoff = newyoff;
new_obj.rot_add = new_rot_speed;
new_obj.speed = new_speed;
new_obj.x = obj.x + (newxoff * (new_obj.speed * 5));
new_obj.y = obj.y + (newyoff * (new_obj.speed * 5));
_root.uf_initialize_obj(new_obj);
h++;
}
}
}
}
function uf_process_enemies() {
i = 0;
while (no_of_enemies >= i) {
i++;
obj = enemy_objs[i];
if (obj.obj_status != "dead") {
new_x = obj.x + (obj.xoff * obj.speed);
new_y = obj.y + (obj.yoff * obj.speed);
w = obj._width / 2;
h = obj._height / 2;
wo = w;
ho = h;
if (new_x < (left_margin - w)) {
new_x = right_margin + wo;
} else if ((right_margin + w) < new_x) {
new_x = left_margin - wo;
}
if (new_y < (top_margin - h)) {
new_y = bottom_margin + ho;
} else if ((bottom_margin + h) < new_y) {
new_y = top_margin - ho;
}
obj.x = new_x;
obj.y = new_y;
obj.rot = obj.rot + obj.rot_add;
obj.stage_x = new_x + _root.view_centre_x;
obj.stage_y = new_y + _root.view_centre_y;
_root.uf_set_properties(obj);
}
}
}
function uf_check_enemy_collision(obj) {
ret_obj = undefined;
g = 0;
while ((no_of_enemies >= g) and (!hit)) {
g++;
enemy_obj = current_scenario.enemy_objs[g];
if (enemy_obj.obj_status != "dead") {
hit = _root.uf_check_collision + v2(obj, enemy_obj, true);
if (hit) {
ret_obj = enemy_obj;
}
}
}
}
movie_rocks = 4;
left_margin = -320;
right_margin = 320;
top_margin = -240;
bottom_margin = 240;
max_rot = 4;
stop();
Symbol 128 MovieClip Frame 2
intobitz = true;
_root.level_time = 90 * _root.fps;
rock_type = 1;
no_of_enemies = 2;
_root.special_enemy_speed = 2;
_root.special_enemy_interval = 15 * _root.fps;
_root.special_enemy_accuracy = 45;
_root.bonus_display_for = 10 * _root.fps;
max_speed = 1;
scale_val = 1.2;
uf_initialize_level();
stop();
Symbol 128 MovieClip Frame 3
intobitz = true;
_root.level_time = 90 * _root.fps;
rock_type = 1;
no_of_enemies = 3;
_root.special_enemy_speed = 2;
_root.special_enemy_interval = 15 * _root.fps;
_root.special_enemy_accuracy = 45;
_root.bonus_display_for = 10 * _root.fps;
max_speed = 1.25;
scale_val = 1.2;
uf_initialize_level();
stop();
Symbol 128 MovieClip Frame 4
intobitz = true;
_root.level_time = 90 * _root.fps;
rock_type = 1;
no_of_enemies = 4;
_root.special_enemy_speed = 2;
_root.special_enemy_interval = 12 * _root.fps;
_root.special_enemy_accuracy = 45;
_root.bonus_display_for = 10 * _root.fps;
max_speed = 1.5;
scale_val = 1.2;
uf_initialize_level();
stop();
Symbol 128 MovieClip Frame 5
intobitz = true;
_root.level_time = 90 * _root.fps;
rock_type = 1;
no_of_enemies = 4;
_root.special_enemy_speed = 2;
_root.special_enemy_interval = 12 * _root.fps;
_root.special_enemy_accuracy = 45;
_root.bonus_display_for = 10 * _root.fps;
max_speed = 1.75;
scale_val = 1.2;
uf_initialize_level();
stop();
Symbol 128 MovieClip Frame 6
intobitz = true;
_root.level_time = 90 * _root.fps;
rock_type = 2;
no_of_enemies = 2;
_root.special_enemy_speed = 3;
_root.special_enemy_interval = 10 * _root.fps;
_root.special_enemy_accuracy = 45;
_root.bonus_display_for = 10 * _root.fps;
max_speed = 1;
scale_val = 1.2;
uf_initialize_level();
stop();
Symbol 128 MovieClip Frame 7
intobitz = true;
_root.level_time = 80 * _root.fps;
rock_type = 2;
no_of_enemies = 3;
_root.special_enemy_speed = 3;
_root.special_enemy_interval = 10 * _root.fps;
_root.special_enemy_accuracy = 45;
_root.bonus_display_for = 8 * _root.fps;
max_speed = 1.25;
scale_val = 1.2;
uf_initialize_level();
stop();
Symbol 128 MovieClip Frame 8
intobitz = true;
_root.level_time = 80 * _root.fps;
rock_type = 2;
no_of_enemies = 4;
_root.special_enemy_speed = 3;
_root.special_enemy_interval = 10 * _root.fps;
_root.special_enemy_accuracy = 45;
_root.bonus_display_for = 8 * _root.fps;
max_speed = 1.5;
scale_val = 1.2;
uf_initialize_level();
stop();
Symbol 128 MovieClip Frame 9
intobitz = true;
_root.level_time = 80 * _root.fps;
rock_type = 2;
no_of_enemies = 5;
_root.special_enemy_speed = 3;
_root.special_enemy_interval = 10 * _root.fps;
_root.special_enemy_accuracy = 45;
_root.bonus_display_for = 8 * _root.fps;
max_speed = 1.75;
scale_val = 1.2;
uf_initialize_level();
stop();
Symbol 128 MovieClip Frame 10
intobitz = true;
_root.level_time = 80 * _root.fps;
rock_type = 3;
no_of_enemies = 3;
_root.special_enemy_speed = 3;
_root.special_enemy_interval = 10 * _root.fps;
_root.special_enemy_accuracy = 40;
_root.bonus_display_for = 8 * _root.fps;
max_speed = 1.25;
scale_val = 1.2;
uf_initialize_level();
stop();
Symbol 128 MovieClip Frame 11
intobitz = true;
_root.level_time = 80 * _root.fps;
rock_type = 3;
no_of_enemies = 3;
_root.special_enemy_speed = 4;
_root.special_enemy_interval = 10 * _root.fps;
_root.special_enemy_accuracy = 40;
_root.bonus_display_for = 8 * _root.fps;
max_speed = 1.5;
scale_val = 1;
uf_initialize_level();
stop();
Symbol 128 MovieClip Frame 12
intobitz = true;
_root.level_time = 80 * _root.fps;
rock_type = 3;
no_of_enemies = 4;
_root.special_enemy_speed = 4;
_root.special_enemy_interval = 10 * _root.fps;
_root.special_enemy_accuracy = 35;
_root.bonus_display_for = 6 * _root.fps;
max_speed = 2;
scale_val = 1;
uf_initialize_level();
stop();
Symbol 128 MovieClip Frame 13
intobitz = true;
_root.level_time = 80 * _root.fps;
rock_type = 3;
no_of_enemies = 5;
_root.special_enemy_speed = 4;
_root.special_enemy_interval = 10 * _root.fps;
_root.special_enemy_accuracy = 35;
_root.bonus_display_for = 6 * _root.fps;
max_speed = 2.5;
scale_val = 1;
uf_initialize_level();
stop();
Symbol 128 MovieClip Frame 14
intobitz = true;
_root.level_time = 70 * _root.fps;
rock_type = 1;
no_of_enemies = 5;
_root.special_enemy_speed = 4;
_root.special_enemy_interval = 10 * _root.fps;
_root.special_enemy_accuracy = 30;
_root.bonus_display_for = 6 * _root.fps;
max_speed = 2.5;
scale_val = 1;
uf_initialize_level();
stop();
Symbol 128 MovieClip Frame 15
intobitz = true;
_root.level_time = 70 * _root.fps;
rock_type = 1;
no_of_enemies = 5;
_root.special_enemy_speed = 4;
_root.special_enemy_interval = 10 * _root.fps;
_root.special_enemy_accuracy = 30;
_root.bonus_display_for = 6 * _root.fps;
max_speed = 2.5;
scale_val = 1;
uf_initialize_level();
stop();
Symbol 128 MovieClip Frame 16
intobitz = true;
_root.level_time = 70 * _root.fps;
rock_type = 1;
no_of_enemies = 6;
_root.special_enemy_speed = 5;
_root.special_enemy_interval = 10 * _root.fps;
_root.special_enemy_accuracy = 25;
_root.bonus_display_for = 6 * _root.fps;
max_speed = 2.75;
scale_val = 0.9;
uf_initialize_level();
stop();
Symbol 128 MovieClip Frame 17
intobitz = true;
_root.level_time = 70 * _root.fps;
rock_type = 2;
no_of_enemies = 6;
_root.special_enemy_speed = 5;
_root.special_enemy_interval = 10 * _root.fps;
_root.special_enemy_accuracy = 25;
_root.bonus_display_for = 4 * _root.fps;
max_speed = 2.75;
scale_val = 0.8;
uf_initialize_level();
stop();
Symbol 128 MovieClip Frame 18
intobitz = true;
_root.level_time = 60 * _root.fps;
rock_type = 2;
no_of_enemies = 7;
_root.special_enemy_speed = 5;
_root.special_enemy_interval = 10 * _root.fps;
_root.special_enemy_accuracy = 20;
_root.bonus_display_for = 4 * _root.fps;
max_speed = 2.75;
scale_val = 0.8;
uf_initialize_level();
stop();
Symbol 128 MovieClip Frame 19
intobitz = true;
_root.level_time = 60 * _root.fps;
rock_type = 2;
no_of_enemies = 7;
_root.special_enemy_speed = 5;
_root.special_enemy_interval = 10 * _root.fps;
_root.special_enemy_accuracy = 20;
_root.bonus_display_for = 4 * _root.fps;
max_speed = 3;
scale_val = 0.8;
uf_initialize_level();
stop();
Symbol 128 MovieClip Frame 20
intobitz = true;
_root.level_time = 60 * _root.fps;
rock_type = 3;
no_of_enemies = 6;
_root.special_enemy_speed = 5;
_root.special_enemy_interval = 10 * _root.fps;
_root.special_enemy_accuracy = 15;
_root.bonus_display_for = 4 * _root.fps;
max_speed = 3;
scale_val = 0.6;
uf_initialize_level();
stop();
Symbol 128 MovieClip Frame 21
intobitz = true;
_root.level_time = 60 * _root.fps;
rock_type = 3;
no_of_enemies = 7;
_root.special_enemy_speed = 5;
_root.special_enemy_interval = 10 * _root.fps;
_root.special_enemy_accuracy = 15;
_root.bonus_display_for = 4 * _root.fps;
max_speed = 3;
scale_val = 0.6;
uf_initialize_level();
stop();
Symbol 136 MovieClip Frame 1
no_of_collision_objs = 1;
level_appear = 1;
Symbol 136 MovieClip Frame 20
gotoAndPlay (10);
Symbol 139 MovieClip Frame 1
no_of_collision_objs = 1;
level_appear = 999;
Symbol 139 MovieClip Frame 20
gotoAndPlay (10);
Symbol 142 MovieClip Frame 1
no_of_collision_objs = 1;
level_appear = 999;
Symbol 142 MovieClip Frame 20
gotoAndPlay (10);
Symbol 145 MovieClip Frame 1
no_of_collision_objs = 1;
level_appear = 8;
Symbol 145 MovieClip Frame 20
gotoAndPlay (10);
Symbol 146 MovieClip Frame 1
no_of_collision_objs = 1;
level_appear = 4;
Symbol 146 MovieClip Frame 20
gotoAndPlay (10);
Symbol 149 MovieClip Frame 1
no_of_collision_objs = 1;
level_appear = 8;
Symbol 149 MovieClip Frame 20
gotoAndPlay (10);
Symbol 150 MovieClip Frame 25
stop();
this._visible = false;
Instance of Symbol 155 MovieClip "bzzt_1" in Symbol 156 MovieClip Frame 1
onClipEvent (enterFrame) {
this._rotation = random(360);
}
Instance of Symbol 155 MovieClip "bzzt_2" in Symbol 156 MovieClip Frame 1
onClipEvent (enterFrame) {
this._rotation = random(360);
}
Symbol 164 MovieClip Frame 1
stop();
stop_thrusting = true;
no_of_collision_objs = 1;
invincible._visible = false;
Instance of Symbol 158 MovieClip in Symbol 164 MovieClip Frame 1
/* no clip actions */
Symbol 164 MovieClip Frame 19
gotoAndPlay (1);
Symbol 164 MovieClip Frame 20
stop_thrusting = false;
Symbol 164 MovieClip Frame 40
if (!stop_thrusting) {
gotoAndPlay (20);
} else {
gotoAndPlay (1);
}
Symbol 164 MovieClip Frame 60
gotoAndPlay (1);
Symbol 170 MovieClip Frame 1
stop();
stop_thrusting = true;
no_of_collision_objs = 4;
Instance of Symbol 166 MovieClip in Symbol 170 MovieClip Frame 1
/* no clip actions */
Symbol 170 MovieClip Frame 19
gotoAndPlay (1);
Symbol 170 MovieClip Frame 20
stop_thrusting = false;
Symbol 170 MovieClip Frame 46
if (!stop_thrusting) {
gotoAndPlay (20);
} else {
gotoAndPlay (1);
}
Symbol 170 MovieClip Frame 60
gotoAndPlay (1);
Symbol 176 MovieClip Frame 1
stop();
stop_thrusting = true;
no_of_collision_objs = 4;
Instance of Symbol 172 MovieClip in Symbol 176 MovieClip Frame 1
/* no clip actions */
Symbol 176 MovieClip Frame 19
gotoAndPlay (1);
Symbol 176 MovieClip Frame 20
stop_thrusting = false;
Symbol 176 MovieClip Frame 40
if (!stop_thrusting) {
gotoAndPlay (20);
} else {
gotoAndPlay (1);
}
Symbol 176 MovieClip Frame 60
gotoAndPlay (1);
Symbol 178 MovieClip Frame 1
stop();
Symbol 179 MovieClip Frame 1
bonus_name = "what?";
Symbol 179 MovieClip Frame 20
this._visible = false;
stop();
Symbol 181 MovieClip Frame 1
stop();
Symbol 182 MovieClip Frame 1
bonus_name = "what?";
Symbol 182 MovieClip Frame 20
this._visible = false;
Symbol 185 MovieClip Frame 20
stop();
Symbol 193 MovieClip Frame 1
stop();
Symbol 198 MovieClip Frame 20
stop();
Symbol 205 MovieClip Frame 1
stop();
this._visible = false;
done_totup = false;
info_score = "";
into_time_bonus = "";
Symbol 205 MovieClip Frame 2
this._visible = true;
info_score = "";
into_time_bonus = "";
done_totup = false;
time_count = math.floor(_root.level_time / _root.fps);
time_bonus_score = 0;
back.gotoAndPlay(1);
Symbol 205 MovieClip Frame 15
info_time_bonus = "SECONDS REMAINING ... " + math.floor(_root.level_time / _root.fps);
Symbol 205 MovieClip Frame 31
time_bonus_score = time_bonus_score + 50;
info_time_bonus = (time_count + " ... ") + time_bonus_score;
Symbol 205 MovieClip Frame 33
time_count = time_count - 1;
if (0 < time_count) {
gotoAndPlay (31);
}
Symbol 205 MovieClip Frame 34
info_time_bonus = "TIME BONUS " + time_bonus_score;
_root.score = _root.score + time_bonus_score;
info_score = "SCORE " + _root.score;
Symbol 205 MovieClip Frame 87
done_totup = true;
this._visible = false;
stop();
Symbol 211 Button
on (release) {
gotoAndPlay (106);
}
Symbol 223 Button
on (release) {
gotoAndPlay (141);
}
Symbol 249 Button
on (release) {
gotoAndPlay (137);
}
Symbol 250 Button
on (release) {
getURL ("http://www.fatspanner.com", _blank);
}