#e
#Title[֊u̐m@v]
#Text[]
#BackGround[User(.\img\ExRumiaBack.png,0,0)]
#Image[]
#ScriptVersion[2]
#Player[FREE]

script_enemy_main {
	#include_function ".\lib\lib_anime_Flandre.txt"
	#include_function ".\lib\lib_function.txt"
	#include_function ".\lib\lib_se.txt"
	#include_function ".\lib\lib_shot.txt"

	let imgFlandre = csd ~ "img\dot_flandre.png";

	@Initialize {
		SetLife(500);
		SetTimer(57);
		SetDamageRate(1, 1);
		SetShotAutoDeleteClip(256,128,128,128);

		LoadAllSE;
		LoadUserShotData(csd ~ "shot.txt");
		LoadGraphic(imgFlandre);
		LoadGraphic(imgRed);
		InitializeAction;
		TMain;
	}

	@MainLoop {
	
	if(OnEnemySpell){
		SetCollisionA(GetX, GetY, 48);
		SetCollisionB(GetX, GetY, 24);
		}
		yield;
	}

	@DrawLoop {DrawBoss(imgFlandre);}


	@Finalize {
		DeleteGraphic(imgFlandre);
		DeleteGraphic(imgRed);
		DeleteAllSE;
	}

	task TMain {
		let xIni = GetCenterX;
		let yIni = minY+128;
		let name = "֊u̐m@v";
		let score = 1000000;
		let i=0;
		let angle=0;
		let EnemyName=["Reimu","Marisa","Sakuya","Remilia","Alice","Patchouli","Reisen","Yuyuko","Medicine","Aya","Komachi","Yuka","Lily"];

		yield;
		TRate;
		StandBy(xIni, yIni, name, score);
		ChangeRed;

		SetAction(ACT_SPELL,50);
		wait(60);
		SetAction(ACT_SHOT_A,1000);

	loop{
		wait(40);
		StopAnime(100);
		PlaySE(seShot2);
		Explosion01(GetX,GetY,3,0.25,80);
		CreateEnemyFromScript(EnemyName[i],GetX+80*cos(angle),GetY+80*sin(angle),0,0,0);
		wait(40);
		angle-=30;
		i++;
		if(i==13){i=0;}
		if(angle<-180){angle=0;}
		}

	}


	task TRate {
		wait(350);
		SetDamageRate(12, 5);
	}
}

script_enemy Marisa{
	#include_function ".\lib\lib_anime_Marisa.txt"
	#include_function ".\lib\lib_function2.txt"
	#include_function ".\lib\lib_se.txt"
	#include_function ".\lib\lib_shot.txt"

	let imgMarisa = csd ~ "img\dot_marisa.png";
	let gAng=0;
	let onSet=false;

	@Initialize{
		SetLife(5000);
		SetDamageRate(50,0);
		LoadAllSE;
		LoadUserShotData(csd ~ "shot.txt");
		LoadGraphic(imgMarisa);
		InitializeAction;
		TMain;
		}

	@DrawLoop{
		_DrawBoss(imgMarisa,GetX+25*cos(gAng),GetY);
		_DrawBoss(imgMarisa,GetX-25*cos(gAng),GetY);
		}

	@MainLoop{yield;}

	@Finalize{}

	task TMain{
		fadein;
		concentrate(60);
		PlaySE(seConce1);
		SetAction(ACT_SHOT_B,200);
		wait(40);
		spark(75,BLUE02);
		spark(100,BLUE03);
		spark(150,BLUE03);
		spark(200,BLUE03);
		spark(300,BLUE03);
		wait(200);
		fadeout;
		VanishEnemy;
		}

	task spark(width,graphic){
		let obj=Obj_Create(OBJ_LASER);
		let l=0;
		let w=3;

		Obj_SetX(obj,GetX);
		Obj_SetY(obj,GetY);
		Obj_SetAngle(obj,GetAngleToPlayer);
		Obj_SetAlpha(obj,128);
		Obj_SetCollisionToPlayer(obj,false);
		ObjShot_SetGraphic(obj,graphic);

		loop(20){
			l+=60;
			ObjLaser_SetLength(obj,l);
			ObjLaser_SetWidth(obj,w);
			yield;
			}

		wait(60);
		Obj_SetCollisionToPlayer(obj,true);

		PlaySE(seLaser2);
		loop(12){
			w+=width/12;
			ObjLaser_SetLength(obj,l);
			ObjLaser_SetWidth(obj,w);
			yield;
			}

		wait(125);
		ObjShot_FadeDelete(obj);
		}

	task concentrate(frame){
		loop(frame){
			loop(3){charge;}
			yield;
			}

		wait(40);

		onSet=true;
		yield;
		onSet=false;
		}

	task charge{
		let obj = Obj_Create(OBJ_SHOT);
		let angle=rand(0,360);
		let r=rand(80,100);
		let addlength=0;

		ObjShot_SetGraphic(obj, 46);
		ObjShot_SetDelay(obj, 30);
		Obj_SetAlpha(obj, 169);

	while(!onSet){
		addlength+=0.15;
		r-=addlength;
		if(r<10){r=10;}
		Obj_SetX(obj, GetX+r*cos(angle));
		Obj_SetY(obj, GetY+r*sin(angle));
		yield;
		}

		Obj_Delete(obj);
		}
}

