--西行寺幽々子用ai
--しなうす式/20220710check

require("function_pun_strage.lua")
head_req_list()

function main()
--シード生成、スレッド生成、base_states設定
	set_seedthreadstates()
--キャラ確認
	char_calling()
--ステージが 核融合炉心部 だと超反応モードに
	set_printsabot()

while true do
--スレッド外初期化
	while_top()

--●どちらかが体力無くなったら待機
	if interbattle_condi()==true then
		interbattle_exe()
--▼開幕行動▼
	elseif kaimaku_condi()==true then
		kaimaku_exe()
--▼移動起き上がり
	elseif my_act==97 or my_act==98 then --基本：画面端より遠ざかる。中央では相手から遠ざか…りたいが、設置技警戒のため、相手側に移動起き上がり。
		movedgetup_exe()

--▼簡易受け身▼：攻撃ないし回避いずれの目的であってもリカバリーポイントは限られるが、そういうことはさておき実装したもの
	elseif recovery_condi()==true then
		recovery_exe()

--▼台風になった時、フラグに従って「緋想の剣」を使用
	elseif y==0 and my_act<=10 and card_check(14) and flag_kishitu==1 then
		print("天候フラグＯＮ　⇒　「緋想の剣」使用");
		card_use(14);

--▼台風▼：近接状態からの強引な状況変更を行う行動。スペカなど使用。
	elseif react_rejecttaihu_condi()==true then
		react_rejecttaihu_exe()

--▼起き攻め▼
	elseif setplay_ongetup_condi()==true then
		setplay_ongetup_exe()
--▼ＨＪＣ▼
	--地上HJC
	elseif hjc_ground_condi()==true then
		hjc_ground_exe()
	--空中HJC
	elseif hjc_air_condi()==true then
		hjc_air_exe()

--▼反応行動
--反応：下段
	elseif 	react_lowattack_condi()==true then
		react_lowattack_exe()
--反応：地対空
	elseif react_g2a_condi()==true then
		react_g2a_exe()
--反応：低空飛翔
	elseif react_lowj6d_condi()==true then
		react_lowj6d_exe()
--上空追いかけ
	elseif ueoikake_condi()==true then
		ueoikake_exe()
--霊撃 or 霊撃札
	elseif reigeki_condi()==true then 
		print("拒否行動：霊撃　⇒　可能ならば使用");
		card_use(0)
		
--▼グレイズ：相手行動に対する反射or一定距離内のオブジェクト感知▼
--モーション反応グレイズ
	elseif
	graze_condition_xrange()==true and
	state_nottrueguard()==true and 
	my_airEX>=1 and 
	my_rei>=0 
	then--近距離時のグレイズ。のさばらせておくと、誤結界の原因となる。ガードの硬直間際ならok
		print("check 1 -> graze act X Range");
		graze_action_xrange()
			
--▼ ガード行動：簡易ガードルーチン▼
--▼ ガード反撃、龍魚の羽衣 13
	elseif hagoromo_1st_condi()==true or hagoromo_condi()==true then
		hagoromo_exe()

--回避結界
	elseif kekkai_condi()==true then
		kekkai_exe()

--▼ 宵越しの銭 12
	elseif yoikoshi_1st_condi()==true or yoikoshi_condi()==true then
		yoikoshi_exe()

--▼汎用中下段ガード
--基本は行動に対して後退入れ込み。下段のみ抽出して反応。通常射撃も同じく下段で受ける(けどメンドウだから今回は省き)。フラグを抜けてくるものは別個に対応
	elseif lowattack_aflags_condi()==true then
		guard_backexpectlowattack_exe()
	elseif overheadattack_aflags_condi()==true then
		guard_backoverheadattack_exe()
--下段判定をフィルタ
	elseif lowattack_flaged_condi()==true then
		guard_backexpectlowattack_exe()
--フラグを抜けてくるものをフィルタ
	elseif lowattack_unflaged_condi()==true then
		guard_backexpectlowattack_exe()
--屈状態では低空昇り攻撃には立てない
	elseif notstand_overhead_upjump_condi()==true then
		guard_backexpectlowattack_exe()
--以下、何もフィルタされなかった場合、立ちガード
	elseif guard_pun_condi()==true then
		guard_backoverheadattack_exe()

--[[▼オブジェが至近距離の場合、着地直前にｈｊを仕込む、タッチ＆ゴーグレイズ
	elseif touchandgo_00_condi() then
		touchandgo_00_exe()
--オブジェが至近距離の場合、ガードの前に、離陸
	elseif touchandgo_01_condi() then
		touchandgo_01_exe()
	elseif touchandgo_02_condi() then
		touchandgo_02_exe()
--]]
--オブジェが至近距離の場合、空中から地上へ飛翔　※咲夜：２D：120.0以上、３D：84.9以上必要
	elseif graze_pun_condi()==true then
		graze_pun_exe()
		
--遠距離時のグレイズ
	elseif graze_farground_condi() then
		graze_farground_exe()
	elseif graze_farair_condi() then
		graze_farair_exe()
		
--特定状況におけるガード
	elseif guard_objgimmick_condi()==true then
		guard_backexpectlowattack_exe()
--オブジェが至近距離の場合、ガード:射撃と打撃を重ねられると、しゃがみガードしてしまう。優先順位の変更が必要
	elseif guard_objclosedis_condi()==true then
		guard_backexpectlowattack_exe()
	
--▼起き上がり直後の行動
	elseif move_soonaftergetup_condi()==true then
		move_soonaftergetup_exe()

--▼コンボ▼
--AA
	elseif my_act==300 and (enemy_act>=50 and enemy_act<=89) and my_hitstop<=3 and my_hitstop>=2 and is_dir_front==true then
		print("コンボ：A>ＡＡ");
		key_event(ACT_A);
--AA＞无寿の夢＞AAA（端
	--AA＞霊符「无寿の夢」
		elseif my_act==320 and (enemy_act>=50 and enemy_act<=89) and is_dir_front==true and my_spell_more(1000) and card_check(202) then
			if my_act==320 and my_allframe<=14 then
				card_1st(202)
				if my_card==202 and get_card_id(0,1)==my_card then
					key_event(ACT_AB);
				end
			elseif my_hitstop<=3 and my_hitstop>=2 then
				print("コンボ：AA>霊符「无寿の夢」");
				card_use(202)
			end
			elseif my_act==602 and my_allframe>=79-2 then
				if dis<=179+4*4 then
					key_on(front);
					wait(6);
					key_resetEX();
					key_event(ACT_A);
				elseif dis>179 and ey==0 then
					key_on(front);
					key_event2(ACT_D,ACT_A);
				end
			--AAA
				elseif my_act==320 and ((enemy_act>=50 and enemy_act<=89) or (enemy_act>=143 and enemy_act<=145)) and my_hitstop<=3 and my_hitstop>=2 then
					print("コンボ：AA>ＡＡＡ");
					key_event(ACT_A);
			
