sShirk 0 -1 -3 0 oEnemy <undefined> 1 603 7 0 0 -1 2 self 0 0 1 action_inherited(); canbeX = 0; makeActive(); setCollisionBounds(-10, -14, 14, 14); facing = 1; myhealth = 80; freezehp = 30; prevhealth = myhealth; damage = 24; stuntime = 5; shell1hp = 60; shell2hp = 40; hpush = 6; vpush = -3; hitmissileexpl = 0; hitsound = sndRobotHit3; deathsound = sndRobotExpl; canfreeze = 1; platyoffset = -6; frozenspr = sShirkFrozen; flipx = 1; target = 0; state = 1; targetx = x; targety = y; haccel = 0.2; vaccel = 0.5; alarm[0] = 1; turning = 0; inwater = 0; hitemp = 1; empspr = sShirkDisabled; 1 603 7 0 0 -1 2 self 0 0 1 expl = instance_create(x - 8 + random(16), y - 8 + random(16), oFXAnimSpark); expl.image_speed = 0.5; expl.additive = 0; expl.sprite_index = sExpl1; expl.depth = -4; expl.image_xscale = 0.5; expl.image_yscale = 0.5; alarm[3] = 3; 1 603 7 0 0 -1 2 self 0 0 1 if (oCharacter.y - 20 > y) yVel = 3.5; if (oCharacter.y - 20 < y) yVel = -3.5; if (oCharacter.x > x) { xVel = 4; if (facing == -1) turning = 5; } if (oCharacter.x < x) { xVel = -4; if (facing == 1) turning = 5; } alarm[0] = 50; 1 603 7 0 0 -1 2 self 0 0 1 action_inherited(); enemy_active_check(70); enemy_target_check(90, 1); if (active == 1 && stun == 0 && frozen == 0 && state != 100) { if (state == 1) { xVel *= 0.95; yVel *= 0.95; if (inwater) { xVel *= 0.9; yVel *= 0.9; } } if (stun == 0) moveTo(xVel, yVel); } if (turning == 2) facing *= -1; if (inwater && global.watertype == 1) { flashing = 1; myhealth -= 1; event_user(1); if (myhealth <= 0) state = 100; } if (state == 100) { canbehit = 0; alarm[0] = 0; yVel += 0.1; moveTo(xVel, yVel); if (xVel <= 0) image_angle += 0.6; if (xVel > 0) image_angle -= 0.6; if (isCollisionLeft(1) || isCollisionRight(1)) xVel = 0; if (isCollisionBottom(1) || statetime > 240 || y > view_yview[0] + 240) { enemy_death2(); repeat (20) instance_create(x, y, oDebris); } } if (turning > 0) turning -= 1; 1 603 7 0 0 -1 2 self 0 0 1 event_inherited(); if (myhealth >= shell1hp) { deb = instance_create(x, y, oDebris); deb.sprite_index = sShirkArmor1; deb.depth = -4; } if (myhealth >= shell2hp) { deb = instance_create(x, y, oDebris); deb.sprite_index = sShirkArmor2; deb.depth = -4; } 1 603 7 0 0 -1 2 self 0 0 1 event_inherited(); deb = instance_create(x, y, oDebris); deb.sprite_index = sShirkArmor2; deb.depth = -4; 1 603 7 0 0 -1 2 self 0 0 1 if (myhealth <= shell1hp && prevhealth > shell1hp) { expl = instance_create(x, y - 8, oFXAnimSpark); expl.image_speed = 0.5; expl.additive = 0; expl.sprite_index = sExpl1; expl.depth = -5; repeat (8) instance_create(x, y, oDebris); deb = instance_create(x, y, oDebris); deb.sprite_index = sShirkArmor1; deb.depth = -4; } if (myhealth <= shell2hp && prevhealth > shell2hp) { expl = instance_create(x + 8, y, oFXAnimSpark); expl.image_speed = 0.5; expl.additive = 0; expl.sprite_index = sExpl1; expl.depth = -5; repeat (8) instance_create(x, y, oDebris); deb = instance_create(x, y, oDebris); deb.sprite_index = sShirkArmor2; deb.depth = -4; } if (myhealth <= 0 && prevhealth > 0) { alarm[3] = 1; statetime = 0; yVel = -2; xVel *= 0.5; } prevhealth = myhealth; 1 603 7 0 0 -1 2 self 0 0 1 action_inherited(); event_user(1); if (random(2) < 0.2) instance_create(x, y, oDebris); 1 603 7 0 0 -1 2 self 0 0 1 instance_destroy(); 1 603 7 0 0 -1 2 self 0 0 1 image_xscale = facing; if (!flashing) { if (turning == 0) { draw_sprite_ext(sprite_index, -1, x, y, image_xscale, 1, image_angle, -1, image_alpha); if (myhealth > shell1hp) draw_sprite_ext(sShirkArmor1, -1, x, y, image_xscale, 1, image_angle, -1, image_alpha); if (myhealth > shell2hp) draw_sprite_ext(sShirkArmor2, -1, x, y, image_xscale, 1, image_angle, -1, image_alpha); } if (turning > 0) { draw_sprite_ext(sShirkTurn, -1, x, y, image_xscale, 1, image_angle, -1, image_alpha); if (myhealth > shell1hp) draw_sprite_ext(sShirkTurnArmor1, -1, x, y, image_xscale, 1, image_angle, -1, image_alpha); if (myhealth > shell2hp) draw_sprite_ext(sShirkTurnArmor2, -1, x, y, image_xscale, 1, image_angle, -1, image_alpha); } } if (flashing) { if (turning == 0) { draw_sprite_ext(sprite_index, -1, x, y, image_xscale, 1, image_angle, make_color_rgb(80, 80, 80), 1); if (myhealth > shell1hp) draw_sprite_ext(sShirkArmor1, -1, x, y, image_xscale, 1, image_angle, make_color_rgb(80, 80, 80), 1); if (myhealth > shell2hp) draw_sprite_ext(sShirkArmor2, -1, x, y, image_xscale, 1, image_angle, make_color_rgb(80, 80, 80), 1); draw_set_blend_mode(bm_add); repeat (3) { draw_sprite_ext(sprite_index, -1, x, y, image_xscale, 1, image_angle, -1, 1 - fxtimer * 0.25); if (myhealth > shell1hp) draw_sprite_ext(sShirkArmor1, -1, x, y, image_xscale, 1, image_angle, -1, 1 - fxtimer * 0.25); if (myhealth > shell2hp) draw_sprite_ext(sShirkArmor2, -1, x, y, image_xscale, 1, image_angle, -1, 1 - fxtimer * 0.25); } draw_set_blend_mode(bm_normal); } if (turning > 0) { draw_sprite_ext(sShirkTurn, -1, x, y, image_xscale, 1, image_angle, make_color_rgb(80, 80, 80), 1); if (myhealth > shell1hp) draw_sprite_ext(sShirkTurnArmor1, -1, x, y, image_xscale, 1, image_angle, make_color_rgb(80, 80, 80), 1); if (myhealth > shell2hp) draw_sprite_ext(sShirkTurnArmor2, -1, x, y, image_xscale, 1, image_angle, make_color_rgb(80, 80, 80), 1); draw_set_blend_mode(bm_add); repeat (3) { draw_sprite_ext(sprite_index, -1, x, y, image_xscale, 1, image_angle, -1, 1 - fxtimer * 0.25); if (myhealth > shell1hp) draw_sprite_ext(sShirkTurnArmor1, -1, x, y, image_xscale, 1, image_angle, -1, 1 - fxtimer * 0.25); if (myhealth > shell2hp) draw_sprite_ext(sShirkTurnArmor2, -1, x, y, image_xscale, 1, image_angle, -1, 1 - fxtimer * 0.25); } draw_set_blend_mode(bm_normal); } } // if (flashing) 0 0 0 0.5 0.100000001490116 0 0.100000001490116 0.100000001490116 0.200000002980232 -1 -1