script_enemy Alice{
	#include_function ".\lib\lib_anime_Alice.txt"
	#include_function ".\lib\lib_function2.txt"
	#include_function ".\lib\lib_se.txt"
	#include_function ".\lib\lib_shot.txt"

	let imgAlice = csd ~ "img\dot_alice.png";
	let gAng=0;
	let onSet=false;

	@Initialize{
		SetLife(5000);
		SetDamageRate(50,0);
		LoadAllSE;
		LoadUserShotData(csd ~ "shot.txt");
		LoadGraphic(imgAlice);
		InitializeAction;
		TMain;
		}

	@DrawLoop{
		_DrawBoss(imgAlice,GetX+25*cos(gAng),GetY);
		_DrawBoss(imgAlice,GetX-25*cos(gAng),GetY);
		}

	@MainLoop{yield;}

	@Finalize{}

	task TMain{
		let angle=-30;

		fadein;
		wait(20);
		SetAction(ACT_SHOT_B,150);

	loop(5){
		PlaySE(seShot1);
		CreateShotFromScript("AliceDoll",GetX+50*cos(angle),GetY+50*sin(angle),0,0,0,0);
		angle-=30;
		wait(10);
		}
		wait(150);
		fadeout;
		VanishEnemy;
		}

}


script_shot AliceDoll{
	#include_function ".\lib\lib_anime_Alice.txt"
	#include_function ".\lib\lib_anime_doll.txt"

	let csd     = GetCurrentScriptDirectory;
	let imgAlice = csd ~ "img\dot_alice.png";
	let alpha=100;

	@Initialize {
		InitializeActionWithDoll;
		TMain;
		}
	@MainLoop {yield;}
	@DrawLoop {
		SetAlpha(alpha);
		DrawDoll(imgAlice,GetX,GetY);
		}

	task TMain{
		wait(20);
		CreateLaserA(0,GetX,GetY,750,15,RED11,50);
		SetLaserDataA(0,0,GetAngleToPlayer,0,0,0,0);
		SetShotKillTime(0,135);
		FireShot(0);
		wait(135);
		fadeout;
		End;
		}

	function wait(w) {
		loop(w) { yield; }
		}

	sub fadeout{
		let a=2;

		loop(100/a){
			SetAlpha(alpha);
			alpha-=a;
			yield;
			}
		wait(10);
		}
}