--AAA＞2A＞3A＞无寿の夢（端
				--AAA＞2A
					elseif my_act==321 and ((enemy_act>=50 and enemy_act<=89) or (enemy_act>=143 and enemy_act<=145)) and ((ex>=1200) or (ex<=80)) and my_hitstop<=3 and my_hitstop>=2 and my_limit<100 then
						key_on(front);
						wait(30);
						while (ey>=80) do
							yield();
						end
						print("コンボ：AAA>2A");
						key_resetEX();
						key_event2(ACT_A,ACT_DOWN);
					--2A＞3A（空中食らい
						elseif my_act==303 and ey>0 and ((enemy_act>=50 and enemy_act<=89) or (enemy_act>=143 and enemy_act<=166)) and my_hitstop<=3 and my_hitstop>=2 and my_limit<100 then
							key_resetEX();
							print("2A＞3A");
							key_event2(ACT_A,d_front);
						--3A＞霊符「无寿の夢」
							elseif my_act==304 and (enemy_act>=50 and enemy_act<=89) and is_dir_front==true and my_spell_more(1000) and card_check(202) then
								if my_act==304 and my_allframe<=14 then
									card_1st(202)
									if my_card==202 and get_card_id(0,1)==my_card then
										key_event(ACT_AB);
									end
								elseif my_hitstop<=3 and my_hitstop>=2 then
									print("コンボ：3A>霊符「无寿の夢」");
									card_use(202)
								end
						
--AAA＞遠A＞6C＞JA＞J8A（距離限。厳しい
				--AAA＞遠A
					elseif my_act==321 and ((enemy_act>=50 and enemy_act<=89) or (enemy_act>=143 and enemy_act<=145)) and ((my_dir==1 and x<=1000 and x>=800) or (my_dir==-1 and x<=480 and x>=280)) and my_hitstop<=3 and my_hitstop>=2 and my_limit<100 then
						if dis<=180+math.abs(enemy_xspeed*3) then
							key_on(back);
						else
							key_on(front);
						end
						wait(30);
						while (enemy_yspeed<0) do
							yield();
						end
						wait(10);
						print("コンボ：AAA>遠A");
						key_resetEX();
						key_event(ACT_A);
					--遠A>6C
						elseif my_act==301 and ((enemy_act>=50 and enemy_act<=89) or (enemy_act>=143 and enemy_act<=145)) and my_hitstop<=3 and my_hitstop>=2 and my_rei>=200 then
							key_resetEX();
							print("遠Ａ＞6C");
							key_event2(ACT_C,front);
						--6C>9hjc>JA
							elseif my_act==411 and ((enemy_act>=50 and enemy_act<=89) or (enemy_act>=143 and enemy_act<=145)) and enemy_frame<=10 and my_allframe>=41-2 and ((my_dir==1 and x<=1050 and x>=950) or (my_dir==-1 and x<=330 and x>=230)) and is_dir_front==true and my_rei>=200 then
								print("6C＞9hjc");
								key_event2(ACT_D,u_front);
								wait(4);
								if my_act==209 and my_allframe<=2 then
									wait(3-my_allframe);
								end
								if ey>50 then
									print("9hjc＞JA");
									key_event(ACT_A);
								else
									print("9hjc＞J2A");
									key_event2(ACT_A,ACT_DOWN);
								end
							--JA>J8A
								elseif my_act==306 and ey>0 and ((enemy_act>=50 and enemy_act<=89)) and my_hitstop<=3 and my_hitstop>=2 then
									key_resetEX();
									if my_hitstop>=1 then
										wait(my_hitstop);
									end
									print("ＪＡ＞Ｊ８Ａ"); --空中のみ
									key_event2(ACT_A,ACT_UP);
--AAA＞遠A＞6A＞C胡蝶夢の舞（AAAの跳ね返りに遠A＞６Aが当たる距離。遠Aが入るならほぼ入る
					--遠A>6A
						elseif my_act==301 and dis<=250 and ((enemy_act>=50 and enemy_act<=89 and my_act~=71 and my_act~=74) or ((my_act==71 or my_act==74) and ((my_dir==1 and x>=940) or (my_dir==-1 and x<=340))) or (enemy_act>=143 and enemy_act<=166)) and my_hitstop<=3 and my_hitstop>=2 then
							key_resetEX();
							print("遠Ａ＞6A");
							key_event2(ACT_A,front);
						--6A>C胡蝶夢の舞
							elseif my_act==302 and ey>=40 and ((enemy_act>=50 and enemy_act<=89)) and card_check(103) and ((my_dir==1 and x>=880) or (my_dir==-1 and x<=400)) then
								if my_hitstop<=3 and my_hitstop>=2 then
									print("攻撃＞スキルカード：胡蝶夢の舞");
									card_use(103);
								end
								card_1st(103);
							elseif my_act==302 and ey>=40 and ((enemy_act>=50 and enemy_act<=89)) and my_allframe>=23-4 and get_skill_lv(0,3)>=0 and ((my_dir==1 and x>=880) or (my_dir==-1 and x<=400)) and my_rei>=200 then
								print("攻撃＞コマンド：C胡蝶夢の舞");
								lvr623(ACT_C);
--AAA＞无寿の夢（かなりレンジが広い
				--AAA＞无寿の夢
					elseif my_act==321 and ((enemy_act>=50 and enemy_act<=89) or (enemy_act>=143 and enemy_act<=145)) and ((my_dir==1 and x>=400) or (my_dir==-1 and x<=880)) and my_spell_more(1000) and card_check(202) and my_limit<100 then
						if my_act==321 and my_allframe<=14 then
							card_1st(202)
							if my_card==202 and get_card_id(0,1)==my_card then
								key_event(ACT_AB);
							end
						elseif my_hitstop<=3 and my_hitstop>=2 then
							print("コンボ：AAA>霊符「无寿の夢」");
							card_use(202)
						end
--AAA＞鳳蝶紋の死槍（どこでも
				--AAA＞无寿の夢
					elseif my_act==321 and ((enemy_act>=50 and enemy_act<=89) or (enemy_act>=143 and enemy_act<=145)) and my_spell_more(2000) and card_check(207) and my_limit<100 then
						if my_act==321 and my_allframe<=14 then
							card_1st(207)
							if my_card==207 and get_card_id(0,1)==my_card then
								key_event(ACT_AB);
							end
						elseif my_hitstop<=3 and my_hitstop>=2 then
							print("コンボ：AAA>蝶符「鳳蝶紋の死槍」");
							card_use(207)
						end
--2A,4A＞6A＞6C＞JA＞J8A（空中食らい限定
	--A>6A
		elseif (my_act==300 or my_act==303 or my_act==330) and dis<=250 and ((enemy_act>=50 and enemy_act<=89) or (enemy_act>=143 and enemy_act<=145)) and my_hitstop<=3 and my_hitstop>=2 then
			key_resetEX();
			print("A＞6A");
			key_event2(ACT_A,front);
		--6A>6C
			elseif my_act==302 and ((enemy_act>=50 and enemy_act<=89) or (enemy_act>=143 and enemy_act<=145)) and ((my_dir==1 and x<=1080 and x>=880) or (my_dir==-1 and x<=400 and x>=200)) and my_hitstop<=3 and my_hitstop>=2 and my_rei>=200 then
				key_resetEX();
				print("6Ａ＞6C");
				key_event2(ACT_C,front);
