script_enemy_main {

	#include_function ".\..\ShotSheet\shot_replace.dnh"
	#include_function ".\..\functions.txt"

	let GCSD=GetCurrentScriptDirectory;
	let imgEnemy=GPSD~"img\minion.png";

	let type=GetCommonData("E");
	let arg1=GetArgument;
	let arg2=GetCommonData("A2");
	let arg3=GetCommonData("A3");
	let arg4=GetCommonData("A4");
	let arg5=GetCommonData("A5");
	let diff=GetCommonDataDefault("Diff",1);
	let ii=0;


    @Initialize {
	shotinit;
	if(type==0){Move0;}
	if(type==2){Move2;}
	VanishEnemy;
    }

    @MainLoop {
	yield;
    }

// Type, X, Y, V, Angle, a1, a2, a3, a4

function Wait(frames){loop(frames){yield;}}

//-------------------------------------------------------------------------------------------------  //0=ring	| [aimed,type,startvel,endvel1,endvel2,accel,number]
task Move0{
	SE("shot2");
	let angle=GetAngleToPlayer;
	if(arg1[0]==0){
		angle=rand(0,360);
	}
	let v;
	if(diff<=1){
		arg1[6]=round(arg1[6])*0.8;
	}
	loop(arg1[6]){
		v=rand(arg1[3],arg1[4]);
		CreateShot02(GetX,GetY,arg1[2],angle,-(arg1[2]-v)/arg1[5],v,arg1[1],0);
		if(diff>0){
			CreateShot02(GetX,GetY,arg1[2]/2,angle,(-(arg1[2]-v)/arg1[5])/2,v/2,arg1[1],0);
		}

		angle+=360/arg1[6];
	}
}

//-------------------------------------------------------------------------------------------------  //2=directed spread	| [type,v1,v2,spread,number,directions]
task Move2{
	SE("shot2");
	let angle=0;
	let v=0;
	if(diff==0){
		arg1[1]=arg1[1]*0.8;
		arg1[2]=arg1[2]*0.8;
		arg1[3]=arg1[3]*0.3;
		arg1[4]=round(arg1[4]*0.4);
	}
	if(diff==1){
		arg1[1]=arg1[1]*0.8;
		arg1[2]=arg1[2]*0.8;
		arg1[3]=arg1[3]*0.8;
	}
	loop(arg1[4]){
		v=prand(arg1[1],arg1[2]);
		angle=prand(-arg1[3],arg1[3]);
		ii=0;
		loop(arg1[5]){
			CreateShot01(GetX,GetY,v,GetAngleToPlayer+angle+ii,arg1[0],0);
			ii+=360/arg1[5];
		}
	}
}

}