script_enemy Reisen{
	#include_function ".\lib\lib_anime_Reisen.txt"
	#include_function ".\lib\lib_function2.txt"
	#include_function ".\lib\lib_se.txt"
	#include_function ".\lib\lib_shot.txt"

	let imgReisen = csd ~ "img\dot_reisen.png";
	let gAng=0;
	let onSet=false;

	@Initialize{
		SetLife(5000);
		SetDamageRate(50,0);
		LoadAllSE;
		LoadUserShotData(csd ~ "shot.txt");
		LoadGraphic(imgReisen);
		InitializeAction;
		TMain;
		}

	@DrawLoop{
		_DrawBoss(imgReisen,GetX+25*cos(gAng),GetY);
		_DrawBoss(imgReisen,GetX-25*cos(gAng),GetY);
		}

	@MainLoop{yield;}

	@Finalize{}

	task TMain{
	let angle;
	let r;
	let speed=[1.00,0.66];
	let graphic=[89,94];

		fadein;
		wait(20);
		SetAction(ACT_SHOT_A,150);

		Concentration01(75);
		wait(50);
		PlaySE(seShot4);
		Explosion01(GetX,GetY,1,0.075,200);
		wait(33);
		r=20;

	loop(5){
		ascent(i in 0..2){
			angle=rand(0,360);
			PlaySE(seShot1);
			RoundShot01(GetX+r*cos(angle),GetY+r*sin(angle),speed[i],rand(0,360),45,graphic[i],20);
			r+=10;
			wait(6);
			}
		}

		wait(50);
		fadeout;
		VanishEnemy;
	}
}

script_enemy Yuka{
	#include_function ".\lib\lib_anime_Yuka.txt"
	#include_function ".\lib\lib_function2.txt"
	#include_function ".\lib\lib_se.txt"
	#include_function ".\lib\lib_shot.txt"

	let imgYuka = csd ~ "img\dot_yuka.png";
	let gAng=0;
	let onSet=false;

	@Initialize{
		SetLife(5000);
		SetDamageRate(50,0);
		LoadAllSE;
		LoadUserShotData(csd ~ "shot.txt");
		LoadGraphic(imgYuka);
		InitializeAction;
		TMain;
		}

	@DrawLoop{
		_DrawBoss(imgYuka,GetX+25*cos(gAng),GetY);
		_DrawBoss(imgYuka,GetX-25*cos(gAng),GetY);
		}

	@MainLoop{yield;}

	@Finalize{}

	task TMain{

		fadein;
		wait(30);

		shot;

		wait(50);
		fadeout;
		VanishEnemy;
	}

	task shot{
	let a=30;
	let i=0;
	let graphic=[82,84,87];

	loop(3){
		let angBase=GetAngleToPlayer+a;
		let angle=0;
		let speed=0.50;

		loop(13){
		PlaySE(seShot1);
			RoundShot01(GetX,GetY,speed,angBase+angle,6,graphic[i],10);
			RoundShot01(GetX,GetY,speed,angBase-angle,6,graphic[i],10);
			speed+=0.166;
			angle+=5.0;
			yield;
			}

		a+=30;
		i++;
		wait(17);
		}
	}

}