--2A,4A＞6A＞2B＞B胡蝶夢の舞or无寿の夢（端
		--6A>2B
			elseif my_act==302 and ((enemy_act>=50 and enemy_act<=89) or (enemy_act>=143 and enemy_act<=145)) and ((my_dir==1 and x>=880) or (my_dir==-1 and x<=400)) and my_hitstop<=3 and my_hitstop>=2 and my_rei>=200 then
				key_resetEX();
				print("6Ａ＞2B");
				key_event2(ACT_B,ACT_DOWN);
			--2B>C胡蝶夢の舞
				elseif my_act==402 and ((enemy_act>=50 and enemy_act<=89)) and card_check(103) then
					if my_hitstop<=3 and my_hitstop>=2 then
						print("攻撃＞スキルカード：胡蝶夢の舞");
						card_use(103);
					end
					card_1st(103);
				elseif my_act==402 and ((enemy_act>=50 and enemy_act<=89)) and my_allframe>=26-4 and get_skill_lv(0,3)>=0 and my_rei>=200 then
					print("攻撃＞コマンド：B胡蝶夢の舞");
					lvr623(ACT_B);
			--2B>霊符「无寿の夢」
				elseif my_act==402 and ((enemy_act>=50 and enemy_act<=89) or (enemy_act>=143 and enemy_act<=145)) and is_dir_front==true and my_spell_more(1000) and card_check(202) then
					if my_act==402 and my_allframe<=14 then
						card_1st(202)
						if my_card==202 and get_card_id(0,1)==my_card then
							key_event(ACT_AB);
						end
					elseif my_hitstop<=3 and my_hitstop>=2 then
						print("コンボ：2B>霊符「无寿の夢」");
						card_use(202)
					end
--2A,4A＞6A＞6C＞J2A（端付近
			--6C>9hjc>J2A
				elseif my_act==411 and ((enemy_act>=50 and enemy_act<=89) or (enemy_act>=143 and enemy_act<=145)) and enemy_frame<=10 and my_allframe>=41-2 and ((my_dir==1 and x>=880) or (my_dir==-1 and x<=400)) and is_dir_front==true and my_rei>=200 then
					print("6C＞9hjc");
					key_event2(ACT_D,u_front);
					wait(4);
					if my_act==209 and my_allframe<=2 then
						wait(3-my_allframe);
					end
					print("9hjc＞J2A");
					wait(5);
					key_event2(ACT_A,ACT_DOWN);
--2A,4A＞6A＞B未生の光＞无寿の夢（中央
		--6A＞B未生の光
			elseif my_act==302 and ((enemy_act>=50 and enemy_act<=89) or (enemy_act>=143 and enemy_act<=145)) and card_check(101) and ((my_dir==1 and x>=680) or (my_dir==-1 and x<=600)) then
				if my_hitstop<=3 and my_hitstop>=2 then
					print("攻撃＞スキルカード：未生の光");
					card_use(101);
				end
				card_1st(101);
			elseif my_act==302 and ((enemy_act>=50 and enemy_act<=89) or (enemy_act>=143 and enemy_act<=145)) and my_hitstop<=3 and my_hitstop>=2 and get_skill_lv(0,1)>=0 and ((my_dir==1 and x>=680) or (my_dir==-1 and x<=600)) and my_rei>=200 then
				print("6A＞コマンド：B未生の光");
				key_resetEX(); key_on(ACT_D); yield(); key_resetEX();
				lvr236(ACT_B);
			--B未生の光>霊符「无寿の夢」
				elseif my_act==520 and y==0 and ((enemy_act>=50 and enemy_act<=89) or (enemy_act>=143 and enemy_act<=145)) and enemy_frame<=6 and my_allframe>=40 and my_spell_more(1000) and card_check(202) then
					if my_act==520 and my_allframe<=14 then
						card_1st(202)
						if my_card==202 and get_card_id(0,1)==my_card then
							key_event(ACT_AB);
						end
					elseif my_hitstop<=3 and my_hitstop>=2 then
						print("コンボ：B未生の光>霊符「无寿の夢」");
						card_use(202)
					end
--2A,4A＞6A＞鳳蝶紋の死槍（バウンドするならどこでも。端ではダメが落ちる
		--６A＞无寿の夢
			elseif my_act==302 and ((enemy_act>=50 and enemy_act<=89) or (enemy_act>=143 and enemy_act<=145)) and my_spell_more(2000) and card_check(207) and my_limit<100 then
				if my_act==302 and my_allframe<=14 then
					card_1st(207)
					if my_card==207 and get_card_id(0,1)==my_card then
						key_event(ACT_AB);
					end
				elseif my_hitstop<=3 and my_hitstop>=2 then
					print("コンボ：6A>蝶符「鳳蝶紋の死槍」");
					card_use(207)
				end
--2A,4A＞6A＞B未生の光＞J2A（中央
			--B未生の光>9hjc>J2A
				elseif my_act==520 and ((enemy_act>=50 and enemy_act<=89) or (enemy_act>=143 and enemy_act<=145)) and enemy_frame<=10 and my_allframe>=49+2 and ((my_dir==1 and x>=580) or (my_dir==-1 and x<=700)) and is_dir_front==true then
					print("B未生の光＞9hjc");
					key_event2(ACT_D,u_front);
					wait(4);
					if my_act==209 and my_allframe<=2 then
						wait(3-my_allframe);
					end
					print("9hjc＞J2A");
					wait(5);
					key_event2(ACT_A,ACT_DOWN);
--JA＞J8A＞J6C＞J8A（端以外
--JA＞J8A＞JB(＞J8A)（どこでも
--JA＞J8A＞2A＞6A＞B未生の光（端以外
--JA＞J8A＞2A＞6A＞C胡蝶夢の舞（どこでも
--JA＞J6A＞J2C＞66JA＞J8A（端限定
					
--遠A>6C
	elseif my_act==301 and ((enemy_act>=50 and enemy_act<=89)) and my_hitstop<=3 and my_hitstop>=2 and ((my_dir==1 and x>=740)or(my_dir==-1 and x<=540)) and my_rei>=200 then
		key_resetEX();
		print("遠Ａ＞6C");
		key_event2(ACT_C,front);
--遠A>3A
	elseif my_act==301 and ((enemy_act>=50 and enemy_act<=89) or (enemy_act>=143 and enemy_act<=166)) and my_hitstop<=3 and my_hitstop>=2 and is_dir_front==true then
		key_resetEX();
		print("遠Ａ＞３Ａ");
		key_event2(ACT_A,d_front);
	
--JA>J6C
	elseif my_act==306 and  y+my_yspeed/5*23>=1 and
	((enemy_act>=50 and enemy_act<=89) or (enemy_act>=143 and enemy_act<=145)) and my_hitstop<=3 and my_hitstop>=2 and is_dir_front==true then
		key_resetEX();
		print("ＪＡ＞Ｊ6Ｃ");
		key_event2(ACT_C,front);
				  
