・概要
・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 //ゼロの方向転換の回数のカウント
・無敵時間(ボス以外)
・・概要
無敵時間(ボス以外)の処理に関しては、必ずしも原作準拠ではない。あくまでも、連鎖値を基準にして処理を構築している。
厳密に処理を行う場合は、ゼロの全ての攻撃に関して、個々に無敵時間の処理を行う必要がある。また、ゼロの攻撃の同時ヒットに関しても処理を構築する必要がある。
前提となる条件は、以下の通りとなる。
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)にする。
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)にする。
なお、
バスターに対しては無敵時間を継続することになる(原作準拠ではない)。
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