
--󒆑ŌpZB
function JA_attack_calculation()
	if my_dir==1 and enemy_hitarea_n>=1 and y>=1 and  y+my_yspeed*15+(15*(14*m_gs))/2>=1 and my_hitstop==0 and enemy_hitstop==0 then
		for i=0,enemy_hitarea_n,1 do
			if 			math.abs(	(x+(my_xspeedEX*my_dir)*15)						-	(ex+(enemy_xspeedEX*enemy_dir)*15)	)	>=	113-(enemy_hitarea_right[i]-ex) and
						math.abs(	(x+(my_xspeedEX*my_dir)*15)						-	(ex+(enemy_xspeedEX*enemy_dir)*15)	)	<=	188-(enemy_hitarea_left[i]-ex) and
											(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+my_yspeed*15+(15*(14*m_gs))/2)		>=	52-(enemy_hitarea_top[i]-ey) and
											(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+my_yspeed*15+(15*(14*m_gs))/2)		<=	109-(enemy_hitarea_bottom[i]-ey) then
				return true;
			elseif 	math.abs(	(x+(my_xspeedEX*my_dir)*15)						-	(ex+(enemy_xspeedEX*enemy_dir)*15)	)	>=	72-(enemy_hitarea_right[i]-ex) and
						math.abs(	(x+(my_xspeedEX*my_dir)*15)						-	(ex+(enemy_xspeedEX*enemy_dir)*15)	)	<=	150-(enemy_hitarea_left[i]-ex) and
											(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+my_yspeed*15+(15*(14*m_gs))/2)		>=	76-(enemy_hitarea_top[i]-ey) and
											(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+my_yspeed*15+(15*(14*m_gs))/2)		<=	131-(enemy_hitarea_bottom[i]-ey) then
				return true;
			elseif 	math.abs(	(x+(my_xspeedEX*my_dir)*15)						-	(ex+(enemy_xspeedEX*enemy_dir)*15)	)	>=	29-(enemy_hitarea_right[i]-ex) and
						math.abs(	(x+(my_xspeedEX*my_dir)*15)						-	(ex+(enemy_xspeedEX*enemy_dir)*15)	)	<=	103-(enemy_hitarea_left[i]-ex) and
											(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+my_yspeed*15+(15*(14*m_gs))/2)		>=	101-(enemy_hitarea_top[i]-ey) and
											(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+my_yspeed*15+(15*(14*m_gs))/2)		<=	158-(enemy_hitarea_bottom[i]-ey) then
				return true;
			else
				return false;
			end
		end
	elseif my_dir==-1 and enemy_hitarea_n>=1 and y>=1 and  y+my_yspeed*15+(15*(14*m_gs))/2>=1 and my_hitstop==0 and enemy_hitstop==0 then
		for i=0,enemy_hitarea_n,1 do
			if 			math.abs(	(x+(my_xspeedEX*my_dir)*15)						-	(ex+(enemy_xspeedEX*enemy_dir)*15)	)	>=	113+(enemy_hitarea_left[i]-ex) and
						math.abs(	(x+(my_xspeedEX*my_dir)*15)						-	(ex+(enemy_xspeedEX*enemy_dir)*15)	)	<=	188+(enemy_hitarea_right[i]-ex) and
											(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+my_yspeed*15+(15*(14*m_gs))/2)		>=	52-(enemy_hitarea_top[i]-ey) and
											(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+my_yspeed*15+(15*(14*m_gs))/2)		<=	109-(enemy_hitarea_bottom[i]-ey) then
				return true;
			elseif 	math.abs(	(x+(my_xspeedEX*my_dir)*15)						-	(ex+(enemy_xspeedEX*enemy_dir)*15)	)	>=	72+(enemy_hitarea_left[i]-ex) and
						math.abs(	(x+(my_xspeedEX*my_dir)*15)						-	(ex+(enemy_xspeedEX*enemy_dir)*15)	)	<=	150+(enemy_hitarea_right[i]-ex) and
											(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+my_yspeed*15+(15*(14*m_gs))/2)		>=	76-(enemy_hitarea_top[i]-ey) and
											(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+my_yspeed*15+(15*(14*m_gs))/2)		<=	131-(enemy_hitarea_bottom[i]-ey) then
				return true;
			elseif 	math.abs(	(x+(my_xspeedEX*my_dir)*15)						-	(ex+(enemy_xspeedEX*enemy_dir)*15)	)	>=	29+(enemy_hitarea_left[i]-ex) and
						math.abs(	(x+(my_xspeedEX*my_dir)*15)						-	(ex+(enemy_xspeedEX*enemy_dir)*15)	)	<=	103+(enemy_hitarea_right[i]-ex) and
											(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+my_yspeed*15+(15*(14*m_gs))/2)		>=	101-(enemy_hitarea_top[i]-ey) and
											(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+my_yspeed*15+(15*(14*m_gs))/2)		<=	158-(enemy_hitarea_bottom[i]-ey) then
				return true;
			else
				return false;
			end
		end
	else 
		return false;
	end
end

--dlB6+7F => 2+11F̕ύXB
function J6A_attack_calculation()
	if my_dir==1 and enemy_hitarea_n>=1 and y>=1 and  y+my_yspeed*5+(5*(3*m_gs))/2>=1 and my_hitstop==0 and enemy_hitstop==0 then
		for i=0,enemy_hitarea_n,1 do
			if 			math.abs(	(x+((my_xspeedEX*my_dir)*5)+((3*my_dir)*11))	-	(ex+(enemy_xspeedEX*enemy_dir)*16)	)									>=	22-(enemy_hitarea_right[i]-ex) and
						math.abs(	(x+((my_xspeedEX*my_dir)*5)+((3*my_dir)*11))	-	(ex+(enemy_xspeedEX*enemy_dir)*16)	)									<=	139-(enemy_hitarea_left[i]-ex) and
											(ey+enemy_yspeed*16+(16*(15*e_gs))/2)			-	(y+my_yspeed*5+(5*(4*e_gs))/2+5*11+(11*(10*(-0.3)))/2)	>=	142-(enemy_hitarea_top[i]-ey) and
											(ey+enemy_yspeed*16+(16*(15*e_gs))/2)			-	(y+my_yspeed*5+(5*(4*e_gs))/2+5*11+(11*(10*(-0.3)))/2)	<=	193-(enemy_hitarea_bottom[i]-ey)then
				return true;
			elseif 	math.abs(	(x+((my_xspeedEX*my_dir)*5)+((3*my_dir)*11))	-	(ex+(enemy_xspeedEX*enemy_dir)*16)	)									>=	97-(enemy_hitarea_right[i]-ex) and
						math.abs(	(x+((my_xspeedEX*my_dir)*5)+((3*my_dir)*11))	-	(ex+(enemy_xspeedEX*enemy_dir)*16)	)									<=	266-(enemy_hitarea_left[i]-ex) and
											(ey+enemy_yspeed*16+(16*(15*e_gs))/2)			-	(y+my_yspeed*5+(5*(4*e_gs))/2+5*11+(11*(10*(-0.3)))/2)	>=	167-(enemy_hitarea_top[i]-ey) and
											(ey+enemy_yspeed*16+(16*(15*e_gs))/2)			-	(y+my_yspeed*5+(5*(4*e_gs))/2+5*11+(11*(10*(-0.3)))/2)	<=	225-(enemy_hitarea_bottom[i]-ey) then
				return true;
			elseif 	math.abs(	(x+((my_xspeedEX*my_dir)*5)+((3*my_dir)*11))	-	(ex+(enemy_xspeedEX*enemy_dir)*16) )									>=	198-(enemy_hitarea_right[i]-ex) and
						math.abs(	(x+((my_xspeedEX*my_dir)*5)+((3*my_dir)*11))	-	(ex+(enemy_xspeedEX*enemy_dir)*16) )									<=	337-(enemy_hitarea_left[i]-ex) and
											(ey+enemy_yspeed*16+(16*(15*e_gs))/2)			-	(y+my_yspeed*5+(5*(4*e_gs))/2+5*11+(11*(10*(-0.3)))/2)	>=	207-(enemy_hitarea_top[i]-ey) and
											(ey+enemy_yspeed*16+(16*(15*e_gs))/2)			-	(y+my_yspeed*5+(5*(4*e_gs))/2+5*11+(11*(10*(-0.3)))/2)	<=	245-(enemy_hitarea_bottom[i]-ey) then
				return true;
			else
				return false;
			end
		end
	elseif my_dir==-1 and enemy_hitarea_n>=1 and y>=1 and  y+my_yspeed*5+(5*(3*m_gs))/2>=1 and my_hitstop==0 and enemy_hitstop==0 then
		for i=0,enemy_hitarea_n,1 do
			if 			math.abs(	(x+((my_xspeedEX*my_dir)*5)+((3*my_dir)*11))	-	(ex+(enemy_xspeedEX*enemy_dir)*16)	)									>=	22+(enemy_hitarea_left[i]-ex) and
						math.abs(	(x+((my_xspeedEX*my_dir)*5)+((3*my_dir)*11))	-	(ex+(enemy_xspeedEX*enemy_dir)*16)	)									<=	139+(enemy_hitarea_right[i]-ex) and
											(ey+enemy_yspeed*16+(16*(15*e_gs))/2)			-	(y+my_yspeed*5+(5*(4*e_gs))/2+5*11+(11*(10*(-0.3)))/2)	>=	142-(enemy_hitarea_top[i]-ey) and
											(ey+enemy_yspeed*16+(16*(15*e_gs))/2)			-	(y+my_yspeed*5+(5*(4*e_gs))/2+5*11+(11*(10*(-0.3)))/2)	<=	193-(enemy_hitarea_bottom[i]-ey) then
				return true;
			elseif 	math.abs(	(x+((my_xspeedEX*my_dir)*5)+((3*my_dir)*11))	-	(ex+(enemy_xspeedEX*enemy_dir)*16) )									>=	97+(enemy_hitarea_left[i]-ex) and
						math.abs(	(x+((my_xspeedEX*my_dir)*5)+((3*my_dir)*11))	-	(ex+(enemy_xspeedEX*enemy_dir)*16) )									<=	266+(enemy_hitarea_right[i]-ex) and
											(ey+enemy_yspeed*16+(16*(15*e_gs))/2)			-	(y+my_yspeed*5+(5*(4*e_gs))/2+5*11+(11*(10*(-0.3)))/2)	>=	167-(enemy_hitarea_top[i]-ey) and
											(ey+enemy_yspeed*16+(16*(15*e_gs))/2)			-	(y+my_yspeed*5+(5*(4*e_gs))/2+5*11+(11*(10*(-0.3)))/2)	<=	225-(enemy_hitarea_bottom[i]-ey) then
				return true;
			elseif 	math.abs(	(x+((my_xspeedEX*my_dir)*5)+((3*my_dir)*11))	-	(ex+(enemy_xspeedEX*enemy_dir)*16) )									>=	198+(enemy_hitarea_left[i]-ex) and
						math.abs(	(x+((my_xspeedEX*my_dir)*5)+((3*my_dir)*11))	-	(ex+(enemy_xspeedEX*enemy_dir)*16) )									<=	337+(enemy_hitarea_right[i]-ex) and
											(ey+enemy_yspeed*16+(16*(15*e_gs))/2)			-	(y+my_yspeed*5+(5*(4*e_gs))/2+5*11+(11*(10*(-0.3)))/2)	>=	207-(enemy_hitarea_top[i]-ey) and
											(ey+enemy_yspeed*16+(16*(15*e_gs))/2)			-	(y+my_yspeed*5+(5*(4*e_gs))/2+5*11+(11*(10*(-0.3)))/2)	<=	245-(enemy_hitarea_bottom[i]-ey) then
				return true;
			else
				return false;
			end
		end
	else 
		return false;
	end