--▼固め▼
	--A>6A
		elseif (my_act==300 or my_act==303 or my_act==330) and dis<=250 and (enemy_act>=146 and enemy_act<=166) and my_hitstop<=3 and my_hitstop>=2 and math.random(6)==1 then
			key_resetEX();
			print("固め：A＞6A");
			key_event2(ACT_A,front);
	--6A>6C
		elseif my_act==302 and ((enemy_act>=146 and enemy_act<=166)) and ((my_dir==1 and x<=1080) or (my_dir==-1 and x>=200)) and my_hitstop<=3 and my_hitstop>=2 and my_rei>=200 then
			key_resetEX();
			print("6Ａ＞6C");
			key_event2(ACT_C,front);
	--６A>悉皆彷徨
		elseif my_act==302 and ((enemy_act>=146 and enemy_act<=166)) and ((my_dir==1 and x>=1080) or (my_dir==-1 and x<=200)) and card_check(102) and get_skill_lv(0,2)<=0 then 
			if my_hitstop<=3 and my_hitstop>=2 and math.random(2)==1 then
				print("６A＞スキルカード：悉皆彷徨");
				card_use(102);
			end
			card_1st(102);
		elseif my_act==302 and ((enemy_act>=146 and enemy_act<=166)) and ((my_dir==1 and x>=1080) or (my_dir==-1 and x<=200)) and get_skill_lv(0,2)>=0 and my_hitstop<=5 and my_hitstop>=4 and my_rei>=600 and math.random(1)==1 then
			print("６A＞コマンド：C悉皆彷徨");
			lvr421(ACT_C);
			wait(2);
	--DA>悉皆彷徨
		elseif my_act==305 and ((enemy_act>=50 and enemy_act<=89) or (enemy_act>=143 and enemy_act<=166)) and card_check(102) and get_skill_lv(0,2)<=0 then 
			if my_hitstop<=3 and my_hitstop>=2 and math.random(2)==1 then
				print("DA＞スキルカード：悉皆彷徨");
				card_use(102);
			end
			card_1st(102);
		elseif my_act==305 and ((enemy_act>=50 and enemy_act<=89) or (enemy_act>=143 and enemy_act<=166)) and my_allframe<=20 and get_skill_lv(0,2)>=0 and my_hitstop<=5 and my_hitstop>=4 and my_rei>=600 and math.random(1)==1 then
			print("DA＞コマンド：C悉皆彷徨");
			lvr421(ACT_C);
			wait(2);--]]
	--JA>J6C
		elseif my_act==306 and dis<=250 and ey>0 and (enemy_act>=146 and enemy_act<=166) and my_hitstop<=3 and my_hitstop>=2 and my_rei>=200 then
			key_resetEX();
			if my_hitstop>=1 then
				wait(my_hitstop);
			end
			print("ＪＡ＞Ｊ６C"); --空中のみ
			key_event2(ACT_C,front);
								

--▼固め▼

--▼攻撃▼

--▼spell card▼

--▼cost1

--冥符「黄泉平坂行路」201,601,g,a
	--Ground
	--air
		elseif card_check(201)==true and
			my_spell_more(500) and
			--dis2<200 and
			--y==0 and
			dis_y<50 and
			not(my_act>=50 and my_act<180) and my_act<600 and 
			get_fflags(0,32)==true and
			get_fflags(0,8)==false and get_fflags(1,8)==false and 
			enemy_obj_range_in(150,60)==false and 
			is_dir_front==true and 
			subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
				print("冥符「黄泉平坂行路」");
				for i=1,10 do
				card_use(201);
				yield()
			end

--▼cost2

--死符「ギャストリドリーム」200,600,g
	--Ground
		elseif card_check(200)==true and
			my_spell_more(1000) and
			dis2<200 and
			y==0 and
			not(my_act>=50 and my_act<180) and my_act<600 and 
			get_fflags(0,32)==true and
			get_fflags(0,8)==false and get_fflags(1,8)==false and 
			--enemy_obj_range_in(150,60)==false and 
			--is_dir_front==true and 
			subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
				print("死符「ギャストリドリーム」");
				for i=1,10 do
				card_use(200);
				yield()
			end

--霊符「无寿の夢」202,602,g
	--Ground
		elseif card_check(202)==true and
			my_spell_more(1000) and
			--dis<320 and
			y==0 and
			ey<50 and
			not(my_act>=50 and my_act<180) and my_act<600 and 
			get_fflags(0,32)==true and
			get_fflags(0,8)==false and get_fflags(1,8)==false and 
			enemy_obj_range_in(150,60)==false and 
			is_dir_front==true and 
			subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
				print("霊符「无寿の夢」");
				for i=1,10 do
				card_use(202);
				yield()
			end

--霊蝶「蝶の羽風生に暫く」206,606,g,a
	--Ground
	--air
		elseif card_check(206)==true and
			my_spell_more(1000) and
			--dis<240 and
			--y==0 and
			--ey<120 and
			not(my_act>=50 and my_act<180) and my_act<600 and 
			get_fflags(0,32)==true and
			get_fflags(0,8)==false and get_fflags(1,8)==false and 
			enemy_obj_range_in(150,60)==false and 
			--is_dir_front==true and 
			subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
				print("霊蝶「蝶の羽風生に暫く」");
				for i=1,10 do
				card_use(206);
				yield()
			end

--▼cost3

--幽雅「死出の誘蛾灯」208,608,g
	--Ground
		elseif card_check(208)==true and
			my_spell_more(1500) and
			--dis>360 and
			y==0 and
			--ey<100 and
			not(my_act>=50 and my_act<180) and my_act<600 and 
			get_fflags(0,32)==true and
			get_fflags(0,8)==false and get_fflags(1,8)==false and 
			enemy_obj_range_in(150,60)==false and 
			--is_dir_front==true and 
			subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
				print("幽雅「死出の誘蛾灯」");
				for i=1,10 do
				card_use(208);
				yield()
			end

--「反魂蝶」219,619,g
	--Ground
		elseif card_check(219)==true and
			my_spell_more(1500) and
			dis<300 and
			y==0 and
			--ey<100 and
			not(my_act>=50 and my_act<180) and my_act<600 and 
			get_fflags(0,32)==true and
			get_fflags(0,8)==false and get_fflags(1,8)==false and 
			enemy_obj_range_in(150,60)==false and 
			--is_dir_front==true and 
			subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
				print("「反魂蝶」");
				for i=1,10 do
				card_use(219);
				yield()
			end

--▼cost4

--死蝶「華胥の永眠」203,603,g
	--Ground
		elseif card_check(203)==true and
			my_spell_more(2000) and
			dis2<300 and
			y==0 and
			--ey>180 and
			not(my_act>=50 and my_act<180) and my_act<600 and 
			get_fflags(0,32)==true and
			get_fflags(0,8)==false and get_fflags(1,8)==false and 
			--enemy_obj_range_in(150,60)==false and 
			--is_dir_front==true and 
			subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
				print("死蝶「華胥の永眠」");
				for i=1,10 do
				card_use(203);
				yield()
			end

--蝶符「鳳蝶紋の死槍」207,607,g,a
	--Ground
	--air
		elseif card_check(207)==true and
			my_spell_more(2000) and
			--dis<200 and
			y==0 and
			dis_y<100 and
			--ey<100 and
			not(my_act>=50 and my_act<180) and my_act<600 and 
			get_fflags(0,32)==true and
			get_fflags(0,8)==false and get_fflags(1,8)==false and 
			enemy_obj_range_in(150,60)==false and 
			is_dir_front==true and 
			subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
				print("蝶符「鳳蝶紋の死槍」");
				for i=1,10 do
					card_use(207);
					yield()
				end

--寿命「无寿国への約束手形」205,605,g
	--Ground
		elseif card_check(205)==true and
			my_spell_more(2000) and
			--dis>360 and
			y==0 and
			ey<50 and
			not(my_act>=50 and my_act<180) and my_act<600 and 
			get_fflags(0,32)==true and
			get_fflags(0,8)==false and get_fflags(1,8)==false and 
			enemy_obj_range_in(150,60)==false and 
			is_dir_front==true and 
			subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
				print("寿命「无寿国への約束手形」");
				for i=1,10 do
					card_use(205);
					yield()
				end

--▼cost5

