sShielderShield 0 -1 -5 0 <undefined> <undefined> 1 603 7 0 0 -1 2 self 0 0 1 myhealth = 200; image_speed = 0; shaking = 0; flashing = 0; offx = 0; offy = 0; damage = 36; hpush = 5; vpush = -3; center_x = 0; center_y = 0; 1 603 7 0 0 -1 2 self 0 0 1 image_angle = point_direction(x, y, oCharacter.x, oCharacter.y - 16); if (shaking > 0) { shaking -= 1; offx = random_range(-2, 2); offy = random_range(-2, 2); } else { offx = 0; offy = 0; } if (flashing > 0) flashing -= 1; center_x = x + lengthdir_x(20, image_angle); center_y = y + lengthdir_y(20, image_angle); 1 603 7 0 0 -1 2 self 0 0 1 with (other) event_user(0); myhealth -= 14 * (1 + other.smissile * 5); event_user(0); 1 603 7 0 0 -1 2 self 0 0 1 with (other) { event_user(1); if (!pbeam) instance_destroy(); } 1 603 7 0 0 -1 2 self 0 0 1 event_user(1); 1 603 7 0 0 -1 2 self 0 0 1 event_user(1); 1 603 7 0 0 -1 2 self 0 0 1 if (other.speedboost > 0) event_user(1); dodamage = 1; if (other.dash >= 29 || other.state == 30 || other.state == 31 || other.state == 29 || other.speedboost > 0 || other.state == 15 && other.vjump == 0 && global.screwattack == 1) dodamage = 0; if (other.chargebeam >= 1 && other.state == 15 && other.vjump == 0 && global.screwattack == 0) { event_user(0); if (myhealth <= 0) event_user(1); other.chargebeam = 0; other.nofire = 20; dodamage = 0; repeat (8) { spark = instance_create(x, y, oFXTrail); spark.additive = 1; spark.fadespeed = 0.05; spark.direction = point_direction(x, y - 8, oCharacter.x, oCharacter.y - 12) - 4 + random(8) + 90; spark.speed = 1 + random(4); if (random(2) < 1) spark.direction += 180; spark.sprite_index = sChargeBeamSpark2; if (global.wbeam) spark.sprite_index = sChargeWBeamSpark2; if (global.pbeam) spark.sprite_index = sChargePBeamSpark2; if (global.ibeam) spark.sprite_index = sChargeIBeamSpark2; } } if (dodamage == 1) damage_player(damage, hpush, vpush, 0, 0); 1 603 7 0 0 -1 2 self 0 0 1 repeat (10) instance_create(center_x, center_y, oDebris); make_explosion1(center_x, center_y); instance_destroy(); 1 603 7 0 0 -1 2 self 0 0 1 shaking = 10; flashing = 5; repeat (2) instance_create(center_x, center_y, oDebris); sfx_play(sndRobotHit4); if (myhealth <= 0) { event_user(1); sfx_play(sndRobotExpl); } if (myhealth > 120) image_index = 0; if (myhealth <= 120) image_index = 1; if (myhealth <= 80) image_index = 2; 1 603 7 0 0 -1 2 self 0 0 1 draw_sprite_ext(sprite_index, -1, x + offx, y + offy, 1, 1, image_angle, -1, 1); if (flashing) { draw_set_blend_mode(bm_add); repeat (2) draw_sprite_ext(sprite_index, -1, x + offx, y + offy, 1, 1, image_angle, -1, flashing / 5); draw_set_blend_mode(bm_normal); } 0 0 0 0.5 0.100000001490116 0 0.100000001490116 0.100000001490116 0.200000002980232 -1 -1