end
--
function J2A_attack_calculation()
	if my_dir==1 and enemy_hitarea_n>=1 and y>=1 and  y+my_yspeed*16+(16*(15*m_gs))/2>=1 and my_hitstop==0 and enemy_hitstop==0 then
		for i=0,enemy_hitarea_n,1 do
			if 			math.abs(	(x+(my_xspeedEX*my_dir)*16)						-	(ex+(enemy_xspeedEX*enemy_dir)*16)	)	>=	89-(enemy_hitarea_right[i]-ex) and
						math.abs(	(x+(my_xspeedEX*my_dir)*16)						-	(ex+(enemy_xspeedEX*enemy_dir)*16)	)	<=	172-(enemy_hitarea_left[i]-ex) and
											(ey+enemy_yspeed*16+(16*(15*e_gs))/2)	-	(y+my_yspeed*16+(16*(15*m_gs))/2)		>=	46-(enemy_hitarea_top[i]-ey) and
											(ey+enemy_yspeed*16+(16*(15*e_gs))/2)	-	(y+my_yspeed*16+(16*(15*m_gs))/2)		<=	96-(enemy_hitarea_bottom[i]-ey) then
				return true;
			elseif 	math.abs(	(x+(my_xspeedEX*my_dir)*16)						-	(ex+(enemy_xspeedEX*enemy_dir)*16) )	>=	138-(enemy_hitarea_right[i]-ex) and
						math.abs(	(x+(my_xspeedEX*my_dir)*16)						-	(ex+(enemy_xspeedEX*enemy_dir)*16) )	<=	235-(enemy_hitarea_left[i]-ex) and
											(ey+enemy_yspeed*16+(16*(15*e_gs))/2)	-	(y+my_yspeed*16+(16*(15*m_gs))/2)		>=	23-(enemy_hitarea_top[i]-ey) and
											(ey+enemy_yspeed*16+(16*(15*e_gs))/2)	-	(y+my_yspeed*16+(16*(15*m_gs))/2)		<=	81-(enemy_hitarea_bottom[i]-ey) then
				return true;
			elseif 	math.abs(	(x+(my_xspeedEX*my_dir)*16)						-	(ex+(enemy_xspeedEX*enemy_dir)*16) )	>=	208-(enemy_hitarea_right[i]-ex) and
						math.abs(	(x+(my_xspeedEX*my_dir)*16)						-	(ex+(enemy_xspeedEX*enemy_dir)*16) )	<=	293-(enemy_hitarea_left[i]-ex) and
											(ey+enemy_yspeed*16+(16*(15*e_gs))/2)	-	(y+my_yspeed*16+(16*(15*m_gs))/2)		>=	-5-(enemy_hitarea_top[i]-ey) and
											(ey+enemy_yspeed*16+(16*(15*e_gs))/2)	-	(y+my_yspeed*16+(16*(15*m_gs))/2)		<=	43-(enemy_hitarea_bottom[i]-ey) then
				return true;
			else
				return false;
			end
		end
	elseif my_dir==-1 and enemy_hitarea_n>=1 and y>=1 and  y+my_yspeed*16+(16*(15*m_gs))/2>=1 and my_hitstop==0 and enemy_hitstop==0 then
		for i=0,enemy_hitarea_n,1 do
			if 			math.abs(	(x+(my_xspeedEX*my_dir)*16)						-	(ex+(enemy_xspeedEX*enemy_dir)*16) )	>=	89+(enemy_hitarea_left[i]-ex) and
						math.abs(	(x+(my_xspeedEX*my_dir)*16)						-	(ex+(enemy_xspeedEX*enemy_dir)*16) )	<=	172+(enemy_hitarea_right[i]-ex) and
											(ey+enemy_yspeed*16+(16*(15*e_gs))/2)	-	(y+my_yspeed*16+(16*(15*m_gs))/2)		>=	46-(enemy_hitarea_top[i]-ey) and
											(ey+enemy_yspeed*16+(16*(15*e_gs))/2)	-	(y+my_yspeed*16+(16*(15*m_gs))/2)		<=	96-(enemy_hitarea_bottom[i]-ey) then
				return true;
			elseif 	math.abs(	(x+(my_xspeedEX*my_dir)*16)						-	(ex+(enemy_xspeedEX*enemy_dir)*16) )	>=	138+(enemy_hitarea_left[i]-ex) and
						math.abs(	(x+(my_xspeedEX*my_dir)*16)						-	(ex+(enemy_xspeedEX*enemy_dir)*16) )	<=	235+(enemy_hitarea_right[i]-ex) and
											(ey+enemy_yspeed*16+(16*(15*e_gs))/2)	-	(y+my_yspeed*16+(16*(15*m_gs))/2)		>=	23-(enemy_hitarea_top[i]-ey) and
											(ey+enemy_yspeed*16+(16*(15*e_gs))/2)	-	(y+my_yspeed*16+(16*(15*m_gs))/2)		<=	81-(enemy_hitarea_bottom[i]-ey) then
				return true;
			elseif 	math.abs(	(x+(my_xspeedEX*my_dir)*16)						-	(ex+(enemy_xspeedEX*enemy_dir)*16)	)	>=	208+(enemy_hitarea_left[i]-ex) and
						math.abs(	(x+(my_xspeedEX*my_dir)*16)						-	(ex+(enemy_xspeedEX*enemy_dir)*16)	)	<=	293+(enemy_hitarea_right[i]-ex) and
											(ey+enemy_yspeed*16+(16*(15*e_gs))/2)	-	(y+my_yspeed*16+(16*(15*m_gs))/2)		>=	-5-(enemy_hitarea_top[i]-ey) and
											(ey+enemy_yspeed*16+(16*(15*e_gs))/2)	-	(y+my_yspeed*16+(16*(15*m_gs))/2)		<=	43-(enemy_hitarea_bottom[i]-ey) then
				return true;
			else
				return false;
			end
		end
	else 
		return false;
	end
end

--dlB12-27F xNgύX13F~
function J8A_attack_calculation()
	if my_dir==1 and enemy_hitarea_n>=1 and y>=1 and  y+my_yspeed*15+(15*(14*m_gs))/2>=1 and my_hitstop==0 and enemy_hitstop==0 then
		for i=0,enemy_hitarea_n,1 do
			if 			math.abs(	(x+(my_xspeedEX*my_dir)*15)						-	(ex+(enemy_xspeedEX*enemy_dir)*15)	)	>=	16-(enemy_hitarea_right[i]-ex) and
						math.abs(	(x+(my_xspeedEX*my_dir)*15)						-	(ex+(enemy_xspeedEX*enemy_dir)*15)	)	<=	109-(enemy_hitarea_left[i]-ex) and
											(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+my_yspeed*15+(15*(14*m_gs))/2)		>=	169-(enemy_hitarea_top[i]-ey) and
											(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+my_yspeed*15+(15*(14*m_gs))/2)		<=	240-(enemy_hitarea_bottom[i]-ey) then
				return true;
			elseif 	math.abs(	(x+(my_xspeedEX*my_dir)*15)						-	(ex+(enemy_xspeedEX*enemy_dir)*15)	)	>=	36-(enemy_hitarea_right[i]-ex) and
						math.abs(	(x+(my_xspeedEX*my_dir)*15)						-	(ex+(enemy_xspeedEX*enemy_dir)*15)	)	<=	96-(enemy_hitarea_left[i]-ex) and
											(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+my_yspeed*15+(15*(14*m_gs))/2)		>=	210-(enemy_hitarea_top[i]-ey) and
											(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+my_yspeed*15+(15*(14*m_gs))/2)		<=	266-(enemy_hitarea_bottom[i]-ey) then
				return true;
			elseif 	math.abs(	(x+(my_xspeedEX*my_dir)*15)						-	(ex+(enemy_xspeedEX*enemy_dir)*15)	)	>=	53-(enemy_hitarea_right[i]-ex) and
						math.abs(	(x+(my_xspeedEX*my_dir)*15)						-	(ex+(enemy_xspeedEX*enemy_dir)*15)	)	<=	93-(enemy_hitarea_left[i]-ex) and
											(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+my_yspeed*15+(15*(14*m_gs))/2)		>=	253-(enemy_hitarea_top[i]-ey) and
											(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+my_yspeed*15+(15*(14*m_gs))/2)		<=	298-(enemy_hitarea_bottom[i]-ey) then
				return true;
			else
				return false;
			end
		end
	elseif my_dir==-1 and enemy_hitarea_n>=1 and y>=1 and  y+my_yspeed*15+(15*(14*m_gs))/2>=1 and my_hitstop==0 and enemy_hitstop==0 then
		for i=0,enemy_hitarea_n,1 do
			if 			math.abs(	(x+(my_xspeedEX*my_dir)*15)						-	(ex+(enemy_xspeedEX*enemy_dir)*15)	)	>=	16+(enemy_hitarea_left[i]-ex) and
						math.abs(	(x+(my_xspeedEX*my_dir)*15)						-	(ex+(enemy_xspeedEX*enemy_dir)*15)	)	<=	109+(enemy_hitarea_right[i]-ex) and
											(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+my_yspeed*15+(15*(14*m_gs))/2)		>=	169-(enemy_hitarea_top[i]-ey) and
											(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+my_yspeed*15+(15*(14*m_gs))/2)		<=	240-(enemy_hitarea_bottom[i]-ey) then
				return true;
			elseif 	math.abs(	(x+(my_xspeedEX*my_dir)*15)						-	(ex+(enemy_xspeedEX*enemy_dir)*15)	)	>=	36+(enemy_hitarea_left[i]-ex) and
						math.abs(	(x+(my_xspeedEX*my_dir)*15)						-	(ex+(enemy_xspeedEX*enemy_dir)*15)	)	<=	96+(enemy_hitarea_right[i]-ex) and
											(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+my_yspeed*15+(15*(14*m_gs))/2)		>=	210-(enemy_hitarea_top[i]-ey) and
											(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+my_yspeed*15+(15*(14*m_gs))/2)		<=	266-(enemy_hitarea_bottom[i]-ey) then
				return true;
			elseif 	math.abs(	(x+(my_xspeedEX*my_dir)*15)						-	(ex+(enemy_xspeedEX*enemy_dir)*15)	)	>=	53+(enemy_hitarea_left[i]-ex) and
						math.abs(	(x+(my_xspeedEX*my_dir)*15)						-	(ex+(enemy_xspeedEX*enemy_dir)*15)	)	<=	93+(enemy_hitarea_right[i]-ex) and
											(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+my_yspeed*15+(15*(14*m_gs))/2)		>=	253-(enemy_hitarea_top[i]-ey) and
											(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+my_yspeed*15+(15*(14*m_gs))/2)		<=	298-(enemy_hitarea_bottom[i]-ey) then
				return true;
			else
				return false;
			end
		end
	else 
		return false;
	end
