sMissile 0 -1 2 0 <undefined> sProjectileMask 1 603 7 0 0 -1 2 self 0 0 1 if (y > global.waterlevel && global.waterlevel != 0) { inwater = 1; } else inwater = 0; alarm[1] = 1; pbeam = 0; ibeam = 0; wbeam = 0; sbeam = 0; startx = x; starty = y; flame = -4; image_speed = 0.5; if (oControl.debug > 0) { if (instance_exists(oMGamma)) { x = oMGamma.x; y = oMGamma.y + 16; } } 1 603 7 0 0 -1 2 self 0 0 1 if (smissile == 0) { make_smoke_explosion2(startx + (x - startx) / 2, starty + (y - starty) / 2); } else make_smoke_explosion(startx + (x - startx) / 2, starty + (y - starty) / 2); flame = instance_create(x, y, oMissileFlame); flame.image_angle = image_angle; if (smissile) flame.sprite_index = sSMissileFlame; 1 603 7 0 0 -1 2 self 0 0 1 1 603 7 0 0 -1 2 self 0 0 1 if (instance_exists(oCharacter)) { if ((direction == 0 || direction == 45 || direction == 315) && oCharacter.xVel > 0) x += oCharacter.xVel; if ((direction == 180 || direction == 135 || direction == 225) && oCharacter.xVel < 0) x += oCharacter.xVel; if (direction == 270 && oCharacter.yVel > 0) y += oCharacter.yVel; } if (smissile) speed += 0.5; if (y > global.waterlevel && global.waterlevel != 0) { if (inwater == 0) instance_create(x, global.waterlevel, oSmallSplash); inwater = 1; } else { if (inwater == 1) instance_create(x, global.waterlevel, oSmallSplash); inwater = 0; } if (x < view_xview[0] - 48 - (oControl.widescreen_space/2)|| x > view_xview[0] + view_wview[0] + 48 + (oControl.widescreen_space/2) || y < view_yview[0] - 48 || y > view_yview[0] + view_hview[0] + 48) { instance_destroy(); trail.speed = speed; trail.alarm[0] = 30; with (flame) instance_destroy(); } trail.x = x; trail.y = y; if (instance_exists(flame)) { flame.x = x; flame.y = y; } 1 603 7 0 0 -1 2 self 0 0 1 ///NULL 1 603 7 0 0 -1 2 self 0 0 1 ///NULL 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.canbehit) event_user(0); 1 603 7 0 0 -1 2 self 0 0 1 event_user(0); 1 603 7 0 0 -1 2 self 0 0 1 with (other) event_user(0); event_user(0); 1 603 7 0 0 -1 2 self 0 0 1 with (other) event_user(0); event_user(0); 1 603 7 0 0 -1 2 self 0 0 1 with (other) { check_linkid(); event_user(0); } event_user(0); 1 603 7 0 0 -1 2 self 0 0 1 rspark = instance_create(x, y, oFXAnimSpark); rspark.sprite_index = sReflectSpark; rspark.image_speed = 0.5; rspark.depth = -120; rmsl = instance_create(x, y, oRMissile); if (smissile) rmsl.sprite_index = sSMissile; rmsl.direction = direction + 190 - random(20); if (direction != 90) { rmsl.speed = 2; rmsl.vspeed = -2; } sfx_stop(sndDeflect); sfx_play(sndDeflect); trail.speed = speed; trail.alarm[0] = 2; with (flame) instance_destroy(); light = instance_create(x, y, oFadeLight32); light.fadespeed = 0.1; light.alarm[0] = 2; instance_destroy(); 1 603 7 0 0 -1 2 self 0 0 1 expl = instance_create(round(x), round(y), oMissileExpl); if (smissile == 0) { expl.image_xscale = 0.6; expl.image_yscale = 0.6; expl.damage = 5; expl.smissile = 0; PlaySoundMono(sndMissileExpl); light = instance_create(x, y, oFadeLight32); light.fadespeed = 0.1; light.alarm[0] = 10; } if (smissile) { quake = instance_create(0, 0, oQuake); quake.delay = 0; quake.duration = 10; quake.intensity = 2; expl.damage = 25; expl.smissile = 1; sfx_stop(sndFlyby); PlaySoundMono(sndSMissileExpl); light = instance_create(x, y, oFadeLight64); light.fadespeed = 0.1; light.alarm[0] = 10; ctrl_vibrate(0, 0, 20); } if (inwater) { repeat (4 + floor(random(4))) { bubble = instance_create(x, y, oLBubble); if (instance_exists(bubble)) { bubble.hspeed = 2 - random(4); bubble.vspeed = -0.1 - random(1); } } } trail.speed = speed; trail.alarm[0] = 2; with (flame) instance_destroy(); instance_destroy(); 0 0 0 0.5 0.100000001490116 0 0.100000001490116 0.100000001490116 0.200000002980232 -1 -1