You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
274 lines
9.3 KiB
274 lines
9.3 KiB
/// shoot_beam_receive(aspr2x, aspr2y, direction, charge, sax, clientID)
|
|
if (argument3 < 1) argument3 = 0;
|
|
/*
|
|
7 = ibeam;
|
|
8 = wbeam;
|
|
9 = pbeam;
|
|
10 = sbeam;
|
|
*/
|
|
var ibeam = global.ibeam;
|
|
var wbeam = global.wbeam;
|
|
var pbeam = global.pbeam;
|
|
var sbeam = global.sbeam;
|
|
for(var i=0; i<ds_list_size(global.otherPlayerItems); i++){
|
|
var tempArr = global.otherPlayerItems[| i];
|
|
var ID = tempArr[0];
|
|
if(ID == argument5){
|
|
ibeam = tempArr[7];
|
|
wbeam = tempArr[8];
|
|
pbeam = tempArr[9];
|
|
sbeam = tempArr[10];
|
|
}
|
|
}
|
|
|
|
flash = instance_create(argument0, argument1, oMflashMulti);
|
|
beams = 1;
|
|
|
|
flash.ibeam = ibeam;
|
|
flash.wbeam = wbeam;
|
|
flash.pbeam = pbeam;
|
|
|
|
if (wbeam) flash.sprite_index = sWMflash;
|
|
if (pbeam) flash.sprite_index = sPMflash;
|
|
if (ibeam) flash.sprite_index = sIMflash;
|
|
|
|
if (wbeam && !sbeam && argument3 >= 1) beams = 2;
|
|
if (sbeam) beams = 3;
|
|
i = 0;
|
|
repeat (beams) {
|
|
beam = instance_create(argument0, argument1, oBeam);
|
|
beam.sax = argument4;
|
|
beam.myid = argument5;
|
|
beam.ibeam = ibeam;
|
|
beam.wbeam = wbeam;
|
|
beam.pbeam = pbeam;
|
|
beam.sbeam = sbeam;
|
|
beam.beamid = i;
|
|
beam.direction = argument2;
|
|
beam.maindir = argument2;
|
|
beam.speed = 6.4;
|
|
beam.offset = 0;
|
|
beam.chargebeam = argument3;
|
|
if (wbeam) {
|
|
global.wbdir = !global.wbdir;
|
|
beam.wbeamdir = global.wbdir;
|
|
beam.speed = 9;
|
|
beam.depth = -1000;
|
|
}
|
|
if (ibeam) beam.alarm[0] = 1 + random(5);
|
|
if (pbeam) beam.alarm[1] = 1;
|
|
if (argument3 >= 1) beam.speed = 12;
|
|
beam.image_angle = argument2;
|
|
beam.fcolor = make_color_rgb(180, 180, 45);
|
|
if (wbeam) beam.fcolor = make_color_rgb(240, 150, 210);
|
|
if (pbeam) beam.fcolor = make_color_rgb(120, 250, 210);
|
|
if (ibeam) beam.fcolor = make_color_rgb(75, 220, 255);
|
|
beam.falpha = 0.4;
|
|
beam.fxscale = 0.6;
|
|
beam.fyscale = 0.6;
|
|
if (sbeam) beam.fxscale = 0.8;
|
|
if (argument3 >= 1) {
|
|
beam.fxscale = 1;
|
|
beam.fyscale = 1;
|
|
}
|
|
beam.damage = 5;
|
|
beam.chargebeam = 0;
|
|
if (wbeam) {
|
|
beam.damage *= 0.6;
|
|
}
|
|
if (ibeam) {
|
|
beam.damage *= 1;
|
|
}
|
|
if (sbeam) {
|
|
beam.damage *= 1.5;
|
|
}
|
|
if (pbeam) {
|
|
beam.damage *= 1;
|
|
}
|
|
if (argument3 >= 1) {
|
|
beam.damage *= 3;
|
|
beam.chargebeam = 1;
|
|
if (wbeam && !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 (ibeam == 0 && wbeam == 0 && pbeam == 0 && sbeam == 0) {
|
|
if (argument3 == 0) beam.sprite_index = sBeam;
|
|
if (argument3 >= 1) {
|
|
beam.sprite_index = sBeam2;
|
|
beam.offset = 4;
|
|
}
|
|
}
|
|
if (ibeam == 0 && wbeam == 1 && pbeam == 0 && sbeam == 0) {
|
|
if (argument3 == 0) beam.sprite_index = sWBeam;
|
|
if (argument3 >= 1) beam.sprite_index = sWBeam2;
|
|
beam.offset = 10;
|
|
}
|
|
if (ibeam == 1 && wbeam == 0 && pbeam == 0 && sbeam == 0) {
|
|
if (argument3 == 0) beam.sprite_index = sIBeam;
|
|
if (argument3 >= 1) {
|
|
beam.sprite_index = sIBeam2;
|
|
beam.image_xscale = 1.4;
|
|
}
|
|
}
|
|
if (ibeam == 0 && wbeam == 0 && pbeam == 1 && sbeam == 0) {
|
|
if (argument3 == 0) beam.sprite_index = sPBeam;
|
|
if (argument3 >= 1) beam.sprite_index = sPBeam2;
|
|
beam.offset = 4;
|
|
}
|
|
if (ibeam == 0 && wbeam == 0 && pbeam == 0 && sbeam == 1) {
|
|
if (argument3 == 0) {
|
|
beam.sprite_index = sSBeam;
|
|
beam.offset = 5;
|
|
}
|
|
if (argument3 >= 1) {
|
|
beam.sprite_index = sSBeam2;
|
|
beam.offset = 8;
|
|
}
|
|
}
|
|
if (ibeam == 0 && wbeam == 1 && pbeam == 0 && sbeam == 1) {
|
|
if (argument3 == 0) beam.sprite_index = sWBeam;
|
|
if (argument3 >= 1) beam.sprite_index = sWBeam2;
|
|
beam.offset = 12;
|
|
}
|
|
if (ibeam == 1 && wbeam == 0 && pbeam == 0 && sbeam == 1) {
|
|
if (argument3 == 0) {
|
|
beam.sprite_index = sISBeam;
|
|
beam.image_xscale = 0.6;
|
|
}
|
|
if (argument3 >= 1) {
|
|
beam.sprite_index = sISBeam;
|
|
beam.image_xscale = 1.2;
|
|
}
|
|
beam.offset = 8;
|
|
}
|
|
if (ibeam == 0 && wbeam == 0 && pbeam == 1 && sbeam == 1) {
|
|
if (argument3 == 0) beam.sprite_index = sSPBeam;
|
|
if (argument3 >= 1) beam.sprite_index = sSPBeam2;
|
|
beam.offset = 8;
|
|
}
|
|
if (ibeam == 1 && wbeam == 1 && pbeam == 0 && sbeam == 0) {
|
|
if (argument3 == 0) beam.sprite_index = sIWBeam;
|
|
if (argument3 >= 1) beam.sprite_index = sIWBeam2;
|
|
beam.offset = 8;
|
|
}
|
|
if (ibeam == 0 && wbeam == 1 && pbeam == 1 && sbeam == 0) {
|
|
if (argument3 == 0) beam.sprite_index = sPBeam;
|
|
if (argument3 >= 1) beam.sprite_index = sPBeam2;
|
|
beam.offset = 8;
|
|
}
|
|
if (ibeam == 1 && wbeam == 0 && pbeam == 1 && sbeam == 0) {
|
|
if (argument3 == 0) {
|
|
beam.sprite_index = sIPBeam;
|
|
beam.image_xscale = 0.6;
|
|
beam.image_yscale = 0.6;
|
|
}
|
|
if (argument3 >= 1) beam.sprite_index = sIPBeam;
|
|
beam.offset = 8;
|
|
}
|
|
if (ibeam == 1 && wbeam == 1 && pbeam == 0 && sbeam == 1) {
|
|
if (argument3 == 0) beam.sprite_index = sIWBeam;
|
|
if (argument3 >= 1) beam.sprite_index = sIWBeam2;
|
|
beam.offset = 8;
|
|
}
|
|
if (ibeam == 0 && wbeam == 1 && pbeam == 1 && sbeam == 1) {
|
|
if (argument3 == 0) beam.sprite_index = sPBeam;
|
|
if (argument3 >= 1) beam.sprite_index = sPBeam2;
|
|
beam.offset = 8;
|
|
}
|
|
if (ibeam == 1 && wbeam == 0 && pbeam == 1 && sbeam == 1) {
|
|
if (argument3 == 0) beam.sprite_index = sISPBeam;
|
|
if (argument3 >= 1) beam.sprite_index = sISPBeam2;
|
|
beam.offset = 8;
|
|
}
|
|
if (ibeam == 1 && wbeam == 1 && pbeam == 1 && sbeam == 0) {
|
|
if (argument3 == 0) {
|
|
beam.sprite_index = sIPBeam;
|
|
beam.image_xscale = 0.6;
|
|
beam.image_yscale = 0.6;
|
|
}
|
|
if (argument3 >= 1) beam.sprite_index = sIPBeam;
|
|
beam.offset = 8;
|
|
}
|
|
if (ibeam == 1 && wbeam == 1 && pbeam == 1 && sbeam == 1) {
|
|
if (argument3 == 0) beam.sprite_index = sISWPBeam;
|
|
if (argument3 >= 1) beam.sprite_index = sISWPBeam2;
|
|
beam.offset = 8;
|
|
}
|
|
with (beam) if (offset != 0) beam_offset(offset, maindir);
|
|
i += 1;
|
|
} // repeat (beams)
|
|
if (ibeam == 0 && wbeam == 0 && pbeam == 0 && sbeam == 0) {
|
|
if (argument3 == 0) PlaySoundMono(sndFireBeam);
|
|
if (argument3 >= 1) PlaySoundMono(sndFireBeamC);
|
|
}
|
|
if (ibeam == 0 && wbeam == 1 && pbeam == 0 && sbeam == 0) {
|
|
if (argument3 == 0) PlaySoundMono(sndFireBeamW);
|
|
if (argument3 >= 1) PlaySoundMono(sndFireBeamCW);
|
|
}
|
|
if (ibeam == 1 && wbeam == 0 && pbeam == 0 && sbeam == 0) {
|
|
if (argument3 == 0) PlaySoundMono(sndFireBeamI);
|
|
if (argument3 >= 1) PlaySoundMono(sndFireBeamCI);
|
|
}
|
|
if (ibeam == 0 && wbeam == 0 && pbeam == 1 && sbeam == 0) {
|
|
if (argument3 == 0) PlaySoundMono(sndFireBeamP);
|
|
if (argument3 >= 1) PlaySoundMono(sndFireBeamCP);
|
|
}
|
|
if (ibeam == 0 && wbeam == 0 && pbeam == 0 && sbeam == 1) {
|
|
if (argument3 == 0) PlaySoundMono(sndFireBeamS);
|
|
if (argument3 >= 1) PlaySoundMono(sndFireBeamCS);
|
|
}
|
|
if (ibeam == 0 && wbeam == 1 && pbeam == 0 && sbeam == 1) {
|
|
if (argument3 == 0) PlaySoundMono(sndFireBeamSW);
|
|
if (argument3 >= 1) PlaySoundMono(sndFireBeamCSW);
|
|
}
|
|
if (ibeam == 1 && wbeam == 0 && pbeam == 0 && sbeam == 1) {
|
|
if (argument3 == 0) PlaySoundMono(sndFireBeamSI);
|
|
if (argument3 >= 1) PlaySoundMono(sndFireBeamCSI);
|
|
}
|
|
if (ibeam == 0 && wbeam == 0 && pbeam == 1 && sbeam == 1) {
|
|
if (argument3 == 0) PlaySoundMono(sndFireBeamSP);
|
|
if (argument3 >= 1) PlaySoundMono(sndFireBeamCSP);
|
|
}
|
|
if (ibeam == 1 && wbeam == 1 && pbeam == 0 && sbeam == 0) {
|
|
if (argument3 == 0) PlaySoundMono(sndFireBeamWI);
|
|
if (argument3 >= 1) PlaySoundMono(sndFireBeamCWI);
|
|
}
|
|
if (ibeam == 0 && wbeam == 1 && pbeam == 1 && sbeam == 0) {
|
|
if (argument3 == 0) PlaySoundMono(sndFireBeamWP);
|
|
if (argument3 >= 1) PlaySoundMono(sndFireBeamCWP);
|
|
}
|
|
if (ibeam == 1 && wbeam == 0 && pbeam == 1 && sbeam == 0) {
|
|
if (argument3 == 0) PlaySoundMono(sndFireBeamIP);
|
|
if (argument3 >= 1) PlaySoundMono(sndFireBeamCIP);
|
|
}
|
|
if (ibeam == 1 && wbeam == 1 && pbeam == 0 && sbeam == 1) {
|
|
if (argument3 == 0) PlaySoundMono(sndFireBeamSWI);
|
|
if (argument3 == 1) PlaySoundMono(sndFireBeamCSWI);
|
|
}
|
|
if (ibeam == 0 && wbeam == 1 && pbeam == 1 && sbeam == 1) {
|
|
if (argument3 == 0) PlaySoundMono(sndFireBeamSWP);
|
|
if (argument3 >= 1) PlaySoundMono(sndFireBeamCSWP);
|
|
}
|
|
if (ibeam == 1 && wbeam == 0 && pbeam == 1 && sbeam == 1) {
|
|
if (argument3 == 0) PlaySoundMono(sndFireBeamSIP);
|
|
if (argument3 >= 1) PlaySoundMono(sndFireBeamCSIP);
|
|
}
|
|
if (ibeam == 1 && wbeam == 1 && pbeam == 1 && sbeam == 0) {
|
|
if (argument3 == 0) PlaySoundMono(sndFireBeamWIP);
|
|
if (argument3 >= 1) PlaySoundMono(sndFireBeamCWIP);
|
|
}
|
|
if (ibeam == 1 && wbeam == 1 && pbeam == 1 && sbeam == 1) {
|
|
if (argument3 == 0) PlaySoundMono(sndFireBeamSWIP);
|
|
if (argument3 >= 1) PlaySoundMono(sndFireBeamCSWIP);
|
|
}
|