// e̔˂T|[gCN[hpXNvgł
// nwayeȂǂl܂Ă܂

//---------------------------------------------------------------------------------

//nwaye𔭎˂֐łBp[^͈ȉ̒ʂ
//ˈʒuXY@x@[ʒupx@px@x@ő呬x@e摜@fBC@way
function CreateShotNway01(let nX, let nY, let Speed, let Angle, let addAngle, let addSpeed, let limitSpeed, let Shot, let delay, let way){
	//eID
	let id = 1101;
	
	//֑
	if(way <= 0){ return ; }
	if(delay < 0){ return ; }

	let sepAngle = 360 / way;
	ascent(let i in 0..way){
		CreateShotA(id, nX, nY, delay);
		SetShotDataA(id, 0, Speed, Angle + i*sepAngle, addAngle, addSpeed, limitSpeed, Shot);
		FireShot(id);
	}
}

//AŌ^nwaye𔭎˂^XNłBp[^͈ȉ̒ʂ
//ˈʒuXY@x@[ʒupx@px@x@ő呬x@e摜@fBC@way@Aː@ˊԊu
function CreateShotNway02(let nX, let nY, let Speed, let Angle, let addAngle, let addSpeed, let limitSpeed, let Shot, let delay, let way, let tk, let w){
	//eID
	let id = 1101;
	
	//֑
	if(way <= 0){ return ; }
	if(delay < 0){ return ; }
	if(w <= 0){ return ; } 

	let sepAngle = 360 / way;
	ascent(let j in 0..tk){
		ascent(let i in 0..way){
			CreateShotA(id, nX, nY, delay);
			SetShotDataA(id, 0, Speed, Angle + i*sepAngle, addAngle, addSpeed, limitSpeed, Shot);
			FireShot(id);
		}
		loop(w){ yield; }
	}
}


//nwayeɔ˂֐łBp[^͈ȉ̒ʂ
//ˈʒuXY@x@[ʒupx@px@x@ő呬x@e摜@fBC@way@[ʒupx́{|͈
function CreateShotNway11(let nX, let nY, let Speed, let Angle, let addAngle, let addSpeed, let limitSpeed, let Shot, let delay, let way, let rad){
	//eID
	let id = 1101;
	
	//֑
	if(way <= 0){ return ; }
	if(delay < 0){ return ; }

	let start = Angle - rad;
	let sepAngle = rad*2 / (way-1);
	ascent(let i in 0..way){
		CreateShotA(id, nX, nY, delay);
		SetShotDataA(id, 0, Speed, start + i*sepAngle, addAngle, addSpeed, limitSpeed, Shot);
		FireShot(id);
	}
}

//AŌ^nwayeɔ˂^XNłBp[^͈ȉ̒ʂ
//ˈʒuXY@x@[ʒupx@px@x@ő呬x@e摜@fBC@way@Aː@ˊԊu@[ʒupx́{|͈
function CreateShotNway12(let nX, let nY, let Speed, let Angle, let addAngle, let addSpeed, let limitSpeed, let Shot, let delay, let way, let tk, let w, let rad){
	//eID
	let id = 1101;
	
	//֑
	if(way <= 0){ return ; }
	if(delay < 0){ return ; }
	if(w <= 0){ return ; } 

	let start = Angle - rad;
	let sepAngle = rad*2 / (way-1);
	ascent(let j in 0..tk){
		ascent(let i in 0..way){
			CreateShotA(id, nX, nY, delay);
			SetShotDataA(id, 0, Speed, start + i*sepAngle, addAngle, addSpeed, limitSpeed, Shot);
			FireShot(id);
		}
		loop(w){ yield; }
	}
}

//Re𔭎˂֐łBp[^͈ȉ̒ʂ
//ˈʒuXY@x@px@d͉xixxj@e摜@fBC
function CreateFreeFallShot01(let nX, let nY, let Speed, let Angle, let AccY, let Shot, let delay){
	//eID
	let id = 1101;
	//
	let INF	= 4294967295;
	
	//֑
	if(delay < 0){ return ; }

	//xƊpxwxƂxx߂
	let speedX = SAtoS_X(Speed, Angle);
	let speedY = SAtoS_Y(Speed, Angle);
	CreateShotA(id, nX, nY, delay);
	SetShotDataA_XY(id, 0, speedX, speedY, 0, AccY, 0, INF, Shot);
	FireShot(id);
}

//wx^Cv̎Re𔭎˂֐łBp[^͈ȉ̒ʂ
//ˈʒuXY@x@px@d͉xixxj@CRiwxj@e摜@fBC
function CreateFreeFallShot02(let nX, let nY, let Speed, let Angle, let AccY, let ThrAccX, let Shot, let delay){
	//eID
	let id = 1101;
	//
	let INF	= 4294967295;
	
	//֑
	if(delay < 0){ return ; }

	//xƊpxwxƂxx߂
	let speedX = SAtoS_X(Speed, Angle);
	let speedY = SAtoS_Y(Speed, Angle);
	//speedX[ȉ̂Ƃ͏₷A[ȏ̂Ƃ͏炷Bx̌El͂O
	if(speedX < 0){
		//[ȉ
		CreateShotA(id, nX, nY, delay);
		SetShotDataA_XY(id, 0, speedX, speedY, ThrAccX, AccY, 0, INF, Shot);
		FireShot(id);
	}else{
		//[ȏ([ȉłȂꍇ)
		CreateShotA(id, nX, nY, delay);
		SetShotDataA_XY(id, 0, speedX, speedY, -ThrAccX, AccY, 0, INF, Shot);
		FireShot(id);
	}
}

//Ŝ̑xɈȎRe𔭎˂֐łBp[^͈ȉ̒ʂ
//ˈʒuXY@x@px@d͉xixxj@e摜@fBC
function CreateFreeFallShot03(let nX, let nY, let Speed, let Angle, let AccY, let Shot, let delay){
	//
}





