let imgLBG1=GetCurrentScriptDirectory~"\lymiabg1.png";
let imgLBG2=GetCurrentScriptDirectory~"\lymiabg2.png";
task LymiaSCBG{
	let frame=0;
	let obj1=CreateBG(imgLBG2,1,1,[0,0,0],ALPHA);
	let obj2=CreateBG(imgLBG2,2,2,[0,0,0],ALPHA);
	let obj3=CreateBG(imgLBG1,2,2,[0,0,0],ADD);
	let obj4=CreateBG(imgLBG1,1,1,[0,0,0],ADD);
	let obj5=CreateBG(imgLBG1,1,1,[0,0,0],ADD);

	let alpha=0;
	loop(60){
		alpha+=170/60;
		MoveBG(obj1,-frame,-frame/2,alpha,0,0);
		MoveBG(obj2,-frame/2+128,frame,alpha,0,0);
		MoveBGCenterColor(obj3,0,0,256,256,alpha/5,-frame*2,[255,150,255]);
		MoveBGCenterColor(obj4,-140,-170,256,256,alpha/7,-frame*3,[150,255,255]);
		MoveBGCenterColor(obj5,140,170,256,256,alpha/7,-frame*3,[150,255,255]);
		frame++;
		yield;
	}
	while(StopEffect==0){
		MoveBG(obj1,-frame,-frame/2,alpha,0,0);
		MoveBG(obj2,-frame/2+128,frame,alpha,0,0);
		MoveBGCenterColor(obj3,0,0,256,256,alpha/5,-frame*2,[255,150,255]);
		MoveBGCenterColor(obj4,-140,-170,256,256,alpha/7,-frame*3,[150,255,255]);
		MoveBGCenterColor(obj5,140,170,256,256,alpha/7,-frame*3,[150,255,255]);
		frame++;
		yield;
	}
	loop(60){
		alpha-=170/60;
		MoveBG(obj1,-frame,-frame/2,alpha,0,0);
		MoveBG(obj2,-frame/2+128,frame,alpha,0,0);
		MoveBGCenterColor(obj3,0,0,256,256,alpha/5,-frame*2,[255,150,255]);
		MoveBGCenterColor(obj4,-140,-170,256,256,alpha/7,-frame*3,[150,255,255]);
		MoveBGCenterColor(obj5,140,170,256,256,alpha/7,-frame*3,[150,255,255]);
		frame++;
		yield;
	}
	Obj_Delete(obj1);
	Obj_Delete(obj2);
	Obj_Delete(obj3);
	Obj_Delete(obj4);
	Obj_Delete(obj5);
}
function MoveBGCenter(obj,x,y,sizex,sizey,alpha,rot){
	MoveBGCenterColor(obj,x,y,sizex,sizey,alpha,rot,[255,255,255]);
}

function MoveBGCenterColor(obj,x,y,sizex,sizey,alpha,rot,color){
	sizex/=2;
	sizey/=2;
	ObjEffect_SetVertexXY(obj,0,-sizex,-sizey  );
	ObjEffect_SetVertexXY(obj,1,sizex,-sizey  );
	ObjEffect_SetVertexXY(obj,2,sizex,sizey);
	ObjEffect_SetVertexXY(obj,3,-sizex  ,sizey);

	ObjEffect_SetVertexUV(obj,0,0  ,0  );
	ObjEffect_SetVertexUV(obj,1,sizex*2,0  );
	ObjEffect_SetVertexUV(obj,2,sizex*2,sizey*2);
	ObjEffect_SetVertexUV(obj,3,0  ,sizey*2);
	ObjEffect_SetAngle(obj,0,0,rot);
	Obj_SetPosition(obj,GetCenterX+x,GetCenterY+y);
	let k2=0;
	loop(4){
		ObjEffect_SetVertexColor(obj,k2,alpha,color[0],color[1],color[2]);
		k2++;
	}
}

function laserpieceintersect(obj,power){
	ObjSpell_SetIntersecrionCircle(obj,Obj_GetX(obj),Obj_GetY(obj),18,power,false);
	if(OnScreen(Obj_GetX(obj),Obj_GetY(obj),20)==0){Obj_Delete(obj);}
}