You've already forked AM2R-Community-Updates
mirror of
https://github.com/izzy2lost/AM2R-Community-Updates.git
synced 2026-03-10 11:23:35 -07:00
244 lines
9.5 KiB
Plaintext
244 lines
9.5 KiB
Plaintext
/// shoot_beam(direction)
|
|
if (chargebeam < 1) chargebeam = 0;
|
|
instance_create(x + aspr2x, y + aspr2y, oMflash);
|
|
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.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;
|
|
} // repeat (beams)
|
|
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);
|
|
}
|