end

--̋C
function attack()
	if y>=1 and enemy_act~=97 and enemy_act~=98 and enemy_act~=197 and enemy_act~=198 and enemy_act~=199 and not(enemy_act>=300 and enemy_act<700) then
--ŌBʒu\B
	--J8A
		if 			is_dir_front and 
					(weather~=5 or (weather==5 and not(enemy_act>=200 and enemy_act<=226))) and 
					(my_act<=10 or (my_act>=180 and my_act<300)) and 
					not(enemy_act>=197 and enemy_act<=199) and 
					enemy_limit<100  and obj_coming_in(dis)==false and
					J8A_attack_calculation()==true and y+my_yspeed*15+(15*(14*m_gs))/2>=1 then
						key_reset();
						key_event2(ACT_UP,ACT_A);
	--JA
		elseif 	is_dir_front and 
					(weather~=5 or (weather==5 and not(enemy_act>=200 and enemy_act<=226))) and 
					(my_act<=10 or (my_act>=180 and my_act<300)) and 
					not(enemy_act>=197 and enemy_act<=199) and 
					enemy_limit<100 and obj_coming_in(dis)==false and
					JA_attack_calculation()==true and y+my_yspeed*15+(15*(14*m_gs))/2>=1 then
						key_reset();
						key_event(ACT_A); 
	--J2A
		elseif 	is_dir_front and 
					(weather~=5 or (weather==5 and not(enemy_act>=200 and enemy_act<=226))) and 
					(my_act<=10 or (my_act>=180 and my_act<300)) and 
					not(enemy_act>=197 and enemy_act<=199) and 
					enemy_limit<100  and obj_coming_in(dis)==false and
					J2A_attack_calculation()==true and y+my_yspeed*16+(16*(15*m_gs))/2>=1 then
						key_reset();
						key_event2(ACT_DOWN,ACT_A); 
	--J6A
		elseif 	is_dir_front and math.random(5)<=4 and
					(weather~=5 or (weather==5 and not(enemy_act>=200 and enemy_act<=226))) and 
					(my_act<=10 or (my_act>=180 and my_act<300)) and 
					not(enemy_act>=197 and enemy_act<=199) and 
					enemy_limit<100  and obj_coming_in(dis)==false and
					J6A_attack_calculation()==true and y+my_yspeed*5+(5*(4*m_gs))/2>=1 then
						key_reset();
						key_event2(front,ACT_A); 
		end
	end
end


--R{BΒnor΋Aqbgorbgɕčl邪Aڍׂ͌񂵁B
--qbgf́Ã[VƃqbgXgbvőGcɔfB
function Combo()
if (enemy_act>=50 and enemy_act<=89) or (enemy_act>=143 and enemy_act<=166) then

--ΒnJAꍇBbݒB
	if y==0 and dis_y==0 and (my_act==10) and (enemy_act>=50 and enemy_act<=71) then
		key_reset();
		if dis>=150 and dis<250 then
			key_event(ACT_A);
		elseif dis<150 then
			key_event2(ACT_A,ACT_DOWN);
		elseif dis>=250 then
			key_event2(ACT_C,front);
		end
	end
		
--JAnB
	if my_act==306 and ((enemy_act>=50 and enemy_act<=89) or (enemy_act>=143 and enemy_act<=165)) and (my_hitstop>=3 and my_hitstop<=4) and is_dir_front then
	--J8AF
		if J8A_attack_calculation()==true then
			key_event2(ACT_A,ACT_UP);
			key_reset();
	--J6AF
		elseif J6A_attack_calculation()==true then
			key_event2(ACT_A,front);
			key_reset();
	--J2AF
		elseif J2A_attack_calculation()==true then
			key_event2(ACT_A,ACT_DOWN);
			key_reset();
	--J6CF
		else
			if (ey-y)>=-80 and (ey-y)<=170 and my_rei>400 and y+my_yspeed/4*15>0 then
				key_event2(ACT_C,front);
				key_reset();
			end
		end
	end

--J6AnB
	if my_act==307 and (enemy_act>=50 and enemy_act<=89) and (my_hitstop>=3 and my_hitstop<=4) and is_dir_front then
	--J5C
			key_event2(ACT_C,front);
			key_reset();
	end

--J2AnB
	

--J8An
	if my_act==309 and (enemy_act>=50 and enemy_act<=89) and (my_hitstop>=3 and my_hitstop<=4) and is_dir_front then
	--J5C
			key_on(ACT_B);
			wait(18);
			key_reset();
			
	end
if false then	--false
--SAnB
	if my_act==300 and (enemy_act>=50 and enemy_act<=89) and (my_hitstop>=3 and my_hitstop<=4) and is_dir_front then
	--AA
		if ey==0 then
			key_reset();
			key_event(ACT_A);
		end
	--6C
		if ey>0 and my_rei>=400 then
			key_reset();
			key_event2(ACT_C,front);
		end
	end
--[[AAnBmortion_ID:321ł_ɒӁBdlB
	if my_act==321 and (enemy_act>=88 and enemy_act<=89) and (my_hitstop>=3 and my_hitstop<=4) and is_dir_front then
	--AAA
		if my_rei<200 then
			key_reset();
			key_event(ACT_A);
	--5C
		elseif my_rei>200 then
			key_reset();
			key_event(ACT_C);
	--6C
		elseif my_rei>200 then
			key_reset();
			key_event2(ACT_C,front);
		end
	end--]]
	
--AAnBmortion_ID:321BdlBłグB
	if my_act==321 and (enemy_act==71 or enemy_act<=74) and (my_hitstop>=2 and my_hitstop<=4) and is_dir_front then
	--AAA
		if my_rei<200 then
			key_reset();
			key_event(ACT_A);
	--5C
		elseif my_rei>200 and dis<105 and ((my_dir==1 and x<950) or (my_dir==-1 and x>330)) then
			key_reset();
			key_event(ACT_C);
	--6C
		elseif my_rei>200 and dis>=105 then
			key_reset();
			key_event2(ACT_C,front);
		end
	end--]]
	
--AAAnBmortion_ID:322BdlBł낵B
	if my_act==322 and (enemy_act==88 or enemy_act==89) and (my_hitstop>=2 and my_hitstop<=4) and is_dir_front then
	--AAAA
		if my_rei<200 then
			key_reset();
			key_event(ACT_A);
	--5C
		elseif my_rei>200 and ((my_dir==1 and x<950) or (my_dir==-1 and x>330)) then
			key_reset();
			key_event(ACT_C);
	--6C
		elseif my_rei>200 then
			key_reset();
			key_event2(ACT_C,front);
		end
	end--]]
	
--[[AAAAnBmortion_ID:323BdlBXyĴ݂ŃLZ\B
	if my_act==323 and (enemy_act>=88 and enemy_act<=89) and (my_hitstop>=3 and my_hitstop<=4) and is_dir_front then
	--AAA
		if my_rei<200 then
			key_reset();
			key_event(ACT_A);
	--5C
		--elseif my_rei>200 then
		--	key_reset();
		--	key_event(ACT_C);
	--6C
		elseif my_rei>200 then
			key_reset();
			key_event2(ACT_C,front);
		end
	end--]]
end	--false
--LAnB
	if my_act==301 and (enemy_act>=50 and enemy_act<=89) and (my_hitstop>=3 and my_hitstop<=4) and is_dir_front then
	--3A
		if dis<200 and ey==0 then
			key_reset();
			key_event2(ACT_A,d_front);
	--6C
		elseif (dis>200 or ey>0) then
			key_reset();
			key_event2(ACT_C,front);
		end
	end
	
--6AnB
	if my_act==301 and (enemy_act>=50 and enemy_act<=89) and (my_hitstop>=3 and my_hitstop<=4) and is_dir_front then
	--6C
			key_reset();
			key_event2(ACT_C,front);
	end
	
--3AnB
	if my_act==304 and (enemy_act>=50 and enemy_act<=89) and (my_hitstop>=3 and my_hitstop<=4) and is_dir_front then
	--2B
	--6C
			key_reset();
			key_event2(ACT_C,front);
	end

if false then	--false
--2A
	if my_act==303 and (enemy_act>=50 and enemy_act<=89) and (my_hitstop>=3 and my_hitstop<=4) and is_dir_front then
	--6A
	--3A
		if dis<200 then
			key_reset();
			key_event2(ACT_A,d_front);
	--6C
		elseif dis>=200 and my_rei>=200 then
			key_reset();
			key_event2(ACT_C,front);
		end
	end
end	--false
--5B
--5B+
--2B
--2B+
--5C
	if my_act==410 and (enemy_act>=50 and enemy_act<=89) and get_fflags(0,2097152)==true and is_dir_front then
	--44
	--8HJ
	--9HJ
		if ((my_dir==1 and x<1040) or (my_dir==-1 and x>240)) then
			key_event(u_front);
	--7HJ
		elseif ((my_dir==1 and x>=1040) or (my_dir==-1 and x<=240)) then
			key_event(u_back);
		end
	end