script_enemy Reimu{
	#include_function ".\lib\lib_anime_Reimu.txt"
	#include_function ".\lib\lib_function2.txt"
	#include_function ".\lib\lib_se.txt"
	#include_function ".\lib\lib_shot.txt"

	let imgReimu = csd ~ "img\dot_reimu.png";
	let gAng=0;
	let onSet=false;

	@Initialize{
		SetLife(5000);
		SetDamageRate(50,0);
		LoadAllSE;
		LoadUserShotData(csd ~ "shot.txt");
		LoadGraphic(imgReimu);
		InitializeAction;
		TMain;
		}

	@DrawLoop{
		_DrawBoss(imgReimu,GetX+25*cos(gAng),GetY);
		_DrawBoss(imgReimu,GetX-25*cos(gAng),GetY);
		}

	@MainLoop{yield;}

	@Finalize{}

	task TMain{
		let angle=-90;
		let graphic=-65521;
		fadein;
		wait(30);
		SetAction(ACT_SPELL,100);

	loop(8){
		PlaySE(seShot4);
		fantasy(angle,graphic);
		angle+=45;
		graphic--;
		wait(5);
		}
		wait(50);
		fadeout;
		VanishEnemy;
	}

	task fantasy(angle,graphic){
		let obj=Obj_Create(OBJ_LASER);
		let r=0;
		let a=6;
		let x;
		let y;
		let width=66;

		drawshot(graphic);
		Obj_SetAlpha(obj,1);
		Obj_SetAngle(obj,90);
		ObjShot_SetGraphic(obj,graphic);
		ObjLaser_SetLength(obj,width);
		ObjLaser_SetWidth(obj,width);
		ObjLaser_SetSource(obj,false);

	loop(40){
		Obj_SetX(obj,GetX+r*cos(angle));
		Obj_SetY(obj,GetY+r*sin(angle)-width/2);
		a-=7/40;
		r+=a;
		yield;
		}

		angle=atan2(GetPlayerY-(Obj_GetY(obj)-width/2),GetPlayerX-Obj_GetX(obj));
		x=Obj_GetX(obj);
		y=Obj_GetY(obj);
		r=0;

	while(!Obj_BeDeleted(obj)){
		Obj_SetX(obj,x+r*cos(angle));
		Obj_SetY(obj,y+r*sin(angle));
		a+=5/20;
		r+=a;
		yield;
		}

		task drawshot(graphic){
			while(!Obj_BeDeleted(obj)){
				delayshot(Obj_GetX(obj),Obj_GetY(obj)+width/2,30,5,graphic);
				yield;
				}
			}

		task delayshot(x,y,delay,killTime,graphic){
			let subobj = Obj_Create(OBJ_SHOT);

			Obj_SetAngle(subobj,0);
			Obj_SetPosition(subobj,x,y);
			Obj_SetSpeed(subobj, 0);
			ObjShot_SetBombResist(subobj,true);
			ObjShot_SetDelay(subobj,delay);
			ObjShot_SetGraphic(subobj,graphic);
			wait(killTime);
			Obj_Delete(subobj);
			}
		}
}

script_enemy Yuyuko{
	#include_function ".\lib\lib_anime_Yuyuko.txt"
	#include_function ".\lib\lib_function2.txt"
	#include_function ".\lib\lib_se.txt"
	#include_function ".\lib\lib_shot.txt"

	let imgYuyuko = csd ~ "img\dot_yuyuko.png";
	let gAng=0;
	let onSet=false;

	@Initialize{
		SetLife(5000);
		SetDamageRate(50,0);
		LoadAllSE;
		LoadUserShotData(csd ~ "shot.txt");
		LoadGraphic(imgYuyuko);
		InitializeAction;
		TMain;
		}

	@DrawLoop{
		_DrawBoss(imgYuyuko,GetX+25*cos(gAng),GetY);
		_DrawBoss(imgYuyuko,GetX-25*cos(gAng),GetY);
		}

	@MainLoop{yield;}

	@Finalize{}

	task TMain{
		let angle;
		fadein;
		wait(30);

		Concentration01(50);
		wait(50);
		angle=GetAngleToPlayer;
		PlaySE(seShot8);
		ghostly(100,16,angle,0.75,-0.0050,143);
		ghostly(100,16,angle,0.75,-0.0075,143);
		wait(25);
		ghostly(150,16,angle,0.75,-0.0050,139);
		ghostly(150,16,angle,0.75,-0.0075,139);
		wait(50);
		fadeout;
		VanishEnemy;
	}

	task ghostly(frame,way,angle,w,decSpeed,graphic){
	let a=[w,-w];
	ascent(i in 0..2){
	loop(way){
		CreateShotA(0,GetX,GetY,10);
		SetShotDataA(0,0,2.33,angle,a[i],decSpeed,0.75,graphic);
		SetShotDataA(0,frame,NULL,NULL,0,decSpeed,0.75,graphic);
		FireShot(0);
		angle+=360/way;
		}
		}
	}

}

