//ShotObj

LoadPlayerShotData(current~".\txt\ShotData.txt");

let ShotType=0;
task MainShot{
	if(counter%5==0){
		ShotObj(GetPlayerX   , GetPlayerY-15,20,270,1,2,2,4,10,15);
		ShotObj(GetPlayerX+30, GetPlayerY-10,20,272,2,2,2,4,10,15);
		ShotObj(GetPlayerX-30, GetPlayerY-10,20,268,3,2,2,4,10,15);
		PlaySE(SE[0]);
	}
}

task ShotObj(ShotX,ShotY,Speed,Angle,Bullet,Damage,Penetration,Pid,Pspeed,Sec){
	let Shot = Obj_Create(OBJ_SHOT);
	ShotTask(Shot,ShotX,ShotY,Angle,Bullet,Damage,Penetration);
	Obj_SetSpeed(Shot,Speed);
		while(!Obj_BeDeleted(Shot)){
			if(Obj_IsIntersected(Shot)){
				PenetraShot(Obj_GetX(Shot),Obj_GetY(Shot),Pid,Pspeed,Sec);
				Obj_Delete(Shot);
				}
			yield;
		}
	yield;
}

task PenetraShot(ShotX,ShotY,Pid,Pspeed,Sec){
	let PShot = Obj_Create(OBJ_SHOT);
		ShotTask(PShot,ShotX,ShotY,270,Pid,4,3);
		Obj_SetSpeed(PShot,Pspeed);
		loop(Sec){yield;}
		Obj_Delete(PShot);
	yield;
}


task LaserObj(LaserX,LaserY,Width,Angle,Bullet,Damage,LaserSec,Penetration){
	let Laser = Obj_Create(OBJ_LASER);
	ShotTask(Laser,LaserX,LaserY,Angle,Bullet,Damage,5);
	ObjLaser_SetWidth(Laser,Width);
	ObjLaser_SetLength(Laser,600);
	ObjLaser_SetSource(Laser,false);
	loop(LaserSec){yield;}
	Obj_Delete(Laser);
	yield;
}


