ffbin @Wiki

敵行動パターン

最終更新:

匿名ユーザー

- view
だれでも歓迎! 編集
行動指令データ格納アドレス  0xF8700 ~ 0xFC7FF

このデータは2つの行動パターンコードを1つのセットとして読み込む。
前半は通常行動(ターン数経過による自発的な攻撃など)、後半は反撃行動(ダメージを受けたなどに対する誘発的な攻撃など)

一つの行動パターン内に条件を付けることで複数の攻撃方法を生み出すことができる。

00 - EF : 行動命令(魔法リストに対応)(1バイト命令)

 ※注1:「とくしゅ」を指定した場合、モンスター自身に設定されている特殊行動を行う。
 ※注2:ランダム行動などの指令では無い場合で、行動命令の後に行動命令を指令した場合、ターンで複数の行動ができる。ランダム行動終了後に行動命令を付け加えることも可能。
 ※注3:味方の瀕死時発動必殺技は残念ながら指定不可。
 ※注4:「何も行動しない」と言うコードは1バイトでは表現出来ない。
 ※注5:行動指令データは32KB以内に収めないと予期せぬ動作をすることがあります。
32KBを超えたアドレスにあるモンスターはカウンターとファイナルアタックが発動しないようです。

F0 xx yy zz : ランダム行動(4バイト命令)

 xx : 攻撃の種類1(魔法リストに対応)
 yy : 攻撃の種類2( 〃 )
 zz : 攻撃の種類3( 〃 )

 ※注1:1回の行動で3つのうちから1つを選んで行動するということ。連続攻撃という訳ではない。
 ※注2:何故か「攻撃の種類3」の選択率が低い。
 ※注3:数値に「FE」を指定した場合、「何も行動しない」という意味となる。 つまり、3つとも「FE」を指定した場合、「そのターンは何も行動しない」と言うことも出来る。

F1 xx : 攻撃目標設定(2バイト命令)
 │
 └ xx 対象
   ├ 00 : ティナ 01 : ロック
   ├ 02 : カイエン 03 : シャドウ
   ├ 04 : エドガー 05 : マッシュ
   ├ 06 : セリス 07 : ストラゴス
   ├ 08 : リルム 09 : セッツァー
   ├ 0A : モグ 0B : ガウ
   ├ 0C : ゴゴ 0D : ウーマロ
   ├ 0E : バナン 0F : レオ
   ├ 10 : ??????(ゆうれい1) 11 : ??????(ゆうれい2)
   ├ 12 : モグリン 13 : モグプウ
   ├ 14 : モグッチ 15 : モルル
   ├ 16 : モグタン 17 : モグール
   ├ 18 : モグシン 19 : モグポン
   ├ 1A : ムグムグ 1B : ズモモグ
   ├ 1C : モグ 1D : (不明)
   ├ 1E : マディン 1F : (不明)
   ├ 20 : ウェッジ 21 : ビックス
   ├ 28 : (不明) 29 : ケフカ
   ├ 2A : ケフカ 2B : ケフカ
   ├ 2C : ケフカ 2D : ケフカ
   ├ 2E : ケフカ 2F : ケフカ
   ├ 30 : モンスター1 31 : モンスター2
   ├ 32 : モンスター3 33 : モンスター4
   ├ 34 : モンスター5 35 : モンスター6
   ├ 36 : モンスター自分自身 37 : 自分以外のモンスター全員
   ├ 38 : モンスター全員 39 : 自分以外のモンスターの誰か
   ├ 3A : モンスターの誰か 3B : 戦闘不能のキャラクタ全員
   ├ 3C : 戦闘不能のキャラクタの誰か 3D : 戦闘不能のモンスター全員
   ├ 3E : 戦闘不能のモンスターの誰か 3F : (不明)
   ├ 40 : (不明) 41 : (不明)
   ├ 42 : (不明) 43 : キャラクタ全員
   ├ 44 : キャラクタの誰か 45 : 最後に自分に攻撃したキャラクタ
   ├ 46 : 敵味方全員 47 : AIが自動で判断(通常)
   ├ 48 : 1番目のキャラクタ     49 : 2番目のキャラクタ
   ├ 4A : 3番目のキャラクタ     4B : 4番目のキャラクタ
   └ 4C : (不明) 4D : ターゲッティングを受けた相手