--再迷「幻想郷の黄泉還り」204,604,g
	--Ground
		elseif card_check(204)==true and
			my_spell_more(2500) and
			--dis>360 and
			y==0 and
			--ey<100 and
			not(my_act>=50 and my_act<180) and my_act<600 and 
			get_fflags(0,32)==true and
			get_fflags(0,8)==false and get_fflags(1,8)==false and 
			enemy_obj_range_in(150,60)==false and 
			--is_dir_front==true and 
			subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
				print("再迷「幻想郷の黄泉還り」");
				for i=1,10 do
					card_use(204);
					yield()
				end

--桜符「センスオブチェリーブロッサム」209,609,g
	--Ground
		elseif card_check(209)==true and
			my_spell_more(2500) and
			dis<400 and
			y==0 and
			ey<100 and
			not(my_act>=50 and my_act<180) and my_act<600 and 
			get_fflags(0,32)==true and
			get_fflags(0,8)==false and get_fflags(1,8)==false and 
			--enemy_obj_range_in(150,60)==false and 
			is_dir_front==true and 
			subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
				print("桜符「センスオブチェリーブロッサム」");
				for i=1,10 do
					card_use(209);
					yield()
				end
--]]
--[[
--▼skill card▼

	--▼スキル236

		--博麗アミュレット,100,500,g,a
			--g,a
				elseif get_skill_lv(0,0)>=0 and my_rei>=400 and 
					dis>300 and
					dis_y<50 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("博麗アミュレット");
						lvr236(ACT_B);
				
				elseif get_skill_lv(0,0)>=0 and my_rei>=400 and 
					dis>450 and
					dis_y<50 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("博麗アミュレット");
						lvr236(ACT_C);
					
				elseif card_check(100)==true and my_rei>=400 and
					dis>300 and
					dis_y<50 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("博麗アミュレット");
						card_use(100);
		
		--妖怪バスター,104,505,g,a
			--g,a
				elseif get_skill_lv(0,4)>=0 and my_rei>=400 and 
					dis>200 and
					dis_y<50 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("妖怪バスター");
						lvr236(ACT_B);
					
				elseif get_skill_lv(0,4)>=0 and my_rei>=400 and 
					dis>300 and
					dis_y<50 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("妖怪バスター");
						lvr236(ACT_C);
					
				elseif card_check(104)==true and my_rei>=400 and
					dis>300 and
					dis_y<50 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("妖怪バスター");
						card_use(104);
		
		--拡散アミュレット,108,510,g

				elseif get_skill_lv(0,8)>=0 and my_rei>=400 and 
					dis>300 and
					dis_y<50 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("拡散アミュレット");
						lvr236(ACT_B);
					
				elseif get_skill_lv(0,8)>=0 and my_rei>=400 and 
					dis>300 and
					dis_y<50 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("拡散アミュレット");
						lvr236(ACT_C);
					
				elseif card_check(108)==true and my_rei>=400 and
					dis>300 and
					dis_y<50 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("拡散アミュレット");
						card_use(108);
		
	--▼スキル623

		--昇天脚,103,560,g

				elseif get_skill_lv(0,3)>=0 and my_rei>=400 and 
					dis<150 and
					y==0 and
					ey<200 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("昇天脚");
						lvr623(ACT_B);
					
				elseif get_skill_lv(0,3)>=0 and my_rei>=400 and 
					dis<150 and
					y==0 and
					ey<300 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					--enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("昇天脚");
						lvr623(ACT_C);
					
				elseif card_check(103)==true and my_rei>=400 and
					dis<150 and
					y==0 and
					ey<200 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("昇天脚");
						card_use(103);
		
		--抄地昇天脚,107,565,g
			--g
				elseif get_skill_lv(0,7)>=0 and my_rei>=400 and 
					dis<200 and
					y==0 and
					ey<50 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("抄地昇天脚");
						lvr623(ACT_B);
					
				elseif get_skill_lv(0,7)>=0 and my_rei>=400 and 
					dis<300 and
					y==0 and
					ey<50 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("抄地昇天脚");
						lvr623(ACT_C);
					
				elseif card_check(107)==true and my_rei>=400 and
					dis<200 and
					y==0 and
					ey<50 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("抄地昇天脚");
						card_use(107);
		
		--雨乞祈り,111,570,g,a
			--g,a
				elseif get_skill_lv(0,11)>=0 and my_rei>=400 and 
					dis<200 and
					dis_y<50 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("雨乞祈り");
						lvr623(ACT_B);
					
				elseif get_skill_lv(0,11)>=0 and my_rei>=400 and 
					dis<200 and
					dis_y<50 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("雨乞祈り");
						lvr623(ACT_C);
					
				elseif card_check(111)==true and my_rei>=400 and
					dis<200 and
					dis_y<50 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("雨乞祈り");
						card_use(111);

	--▼スキル421
		--亜空穴,102,540,g,a
			--g,a
				elseif get_skill_lv(0,2)>=0 and my_rei>=400 and 
					not(my_act>=50 and my_act<180) and my_act<600 and
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					--is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("亜空穴");
						lvr421(ACT_B);
					
				elseif get_skill_lv(0,2)>=0 and my_rei>=400 and 
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					--is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("亜空穴");
						lvr421(ACT_C);
					
				elseif card_check(102)==true and my_rei>=400 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					--is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("亜空穴");
						card_use(102);
		
		--封魔亜空穴,106,545,g,a
			--g,a
				elseif get_skill_lv(0,6)>=0 and my_rei>=400 and 
					dis<300 and
					ey<50 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("封魔亜空穴");
						lvr421(ACT_B);
					
				elseif get_skill_lv(0,6)>=0 and my_rei>=400 and 
					dis>300 and
					ey<50 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("封魔亜空穴");
						lvr421(ACT_C);
					
				elseif card_check(106)==true and my_rei>=400 and
					dis<300 and
					ey<50 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("封魔亜空穴");
						card_use(106);
		
		--刹那亜空穴,110,550,g
			--g
				elseif get_skill_lv(0,10)>=0 and my_rei>=400 and 
					dis2<300 and
					y==0 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					enemy_act>300 and
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					--is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("刹那亜空穴");
						lvr421(ACT_B);
					
				elseif get_skill_lv(0,10)>=0 and my_rei>=400 and 
					y==0 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==true and 
					--is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("刹那亜空穴");
						lvr421(ACT_C);
					
				elseif card_check(110)==true and my_rei>=400 and
					dis2<300 and
					y==0 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					enemy_act>300 and
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					--is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("刹那亜空穴");
						card_use(110);

	--▼スキル214
		--警醒陣,101,520,g,a
			--g,a
				elseif get_skill_lv(0,1)>=0 and my_rei>=400 and 
					dis>200 and dis<500 and
					dis_y<50 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("警醒陣");
						lvr214(ACT_B);
					
				elseif get_skill_lv(0,1)>=0 and my_rei>=400 and 
					dis>300 and dis<600 and
					dis_y<50 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("警醒陣");
						lvr214(ACT_C);
					
				elseif card_check(101)==true and my_rei>=400 and
					dis>200 and dis<500 and
					dis_y<50 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("警醒陣");
						card_use(101);	
		
		--繋縛陣,105,525,g,a
			--g,a
				elseif get_skill_lv(0,5)>=0 and my_rei>=400 and 
					dis2>300 and
					math.abs(enemy_xspeedEX)>5 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("繋縛陣");
						lvr214(ACT_B);
					
				elseif get_skill_lv(0,5)>=0 and my_rei>=400 and 
					dis2>300 and
					math.abs(enemy_yspeed)>5 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("繋縛陣");
						lvr214(ACT_C);
					
				elseif card_check(105)==true and my_rei>=400 and
					dis2>300 and
					math.abs(enemy_xspeedEX)>5 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("繋縛陣");
						card_use(105);
		
		--常置陣,109,530,g
			--g
				elseif get_skill_lv(0,9)>=0 and my_rei>=400 and 
					dis2>300 and
					y==0 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					--is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("常置陣");
						lvr214(ACT_B);
					
				elseif get_skill_lv(0,9)>=0 and my_rei>=400 and 
					dis2>500 and
					y==0 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("常置陣");
						lvr214(ACT_C);
					
				elseif card_check(109)==true and my_rei>=400 and
					dis2>300 and
					y==0 and
					not(my_act>=50 and my_act<180) and my_act<600 and 
					get_fflags(0,32)==true and
					get_fflags(0,8)==false and get_fflags(1,8)==false and 
					enemy_obj_range_in(150,60)==false and 
					--is_dir_front==true and 
					subs_count>=530 and nega_count ~= 1 and math.random(64)==1 then
						print("常置陣");
						card_use(109);
--]]
			
