・概要

 敵(ボス以外、ボス)の無敵時間に関して解説する。
 連鎖値、属性、攻撃の方向・角度の「・連鎖値」、敵と攻撃との接触判定がある場合の処理も参照。

・loadの処理(ボス以外)

・・判定、カウント

 「・無敵時間(ボス以外)」を参照。

ASのファイル:enemy_load_hit_attack_chain_invincible.txt
 
enemy_invincible=0	//無敵時間の判定
count_enemy_invincible_time=0	//無敵時間のカウント
count_enemy_invincible_time_max=20	//無敵時間のカウントの最大値
 
︙
enemy_invincible_reset=0	//無敵時間のリセット判定
 

・・ゼロの方向関連

 「・無敵時間(ボス以外)」を参照。

ASのファイル:enemy_load_hit_attack_chain_invincible.txt
 
enemy_zero_direction=0	//ゼロの方向を保存
count_enemy_zero_direction=0	//ゼロの方向転換の回数のカウント
 

・無敵時間(ボス以外)

・・概要

 無敵時間(ボス以外)の処理に関しては、必ずしも原作準拠ではない。あくまでも、連鎖値を基準にして処理を構築している。
 厳密に処理を行う場合は、ゼロの全ての攻撃に関して、個々に無敵時間の処理を行う必要がある。また、ゼロの攻撃の同時ヒットに関しても処理を構築する必要がある。

↓「EX落下突きの拡散炎」は連鎖値が大きいため、無敵時間の間は、バスターセイバー本体による攻撃がヒットしない。

 前提となる条件は、以下の通りとなる。

ASのファイル:enemy_invincible.txt
 
if(enemy_invincible==1){	//無敵時間の判定がある場合}
 

・・無敵時間のカウント

 無敵時間のカウントを増加させ、カウントが最大値の場合、無敵時間のリセット判定を付加する

↓無敵時間のカウント。カウントが最大値になるまでは、下入れセイバーによるダメージが入らない。

ASのファイル:enemy_invincible.txt
 
	count_enemy_invincible_time++	//カウントを増加させる
	if(count_enemy_invincible_time==count_enemy_invincible_time_max){enemy_invincible_reset=1}	//カウントが最大値の場合,無敵時間のリセット判定
 

・・バスター関連

 「敵との接触により消滅する可能性があるバスター」(連鎖値(ボス以外)を、一律で「1」と設定している)の場合、無敵時間のリセット判定を付加する

バスター関連の処理。無敵時間のリセットが行われるため、バスターが連続でヒットする。

ASのファイル:enemy_invincible.txt
 
	if(enemy_chain_old==1){enemy_invincible_reset=1}	//敵との接触により消滅する可能性があるバスターの場合,無敵時間のリセット判定
 

・・セイバー関連

・・・概要

 敵の連鎖値(保存用)が、「セイバー本体による攻撃の連鎖値」(300~400)の場合は、セイバー関連の処理を行う

 前提となる条件は、以下の通りとなる。

ASのファイル:enemy_invincible.txt
 
	if(enemy_chain_old>300 and enemy_chain_old<400){	//セイバー本体による攻撃の連鎖値の場合}
 

・・・セイバー関連(1)

 セイバー攻撃の際に、ゼロが2回方向転換した場合、連鎖値を再びセイバーがヒットできる値(300)にする

セイバー関連(1)。

ASのファイル:enemy_invincible.txt
 
		if(enemy_zero_direction!=0 and enemy_zero_direction!=_root.zero_direction){	//ゼロの方向が変化した場合
			count_enemy_zero_direction++	//ゼロの方向転換の回数のカウントを増加させる
			if(count_enemy_zero_direction==2){	//ゼロが二回方向転換した場合
				enemy_chain_old=300	//連鎖値を再びセイバーがヒットできる値にする
				count_enemy_zero_direction=0	//カウントをリセット
			}
		}
		enemy_zero_direction=_root.zero_direction	//ゼロの方向を保存
 

・・・セイバー関連(2)

 セイバーモーション中ではない場合、連鎖値を再びセイバーがヒットできる値(300)にする

セイバー関連(2)。歩きセイバーが連続でヒットする(原作準拠)。

 なお、バスターに対しては無敵時間を継続することになる(原作準拠ではない)。

セイバー関連(2)。歩きセイバーをキャンセルした直後のバスターは、ダメージが入らない(原作準拠ではない)。

ASのファイル:enemy_invincible.txt
 
		if(_root.zero_saber=="none"){enemy_chain_old=300}	//セイバーモーション中ではない場合,連鎖値を再びセイバーがヒットできる値にする
 

・・無敵時間のリセット判定がある場合

 無敵時間のリセット判定がある場合、各種の判定・カウントをリセットする。

ASのファイル:enemy_invincible.txt
 
	if(enemy_invincible_reset==1){	//無敵時間のリセット判定がある場合
		enemy_invincible=0;count_enemy_invincible_time=0	//無敵時間の判定・カウントをリセット
		enemy_chain_old=0	//連鎖値をリセット
		enemy_zero_direction=0;count_enemy_zero_direction=0	//ゼロの方向関連の値をリセット
		enemy_invincible_reset=0	//無敵時間のリセット判定をリセット
	}
 

・・各種の攻撃関連の判定のリセット

 各種の攻撃関連の判定をリセットする。

ASのファイル:enemy_invincible.txt
 
enemy_hit_attack_type="none"	//攻撃の種類
enemy_hit_attack_element="none"	//攻撃の属性
enemy_hit_attack=0	//ダメージ
radian_enemy_hit_attack="none"	//攻撃の角度
enemy_chain=0	//連鎖値
 

・loadの処理(ボス)

・・概要

 「・loadの処理(ボス以外)」と重複している箇所は省略する。

・・カウント

 ボスの場合は、「無敵時間のカウントの最大値」が大きい。

ASのファイル:boss_load_hit_attack_chain_invincible.txt
 
count_boss_invincible_time=0	//無敵時間のカウント
count_boss_invincible_time_max=90	//無敵時間のカウントの最大値
 

・無敵時間(ボス)

・・概要

 無敵時間(操作キャラクター)とほぼ同様の処理を行っているので、そちらを参照。

↓無敵時間のカウント。カウントが最大値になるまでは、バスターによるダメージが入らない。

ASのファイル:boss_invincible.txt
 
︙(省略)
 

最終更新:2020年12月19日 08:58