script_enemy Sakuya{
	#include_function ".\lib\lib_anime_Sakuya.txt"
	#include_function ".\lib\lib_function2.txt"
	#include_function ".\lib\lib_se.txt"
	#include_function ".\lib\lib_shot.txt"

	let imgSakuya = csd ~ "img\dot_sakuya.png";
	let gAng=0;
	let onSet=false;

	@Initialize{
		SetLife(5000);
		SetDamageRate(50,0);
		LoadAllSE;
		LoadUserShotData(csd ~ "shot.txt");
		LoadGraphic(imgSakuya);
		InitializeAction;
		TMain;
		}

	@DrawLoop{
		_DrawBoss(imgSakuya,GetX+25*cos(gAng),GetY);
		_DrawBoss(imgSakuya,GetX-25*cos(gAng),GetY);
		}

	@MainLoop{yield;}

	@Finalize{}

	task TMain{
		let angle;
		fadein;
		Concentration01(50);
		wait(50);
		SetAction(ACT_SHOT_B,60);
		PlaySE(seShot3);
		RoundReflect(24);
		wait(60);
		fadeout;
		VanishEnemy;
	}

	task RoundReflect(way){
	let angle=GetAngleToPlayer;
	loop(way){
		ReflectShot(GetX+0*cos(angle),GetY+0*sin(angle),1,angle,1,true,true,true,false,169,10);
		ReflectShot(GetX+25*cos(angle),GetY+25*sin(angle),1,angle+360/(way*2),1,true,true,true,false,174,10);
		angle+=360/way;
		}
	}
}

script_enemy Remilia{
	#include_function ".\lib\lib_anime_Remilia.txt"
	#include_function ".\lib\lib_function2.txt"
	#include_function ".\lib\lib_se.txt"
	#include_function ".\lib\lib_shot.txt"

	let imgRemilia = csd ~ "img\dot_remilia.png";
	let gAng=0;
	let onSet=false;

	@Initialize{
		SetLife(5000);
		SetDamageRate(50,0);
		LoadAllSE;
		LoadUserShotData(csd ~ "shot.txt");
		LoadGraphic(imgRemilia);
		InitializeAction;
		TMain;
		}

	@DrawLoop{
		_DrawBoss(imgRemilia,GetX+25*cos(gAng),GetY);
		_DrawBoss(imgRemilia,GetX-25*cos(gAng),GetY);
		}

	@MainLoop{yield;}

	@Finalize{}

	task TMain{
		let angle;
		fadein;

		Concentration01(50);
		wait(50);

		angle=GetAngleToPlayer;

		loop(15){
			shot1(angle);
			wait(5);
			angle+=360/13;
			}

		wait(60);
		fadeout;
		VanishEnemy;
	}

	function shot1(angle){
	PlaySE(seShot3);
	CreateShot01(GetX,GetY,6,angle,49,10);
	loop(10){
		CreateShot01(GetX,GetY,rand(3.00,6.00),angle+rand(-6,6),33,10);
		}
	loop(20){
		CreateShot01(GetX,GetY,rand(2.00,4.33),angle+rand(-5,5),9,10);
		}
	}

}

