//LightningSpell
script_spell Thunder{
	let ImgThunder = GetArgument[0];

	@Initialize{
		LoadGraphic(ImgThunder);
		SetPlayerInvincibility(30);
		MegaCrash;
		//MegaCrash(0,0,448,512);
		//MegaCrash(448,0,896,512);
		//MegaCrash(896,0,1344,512);
		
	}
	@MainLoop{yield;}
	@Finalize{
		DeleteGraphic(ImgThunder);
	}
	
	task MegaCrash{//KNbV
		let SpellObj=Obj_Create(OBJ_SPELL);
		let t= 0;
		
		Obj_SetPosition(SpellObj,GetCenterX,GetCenterY);
		ObjEffect_SetTexture(SpellObj,ImgThunder);
		ObjEffect_SetLayer(SpellObj,2);
		ObjEffect_SetPrimitiveType(SpellObj,PRIMITIVE_TRIANGLESTRIP);//
		ObjEffect_CreateVertex(SpellObj,4);//_쐬
		
		ascent(let i in 0..30){
			if(i==10){
				t+=447;
			}
			if(i==20){
				t+=447;
			}
			loop(10){
				let GraphicXY=[t,0,t+447,512];
				let Vx=(GraphicXY[2]-GraphicXY[0])/2;
				let Vy=(GraphicXY[3]-GraphicXY[1])/2;
				ObjEffect_SetVertexUV(SpellObj,0,GraphicXY[0],GraphicXY[1]);
				ObjEffect_SetVertexUV(SpellObj,1,GraphicXY[2],GraphicXY[1]);
				ObjEffect_SetVertexUV(SpellObj,2,GraphicXY[0],GraphicXY[3]);
				ObjEffect_SetVertexUV(SpellObj,3,GraphicXY[2],GraphicXY[3]);
				ObjEffect_SetVertexXY(SpellObj,0,-Vx,-Vy);
				ObjEffect_SetVertexXY(SpellObj,1,Vx,-Vy);
				ObjEffect_SetVertexXY(SpellObj,2,-Vx,Vy);
				ObjEffect_SetVertexXY(SpellObj,3,Vx,Vy);

			}
			Obj_SetPosition(SpellObj,GetCenterX, GetCenterY);
			ObjSpell_SetIntersecrionCircle(SpellObj,GetCenterX,GetCenterY,1000,40,true);
			yield;
		}
		
		Obj_Delete(SpellObj);
		End;
	}
}

script_spell Wave{
	let ImgWave = GetArgument[0];
	
	@Initialize{
		LoadGraphic(ImgWave);
		SetPlayerInvincibility(40);
		MegaWave;
		//MegaWave(0,0,257,540);
	}
	@MainLoop{yield;}
	@Finalize{
		DeleteGraphic(ImgWave);
	}
	task MegaWave{//Ôg
	let Wy=GetClipMaxY;
		let SpellObj=Obj_Create(OBJ_SPELL);
		
		ObjEffect_SetTexture(SpellObj,ImgWave);
		ObjEffect_SetLayer(SpellObj,2);
		ObjEffect_SetScale(SpellObj,2,2);
		ObjEffect_SetPrimitiveType(SpellObj,PRIMITIVE_TRIANGLESTRIP);//
		ObjEffect_CreateVertex(SpellObj,4);//_쐬
		
		ascent(let i in 0..40){
			if(i>1){
				Wy-=20;
			}

			let GraphicXY=[0,0,257,540];
			let Vx=(GraphicXY[2]-GraphicXY[0])/2;
			let Vy=(GraphicXY[3]-GraphicXY[1])/2;
			
			ObjEffect_SetVertexUV(SpellObj,0,GraphicXY[0],GraphicXY[1]);
			ObjEffect_SetVertexUV(SpellObj,1,GraphicXY[2],GraphicXY[1]);
			ObjEffect_SetVertexUV(SpellObj,2,GraphicXY[0],GraphicXY[3]);
			ObjEffect_SetVertexUV(SpellObj,3,GraphicXY[2],GraphicXY[3]);
			ObjEffect_SetVertexXY(SpellObj,0,-Vx,-Vy);
			ObjEffect_SetVertexXY(SpellObj,1,Vx,-Vy);
			ObjEffect_SetVertexXY(SpellObj,2,-Vx,Vy);
			ObjEffect_SetVertexXY(SpellObj,3,Vx,Vy);
		
			Obj_SetPosition(SpellObj,GetCenterX, Wy);//ړ
			ObjSpell_SetIntersecrionCircle(SpellObj,GetCenterX,Wy,1000,40,true);//U
			yield;
		}
		Obj_Delete(SpellObj);
		End;
	}
}