--▼攻撃▼
--▼空中打撃▼
--J8A:309,19-127,106-243,9-10,7F(初速y8.5,gs0.5),y+16.5-24
	elseif	y>0 and 
	not(my_act>=50 and my_act<180) and my_act<600 and 
	get_fflags(0,32)==true and
	get_fflags(0,8)==false and get_fflags(1,8)==false and 
	enemy_obj_range_in(150,60)==false and
	--is_dir_front==true and
	subs_count>=530 and nega_count ~= 1 and math.random(1)==1 and
	(y+my_yspeed*6+(6*(5*m_gs))/2)>0 	and
				(ex-x)*my_dir-(my_xspeedEX+enemy_xspeedEX)*10		<=	127+30 	and
				(ex-x)*my_dir-(my_xspeedEX+enemy_xspeedEX)*10		>=	19-30 	and
				(ey+enemy_yspeed*10+(10*(9*e_gs))/2)	-	(y+(my_yspeed*6+(6*(5*m_gs))/2)+(8.5*4+(4*(3*(-0.5)))/2))	<=	243-40		and
				(ey+enemy_yspeed*10+(10*(9*e_gs))/2)	-	(y+(my_yspeed*6+(6*(5*m_gs))/2)+(8.5*4+(4*(3*(-0.5)))/2))	>=	106-160 	then
					print("J8A");
					key_event2(ACT_A,ACT_UP)
--J2A:308,b0:1-19F(静止),b1:21-nF(落下:y==0まで),b2:n+1F(スタンプ),v-25
	--落下:-50-47,-48-44,21-n,v-25
	elseif	y>0 and 
	not(my_act>=50 and my_act<180) and my_act<600 and 
	get_fflags(0,32)==true and
	get_fflags(0,8)==false and get_fflags(1,8)==false and 
	enemy_obj_range_in(150,60)==false and
	--is_dir_front==true and
	subs_count>=530 and nega_count ~= 1 and math.random(1)==1 and
	(y+my_yspeed*1+(1*(0*m_gs))/2)>0 	and
				(ex-x)*my_dir-(enemy_xspeedEX)*(21+math.abs(math.ceil((y-ey)/25)))		<=	47+30 	and
				(ex-x)*my_dir-(enemy_xspeedEX)*(21+math.abs(math.ceil((y-ey)/25)))		>=	-50-30 	and
				(ey+enemy_yspeed*(21+math.abs(math.ceil((y-ey)/25)))+((21+math.abs(math.ceil((y-ey)/25)))*((20+math.abs(math.ceil((y-ey)/25)))*e_gs))/2)	-	(y+(-25)*(math.abs(math.ceil((y-ey)/25))))	<=	44-40	and
				(ey+enemy_yspeed*(21+math.abs(math.ceil((y-ey)/25)))+((21+math.abs(math.ceil((y-ey)/25)))*((20+math.abs(math.ceil((y-ey)/25)))*e_gs))/2)	-	(y+(-25)*(math.abs(math.ceil((y-ey)/25))))	>=	-48-160 	then
					print("J2A-fall");
					key_event2(ACT_A,ACT_DOWN);
	--着地:-84-83,-11-31,y=0になった次のF,落下ヒット時、ヒットしない
	elseif y>0 and 
	(y+my_yspeed*1+(1*(0*m_gs))/2)>0 	and
	(ex-x)*my_dir-(enemy_xspeedEX)*(21+math.abs(math.ceil(y/25)))		<=	83+30 	and
	(ex-x)*my_dir-(enemy_xspeedEX)*(21+math.abs(math.ceil(y/25)))		>=	-84-30 	and
	(ey+enemy_yspeed*(21+math.abs(math.ceil(y/25)))+((21+math.abs(math.ceil(y/25)))*((20+math.abs(math.ceil(y/25)))*e_gs))/2)	-	(y+(-25)*(math.abs(math.ceil(y/25))))	<=	31-20	and
	not(my_act>=50 and my_act<180) and my_act~=200 and my_act<600 and 
	get_fflags(0,32)==true and
	get_fflags(0,8)==false and get_fflags(1,8)==false and 
	enemy_obj_range_in(150,60)==false and
	--is_dir_front==true and 
	subs_count>=530 and nega_count ~= 1 and math.random(1)==1 then
					print("J2A-stamp");
					key_event2(ACT_A,ACT_DOWN);
--J6A:307,-125-126,51-186,10-22,8F-(初速x15,y8)(加速度x-0.5,y-0,5),x+29.5-164.5,y+15.5-66.5
	elseif	y>0 and 
	not(my_act>=50 and my_act<180) and my_act<600 and 
	get_fflags(0,32)==true and
	get_fflags(0,8)==false and get_fflags(1,8)==false and 
	enemy_obj_range_in(150,60)==false and
	--is_dir_front==true and
	subs_count>=530 and nega_count ~= 1 and math.random(1)==1 and
	(y+my_yspeed*8+(8*(7*m_gs))/2)>0 	and
				(ex-x)*my_dir-(my_xspeedEX*7+(15*15+(15*(14*(-0.5)))/2)+enemy_xspeedEX*22)		<=	126+30 	and
				(ex-x)*my_dir-(my_xspeedEX*7+(15*15+(15*(14*(-0.5)))/2)+enemy_xspeedEX*22)		>=	-126-30 	and
				(ey+enemy_yspeed*22+(22*(21*e_gs))/2)	-	(y+(my_yspeed*7+(7*(6*m_gs))/2)+(8*15+(15*(14*(-0.5)))/2))	<=	186-40	and
				(ey+enemy_yspeed*22+(22*(21*e_gs))/2)	-	(y+(my_yspeed*7+(7*(6*m_gs))/2)+(8*15+(15*(14*(-0.5)))/2))	>=	51-160 	then
					print("J6A");
					key_event2(ACT_A,front);
