・コンセプト

・・概要

 ロックマンX2におけるアジールフライヤーの強化版。ネタ要素が強すぎるため、戦ってもあまり面白くないボスかもしれない。

 ちなみに、EXは、例の「昇龍拳」に対する報復らしい。だったらエックスにやれよ(正論)。

・・アドリブ性の要求

 このボスには、「空中からの攻撃」「落下後の攻撃」の2つのパターンの攻撃があるが、それに応じて回避方法も変わる。「落下後の攻撃」の場合は、ボスと接触しないように回避する必要がある。

・・バランス調整

 空中にいる場合は、セイバーコンボを入れることはできないが、落下させることにより、セイバーコンボを入れられるように調整している。ただし、「落下後の攻撃」に警戒する必要がある。

 ボスは、EXにより、足場を消滅させる。これにより、攻撃の回避の難易度が上昇する(はず)。

・通常状態

・・概要

 このボスは、通常状態においても加速度が付加される。また、一定のタイミングで敵(落下する炎)を出現させる。

・・加速度の付加

 加速度を付加する。x方向は、ゼロの方向に加速度が付加され、y方向は、上下に揺れるように加速度が付加される。

ASのファイル:boss_agile_flyer_action_normal.txt
 
_root.velocity_boss_x+=acceleration_boss_fly_x*enemy_direction	//加速度を付加
if(_root.velocity_boss_x>velocity_boss_fly_x){_root.velocity_boss_x=velocity_boss_fly_x}	//速度の制限
else if(_root.velocity_boss_x<-velocity_boss_fly_x){_root.velocity_boss_x=-velocity_boss_fly_x}
 
_root.velocity_boss_y+=acceleration_boss_fly_y	//加速度を付加
if(_root.velocity_boss_y>velocity_boss_fly_y){acceleration_boss_fly_y*=-1}	//速度が一定の値より大きくなった場合,方向反転
else if(_root.velocity_boss_y<-velocity_boss_fly_y){acceleration_boss_fly_y*=-1}
 

・・EX拳の前の位置調整への移行

 ボス戦開始直後・ライフが1/2以下の場合は、EX拳の前の位置調整に移行する。

ASのファイル:boss_agile_flyer_action_normal.txt
 
if(count_boss_time==1 and (count_boss_ex_fist==0 or (_root.boss_life<=_root.boss_initial_life/2 and count_boss_ex_fist==1))){	//カウントが1の場合,EX(ボス戦開始直後・ライフが1/2以下の場合)
	count_boss_ex_fist++	//EX拳の回数を増加させる_root.boss_action="position_adjustment_before_ex_fist"	//EX拳の前の位置調整に移行
}
 

・・敵の出現

 カウントが特定の値の場合は、敵(落下する炎)の出現の処理を行う。

・・乱数でアクションを選択

 カウントが最大値の場合は、乱数でアクションを選択する。

・落下前の追尾

・・概要

 ゼロの位置の方向に速度を付加し、ゼロが近接した場合は、落下に移行する。

 落下する位置を適切に誘導しないと、「落下後の攻撃」の回避が困難になる場合がある。

・落下

・・概要

 落下し、床と接触判定がある場合は、敵(拡散炎)を出現させる。
 また、「落下判定」を付加する。

 「落下後の攻撃判定」がない場合は、乱数でアクションを選択し、「落下後の攻撃判定」を付加する。「落下後の攻撃判定」がある場合は、上昇に移行し、「落下後の攻撃判定」をリセットする。
 この処理により、「落下後の攻撃を行う」「(落下後の攻撃を行わずに)上昇に移行」を、交互に繰り返すことになる。

↓落下→上昇。

ASのファイル:boss_agile_flyer_action_falling.txt
 
		if(boss_falling_attack==0){	//落下後の攻撃判定がない場合
			enemy_random=Math.floor(Math.random()*100)	//乱数でアクションを選択
︙
			boss_falling_attack=1	//落下後の攻撃判定
		}
		else{
			_root.boss_action="rising"	//上昇に移行
			boss_falling_attack=0	//落下後の攻撃判定をリセット
		}
 

・上昇

・・概要

 上昇し、初期位置に近接した場合は、通常状態に移行する。
 また、「落下判定」をリセットする。