--6C
	if my_act==411 and (enemy_act>=50 and enemy_act<=89) and get_fflags(0,2097152)==true and is_dir_front then
	--44
	--8HJ
	--9HJ
		if ((my_dir==1 and x<1040) or (my_dir==-1 and x>240)) then
			key_event(u_front);
	--7HJ
		elseif ((my_dir==1 and x>=1040) or (my_dir==-1 and x<=240)) then
			key_event(u_back);
		end
	end

--6C+
--DA
--DB
--DC

--iQbhibj
--ǉŁAnʃoEh̒ǌibj
	if enemy_act>=88 and enemy_act<=89 and my_act~=321 then


	--J2AiCHjBhiQqbgji␳؂jGL
		if y==0 and enemy_act==89 and enemy_yspeed<4 and enemy_yspeed~=0 and my_correction>=32 and (my_act<=10 or (my_act>=180 and my_act<300)) and ((x>=330 and x<480 and my_dir==-1) or (x>800 and x<=950 and my_dir==1)) and card_check(202)==true and my_spell_more(1500) then
			key_reset();yield();
			key_on(ACT_D);yield();key_off(ACT_D);
			lvr236(ACT_B);
			wait(54);
			card_use(202);
	--ǍCH()FBhLABh
		elseif y==0 and enemy_act==89 and enemy_yspeed<4 and enemy_yspeed~=0 and my_correction>=32 and (my_act<=10 or (my_act>=180 and my_act<300)) and ((x>=360 and x<480 and my_dir==-1) or (x>800 and x<=920 and my_dir==1)) then
			key_reset();yield();
			key_on(ACT_D);yield();key_off(ACT_D);
			lvr236(ACT_B);
			wait(68);
			if my_act<=5 then
				key_event(ACT_A);
				wait(19);
				if my_act==301 and my_hitstop>=0 and my_hitstop<=9 then
					lvr236(ACT_B);
				end
			end
	--ǍCH()FBhSA>AA>H
		elseif y==0 and enemy_act==89 and enemy_yspeed<4 and enemy_yspeed~=0 and my_correction>=32 and (my_act<=10 or (my_act>=180 and my_act<300)) and ((x<360 and x>=270 and my_dir==-1) or (x>920 and x<=1010 and my_dir==1)) then
			key_reset();yield();
			key_on(ACT_D);yield();key_off(ACT_D);
			lvr236(ACT_B);
			wait(76);
			if y==0 and my_act<=5 and dis_y<=140 and dis_y>=50 then
				key_event(ACT_A);
				wait(14);
				if my_act==300 and my_hitstop>=0 and my_hitstop<=9 and my_allframe>=8 and my_allframe<=10 then
					key_event(ACT_A);
					wait(32);
					if my_act==321 and my_hitstop>=0 and my_hitstop<=9 and my_allframe>=24 and my_allframe<=28 then
						lvr623(ACT_B);
					end
				end
			end
	--ǍCH(ߋ)FSA>AA>Bh
		elseif y==0 and enemy_act==89 and enemy_yspeed<0 and dis<=120 and dis_y<=100 and dis_y>50 and my_correction>=32 and (my_act<=10 or (my_act>=180 and my_act<300)) and ((x<270 and my_dir==-1) or (x>1010 and my_dir==1)) then
			key_reset();yield();
			key_event(ACT_A);
			wait(14);
			if my_act==300 and my_hitstop>=0 and my_hitstop<=9 and my_allframe>=8 and my_allframe<=10 then
				key_event(ACT_A);
				wait(32);
				if my_act==321 and my_hitstop>=0 and my_hitstop<=9 and my_allframe>=24 and my_allframe<=28 then
					lvr236(ACT_B);
				end
			end
			
	--ߋFJ2ADhDCBh--(and dis<=340) 
		elseif y==0 and dis<=340 and (card_check(201)==false or (card_check(201)==true and my_spell_more(1500)==false) or my_spell_more(1500)==false) and (enemy_act==88 or enemy_act==89) and my_combo<=1 and my_limit<100 and my_correction<=31 then
			key_reset();
			key_on(ACT_D)
			key_on(front);
			if y==0 and (ey+enemy_yspeed*29+(29*(28*e_gs))/2)>0 and (ey+enemy_yspeed*29+(29*(28*e_gs))/2)<=30 and enemy_act==89 and my_combo<=1 and my_limit<100 then
				key_reset();
				key_on(front);
				key_event2(ACT_D,ACT_C);
				key_reset();
				wait(50);
				if dis<=360 and my_combo==2 and my_limit<100 then
					wait(10);key_reset();
					key_on(ACT_D);yield();key_off(ACT_D);
					lvr236(ACT_B);
				end
			end
	--FJ2AJ6CXāJ6ADB
		elseif y>0 and y<=250 and dis>230 and dis<=350 and y+my_yspeed/4*20>0 and my_act==308 and (enemy_act==88 or enemy_act==89) and my_hitstop>=1 and my_hitstop<=2 and (card_check(201)==false or (card_check(201)==true and my_spell_more(1500)==false) or my_spell_more(1500)==false) and ((my_correction<=31) or (my_correction>=32 and ((x>=480 and my_dir==-1) or (x<=800 and my_dir==1)))) then
			key_reset();
			key_event2(ACT_C,front);
			wait(20);
			if y<130 then
				key_on(ACT_D);key_on(u_front);wait(6);key_off(ACT_D);key_off(u_front);
			elseif y>=130 and y<330 then
				key_on(ACT_D);key_on(front);wait(6);key_off(ACT_D);key_off(front);
			end
			wait(16);
			if JA_attack_calculation()==true then
				key_reset();
				key_event(ACT_A);
				wait(14);
				key_event2(ACT_A,front);
			elseif dis-(my_xspeed+enemy_xspeed)*15<=340 then
				wait(2);
				key_event2(ACT_A,ACT_DOWN);
				wait(30);
				if my_combo>=2 and my_combo<=5 and my_limit<100 and my_correction>=2 and enemy_act==89 then
					key_reset();
					key_on(front);
					key_event2(ACT_D,ACT_B);
					key_reset();
				end
			end
	--FJ2A6CJ6C
		elseif y==0 and dis>340 and (card_check(201)==false or (card_check(201)==true and my_spell_more(1500)==false) or my_spell_more(1500)==false) and (enemy_act==88 or enemy_act==89) and my_limit<100 and (ey+enemy_yspeed*29+(29*(28*e_gs))/2)>0 and ((my_correction<=31) or (my_correction>=32 and ((x>=480 and my_dir==-1) or (x<=800 and my_dir==1)))) then
			key_reset();
			key_event2(ACT_C,front);
			wait(24);
			key_event(u_front);
			wait(2);
			key_event2(ACT_C,front);

		elseif is_dir_front and card_check(201)==true and my_spell_more(1500) and (my_act<=10 or (my_act>=180 and my_act<300)) and ((x>480 and my_dir==1) or (x<800 and my_dir==-1)) and y==0 and ey<120 and ey>=60 and enemy_yspeed<0 and enemy_act==89 and my_combo<=2 and my_combo>=1 then
			key_reset();
			card_use(201);
		elseif is_dir_front and card_check(201)==true and my_spell_more(1500) and (my_act<=10 or (my_act>=180 and my_act<300)) and ((x>480 and my_dir==1) or (x<800 and my_dir==-1)) and y==0 and ey>=120 and enemy_yspeed>=0 and enemy_act==89 and my_combo<=2 and my_combo>=1 then
			key_reset();
		elseif is_dir_front and card_check(201)==true and my_spell_more(1500) and (my_act<=10 or (my_act>=180 and my_act<300)) and ((x<=480 and my_dir==1) or (x>=800 and my_dir==-1)) and y==0 and enemy_act==89 and my_combo<=2 and my_combo>=1 then
			key_reset();
			key_on(ACT_D);
			key_on(front);
		elseif is_dir_front and card_check(201)==true and my_spell_more(1500) and y>0 and (enemy_act==88 or enemy_act==89) then
			card_1st(201);
			
		else --ȏ̏ɓĂ͂܂ȂꍇAɂڋ߂邢͗EB
			key_reset();
			if y==0 and ((x<270 and my_dir==-1) or (x>1010 and my_dir==1)) and my_act<=10 and enemy_act==89 and enemy_yspeed>0 and ey>30 then
				key_on(front);
			elseif y==0 and ((x>=440 and my_dir==-1) or (x<=800 and my_dir==1)) and my_act<=10 and enemy_act==89 and enemy_yspeed>0 and ey>30 then
				key_event2(ACT_D,front);
			elseif y==0 and not((x<270 and my_dir==-1) or (x>1010 and my_dir==1)) and not((x>=440 and my_dir==-1) or (x<=800 and my_dir==1)) and my_act<=10 and enemy_act==89 and enemy_yspeed>0 and ey>30 then
				key_on(back);
			end
			
	--ǌsFDŐڋ
		end
	end

end
end






































