sTesterBody
0
-1
1
0
<undefined>
<undefined>
1
603
7
0
0
-1
2
self
0
0
1
canbeX = 0;
wall_u = 90;
wall_l = 90;
wall_r = 230;
wall_d = 870;
next_attack = 0;
image_angle = 0;
target_angle = 0;
rot_speed = 0;
cam = instance_create(x, y, oObjectCamera);
cam.target_obj = id;
s1 = instance_create(x, y, oTesterShield);
s2 = instance_create(x, y, oTesterShield);
s3 = instance_create(x, y, oTesterShield);
s4 = instance_create(x, y, oTesterShield);
soffset = 0;
target_soff = 0;
soffmax = 24;
sangle = 0;
starget_angle = 0;
srot_speed = 5;
sangle_timer = 0;
shuriken = 0;
enableforcefield = 0;
change_time = 300;
flashing = 0;
attacks = 0;
s1.image_angle = image_angle;
s2.image_angle = image_angle + 90;
s3.image_angle = image_angle + 180;
s4.image_angle = image_angle + 270;
c1 = instance_create(x, y, oTesterCannon);
c2 = instance_create(x, y, oTesterCannon);
c3 = instance_create(x, y, oTesterCannon);
c4 = instance_create(x, y, oTesterCannon);
coffset = 0;
target_coff = 0;
coffmax = 54;
c1.image_angle = image_angle;
c2.image_angle = image_angle + 90;
c3.image_angle = image_angle + 180;
c4.image_angle = image_angle + 270;
eye = instance_create(x, y, oTesterEye);
glass = instance_create(x, y, oTesterGlass);
state = 0;
statetime = 0;
targetx = x;
targety = y;
movetotarget = 1;
movespeed = 1;
directrotate = 0;
aim_x = 0;
aim_y = 0;
1
603
7
0
0
-1
2
self
0
0
1
expl = instance_create(x + random_range(-45, 45), y + random_range(-45, 45), oFXAnimSpark);
expl.image_speed = 0.5;
expl.additive = 0;
expl.sprite_index = sExpl1;
alarm[10] = 2;
1
603
7
0
0
-1
2
self
0
0
1
sfx_play(sndFireBeamCI);
1
603
7
0
0
-1
2
self
0
0
1
sfx_play(sndFireball);
1
603
7
0
0
-1
2
self
0
0
1
sfx_play(sndAutrackFire);
1
603
7
0
0
-1
2
self
0
0
1
if (instance_exists(s1)) {
s1.image_angle = image_angle + sangle;
s1.x = x + lengthdir_x(soffset, image_angle + sangle + 45 + shuriken * 90);
s1.y = y + lengthdir_y(soffset, image_angle + sangle + 45 + shuriken * 90);
}
if (instance_exists(s2)) {
s2.image_angle = image_angle + sangle + 90;
s2.x = x + lengthdir_x(soffset, image_angle + sangle + 135 + shuriken * 90);
s2.y = y + lengthdir_y(soffset, image_angle + sangle + 135 + shuriken * 90);
}
if (instance_exists(s3)) {
s3.image_angle = image_angle + sangle + 180;
s3.x = x + lengthdir_x(soffset, image_angle + sangle + 225 + shuriken * 90);
s3.y = y + lengthdir_y(soffset, image_angle + sangle + 225 + shuriken * 90);
}
if (instance_exists(s4)) {
s4.image_angle = image_angle + sangle + 270;
s4.x = x + lengthdir_x(soffset, image_angle + sangle + 315 + shuriken * 90);
s4.y = y + lengthdir_y(soffset, image_angle + sangle + 315 + shuriken * 90);
}
if (instance_exists(c1)) {
c1.image_angle = image_angle;
c1.x = x + lengthdir_x(coffset, image_angle);
c1.y = y + lengthdir_y(coffset, image_angle);
}
if (instance_exists(c2)) {
c2.image_angle = image_angle + 90;
c2.x = x + lengthdir_x(coffset, image_angle + 90);
c2.y = y + lengthdir_y(coffset, image_angle + 90);
}
if (instance_exists(c3)) {
c3.image_angle = image_angle + 180;
c3.x = x + lengthdir_x(coffset, image_angle + 180);
c3.y = y + lengthdir_y(coffset, image_angle + 180);
}
if (instance_exists(c4)) {
c4.image_angle = image_angle + 270;
c4.x = x + lengthdir_x(coffset, image_angle + 270);
c4.y = y + lengthdir_y(coffset, image_angle + 270);
}
if (instance_exists(eye)) {
eye.x = x;
eye.y = y;
}
if (instance_exists(glass)) {
glass.x = x;
glass.y = y;
glass.image_angle = image_angle;
}
1
603
7
0
0
-1
2
self
0
0
1
if (eye.myhealth < 0) { state = 100 }
aim_x = oCharacter.x;
aim_y = oCharacter.y;
if (state == 0) {
if (statetime == 60) {
with (oA4TileLight1) color = 1;
sfx_play(sndTesterStartup);
}
if (statetime > 60) {
if (eye.shutter_frame < 4) eye.shutter_frame += 0.25;
}
if (statetime == 120) {
enableforcefield = 1;
glass.enabled = 1;
sfx_play(sndTesterBarrierUp);
}
if (statetime == 150) {
if(file_exists("musTester.ogg")) {
mus_play(musTester);
oMusicV2.bossbgm = musTester;
}
else {
mus_play(musAncientGuardian);
oMusicV2.bossbgm = musAncientGuardian;
}
}
if (statetime == 240) {
state = 1;
statetime = 0;
eye.canbehit = 1;
scan_log(35, get_text("ScanEvents", "ScanMechanism"), 180, 0);
}
}
if (state == 1) {
if (statetime == 0) {
x = round(x);
y = round(y);
targetx = 160;
if (y >= 480) {
targety = 100;
} else targety = 860;
target_soff = 0;
target_coff = 0;
target_angle = 0;
rot_speed = 5;
sangle_timer = 60;
if (instance_number(oTesterShield) == 4) change_time = 360;
if (instance_number(oTesterShield) == 3) change_time = 300;
if (instance_number(oTesterShield) == 2) change_time = 240;
if (instance_number(oTesterShield) == 1) change_time = 180;
if (instance_number(oTesterShield) == 0) change_time = 120;
}
if (y <= 120) targety = 860;
if (y >= 840) targety = 100;
if (instance_number(oTesterShield) == 4) movespeed = 1;
if (instance_number(oTesterShield) == 3) movespeed = 1.5;
if (instance_number(oTesterShield) == 2) movespeed = 2;
if (instance_number(oTesterShield) == 1) movespeed = 2.5;
if (instance_number(oTesterShield) == 0) movespeed = 3;
if (point_distance(x, y, oCharacter.x, oCharacter.y) > 220) movespeed = 1;
if (statetime > 60 && statetime < 260) {
if (sangle_timer > 0) {
sangle_timer -= 1;
} else {
starget_angle = floor(random_range(0, 3.9)) * 90;
sangle_timer = 120;
sfx_play(sndTesterRotate);
}
}
if (statetime >= change_time) {
if (attacks == 0) {
if (instance_number(oTesterShield) == 4) {
next_attack = 7;
} else next_attack = 2;
}
if (attacks == 1 || attacks == 3) next_attack = choose(3, 4, 5, 6);
if (attacks == 2) next_attack = 2;
attacks += 1;
if (attacks > 3) attacks = 0;
state = next_attack;
statetime = 0;
}
} // if (state == 1)
if (state == 2) {
if (statetime == 0) {
targetx = 160;
targety = y;
movespeed = 0;
target_soff = soffmax;
target_coff = coffmax;
rot_speed = 5;
with (oTesterCannon) {
type = 0;
event_user(2);
}
sfx_play(sndTesterCannonArm);
}
if (statetime == 50) with (oTesterCannon) open = 1;
if (statetime == 60) target_angle = 45;
if (statetime == 70) with (oTesterCannon) event_user(0);
if (statetime == 90) target_angle = 90;
if (statetime == 100) with (oTesterCannon) event_user(0);
if (statetime == 110) target_angle = 45;
if (statetime == 120) with (oTesterCannon) event_user(0);
if (statetime == 130) with (oTesterCannon) open = 0;
if (statetime == 200) {
state = 1;
statetime = -1;
}
} // if (state == 2)
if (state == 3) {
if (statetime == 0) {
targetx = 100;
targety = 120;
movespeed = 5;
target_soff = soffmax;
target_coff = coffmax;
target_angle = 180;
rot_speed = 5;
with (oTesterCannon) {
type = 1;
event_user(2);
}
sfx_play(sndTesterCannonArm);
}
if (statetime == 100) with (oTesterCannon) open = 1;
if (statetime == 130) with (oTesterCannon) event_user(0);
if (statetime == 190) {
targetx = 125;
targety = 300;
target_angle = 270;
}
if (statetime == 250) with (oTesterCannon) event_user(0);
if (statetime == 280) {
targetx = 160;
targety = 480;
target_angle = 180;
}
if (statetime == 340) with (oTesterCannon) event_user(0);
if (statetime == 370) {
targetx = 195;
targety = 660;
target_angle = 90;
}
if (statetime == 430) with (oTesterCannon) event_user(0);
if (statetime == 460) {
targetx = 220;
targety = 840;
target_angle = 0;
}
if (statetime == 520) with (oTesterCannon) event_user(0);
if (statetime == 550) with (oTesterCannon) open = 0;
if (statetime == 610) {
state = 1;
statetime = -1;
}
} // if (state == 3)
if (state == 4) {
if (statetime == 0) {
targetx = 160;
targety = 480;
movespeed = 5;
target_soff = soffmax;
target_coff = coffmax;
target_angle = 45;
rot_speed = 5;
with (oTesterCannon) {
type = 2;
event_user(2);
}
sfx_play(sndTesterCannonArm);
}
if (statetime == 60) with (oTesterCannon) open = 1;
if (statetime == 100) with (oTesterCannon) event_user(0);
if (statetime == 400) with (oTesterCannon) open = 0;
if (statetime == 460) {
state = 1;
statetime = -1;
}
}
if (state == 5) {
if (statetime == 0) {
targetx = 160;
targety = y;
movespeed = 0;
target_soff = soffmax;
target_coff = coffmax;
target_angle = 0;
rot_speed = 5;
with (oTesterCannon) {
type = 3;
event_user(2);
}
sfx_play(sndTesterCannonArm);
}
if (statetime == 50) with (oTesterCannon) open = 1;
if (statetime == 100) with (oTesterCannon) event_user(0);
if (statetime == 130) {
target_angle = -45;
rot_speed = 0.5;
}
if (statetime == 210) {
target_angle = 45;
rot_speed = 0.5;
}
if (statetime == 390) with (oTesterCannon) open = 0;
if (statetime == 450) {
state = 1;
statetime = -1;
}
} // if (state == 5)
if (state == 6) {
if (statetime == 0) {
targetx = 160;
targety = y;
if (y > 736) targety = 736;
if (y < 224) targety = 224;
movespeed = 4;
target_soff = soffmax;
target_coff = coffmax;
target_angle = 0;
rot_speed = 5;
with (oTesterCannon) {
type = 4;
event_user(2);
}
sfx_play(sndTesterCannonArm);
}
if (statetime == 50) with (oTesterCannon) open = 1;
if (statetime == 100) {
with (oTesterCannon) event_user(0);
sfx_loop(sndTesterPlasmaLoop);
}
if (statetime == 130) {
target_angle = 360;
rot_speed = 0.5;
}
if (statetime == 850) {
with (oTesterPlasmaBeam) fadeout = 1;
sfx_stop(sndTesterPlasmaLoop);
}
if (statetime == 870) with (oTesterCannon) open = 0;
if (instance_number(oTesterPlasmaBeam) == 0 && sfx_isplaying(sndTesterPlasmaLoop)) sfx_stop(sndTesterPlasmaLoop);
if (statetime == 930) {
state = 1;
statetime = -1;
image_angle = 0;
target_angle = 0;
}
} // if (state == 6)
if (state == 7) {
if (statetime == 0) {
movetotarget = 0;
target_soff = 35;
shuriken = 1;
target_angle = 0;
rot_speed = 0;
sfx_play(sndTesterRotate);
}
if (statetime == 50) {
directrotate = 1;
sfx_loop(sndTesterMeleeLoop);
}
if (statetime == 100) {
direction = point_direction(x, y, aim_x, aim_y);
speed = 4;
}
if (x > wall_r && hspeed > 0) hspeed *= -1;
if (x < wall_l && hspeed < 0) hspeed *= -1;
if (y > wall_d && vspeed > 0) vspeed *= -1;
if (y < wall_u && vspeed < 0) vspeed *= -1;
if (statetime == 600) {
speed = 0;
target_soff = 0;
directrotate = 0;
sfx_stop(sndTesterMeleeLoop);
}
if (statetime == 660) {
state = 1;
statetime = -1;
image_angle = 0;
target_angle = 0;
shuriken = 0;
movetotarget = 1;
targetx = 160;
targety = 480;
}
} // if (state == 7)
if (state == 100) {
if (statetime == 0) {
movespeed = 0;
movetotarget = 0;
directrotate = 0;
rot_speed = 0;
speed = 0;
sfx_stop(sndTesterMeleeLoop);
with (oTesterCannon) open = 0;
with (oTesterPlasmaBeam) fadeout = 1;
with (oTesterGlass) instance_destroy();
with (oTesterMissile) event_user(0);
with (oTesterSpazerBeam) event_user(0);
with (oTesterIceBeam) event_user(0);
with (oTesterWaveBeam) event_user(0);
with (oA4TileLight1) color = 0;
with (cam) instance_destroy();
sfx_stop(sndTesterPlasmaLoop);
sfx_play(sndTesterDeath);
mus_fadeout(musTester);
mus_fadeout(musAncientGuardian);
oMusicV2.bossbgm = sndJump;
}
if (statetime == 200) {
sfx_stop(sndTesterMeleeLoop);
repeat (20) {
expl = instance_create(x + random_range(-45, 45), y + random_range(-45, 45), oFXAnimSpark);
expl.image_speed = 0.3 + random(0.5);
expl.additive = 0;
expl.sprite_index = sExpl1Big;
}
make_explosion3(x, y - 40);
repeat (20) instance_create(x, y - 50, oDebris);
repeat (30) instance_create(x, y - 50, oMetalDebrisBig);
instance_create(x, y, oScreenFlash);
sfx_play(sndRobotExpl);
sfx_play(sndMissileExpl);
spawn_many_powerups(x - 64, y - 64, 128, 128);
with (oDoor) event_user(3);
with (oTesterCannon) instance_destroy();
with (oTesterShield) instance_destroy();
with (oTesterEye) instance_destroy();
global.event[200] = 2;
mus_current_fadein();
instance_destroy();
}
} // if (state == 100)
if (movetotarget) {
if (x < targetx) x += 1;
if (x > targetx) x -= 1;
if (y < targety) y += movespeed;
if (y > targety) y -= movespeed;
}
if (soffset < target_soff) soffset += 1;
if (soffset > target_soff) soffset -= 1;
if (coffset < target_coff) coffset += 2;
if (coffset > target_coff) coffset -= 2;
if (image_angle > target_angle) image_angle -= rot_speed;
if (image_angle < target_angle) image_angle += rot_speed;
if (directrotate) {
sangle -= 20;
if (sangle < 0) sangle += 360;
} else {
if (sangle > starget_angle) sangle -= srot_speed;
if (sangle < starget_angle) sangle += srot_speed;
}
if (state != 100) {
if (instance_number(oTesterShield) < 4 && enableforcefield == 0) {
enableforcefield = 1;
glass.enabled = 1;
}
if (glass.enabled == 1) {
eye.canbehit = 0;
} else eye.canbehit = 1;
}
if (flashing > 0) flashing -= 1;
statetime += 1;
1
603
7
0
0
-1
2
self
0
0
1
draw_sprite_ext(sTesterBody, -1, x, y, 1, 1, image_angle, image_blend, image_alpha);
draw_sprite_ext(sTesterBody, -1, x, y, -1, 1, image_angle, image_blend, image_alpha);
draw_sprite_ext(sTesterBody, -1, x, y, -1, -1, image_angle, image_blend, image_alpha);
draw_sprite_ext(sTesterBody, -1, x, y, 1, -1, image_angle, image_blend, image_alpha);
if (flashing) {
draw_set_blend_mode(bm_add);
repeat (2) {
draw_sprite_ext(sTesterBody, -1, x, y, 1, 1, image_angle, image_blend, flashing / 5);
draw_sprite_ext(sTesterBody, -1, x, y, -1, 1, image_angle, image_blend, flashing / 5);
draw_sprite_ext(sTesterBody, -1, x, y, -1, -1, image_angle, image_blend, flashing / 5);
draw_sprite_ext(sTesterBody, -1, x, y, 1, -1, image_angle, image_blend, flashing / 5);
}
draw_set_blend_mode(bm_normal);
}
0
0
0
0.5
0.100000001490116
0
0.100000001490116
0.100000001490116
0.200000002980232
-1
-1