ASのファイル:boss_agile_flyer_action_rising.txt
 
if(_parent._y<=initial_boss_y){_parent._y=initial_boss_y;_root.velocity_boss_y=0;_root.boss_action="normal"}	//初期位置に近接した場合,通常状態に移行
 

・突進

・・概要

 左右に突進する。
 突進中は、ダメージ関連の処理を行わない。「・ボスと攻撃との接触判定がある場合の処理」の「・・突進以外の場合」を参照。

 ガード用のMCの出現に関しては、ボスの「・ガード」を参照。

↓突進(「落下後の攻撃」)。回避は慣れないとシビアかもしれない。

・・壁との接触判定がある場合

 壁との接触判定がある場合は、「突進における壁との接触回数」を増加させ、敵の方向を反転させ、速度を付加する。速度は、「突進における壁との接触回数」によって変化する。
 また、敵(壁に沿う炎、落下する炎)を出現させる。

ASのファイル:boss_agile_flyer_action_rush.txt
 
else if(hit_wall_right!=0 or hit_wall_left!=0){	//壁との接触判定がある場合
	count_boss_hit_wall++	//突進における壁との接触回数を増加させる
	enemy_direction*=-1	//反転
	_root.velocity_boss_x=(velocity_boss_rush-count_boss_hit_wall*velocity_boss_rush/15)*enemy_direction	//速度を付加}
 

 「突進における壁との接触回数」が最大値の場合、「落下判定」がある場合は上昇に移行し、「落下判定」がない場合は位置調整に移行する。

ASのファイル:boss_agile_flyer_action_rush.txt
 
	if(count_boss_hit_wall==count_boss_hit_wall_max){	//突進における壁との接触回数が最大値の場合
		count_boss_time=0	//カウントをリセット
		count_boss_hit_wall=0	//突進における壁との接触回数をリセット
		_root.velocity_boss_x=0
		if(boss_falling==1){_root.boss_action="rising"}	//上昇に移行
		else{_root.boss_action="position_adjustment"}	//位置調整に移行
	}
 

・ミサイル(小)

・・概要

 ミサイル(小)を2基×2セット発射する。
 「空中からの攻撃」の場合は、ミサイル(大)に移行する。

↓ミサイル(小)(「落下後の攻撃」)。

・・ミサイル(小)

 発射後は、ゼロの方向に加速度が付加される。
 また、ミサイルの角度(回転)は、ミサイルの速度の方向と一致するようにしている。

ASのファイル:boss_agile_flyer_missile_small.txt
 
		else if(count_enemy_time>=count_enemy_wait_time_max){	//カウントが特定の値以上の場合
			radian_enemy=Math.atan2(_root.zero_y-_parent._y,_root.zero_x-_parent._x)	//ゼロとの角度を算出
			velocity_enemy_x+=accerelation_enemy*Math.cos(radian_enemy);velocity_enemy_y+=accerelation_enemy*Math.sin(radian_enemy)	//加速度を付加
			_parent._rotation=(Math.atan2(velocity_enemy_y,velocity_enemy_x)/Math.PI)*180+90	//回転
		}
 

 カウントが特定の値以上の場合は、直進する。

ASのファイル:boss_agile_flyer_missile_small.txt
 
		if(count_enemy_time>=count_enemy_go_straight_time){	//カウントが特定の値以上の場合
			velocity_enemy_x+=accerelation_enemy*Math.cos(radian_enemy);velocity_enemy_y+=accerelation_enemy*Math.sin(radian_enemy)	//加速度を付加
			_parent._rotation=(Math.atan2(velocity_enemy_y,velocity_enemy_x)/Math.PI)*180+90	//回転
		}
 

 地形かゼロとの接触判定がある場合、破壊判定が付加される。そして、ミサイル(小)の爆発を出現させる。ただし、雷属性の攻撃で破壊された場合は、出現させない。

ASのファイル:boss_agile_flyer_missile_small.txt
 
		if(enemy_break!="none"){	//破壊判定がある場合
			if(enemy_hit_attack_element!="thunder"){	//雷属性以外で破壊された場合
				enemy_appearance_name="boss_agile_flyer_missile_small_explosion"
				#include "zero_AS/enemy/enemy_appearance.txt"}
		}
 

・・ミサイル(小)の爆発

 ミサイル(小)の爆発は、カウントが特定の値の場合、透明度の変化の値を変化させ、敵の攻撃のダメージを0にする。

ASのファイル:boss_agile_flyer_missile_small_explosion.txt
 
		if(count_enemy_time==count_enemy_vanish_time){add_alpha_enemy=-5;enemy_attack_damage=0}	//カウントが特定の値の場合,透明度の変化の値を変化・敵の攻撃のダメージを0にする
 

・ミサイル(大)

・・概要

 処理の順序は、ボスが照準を出現させる→照準がミサイル(大)を出現させる→ミサイル(大)がミサイル(大)の爆発を出現させる、となる。
 ミサイル(大)とミサイル(大)の爆発は、連鎖値を高く設定している。

↓ミサイル(大)(「落下後の攻撃」)。

・・照準

 カウントが最大値未満の場合は、ゼロを追尾する。
 カウントが最大値の場合、ミサイル(大)を出現させる。

・・ミサイル(大)

 分かりにくいとは思うが、画面奥から手前に向かってくる(ように見える)紫色のMCがミサイル(大)。

 スケールが一定の値となった場合、敵の攻撃のダメージを変化させる。更にスケールが大きくなった場合、破壊判定を付加する。
 破壊判定がある場合は、ミサイル(大)の爆発を出現させる。

・・ミサイル(大)の爆発

 「・ミサイル(小)」の「・・ミサイル(小)の爆発」とほぼ同様の処理を行っている。

・位置調整

・・概要

 初期位置(y方向)まで位置調整し、通常状態に移行する。

・EX拳の前の位置調整

・・概要

 初期位置(x方向)まで位置調整し、EX拳に移行する。

・EX拳

・・概要

 もっとマシな技名はなかったのだろうか?

 左右に拳を出現させ、落下させる。

↓EX拳。ダメージは即死級。初見殺し。

・・EX拳の出現

 EX拳の出現の際に、「EX拳の回数」を伝達する。

ASのファイル:boss_agile_flyer_action_ex_fist.txt
 
		enemy.enemy_hitrect.count_boss_ex_fist=count_boss_ex_fist	//EX拳の回数を伝達
 

・・EX拳

 床との接触判定がある場合、地形無効判定を付加する。「EX拳の回数」により、「地形無効の番号」を変化させている。
 地形無効に関しては地形無効を参照。

↓床・壁には「地形無効の番号」の記述をしている。

ASのファイル:boss_agile_flyer_ex_fist.txt
 
				if(count_boss_ex_fist==1){_root.landform_invalidate[1-1]=1}	//地形無効判定の付加
				else{_root.landform_invalidate[2-1]=1}
 

・雷落下

・・概要

 「・ボスと攻撃との接触判定がある場合の処理」の「・・雷落下への移行」を参照。

 雷落下の間は、敵の攻撃のダメージを減らしている。カウントが最大値の場合は、敵の攻撃のダメージを元に戻し、上昇に移行する。

・ボスと攻撃との接触判定がある場合の処理

・・雷落下への移行

 突進中に、雷属性攻撃との接触判定がある場合は、雷落下に移行する

 この処理は、連鎖値とは無関係に行われる。例えば、セイバーの攻撃による無敵時間の間でも、分裂ソニックによって、雷落下に移行させることができる(ただし、分裂ソニックによるダメージは入らない)。

↓突進→雷落下。大ダメージを与えるチャンスになる。

ASのファイル:boss_agile_flyer_hit_attack.txt
 
	if(_root.boss_action=="rush"){	//突進の場合
		if(enemy_hit_attack_element=="thunder"){	//雷属性攻撃の場合_root.boss_action="thunder_falling"	//雷落下に移行
		}
	}
 

・・突進以外の場合

 突進以外の場合は、(通常通り)ダメージ関連の処理を行う(=突進の場合は、ダメージ関連の処理を行わない)。

ASのファイル:boss_agile_flyer_hit_attack.txt
 
	if(_root.boss_action!="rush" and enemy_chain>enemy_chain_old){	//連鎖値が大きい場合}
 

最終更新:2020年12月19日 09:26