--J5A:306,22-120,45-124,9-12
	elseif	y>0 and 
	not(my_act>=50 and my_act<180) and my_act<600 and 
	get_fflags(0,32)==true and
	get_fflags(0,8)==false and get_fflags(1,8)==false and 
	enemy_obj_range_in(150,60)==false and
	--is_dir_front==true and
	subs_count>=530 and nega_count ~= 1 and math.random(1)==1 and
	(y+my_yspeed*12+(12*(11*m_gs))/2)>0 	and
				(ex-x)*my_dir-(my_xspeedEX+enemy_xspeedEX)*12		<=	120+30 	and
				(ex-x)*my_dir-(my_xspeedEX+enemy_xspeedEX)*12		>=	22-30 	and
				(ey+enemy_yspeed*12+(12*(11*e_gs))/2)	-	(y+my_yspeed*12+(12*(11*m_gs))/2)	<=	124-40 		and --自ヒットボックスの上端を、相手ヒットボックスの下端に当てた高さ
				(ey+enemy_yspeed*12+(12*(11*e_gs))/2)	-	(y+my_yspeed*12+(12*(11*m_gs))/2)	>=	45-160 	then  --自ヒットボックスの下端を、相手ヒットボックスの上端に当てた高さ
					print("J5A");
					key_event(ACT_A);


--▼対空行動

--対空9HJ>J5A:
--j/hj攻撃不能時間:6f
--J5A:306,22-120,45-124,9-12
--9/7hj	:x18.0,y16.5(初速),gs0.85,1-5F(地上)
	elseif y==0 and 
	(ey>0 or --空中か
		(
			(enemy_char~=19 and (enemy_act==0 or (enemy_act>=5 and enemy_act<=10) or (enemy_act>=150 and enemy_act<=153) or (enemy_act>=159 and enemy_act<=162)) --諏訪子以外の立ち状態か
			) or
			(enemy_char==19 and ((enemy_act>=1 and enemy_act<=3) or (enemy_act>=154 and enemy_act<=157) or (enemy_act>=163 and enemy_act<=166)) --諏訪子のしゃがみ状態
			)
		)
	) and 
	not(my_act>=50 and my_act<180) and my_act<600 and 
	get_fflags(0,32)==true and
	get_fflags(0,8)==false and get_fflags(1,8)==false and 
	enemy_obj_range_in(150,60)==false and
	is_dir_front==true and
	subs_count>=530 and nega_count ~= 1 and math.random(4)==1 and 
				(ex-x)*my_dir	-	(18*9+enemy_xspeedEX*15)		<=	120+30 	and --自機のhj時におけるx軸速度*発生
				(ex-x)*my_dir	-	(18*9+enemy_xspeedEX*15)		>=	22-30 	and
				(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+16.5*9+(9*(8*(-0.85)))/2)	<=	124-40 		and --自機のhj時におけるy軸速度*発生(hj時の落下加速度を17としている)
				(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+16.5*9+(9*(8*(-0.85)))/2)	>=	45-160 	then --hj時の落下加速度を-0.75としている
					print("AA:9HJ>J5A");
					key_event2(ACT_D,u_front)
					wait(3)
					key_event(ACT_A);
					wait(3)
					
--対空8HJ>J5A:
--j/hj攻撃不能時間:6f
--J5A:306,22-120,45-124,9-12
--8hj	:x 0.0,y22.5(初速),gs0.85,1-5F(地上)
	elseif y==0 and 
	(ey>0 or --空中か
		(
			(enemy_char~=19 and (enemy_act==0 or (enemy_act>=5 and enemy_act<=10) or (enemy_act>=150 and enemy_act<=153) or (enemy_act>=159 and enemy_act<=162)) --諏訪子以外の立ち状態か
			) or
			(enemy_char==19 and ((enemy_act>=1 and enemy_act<=3) or (enemy_act>=154 and enemy_act<=157) or (enemy_act>=163 and enemy_act<=166)) --諏訪子のしゃがみ状態
			)
		)
	) and 
	not(my_act>=50 and my_act<180) and my_act<600 and 
	get_fflags(0,32)==true and
	get_fflags(0,8)==false and get_fflags(1,8)==false and 
	enemy_obj_range_in(150,60)==false and
	is_dir_front==true and
	subs_count>=530 and nega_count ~= 1 and math.random(4)==1 and 
				(ex-x)*my_dir	-	(enemy_xspeedEX*15)		<=	120+30 	and --自機のhj時におけるx軸速度*発生
				(ex-x)*my_dir	-	(enemy_xspeedEX*15)		>=	22-30 	and
				(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+22.5*9+(9*(8*(-0.85)))/2)	<=	124-40 		and --自機のhj時におけるy軸速度*発生(hj時の落下加速度を17としている)
				(ey+enemy_yspeed*15+(15*(14*e_gs))/2)	-	(y+22.5*9+(9*(8*(-0.85)))/2)	>=	45-160 	then --hj時の落下加速度を-0.75としている
					print("AA:9HJ>J5A");
					key_event2(ACT_D,u_front)
					wait(3)
					key_event(ACT_A);
					wait(3)

		
--▼通常技/Arts▼
		
--動きについて
--D刻み、ガード、移動起き上がりに対する距離調整、攻めに向かう際の僅かな接近でのみ地上にいる。
--バクステは距離を話す際に優秀か？
--昇りにおいて打撃を行う事はほとんどない。たいていは相手の上空をとり、J2A。J2Aが決まらない高度の場合や着地際などにJA。このとき、相手の下に潜り込む形ならJ6Aを使うと裏回りがあり得る。J8Aはほぼない。
--ハイジャンプ＞４６８飛翔が多く見受けられる。このあと、J2Cを巻き、６飛翔等ののち、J2Aが多い。相手が追ってくるようなら、射撃をまかず、８６２飛翔や８６２４飛翔などにより、相手の上空をとろうとする。このごJ2A。
--攻勢をとっている場合は、そのまま相手に飛翔で飛び込むように見受けられる。起き攻めでも、８６飛翔＞打撃や、８２６飛翔＞打撃といった、代表的な手段から高起動を生かした動きまで行う。事前に６Cをまく場合が多い模様。
--空中において、JAを触れさせた場合、相手との高度次第で、J6Cを行っていた。通常空中固めはこれの一択になるだろう。他の打撃はなかった。あるいは機会がなかったのか。
--HJに対して、相手が即座に追ってきた場合は、８要素の飛翔で高度を稼いでいた。見極めが難しいように見受けられる。経験からくる読みの可能性が高い。
--打撃、射撃、起き攻めにおける置きJ2C等にしても、ほとんど着地キャンができる状況でしか振っていない。
--驚いたことに、さしてコンボは決まっていなかった。ただし、霊符「无寿の夢」がらみにより、気づいたら相当体力が減っている状態。平坂はなかった。ギャスドリ、死蝶「華胥の永眠」が見受けられたぐらいか。
--攻勢に入った場合、さっさと端まで運送してしまう形をとっているようにも見える。そこから、スペカ等であいだをついで、固め継続をするのかもしれない。理想的にはスペカを使用しないのかもしれない。