F2 xx yy zz : モンスターパーティを変更する(4バイト命令)

  xx : 演出効果? 90だとケフカ戦の上に昇る処理
   yy : モンスターパーティの番号(下位8ビット)
   zz : モンスターパーティの番号(上位7ビット)
     最上位の1ビットが0ならば変更前のパーティのHPなどを引き継ぐ
     1ならば(80hならば)引き継がない

F3 xx yy : メッセージ表示(3バイト命令)

 xx : メッセージの番号(下位8ビット)
 yy : メッセージの番号(上位8ビット)
 │
 └ xx yy : メッセージの種類(例)
    ├ 65 00 : ぼう大なエネルギーが集中する
    ├ 78 00 : ああ、私の存在が…消えてしまう…
    ├ 86 00 : なにかを束ねている
    └ 8D 00 : カオスをこえて終末が近づく…

F4 xx yy zz : 味方用コマンドのランダム実行(4バイト命令)

 xx : コマンドの番号1
 yy : コマンドの番号2
 zz : コマンドの番号3
 │
 └ xx : コマンドの種類
   ├ 00 : たたかう   01 : アイテム   02 : まほう    03 : トランス
   ├ 04 : もどる    05 : ぬすむ    06 : ぶんどる   07 : ひっさつけん
   ├ 08 : なげる    09 : きかい    0A : ひっさつわざ 0B : まふうけん
   ├ 0C : おぼえたわざ 0D : スケッチ   0E : あやつる   0F : スロット
   ├ 10 : あばれる   11 : とびこむ   12 : ものまね   13 : おどる
   ├ 14 : チェンジ   15 : ぼうぎょ   16 : ジャンプ   17 : れんぞくま
   ├ 18 : ぜになげ   19 : しょうかん  1A : いのる    1B : ショック
   └ 1C : とりつく   1D : まどう

F5 xx yy zz : 画面演出効果(4バイト命令)

 xx : 不明
 yy : 不明
 zz : 戦闘終了判定?
 │
 └ xx yy zz : 画面演出の種類(例)

     ├ 00 00 01 : 演出は何も無いが、モンスターを完全復活させる。

     ├ 03 01 FF : モンスター消滅(潜水)→勝利&敗北判定→強制戦闘終了
             →経験値などを獲得→マップ
     ├ 0C 01 FF : モンスター消滅(赤フェードアウト)→勝利&敗北判定
             →強制戦闘終了→経験値などを獲得→マップ
        ※これで戦闘を強制終了させた場合、敵はアイテムを落としません。
     └ 11 01 FF : モンスター消滅(崩壊)→画面フェードアウト
             →勝利&敗北判定→強制戦闘終了→マップ

F6 xx yy zz : アイテムを使用する(4バイト命令)

 xx : アイテム使用方法( 00:使用する 01:投げる )
 yy : アイテムの番号1(アイテムリストの並びに対応)
 zz : アイテムの番号2(アイテムリストの並びに対応)

 ※注:2択扱い。

F7 xx : イベント発生(2バイト命令)

 xx : イベントの番号

F8 xx yy : 内部変数設定(3バイト命令)

 xx : モード番号
 yy : 変更数値

 ※注:変更数値、+80すると「プラスする」という意味になります。

F9 xx yy zz : 内部ビット変数設定(4バイト命令)

 xx : ビット操作の種類( 00:反転、01:セット、02:クリア)
 yy : ビット番号
 zz : ビットパターン

