
script_enemy_main{
	let csd		=GetCurrentScriptDirectory;
	let imgBoss	=csd ~ ".\img\dot_suwako.png";
	let shotData	=csd ~ ".\img\shot_all.txt";

	@Initialize {
        	SetLife(1000);
		SetTimer(99);
		SetInvincibility(480);
		InitializeAction();
		LoadUserShotData(shotData);
		SetShotAutoDeleteClip(100,100,100,100);
        	LoadGraphic(imgBoss);
        	Main;
	}
	
	@MainLoop {
        	SetCollisionA(GetX, GetY, 32);
        	SetCollisionB(GetX, GetY, 16);
		if(GetLife>20){SetDamageRate(20,0);}
		else{SetDamageRate(0,0);}
		if(GetTimer==10&&counter==0){
			Timer;
			counter++;
		}
		if(OnPlayerMissed){VanishEnemy;}
		yield;
	}

	@DrawLoop {
		SetColor(255,255,255);
		SetGraphicScale(1,1);
		DrawBoss(imgBoss);
	}

	sub standBy {
		SetMovePosition03(224, 240, 10, 7);
		SetAction(ACT_MOVE, 60);
		wait(60);
	}

    	task Main {
        	yield;
		standBy;
		CutIn(YOUMU,"_uzK喾_̓㊙v",NULL,0,0,0,0);
		SetScore(80000000);
		SetAction(ACT_SPELL, 120);
		wait(60);
		SetColor(63,255,63);
		Concentration01(60);
		PlaySE(seCharge1);
		wait(60);
		death;
		attack;
		wait(180);
		SetColor(63,255,63);
		Concentration01(60);
		PlaySE(seCharge1);
		wait(60);
		shotC;
		wait(180);
		SetColor(63,255,63);
		Concentration01(60);
		PlaySE(seCharge1);
		wait(60);
		shotD;
	}

	task attack{
		loop{
			shotA;
			PlaySE(seShot3);
			wait(180);
			shotB;
			PlaySE(seShot3);
			wait(300);
			yield;
		}
	}

	task shotA{
		let angle=0;
		let randangle=rand(0,10);
		while(angle<360){
			CreateRollLaser(GetX,GetY,5,angle+randangle,30,10,228,0);
			angle+=10;
		}
	}

	task shotB{
		let angle=0;
		let randangle=rand(0,10);
		while(angle<360){
			CreateRollLaser(GetX,GetY,5,angle+randangle,30,10,228,1);
			angle+=10;
		}
	}

	task shotC{
		loop{
			CreateShot01(rand(32,416),0,1,90,169,0);
			PlaySE(seShot2);
			wait(20);
			yield;
		}
	}

	task shotD{
		loop{
			CreateShot01(rand(32,416),0,1.5,90,229,0);
			PlaySE(seShot2);
			wait(5);
			yield;
		}
	}

	task CreateRollLaser(x,y,speed,angle,length,width,color,type) {
		let Obj = Obj_Create(OBJ_SINUATE_LASER);
		let addangle=0;

		Obj_SetPosition(Obj, x, y);
		Obj_SetAngle(Obj, angle);
		Obj_SetSpeed(Obj, speed);
		ObjSinuateLaser_SetLength(Obj,length);
		ObjSinuateLaser_SetWidth(Obj,width);
		ObjShot_SetGraphic(Obj, color);
		Obj_SetAutoDelete(Obj,true);
		ObjShot_SetBombResist(Obj,false);
		ObjShot_SetDelay(Obj, 0);

		while(Obj_BeDeleted(Obj)==false) {
			if(type==0){
				loop(36){
					Obj_SetAngle(Obj, angle+addangle);
					addangle+=15;
					wait(1);
				}
				type++;
			}
			if(type==1){
				loop(36){
					Obj_SetAngle(Obj, angle-addangle);
					addangle+=15;
					wait(1);
				}
				type--;
			}
			yield;
		}
	}

	task death{
		loop{
			if(GetLife<=20){break;}
			yield;
		}
		SetCommonDataEx("Effect","bossx",GetX);
		SetCommonDataEx("Effect","bossy",GetY);
		SetCommonDataEx("Effect","boss",1);
		if(GetTimer>0&&GetLife<=20){
			AddLife(-20);
		}
	}

	@Finalize{
		DeleteGraphic(imgBoss);
	}

	#include_function ".\lib\lib_anime_Suwako.txt"
	#include_function ".\lib\lib_Functions.txt"
}