WOLF RPGエディター(ウディタ)[3.337]/基本システム【サイトトップへ戻る】 ■戦闘処理の処理構造 (更新:2024/05/18) 戦闘処理の処理構造について解説します。
基本システムについての説明は別ページに記載しています。 ■戦闘処理の基本 戦闘処理は基本的に以下のような流れで実行されます。
まずマップイベントからコモンイベント[028:◆バトルの発生]かコモンイベント[037:◇ランダムエンカウント処理]を呼び出します。 コモンイベント[028:◆バトルの発生]の方は、ボス戦などの指定した敵グループと戦う時に使います。 コモンイベント[037:◇ランダムエンカウント処理]の方は、指定した歩数を歩くと敵が出現する処理を実行する時に使います。 そしてコモンイベント[028:◆バトルの発生]やコモンイベント[037:◇ランダムエンカウント処理]から コモンイベント[188:X◆戦闘処理]が呼び出されます。 このコモンイベント[188:X◆戦闘処理]は戦闘が終了するまで実行し続け、 コモンイベント[188:X◆戦闘処理]から他のコモンイベントを呼び出して戦闘処理全体を動かします。 コモンイベントの戦闘に関する処理は、 「戦闘用・内部処理」「戦闘用・画面処理」「戦闘用・実行処理」「変更可」の4つのジャンルに分かれています。
コモンイベントは処理内容ごとに細かく分かれています。 基本的に「呼び出せば自動的に処理してくれる」と言った感じになっており、例えば…
このように1つの処理に特化したコモンイベントを設定しておく事で…
基本システムのピクチャ番号は「10000〜19999」を使用しています。 また主人公の行動を決定する選択肢の表示やアイテム・特殊技能の一覧表示では、万能ウィンドウを使用しています。 当ページには万能ウィンドウに関する説明が無いため、万能ウィンドウに関しては、以下のページをご覧ください。 コモンイベントの処理は複数のコモンイベントを繋ぎ合わせて処理しているため、 処理構造を把握しないで改造を行うと原因不明のバグが発生する可能性があります。 ▲トップへ戻る▲ ■可変DBや変数について 戦闘の処理では、戦闘用の可変DBを使って現在のHPや攻撃力などを保存します。 そのため、戦闘中に主人公の攻撃力が2倍になっても、マップ移動時の攻撃力(可変DB[0:主人公ステータス])には変化が無く、 戦闘終了後に元の攻撃力に戻すような処理は必要ありません。 戦闘中に使用される可変DBは以下のとおりです。
コモンイベントのセルフ変数は、基本的にそのコモンイベント内の処理だけに使われます。 複数のコモンイベントをまたいで数値や文字列の情報を共有する時には、可変DBを使います。 なお、戦闘の処理ではシステムDBにある「文字列変数」「通常変数」「予備変数」は使っていません。 ▲トップへ戻る▲ ■データID(スロット)について 可変DB[10〜13]のデータIDは、以下のように設定されています。
▼データIDと戦闘画面の並び順 主人公はパーティの並び順なので、「ウルファール」「P・G・エディ」「夕一」などと並んでいる場合は…
敵キャラはユーザーDB[13:敵グループ]の項目[0〜6]の並び順になります。 例えば…
主人公の場合は最初のデータID[0]に必ず主人公が設定されていますが、 敵キャラの場合は必ずしもデータID[10]に敵キャラが登録されているとは限りません。 そのため、コモンイベント内の処理では可変DB[10:×┏ 戦闘一時ステータス[基]]の項目[3:【戦闘不能?】]を調べて、 戦闘不能になっているかどうかで、指定したデータIDのキャラがいるかどうかを判断しています。 このデータIDは「9以下=主人公」「10以上=敵キャラ」と判断する事ができるので、 例えば敵キャラが別の敵キャラに変身する処理を行うコモンイベント[168:X[戦]変身判定]では、 「データID9以下=主人公」と判断して、主人公の場合は変身の処理が実行されないようにしています。 他にも「9以下」「10以上」の条件分岐はかなり多く使われています。 なお、セルフ変数の名前にある「対象スロット」「発動者スロット」などの「スロット」は、このデータIDの事を言っています。 ▲トップへ戻る▲ ■戦闘処理の流れを解説 戦闘の処理の流れを解説します。 コモンイベントは「コモンID+(行数)」で「[188(40)]」などと表記しています。 また「ラベル「戦闘終了処理」(174)へ移動」の「(174)」の部分は、移動先の行数を表しています。 下記の一覧は大まかな処理の流れが書かれているだけであり、変数の値の変化やSEの演奏などの細かい設定は書かれていません。 細かい設定内容については、ウディタのコモンイベントの設定画面をご覧ください。 各コモンイベントの処理構造については、YADOT-WOLFにある各コモンイベントの解説ページをご覧ください。
▲トップへ戻る▲ ■アイテムや技能を選択する処理を解説 アイテムや技能を選択する処理について解説します。 アイテムの選択はコモンイベント[158:X[戦]アイテム選択実行]、 技能の選択はコモンイベント[159:X[戦]技能選択実行]で処理しています。 基本的に「アイテムや技能を選択 → 誰に使うのかを選択」となっていますが、アイテムを使用すると技能が発動する場合は、 「[159]でアイテムを選択 → [159]を呼び出して技能の仕様で誰に使うのかを選択」となっています。
▲トップへ戻る▲ ■攻撃や回復を実行する処理の流れを解説 コモンイベント[197:X┃┗◆1行動ループ]から始まる攻撃や回復を実行する処理について解説します。 コモンイベント[197:X┃┗◆1行動ループ]では、 コモンイベント[164:X[戦]行動実行結果算出]を攻撃や回復を1回実行するごとに1回呼び出しています。 コモンイベント[197:X┃┗◆1行動ループ]からの呼び出し回数は、 ユーザーDB[0:技能]の項目[18:発動回数/武器の影響]の設定で決まります。 項目[18:発動回数/武器の影響]が「[-1]武器依存 [武器効果も発動]」の場合は、 8つの装備欄(武器欄1つ+防具欄7つ)を1つずつ処理していくため、 コモンイベント[197:X┃┗◆1行動ループ]からの呼び出し回数は8回になります。 「[-2]武器数×2 [武器効果も発動]」の場合は16回呼び出されます。 項目[18:発動回数/武器の影響]が武器依存では無い場合は、 項目[18:発動回数/武器の影響]で指定した回数を呼び出します。 攻撃に対してカウンター(反撃)が発生した場合は、 コモンイベント[165:X[戦]┗単体処理]からコモンイベント[197:X┃┗◆1行動ループ]を呼び出し、 さらにコモンイベント[167:X[戦]カウンター実行結果算出]を呼び出しています。 そのため「攻撃→カウンター」と処理する流れは、 [197]→[164]→[163]→[164]→[165](カウンター発生)→[197]→[167]→[163]→[167]→[165](カウンター攻撃) となり、そして… [165](カウンター攻撃終了)→[167]→[197]→[165]→[164]→[197] と処理が戻ります。 スタート地点のコモンイベント[197:X┃┗◆1行動ループ]が攻撃とカウンターで二重に呼び出される処理構造であり、 改造などを行う際には注意が必要です。 通常の処理の[164]とカウンターの処理の[167]はほぼ同じ処理構造であり、 また通常の処理部分([197]→[164]→[163]→[164]→[165])と、 カウンターの処理部分([197]→[167]→[163]→[167]→[165])もほぼ同じ処理構造になっています。 そのため下記の一覧では、カウンターの処理部分は記載していません。
▲トップへ戻る▲ ◎関連ページ ◆「基本システム」って何? ┣◆コモンイベントの一覧と補足説明 ┣◆基本システムで使用しているピクチャ番号 ┣◆メニュー画面の処理構造 ┗◆戦闘処理の処理構造 ◆エンカウントで敵を出現 ◆万能ウィンドウについて ┗◆万能ウィンドウの設定例 ◆[戦闘画面]敵キャラの表示設定について ┗◆[戦闘改造]敵キャラの表示位置を移動&主人公画面の後ろに表示 |