サイズ: 6576
コメント:
|
← 2020-11-22 06:46:27時点のリビジョン12 ⇥
サイズ: 6625
コメント:
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 11: | 行 11: |
* 厳密にいうと異なる(後述)。 |
- ナイトは、剣と盾で武装した人型の敵である。
目次
概要
- 迷路を右手法(亜種)で移動している。
- ギルが同じ軸線上にいるとき、ギルに接近しようとする。
- HP制。
- ギルが剣を鞘から抜いていれば、ナイトに一撃で倒される事はない。
- 厳密にいうと異なる(後述)。
- ナイトはギルに一撃で倒される事はない。
- ギルが剣を鞘から抜いていれば、ナイトに一撃で倒される事はない。
- ナイトを倒すと、ギルの HPがいくらか増える。
ナイトの一覧
グラフィック |
名前 |
出現ウェイト |
速度 |
攻撃力 |
HP |
点数 |
リカバーポイント |
|
下位剣 |
上位剣 |
|||||||
ブルーナイト |
1型 |
1/f |
1/f |
24 |
1000 |
$18(24) |
$09(09) |
|
ブラックナイト |
1型 |
1/f |
1/f |
48 |
1000 |
$30(48) |
$15(21) |
|
ミラーナイト |
2型 |
ギルと同じ |
1/f |
48 |
2000 |
$30(48) |
$15(21) |
|
ハイパーナイト |
2型 |
1/f |
1/f |
96 |
3000 |
$60(96) |
$30(48) |
|
リザードマン |
1型 |
1/f |
2/f |
48 |
200 |
$60(96) |
$30(48) |
|
レッドナイト |
1型 |
1/f |
1/f |
144 |
1200 |
$18(24) |
$09(09) |
|
ハイパーナイト・スーパー |
3型 |
2/f |
1/f |
96 |
0 |
$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減らす)。
- 交差音がまだ鳴っていない場合、交差音を鳴らす。
- ★以下、まだ。