FA xx yy zz : モンスター演出効果(4バイト命令)

 xx : 不明
 yy : モンスターの配置番号
 zz : 不明
 │
 └ xx yy zz : モンスター演出の種類(例)
     ├ 00 01 00 : モンスター自身が赤く発光
     ├ 01 01 00 : モンスターがゆっくり後退
     ├ 02 01 00 : モンスターが前進、または後退
     ├ 03 01 00 : モンスターが後ろに一歩下がる
     ├ 04 01 00 : モンスターが一歩前に出る
     ├ 06 00 00 : 味方パーティがバックアタックの隊形に移動する
     ├ 07 01 00 : モンスターがかなり後ろへ下がる
     ├ 08 01 00 : モンスターがかなり前へ出る
     ├ 09 01 00 : 効果音を再生
     ├ 0A 01 00 : 「ミッシング」のタメ開始→画面揺らし開始
     ├ 0B 01 00 : モンスター自身が長く発光
     ├ 0C 01 00 : モンスター自身が一瞬だけ輝く
     └ 0D 00 00 : ラスボス撃破時の演出

FB xx yy : 各種効果(3バイト命令)
 │
 └ xx : 効果の種類
   ├ 00 : モンスター出現時間を初期化する (yy:00 固定)
   ├ 01 : 無敵状態設定          (yy:36 固定?)
   ├ 02 : 戦闘終了            (yy:00 固定)
   ├ 03 : ガウがパーティメンバーに加入  (yy:00 固定)
   ├ 04 : 戦闘開始後の経過時間を初期化する(yy:00 固定)
   ├ 05 : 無敵状態解除          (yy:36 固定?)
   ├ 06 : 指定した対象を目標設定可能にする(yy:対象)
   ├ 07 : 指定した対象を目標設定不能にする(yy:対象)
   ├ 09 : 戦闘終了            (yy:00 固定)
   ├ 0B : 指定した状態を設定する     (yy:状態のインデックス)
   ├ 0C : 指定した状態を解除する     (yy:状態のインデックス)
   │
   ├ yy : 状態の種類
   │ ├ 00 : 暗闇   01 : ゾンビ  02 : 毒    03 : 魔導アーマー
   │ ├ 04 : 透明   05 : カッパー 06 : 石化   07 : 戦闘不能
   │ ├ 08 : 死の宣告 09 : 瀕死   0A : 分身   0B : 沈黙
   │ ├ 0C : バーサク 0D : 混乱   0E : スリップ 0F : 眠り
   │ ├ 10 : 飛んでる 11 : リジェネ 12 : スロウ  13 : ヘイスト
   │ ├ 14 : ストップ 15 : シェル  16 : プロテス 17 : リフレク
   │ ├ 18 : あばれる 19 : 氷結   1A : リレイズ 1B : トランス
   │ └ 1C : ?    1D : 戦闘離脱 1E : インターセプター    1F : レビテト
   │
   └ 0F : 戦闘背景を変える        (yy:戦闘背景を指定)


 ※注1:ここで無敵化出来る。無敵化した場合、あらゆるダメージポイントを「無し」として処理される。(回復さえも)

 ※注2:「ファイナルアタック」に「戦闘不能を解除する」と死なない。(HPは0のまま)
     内部変数などを利用することで疑似的に最大HPを限界である"65535"を超える
     事もできる。