--AIで再現するならば：
--J2Aを当てる事に腐心する。これを地上でガードさせれば、運送。端に至った時点で、割および狩りを行う。空中ガードした場合は、着地キャン＞JA＞J6Cで追い打ちする。ただし、できるだけ読み合いを強要し、相手を地上までもっていって、J2Aをガードさせたい。
--そのためにも、暴れ防止の射撃が必要。J６Cか、５C系をまとって攻める。これで、相手の暴れにプレッシャをかけながら、地上に引きずり下ろし、J2Aガードを強要する。ハンパな状況で空中ガードさせると、逆に状況は仕切りなおしとなる模様。ただし、割れるなら、JA＞J6Cに移行する。
--時折、制空や対空の意味で、２Bを利用する。特に、射撃強度の低いキャラには、制空として大いに役立つ。この間に上空へ上がれる。また、相手が空中が降りざるを得ないタイミングで飛び上がるのも重要。
--HJ読みのDCありがある。まあそうそうはありえな。一点読み
--J2Aをガードさせたら、J6C＞着地キャンと着地＞打撃を強要し、運送を行う。
--固め：２A刻み＞６A＞６C＞センス、端J6A＞J2C台風とはいえ、J6Aが画面外に出て効果が薄いためと思われる。相手の行動を阻害するまえに、相手がこちらにくる。
--コンボ：J6ACHバウンド追い打ち（場面端）＞LA＞H6A＞LA＞霊符「无寿の夢」、空中割れ追い打ち（端）＞SA＞６A＞２B＞舞＞＞＞このあとわざわざ飛び越えて壁に向かってDA。おそらくDA>悉皆彷徨で壁に押し込む算段だったと思われる。３A割れ＞６C＞センス＞受身読みJ6A＞移動方向へHJ＞J2A。
--地上射撃がほぼない。相手が文という事もあるかもしれないが、置き攻め（ちょうど文の移動起き上がりの位置に置き弾）や誘いのおいてのみ５C＞センスが出た。素出しは対空や制空のための２Bのみ。固めは６Cのみ。
	
--アリス相手には２Cが見受けられた。固めにおいても、２B＞６C、JA＞JA、DA（持続当て）＞２Aなど見られる。
	
--ダッシュ＞2Ａ
	elseif dis<=250 and my_act==200 and my_allframe>=10 and ey==0 and enemy_obj_range_in(150,60)==false and not(enemy_act>=97 and enemy_act<=98) and not(enemy_act>=197 and enemy_act<=199) and --get_key_stat2(1,ACT_A)==0 and 
	is_dir_front==true and 
	((not(enemy_act>=50 and enemy_act<=166)and math.random(1)==1) or (enemy_act>=50 and enemy_act<=166)) and subs_count>=530 and nega_count ~= 1 and math.random(4)==1 then
		print("ダッシュ2Ａ");
		key_event2(ACT_A,ACT_DOWN);
--2Ａ
	elseif dis<=170-10 and y==0 and ey==0 and enemy_obj_range_in(150,60)==false and (my_act<=10 or my_act==303 and my_frame>=23-2) and not(enemy_act>=97 and enemy_act<=98) and not(enemy_act>=197 and enemy_act<=199) and not(enemy_act>=6 and enemy_act<=8) and not(enemy_act>=208 and enemy_act<=212) and (enemy_act~=300 and enemy_act~=303 and enemy_act~=320 and enemy_act~=321 and enemy_act~=322 and enemy_act~=330) and --get_key_stat2(1,ACT_A)==0 and 
	is_dir_front==true and subs_count>=530 and nega_count ~= 1 and math.random(4)==1 then
		print("2Ａ");
		key_event2(ACT_A,ACT_DOWN);
--2Ｂ
	elseif dis2<=400 and y==0 and ey>0 and enemy_obj_range_in(150,60)==false and my_act<=10 and not(enemy_act>=97 and enemy_act<=98) and not(enemy_act>=197 and enemy_act<=199) and is_dir_front==true and my_rei>=600 and subs_count>=530 and nega_count ~= 1 and math.random(4)==1 then
		print("2Ｂ");
		key_event2(ACT_B,ACT_DOWN);
		
--J6C
	elseif dis>=300 and 
	y>0 and ey<50 and 
	(y+my_yspeed*2+(2*(1*m_gs))/2+my_yspeed/5*21)>0 and (y+my_yspeed*2+(2*(1*m_gs))/2+my_yspeed/5*21)<=20 and 
	enemy_obj_range_in(150,60)==false and 
	my_act<300 and not(enemy_act>=97 and enemy_act<=98) and 
	not(enemy_act>=197 and enemy_act<=199) and 
	is_dir_front==true and 
	my_rei>=600 and subs_count>=530 and nega_count ~= 1 and math.random(4)==1 then
		print("J6C",(y+my_yspeed*23+(23*(22*m_gs))/2),m_gs);
		key_event2(ACT_C,front);
--J2C :412(801,225),(-80-80,39-199),(0-65,0-20),v15,1-49F(初速1/5:慣性)
--2C  :412(801,225),(-80-80,20-180),(0-65,0-20),v15
	--hitarea35
	elseif my_rfunc>0.65 and
	math.sqrt((ex-x)^2+(ey-y-110)^2)>280 and
	--y>0 and
	--ey-y>-0.1*(ex-x+500)*my_dir+125 and 
	--ey-y<0.1*(ex-x+500)*my_dir+125 and
	not(my_act>=50 and my_act<180) and my_act~=200 and my_act<600 and 
	get_fflags(0,32)==true and
	get_fflags(0,8)==false and get_fflags(1,8)==false and 
	enemy_obj_range_in(150,60)==false and 
	is_dir_front==true and 
	subs_count>=530 and nega_count ~= 1 and math.random(16)==1 then
		print("2C/J2C");
		key_event2(ACT_C,ACT_DOWN);
--未生の光
	elseif dis>600 and (ey-y>=-0.3*(ex-x)*my_dir and ey-y<=0.3*(ex-x)*my_dir) and
	enemy_obj_range_in(150,60)==false and 
	my_act<=10 and not(enemy_act>=97 and enemy_act<=98) and not(enemy_act>=197 and enemy_act<=199) and is_dir_front==true and card_check(100) and subs_count>=530 and nega_count ~= 1 and math.random(4)==1 then
		print("拒否行動：スキルカード　未生の光");
		card_use(100);
	elseif dis>600 and (ey-y>=-0.3*(ex-x)*my_dir and ey-y<=0.3*(ex-x)*my_dir) and
	enemy_obj_range_in(150,60)==false and 
	my_act<=10 and not(enemy_act>=97 and enemy_act<=98) and not(enemy_act>=197 and enemy_act<=199) and is_dir_front==true and get_skill_lv(0,0)>=0 and my_rei>=600 and subs_count>=530 and nega_count ~= 1 and math.random(4)==1 then
		print("拒否行動：B未生の光");
		key_resetEX();key_on(ACT_D);yield();key_resetEX();
		lvr236(ACT_B);
--]]
--中距離以上からの８ｈｊ
	elseif move_8hjattakeovermidrange_condi()==true then
		print("中距離以上で８ＨＪ");
		key_event2(ACT_D,ACT_UP);
--中距離からのダッシュ
	elseif move_6dattakeovermidrange_condi()==true then
		print("ダッシュ接近");
		key_event2(ACT_D,front);
--低空飛翔で接近
	elseif move_approachbylowflaying_condi()==true then
		move_approachbylowflaying_exe()
--８８３飛翔
	elseif move_approachby883d_condi()==true then
		move_approachby883d_exe()
--▼ 終端運動
--▼ 相手上空へ飛び上がった際の処理
	elseif move_attakeoverhead_condi()==true then
		move_attakeoverhead_exe()
--▼ 終端機動
	--▼ 対台風時
	elseif move_terminationtaihu_condi()==true then
		move_terminationtaihu_exe()
	--▼ 終端機動1
	--台風じゃない時だが…
	elseif move_termination1_condi()==true then
		move_termination1_exe()
	--▼ 終端機動2
	--ただ動く事で自律性を錯覚させる事が目的の機動。静止やラインの設定に大きな根拠はない。
	--霊力が一定の評価を下回った場合、実行しない。
	elseif move_termination2_condi()==true then
		move_termination2_exe()
	end
	
	yield()
end
end