script_enemy Aya{
	#include_function ".\lib\lib_anime_Aya.txt"
	#include_function ".\lib\lib_function2.txt"
	#include_function ".\lib\lib_se.txt"
	#include_function ".\lib\lib_shot.txt"

	let imgAya = csd ~ "img\dot_aya.png";
	let gAng=0;
	let onSet=false;

	@Initialize{
		SetLife(5000);
		SetDamageRate(50,0);
		LoadAllSE;
		LoadUserShotData(csd ~ "shot.txt");
		LoadGraphic(imgAya);
		InitializeAction;
		TMain;
		}

	@DrawLoop{
		_DrawBoss(imgAya,GetX+25*cos(gAng),GetY);
		_DrawBoss(imgAya,GetX-25*cos(gAng),GetY);
		}

	@MainLoop{yield;}

	@Finalize{}

	task TMain{
		let angle;
		let a;
		fadein;

		SetAction(ACT_SHOT_B,75);
		Concentration01(50);
		wait(5);
		StopAnime(50);
		wait(50);

		if(GetPlayerX<GetCenterX){
			angle=-150;
			a=12;
			}
		else{
			angle=-30;
			a=-12;
			}

		arch(225,4,angle,a);

		wait(100);
		fadeout;
		VanishEnemy;
	}

	task arch(r,speed,angle,addAngle){
		let setSpeed=speed;

		loop(10){
			if(OnEvent){break;}
			PlaySE(seShot2);
			speed=setSpeed;
		loop(10){
			CreateShot01(GetCenterX+r*cos(angle),
				GetCenterY+r*sin(angle),speed,
				atan2(GetPlayerY-(GetCenterY+r*sin(angle)),
					GetPlayerX-(GetCenterX+r*cos(angle))),
				RED21,30);
			speed+=0.25;
			}
			angle+=addAngle;
			wait(5);
			}
		}
}

script_enemy Lily{
	#include_function ".\lib\lib_anime_Lily.txt"
	#include_function ".\lib\lib_function2.txt"
	#include_function ".\lib\lib_se.txt"
	#include_function ".\lib\lib_shot.txt"

	let imgLily = csd ~ "img\dot_lily.png";
	let gAng=0;
	let onSet=false;

	@Initialize{
		SetLife(5000);
		SetDamageRate(50,0);
		LoadAllSE;
		LoadUserShotData(csd ~ "shot.txt");
		LoadGraphic(imgLily);
		InitializeAction;
		TMain;
		}

	@DrawLoop{
		_DrawBoss(imgLily,GetX+25*cos(gAng),GetY);
		_DrawBoss(imgLily,GetX-25*cos(gAng),GetY);
		}

	@MainLoop{yield;}

	@Finalize{}

	task TMain{
		let angle;
		fadein;

		Concentration01(50);
		wait(50);
		SetAction(ACT_SHOT_B,80);
		shot;
		wait(100);
		fadeout;
		VanishEnemy;
	}

	sub shot{
	let angle=GetAngleToPlayer;

		PlaySE(seShot2);
		loop(48){
		GravityShot(GetX,GetY,rand(0.50,1.50),rand(-45,-135),
			rand(0.010,0.015),90+rand(-10,10),11,33);
			}
		loop(48){
		GravityShot(GetX,GetY,rand(1.00,2.00),rand(-45,-135),
			rand(0.010,0.015),90+rand(-10,10),10,33);
			}
		loop(48){
		GravityShot(GetX,GetY,rand(1.50,2.50),rand(-45,-135),
			rand(0.010,0.015),90+rand(-10,10),9,33);
			}
		}
}

script_enemy Medicine{
	#include_function ".\lib\lib_anime_Medicine.txt"
	#include_function ".\lib\lib_function2.txt"
	#include_function ".\lib\lib_se.txt"
	#include_function ".\lib\lib_shot.txt"

	let imgMedicine = csd ~ "img\dot_medicine.png";
	let gAng=0;
	let onSet=false;

	@Initialize{
		SetLife(5000);
		SetDamageRate(50,0);
		LoadAllSE;
		LoadUserShotData(csd ~ "shot.txt");
		LoadGraphic(imgMedicine);
		InitializeAction;
		TMain;
		}

	@DrawLoop{
		_DrawBoss(imgMedicine,GetX+25*cos(gAng),GetY);
		_DrawBoss(imgMedicine,GetX-25*cos(gAng),GetY);
		}

	@MainLoop{yield;}

	@Finalize{}

	task TMain{
		let angle;
		let a;
		fadein;
		wait(25);

		if(GetPlayerX<GetCenterX){
			angle=135;
			a=-1;
			}
		else{
			angle=45;
			a=1;
			}
	loop(14){
		PlaySE(seShot1);
		CreateShot01(GetX,GetY,3,angle,39,10);
		angle+=5*a;
		wait(5);
		}

		wait(60);
		fadeout;
		VanishEnemy;
	}
}

