* ナイトは、剣と盾で武装した人型の敵である。 <> = 概要 = * 迷路を右手法(亜種)で移動している。 * ギルが同じ軸線上にいるとき、ギルに接近しようとする。 * HP制。 * ギルが剣を鞘から抜いていれば、ナイトに一撃で倒される事はない。 * 厳密にいうと異なる(後述)。 * ナイトはギルに一撃で倒される事はない。 * ナイトを倒すと、ギルの HPがいくらか増える。 = ナイトの一覧 = ||<:|2>'''グラフィック'''||<:|2>'''名前'''||<:|2>'''出現ウェイト'''||<:|2>'''速度'''||<:|2>'''攻撃力'''||<:|2>'''HP'''||<:|2>'''点数'''||<:-2>'''リカバーポイント|| ||<:>'''下位剣'''||<:>'''上位剣'''|| ||<:>{{attachment:knight_blue.png}}||<:>ブルーナイト||<:>1型||<:>1/f||<:>1/f||<:>24||<:>1000||<:>$18(24)||$09(09)|| ||<:>{{attachment:knight_black.png}}||<:>ブラックナイト||<:>1型||<:>1/f||<:>1/f||<:>48||<:>1000||<:>$30(48)||$15(21)|| ||<:>{{attachment:knight_mirror.png}}||<:>ミラーナイト||<:>2型||<:>ギルと同じ||<:>1/f||<:>48||<:>2000||<:>$30(48)||$15(21)|| ||<:>{{attachment:knight_hyper.png}}||<:>ハイパーナイト||<:>2型||<:>1/f||<:>1/f||<:>96||<:>3000||<:>$60(96)||$30(48)|| ||<:>{{attachment:knight_lizardman.png}}||<:>リザードマン||<:>1型||<:>1/f||<:>2/f||<:>48||<:>200||<:>$60(96)||$30(48)|| ||<:>{{attachment:knight_red.png}}||<:>レッドナイト||<:>1型||<:>1/f||<:>1/f||<:>144||<:>1200||<:>$18(24)||$09(09)|| ||<:>{{attachment:knight_hyper.png}}||<:>ハイパーナイト・スーパー||<:>3型||<:>2/f||<:>1/f||<:>96||<:>0||<:-2>$30(48)|| = 仕様 = * 全モンスターで唯一、ナイトだけ共通ルーチンがない。全て別々に書かれている。 * ナイトの処理は、概ね以下のフェイズ/ステップから成る。 * 出現前ウェイトフェイズ。 * 初期化フェイズ。 * メインフェイズ。 * 食らい判定ステップ。 * 攻撃態勢判定ステップ。 * 方向転換ステップ。 * 移動ステップ。 * スプライト設定ステップ/ギルへの攻撃判定ステップ。 * 死亡フェイズ。 * ギル死因演出フェイズ。 * 処理終了フェイズ。 * ★以下、まだ。 == 出現前ウェイトフェイズ == * ナイトが出現するまでの待ち時間処理のフェイズ。 * ナイトは(ハイパーナイト・スーパーを除き)フロア開始から出現までに若干の時間がかかる。 * 負荷分散や重なりナイトの防止か? * ウェイト値の算出法は3種。 * 定められた時間待ち終わると初期化フェイズへ移行する。 === ウェイト値1型 === * $2100から自身のワークエリア基準アドレスの値を引き、下位8ビットを 1/2 した値を基本ウェイト値とする。 * 自身のワークエリア基準アドレスは $2100 + n * 32 + 16 である。 * ※この値はタスク呼び出し時、Xレジスタにセットされる。 * ※詳しくはスプライトワークエリアの項でと言いたいがまだ書いていない。 * ウェイト値2型と違い、1/2する際は8ビット値で計算している点に注意。 * たとえば基準アドレスが $2110 と $2210 のナイト(1型)は同じタイミングで出現する。 * 基本ウェイト値+1フレーム待ったあと、内部タイマが偶数ならさらに1フレーム待つ。 * +1フレーム分のウェイト処理は、タスクの先頭に置かれている。 === ウェイト値2型 === * $2100から自身のワークエリア基準アドレスの値を引き、その値を 1/8 したものの下位8ビットを基本ウェイト値とする。 * ウェイト値1型と違い、1/8する際は 16ビット値で計算している点に注意。 * 基本ウェイト値+1フレーム待ったあと、内部タイマが偶数ならさらに1フレーム待つ。 === ウェイト値3型 === * 1フレームだけ待つ。 == 初期化フェイズ == * 以下の処理を行う。 * 乱数による出現位置の決定(共用ルーチンを利用)。 * 向きを下向きに設定。 * 歩行中フラグを $01 に設定。 * 剣動作番号を初期化。 * 戦闘態勢フラグを初期化。 * 倒した時の得点を設定。 * ミラーナイト/ハイパーナイト/ハイパーナイト・スーパーは行わない。 * HPの設定。 * 攻撃中フラグの値を +1。 * 初期化を終えたらメインフェイズへ移行する。 == メインフェイズ == * 迷路を徘徊し、ギルと戦闘するフェイズ。 === 食らい判定ステップ === * ギルから攻撃を受けたか判定するステップ。 * 以下の場合、ギルから攻撃を受けたと判断する。 * ギルに攻撃判定がある。 * ギルの[[攻撃範囲]]内にナイトの座標が含まれている。 * ギルの所持する剣がイビル・ソードではない。 * アクティブプレイヤーのレバー入力が中立以外である。 * ナイトが攻撃を受けた場合、以下の処理を行う。 * ナイトのHPを1減らす。$00になったならナイト死亡フェイズへ移行。 * ギルの所持剣が上位剣だった場合、更にナイトのHPを1減らす。$00になったならナイト死亡フェイズへ移行。 === 攻撃態勢判定ステップ === === 方向転換ステップ === === 移動ステップ === === スプライト設定/ギルへの攻撃判定ステップ === * 以下の場合、ギルへ攻撃を加えたと判断する。 * ナイトの攻撃範囲内にギルの座標が含まれている。 * ギルへ攻撃を加えている場合、以下の処理を行う。 * ギルのHPが $00 の場合、何もしない(リザードマン限定)。 * ギルのHPが $01 の場合、ギルのHPを1減らす。 * ギルのHPが $02 以上の場合、 * ギルが剣を鞘に納めている場合、ギルのHPを $01 にする。 * そうでない場合、ギルのHPを1減らす(リザードマンのみ2減らす)。 * 交差音がまだ鳴っていない場合、交差音を鳴らす。 ---- * ★以下、まだ。 ---- [[CategoryMonster|カテゴリ:モンスター]]