var beamX, beamY, size, type, alignment, bufferSize, result; if (chargebeam < 1) chargebeam = 0 instance_create((x + aspr2x), (y + aspr2y), oMflash) beamX = oMflash.x beamY = oMflash.y beams = 1 if (global.wbeam && (!global.sbeam) && chargebeam >= 1) beams = 2 if global.sbeam beams = 3 i = 0 repeat beams { beam = instance_create((x + aspr2x), (y + aspr2y), oBeam) beam.sax = global.sax beam.ibeam = global.ibeam beam.wbeam = global.wbeam beam.pbeam = global.pbeam beam.sbeam = global.sbeam beam.beamid = i beam.direction = argument0 beam.maindir = argument0 beam.speed = 6.4 beam.offset = 0 if global.wbeam { global.wbdir = (!global.wbdir) beam.wbeamdir = global.wbdir beam.speed = 9 beam.depth = -1000 } if global.ibeam beam.alarm[0] = (1 + random(5)) if global.pbeam beam.alarm[1] = 1 if (chargebeam >= 1) beam.speed = 12 beam.image_angle = argument0 beam.fcolor = make_color_rgb(180, 180, 45) if global.wbeam beam.fcolor = make_color_rgb(240, 150, 210) if global.pbeam beam.fcolor = make_color_rgb(120, 250, 210) if global.ibeam beam.fcolor = make_color_rgb(75, 220, 255) beam.falpha = 0.4 beam.fxscale = 0.6 beam.fyscale = 0.6 if global.sbeam beam.fxscale = 0.8 if (chargebeam >= 1) { beam.fxscale = 1 beam.fyscale = 1 } nofire = 5 beam.damage = 5 beam.chargebeam = 0 if global.wbeam { beam.damage *= 1.5 nofire += 2 } if global.ibeam { beam.damage *= 1.5 nofire += 2 } if global.sbeam { beam.damage *= 0.8 nofire += 2 } if global.pbeam { beam.damage *= 1.2 nofire += 3 } if (chargebeam >= 1) { beam.damage *= 3 beam.chargebeam = 1 if (global.wbeam && (!global.sbeam)) beam.damage *= 0.6 } if (aimdirection == 1) { beam.x += 4 if (state != GRIP) beam.y -= 1 } if (aimdirection == 0) beam.x -= 4 if (aimdirection == 6) { beam.y += 4 if (facing == LEFT) beam.x += 1 } if (global.ibeam == 0 && global.wbeam == 0 && global.pbeam == 0 && global.sbeam == 0) { if (chargebeam == 0) beam.sprite_index = sBeam if (chargebeam >= 1) { beam.sprite_index = sBeam2 beam.offset = 4 } } if (global.ibeam == 0 && global.wbeam == 1 && global.pbeam == 0 && global.sbeam == 0) { if (chargebeam == 0) beam.sprite_index = sWBeam if (chargebeam >= 1) beam.sprite_index = sWBeam2 beam.offset = 10 } if (global.ibeam == 1 && global.wbeam == 0 && global.pbeam == 0 && global.sbeam == 0) { if (chargebeam == 0) beam.sprite_index = sIBeam if (chargebeam >= 1) { beam.sprite_index = sIBeam2 beam.image_xscale = 1.4 } } if (global.ibeam == 0 && global.wbeam == 0 && global.pbeam == 1 && global.sbeam == 0) { if (chargebeam == 0) beam.sprite_index = sPBeam if (chargebeam >= 1) beam.sprite_index = sPBeam2 beam.offset = 4 } if (global.ibeam == 0 && global.wbeam == 0 && global.pbeam == 0 && global.sbeam == 1) { if (chargebeam == 0) { beam.sprite_index = sSBeam beam.offset = 5 } if (chargebeam >= 1) { beam.sprite_index = sSBeam2 beam.offset = 8 } } if (global.ibeam == 0 && global.wbeam == 1 && global.pbeam == 0 && global.sbeam == 1) { if (chargebeam == 0) beam.sprite_index = sWBeam if (chargebeam >= 1) beam.sprite_index = sWBeam2 beam.offset = 12 } if (global.ibeam == 1 && global.wbeam == 0 && global.pbeam == 0 && global.sbeam == 1) { if (chargebeam == 0) { beam.sprite_index = sISBeam beam.image_xscale = 0.6 } if (chargebeam >= 1) { beam.sprite_index = sISBeam beam.image_xscale = 1.2 } beam.offset = 8 } if (global.ibeam == 0 && global.wbeam == 0 && global.pbeam == 1 && global.sbeam == 1) { if (chargebeam == 0) beam.sprite_index = sSPBeam if (chargebeam >= 1) beam.sprite_index = sSPBeam2 beam.offset = 8 } if (global.ibeam == 1 && global.wbeam == 1 && global.pbeam == 0 && global.sbeam == 0) { if (chargebeam == 0) beam.sprite_index = sIWBeam if (chargebeam >= 1) beam.sprite_index = sIWBeam2 beam.offset = 8 } if (global.ibeam == 0 && global.wbeam == 1 && global.pbeam == 1 && global.sbeam == 0) { if (chargebeam == 0) beam.sprite_index = sPBeam if (chargebeam >= 1) beam.sprite_index = sPBeam2 beam.offset = 8 } if (global.ibeam == 1 && global.wbeam == 0 && global.pbeam == 1 && global.sbeam == 0) { if (chargebeam == 0) { beam.sprite_index = sIPBeam beam.image_xscale = 0.6 beam.image_yscale = 0.6 } if (chargebeam >= 1) beam.sprite_index = sIPBeam beam.offset = 8 } if (global.ibeam == 1 && global.wbeam == 1 && global.pbeam == 0 && global.sbeam == 1) { if (chargebeam == 0) beam.sprite_index = sIWBeam if (chargebeam >= 1) beam.sprite_index = sIWBeam2 beam.offset = 8 } if (global.ibeam == 0 && global.wbeam == 1 && global.pbeam == 1 && global.sbeam == 1) { if (chargebeam == 0) beam.sprite_index = sPBeam if (chargebeam >= 1) beam.sprite_index = sPBeam2 beam.offset = 8 } if (global.ibeam == 1 && global.wbeam == 0 && global.pbeam == 1 && global.sbeam == 1) { if (chargebeam == 0) beam.sprite_index = sISPBeam if (chargebeam >= 1) beam.sprite_index = sISPBeam2 beam.offset = 8 } if (global.ibeam == 1 && global.wbeam == 1 && global.pbeam == 1 && global.sbeam == 0) { if (chargebeam == 0) { beam.sprite_index = sIPBeam beam.image_xscale = 0.6 beam.image_yscale = 0.6 } if (chargebeam >= 1) beam.sprite_index = sIPBeam beam.offset = 8 } if (global.ibeam == 1 && global.wbeam == 1 && global.pbeam == 1 && global.sbeam == 1) { if (chargebeam == 0) beam.sprite_index = sISWPBeam if (chargebeam >= 1) beam.sprite_index = sISWPBeam2 beam.offset = 8 } with (beam) { if (offset != 0) beam_offset(offset, maindir) } i += 1 } if (global.ibeam == 0 && global.wbeam == 0 && global.pbeam == 0 && global.sbeam == 0) { if (chargebeam == 0) PlaySoundMono(sndFireBeam) if (chargebeam >= 1) PlaySoundMono(sndFireBeamC) } if (global.ibeam == 0 && global.wbeam == 1 && global.pbeam == 0 && global.sbeam == 0) { if (chargebeam == 0) PlaySoundMono(sndFireBeamW) if (chargebeam >= 1) PlaySoundMono(sndFireBeamCW) } if (global.ibeam == 1 && global.wbeam == 0 && global.pbeam == 0 && global.sbeam == 0) { if (chargebeam == 0) PlaySoundMono(sndFireBeamI) if (chargebeam >= 1) PlaySoundMono(sndFireBeamCI) } if (global.ibeam == 0 && global.wbeam == 0 && global.pbeam == 1 && global.sbeam == 0) { if (chargebeam == 0) PlaySoundMono(sndFireBeamP) if (chargebeam >= 1) PlaySoundMono(sndFireBeamCP) } if (global.ibeam == 0 && global.wbeam == 0 && global.pbeam == 0 && global.sbeam == 1) { if (chargebeam == 0) PlaySoundMono(sndFireBeamS) if (chargebeam >= 1) PlaySoundMono(sndFireBeamCS) } if (global.ibeam == 0 && global.wbeam == 1 && global.pbeam == 0 && global.sbeam == 1) { if (chargebeam == 0) PlaySoundMono(sndFireBeamSW) if (chargebeam >= 1) PlaySoundMono(sndFireBeamCSW) } if (global.ibeam == 1 && global.wbeam == 0 && global.pbeam == 0 && global.sbeam == 1) { if (chargebeam == 0) PlaySoundMono(sndFireBeamSI) if (chargebeam >= 1) PlaySoundMono(sndFireBeamCSI) } if (global.ibeam == 0 && global.wbeam == 0 && global.pbeam == 1 && global.sbeam == 1) { if (chargebeam == 0) PlaySoundMono(sndFireBeamSP) if (chargebeam >= 1) PlaySoundMono(sndFireBeamCSP) } if (global.ibeam == 1 && global.wbeam == 1 && global.pbeam == 0 && global.sbeam == 0) { if (chargebeam == 0) PlaySoundMono(sndFireBeamWI) if (chargebeam >= 1) PlaySoundMono(sndFireBeamCWI) } if (global.ibeam == 0 && global.wbeam == 1 && global.pbeam == 1 && global.sbeam == 0) { if (chargebeam == 0) PlaySoundMono(sndFireBeamWP) if (chargebeam >= 1) PlaySoundMono(sndFireBeamCWP) } if (global.ibeam == 1 && global.wbeam == 0 && global.pbeam == 1 && global.sbeam == 0) { if (chargebeam == 0) PlaySoundMono(sndFireBeamIP) if (chargebeam >= 1) PlaySoundMono(sndFireBeamCIP) } if (global.ibeam == 1 && global.wbeam == 1 && global.pbeam == 0 && global.sbeam == 1) { if (chargebeam == 0) PlaySoundMono(sndFireBeamSWI) if (chargebeam == 1) PlaySoundMono(sndFireBeamCSWI) } if (global.ibeam == 0 && global.wbeam == 1 && global.pbeam == 1 && global.sbeam == 1) { if (chargebeam == 0) PlaySoundMono(sndFireBeamSWP) if (chargebeam >= 1) PlaySoundMono(sndFireBeamCSWP) } if (global.ibeam == 1 && global.wbeam == 0 && global.pbeam == 1 && global.sbeam == 1) { if (chargebeam == 0) PlaySoundMono(sndFireBeamSIP) if (chargebeam >= 1) PlaySoundMono(sndFireBeamCSIP) } if (global.ibeam == 1 && global.wbeam == 1 && global.pbeam == 1 && global.sbeam == 0) { if (chargebeam == 0) PlaySoundMono(sndFireBeamWIP) if (chargebeam >= 1) PlaySoundMono(sndFireBeamCWIP) } if (global.ibeam == 1 && global.wbeam == 1 && global.pbeam == 1 && global.sbeam == 1) { if (chargebeam == 0) PlaySoundMono(sndFireBeamSWIP) if (chargebeam >= 1) PlaySoundMono(sndFireBeamCSWIP) } if instance_exists(oClient) { if (ds_list_size(oClient.roomListData) > 0) { size = 1024 type = buffer_grow alignment = 1 beamBuffer = buffer_create(size, type, alignment) buffer_seek(beamBuffer, buffer_seek_start, 0) buffer_write(beamBuffer, buffer_u8, 21) buffer_write(beamBuffer, buffer_u8, global.clientID) buffer_write(beamBuffer, buffer_s16, argument0) buffer_write(beamBuffer, buffer_s16, beamX) buffer_write(beamBuffer, buffer_s16, beamY) buffer_write(beamBuffer, buffer_u8, chargebeam) buffer_write(beamBuffer, buffer_u8, global.sax) bufferSize = buffer_tell(beamBuffer) buffer_seek(beamBuffer, buffer_seek_start, 0) buffer_write(beamBuffer, buffer_s32, bufferSize) buffer_write(beamBuffer, buffer_u8, 21) buffer_write(beamBuffer, buffer_u8, global.clientID) buffer_write(beamBuffer, buffer_s16, argument0) buffer_write(beamBuffer, buffer_s16, beamX) buffer_write(beamBuffer, buffer_s16, beamY) buffer_write(beamBuffer, buffer_u8, chargebeam) buffer_write(beamBuffer, buffer_u8, global.sax) result = network_send_packet(oClient.socket, beamBuffer, buffer_tell(beamBuffer)) buffer_delete(beamBuffer) } }