script_enemy Patchouli{
	#include_function ".\lib\lib_anime_Patchouli.txt"
	#include_function ".\lib\lib_function2.txt"
	#include_function ".\lib\lib_se.txt"
	#include_function ".\lib\lib_shot.txt"

	let imgPatchouli = csd ~ "img\dot_patchouli.png";
	let gAng=0;
	let onSet=false;

	@Initialize{
		SetLife(5000);
		SetDamageRate(50,0);
		LoadAllSE;
		LoadUserShotData(csd ~ "shot.txt");
		LoadGraphic(imgPatchouli);
		InitializeAction;
		TMain;
		}

	@DrawLoop{
		_DrawBoss(imgPatchouli,GetX+25*cos(gAng),GetY);
		_DrawBoss(imgPatchouli,GetX-25*cos(gAng),GetY);
		}

	@MainLoop{yield;}

	@Finalize{}

	task TMain{
		let a;
		fadein;
		wait(25);
		SetAction(ACT_SHOT_B,100);

		loop(5){
			PlaySE(seShot2);
			RoundCurve(2.10,90+rand(-10,10),2.00,24,YELLOW04,0);
			RoundCurve(2.10,90+rand(-10,10),-2.00,24,YELLOW04,0);
			wait(15);
			}

		wait(60);
		fadeout;
		VanishEnemy;
	}

	task RoundCurve(speed,angle,w,way,graphic,delay){
	loop(way){
		CreateShotA(0,GetX,GetY,delay);
		SetShotDataA(0,0,speed,angle,w,0,10,graphic);
		SetShotDataA(0,100+rand_int(-5,5),NULL,NULL,0,0,10,graphic);
		FireShot(0);
		angle+=360/way;
		}
		}

}

script_enemy Komachi{
	#include_function ".\lib\lib_anime_Komachi.txt"
	#include_function ".\lib\lib_function2.txt"
	#include_function ".\lib\lib_se.txt"
	#include_function ".\lib\lib_shot.txt"

	let imgKomachi = csd ~ "img\dot_komachi.png";
	let gAng=0;
	let onSet=false;

	@Initialize{
		SetLife(5000);
		SetDamageRate(50,0);
		LoadAllSE;
		LoadUserShotData(csd ~ "shot.txt");
		LoadGraphic(imgKomachi);
		InitializeAction;
		TMain;
		}

	@DrawLoop{
		_DrawBoss(imgKomachi,GetX+25*cos(gAng),GetY);
		_DrawBoss(imgKomachi,GetX-25*cos(gAng),GetY);
		}

	@MainLoop{yield;}

	@Finalize{}

	task TMain{
		let angle;
		fadein;
		wait(25);
		SetAction(ACT_CHARGE,60);
		Concentration01(50);
		wait(50);
		SetAction(ACT_SHOT_B,150);

		angle=GetAngleToPlayer;
	loop(4){
		PlaySE(seShot1);
		WideShot01(GetX,GetY,4,angle,45,3,75,5);
		wait(15);
		PlaySE(seShot1);
		WideShot01(GetX,GetY,4,angle,45,3,75,5);
		WideShot01(GetX,GetY,3,angle,50,8,248,5);
		wait(15);
		}

		wait(50);
		fadeout;
		VanishEnemy;
	}

}