--VKR{֐
--ƁAꂩ̊{jƂāȀ{ŋNł悤ɁA͂܂Ƃ߂ȂłB
function Combo2()	--؂ւ܂ŁAR{QƂĊ֐ĂB

	--SA>AA>C>JC>JC>JA>J6Ain㖧ALj
	--SA>AA>AAA>C>JC>JA>J6A(n㖧)@@ʒu⌵B
	--SA>AA>6C>JA>J2A>J6C>J66>J2A(>JBFiQ`Ŗ@wȂꍇ)@@̃R{茈߂₷A@woȂꍇB
	--SA>AA>6C>JA>J2A>J2C>J66>J2A@J⑬xꍇɍsR{B
	
	--[[
	n㖧
	n▧
	nߋ
	n㒆
	n㉓
	΋󖧒
	΋▧
	΋ߋ
	΋󒆋
	΋󉓋
		ȏ̂bgBȗ\BApɂɋN̂͐ݒ萄B
			ɒʒ[BȂyBA_Q[W悢ꍇB
	--]]
--SAn
--SA>AA[g
	--SA>AA>6C>JA>J2A>J6C>J66>J2A@B560<=x<=720炢idj
			--JBSA>AA>6C>JA>J2A>J6C>J44 g\BJ6A̍UB
			--JBSA>AA>6C>JA>J2A>JB>J44>J2A ʒ[̃AhuR{B
	if my_act==300 and enemy_act>=50 and enemy_act<=89 and my_hitstop>=1 and my_hitstop<=3 and is_dir_front then
print("	Combo2@	SAn");
print("		(@-1	SA>A2>6C>JA>J2A>J6C>J66>J2A)");
print("	or	(@-2	SA>A2>6C>JA>J2A>J6C>J44)");
		--if 			ey==0 	and my_correction<=31 then --nAm[}qbg
--			if enemy_act>=50 and enemy_act<=53 and dis<=90 then --AA
			if not(enemy_act>=50 and enemy_act<=53 and dis<=90) then --AA
print("	[failed]Combo2@	SA>A2");
print((enemy_act>=50 and enemy_act<=53 or enemy_act), (dis<=90 or dis));
			else
print("	Combo2@	SA>A2");
				key_reset();
				key_event(ACT_A);
--				wait(21);
--				if my_act==321 and enemy_act>=69 and enemy_act<=79 and my_hitstop>=1 and my_hitstop<=3 and is_dir_front then
				wait(2);	--0FڂhitstoprAŏIFł̎肱ڂh
				for i=0,20 do
					if my_act==321 and enemy_act>=69 and enemy_act<=79 and my_hitstop>=1 and my_hitstop<=3 and is_dir_front then
print("	(wait i="..i..")");
						break;
					end
					yield();
				end
				if not(my_act==321 and enemy_act>=69 and enemy_act<=79 and my_hitstop>=1 and my_hitstop<=3 and is_dir_front) then
print("	[failed]Combo2@	A2>6C");
print((my_act==321 or my_act), (enemy_act>=69 and enemy_act<=79 or enemy_act), (my_hitstop>=1 and my_hitstop<=3 or my_hitstop), is_dir_front);
				else
print("	Combo2@	A2>6C");
					key_reset();
					key_event2(ACT_C,front);
--					wait(25);
--					if my_act==411 and enemy_act>=69 and enemy_act<=79 and is_dir_front then
					for i=0,24 do
						if false and my_act==411 and enemy_act>=69 and enemy_act<=79 and is_dir_front then
print("	(wait i="..i..")");
							break;
						end
						yield();
					end
					if not(my_act==411 and enemy_act>=69 and enemy_act<=79 and is_dir_front) then
print("	[failed]Combo2@	6C>9hjc");
print((my_act==411 or my_act), (enemy_act>=69 and enemy_act<=79 or enemy_act), is_dir_front);
					else
print("	Combo2@	6C>9hjc");
						key_reset();
						--key_event(u_front);
--						wait(3);
--						if y>0 and my_act>=208 and my_act<=210 and is_dir_front then
						key_on(u_front);	--ςȂ
						wait(2);	--(0FڂhitstoprA)ŏIFł̎肱ڂh
						for i=0,10 do	--Ȃ]TĐݒ
							if y>0 and my_act>=208 and my_act<=210 and is_dir_front then
print("	(wait i="..i..")");
								break;
							end
							yield();
						end
						if not(y>0 and my_act>=208 and my_act<=210 and is_dir_front) then
print("	[failed]Combo2@	6C>9hjc>JA");
print((y>0 or y), (my_act>=208 and my_act<=210 or my_act),is_dir_front);
						else
print("	Combo2@	6C>9hjc>JA");
							key_reset();
							key_event(ACT_A);
--							wait(17);--17
							
--							if weather~=10 and my_act==306 and enemy_act>=69 and enemy_act<=79 and my_hitstop>=1 and my_hitstop<=3 and is_dir_front then
							for i=0,16 do
								if	(weather~=10 and my_act==306 and enemy_act>=69 and enemy_act<=79 and my_hitstop>=1 and my_hitstop<=3 and is_dir_front)
								 or	(weather==10 and ((x>=230 and my_dir==-1) or (x<=1050 and my_dir==1)) and my_act==306 and enemy_act>=69 and enemy_act<=79 and my_hitstop>=1 and my_hitstop<=4 and is_dir_front)
								then
print("	(wait i="..i..")");
									break;
								end
								yield();
							end
							if not(
								(weather~=10 and (my_dir==-1 and x>=500 or my_dir==1 and x<=780) and my_act==306 and enemy_act>=69 and enemy_act<=79 and my_hitstop>=1 and my_hitstop<=3 and is_dir_front)
							 or	((not(weather~=10 and (my_dir==-1 and x>=500 or my_dir==1 and x<=780))) and my_act==306 and enemy_act>=69 and enemy_act<=79 and my_hitstop>=1 and my_hitstop<=4 and is_dir_front)
							) then
print("	[failed]Combo2@	JA>J2A");
print((weather~=10 or weather), (my_act==306 or my_act), (enemy_act>=69 and enemy_act<=79 or enemy_act), (my_hitstop>=1 and my_hitstop<=3 or my_hitstop), is_dir_front);
							elseif weather~=10 and (my_dir==-1 and x>=500 or my_dir==1 and x<=780) and my_act==306 and enemy_act>=69 and enemy_act<=79 and my_hitstop>=1 and my_hitstop<=3 and is_dir_front then
print("	Combo2@-1	JA>J2A");
								key_reset();
								key_event2(ACT_A,ACT_DOWN);
--								wait(25);
--								if my_act==308 and is_dir_front then
								for i=0,24 do
									if false and my_act==308 and is_dir_front then
print("	(wait i="..i..")");
										break;
									end
									yield();
								end
								if not(my_act==308 and is_dir_front) then
print("	[failed]Combo2@-1	J2A>J6C");
print((my_act==308 or my_act),is_dir_front);
								else
print("	Combo2@-1	J2A>J6C");
									key_reset();
									key_event2(ACT_C,front);
--									wait(22);
--									if my_act==415 then
									for i=0,21 do
										if false and my_act==415 then
print("	(wait i="..i..")");
											break;
										end
										yield();
									end
									if not(my_act==415) then
print("	[failed]Combo2@-1	J6C>J66");
print(my_act==415 or my_act);
									else
print("	Combo2@-1	J6C>J66");
										key_reset();
										lvr66();
--										wait(9);
--										if my_act==202 then
										for i=0,8 do
											if false and my_act==202 then
print("	(wait i="..i..")");
												break;
											end
											yield();
										end
										if not(my_act==202) then
print("	[failed]Combo2@-1	J6C>J66>J2A(fin)");
print(my_act==202 or my_act);
										else
print("	Combo2@-1	J6C>J66>J2A(fin)");
											key_reset();
											key_event2(ACT_A,ACT_DOWN);
										end
									end
								end
									
--							elseif weather==10 and ((x>=230 and my_dir==-1) or (x<=1050 and my_dir==1)) and my_act==306 and enemy_act>=69 and enemy_act<=79 and my_hitstop>=1 and my_hitstop<=4 and is_dir_front then
							elseif (not(weather~=10 and (my_dir==-1 and x>=500 or my_dir==1 and x<=780))) and my_act==306 and enemy_act>=69 and enemy_act<=79 and my_hitstop>=1 and my_hitstop<=4 and is_dir_front then
print("	Combo2@-2	JA>J2A");
								key_reset();
								key_event2(ACT_A,ACT_DOWN);
--								wait(45);
--								if my_act==308 and y>=50 and is_dir_front then
								for i=0,44 do
									if false and my_act==308 and y>=50 and is_dir_front then
print("	(wait i="..i..")");
										break;
									end
									yield();
								end
								if not(my_act==308 and y>=50 and is_dir_front) then
print("	[failed]Combo2@-2	J2A>J6C");
print((my_act==308 or my_act),(y>=50 or y),is_dir_front);
								else
print("	Combo2@-2	J2A>J6C");
									key_reset();
									key_event2(ACT_C,front);
--									wait(22);
--									if my_act==415 then
									for i=0,21 do
										if false and my_act==415 then
print("	(wait i="..i..")");
											break;
										end
										yield();
									end
									if not(my_act==415) then
print("	[failed]Combo2@-2	J6C>J44(fin)");
print(my_act==415 or my_act);
									else
print("	Combo2@-2	J6C>J44(fin)");
										key_reset();
										lvr44();
									end
								end
								
							end
						end
					end
				end
			end--]]
		--elseif 	ey==0 	and my_correction>=32 then
		--elseif 	ey>0 	and my_correction<=31 then
		--elseif 	ey>0 	and my_correction>=32 then
		--end
--SA>3A
	end
	
--2An
--2A>6A[gihR[gj
--2A>3A[gi胋[gj
	--2A>3A>6C>JA>J2A
	--//(SA or 2A or 4A)>3A>6C>JA>J2A
	--if ((dis<=180 and my_correction<=31)or(dis<=120 and my_correction>=32)) and ey==0 and ((x>=380 and my_dir==-1) or (x<=900 and my_dir==1)) and my_act==303 and enemy_act>=50 and enemy_act<=89 and my_hitstop>=1 and my_hitstop<=3 and is_dir_front then 
	if ((dis<=180 and my_correction<=31)or(dis<=120 and my_correction>=32)) and ey==0 and ((x>=380 and my_dir==-1) or (x<=900 and my_dir==1)) and (my_act==300 or my_act==303 or my_act==330) and enemy_act>=50 and enemy_act<=89 and my_hitstop>=1 and my_hitstop<=3 and is_dir_front then
print("	Combo2A	2AnF");
print("		(A	2A>3A>6C>JA>J2A)");

print("	Combo2A	2A>3A");
		key_reset();
		key_event2(ACT_A,d_front);
--		wait(18);	--//hitstop=9
--		if my_act==304 and enemy_act>=50 and enemy_act<=89 and my_hitstop>=1 then
		wait(2);	--0FڂhitstoprAŏIFł̎肱ڂh
		for i=0,17 do
			if my_act==304 and enemy_act>=50 and enemy_act<=89 and my_hitstop>=1 then
print("	(wait i="..i..")");
				break;
			end
			yield();
		end
		if not(my_act==304 and enemy_act>=50 and enemy_act<=89 and my_hitstop>=1) then
print("	[failed]Combo2A	3A>6C");
print((my_act==304 or my_act),(enemy_act>=50 and enemy_act<=89 or enemy_act), (my_hitstop>=1 or  my_hitstop));
		else
print("	Combo2A	3A>6C");
			key_reset();
			key_event2(ACT_C,front);
			wait(33);
print("	Combo2A	6C>9hjc");
				key_reset();
				key_event(u_front);
				wait(3);
print("	Combo2A	6C>9hjc>JA");
					key_reset();
					key_event(ACT_A);
--					wait(17);
--					if my_act==306 and enemy_act>=50 and enemy_act<=89 and my_hitstop>=1 then
					wait(2);	--0FڂhitstoprAŏIFł̎肱ڂh
					for i=0,16 do
						if my_act==306 and enemy_act>=50 and enemy_act<=89 and my_hitstop>=1 then
print("	(wait i="..i..")");
							break;
						end
						yield();
					end
					if not(my_act==306 and enemy_act>=50 and enemy_act<=89 and my_hitstop>=1) then
print("	[failed]Combo2A	JA>J2A(fin)");
print((my_act==306 or my_act),(enemy_act>=50 and enemy_act<=89 or enemy_act),(my_hitstop>=1 or my_hitstop));
					else
print("	Combo2A	JA>J2A(fin)");
						key_reset();
						key_event2(ACT_A,ACT_DOWN);
					end
		end
						
	--2A>3A>6C>HorVorH߁H@ʒ[̉^pȂ̂ŕH߂邩ȂB
	--//(ver1.10)Cł̂݉AV̓_[WxƂBŁCŁA͍UȂ
	--//ʒ[2A>3A>6C`̑̑IƂāAu>tB[o[vu>7hj>J2AvȂǂ
	elseif ((dis<=195 and my_correction<=31)or(dis<=150 and my_correction>=32)) and ey==0 and (my_act==300 or my_act==303 or my_act==330) and enemy_act>=50 and enemy_act<=89 and my_hitstop>=1 and my_hitstop<=3 and is_dir_front then 
print("	Combo2B	2AnFʒ[");
print("		(B-1	2A>3A>6C>CH)");
print("	or	(B-2	2A>3A>6C>BV)");
print("	or	(B-3	2A>3A>6C>tB[o[)");
print("	or	(B-4	2A>3A>6C>7hjc>J2A)");
			print(dis,x,my_dir,is_dir_front);
print("	Combo2B	2A>3A");
		key_reset();
		key_event2(ACT_A,d_front);
--		wait(26);
--		if my_act==304 and enemy_act>=50 and enemy_act<=89 and my_hitstop>=1 then
		wait(2);	--0FڂhitstoprAŏIFł̎肱ڂh
		for i=0,25 do
			if my_act==304 and enemy_act>=50 and enemy_act<=89 and my_hitstop>=1 then
print("	(wait i="..i..")");
				break;
			end
			yield();
		end
		if not(my_act==304 and enemy_act>=50 and enemy_act<=89 and my_hitstop>=1) then
print("	[failed]Combo2B	3A>6C");
print((my_act==304 or my_act), (enemy_act>=50 and enemy_act<=89 or enemy_act), (my_hitstop>=1 or my_hitstop));
		else
print("	Combo2B	3A>6C");
			key_reset();
			key_event2(ACT_C,front);
			if get_skill_lv(0,1)>=0 then
print("	Combo2B-1	6C>CH(fin)");
				wait(20);
				key_reset();
				lvr623(ACT_C);
			elseif get_skill_lv(0,9)>=0 then
print("	Combo2B-2	6C>BV(fin)");
				wait(20);
				key_reset();
				lvr623(ACT_B);
			elseif get_skill_lv(0,2)>=0 then
print("	Combo2B-3	6C>tB[o[(fin)");
				wait(20);
				key_reset();
				lvr22(ACT_B);
			else
print("	Combo2B-4	6C>7hjc");
				wait(33);
				key_reset();
				key_event(u_back);
				wait(3);
print("	Combo2B-4	6C>7hjc>J2A(fin)");
				key_reset();
				key_event2(ACT_A,ACT_DOWN);
			end
		end
		
--qbgR{sBȂ̂őŌh킹BȂŌGZ΍̂߁AˌĂB
--	elseif dis>195 and my_correction<=31 and ey==0 and my_act==303 and enemy_act>=50 and enemy_act<=89 and my_hitstop>=1 and my_hitstop<=3 and is_dir_front then 
	elseif dis>195 and my_correction<=31 and ey==0 and my_act==303 and enemy_act>=50 and enemy_act<=89 and my_hitstop>=1 and my_hitstop<=3 and is_dir_front and get_skill_lv(0,0)>=0 then
print("	Combo2C	2AnFǌsAg");
print("		(C	2A6C>h)");

print("	Combo2C	2A6C");
		key_reset();
		key_event2(ACT_C,front);
		wait(10);
print("	Combo2C	6C>h(fin)");
			key_reset();
			yield();
			lvr236(ACT_B);
		
--CHB2A>6C>6C>J2A>DB
	elseif (dis>150 and my_correction>=32) and ey==0 and (my_act==300 or my_act==303 or my_act==330) and enemy_act>=50 and enemy_act<=89 and my_hitstop>=1 and my_hitstop<=3 and is_dir_front then
print("	Combo2D	2AnFCHmF");
print("		(D	2A>6C>6C>J2A>DB)");

print("	Combo2D	2A>6C");
		key_reset();
		key_event2(ACT_C,front);
		wait(26);
print("	Combo2D	6C>8hjc");
			key_reset();
			key_event(ACT_UP);
			wait(2);
--			if enemy_act>=50 and enemy_act<=89 then
			if not(enemy_act>=50 and enemy_act<=89) then
print("	[failed]Combo2D	6C>8hjc>J6C");
print(enemy_act>=50 and enemy_act<=89 or enemy_act);
			else
print("	Combo2D	6C>8hjc>J6C");
				key_reset();
				key_event2(ACT_C,front);
				wait(23);
print("	Combo2D	J6C>J66");
					key_reset();
					lvr66();
					wait(9);
--					if enemy_act>=50 and enemy_act<=89 then
					if not(enemy_act>=50 and enemy_act<=89) then
print("	[failed]Combo2D	J6C>J66>J2A");
print(enemy_act>=50 and enemy_act<=89 or enemy_act);
					else
print("	Combo2D	J6C>J66>J2A");
						key_reset();
						key_event2(ACT_A,ACT_DOWN)
						wait(44);
--						if y==0 and enemy_act>=50 and enemy_act<=89 then
						if not(y==0 and enemy_act>=50 and enemy_act<=89) then
print("	Combo2D	J2A>DB(fin)");
print((y==0 or y), (enemy_act>=50 and enemy_act<=89 or enemy_act));
						else
print("	Combo2D	J2A>DB(fin)");
							key_reset();
							key_on(ACT_D);
							key_event2(ACT_B,front);
							key_reset();
						end
					end
			end

--󒆃qbg
	--2A>6C>JA>J2A>J6C>J66>J2A
	--2A>6C>J2A>J6C>>J2A>DB
	--2A>6C>J6C>J66>J2A>DB
	--2A>6C>J6C>3>J6ABg\B
	--2A>6C>J6C>nBŌǌs\B
	
	
--4Ani{SAnƓj
	end
	--[[
A				300
A			301
6A			302
2A			303
3A			304
DA			305
JA			306
J6A			307
J2A			308
J8A			309
				310
2A			311	dL2AAȂ

AA			320
AAA			321
AAAA		322
AAAAA		323	dA

4A			330

B				400
6B			401
2B			402
				403
JB			404
J6B			405
J2B			406
4B			407
DB			408
J4B			409
C				410
6C			411
2C			412
				413
JC			414
J6C			415
J2C			416
J1C			417
DC			418
--]]
end









































--ł߁B
function rock()
	if (enemy_act>=143 and enemy_act<=166) or (((enemy_act<=10 or (enemy_act>=200 and enemy_act<=226) ) and enemy_allframe<=15) and ((enemy_preact[1]>=143 and enemy_preact[1]<=165) or (enemy_preact[2]>=143 and enemy_preact[2]<=165) or (enemy_preact[3]>=143 and enemy_preact[3]<=165) )) then
--ȉ̍sK[hꍇ̔hBƂ肠늄֌WȂB

--nOJAJ2AB̍ďłߎnBK[h΁ǍLA[gɐ؂ւB
		if y==0 and dis_y==0 and (my_act==306 or my_act==308 or my_act==10) and (enemy_act>=143 and enemy_act<=165) then
			key_reset();
			if dis>54 and dis<250 then --Ƃ肠얲˒-60xڈB
				key_event(ACT_A);
			elseif dis>54 and dis<150 then
				key_event2(ACT_A,ACT_DOWN);
			elseif dis<=44 and (ex<=45 or ex>=1235) and weather~=12 then
				key_event2(ACT_A,front);
				wait(15);
				key_reset();
				key_event(ACT_B);
			elseif dis<=54 and (ex<=55 or ex>=1225) and weather~=12 then
				key_event2(ACT_A,d_front);
				wait(15);
				key_reset();
				key_event(ACT_B);
			end

--SA
		elseif y==0 and ( ( (my_act==300 and my_allframe>=8) and (enemy_act>=143 and enemy_act<=165) ) or ( (my_act==300 and my_allframe==25) and ( (enemy_act<=8 or (enemy_act>=200 and enemy_act<=226) ) and enemy_allframe<=10) ) ) then
	--LZBׂ̂Qê݃LZ^C~OݒBőiqbgXgbvjB
			if my_allframe>=8 and my_allframe<=9 and my_hitstop>=1 and my_hitstop<=2 then
	--6A
				if math.random(12)==1 and (dis<180 or (weather==12 and dis<150)) then
					key_reset();
					if math.random(15)==1 then
						key_on(front);
						key_on(ACT_A);
						wait(16);
						key_reset();
					else
						key_event2(ACT_A,front);
					end
	--3ABAKł͂Ȃ̂ŒӁB
				elseif math.random(12)==1 and (dis<200 or (weather==12 and dis<170)) then
					key_reset();
					if math.random(15)==1 then
						key_on(d_front);
						key_on(ACT_A);
						wait(17);
						key_reset();
					else
						key_event2(ACT_A,d_front);
					end
	--B
				elseif math.random(12)==1 then
					key_reset();
					if math.random(12)==1 then
						key_on(ACT_B);
						wait(19);
						key_reset();
					else
						key_event(ACT_B);
					end
	--2B
				elseif math.random(12)==1 then
					key_reset();
					if math.random(12)==1 then
						key_on(ACT_DOWN);
						key_on(ACT_B);
						wait(17);
						key_reset();
					else
						key_event2(ACT_B,ACT_DOWN);
					end
	--6C
				elseif math.random(24)==1 then
					key_reset();
					if math.random(12)==1 then
						key_on(front);
						key_on(ACT_C);
						wait(15);
						key_reset();
					else
						key_event2(ACT_C,front);
					end
				end
	--ډBd̍ŏIeɍśB
			else
	--fBCU`B
				if dis<=250 and my_allframe==13 and math.random(2)==1 then
					key_reset();
					key_event2(ACT_A,front);
	--ډQ`
				elseif dis<=210 and my_allframe==25 and math.random(2)==1 then
					key_reset();
					key_event2(ACT_A,ACT_DOWN);
	--ډ`BŏIIɁA߂΂r`B΂k`ɂȂB
				elseif dis<=300 and my_allframe==25 then
					key_reset();
					key_event(ACT_A);
				end
			end

--LA
		elseif y==0 and ( ( (my_act==301 and my_allframe>=16) and (enemy_act>=143 and enemy_act<=165) ) or ( (my_act==301 and my_allframe==43) and ( (enemy_act<=8 or (enemy_act>=200 and enemy_act<=226) ) and enemy_allframe<=10) ) ) then
	--LZBׂ̂Qê݃LZ^C~OݒBőiqbgXgbvjB
			if my_allframe>=16 and my_allframe<=18 and my_hitstop>=1 and my_hitstop<=2 then
	--6A
				if math.random(12)==1 and (dis<180 or (weather==12 and dis<150)) then
					key_reset();
					if math.random(16)==1 then
						key_on(front);
						key_on(ACT_A);
						wait(16);
						key_reset();
					else
						key_event2(ACT_A,front);
					end
	--3ABAKł͂Ȃ̂ŒӁB
				elseif math.random(12)==1 and (dis<200 or (weather==12 and dis<170)) then
					key_reset();
					if math.random(16)==1 then
						key_on(d_front);
						key_on(ACT_A);
						wait(17);
						key_reset();
					else
						key_event2(ACT_A,d_front);
					end
	--B
				elseif math.random(12)==1 then
					key_reset();
					if math.random(12)==1 then
						key_on(ACT_B);
						wait(19);
						key_reset();
					else
						key_event(ACT_B);
					end
	--2B
				elseif math.random(12)==1 then
					key_reset();
					if math.random(12)==1 then
						key_on(ACT_DOWN);
						key_on(ACT_B);
						wait(17);
						key_reset();
					else
						key_event2(ACT_B,ACT_DOWN);
					end
	--C
				elseif math.random(24)==1 and ((my_dir==1 and x<940) or (my_dir==-1 and x>340)) then
					key_reset();
					key_event(ACT_C);
	--6C
				elseif math.random(24)==1 then
					key_reset();
					if math.random(16)==1 then
						key_on(front);
						key_on(ACT_C);
						wait(15);
						key_reset();
					else
						key_event2(ACT_C,front);
					end
	--̈ꌂB
				elseif dis>80 and math.random(24)==1 and get_skill_lv(0,0)>=0 then
					key_reset();key_on(ACT_D);yield();key_off(ACT_D);yield();
					lvr236(ACT_B);
	--H߂͐̔@B
				elseif dis<180 and math.random(24)==1 and get_skill_lv(0,1)>=0 then
					key_reset();
					lvr623(ACT_B);
				end
	--ډBd̍ŏIeɍśB
			else
	--delaÿꌂB
				if dis>80 and my_allframe==23 and math.random(4)==1 and get_skill_lv(0,0)>=0 then
					key_reset();key_on(ACT_D);yield();key_off(ACT_D);yield();
					lvr236(ACT_B);
	--delayU`B
				elseif dis<=250 and my_allframe==31 and math.random(2)==1 then
					key_reset();
					key_event2(ACT_A,front);
	--ډQ`
				elseif dis<=210 and my_allframe==43 and math.random(2)==1 then
					key_reset();
					key_event2(ACT_A,ACT_DOWN);
	--ډ`BŏIIɑSȂɂɏI邱Ƃ͂ȂB߂΂r`B΂k`ɂȂB
				elseif dis<=300 and my_allframe==43 then
					key_reset();
					key_event(ACT_A);
				end
			end

--6A
		elseif y==0 and ( ( (my_act==302 and my_allframe>=16) and (enemy_act>=143 and enemy_act<=165) ) or ( (my_act==302 and my_allframe==45) and ( (enemy_act<=8 or (enemy_act>=200 and enemy_act<=226) ) and enemy_allframe<=10) ) ) then
	--LZBׂ̂Qê݃LZ^C~OݒBőiqbgXgbvjB
			if my_allframe>=16 and my_allframe<=20 and my_hitstop>=2 and my_hitstop<=3 then
	--B(AK[hm莞)
				if dis<=44 and (ex<=45 or ex>=1235) and weather~=12 then
					key_reset();
					key_event(ACT_B);
	--2B(AK[hm莞)
				elseif dis<=54 and (ex<=55 or ex>=1225) and weather~=12 then
					key_reset();
					key_event2(ACT_B,ACT_DOWN);
	--B
				elseif math.random(12)==1 then
					key_reset();
					if math.random(15)==1 then
						key_on(ACT_B);
						wait(19);
						key_reset();
					else
						key_event(ACT_B);
					end
	--2B
				elseif math.random(12)==1 then
					key_reset();
					if math.random(15)==1 then
						key_on(ACT_DOWN);
						key_on(ACT_B);
						wait(17);
						key_reset();
					else
						key_event2(ACT_B,ACT_DOWN);
					end
	--C
				elseif math.random(24)==1 and ((my_dir==1 and x<940) or (my_dir==-1 and x>340)) then
					key_reset();
					key_event(ACT_C);
	--6C
				elseif math.random(12)==1 then
					key_reset();
					if math.random(16)==1 then
						key_on(front);
						key_on(ACT_C);
						wait(15);
						key_reset();
					else
						key_event2(ACT_C,front);
					end
	--̈ꌂB߂߃~X₷B
				elseif dis>80 and math.random(24)==1 and get_skill_lv(0,0)>=0 then
					key_reset();key_on(ACT_D);yield();key_off(ACT_D);yield();
					lvr236(ACT_B);
	--H߂͐̔@BߐڂȂ΂Ⴊ݂łB
				elseif dis<180 and math.random(24)==1 and get_skill_lv(0,1)>=0 then
					key_reset();
					lvr623(ACT_B);
				end
	--ډBd̍ŏIeɍśBAǂ킯Qexi蓮ȂőŐUjB
			else
	--ډQ`
				if dis<=210 and dis>119 and my_allframe==45 and math.random(2)==1 then
					key_reset();
					key_event2(ACT_A,ACT_DOWN);
	--ډ`BŏIIɑSȂɂɏI邱Ƃ͂ȂB߂΂r`B΂k`ɂȂB
				elseif dis<=300 and dis>210 and my_allframe==45 then
					key_reset();
					key_event(ACT_A);
				end
			end

--2A
		elseif y==0 and (((my_act==303 and my_allframe>=12) and (enemy_act>=143 and enemy_act<=165)) or ((my_act==303 and my_allframe==29) and ( (enemy_act<=8 or (enemy_act>=200 and enemy_act<=226) ) and enemy_allframe<=10) ) ) then
	--LZBׂ̂Qê݃LZ^C~OݒBőiqbgXgbvjB
			if my_allframe>=12 and my_allframe<=19 and my_hitstop>=1 and my_hitstop<=2 then
	--6A
				if math.random(12)==1 and (dis<180 or (weather==12 and dis<150)) then
					key_reset();
					if math.random(16)==1 then
						key_on(front);
						key_on(ACT_A);
						wait(16);
						key_reset();
					else
						key_event2(ACT_A,front);
					end
	--3ABAKł͂Ȃ̂ŒӁB
				elseif math.random(12)==1 and (dis<200 or (weather==12 and dis<170)) then
					key_reset();
					if math.random(15)==1 then
						key_on(d_front);
						key_on(ACT_A);
						wait(17);
						key_reset();
					else
						key_event2(ACT_A,d_front);
					end
	--B
				elseif math.random(12)==1 then
					key_reset();
					if math.random(15)==1 then
						key_on(ACT_B);
						wait(19);
						key_reset();
					else
						key_event(ACT_B);
					end
	--2B
				elseif math.random(12)==1 then
					key_reset();
					if math.random(15)==1 then
						key_on(ACT_DOWN);
						key_on(ACT_B);
						wait(17);
						key_reset();
					else
						key_event2(ACT_B,ACT_DOWN);
					end
	--C
				elseif math.random(24)==1 and ((my_dir==1 and x<940) or (my_dir==-1 and x>340)) then
					key_reset();
					key_event(ACT_C);
	--6C
				elseif math.random(24)==1 then
					key_reset();
					if math.random(15)==1 then
						key_on(front);
						key_on(ACT_C);
						wait(15);
						key_reset();
					else
						key_event2(ACT_C,front);
					end
	--̈ꌂB߂߃~X₷A荞݂₷B
				elseif dis>80 and math.random(24)==1 and get_skill_lv(0,0)>=0 then
					key_reset();key_on(ACT_D);yield();key_off(ACT_D);yield();
					lvr236(ACT_B);
	--H߂͐̔@BߐڂȂ΂Ⴊ݂łB
				elseif dis<180 and math.random(24)==1 and get_skill_lv(0,1)>=0 then
					key_reset();
					lvr623(ACT_B);
				end
	--ډBd̍ŏIeɍśBAǂ킯Qexi蓮ȂőŐUjB
			else
	--fBCU`BUe󂭂悤ɃLZBGZɂ͖́B
				if dis<=250 and my_allframe==17 and math.random(2)==1 then
					key_reset();
					key_event2(ACT_A,front);
	--ډQ`
				elseif dis<=210 and my_allframe==29 and math.random(2)==1 then
					key_reset();
					key_event2(ACT_A,ACT_DOWN);
	--ډ`BŏIIɑSȂɂɏI邱Ƃ͂ȂB߂΂r`B΂k`ɂȂB
				elseif dis<=300 and my_allframe==29 then
					key_reset();
					key_event(ACT_A);
				end
			end

--3A
		elseif y==0 and ( ( (my_act==304 and my_allframe>=17) and (enemy_act>=143 and enemy_act<=165) ) or ( (my_act==304 and my_allframe==48) and ( (enemy_act<=8 or (enemy_act>=200 and enemy_act<=226) ) and enemy_allframe<=10) ) ) then
	--LZBׂ̂Qê݃LZ^C~OݒBőiqbgXgbvjB
			if my_allframe>=17 and my_allframe<=22 and my_hitstop>=1 and my_hitstop<=2 then
	--B(AK[hm莞)
				if dis<=44 and (ex<=45 or ex>=1235) then
					key_reset();
					key_event(ACT_B);
	--2B(AK[hm莞)
				elseif dis<=54 and (ex<=55 or ex>=1225) then
					key_reset();
					key_event2(ACT_B,ACT_DOWN);
	--B
				elseif math.random(12)==1 then
					key_reset();
					if math.random(15)==1 then
						key_on(ACT_B);
						wait(19);
						key_reset();
					else
						key_event(ACT_B);
					end
	--2B
				elseif math.random(12)==1 then
					key_reset();
					if math.random(15)==1 then
						key_on(ACT_DOWN);
						key_on(ACT_B);
						wait(17);
						key_reset();
					else
						key_event2(ACT_B,ACT_DOWN);
					end
	--C
				elseif math.random(24)==1 and ((my_dir==1 and x<940) or (my_dir==-1 and x>340)) then
					key_reset();
					key_event(ACT_C);
	--6C
				elseif math.random(12)==1 then
					key_reset();
					if math.random(15)==1 then
						key_on(front);
						key_on(ACT_C);
						wait(15);
						key_reset();
					else
						key_event2(ACT_C,front);
					end
	--̈ꌂB߂߃~X₷B
				elseif dis>80 and math.random(24)==1 and get_skill_lv(0,0)>=0 then
					key_reset();key_on(ACT_D);yield();key_off(ACT_D);yield();
					lvr236(ACT_B);
	--H߂͐̔@BߐڂȂ΂Ⴊ݂łB
				elseif dis<180 and math.random(24)==1 and get_skill_lv(0,1)>=0 then
					key_reset();
					lvr623(ACT_B);
				end
	--ډBd̍ŏIeɍśBAǂ킯Qexi蓮ȂőŐUjB
			else
	--ډQ`
				if dis<=210 and dis>119 and my_allframe==48 and math.random(2)==1 then
					key_reset();
					key_event2(ACT_A,ACT_DOWN);
	--ډ`BŏIIɑSȂɂɏI邱Ƃ͂ȂB߂΂r`B΂k`ɂȂB
				elseif dis<=300 and dis>210 and my_allframe==48 then
					key_reset();
					key_event(ACT_A);
				end
			end

--DA
--JA
--J6A
--J2A
--J8A
--AA(321)
--AAA(322)

--B
		elseif y==0 and (((my_act==400 and my_allframe>=19) and (enemy_act>=143 and enemy_act<=165)) or ((my_act==400 and my_allframe==51) and ((enemy_act<=8 or (enemy_act>=200 and enemy_act<=226)) and enemy_allframe<=10))) then
	--LZBׂ̂Qê݃LZ^C~OݒBőiqbgXgbvjB
			if my_allframe>=19 and my_allframe<=20 then
	--C
				if math.random(24)==1 and ((my_dir==1 and x<940) or (my_dir==-1 and x>340)) then
					key_reset();
					key_event(ACT_C);
	--6C
				elseif math.random(24)==1 then
					key_reset();
					if math.random(15)==1 then
						key_on(front);
						key_on(ACT_C);
						wait(15);
						key_reset();
					else
						key_event2(ACT_C,front);
					end
	--̈ꌂB߂߃~X₷A荞݂₷B
				elseif dis>80 and math.random(24)==1 and get_skill_lv(0,0)>=0 then
					key_reset();key_on(ACT_D);yield();key_off(ACT_D);yield();
					lvr236(ACT_B);
	--H߂͐̔@BߐڂȂ΂Ⴊ݂łB
				elseif dis<180 and math.random(24)==1 and get_skill_lv(0,1)>=0 then
					key_reset();
					lvr623(ACT_B);
				end
	--ډBd̍ŏIeɍśBAǂ킯Qexi蓮ȂőŐUjB
			else
	--ډU`BGZɂ͖́B
				if dis<=250 and my_allframe==51 and math.random(8)==1 then
					key_reset();
					key_event2(ACT_A,front);
	--ډQ`
				elseif dis<=210 and my_allframe==51 and math.random(2)==1 then
					key_reset();
					key_event2(ACT_A,ACT_DOWN);
	--ډ`BŏIIɑSȂɂɏI邱Ƃ͂ȂB߂΂r`B΂k`ɂȂB
				elseif dis<=300 and my_allframe==51 then
					key_reset();
					key_event(ACT_A);
				end
			end

--6B

--2B
		elseif y==0 and (((my_act==402 and my_allframe>=18) and (enemy_act>=143 and enemy_act<=165)) or ((my_act==402 and my_allframe==48) and ((enemy_act<=8 or (enemy_act>=200 and enemy_act<=226)) and enemy_allframe<=10))) then
	--LZBׂ̂Qê݃LZ^C~OݒBőiqbgXgbvjB
			if my_allframe>=18 and my_allframe<=19 then
	--C
				if math.random(24)==1 and ((my_dir==1 and x<940) or (my_dir==-1 and x>340)) then
					key_reset();
					key_event(ACT_C);
	--6C
				elseif math.random(24)==1 then
					key_reset();
					if math.random(15)==1 then
						key_on(front);
						key_on(ACT_C);
						wait(15);
						key_reset();
					else
						key_event2(ACT_C,front);
					end
	--̈ꌂB߂߃~X₷A荞݂₷B
				elseif dis>80 and math.random(24)==1 and get_skill_lv(0,0)>=0 then
					key_reset();key_on(ACT_D);yield();key_off(ACT_D);yield();
					lvr236(ACT_B);
	--H߂͐̔@BߐڂȂ΂Ⴊ݂łB
				elseif dis<180 and math.random(24)==1 and get_skill_lv(0,1)>=0 then
					key_reset();
					lvr623(ACT_B);
				end
	--ډBd̍ŏIeɍśBAǂ킯Qexi蓮ȂőŐUjB
			else
	--ډU`BGZɂ͖́B
				if dis<=250 and my_allframe==48 and math.random(8)==1 then
					key_reset();
					key_event2(ACT_A,front);
	--ډQ`
				elseif dis<=210 and my_allframe==48 and math.random(2)==1 then
					key_reset();
					key_event2(ACT_A,ACT_DOWN);
	--ډ`BŏIIɑSȂɂɏI邱Ƃ͂ȂB߂΂r`B΂k`ɂȂB
				elseif dis<=300 and my_allframe==48 then
					key_reset();
					key_event(ACT_A);
				end
			end

--JB
--DB

--C
		elseif y==0 and (((my_act==410 and my_allframe>=25) and (enemy_act>=143 and enemy_act<=165)) or ((my_act==410 and my_allframe==66) and ((enemy_act<=8 or (enemy_act>=200 and enemy_act<=226)) and enemy_allframe<=10))) then
	--LZBׂ̂Qê݃LZ^C~OݒBőiqbgXgbvjB
			if my_allframe>=25 and my_allframe<=26 then
	--̈ꌂB߂߃~X₷A荞݂₷B
				if dis>80 and math.random(24)==1 and get_skill_lv(0,0)>=0 then
					key_reset();key_on(ACT_D);yield();key_off(ACT_D);yield();
					lvr236(ACT_B);
	--H߂͐̔@BߐڂȂ΂Ⴊ݂łB
				elseif dis<180 and math.random(24)==1 and get_skill_lv(0,1)>=0 then
					key_reset();
					lvr623(ACT_B);
				end
	--HJCB
			elseif my_allframe>=36 and my_allframe<=37 and math.random(4)==1 then
				key_reset();
				key_event(ACT_UP);
				wait(10);
				if y>=100 then
					key_reset();
					key_event2(ACT_D,front);
				end
	--fBCLZB
	--̈ꌂB
			elseif my_allframe>=44 and my_allframe<=45 then	--̈ꌂB߂߃~X₷A荞݂₷B
				if dis>80 and math.random(24)==1 and get_skill_lv(0,0)>=0 then
					key_reset();key_on(ACT_D);yield();key_off(ACT_D);yield();
					lvr236(ACT_B);
	--H߂͐̔@BߐڂȂ΂Ⴊ݂łB
				elseif dis<180 and math.random(24)==1 and get_skill_lv(0,1)>=0 then
					key_reset();
					lvr623(ACT_B);
				end
	--ډBd̍ŏIeɍśBAAőł͂ȂB
			else
	--ډU`B
				if dis<=250 and my_allframe==66 and math.random(8)==1 then
					key_reset();
					key_event2(ACT_A,front);
	--ډQ`
				elseif dis<=210 and my_allframe==66 and math.random(2)==1 then
					key_reset();
					key_event2(ACT_A,ACT_DOWN);
	--ډ`BŏIIɑSȂɂɏI邱Ƃ͂ȂB߂΂r`B΂k`ɂȂB
				elseif dis<=300 and my_allframe==66 then
					key_reset();
					key_event(ACT_A);
				end
			end

--6C
		elseif y==0 and (((my_act==411 and my_allframe>=15) and (enemy_act>=143 and enemy_act<=165)) or ((my_act==411 and my_allframe==56) and ((enemy_act<=8 or (enemy_act>=200 and enemy_act<=226)) and enemy_allframe<=10))) then
	--LZBׂ̂Qê݃LZ^C~OݒBőiqbgXgbvjB
			if my_allframe>=15 and my_allframe<=16 then
			
	--̈ꌂB߂߃~X₷A荞݂₷B
				if dis>80 and math.random(24)==1 and get_skill_lv(0,0)>=0 then
					key_reset();key_on(ACT_D);yield();key_off(ACT_D);yield();
					lvr236(ACT_B);
	--H߂͐̔@BߐڂȂ΂Ⴊ݂łB
				elseif dis<180 and math.random(24)==1 and get_skill_lv(0,1)>=0 then
					key_reset();
					lvr623(ACT_B);
				end
	--fBCLZB
	--̈ꌂB
			elseif my_allframe>=24 and my_allframe<=25 then	--̈ꌂB߂߃~X₷A荞݂₷B
				if dis>80 and math.random(24)==1 and get_skill_lv(0,0)>=0 then
					key_reset();key_on(ACT_D);yield();key_off(ACT_D);yield();
					lvr236(ACT_B);
	--H߂͐̔@BߐڂȂ΂Ⴊ݂łB
				elseif dis<180 and math.random(24)==1 and get_skill_lv(0,1)>=0 then
					key_reset();
					lvr623(ACT_B);
				end
	--ډBd̍ŏIeɍśBAAőł͂ȂB
			else
	--ډU`BGZɂ͖́B
				if dis<=250 and my_allframe==56 and math.random(8)==1 then
					key_reset();
					key_event2(ACT_A,front);
	--ډQ`
				elseif dis<=210 and my_allframe==56 and math.random(2)==1 then
					key_reset();
					key_event2(ACT_A,ACT_DOWN);
	--ډ`BŏIIɑSȂɂɏI邱Ƃ͂ȂB߂΂r`B΂k`ɂȂB
				elseif dis<=300 and my_allframe==56 then
					key_reset();
					key_event(ACT_A);
				end
			end

--2C
--JC
--J6C
--J2C
--J1C
--DC
--̈ꌂ
--H߂͐̔@
--̓{
--ÓdUe
--_̈ꌂ
--H߂͕̔@
--_̓{
--_̈
--̊
--duےev
--uhv
--uGLe̗{v
--u̓fv
--u_Vjev
--H߁uH߂͋̔@v
--u_v
--u{̎gVjev

		end
	end
end
