script_enemy_main
{	
	let imgKilga = GetCurrentScriptDirectory ~ "img/genie/kilgagenie.png";
	let imgbosd = GetCurrentScriptDirectory ~ "img/bosd.png";
	let RUA = GetCurrentScriptDirectory ~ "img/ALWAYS.png";
	
	let frame = 0;
	let size = 0.5;
	
	@Initialize
	{
		LoadGraphic(imgKilga);
		LoadGraphic(imgbosd);
		LoadGraphic(RUA);
		
		SetLife(1);
		SetTimer(104);
		MagicCircle(false);
		
		PlayMusic(GetCurrentScriptDirectory ~ "bgm/Snow Goose (oh god what mix).wav");
		SetMovePosition02(GetCenterX+1000, GetCenterY+1550, 90);
	}
	
	@MainLoop
	{
		frame++;
		
		if(frame<90){size+=0.1}
		if(frame==90||frame==4985){LASEREYESBITCH;}
		if(frame==430){fifteen;}
		if(frame==810){hammerlasers;}
		if(frame==1380){borderlasers;}
		if(frame==2562||frame==4285){sweepinglasers;}
		if(frame==3110){fallingspreadlasers;}
		if(frame==5340){borderfifteen;}
		if(frame==5730){KIRADIES;}
		
		yield;
	}
	
	@DrawLoop
	{
		if(frame<5790)
		{
			SetTexture(imgKilga);
			SetGraphicRect(0, 0, 369, 441);
			SetGraphicScale(size, size);
			DrawGraphic(GetX, GetY);
		}
		if(frame==6000)
		{
			let obj1 = Obj_Create(OBJ_EFFECT);
			ObjEffect_SetTexture(obj1, imgbosd);
			Obj_SetX(obj1, GetCenterX);
			Obj_SetY(obj1, GetCenterY);
			ObjEffect_SetPrimitiveType(obj1, PRIMITIVE_TRIANGLEFAN);
			ObjEffect_CreateVertex(obj1, 4);
			ObjEffect_SetVertexUV(obj1, 0, 0, 0);
			ObjEffect_SetVertexUV(obj1, 1, 499, 0);
			ObjEffect_SetVertexUV(obj1, 2, 499, 499);
			ObjEffect_SetVertexUV(obj1, 3, 0, 499);
			ObjEffect_SetVertexXY(obj1, 0, -255, -255);
			ObjEffect_SetVertexXY(obj1, 1, 255, -255);
			ObjEffect_SetVertexXY(obj1, 2, 255, 255);
			ObjEffect_SetVertexXY(obj1, 3, -255, 255);
			
			let sex = Obj_Create(OBJ_EFFECT);
			ObjEffect_SetTexture(sex, RUA);
			Obj_SetX(sex, GetCenterX);
			Obj_SetY(sex, GetCenterY);
			ObjEffect_SetPrimitiveType(sex, PRIMITIVE_TRIANGLEFAN);
			ObjEffect_CreateVertex(sex, 4);
			ObjEffect_SetVertexUV(sex, 0, 0, 0);
			ObjEffect_SetVertexUV(sex, 1, 394, 0);
			ObjEffect_SetVertexUV(sex, 2, 394, 298);
			ObjEffect_SetVertexUV(sex, 3, 0, 298);
			ObjEffect_SetVertexXY(sex, 0, -130, -98);
			ObjEffect_SetVertexXY(sex, 1, 130, -98);
			ObjEffect_SetVertexXY(sex, 2, 130, 98);
			ObjEffect_SetVertexXY(sex, 3, -130, 98);
		}
	}
	
	@Finalize
	{
		DeleteMusic(GetCurrentScriptDirectory ~ "bgm/Snow Goose (oh god what mix).wav");
	}
	
	function Wait(frames) //Everyone needs this badboy
	{
		loop(frames){yield;}
	}
	
	task LASEREYESBITCH
	{
		CreateLaserA(0, 150, 120, 1000, 200, RED12, 60);
		SetLaserDataA(0, 0, atan2(GetPlayerY - 120, GetPlayerX - 150), 0, 0, 0, 0);
		SetShotKillTime(0, 140);
		FireShot(0);
		CreateLaserA(0, 300, 60, 1000, 200, RED12, 60);
		SetLaserDataA(0, 0, atan2(GetPlayerY - 60, GetPlayerX - 300), 0, 0, 0, 0);
		SetShotKillTime(0, 140);
		FireShot(0);
		Wait(140);
		CreateLaserA(0, 150, 120, 1000, 400, RED12, 60);
		SetLaserDataA(0, 0, atan2(GetPlayerY - 120, GetPlayerX - 150), 0, 0, 0, 0);
		SetShotKillTime(0, 140);
		FireShot(0);
		CreateLaserA(0, 300, 60, 1000, 400, RED12, 60);
		SetLaserDataA(0, 0, atan2(GetPlayerY - 60, GetPlayerX - 300), 0, 0, 0, 0);
		SetShotKillTime(0, 140);
		FireShot(0);
		Wait(140);
		CreateLaserA(0, 150, 120, 666, 500, RED12, 35);
		SetLaserDataA(0, 0, rand(135, 405), 0, 0, 0, 0); //derp
		SetShotKillTime(0, 70);
		FireShot(0);
		CreateLaserA(0, 300, 60, 666, 500, RED12, 35);
		SetLaserDataA(0, 0, rand(135, 405), 0, 0, 0, 0); //ahahaha oh god
		SetShotKillTime(0, 70);
		FireShot(0);
		Wait(68);
		
		CreateLaserA(0, 150, 120, 1000, 100, RED12, 35);
		SetLaserDataA(0, 0, atan2(GetPlayerY - 120, GetPlayerX - 150), 0, 0, 0, 0);
		SetShotKillTime(0, 75);
		FireShot(0);
		CreateLaserA(0, 300, 60, 1000, 100, RED12, 35);
		SetLaserDataA(0, 0, atan2(GetPlayerY - 60, GetPlayerX - 300), 0, 0, 0, 0);
		SetShotKillTime(0, 75);
		FireShot(0);
		Wait(75);
		CreateLaserA(0, 150, 120, 1000, 100, RED12, 35);
		SetLaserDataA(0, 0, atan2(GetPlayerY - 120, GetPlayerX - 150), 0, 0, 0, 0);
		SetShotKillTime(0, 75);
		FireShot(0);
		CreateLaserA(0, 300, 60, 1000, 100, RED12, 35);
		SetLaserDataA(0, 0, atan2(GetPlayerY - 60, GetPlayerX - 300), 0, 0, 0, 0);
		SetShotKillTime(0, 75);
		FireShot(0);
		Wait(75);
		CreateLaserA(0, 150, 120, 1000, 100, RED12, 35);
		SetLaserDataA(0, 0, atan2(GetPlayerY - 120, GetPlayerX - 150), 0, 0, 0, 0);
		SetShotKillTime(0, 75);
		FireShot(0);
		CreateLaserA(0, 300, 60, 1000, 100, RED12, 35);
		SetLaserDataA(0, 0, atan2(GetPlayerY - 60, GetPlayerX - 300), 0, 0, 0, 0);
		SetShotKillTime(0, 75);
		FireShot(0);
		Wait(75);
		CreateLaserA(0, 150, 120, 1000, 200, RED12, 70);
		SetLaserDataA(0, 0, atan2(GetPlayerY - 120, GetPlayerX - 150), 0, 0, 0, 0);
		SetShotKillTime(0, 140);
		FireShot(0);
		CreateLaserA(0, 300, 60, 1000, 200, RED12, 70);
		SetLaserDataA(0, 0, atan2(GetPlayerY - 60, GetPlayerX - 300), 0, 0, 0, 0);
		SetShotKillTime(0, 140);
		FireShot(0);
		
	}
	
	task fifteen //TEEN! TEEN! TEEN! TEEN!
	{
		ascent(r in 0..20)
		{
			ascent(i in 0..30)
			{
				CreateLaser01(150, 120, 4, 360/30*i+r*4, 80, 7, PURPLE01, 10);
				CreateLaser01(300, 60, 4, 360/30*i-r*4, 80, 7, PURPLE01, 10);
			}
		Wait(15);//lol fifteen IT'S PAFEKUTO!
		}
	}
	
	task hammerlasers
	{
		let s = 2.5;
		CreateLaserA(0, 0, 448, 110, 11, RED01, 0);
		SetLaserDataA(0, 0, 270, 15, 0, s, 0);
		SetLaserDataA(0, 10, NULL, -15, 0, s, 0);
		SetLaserDataA(0, 20, NULL, 15, 0, s, 0);
		SetLaserDataA(0, 30, NULL, -15, 0, s, 0);
		SetLaserDataA(0, 40, NULL, 15, 0, s, 0);
		SetLaserDataA(0, 50, NULL, -15, 0, s, 0);
		SetLaserDataA(0, 60, NULL, 15, 0, s, 0);
		SetLaserDataA(0, 70, NULL, -15, 0, s, 0);
		SetLaserDataA(0, 80, NULL, 15, 0, s, 0);
		SetLaserDataA(0, 90, NULL, -15, 0, s, 0);
		SetLaserDataA(0, 100, NULL, 15, 0, s, 0);
		SetLaserDataA(0, 110, NULL, -15, 0, s, 0);
		SetLaserDataA(0, 120, NULL, 15, 0, s, 0);
		SetLaserDataA(0, 130, NULL, -15, 0, s, 0);
		SetLaserDataA(0, 140, NULL, 15, 0, s, 0);
		SetLaserDataA(0, 150, NULL, -15, 0, s, 0);
		SetLaserDataA(0, 160, NULL, 15, 0, s, 0);
		SetLaserDataA(0, 170, NULL, -15, 0, s, 0);
		SetLaserDataA(0, 180, NULL, 15, 0, s, 0);
		FireShot(0);
		CreateLaserA(1, 450, 336, 110, 11, RED01, 0);
		SetLaserDataA(1, 0, 270, -15, 0, -s, 0);
		SetLaserDataA(1, 10, NULL, 15, 0, -s, 0);
		SetLaserDataA(1, 20, NULL, -15, 0, -s, 0);
		SetLaserDataA(1, 30, NULL, 15, 0, -s, 0);
		SetLaserDataA(1, 40, NULL, -15, 0, -s, 0);
		SetLaserDataA(1, 50, NULL, 15, 0, -s, 0);
		SetLaserDataA(1, 60, NULL, -15, 0, -s, 0);
		SetLaserDataA(1, 70, NULL, 15, 0, -s, 0);
		SetLaserDataA(1, 80, NULL, -15, 0, -s, 0);
		SetLaserDataA(1, 90, NULL, 15, 0, -s, 0);
		SetLaserDataA(1, 100, NULL, -15, 0, -s, 0);
		SetLaserDataA(1, 110, NULL, 15, 0, -s, 0);
		SetLaserDataA(1, 120, NULL, -15, 0, -s, 0);
		SetLaserDataA(1, 130, NULL, 15, 0, -s, 0);
		SetLaserDataA(1, 140, NULL, -15, 0, -s, 0);
		SetLaserDataA(1, 150, NULL, 15, 0, -s, 0);
		SetLaserDataA(1, 160, NULL, -15, 0, -s, 0);
		SetLaserDataA(1, 170, NULL, 15, 0, -s, 0);
		SetLaserDataA(1, 180, NULL, -15, 0, -s, 0);
		FireShot(1);
		CreateLaserA(0, 0, 224, 110, 11, RED01, 0);
		SetLaserDataA(0, 0, 270, 15, 0, s, 0);
		SetLaserDataA(0, 10, NULL, -15, 0, s, 0);
		SetLaserDataA(0, 20, NULL, 15, 0, s, 0);
		SetLaserDataA(0, 30, NULL, -15, 0, s, 0);
		SetLaserDataA(0, 40, NULL, 15, 0, s, 0);
		SetLaserDataA(0, 50, NULL, -15, 0, s, 0);
		SetLaserDataA(0, 60, NULL, 15, 0, s, 0);
		SetLaserDataA(0, 70, NULL, -15, 0, s, 0);
		SetLaserDataA(0, 80, NULL, 15, 0, s, 0);
		SetLaserDataA(0, 90, NULL, -15, 0, s, 0);
		SetLaserDataA(0, 100, NULL, 15, 0, s, 0);
		SetLaserDataA(0, 110, NULL, -15, 0, s, 0);
		SetLaserDataA(0, 120, NULL, 15, 0, s, 0);
		SetLaserDataA(0, 130, NULL, -15, 0, s, 0);
		SetLaserDataA(0, 140, NULL, 15, 0, s, 0);
		SetLaserDataA(0, 150, NULL, -15, 0, s, 0);
		SetLaserDataA(0, 160, NULL, 15, 0, s, 0);
		SetLaserDataA(0, 170, NULL, -15, 0, s, 0);
		SetLaserDataA(0, 180, NULL, 15, 0, s, 0);
		FireShot(0);
		CreateLaserA(1, 450, 112, 110, 11, RED01, 0);
		SetLaserDataA(1, 0, 270, -15, 0, -s, 0);
		SetLaserDataA(1, 10, NULL, 15, 0, -s, 0);
		SetLaserDataA(1, 20, NULL, -15, 0, -s, 0);
		SetLaserDataA(1, 30, NULL, 15, 0, -s, 0);
		SetLaserDataA(1, 40, NULL, -15, 0, -s, 0);
		SetLaserDataA(1, 50, NULL, 15, 0, -s, 0);
		SetLaserDataA(1, 60, NULL, -15, 0, -s, 0);
		SetLaserDataA(1, 70, NULL, 15, 0, -s, 0);
		SetLaserDataA(1, 80, NULL, -15, 0, -s, 0);
		SetLaserDataA(1, 90, NULL, 15, 0, -s, 0);
		SetLaserDataA(1, 100, NULL, -15, 0, -s, 0);
		SetLaserDataA(1, 110, NULL, 15, 0, -s, 0);
		SetLaserDataA(1, 120, NULL, -15, 0, -s, 0);
		SetLaserDataA(1, 130, NULL, 15, 0, -s, 0);
		SetLaserDataA(1, 140, NULL, -15, 0, -s, 0);
		SetLaserDataA(1, 150, NULL, 15, 0, -s, 0);
		SetLaserDataA(1, 160, NULL, -15, 0, -s, 0);
		SetLaserDataA(1, 170, NULL, 15, 0, -s, 0);
		SetLaserDataA(1, 180, NULL, -15, 0, -s, 0);
		FireShot(1);
		Wait(70);
		if(frame<1300){hammerlasers;}
	}
	
	task borderlasers
	{
		let angle = 0;
		let angleAcc = 0;
		loop(1120)
		{
			CreateLaser01(150 + cos(angle), 120 + sin(angle), 6, angle, 150, 8, PURPLE01, 10);
			CreateLaser01(300 + cos(angle), 60 + sin(angle), 6, angle, 150, 8, PURPLE01, 10);
			angle += 360;
			angle += angleAcc;
			angleAcc += 0.1;
			Wait(1);
		}
	}
	
	task sweepinglasers
	{
		CreateLaserA(0, 150, 120, 1000, 100, RED12, 60);
		SetLaserDataA(0, 0, 145, 0, 0, 0, 0);
		SetLaserDataA(0, 15, NULL, -6, 0, 0, 0);
		SetShotKillTime(0, 30);
		FireShot(0);
		CreateLaserA(0, 300, 60, 1000, 100, RED12, 60);
		SetLaserDataA(0, 0, 145, 0, 0, 0, 0);
		SetLaserDataA(0, 15, NULL, -6, 0, 0, 0);
		SetShotKillTime(0, 30);
		FireShot(0);
		Wait(20);
		loop(30)
		{
			CreateLaserC(0, rand(0, 448), 480, 8, 30, RED01, 10);
			SetLaserDataC(0, 0, 4, -90, 0, 0, 7);
			FireShot(0);
			CreateLaserC(0, rand(0, 448), 480, 8, 30, ORANGE01, 10);
			SetLaserDataC(0, 0, 3, -90, 0, 0, 7);
			FireShot(0);
			Wait(2);
		}
		Wait(57);
		
		CreateLaserA(0, 150, 120, 1000, 100, RED12, 60);
		SetLaserDataA(0, 0, 35, 0, 0, 0, 0);
		SetLaserDataA(0, 15, NULL, 6, 0, 0, 0);
		SetShotKillTime(0, 30);
		FireShot(0);
		CreateLaserA(0, 300, 60, 1000, 100, RED12, 60);
		SetLaserDataA(0, 0, 35, 0, 0, 0, 0);
		SetLaserDataA(0, 15, NULL, 6, 0, 0, 0);
		SetShotKillTime(0, 30);
		FireShot(0);
		Wait(20);
		loop(30)
		{
			CreateLaserC(0, rand(0, 448), 480, 8, 30, RED01, 10);
			SetLaserDataC(0, 0, 4, -90, 0, 0, 7);
			FireShot(0);
			CreateLaserC(0, rand(0, 448), 480, 8, 30, ORANGE01, 10);
			SetLaserDataC(0, 0, 3, -90, 0, 0, 7);
			FireShot(0);
			Wait(2);
		}
		Wait(57);
		
		CreateLaserA(0, 150, 120, 1000, 100, RED12, 60);
		SetLaserDataA(0, 0, 145, 0, 0, 0, 0);
		SetLaserDataA(0, 15, NULL, -6, 0, 0, 0);
		SetShotKillTime(0, 30);
		FireShot(0);
		CreateLaserA(0, 300, 60, 1000, 100, RED12, 60);
		SetLaserDataA(0, 0, 145, 0, 0, 0, 0);
		SetLaserDataA(0, 15, NULL, -6, 0, 0, 0);
		SetShotKillTime(0, 30);
		FireShot(0);
		Wait(20);
		loop(30)
		{
			CreateLaserC(0, rand(0, 448), 480, 8, 30, RED01, 10);
			SetLaserDataC(0, 0, 4, -90, 0, 0, 7);
			FireShot(0);
			CreateLaserC(0, rand(0, 448), 480, 8, 30, ORANGE01, 10);
			SetLaserDataC(0, 0, 3, -90, 0, 0, 7);
			FireShot(0);
			Wait(2);
		}
		Wait(48);
		
		//Wheeeeee
		CreateLaserA(0, 150, 120, 1000, 100, RED12, 60);
		SetLaserDataA(0, 0, 145, -5, 0, 0, 0);
		SetShotKillTime(0, 20);
		FireShot(0);
		CreateLaserA(0, 300, 60, 1000, 100, RED12, 60);
		SetLaserDataA(0, 0, 145, -5, 0, 0, 0);
		SetShotKillTime(0, 20);
		FireShot(0);
		loop(10)
		{
			CreateLaserC(0, rand(0, 448), 480, 8, 40, RED01, 10);
			SetLaserDataC(0, 0, 4, -90, 0, 0, 7);
			FireShot(0);
			CreateLaserC(0, rand(0, 448), 480, 8, 40, ORANGE01, 10);
			SetLaserDataC(0, 0, 3, -90, 0, 0, 7);
			FireShot(0);
			Wait(2);
		}
		CreateLaserA(0, 150, 120, 1000, 100, RED12, 60);
		SetLaserDataA(0, 0, 35, 5, 0, 0, 0);
		SetShotKillTime(0, 20);
		FireShot(0);
		CreateLaserA(0, 300, 60, 1000, 100, RED12, 60);
		SetLaserDataA(0, 0, 35, 5, 0, 0, 0);
		SetShotKillTime(0, 20);
		FireShot(0);
		loop(10)
		{
			CreateLaserC(0, rand(0, 448), 480, 8, 30, RED01, 15);
			SetLaserDataC(0, 0, 4, -90, 0, 0, 7);
			FireShot(0);
			CreateLaserC(0, rand(0, 448), 480, 8, 30, ORANGE01, 15);
			SetLaserDataC(0, 0, 3, -90, 0, 0, 7);
			FireShot(0);
			Wait(2);
		}
		CreateLaserA(0, 150, 120, 1000, 100, RED12, 60);
		SetLaserDataA(0, 0, 145, -5, 0, 0, 0);
		SetLaserDataA(0, 15, NULL, -6, 0, 0, 0);
		SetShotKillTime(0, 20);
		FireShot(0);
		CreateLaserA(0, 300, 60, 1000, 100, RED12, 60);
		SetLaserDataA(0, 0, 145, -5, 0, 0, 0);
		SetShotKillTime(0, 20);
		FireShot(0);
		loop(10)
		{
			CreateLaserC(0, rand(0, 448), 480, 8, 30, RED01, 20);
			SetLaserDataC(0, 0, 4, -90, 0, 0, 7);
			FireShot(0);
			CreateLaserC(0, rand(0, 448), 480, 8, 30, ORANGE01, 20);
			SetLaserDataC(0, 0, 3, -90, 0, 0, 7);
			FireShot(0);
			Wait(2);
		}
		CreateLaserA(0, 150, 120, 1000, 100, RED12, 60);
		SetLaserDataA(0, 0, 35, 5, 0, 0, 0);
		SetShotKillTime(0, 20);
		FireShot(0);
		CreateLaserA(0, 300, 60, 1000, 100, RED12, 60);
		SetLaserDataA(0, 0, 35, 5, 0, 0, 0);
		SetShotKillTime(0, 20);
		FireShot(0);
		loop(10)
		{
			CreateLaserC(0, rand(0, 448), 480, 8, 30, RED01, 25);
			SetLaserDataC(0, 0, 5, -90, 0, 0, 7);
			FireShot(0);
			CreateLaserC(0, rand(0, 448), 480, 8, 30, ORANGE01, 25);
			SetLaserDataC(0, 0, 4, -90, 0, 0, 7);
			FireShot(0);
			Wait(2);
		}
		CreateLaserA(0, 150, 120, 1000, 100, RED12, 60);
		SetLaserDataA(0, 0, 145, -5, 0, 0, 0);
		SetLaserDataA(0, 15, NULL, -6, 0, 0, 0);
		SetShotKillTime(0, 20);
		FireShot(0);
		CreateLaserA(0, 300, 60, 1000, 100, RED12, 60);
		SetLaserDataA(0, 0, 145, -5, 0, 0, 0);
		SetShotKillTime(0, 20);
		FireShot(0);
		loop(10)
		{
			CreateLaserC(0, rand(0, 448), 480, 8, 30, RED01, 30);
			SetLaserDataC(0, 0, 5, -90, 0, 0, 7);
			FireShot(0);
			CreateLaserC(0, rand(0, 448), 480, 8, 30, ORANGE01, 30);
			SetLaserDataC(0, 0, 4, -90, 0, 0, 7);
			FireShot(0);
			Wait(2);
		}
		CreateLaserA(0, 150, 120, 1000, 100, RED12, 60);
		SetLaserDataA(0, 0, 35, 5, 0, 0, 0);
		SetShotKillTime(0, 20);
		FireShot(0);
		CreateLaserA(0, 300, 60, 1000, 100, RED12, 60);
		SetLaserDataA(0, 0, 35, 5, 0, 0, 0);
		SetShotKillTime(0, 20);
		FireShot(0);
	}
	
	task fallingspreadlasers
	{
		let r1 = rand(0, 40);
		let r2 = 0;
		ascent(i in 0..10)
		{
			ascent(i in 0..15)
			{
				CreateLaser01(50, r2, 4, 360/15*i+r1, 70, 10, RED01, 5);
			}
			r2+=50;
			Wait(6);
		}
		let r1 = rand(0, 40);
		let r2 = 0;
		ascent(i in 0..10)
		{
			ascent(i in 0..15)
			{
				CreateLaser01(398, r2, 4, 360/15*i+r1, 70, 10, BLUE01, 5);
			}
			r2+=50;
			Wait(6);
		}
		Wait(75);
		let r1 = rand(0, 40);
		let r2 = 0;
		ascent(i in 0..10)
		{
			ascent(i in 0..15)
			{
				CreateLaser01(50, r2, 4, 360/15*i+r1, 70, 10, RED01, 5);
				CreateLaser01(398, r2, 4, 360/15*i+r1, 70, 10, BLUE01, 5);
			}
			r2+=50;
			Wait(5);
		}
		Wait(60);
		let r1 = rand(0, 40);
		let r2 = 450;
		ascent(i in 0..10)
		{
			ascent(i in 0..15)
			{
				CreateLaser01(50, r2, 4, 360/15*i+r1, 70, 10, RED01, 5);
			}
			r2-=50;
			Wait(6);
		}
		let r1 = rand(0, 40);
		let r2 = 450;
		ascent(i in 0..10)
		{
			ascent(i in 0..15)
			{
				CreateLaser01(398, r2, 4, 360/15*i+r1, 70, 10, BLUE01, 5);
			}
			r2-=50;
			Wait(6);
		}
		Wait(70);
		let r1 = rand(0, 40);
		let r2 = 450;
		ascent(i in 0..10)
		{
			ascent(i in 0..15)
			{
				CreateLaser01(50, r2, 4, 360/15*i+r1, 70, 10, RED01, 5);
				CreateLaser01(398, r2, 4, 360/15*i+r1, 70, 10, BLUE01, 5);
			}
			r2-=50;
			Wait(5);
		}
		Wait(20);
		let r1 = rand(0, 40);
		let r2 = 0;
		ascent(i in 0..10)
		{
			ascent(i in 0..15)
			{
				CreateLaser01(50, r2, 4, 360/15*i+r1, 70, 10, RED01, 5);
			}
			r2+=50;
			Wait(6);
		}
		let r1 = rand(0, 40);
		let r2 = 0;
		ascent(i in 0..10)
		{
			ascent(i in 0..15)
			{
				CreateLaser01(398, r2, 4, 360/15*i+r1, 70, 10, BLUE01, 5);
			}
			r2+=50;
			Wait(6);
		}
		Wait(75);
		let r1 = rand(0, 40);
		let r2 = 0;
		ascent(i in 0..10)
		{
			ascent(i in 0..15)
			{
				CreateLaser01(50, r2, 4, 360/15*i+r1, 70, 10, RED01, 5);
				CreateLaser01(398, r2, 4, 360/15*i+r1, 70, 10, BLUE01, 5);
			}
			r2+=50;
			Wait(5);
		}
		Wait(60);
		let r1 = rand(0, 40);
		let r2 = 450;
		ascent(i in 0..10)
		{
			ascent(i in 0..15)
			{
				CreateLaser01(50, r2, 4, 360/15*i+r1, 70, 10, RED01, 5);
			}
			r2-=50;
			Wait(6);
		}
		let r1 = rand(0, 40);
		let r2 = 450;
		ascent(i in 0..10)
		{
			ascent(i in 0..15)
			{
				CreateLaser01(398, r2, 4, 360/15*i+r1, 70, 10, BLUE01, 5);
			}
			r2-=50;
			Wait(6);
		}
		Wait(75);
		let r1 = rand(0, 40);
		let r2 = 450;
		ascent(i in 0..10)
		{
			ascent(i in 0..15)
			{
				CreateLaser01(50, r2, 4, 360/15*i+r1, 70, 10, RED01, 5);
				CreateLaser01(398, r2, 4, 360/15*i+r1, 70, 10, BLUE01, 5);
			}
			r2-=50;
			Wait(5);
		}
	}
	
	task borderfifteen
	{
		let angle = 0;
		let angleAcc = 0;
		loop(300)
		{
			CreateLaser01(150 + cos(angle), 120 + sin(angle), 6, angle, 150, 8, PURPLE01, 10);
			CreateLaser01(300 + cos(angle), 60 + sin(angle), 6, angle, 150, 8, PURPLE01, 10);
			angle += 360;
			angle += angleAcc;
			angleAcc += 0.1;
			Wait(1);
		}
	}
	
	task KIRADIES
	{
		CreateLaserA(0, 150, 120, 666, 500, RED12, 50);
		SetLaserDataA(0, 0, rand(135, 405), 0, 0, 0, 0); //derp
		SetShotKillTime(0, 70);
		FireShot(0);
		CreateLaserA(0, 300, 60, 666, 500, RED12, 50);
		SetLaserDataA(0, 0, rand(135, 405), 0, 0, 0, 0); //ahahaha oh god
		SetShotKillTime(0, 70);
		FireShot(0);
		Wait(5);
		CreateLaserA(0, 150, 120, 666, 500, RED12, 45);
		SetLaserDataA(0, 0, rand(135, 405), 0, 0, 0, 0); //derp
		SetShotKillTime(0, 70);
		FireShot(0);
		CreateLaserA(0, 300, 60, 666, 500, RED12, 45);
		SetLaserDataA(0, 0, rand(135, 405), 0, 0, 0, 0); //ahahaha oh god
		SetShotKillTime(0, 70);
		FireShot(0);
		Wait(5);
		CreateLaserA(0, 150, 120, 666, 500, RED12, 40);
		SetLaserDataA(0, 0, rand(135, 405), 0, 0, 0, 0); //derp
		SetShotKillTime(0, 70);
		FireShot(0);
		CreateLaserA(0, 300, 60, 666, 500, RED12, 40);
		SetLaserDataA(0, 0, rand(135, 405), 0, 0, 0, 0); //ahahaha oh god
		SetShotKillTime(0, 70);
		FireShot(0);
		Wait(5);
		CreateLaserA(0, 150, 120, 666, 500, RED12, 35);
		SetLaserDataA(0, 0, rand(135, 405), 0, 0, 0, 0); //derp
		SetShotKillTime(0, 70);
		FireShot(0);
		CreateLaserA(0, 300, 60, 666, 500, RED12, 35);
		SetLaserDataA(0, 0, rand(135, 405), 0, 0, 0, 0); //ahahaha oh god
		SetShotKillTime(0, 70);
		FireShot(0);
		Wait(5);
		CreateLaserA(0, 150, 120, 666, 500, RED12, 30);
		SetLaserDataA(0, 0, rand(135, 405), 0, 0, 0, 0); //derp
		SetShotKillTime(0, 70);
		FireShot(0);
		CreateLaserA(0, 300, 60, 666, 500, RED12, 30);
		SetLaserDataA(0, 0, rand(135, 405), 0, 0, 0, 0); //ahahaha oh god
		SetShotKillTime(0, 70);
		FireShot(0);
	}
	
	
}
//HOLD OOOOON
//TO THE NIIIIIGHT
//THERE WILL BEEEE NOOOO SHAAAAMEEEEE