sBeam 0 -1 -5 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; } time = 0; dohit = 1; smissile = 0; // Do not delete this. This was needed for beam attacks on Monsters. // I am mimicking missiles here. The game will crash without this variable!!! 1 603 7 0 0 -1 2 self 0 0 1 dohit = 1; 1 603 7 0 0 -1 2 self 0 0 1 if (pbeam == 1) { alarm[1] = 2 + sbeam; if (time > 1) { mytrail = instance_create(x, y, oBeamTrail); mytrail.sprite_index = sprite_index; mytrail.image_single = 0; mytrail.image_alpha = 0.4; mytrail.direction = direction; if (wbeam == 0) mytrail.speed = -speed / 2; mytrail.image_angle = image_angle; mytrail.image_xscale = image_xscale; mytrail.image_yscale = image_yscale; } } 1 603 7 0 0 -1 2 self 0 0 1 if (ibeam == 1) { alarm[0] = 3; if (sbeam) alarm[0] = 7 + random(15); spark = instance_create(x + floor(random(4) - 2), y + floor(random(4) - 2), oFXAnimSpark); spark.gravity_direction = 270; spark.gravity = 0.2; spark.sprite_index = sIBeamFX; spark.image_speed = 0.3; spark.image_index = 0; spark.additive = 1; } 1 603 7 0 0 -1 2 self 0 0 1 if (sbeam == 1) { time += 0.4; w_arc = 40; } else { time += 1; w_arc = 25; if (chargebeam == 1) w_arc = 30; } if (instance_exists(oCharacter)) { if ((maindir == 0 || maindir == 359.5 || maindir == 45 || maindir == 315) && oCharacter.xVel > 0) x += oCharacter.xVel; if ((maindir == 180 || maindir == 135 || maindir == 225) && oCharacter.xVel < 0) x += oCharacter.xVel; if (maindir == 270 && oCharacter.yVel > 0) y += oCharacter.yVel; } if (wbeam && sbeam == 0) { if (wbeamdir == 1) direction = maindir + w_arc * cos(time); if (wbeamdir == 0) direction = maindir - w_arc * cos(time); } if (sbeam && wbeam == 0 && beamid == 1) { if (time < 1 && chargebeam == 0) direction = maindir + 20; if (time < 1 && chargebeam == 1) direction = maindir + 20; if (time >= 1.3 && direction > maindir && chargebeam == 0) direction -= 5; if (time >= 1 && direction > maindir && chargebeam == 1) direction -= 10; } if (sbeam && wbeam == 0 && beamid == 2) { if (time < 1 && chargebeam == 0) direction = maindir - 20; if (time < 1 && chargebeam == 1) direction = maindir - 20; if (maindir == 0) { maindir = 359.5; if (chargebeam == 1) y -= 1; } if (time >= 1.3 && direction < maindir && chargebeam == 0) direction += 5; if (time >= 1 && direction < maindir && chargebeam == 1) direction += 10; } if (sbeam && time > 2 && maindir == 359.5) direction = 0; if (wbeam && sbeam) { if (beamid == 0 && chargebeam == 0) speed = 6.7; if (beamid == 0 && chargebeam == 1) speed = 9; if (beamid == 1) direction = maindir + 60 * cos(time); if (beamid == 2) direction = maindir - 60 * cos(time); } if (wbeam && pbeam) image_angle = direction; if (chargebeam == 1 && sprite_index == sBeam2) { if (time < 1) image_xscale = 0.6; if (time > 1 && image_xscale < 1) image_xscale += 0.2; } 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(); 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); instance_destroy(); 1 603 7 0 0 -1 2 self 0 0 1 /* event_user(1); instance_destroy(); 1 603 7 0 0 -1 2 self 0 0 1 with (other) event_user(0); if (wbeam == 0) { event_user(0); instance_destroy(); } 1 603 7 0 0 -1 2 self 0 0 1 with (other) event_user(0); if (wbeam == 0) { event_user(0); instance_destroy(); } 1 603 7 0 0 -1 2 self 0 0 1 if (wbeam == 0) { event_user(0); instance_destroy(); } with (other) if (sprite_index == sBlockBomb) { event_user(1); visible = true; } 1 603 7 0 0 -1 2 self 0 0 1 with (other) event_user(0); if (wbeam == 0) { event_user(0); instance_destroy(); } 1 603 7 0 0 -1 2 self 0 0 1 with (other) event_user(0); if (wbeam == 0) { event_user(0); instance_destroy(); } 1 603 7 0 0 -1 2 self 0 0 1 with (other) { check_linkid(); event_user(0); } if (wbeam == 0) { event_user(0); instance_destroy(); } 1 603 7 0 0 -1 2 self 0 0 1 rspark = instance_create(x, y, oFXAnimSparkItem); rspark.sprite_index = sReflectSpark; rspark.image_speed = 0.5; rspark.depth = -1000; sfx_stop(sndDeflect); sfx_play(sndDeflect); light = instance_create(x, y, oFadeLight32); light.fadespeed = 0.1; light.alarm[0] = 2; 1 603 7 0 0 -1 2 self 0 0 1 if (pbeam && !chargebeam) { dohit = 0; alarm[2] = 2; } expl = instance_create(x, y, oFXAnimSparkItem); expl.additive = 0; expl.depth = -1000; if (chargebeam == 0) expl.sprite_index = sBeamExpl; if (chargebeam == 1) expl.sprite_index = sBeamExpl2; if (wbeam) expl.sprite_index = sWBeamExpl; if (pbeam) expl.sprite_index = sPBeamExpl; if (ibeam) expl.sprite_index = sIBeamExpl; if (ibeam == 1) { expl.sprite_index = sIBeamExpl; repeat (3) { expl2 = instance_create(x, y, oFXAnimSparkItem); expl2.sprite_index = sIBeamFX; expl2.vspeed = -random(3); expl2.hspeed = random(6) - 3; expl2.gravity_direction = 270; expl2.gravity = 0.2; expl2.image_speed = 0.3; expl2.additive = 1; expl2.depth = -1000; } } light = instance_create(x, y, oFadeLight32); light.fadespeed = 0.1; light.alarm[0] = 5; 1 603 7 0 0 -1 2 self 0 0 1 draw_set_blend_mode(bm_add); draw_sprite_ext(sFlare1, -1, x, y, fxscale, fyscale, direction, fcolor, falpha); draw_set_blend_mode(bm_normal); draw_sprite_ext(sprite_index, -1, x, y, image_xscale, image_yscale, image_angle, image_blend, image_alpha); 0 0 0 0.5 0.100000001490116 0 0.100000001490116 0.100000001490116 0.200000002980232 -1 -1