//BombOdj

script_spell Muteki{//G
	#include_function".\BombCore.txt"
	@Initialize{SetPlayerInvincibility(180);tTime;}//3Sec
	task tTime{sec(180);End;}
}
script_spell SamuraiSword{//TC\[h
	#include_function".\BombCore.txt"
	@Initialize{
		SetPlayerInvincibility(80);
		tTime;
	}
	task tTime{Ia;Ba;sec(80);End;}
	task Ia{//ImgAct
		let Io=Obj_Create(OBJ_EFFECT);//ImgObj
		Obj_SetPosition(Io,GetPlayerX,GetPlayerY);
		ascent(i in 0..16){
			alternative(i)
			case(2){Mi(0,0,1,1);}
			case(4){Mi(1,0,2,1);}
			case(6){Mi(2,0,3,1);}
			case(8){Mi(0,1,1,2);}
			case(10){Mi(1,1,2,2);}
			case(12){Mi(2,1,3,2);}
			case(14){Mi(0,2,1,3);}
			sec(5);Clock;counter++;
		}
		task Mi(a,b,c,d){//MutekiImg
			Et(1,Io,6,0,a,b,c,d);
			Obj_SetPosition(Io,Obj_GetX(Io),Obj_GetY(Io));
		}
	}
	task Ba{//BombAct
		let Spl=Obj_Create(OBJ_SPELL);//SpellObj
		Obj_SetPosition(Spl,GetPlayerX,GetPlayerY);
		ascent(i in 0..80){
			Bi(1+mv,2,2+mv,3,100);
			sec(1);
			//Obj_SetSpeed(Spl,7);
		}
		task Bi(a,b,c,d,Circle){//BomBimg
			Et(1,Spl,5,0,a,b,c,d);
			Obj_SetPosition(Spl,Obj_GetX(Spl),Obj_GetY(Spl)-counter);
			ObjSpell_SetIntersecrionCircle(Spl,Obj_GetX(Spl),Obj_GetY(Spl),Circle,100,true);
		}
	}
}
script_spell Omikuji{//݂{
	#include_function".\BombCore.txt"
	let word = GetArgument;
	let Se = Cut~"Se51.wav";
	@Initialize{
		SetPlayerInvincibility(240);//3Sec
		tTime;
	}
	task tTime{Ba;sec(240);End;}
	task Ba{
		let Spl=Obj_Create(OBJ_SPELL);
		Obj_SetPosition(Spl,GetPlayerX,GetPlayerY-60);
		ascent(i in 0..300){
			alternative(i)
			case(1){Bi(0,0,1,1,0);}
			case(2){Bi(1,0,2,1,0);}
			case(3){Bi(2,0,3,1,0);}
			case(4){Bi(3,0,4,1,0);}
			case(5){Bi(0,1,1,2,100);}
			case(6){Bi(1,1,2,2,100);PlaySE(Se);}
			
			case(7,10,13,16,19,22,25,28){Bi(0,2,1,3,200);}
			case(8,11,14,17,20,23,26,29){Bi(1,2,2,3,200);}
			case(9,12,15,18,21,24,27,30){Bi(2,2,3,3,200);}
			
			if(i>=7){Ia;}sec(8);
		}
		task Bi(a,b,c,d,Circle){
			loop(240){
				Et(2,Spl,4,0,a,b,c,d);
				Obj_SetPosition(Spl,Obj_GetX(Spl),Obj_GetY(Spl));
				ObjSpell_SetIntersecrionLine(Spl,Obj_GetX(Spl)-100,
				Obj_GetY(Spl)+100,Obj_GetX(Spl)+100,Obj_GetY(Spl)-100,Circle,word+1,true);
			}
			yield;
		}
		task Ia{
			let Io=Obj_Create(OBJ_EFFECT);
			Mi(2+word,1,3+word,2);
			task Mi(a,b,c,d){//MutekiImg
				Et(2,Io,3,0,a,b,c,d);
				Obj_SetPosition(Io,Obj_GetX(Spl),Obj_GetY(Spl));
				yield;
			}
		}
	}
}
script_spell Ranmaru{//
	#include_function".\BombCore.txt"
	let Rantm = 0;
	@Initialize{
		SetPlayerInvincibility(210);
		tTime;
	}
	task tTime{
		loop(4){Ba;sec(30);}
		Ba;sec(90);End;
	}
	task Ba{
		let Spl=Obj_Create(OBJ_SPELL);
		Obj_SetPosition(Spl,GetCenterX+rand(-2,2)*80,GetClipMaxY);
		ascent(i in 0..70){
			alternative(Rantm)
			case( 0){Bi(0,0,1,1);}
			case( 3){Bi(1,0,2,1);}
			case( 6){Bi(2,0,3,1);}
			case( 9){Bi(3,0,4,1);}
			case(12){Bi(0,1,1,2);}
			case(15){Bi(1,1,2,2);}
			case(18){Bi(2,1,3,2);}
			case(21){Bi(3,1,4,2);}
			case(24){Bi(0,2,1,3);}
			case(27){Bi(1,2,2,3);}
			case(30){Bi(2,2,3,3);}
			case(33){Bi(3,2,4,3);}
			Rantm++;
			if(Rantm>=36){Rantm=0;}
			sec(3);
		}
		task Bi(a,b,c,d){
			Et(3,Spl,5,0,a,b,c,d);
			Obj_SetSpeed(Spl,5);
			Obj_SetPosition(Spl,Obj_GetX(Spl),Obj_GetY(Spl));
			ObjSpell_SetIntersecrionCircle(Spl,Obj_GetX(Spl),Obj_GetY(Spl),150,60,true);
			yield;
		}
	}
}
script_spell Ssb{//Ȋwe
	#include_function".\BombCore.txt"
	let Se = GetArgument;
	@Initialize{
		SetPlayerInvincibility(165);//5Sec
		tTime;
	}
	task tTime{Ba;sec(165);End;}
	task Ba{
		let Spl=Obj_Create(OBJ_SPELL);
		Obj_SetPosition(Spl,GetPlayerX,GetPlayerY-40);

		ascent(i in 0..33){
			alternative(i)
			case(1){Bi(0,0,1,1,0);}
			case(2){Bi(1,0,2,1,0);}
			case(3){Bi(2,0,3,1,0);}
			case(4){Bi(3,0,4,1,0);}
			case(5){Bi(4,0,5,1,0);}
			case(6){Bi(5,0,6,1,0);}
			
			case(7){Bi(0,1,1,2,40);PlaySE(Se);}
			case(8){Bi(1,1,2,2,40);}
			case(9){Bi(2,1,3,2,40);}
			case(10){Bi(3,1,4,2,80);}
			case(11){Bi(4,1,5,2,80);}
			case(12){Bi(5,1,6,2,80);}
			
			case(13){Bi(0,2,1,3,250);}
			case(14){Bi(1,2,2,3,250);}
			case(15){Bi(2,2,3,3,250);}
			case(16){Bi(3,2,4,3,250);}
			case(17){Bi(4,2,5,3,250);}
			case(18){Bi(5,2,6,3,250);}
			
			case(19){Bi(0,3,1,4,250);}
			case(20){Bi(1,3,2,4,250);}
			case(21){Bi(2,3,3,4,250);}
			case(22){Bi(3,3,4,4,250);}
			case(23){Bi(4,3,5,4,250);}
			case(24){Bi(5,3,6,4,250);}
			
			case(25){Bi(0,4,1,5,250);}
			case(26){Bi(1,4,2,5,250);}
			case(27){Bi(2,4,3,5,250);}
			case(28){Bi(3,4,4,5,250);}
			case(29){Bi(4,4,5,5,250);}
			case(30){Bi(5,4,6,5,250);}
			
			case(31){Bi(0,5,1,6,250);}
			case(32){Bi(1,5,2,6,250);}
			case(33){Bi(2,5,3,6,250);}
			loop(5){yield;}
		}
		task Bi(a,b,c,d,Circle){
			Et(4,Spl,3,0,a,b,c,d);
			Obj_SetPosition(Spl,Obj_GetX(Spl),Obj_GetY(Spl));
			ObjSpell_SetIntersecrionCircle(Spl,Obj_GetX(Spl),Obj_GetY(Spl),Circle,120,true);
			yield;
		}
	}
}
script_spell Vbr{//oiXoX^[
	#include_function".\BombCore.txt"
	let Se = GetArgument;
	@Initialize{
		LoadSE(Se);
		SetPlayerInvincibility(60);//2Sec
		tTime;
	}
	task tTime{Ba;sec(60);End;}
	task Ba{
		let Spl=Obj_Create(OBJ_SPELL);
		ascent(i in 0..11){
			alternative(i)
			case(0){Bi(0,0,1,1);}
			case(1){Bi(1,0,2,1);}
			case(2){Bi(2,0,3,1);}
			case(3){Bi(3,0,4,1);}
			case(4){Bi(0,1,1,2);PlaySE(Se);}
			case(5){Bi(1,1,2,2);}
			case(6){Bi(2,1,3,2);}
			case(7){Bi(3,1,4,2);}
			case(8){Bi(0,2,1,3);}
			case(9){Bi(1,2,2,3);}
			case(10){Bi(2,2,3,3);}
			case(11){Bi(3,2,4,3);}
			loop(5){yield;}
		}
		task Bi(a,b,c,d){
			loop(60){
				Et(5,Spl,3,0,a,b,c,d);
			}
			Obj_SetPosition(Spl,GetPlayerX,GetPlayerY);
			ObjSpell_SetIntersecrionCircle(Spl,Obj_GetX(Spl),Obj_GetY(Spl),250,50,true);
			yield;
		}
	}
}
script_spell Kbomb{//1ge
	#include_function".\BombCore.txt"
	let Se = GetArgument;
	@Initialize{
		SetPlayerInvincibility(198);//5Sec
		tTime;
	}
	task tTime{Ba;sec(198);End;}
	task Ba{
		let Spl=Obj_Create(OBJ_SPELL);
		Obj_SetPosition(Spl,GetPlayerX,GetPlayerY-80);

		ascent(i in 0..22){
			alternative(i)
			case(0){Bi(1,0,0,1,1,0);}
			case(1){Bi(1,1,0,2,1,0);}
			case(2){Bi(1,2,0,3,1,0);}
			case(3){Bi(1,3,0,4,1,0);}
			case(4){Bi(1,4,0,5,1,0);}
			case(5){Bi(1,0,1,1,2,0);}
			
			case(6){Bi(2,1,1,2,2,200);PlaySE(Se);}
			case(7){Bi(2,2,1,3,2,200);}
			case(8){Bi(2,3,1,4,2,200);}
			case(9){Bi(2,4,1,5,2,200);}
			case(10){Bi(2,0,2,1,3,200);}
			case(11){Bi(2,1,2,2,3,200);}
			case(12){Bi(2,2,2,3,3,200);}
			case(13){Bi(2,3,2,4,3,200);}
			case(14){Bi(2,4,2,5,3,200);}
			case(15){Bi(2,0,3,1,4,200);}
			case(16){Bi(2,1,3,2,4,200);}
			case(17){Bi(2,2,3,3,4,200);}
			case(18){Bi(2,3,3,4,4,200);}
			case(19){Bi(2,4,3,5,4,150);}
			case(20){Bi(2,0,4,1,5,150);}
			case(21){Bi(2,1,4,2,5,150);}
			loop(9){yield;}
		}
		task Bi(sz,a,b,c,d,Circle){
			Et(6,Spl,3,0,a,b,c,d);
			ObjEffect_SetScale(Spl,sz,sz);
			Obj_SetPosition(Spl,Obj_GetX(Spl),Obj_GetY(Spl));
			ObjSpell_SetIntersecrionCircle(Spl,Obj_GetX(Spl),Obj_GetY(Spl),Circle,300,true);
			yield;
		}
	}
}
script_spell Ja{//WXeBXA^bN
	#include_function".\BombCore.txt"
	@Initialize{
		SetPlayerInvincibility(72);
		tTime;
	}
	task tTime{Ba;sec(72);End;}
	task Ba{
		let Spl=Obj_Create(OBJ_SPELL);
		ascent(i in 0..24){
			alternative(i)
			case(0){Bi(0,0,1,1);}
			case(1){Bi(1,0,2,1);}
			case(2){Bi(2,0,3,1);}
			case(3){Bi(3,0,4,1);}
			case(4){Bi(4,0,5,1);}
			case(5){Bi(5,0,6,1);}
			case(6){Bi(6,0,7,1);}
			case(7){Bi(7,0,8,1);}
			case(8){Bi(0,1,1,2);}
			case(9){Bi(1,1,2,2);}
			case(10){Bi(2,1,3,2);}
			case(11){Bi(3,1,4,2);}
			case(12){Bi(4,1,5,2);}
			case(13){Bi(5,1,6,2);}
			case(14){Bi(6,1,7,2);}
			case(15){Bi(7,1,8,2);}
			case(16){Bi(0,2,1,3);}
			case(17){Bi(1,2,2,3);}
			case(18){Bi(2,2,3,3);}
			case(19){Bi(3,2,4,3);}
			case(20){Bi(4,2,5,3);}
			case(21){Bi(5,2,6,3);}
			case(22){Bi(6,2,7,3);}
			case(23){Bi(7,2,8,3);}
			loop(3){yield;}
		}
		task Bi(a,b,c,d){
			loop(72){
				Et(7,Spl,3,0,a,b,c,d);
			}
			Obj_SetPosition(Spl,GetPlayerX+1,GetPlayerY-110);
			ObjSpell_SetIntersecrionCircle(Spl,Obj_GetX(Spl),Obj_GetY(Spl),100,200,true);
			yield;
		}
	}
}
script_spell BusterLaser{//oX^[u[h
	#include_function".\BombCore.txt"
	@Initialize{
		SetPlayerInvincibility(174);//4Sec
		tTime;
	}
	task tTime{Ia(66);Ia(162);Ia(258);Ia(354);Ia(450);Ba;sec(174);End;}
	task Ia(Ln){
		let Io=Obj_Create(OBJ_EFFECT);
		ascent(i in 0..29){
			alternative(i)
			case(0,29){Mi(0,0,1,1);}
			case(1,28){Mi(1,0,2,1);}
			case(2,27){Mi(2,0,3,1);}
			case(3,26){Mi(3,0,4,1);}
			case(4,25){Mi(4,0,5,1);}
			case(5,10,15,20){Mi(0,2,1,3);}
			case(6,11,16,21){Mi(1,2,2,3);}
			case(7,12,17,22){Mi(2,2,3,3);}
			case(8,13,18,23){Mi(3,2,4,3);}
			case(9,14,19,24){Mi(4,2,5,3);}
			sec(6);
		}
		task Mi(a,b,c,d){
			Et(10,Io,0,0,a,b,c,d);
			Obj_SetPosition(Io,GetPlayerX,GetPlayerY-Ln);
		}
	}
	task Ba{
		let Spl=Obj_Create(OBJ_SPELL);
		ascent(i in 0..29){
			alternative(i)
			case(0,29){Bi(0,1,1,2);}
			case(1,28){Bi(1,1,2,2);}
			case(2,27){Bi(2,1,3,2);}
			case(3,26){Bi(3,1,4,2);}
			case(4,25){Bi(4,1,5,2);}
			case(5,10,15,20){Bi(0,3,1,4);}
			case(6,11,16,21){Bi(1,3,2,4);}
			case(7,12,17,22){Bi(2,3,3,4);}
			case(8,13,18,23){Bi(3,3,4,4);}
			case(9,14,19,24){Bi(4,3,5,4);}
			sec(6);
		}
		task Bi(a,b,c,d){
			loop(174){
				Et(10,Spl,3,0,a,b,c,d);
				Obj_SetPosition(Spl,GetPlayerX,GetPlayerY+30);
			}
			ObjSpell_SetIntersecrionLine(Spl,GetPlayerX-5,GetPlayerY-400,GetPlayerX+5,GetPlayerY+150,60,250,true);
			yield;
		}
	}
}
script_spell FireBlade{//t@C[u[h
	#include_function".\BombCore.txt"
	@Initialize{
		SetPlayerInvincibility(200);//3Sec
		tTime;
	}
	task tTime{Ba;sec(200);End;}
	task Ba{
		let Spl=Obj_Create(OBJ_SPELL);
		ascent(i in 0..20){
			alternative(i)
			case(0){Bi(0,0,1,1,0,0);}
			case(1){Bi(1,0,2,1,0,0);}
			case(2){Bi(2,0,3,1,0,0);}
			case(3){Bi(3,0,4,1,0,0);}
			case(4){Bi(0,1,1,2,0,0);}
			case(5){Bi(0,0,1,1,1,400);}
			case(6){Bi(1,0,2,1,1,400);}
			case(7){Bi(2,0,3,1,1,400);}
			case(8){Bi(3,0,4,1,1,400);}
			case(9){Bi(0,1,1,2,1,400);}
			case(10){Bi(1,1,2,2,1,400);}
			case(11){Bi(2,1,3,2,1,400);}
			case(12){Bi(3,1,4,2,1,400);}
			case(13){Bi(1,1,2,2,0,0);}
			case(14){Bi(2,1,3,2,0,0);}
			case(15){Bi(3,1,4,2,0,0);}
			case(16){Bi(0,2,1,3,0,0);}
			case(17){Bi(1,2,2,3,0,0);}
			case(18){Bi(2,2,3,3,0,0);}
			case(19){Bi(3,2,4,3,0,0);}
			sec(10);
		}
		task Bi(a,b,c,d,id,pow){
			alternative(id)
			case(0){
				Et(12,Spl,3,0,98*a,130*b,98*c,130*d);
				Obj_SetPosition(Spl,GetPlayerX+1,GetPlayerY-85);
				}
			case(1){
				Et(12,Spl,3,0,130*a+390,322*b,130*c+390,322*d);
				Obj_SetPosition(Spl,GetPlayerX,GetPlayerY-260);
			}
			ObjSpell_SetIntersecrionLine(Spl,GetPlayerX-5,GetPlayerY-400,GetPlayerX+5,GetPlayerY+150,60,pow,true);
			yield;
		}
	}
}
script_spell Aggregat{//A9A10Pbg
	#include_function".\BombCore.txt"
	@Initialize{
		SetPlayerInvincibility(300);//5Sec
		tTime;
	}
	task tTime{Ba;sec(300);End;}
	task Ba{
		let Spl=Obj_Create(OBJ_SPELL);
		Obj_SetPosition(Spl,GetPlayerX,GetClipMaxY+150);
		let spin=0;
		ascent(i in 0..300){
			alternative(spin)
			case(0){Bi(0,0,1,1);}
			case(1){Bi(1,0,2,1);}
			case(2){Bi(2,0,3,1);}
			case(3){Bi(3,0,4,1);}
			case(4){Bi(4,0,5,1);}
			case(5){Bi(5,0,6,1);}
			case(6){Bi(6,0,7,1);}
			case(7){Bi(7,0,8,1);}
			case(8){Bi(0,1,1,2);}
			case(9){Bi(1,1,2,2);}
			case(10){Bi(2,1,3,2);}
			case(11){Bi(3,1,4,2);}
			case(12){Bi(4,1,5,2);}
			case(13){Bi(5,1,6,2);}
			case(14){Bi(6,1,7,2);}
			case(15){Bi(7,1,8,2);}
			case(16){Bi(0,2,1,3);}
			case(17){Bi(1,2,2,3);}
			case(18){Bi(2,2,3,3);}
			case(19){Bi(3,2,4,3);}
			case(20){Bi(4,2,5,3);}
			case(21){Bi(5,2,6,3);}
			case(22){Bi(6,2,7,3);}
			case(23){Bi(7,2,8,3);}
			case(24){Bi(0,3,1,4);}
			case(25){Bi(1,3,2,4);}
			case(26){Bi(2,3,3,4);}
			case(27){Bi(3,3,4,4);}
			case(28){Bi(4,3,5,4);}
			case(29){Bi(5,3,6,4);}
			case(30){Bi(6,3,7,4);}
			case(31){Bi(7,3,8,4);}
			case(32){spin=0;}
			spin++;
			counter++;
			sec(1);
		}
		task Bi(a,b,c,d){
			Et(14,Spl,3,0,a,b,c,d);
			Obj_SetPosition(Spl,Obj_GetX(Spl),Obj_GetY(Spl)-counter/30);
			ObjSpell_SetIntersecrionCircle(Spl,Obj_GetX(Spl),Obj_GetY(Spl),100,200,true);
			yield;
		}
	}
}
script_spell ZM{//ZeroMissile//[~TC
	#include_function".\BombCore.txt"
	let zmX = GetArgument[0];
	let zmY = GetArgument[1];
	let Se = Cut~"Se27.wav";
	@Initialize{
		SetPlayerInvincibility(168);//3Sec
		tTime;
	}
	task tTime{Ba;sec(168);End;}
	task Ba{
		let Spl=Obj_Create(OBJ_SPELL);
		Obj_SetPosition(Spl,zmX,zmY);
		
		ascent(i in 0..21){
			alternative(i)
			case(0){Bi(0,0,1,1);}
			case(1){Bi(1,0,2,1);PlaySE(Se);}
			case(20){Bi(2,0,3,1);}
			case(18){Bi(3,0,4,1);}
			case(21){Bi(0,1,1,2);}
			case(19){Bi(1,1,2,2);}
			case(4,8,12,16){Bi(2,1,3,2);}
			case(2,6,10,14){Bi(3,1,4,2);}
			case(5,9,13,17){Bi(0,2,1,3);}
			case(3,7,11,15){Bi(1,2,2,3);}
			sec(8);
		}
		task Bi(a,b,c,d){
			Et(15,Spl,3,0,a,b,c,d);
			ObjSpell_SetIntersecrionCircle(Spl,Obj_GetX(Spl),Obj_GetY(Spl),150,200,true);
			yield;
		}
	}
}
script_spell ShinSamuraiSword{//^TC\[h
	#include_function".\BombCore.txt"
	@Initialize{
		SetPlayerInvincibility(64);
		tTime;
	}
	task tTime{Ia;Ba;Sa(1);Sa(2);Sa(3);sec(64);End;}
	task Ia{
		let Io=Obj_Create(OBJ_EFFECT);
		Obj_SetPosition(Io,GetPlayerX,GetPlayerY);
		ascent(i in 0..16){
			alternative(i)
			case(1){Mi(0,0,1,1);}
			case(2){Mi(1,0,2,1);}
			case(3){Mi(2,0,3,1);}
			case(4){Mi(3,0,4,1);}
			case(5){Mi(4,0,5,1);}	
			case(6){Mi(0,1,1,2);}
			case(7){Mi(1,1,2,2);}
			case(8){Mi(2,1,3,2);}
			case(9){Mi(3,1,4,2);}
			case(10){Mi(4,1,5,2);}		
			case(11){Mi(0,2,1,3);}
			case(12){Mi(1,2,2,3);}
			case(13){Mi(2,2,3,3);}
			case(14){Mi(3,2,4,3);}
			case(15){Mi(4,2,5,3);}
			sec(4);
			counter++;
		}
		task Mi(a,b,c,d){//MuteImg
			Et(17,Io,6,0,a,b,c,d);
			Obj_SetPosition(Io,Obj_GetX(Io),Obj_GetY(Io));
		}
	}
	task Ba{
		let Spl=Obj_Create(OBJ_SPELL);
		Obj_SetPosition(Spl,GetPlayerX,GetPlayerY-80);
		ascent(i in 0..64){
			if(i>0&&i<16){
				Bi(0,3,1,4,60);
			}
			else if(i>17&&i<32){
				Bi(1,3,2,4,60);
			}
			else if(i>33&&i<58){
				Bi(2,3,3,4,60);
			}
			else if(i>59){
				Bi(3,3,4,4,80);
			}
			loop(1){yield;}
		}
		task Bi(a,b,c,d,Circle){
			loop(64){
				Et(17,Spl,5,0,a,b,c,d);
			}
			Obj_SetPosition(Spl,Obj_GetX(Spl),Obj_GetY(Spl)-counter*4);
			ObjSpell_SetIntersecrionCircle(Spl,Obj_GetX(Spl),Obj_GetY(Spl),Circle,40,true);
		}
	}
	task Sa(sh){//SwordAct
		let Sw=Obj_Create(OBJ_SPELL);
		Obj_SetPosition(Sw,GetPlayerX,GetPlayerY-100);
			ascent(i in 0..64){
			alternative(sh)
			case(1){Bi(0,4,1,5,80,1);}
			case(2){Bi(1,4,2,5,80,2);}
			case(3){Bi(2,4,3,5,80,3);}
			sec(1);
		}
		task Bi(a,b,c,d,Circle,sp){
			loop(64){
				Et(17,Sw,4,0,a,b,c,d);
			}
			Obj_SetPosition(Sw,Obj_GetX(Sw),Obj_GetY(Sw)-counter*sp);
			ObjSpell_SetIntersecrionCircle(Sw,Obj_GetX(Sw),Obj_GetY(Sw),Circle,60,true);
		}
	}
}
script_spell NineSpell{//㎚̏p@
	#include_function".\BombCore.txt"
	let Se = GetArgument;
	@Initialize{
		SetPlayerInvincibility(240);//4Sec
		tTime;
	}
	task tTime{Ba;Ia;sec(240);End;}
	task Ia{
		let Io=Obj_Create(OBJ_EFFECT);
		Obj_SetPosition(Io,GetPlayerX,GetPlayerY-160);
		ascent(i in 0..35){
			alternative(i)
			case(10,11){Mi(1,2,2,3);}
			case(12,13){Mi(2,2,3,3);}
			case(14,15){Mi(3,2,4,3);}
			case(16,17){Mi(4,2,5,3);}
			case(18,19){Mi(0,3,1,4);}
			
			case(20,21){Mi(1,3,2,4);}
			case(22,23){Mi(2,3,3,4);}
			case(24,25){Mi(3,3,4,4);}
			case(26,27){Mi(4,3,5,4);}
			sec(8);
		}
		task Mi(a,b,c,d){//MuteImg
			Et(18,Io,5,0,a,b,c,d);
			Obj_SetPosition(Io,Obj_GetX(Io),Obj_GetY(Io));
		}
	}
	task Ba{
		let Spl=Obj_Create(OBJ_SPELL);
		Obj_SetPosition(Spl,GetPlayerX,GetPlayerY-160);

		ascent(i in 0..35){
			alternative(i)
			case(0){Bi(0,0,1,1,0);}
			case(1){Bi(1,0,2,1,0);}
			case(2){Bi(2,0,3,1,0);}
			case(3){Bi(3,0,4,1,0);}
			case(4){Bi(4,0,5,1,0);}
			
			case(5){Bi(0,1,1,2,100);}
			case(6){Bi(1,1,2,2,100);}
			case(7){Bi(2,1,3,2,100);}
			case(8){Bi(3,1,4,2,100);}
			case(9){Bi(4,1,5,2,100);}
			case(10){Bi(0,2,1,3,100);PlaySE(Se);}
			
			case(11,19,27){Bi(0,4,1,5,300);}
			case(12,20,28){Bi(0,5,1,6,300);}
			case(13,21,29){Bi(1,4,2,5,300);}
			case(14,22,30){Bi(1,5,2,6,300);}
			case(15,23,31){Bi(2,4,3,5,300);}
			case(16,24,32){Bi(2,5,3,6,300);}
			case(17,25,33){Bi(3,4,4,5,300);}
			case(18,26,34){Bi(3,5,4,6,300);}
			sec(8);
		}
		task Bi(a,b,c,d,Circle){
			loop(240){
				Et(18,Spl,4,0,a,b,c,d);
			}
			Obj_SetPosition(Spl,Obj_GetX(Spl),Obj_GetY(Spl));
			ObjSpell_SetIntersecrionCircle(Spl,Obj_GetX(Spl),Obj_GetY(Spl),Circle,200,true);
			yield;
		}
	}
}
script_spell ShockT{//kd
	#include_function".\BombCore.txt"
	@Initialize{SetPlayerInvincibility(240);tTime;}
	task tTime{loop(10){Ba;sec(24);}End;}
	task Ba{
		let Spl=Obj_Create(OBJ_SPELL);
		Obj_SetPosition(Spl,GetCenterX+rand(-2,2)*80,240);
		ascent(i in 0..16){
			alternative(i)
			case(0){Bi(0,1);}
			case(1){Bi(1,2);}
			case(2){Bi(2,3);}
			case(3){Bi(3,4);}
			case(4){Bi(4,5);}
			case(5){Bi(5,6);}
			case(6){Bi(6,7);}
			case(7){Bi(7,8);}
			case(8){Bi(8,9);}
			case(9){Bi(9,10);}
			case(10){Bi(10,11);}
			case(11){Bi(11,12);}
			case(12){Bi(12,13);}
			case(13){Bi(13,14);}
			case(14){Bi(14,15);}
			case(15){Bi(15,16);Obj_Delete(Spl);}
			loop(3){yield;}
		}
		task Bi(a,c){
			loop(24){Et(19,Spl,4,0,a,0,c,1);}
			ObjSpell_SetIntersecrionLine(
				Spl,Obj_GetX(Spl)-34,Obj_GetY(Spl)-226,Obj_GetX(Spl)+34,Obj_GetY(Spl)+226,20,50,true
			);
			yield;
		}
	}
}
script_spell HanaD{//E@ ؂̕
	#include_function".\BombCore.txt"
	@Initialize{
		SetPlayerInvincibility(192);//3Sec
		tTime;
	}
	task tTime{Ia;sec(192);End;}
	task Ia{
		let Spl=Obj_Create(OBJ_SPELL);
		Obj_SetPosition(Spl,224,240);
		ascent(i in 0..24){
			alternative(i)
			case(0){Mi(0,0,1,1);}
			case(1){Mi(1,0,2,1);}
			case(2){Mi(2,0,3,1);}
			case(3){Mi(3,0,4,1);}
			case(4){Mi(4,0,5,1);}
			case(5){Mi(5,0,6,1);}
			case(6){Mi(0,1,1,2);}
			case(7){Mi(1,1,2,2);}
			case(8){Mi(2,1,3,2);}
			case(9){Mi(3,1,4,2);}
			case(10){Mi(4,1,5,2);}
			case(11){Mi(5,1,6,2);}
			case(12){Mi(0,2,1,3);}
			case(13){Mi(1,2,2,3);}
			case(14){Mi(2,2,3,3);}
			case(15){Mi(3,2,4,3);}
			case(16){Mi(4,2,5,3);}
			case(17){Mi(5,2,6,3);}
			case(18){Mi(0,3,1,4);}
			case(19){Mi(1,3,2,4);}
			case(20){Mi(2,3,3,4);}
			case(21){Mi(3,3,4,4);}
			case(22){Mi(4,3,5,4);}
			case(23){Mi(5,3,6,4);}
			sec(7);
		}
		task Mi(a,b,c,d){//MutekiImg
			loop(192){Et(20,Spl,6,0,a,b,c,d);
			yield;
			}
		}
	}
}
script_spell SamuraiFlash{//TCtbV
	#include_function".\BombCore.txt"
	let Se = GetArgument;
	@Initialize{SetPlayerInvincibility(192);tTime;}
	task tTime{Ia;sec(60);Ba;sec(132);End;}
	task Ia{
		let Io=Obj_Create(OBJ_SPELL);
		Obj_SetPosition(Io,GetEnemyX-10,GetEnemyY+80);
		ascent(i in 0..32){
			alternative(i)
			case(0){Mi(0,0,1,1);}
			case(1){Mi(1,0,2,1);}
			case(2){Mi(2,0,3,1);}
			case(3){Mi(3,0,4,1);}
			case(4){Mi(4,0,5,1);}
			case(5){Mi(5,0,6,1);}
			case(6){Mi(6,0,7,1);}
			case(7){Mi(7,0,8,1);}
			case(8){Mi(0,1,1,2);}
			case(9){Mi(1,1,2,2);}
			case(10){Mi(2,1,3,2);}
			case(11){Mi(3,1,4,2);}
			case(12){Mi(4,1,5,2);}
			case(13){Mi(5,1,6,2);}
			case(14){Mi(6,1,7,2);}
			case(15){Mi(7,1,8,2);}
			case(16){Mi(0,2,1,3);}
			case(17){Mi(1,2,2,3);}
			case(18){Mi(2,2,3,3);}
			case(19){Mi(3,2,4,3);}
			case(20){Mi(4,2,5,3);}
			case(21){Mi(5,2,6,3);}
			case(22){Mi(6,2,7,3);}
			case(23){Mi(7,2,8,3);}
			case(24){Mi(0,3,1,4);}
			case(25){Mi(1,3,2,4);}
			case(26){Mi(2,3,3,4);}
			case(27){Mi(3,3,4,4);}
			case(28){Mi(4,3,5,4);}
			case(29){Mi(5,3,6,4);}
			case(30){Mi(6,3,7,4);}
			case(31){Mi(7,3,8,4);}
			sec(6);
		}
		task Mi(a,b,c,d){loop(192){Et(21,Io,5,0,a,b,c,d);yield;}}
	}
	task Ba{
		let Spl=Obj_Create(OBJ_SPELL);
		ascent(i in 0..20){//
			alternative(i)
			case(0){Bi(0,0,1,1,0);}
			case(1){Bi(1,0,2,1,0);PlaySE(Se);}
			case(2){Bi(2,0,3,1,0);}
			case(3){Bi(3,0,4,1,0);}
			case(4){Bi(4,0,5,1,0);}
			case(5){Bi(0,1,1,2,0);}
			case(6){Bi(1,1,2,2,0);}
			case(7){Bi(2,1,3,2,0);}
			case(8){Bi(3,1,4,2,0);}
			case(9){Bi(4,1,5,2,0);}
			case(10){Bi(0,0,1,1,90);}
			case(11){Bi(1,0,2,1,90);PlaySE(Se);}
			case(12){Bi(2,0,3,1,90);}
			case(13){Bi(3,0,4,1,90);}
			case(14){Bi(4,0,5,1,90);}
			case(15){Bi(0,1,1,2,90);}
			case(16){Bi(1,1,2,2,90);}
			case(17){Bi(2,1,3,2,90);}
			case(18){Bi(3,1,4,2,90);}
			case(19){Bi(4,1,5,2,90);}
			sec(6);
		}
		task Bi(a,b,c,d,ag){
			ObjSpell_SetIntersecrionCircle(Spl,Obj_GetX(Spl),Obj_GetY(Spl),150,250,true);
			Obj_SetPosition(Spl,GetEnemyX,GetEnemyY);
			loop(120){Et(22,Spl,4,ag,a,b,c,d);}
			yield;
		}
	}
}
script_spell SweetCarnival{//XEB[gJ[jo
	#include_function".\BombCore.txt"
	@Initialize{
		SetPlayerInvincibility(180);//3Sec
		tTime;
	}
	task tTime{Ia;sec(180);End;}
	task Ia{
		let Spl=Obj_Create(OBJ_SPELL);
		Obj_SetPosition(Spl,224,240);
		ascent(i in 0..31){
			alternative(i)
			case(0){Mi(0,0);}
			case(1){Mi(1,0);}
			case(2){Mi(2,0);}
			case(3){Mi(3,0);}
			case(4){Mi(4,0);}
			case(5){Mi(5,0);}
			case(6){Mi(6,0);}
			case(7){Mi(7,0);}
			case(8){Mi(0,0);}
			case(9){Mi(1,1);}
			case(10){Mi(2,1);}
			case(11){Mi(3,1);}
			case(12){Mi(4,1);}
			case(13){Mi(5,1);}
			case(14){Mi(6,1);}
			case(15){Mi(7,1);}
			case(16){Mi(0,2);}
			case(17){Mi(1,2);}
			case(18){Mi(2,2);}
			case(19){Mi(3,2);}
			case(20){Mi(4,2);}
			case(21){Mi(5,2);}
			case(22){Mi(6,2);}
			case(23){Mi(7,2);}
			case(24){Mi(0,3);}
			case(25){Mi(1,3);}
			case(26){Mi(2,3);}
			case(27){Mi(3,3);}
			case(28){Mi(4,3);}
			case(29){Mi(5,3);}
			case(30){Mi(6,3);}
			case(31){Mi(7,3);}
			sec(6);
		}
		task Mi(a,b){//MutekiImg
			loop(18){Et(23,Spl,6,0,a,b,a+1,b+1);
			yield;
			}
		}
	}
}
script_spell BloodyX{//ubfB[NX
	#include_function".\BombCore.txt"
	@Initialize{
		SetPlayerInvincibility(240);
		tTime;
	}
	task tTime{Ia;Ia2;Ba;sec(240);End;}
	task Ia{
		let Io=Obj_Create(OBJ_SPELL);
		ascent(i in 0..24){
			alternative(i)
			case(0){Mi(0,0);}
			case(1){Mi(1,0);}
			case(2){Mi(2,0);}
			case(3){Mi(3,0);}
			case(4,9,14){Mi(4,0);}
			case(5,10,15){Mi(0,1);}
			case(6,11,16){Mi(1,1);}
			case(7,12,17){Mi(2,1);}
			case(8,13,18){Mi(3,1);}
			case(19){Mi(4,1);}
			case(20){Mi(0,2);}
			case(21){Mi(1,2);}
			case(22){Mi(2,2);}
			sec(10);
		}
		task Mi(a,b){
			loop(24){
				Et(24,Io,5,0,a,b,a+1,b+1);
				Obj_SetPosition(Io,GetPlayerX,GetPlayerY+20);
			}
			yield;
		}
	}
	task Ia2{
		let Io=Obj_Create(OBJ_SPELL);
		ascent(i in 0..24){
			alternative(i)
			case(0){Mi(0,0);}
			case(1){Mi(1,0);}
			case(2,8,14){Mi(2,0);}
			case(3,9,15){Mi(3,0);}
			case(4,10,16){Mi(4,0);}
			case(5,11,17){Mi(0,1);}
			case(6,12,18){Mi(1,1);}
			case(7,13,19){Mi(2,1);}
			case(20){Mi(3,1);}
			case(21){Mi(4,1);}
			sec(10);
		}
		task Mi(a,b){
			loop(24){
				Et(25,Io,4,0,a,b,a+1,b+1);
				Obj_SetPosition(Io,GetPlayerX,GetPlayerY);
			}
			yield;
		}
	}
	task Ba{
		let Spl=Obj_Create(OBJ_SPELL);
		ascent(i in 0..24){
			alternative(i)
			case(0,23){Bi(0,0);}
			case(1,22){Bi(1,0);}
			case(2,21){Bi(2,0);}
			case(3,20){Bi(3,0);}
			case(4,12){Bi(0,1);}
			case(5,13){Bi(1,1);}
			case(6,14){Bi(2,1);}
			case(7,15){Bi(3,1);}
			case(8,16){Bi(0,2);}
			case(9,17){Bi(1,2);}
			case(10,18){Bi(2,2);}
			case(11,19){Bi(3,2);}
			sec(10);
		}
		task Bi(a,b){
			loop(240){
				Et(26,Spl,3,0,a,b,a+1,b+1);
				Obj_SetPosition(Spl,GetPlayerX,GetPlayerY);
				ObjSpell_SetIntersecrionLine(Spl,GetPlayerX-5,GetPlayerY-400,GetPlayerX+5,GetPlayerY+400,30,1,true);
				ObjSpell_SetIntersecrionLine(Spl,GetPlayerX-400,GetPlayerY-5,GetPlayerX+400,GetPlayerY+5,30,1,true);
			}
			yield;
		}
	}
}
script_spell PowerL{//p[[U[
	#include_function".\BombCore.txt"
	let Se = GetArgument;
	@Initialize{
		SetPlayerInvincibility(120);
		tTime;
	}
	task tTime{
		Ia;
		ascent(Ls in 0..3){Ia2(Ls,50,Ls*10,0);}
		descent(Ls in 0..3){Ia2(Ls,-50,Ls*-10,1);}
		Ba;
		sec(120);End;
	}
	task Ia{
		let Io=Obj_Create(OBJ_SPELL);
		ascent(i in 0..20){
			alternative(i)
			case(0){Mi(0,0);}
			case(1){Mi(0,1);}
			case(2){Mi(0,2);}
			case(3){Mi(0,3);}
			case(4){Mi(0,4);}
			case(5,17){Mi(0,5);}
			case(6,11,14){Mi(1,0);}
			case(7,18){Mi(1,1);}
			case(8,12,15){Mi(1,2);}
			case(9,19){Mi(1,3);}
			case(10,13,16){Mi(1,4);}
			case(20){Mi(1,5);}
			sec(6);
		}
		task Mi(a,b){
			loop(120){
				Et(27,Io,5,0,a,b,a+1,b+1);
				Obj_SetPosition(Io,GetPlayerX,GetPlayerY);
			}
			yield;
		}
	}
	task Ia2(a,b,c,d){
		let Io=Obj_Create(OBJ_SPELL);
		ascent(i in 0..20){
			alternative(d)
			case(0){
				alternative(i)
				case(0){Mi(0);}
				case(1){Mi(30);}
				case(2){Mi(60);}
				case(3){Mi(90);}
				case(4){Mi(120);}
				case(5){Mi(150);}
				case(6){Mi(180);}
				case(7){Obj_Delete(Io);}
			}
			case(1){
				alternative(i)
				case(0){Mi(0);}
				case(1){Mi(330);}
				case(2){Mi(300);}
				case(3){Mi(270);}
				case(4){Mi(240);}
				case(5){Mi(210);}
				case(6){Mi(180);}
				case(7){Obj_Delete(Io);}
			}
			sec(6);
		}
		task Mi(ag){
			loop(120){
				Et(28,Io,4,ag+c,a,0,a+1,1);
				Obj_SetPosition(Io,GetPlayerX-b-300*sin(ag+c),GetPlayerY-20+300*cos(ag+c));
			}
			yield;
		}
	}
	task Ba{
		let Spl=Obj_Create(OBJ_SPELL);
		ascent(i in 0..20){
			alternative(i)
			case(7,8){Bi(3);PlaySE(Se);}
			case(9,10){Bi(4);}
			case(11){Bi(5);}
			case(12){Bi(6);}
			case(13){Bi(7);}
			case(14){Bi(8);}
			case(15){Bi(9);}
			case(16){Bi(10);}
			case(17){Bi(11);}
			case(18){Bi(12);}
			case(19){Bi(13);}
			sec(6);
		}
		task Bi(a){
			loop(120){
				Et(28,Spl,3,0,a,0,a+1,1);
				Obj_SetPosition(Spl,GetPlayerX,GetPlayerY-320);
				ObjSpell_SetIntersecrionLine(Spl,GetPlayerX-5,GetPlayerY-400,GetPlayerX+5,GetPlayerY+100,30,5/2,true);
			}
			yield;
		}
	}
}
script_spell DancingGenie{//_VOWj[
	#include_function".\BombCore.txt"
	let Se = GetArgument;
	@Initialize{
		SetPlayerInvincibility(340);//6Sec
		tTime;
	}
	task tTime{Ia;Ba;sec(340);End;}
	task Ia{
		let Io=Obj_Create(OBJ_SPELL);
		Obj_SetPosition(Io,GetPlayerX,GetPlayerY-160);
		ascent(i in 0..42){
			alternative(i)
			case(9){Mi(0,0,2);PlaySE(Se);}
			case(10){Mi(1,0,2);}
			case(11){Mi(2,0,2);}
			case(12){Mi(3,0,2);}
			case(13){Mi(4,0,2);}
			case(14){Mi(5,0,2);}
			case(15){Mi(6,0,2);}
			case(16){Mi(0,1,2);}
			case(17){Mi(1,1,2);}
			case(18){Mi(2,1,2);}
			case(19){Mi(3,1,2);}
			case(20){Mi(4,1,2);}
			case(21){Mi(5,1,2);}
			case(22){Mi(6,1,2);}
			case(23){Mi(0,2,2);}
			case(24){Mi(1,2,2);}
			case(25){Mi(2,2,2);}
			case(26){Mi(3,2,2);}
			case(27){Mi(4,2,2);}
			case(28){Mi(5,2,2);}
			case(29){Mi(6,2,2);}
			case(30){Mi(0,3,2);}
			case(31){Mi(1,3,2);}
			case(32){Mi(2,3,2);}
			case(33){Mi(3,3,2);}
			case(34){Mi(4,3,2);}
			case(35){Mi(5,3,2);}
			case(36){Mi(0,3,1.5);}
			case(37){Mi(1,3,1.5);}
			case(38){Mi(2,3,1.5);}
			case(39){Mi(3,3,1.5);}
			case(40){Mi(4,3,1);}
			case(41){Obj_Delete(Io);}
			sec(8);
		}
		task Mi(a,b,Sz){
			Et(31,Io,6,0,a,b,a+1,b+1);
			ObjEffect_SetScale(Io,Sz,Sz);
			yield;
		}
	}
	task Ba{
		let Spl=Obj_Create(OBJ_SPELL);
		Obj_SetPosition(Spl,GetPlayerX,GetPlayerY-50);
		ascent(i in 0..42){
			alternative(i)
			case(0){Bi(0,0);}
			case(1){Bi(1,0);}
			case(2){Bi(2,0);}
			case(3){Bi(3,0);}
			case(4){Bi(4,0);}
			case(5){Bi(5,0);}
			case(6){Bi(6,0);}
			case(7){Bi(0,1);}
			case(8){Bi(1,1);}
			case(9){Bi(2,1);}
			case(10){Bi(3,1);}
			case(11){Bi(4,1);}
			case(12){Bi(5,1);}
			case(13){Bi(6,1);}
			case(14){Bi(0,2);}
			case(15){Bi(1,2);}
			case(16){Bi(2,2);}
			case(17){Bi(3,2);}
			case(18){Bi(4,2);}
			case(19){Bi(5,2);}
			case(20){Bi(6,2);}
			case(21){Bi(0,3);}
			case(22){Bi(1,3);}
			case(23){Bi(2,3);}
			case(24){Bi(3,3);}
			case(25){Bi(4,3);}
			case(26){Bi(5,3);}
			case(27){Bi(6,3);}
			case(28){Bi(0,4);}
			case(29){Bi(1,4);}
			case(30){Bi(2,4);}
			case(31){Bi(3,4);}
			case(32){Bi(4,4);}
			case(33){Bi(5,4);}
			case(34){Bi(6,4);}
			case(35){Bi(0,5);}
			case(36){Bi(1,5);}
			case(37){Bi(2,5);}
			case(38){Bi(3,5);}
			case(39){Bi(4,5);}
			case(40){Bi(5,5);}
			case(41){Bi(6,5);}
			sec(8);
		}
		task Bi(a,b){
			Et(30,Spl,5,0,a,b,a+1,b+1);
			ObjSpell_SetIntersecrionCircle(Spl,Obj_GetX(Spl),Obj_GetY(Spl)+50,70,10,true);
			yield;
		}
	}
}
script_spell STomahawk{//X[p[g}z[N
	#include_function".\BombCore.txt"
	let Se = GetArgument[0];
	let Seb = GetArgument[1];
	@Initialize{
		SetPlayerInvincibility(180);
		tTime;
	}
	task tTime{
		Ba;sec(180);End;
	}
	task Ba{
		let Spl=Obj_Create(OBJ_SPELL);
		Obj_SetPosition(Spl,GetPlayerX+1,GetPlayerY);
		ascent(i in 0..45){
			alternative(i)
			case(0){Bi(0,0,0,0);}
			case(1){Bi(1,0,0,0);}
			case(2){Bi(2,0,0,0);}
			case(3){Bi(3,0,0,0);}
			case(4){Bi(4,0,0,0);}
			case(5){Bi(5,0,0,0);}
			case(6){Bi(6,0,0,0);}
			case(7){Bi(7,0,0,0);}
			case(8){Bi(0,1,0,0);}
			case(9){Bi(1,1,0,0);}
			case(10){Bi(2,1,0,0);}
			case(11){Bi(3,1,0,0);}
			case(12){Bi(4,1,0,0);}
			case(13){Bi(5,1,0,0);}
			case(14){Bi(6,1,0,0);}
			case(15){Bi(7,1,0,0);}
			case(16){
				Bi(0,0,1,200);
				Obj_SetY(Spl,Obj_GetY(Spl)-80);
				PlaySE(Se);
			}
			case(17){Bi(1,0,1,200);PlaySE(Seb);}
			case(18){Bi(2,0,1,200);}
			case(19){Bi(3,0,1,200);}
			case(20){Bi(4,0,1,200);}
			case(21){Bi(5,0,1,200);}
			case(22){Bi(0,1,1,200);}
			case(23){Bi(1,1,1,200);}
			case(24){Bi(2,1,1,200);}
			case(25){Bi(3,1,1,200);}
			case(26){Bi(4,1,1,200);Ia(0);}
			case(27){Bi(5,1,1,200);Ia(1);}
			case(28){Bi(0,2,1,200);Ia(2);}
			case(29){Bi(1,2,1,200);Ia(3);}
			case(30){Bi(2,2,1,200);}
			case(31){Bi(3,2,1,200);}
			case(32){Bi(4,2,1,200);}
			case(33){Bi(5,2,1,200);}
			case(34){Bi(0,3,1,200);}
			case(35){Bi(1,3,1,200);}
			case(36){Bi(2,3,1,200);}
			case(37){Bi(3,3,1,200);}
			case(38){Bi(4,3,1,200);}
			case(39){Bi(5,3,1,200);}
			case(40){Bi(0,4,1,200);}
			case(41){Bi(1,4,1,200);}
			case(42){Bi(2,4,1,200);}
			case(43){Bi(3,4,1,200);}
			case(44){Bi(4,4,1,200);}
			sec(4);
			if(i<15){counter++;}
			else if(i>=15){counter=0;}
		}
		task Bi(a,b,id,Cir){
			alternative(id)
			case(0){Et(32,Spl,3,0,a,b,a+1,b+1);}
			case(1){Et(33,Spl,4,0,a,b,a+1,b+1);}
			
			Obj_SetPosition(Spl,Obj_GetX(Spl),Obj_GetY(Spl)-counter);
			ObjSpell_SetIntersecrionCircle(Spl,Obj_GetX(Spl),Obj_GetY(Spl),Cir,330,true);
			yield;
		}
		task Ia(i){
			let Io=Obj_Create(OBJ_SPELL);
			alternative(i)
			case(0){Mi(0,0);}
			case(1){Mi(1,0);}
			case(2){Mi(0,1);}
			case(3){Mi(1,1);}
			task Mi(a,b){
				loop(10){
					Et(34,Io,4,0,a,b,a+1,b+1);
					Obj_SetPosition(Io,Obj_GetX(Spl),Obj_GetY(Spl));
					yield;Obj_Delete(Io);
				}
			}
		}
	}
}
script_spell TVolt{//T_[{g
	#include_function".\BombCore.txt"
	@Initialize{SetPlayerInvincibility(200);tTime;}
	task tTime{Ia(-1,0);Ia(1,180);sec(200);End;}
	task Ia(mr,agmr){
		let Spl=Obj_Create(OBJ_SPELL);
		Obj_SetPosition(Spl,GetCenterX+120*mr,240);
		ascent(i in 0..40){
			alternative(i)
			case( 0){Mi(0,0);}
			case( 1){Mi(1,0);}
			case( 2){Mi(2,0);}
			case( 3){Mi(3,0);}
			case( 4){Mi(4,0);}
			case( 5){Mi(5,0);}
			case( 6){Mi(6,0);}
			case( 7){Mi(7,0);}
			case( 8){Mi(8,0);}
			case( 9){Mi(9,0);}
			case(10){Mi(0,1);}
			case(11){Mi(1,1);}
			case(12){Mi(2,1);}
			case(13){Mi(3,1);}
			case(14){Mi(4,1);}
			case(15){Mi(5,1);}
			case(16){Mi(6,1);}
			case(17){Mi(7,1);}
			case(18){Mi(8,1);}
			case(19){Mi(9,1);}
			case(20){Mi(0,2);}
			case(21){Mi(1,2);}
			case(22){Mi(2,2);}
			case(23){Mi(3,2);}
			case(24){Mi(4,2);}
			case(25){Mi(5,2);}
			case(26){Mi(6,2);}
			case(27){Mi(7,2);}
			case(28){Mi(8,2);}
			case(29){Mi(9,2);}
			case(30){Mi(0,3);}
			case(31){Mi(1,3);}
			case(32){Mi(2,3);}
			case(33){Mi(3,3);}
			case(34){Mi(4,3);}
			case(35){Mi(5,3);}
			case(36){Mi(6,3);}
			case(37){Mi(7,3);}
			case(38){Mi(8,3);}
			case(39){Mi(9,3);}
			sec(5);
		}
		task Mi(a,b){
			Et(35,Spl,6,0,a,b,a+1,b+1);
			ObjEffect_SetAngle(Spl,agmr,0,agmr);
			ObjSpell_SetIntersecrionLine(Spl,Obj_GetX(Spl)-50,Obj_GetY(Spl)-240,Obj_GetX(Spl)+50,Obj_GetY(Spl)+240,30,150,true);
		}
	}
}
script_spell ClusterB{//NX^[{
	#include_function".\BombCore.txt"
	let cbX = GetArgument[0];
	let cbY = GetArgument[1];
	let Se = Cut~"Se27.wav";
	@Initialize{
		SetPlayerInvincibility(300);
		tTime;
	}
	task tTime{Ia;Ia2;Ba;sec(300);End;}
	task Ia{
		let Io=Obj_Create(OBJ_SPELL);
		Obj_SetPosition(Io,cbX,cbY);
		ascent(i in 0..60){
			alternative(i)
			case(0,16){Mi(0,0);}
			case(1,17){Mi(1,0);}
			case(2,18){Mi(2,0);}
			case(3,19){Mi(3,0);}
			case(4,20){Mi(4,0);}
			case(5,21){Mi(0,1);}
			case(6,22){Mi(1,1);}
			case(7,23){Mi(2,1);}
			case(8,24){Mi(3,1);}
			case(9,25){Mi(4,1);}
			case(10,26){Mi(0,2);}
			case(11,27){Mi(1,2);}
			case(12,28){Mi(2,2);}
			case(13,29){Mi(3,2);}
			case(14,30){Mi(4,2);}
			case(15,31){Mi(0,3);}
			case(32){Mi(1,3);}
			case(33){Mi(2,3);}
			case(34){Mi(3,3);}
			case(35){Mi(4,3);}
			case(36){Mi(0,4);}
			case(37){Mi(1,4);}
			case(38){Mi(2,4);}
			case(39){Mi(3,4);}
			case(40){Mi(4,4);}
			case(41){Obj_Delete(Io);}
			sec(1);
		}
		task Mi(a,b){
			Et(36,Io,4,0,a,b,a+1,b+1);
			yield;
		}
	}
	task Ia2{
		let Io=Obj_Create(OBJ_SPELL);
		Obj_SetPosition(Io,cbX,cbY+20);
		ascent(i in 0..60){
			alternative(i)
			case(33){Mi(0);}
			case(34){Mi(1);}
			case(35){Mi(2);}
			case(36){Mi(3);}
			case(37){Mi(4);}
			case(38){Mi(5);}
			case(39){Mi(6);}
			case(40){Mi(7);}
			case(41){Obj_Delete(Io);}
			sec(1);
		}
		task Mi(b){
			Et(37,Io,5,0,0,b,1,b+1);
			yield;
		}
	}
	task Ba{
		let Spl=Obj_Create(OBJ_SPELL);
		Obj_SetPosition(Spl,cbX,cbY);
		ascent(i in 0..30){
			alternative(i)
			case(7){Bi(0,0);}
			case(8){Bi(1,0);}
			case(9){Bi(2,0);}
			case(10){Bi(3,0);}
			case(11){Bi(4,0);}
			case(12){Bi(5,0);}
			case(13){Bi(0,1);}
			case(14){Bi(1,1);}
			case(15){Bi(2,1);}
			case(16){Bi(3,1);}
			case(17){Bi(4,1);}
			case(18){Bi(5,1);}
			case(19){Bi(0,2);}
			case(20){Bi(1,2);}
			case(21){Bi(2,2);}
			case(22){Bi(3,2);}
			case(23){Bi(4,2);}
			case(24){Bi(5,2);}
			case(25){Obj_Delete(Spl);}
			sec(6);
		}
		task Bi(a,b){
			Et(38,Spl,3,0,a,b,a+1,b+1);
			ObjSpell_SetIntersecrionCircle(Spl,Obj_GetX(Spl),Obj_GetY(Spl),200,0,true);
			yield;
		}
	}
}
script_spell SamuF{//TC\[h99
	#include_function".\BombCore.txt"
	@Initialize{
		SetPlayerInvincibility(48);
		tTime;
	}
	task tTime{Ia;Ba;Sa(1);Sa(2);Sa(3);Sa(4);sec(48);End;}
	task Ia{
		let Io=Obj_Create(OBJ_EFFECT);
		Obj_SetPosition(Io,GetPlayerX,GetPlayerY);
		ascent(i in 0..48){
			alternative(i)
			case(1){Mi(0,0);}
			case(2){Mi(1,0);}
			case(3){Mi(2,0);}
			case(4){Mi(3,0);}
			case(5){Mi(4,0);}
			case(6){Mi(5,0);}
			case(7){Mi(6,0);}
			case(8){Mi(7,0);}
			case(9){Mi(0,1);}
			case(10){Mi(1,1);}
			case(11){Mi(2,1);}
			case(12){Mi(3,1);}
			case(13){Mi(4,1);}
			case(14){Mi(5,1);}
			case(15){Mi(6,1);}
			case(16){Mi(7,1);}
			case(17){Mi(0,2);}
			case(18){Mi(1,2);}
			case(19){Mi(2,2);}
			case(20){Mi(3,2);}
			case(21){Mi(4,2);}
			case(22){Mi(5,2);}
			case(23){Mi(6,2);}
			case(24){Mi(7,2);}
			case(25){Mi(0,3);}
			case(26){Mi(1,3);}
			case(27){Mi(2,3);}
			case(28){Mi(3,3);}
			case(29){Mi(4,3);}
			case(30){Mi(5,3);}
			case(31){Mi(6,3);}
			case(32){Mi(7,3);}
			case(33){Mi(0,4);}
			case(34){Mi(1,4);}
			case(35){Mi(2,4);}
			case(36){Mi(3,4);}
			case(37){Mi(4,4);}
			case(38){Mi(5,4);}
			case(39){Mi(6,4);}
			case(40){Mi(7,4);}
			case(41){Mi(0,5);}
			case(42){Mi(1,5);}
			case(43){Mi(2,5);}
			case(44){Mi(3,5);}
			case(45){Mi(4,5);}
			case(46){Mi(5,5);}
			sec(1);
			counter++;
		}
		task Mi(a,b){
			Et(40,Io,6,0,a,b,a+1,b+1);
			Obj_SetPosition(Io,Obj_GetX(Io),Obj_GetY(Io));
		}
	}
	task Ba{
		let Spl=Obj_Create(OBJ_SPELL);
		Obj_SetPosition(Spl,GetPlayerX,GetPlayerY-80);
		ascent(i in 0..48){
			if(i>0&&i<16){
				Bi(0,6,60);
			}
			else if(i>17&&i<32){
				Bi(1,6,60);
			}
			else if(i>33&&i<58){
				Bi(2,6,60);
			}
			else if(i>59){
				Bi(3,6,80);
			}
			loop(1){yield;}
		}
		task Bi(a,b,Circle){
			Et(40,Spl,5,0,a,b,a+1,b+1);
			Obj_SetPosition(Spl,Obj_GetX(Spl),Obj_GetY(Spl)-counter*4);
			ObjSpell_SetIntersecrionCircle(Spl,Obj_GetX(Spl),Obj_GetY(Spl),Circle,60,true);
		}
	}
	task Sa(sh){//SwordAct
		let Sw=Obj_Create(OBJ_SPELL);
		Obj_SetPosition(Sw,GetPlayerX,GetPlayerY-100);
			ascent(i in 0..48){
			alternative(sh)
			case(1){Bi(4,6,80,1);}
			case(2){Bi(5,6,80,2);}
			case(3){Bi(6,6,80,3);}
			case(4){Bi(7,6,80,4);}
			sec(1);
		}
		task Bi(a,b,Circle,sp){
			Et(40,Sw,4,0,a,b,a+1,b+1);
			Obj_SetPosition(Sw,Obj_GetX(Sw),Obj_GetY(Sw)-counter*sp);
			ObjSpell_SetIntersecrionCircle(Sw,Obj_GetX(Sw),Obj_GetY(Sw),Circle,80,true);
		}
	}
}
script_spell MegaSmasher{//KX}bV[
	#include_function".\BombCore.txt"
	let Se = GetArgument[0];
	let Seb = GetArgument[1];
	let Sebb = GetArgument[2];
	@Initialize{
		SetPlayerInvincibility(256);
		tTime;
	}
	task tTime{
		Ia;Ia2;Ba;sec(256);End;
	}
	task Ia{
		let Io=Obj_Create(OBJ_SPELL);
		ascent(i in 0..64){
			alternative(i)
			case(0){Mi(0,0);}
			case(1){Mi(1,0);}
			case(2){Mi(2,0);}
			case(3){Mi(3,0);}
			case(4){Mi(4,0);}
			case(5){Mi(5,0);}
			case(6){Mi(6,0);}
			case(7){Mi(0,1);}
			case(8){Mi(1,1);}
			case(9){Mi(2,1);}
			case(10){Mi(3,1);}
			case(11){Mi(4,1);}
			case(12){Mi(5,1);}
			case(13){Mi(6,1);}
			case(14){Mi(0,2);}
			case(15){Mi(1,2);}
			case(16){Mi(2,2);}
			case(17){Mi(3,2);}
			case(18){Mi(4,2);}
			case(19){Mi(5,2);}
			case(20){Mi(6,2);}
			case(21){Mi(0,3);}
			case(22){Mi(1,3);}
			case(23){Mi(2,3);}
			case(24){Mi(3,3);}
			case(25){Mi(4,3);PlaySE(Se);}
			case(26){Mi(5,3);}
			case(27){Mi(6,3);}
			case(28){Mi(0,4);}
			case(29){Mi(1,4);}
			case(30){Mi(2,4);}
			case(31){Mi(3,4);}
			case(32){Mi(4,4);}
			case(33){Mi(5,4);}
			case(34){Mi(6,4);}
			case(35){Mi(0,5);}
			case(36){Mi(1,5);}
			case(37){Mi(2,5);}
			case(38){Mi(3,5);}
			case(39){Mi(4,5);}
			case(40){Mi(5,5);}
			case(41){Mi(6,5);}
			case(42){Obj_Delete(Io);}
			sec(4);
			if(i<25){Obj_SetPosition(Io,GetPlayerX,GetPlayerY);}
			if(i>=25){Obj_SetPosition(Io,Obj_GetX(Io),Obj_GetY(Io));}
		}
		task Mi(a,b){
			Et(42,Io,5,0,a,b,a+1,b+1);
			yield;
		}
	}
	task Ia2{
		let Io=Obj_Create(OBJ_SPELL);
		Obj_SetPosition(Io,GetPlayerX-30,GetPlayerY-50);
		ascent(i in 0..64){
			alternative(i)
			case(0){Mi(0,0);}
			case(1){Mi(1,0);}
			case(2){Mi(2,0);}
			case(3){Mi(3,0);}
			case(4){Mi(4,0);}
			case(5){Mi(5,0);}
			case(6){Mi(6,0);}
			case(7){Mi(7,0);}
			case(8){Obj_Delete(Io);}
			sec(4);
		}
		task Mi(a,b){
			Et(41,Io,5,0,a,b,a+1,b+1);
			yield;
		}
	}
	task Ba{
		let Spl=Obj_Create(OBJ_SPELL);
		ascent(i in 0..64){
			alternative(i)
			case(25){Bi(0,1,0);}
			case(26){Bi(1,1,0);}
			case(27){Bi(2,1,0);}
			case(28){Bi(3,1,0);}
			case(29){Bi(4,1,0);}
			case(30){Bi(5,1,0);}
			case(31){Bi(6,1,0);}
			case(32){Bi(7,1,0);}
			case(33){Bi(0,2,0);}
			case(34){Bi(1,2,0);}
			case(35){Bi(2,2,0);}
			case(36){Bi(3,2,0);}
			case(37){Bi(4,2,70);PlaySE(Seb);}
			case(38){Bi(5,2,70);}
			case(39){Bi(6,2,70);}
			case(40){Bi(7,2,70);}
			case(41){Bi(0,3,70);}
			case(42){Bi(1,3,70);PlaySE(Sebb);}
			case(43){Bi(2,3,150);}
			case(44){Bi(3,3,150);}
			case(45){Bi(4,3,150);}
			case(46){Bi(5,3,150);}
			case(47){Bi(6,3,150);}
			case(48){Bi(7,3,200);}
			case(49){Bi(0,4,200);}
			case(50){Bi(1,4,200);}
			case(51){Bi(2,4,200);}
			case(52){Bi(3,4,200);}
			case(53){Bi(4,4,200);}
			case(54){Bi(5,4,200);}
			case(55){Bi(6,4,200);}
			case(56){Bi(7,4,200);}
			case(57){Bi(0,5,200);}
			case(58){Bi(1,5,200);}
			case(59){Bi(2,5,200);}
			case(60){Bi(3,5,200);}
			case(61){Bi(4,5,200);}
			case(62){Bi(5,5,200);}
			case(63){Bi(6,5,200);}
			case(64){Bi(7,5,200);}
			sec(4);
			if(i<25){Obj_SetPosition(Spl,GetPlayerX,GetPlayerY-150);}
		}
		task Bi(a,b,Cir){
			Et(41,Spl,3,0,a,b,a+1,b+1);
			Obj_SetPosition(Spl,Obj_GetX(Spl),Obj_GetY(Spl));
			ObjSpell_SetIntersecrionCircle(Spl,Obj_GetX(Spl),Obj_GetY(Spl),Cir,250,true);
			yield;
		}

	}
}
script_spell ChaosFlare{//JIXtA[
	#include_function".\BombCore.txt"
	@Initialize{
		SetPlayerInvincibility(120);//5Sec
		tTime;
	}
	task tTime{
		loop(110){
			Ba(GetClipMaxX+rand(-5,5)*66, GetClipMinY-30,rand_int(0,2));
			counter++;
			yield;
		}
		sec(10);End;
	}
	task Ba(x,y,sz){
		let Spl=Obj_Create(OBJ_SPELL);
		Obj_SetPosition(Spl,x,y);
		let spin=0;
		ascent(i in 0..100){
			alternative(spin)
			case(0){Bi(0,0);}
			case(1){Bi(1,0);}
			case(2){Bi(2,0);}
			case(3){Bi(3,0);}
			case(4){Bi(4,0);}
			case(5){Bi(0,1);}
			case(6){Bi(1,1);}
			case(7){Bi(2,1);}
			case(8){Bi(3,1);}
			case(9){Bi(4,1);}
			case(10){Bi(0,2);}
			case(11){Bi(1,2);}
			case(12){Bi(2,2);}
			case(13){Bi(3,2);}
			case(15){spin=0;}
			spin++;
			sec(2);
		}
		task Bi(a,b){
			Et(43,Spl,4,0,a,b,a+1,b+1);
			ObjEffect_SetScale(Spl,sz,sz);
			Obj_SetPosition(Spl,Obj_GetX(Spl)-counter/2,Obj_GetY(Spl)+counter/2);
			ObjSpell_SetIntersecrionCircle(Spl,Obj_GetX(Spl),Obj_GetY(Spl),20,20,true);
			yield;
		}
	}
}
script_spell TridentRush{//gCfgbV
	#include_function".\BombCore.txt"
	@Initialize{
		SetPlayerInvincibility(300);//5Sec
		tTime;
	}
	task tTime{Ba;sec(300);End;}
	task Ba{
		let Spl=Obj_Create(OBJ_SPELL);
		Obj_SetPosition(Spl,GetPlayerX,GetClipMaxY+150);
		let spin=0;
		ascent(i in 0..300){
			alternative(spin)
			case(0){Bi(0,0);}
			case(1){Bi(1,0);}
			case(2){Bi(2,0);}
			case(3){Bi(3,0);}
			case(4){Bi(4,0);}
			case(5){Bi(5,0);}
			case(6){Bi(6,0);}
			case(7){Bi(7,0);}
			case(8){Bi(0,1);}
			case(9){Bi(1,1);}
			case(10){Bi(2,1);}
			case(11){Bi(3,1);}
			case(12){Bi(4,1);}
			case(13){Bi(5,1);}
			case(14){Bi(6,1);}
			case(15){Bi(7,1);}
			case(16){Bi(0,2);}
			case(17){Bi(1,2);}
			case(18){Bi(2,2);}
			case(19){Bi(3,2);}
			case(20){Bi(4,2);}
			case(21){Bi(5,2);}
			case(22){Bi(6,2);}
			case(23){Bi(7,2);}
			case(24){Bi(0,3);}
			case(25){Bi(1,3);}
			case(26){Bi(2,3);}
			case(27){Bi(3,3);}
			case(28){Bi(4,3);}
			case(29){Bi(5,3);}
			case(30){Bi(6,3);}
			case(31){Bi(7,3);}
			case(32){spin=0;}
			spin++;
			counter++;
			sec(1);
		}
		task Bi(a,b){
			Et(44,Spl,3,0,a,b,a+1,b+1);
			Obj_SetPosition(Spl,Obj_GetX(Spl),Obj_GetY(Spl)-counter/60);
			ObjSpell_SetIntersecrionCircle(Spl,Obj_GetX(Spl),Obj_GetY(Spl),100,50,true);
			yield;
		}
	}
}
script_spell ThunderBreak{//T_[uCN
	#include_function".\BombCore.txt"
	let Se = GetArgument;
	@Initialize{
		SetPlayerInvincibility(150);//5Sec
		tTime;
	}
	task tTime{Ba;sec(150);End;}
	task Ba{
		let Spl=Obj_Create(OBJ_SPELL);
		Obj_SetPosition(Spl,GetPlayerX,GetPlayerY-160);

		ascent(i in 0..30){
			alternative(i)
			case(0){Bi(0,0,0);}
			case(1){Bi(1,0,0);}
			case(2){Bi(2,0,0);}
			case(3){Bi(3,0,60);}
			case(4){Bi(4,0,60);}
			case(5){Bi(5,0,100);}
			
			case(6){Bi(0,1,200);PlaySE(Se);}
			case(7){Bi(1,1,200);}
			case(8){Bi(2,1,200);}
			case(9){Bi(3,1,200);}
			case(10){Bi(4,1,200);}
			case(11){Bi(5,1,200);}
			
			case(12){Bi(0,2,200);}
			case(13){Bi(1,2,200);}
			case(14){Bi(2,2,200);}
			case(15){Bi(3,2,200);}
			case(16){Bi(4,2,200);}
			case(17){Bi(5,2,200);}
			
			case(18){Bi(0,3,200);}
			case(19){Bi(1,3,200);}
			case(20){Bi(2,3,200);}
			case(21){Bi(3,3,200);}
			case(22){Bi(4,3,200);}
			case(23){Bi(5,3,160);}
			
			case(24){Bi(0,4,100);}
			case(25){Bi(1,4,100);}
			case(26){Bi(2,4,0);}
			case(27){Bi(3,4,0);}
			case(28){Bi(4,4,0);}
			
			loop(5){yield;}
		}
		task Bi(a,b,Cir){
			Et(45,Spl,3,0,a,b,a+1,b+1);
			Obj_SetPosition(Spl,Obj_GetX(Spl),Obj_GetY(Spl));
			ObjSpell_SetIntersecrionCircle(Spl,Obj_GetX(Spl),Obj_GetY(Spl),Cir,300,true);
			yield;
		}
	}
}
script_spell HellSpin{//wXs
	#include_function".\BombCore.txt"
	@Initialize{
		SetPlayerInvincibility(300);//5Sec
		tTime;
	}
	task tTime{Ba;sec(300);End;}
	task Ba{
		let Spl=Obj_Create(OBJ_SPELL);
		Obj_SetPosition(Spl,GetPlayerX,GetPlayerY);
		let spin=0;
		ascent(i in 0..300){
			alternative(spin)
			case(0){Bi(0,0);}
			case(1){Bi(1,0);}
			case(2){Bi(2,0);}
			case(3){Bi(3,0);}
			case(4){Bi(0,1);}
			case(5){Bi(1,1);}
			case(6){Bi(2,1);}
			case(7){Bi(3,1);}
			case(8){Bi(0,2);}
			case(9){Bi(1,2);}
			case(10){Bi(2,2);}
			case(11){Bi(3,2);}
			case(12){Bi(0,3);}
			case(13){Bi(1,3);}
			case(14){Bi(2,3);}
			case(15){Bi(3,3);}
			case(16){Bi(0,4);}
			case(17){Bi(1,4);}
			case(18){Bi(2,4);}
			case(19){Bi(3,4);}
			case(20){Bi(0,5);}
			case(21){Bi(1,5);}
			case(22){Bi(2,5);}
			case(23){Bi(3,5);}
			case(24){Bi(0,6);}
			case(25){Bi(1,6);}
			case(26){Bi(2,6);}
			case(27){Bi(3,6);}
			case(28){Bi(0,7);}
			case(29){Bi(1,7);}
			case(30){Bi(2,7);}
			case(31){Bi(3,7);}
			case(32){spin=0;}
			spin++;
			counter++;
			sec(1);
		}
		task Bi(a,b){
			let Hg =atan2(GetEnemyY-Obj_GetY(Spl),GetEnemyX-Obj_GetX(Spl));
			Obj_SetAngle(Spl,Hg);
			Obj_SetSpeed(Spl,4);
			Et(46,Spl,3,0,a,b,a+1,b+1);
			Obj_SetPosition(Spl,Obj_GetX(Spl),Obj_GetY(Spl));
			ObjSpell_SetIntersecrionCircle(Spl,Obj_GetX(Spl),Obj_GetY(Spl),150,20,true);
			yield;
		}
	}
}