FC xx yy zz : 条件指定(4バイト命令)
 │
 └ xx : 条件の種類
   │
   ├ 01 : 特定のコマンドに対するカウンター
   │ ├ yy:コマンドの番号1("F4"の項目と同じ)
   │ └ zz:コマンドの番号2("F4"の項目と同じ)
   │
   ├ 02 : 特定の魔法に対するカウンター
   │ ├ yy:魔法の番号1(魔法リストに対応)
   │ └ zz:魔法の番号2(魔法リストに対応)
   │
   ├ 03 : 特定のアイテムに対するカウンター
   │ ├ yy:アイテムの番号1(アイテムリストに対応)
   │ └ zz:アイテムの番号2(アイテムリストに対応)
   │
   ├ 04 : 属性攻撃に対するカウンター
   │ ├ yy:属性
   │ └ zz:"00"固定
   │
   ├ 05 : ダメージ、回復に対するカウンター
   │ ├ yy:"00"固定
   │ └ zz:"00"固定
   │
   ├ 06 : ヒットポイントが一定値以下
   │ ├ yy:対象("F1"の項目と同じ)
   │ └ zz:境界ヒットポイントを128で割った値
   │
   ├ 07 : マジックポイントが一定値以下
   │ ├ yy:対象("F1"の項目と同じ)
   │ └ zz:境界マジックポイント
   │
   ├ 08 : 状態が特定の状態と一致する
   │ ├ yy:対象("F1"の項目と同じ)
   │ └ zz:状態のインデックス("FB"の項目と同じ)
   │
   ├ 09 : 状態が特定の状態ではない
   │ ├ yy:対象("F1"の項目と同じ)
   │ └ zz:状態のインデックス("FB"の項目と同じ)
   │
   ├ 0B : モンスター出現時間が一定時間以上である
   │ ├ yy:単位時間
   │ └ zz:"00"固定
   │
   ├ 0C : 内部変数が特定の値未満である
   │ ├ yy:どの内部変数値を使用するか
   │ └ zz:内部変数の値
   │
   ├ 0D : 内部変数が特定の値以上である
   │ ├ yy:どの内部変数値を使用するか
   │ └ zz:内部変数の値
   │
   ├ 0E : レベルが特定の値未満である
   │ ├ yy:対象("F1"の項目と同じ)
   │ └ zz:レベル
   │
   ├ 0F : レベルが特定の値以上である
   │ ├ yy:対象("F1"の項目と同じ)
   │ └ zz:レベル
   │
   ├ 10 : 自分以外のモンスターがいない
   │ ├ yy:"00"固定
   │ └ zz:"00"固定
   │
   ├ 11 : 特定位置にモンスターが存在する
   │ ├ yy:位置(ビット和)
   │ └ zz:"00"固定
   │
   ├ 12 : 特定位置にモンスターが存在しない
   │ ├ yy:位置(ビット和)("00"指定で「ファイナルアタック」)
   │ └ zz:"00"固定
   │
   ├ 13 : 味方が指定した人数以上、または敵が指定した人数以下である
   │ ├ yy:フラグ(00:味方人数 zz 以上、01:敵の人数 zz 以下)
   │ └ zz:人数
   │
   ├ 14 : 特定内部ビット変数がセットされている
   │ ├ yy:ビット番号
   │ └ zz:ビットパターン
   │
   ├ 15 : 特定内部ビット変数がクリアされている
   │ ├ yy:ビット番号
   │ └ zz:ビットパターン
   │
   ├ 16 : 戦闘開始後の経過時間が一定時間以上である
   │ ├ yy:単位時間
   │ └ zz:"00"固定
   │
   ├ 17 : 攻撃目標が存在する
   │ ├ yy:対象("F1"の項目と同じ)
   │ └ zz:"00"固定
   │
   ├ 19 : 自分自身が特定位置に存在する
   │ ├ yy:位置(ビット和)
   │ └ zz:"00"固定
   │
   ├ 1A : 弱点が特定の属性と一致する
   │ ├ yy:対象("F1"の項目と同じ)
   │ └ zz:属性(01:炎、02:氷、04:雷、08:毒、10:風、20:聖、40:地、80:水)
   │
   └ 1B : モンスターパーティ番号が特定の値と一致する
     ├ yy:モンスターパーティ番号(下位)
     └ zz:モンスターパーティ番号(上位)

 ※注1:連続して条件指定することで複数の条件を指定することも可能。

 ※注2:条件が合ったときの行動中(条件行動時の1ターン経過コード使用した時など)は、
     他の条件に合うようになってもキャンセルは出来ない。
     最後まで行動してから、再度条件判定が行われる。
     (条件行動中にも反撃判定は行われる。)

FD : 1ターン経過(1バイト命令)

※注1:通常行動時は条件判定が行われる。
※注2:反撃時にターンを経過させた時の行動は未確認。
※注3:このコード連続して指定した時の行動は未確認。
(もしかしたら「そのターンは何も行動しない」の代わりになるのかもしれない。)

FE : (行動の意味で)なにもしない or 条件に「または」の意味で使われる(1バイト命令)

※注:この指令の使い方を間違えると予想した行動をとらないので注意。

FF : 行動指令終了(1バイト命令)

※注1:この指令の使い方を間違えると予想した行動をとらないので注意。
※注2:このコードを2回読み込むことでモンスタ-1体の行動パターンが確定する。

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

記事メニュー
目安箱バナー