I'm having problems with these CreateShots.
CreateShot01(Obj_GetX(redbeam)*cos(Obj_GetAngle(redbeam))*l*ObjLaser_GetLength(redbeam)/7,Obj_GetY(redbeam)*sin(Obj_GetAngle(redbeam))*l*ObjLaser_GetLength(redbeam)/7,0.6,Obj_GetAngle(redbeam)+90,RED05,10);
CreateShot01(Obj_GetX(redbeam)*cos(Obj_GetAngle(redbeam))*l*ObjLaser_GetLength(redbeam)/7,Obj_GetY(redbeam)*sin(Obj_GetAngle(redbeam))*l*ObjLaser_GetLength(redbeam)/7,0.6,Obj_GetAngle(redbeam)-90,RED05,10);
CreateShot01(Obj_GetX(bluebeam)*cos(Obj_GetAngle(bluebeam))*l*ObjLaser_GetLength(bluebeam)/7,Obj_GetY(bluebeam)*sin(Obj_GetAngle(bluebeam))*l*ObjLaser_GetLength(bluebeam)/7,0.6,Obj_GetAngle(bluebeam)+90,BLUE05,10);
CreateShot01(Obj_GetX(bluebeam)*cos(Obj_GetAngle(bluebeam))*l*ObjLaser_GetLength(bluebeam)/7,Obj_GetY(bluebeam)*sin(Obj_GetAngle(bluebeam))*l*ObjLaser_GetLength(bluebeam)/7,0.6,Obj_GetAngle(bluebeam)-90,BLUE05,10);
CreateShot01(Obj_GetX(greenbeam)*cos(Obj_GetAngle(greenbeam))*l*ObjLaser_GetLength(greenbeam)/7,Obj_GetY(greenbeam)*sin(Obj_GetAngle(greenbeam))*l*ObjLaser_GetLength(greenbeam)/7,0.6,Obj_GetAngle(greenbeam)+90,GREEN05,10);
CreateShot01(Obj_GetX(greenbeam)*cos(Obj_GetAngle(greenbeam))*l*ObjLaser_GetLength(greenbeam)/7,Obj_GetY(greenbeam)*sin(Obj_GetAngle(greenbeam))*l*ObjLaser_GetLength(greenbeam)/7,0.6,Obj_GetAngle(greenbeam)-90,GREEN05,10);
Right now they spawn ludicrously far away from the actual lasers, which have carefully manipulated dynamic angles, lengths, and base positions.
They're in an Ascent loop of l in 2..5 (will be changed to 1..5 and all instances of 7 changed to 6), and here's how the lasers operate:
(image to come)
The lasers are color coded. redbeam is aimed at the source of greenbeam. bluebeam is aimed at the source of redbeam. greenbeam is aimed at the source of bluebeam.