WOLF RPGエディター(ウディタ)[3.175]/基本システム【サイトトップへ戻る】
■コモンイベント[167:X[戦]カウンター実行結果算出]の解説
(更新:2023/04/24)


コモンイベント[167:X[戦]カウンター実行結果算出]について解説します。


ショートカット
■コモンイベント[167:X[戦]カウンター実行結果算出]って何?
■スロットに関して
■[入力の数/結果を返す]について
■コモンイベント呼び出しの一覧
■セルフ変数の一覧
■イベントコマンドの解説

基本システムに関する説明は別ページに記載しています。
【基本システムに関する説明ページを見る】

コモンイベントの一覧と補足説明のページも用意しています。
【コモンイベントの一覧と補足説明のページを開く】


  
■コモンイベント[167:X[戦]カウンター実行結果算出]って何?

コモンイベント[167:X[戦]カウンター実行結果算出]は、カウンターの攻撃を行う時に使用されます。

ここでは、ダメージや回復の処理を実行する前に可変DB[10:×┏ 戦闘一時ステータス[基]]の情報を更新したり、
全体攻撃(全体回復)で次に誰を対象にするのかを決定したり、
技能のアニメーション表示やアイテム使用時のSEを鳴らしたり、
ダメージや回復を行う処理を呼び出したりします。



可変DB[10:×┏ 戦闘一時ステータス[基]]の更新は、
コモンイベント[146:X[戦]一時ステ計算<初期化>]
コモンイベント[147:X[戦]一時ステ計算<装備補正>]
コモンイベント[148:X[戦]一時ステ計算<状態補正>]を呼び出して実行。

次のターゲットの決定は、コモンイベント[163:X[戦]敵・味方行動対象算出]を呼び出して決定。

技能を使用した際のアニメーションの表示は、コモンイベント[183:X[戦]技能エフェクト描画]を呼び出して実行。

ダメージ処理や回復処理は、コモンイベント[165:X[戦]┗単体処理]を呼び出して実行します。



ユーザーDB[0:技能]項目[18:発動回数/武器の影響]の設定が「[-1]武器依存 [武器効果も発動]」の場合は、
8つの装備欄(武器欄1つ+防具欄7つ)を1つずつ処理するため、
呼び出し元となるコモンイベント[197:X┃┗◆1行動ループ]から
このコモンイベント[167:X[戦]カウンター実行結果算出]が8回呼び出され、
[-2]武器数×2 [武器効果も発動]」の場合は、16回呼び出されます。

武器依存では無い場合は、ユーザーDB[0:技能]項目[18:発動回数/武器の影響]に設定された回数だけ、
コモンイベント[197:X┃┗◆1行動ループ]からコモンイベント[167:X[戦]カウンター実行結果算出]が呼び出されます。



処理構造はコモンイベント[164:X[戦]行動実行結果算出]ほぼ同じ内容になっています。

同じような内容のコモンイベントを[164][167]の2つ用意している理由は、
例えば敵2体に対して全体攻撃を行った場合、以下のように処理されます。

【1】コモンイベント[164]を実行し、1体目を攻撃。
【2】1体目がカウンターによる反撃を行い、コモンイベント[167]を実行。
【3】反撃が終わったら、コモンイベント[167]が終了し、コモンイベント[164]で2体目を攻撃。
【4】2体目の攻撃が終わったら、コモンイベント[164]を終了。

このようにコモンイベント[164]が1つしか無い状態では、
コモンイベント[164]の処理がまだ終わっていない状態で、
カウンター反撃によってコモンイベント[164]を呼び出す形になってしまうので、
カウンター反撃の時にはコモンイベント[167]を呼び出して処理しています。

処理内容はほぼコモンイベント[164]と同じですが、若干設定内容が異なります。


▲トップへ戻る▲


  
■スロットに関して

このページにある「スロット」とは、可変DB[10:×┏ 戦闘一時ステータス[基]]データIDの事を言っています。

スロットの番号は、主人公の場合はパーティの並び順で一人目から「0、1、2…」と付けられ、
敵キャラの場合はユーザーDB[13:敵グループ]項目[0〜6]項目ID+10で「10、11、12…」と付けられます。

ユーザーDB[13:敵グループ]項目[0〜6](項目[3]に設定した敵キャラの場合はスロット[13]になる)


▼スロット(可変DB[10:×┏ 戦闘一時ステータス[基]]のデータID)


なお、
可変DB[11:×┣ 属性耐性計算結果]
可変DB[12:×┣ 状態耐性計算結果]
可変DB[13:×┣ 状態リスト]

の3つも可変DB[10:×┏ 戦闘一時ステータス[基]]と同じく「スロット=データID」で処理しています。


▲トップへ戻る▲


  
■[入力の数/結果を返す]について

コモンイベント[167:X[戦]カウンター実行結果算出][入力の数/結果を返す]の設定は、
基本システムが必要に応じて自動的に行いますので、基本システムの利用者は何も設定する必要はありません。

▼数値1/コモンセルフ0「処理番号」

今回処理する可変DB[14:×┣ コマンド処理リスト]データIDを設定。
▼数値2/コモンセルフ1「武器の指定」

ユーザーDB[0:技能]項目[18:発動回数/武器の影響]の設定が武器依存であるかどうかを設定。

武器依存の場合は、今回の処理は可変DB[10:×┏ 戦闘一時ステータス[基]]項目[18〜25]に設定されて
いる武器の中で、どの武器を使って処理するのかを設定。
この可変DB[10:×┏ 戦闘一時ステータス[基]]項目[18〜25]の設定は、
元々可変DB[0:主人公ステータス]項目[28〜35]にあった設定を複製したものになります。
[-1]通常処理 ユーザーDB[0:技能]項目[18:発動回数/武器の影響]が武器依存では無い時
[0]武器欄の武器を使用 可変DB[10:×┏ 戦闘一時ステータス[基]]項目[18:装備中の武器]の武器で処理
[1]防具欄1の武器を使用 可変DB[10:×┏ 戦闘一時ステータス[基]]項目[19:装備中の防具1]の武器で処理
[2]防具欄2の武器を使用 可変DB[10:×┏ 戦闘一時ステータス[基]]項目[20:装備中の防具2]の武器で処理
[3]防具欄3の武器を使用 可変DB[10:×┏ 戦闘一時ステータス[基]]項目[21:装備中の防具3]の武器で処理
[4]防具欄4の武器を使用 可変DB[10:×┏ 戦闘一時ステータス[基]]項目[22:装備中の防具4]の武器で処理
[5]防具欄5の武器を使用 可変DB[10:×┏ 戦闘一時ステータス[基]]項目[23:装備中の防具5]の武器で処理
[6]防具欄6の武器を使用 可変DB[10:×┏ 戦闘一時ステータス[基]]項目[24:装備中の防具6]の武器で処理
[7]防具欄7の武器を使用 可変DB[10:×┏ 戦闘一時ステータス[基]]項目[25:装備中の防具7]の武器で処理


▲トップへ戻る▲


  
■コモンイベント呼び出しの一覧

コモンイベント[167:X[戦]カウンター実行結果算出]を呼び出しているコモンイベント、
またはコモンイベント[167:X[戦]カウンター実行結果算出]から呼び出しているコモンイベントの一覧です。

コモンイベント[167:X[戦]カウンター実行結果算出]を呼び出しているコモンイベント
コモンイベント(ID順) 処理内容
197:X┃┗◆1行動ループ カウンターの反撃を行う時に呼び出されます。

コモンイベント[167:X[戦]カウンター実行結果算出]から呼び出しているコモンイベント
コモンイベント(ID順) 処理内容
146:X[戦]一時ステ計算<初期化> 可変DB[10:×┏ 戦闘一時ステータス[基]]の初期化などを実行。
147:X[戦]一時ステ計算<装備補正> 装備による能力値の増減を、
可変DB[10:×┏ 戦闘一時ステータス[基]]に設定。
148:X[戦]一時ステ計算<状態補正> 状態変化による能力値の増減を、
可変DB[10:×┏ 戦闘一時ステータス[基]]に設定。
163:X[戦]敵・味方行動対象算出 次に誰をターゲットにするのかを設定。
165:X[戦]┗単体処理 ダメージ処理、回復処理、状態変化の回復・付与などを処理。
174:X[戦]味方欄_座標算出 指定した並び順にいる主人公のステータス画面の表示位置を取得。
175:X[戦]敵キャラ_座標算出 指定した並び順にいる敵キャラの表示位置を取得。
183:X[戦]技能エフェクト描画 アニメーションを表示。

【コモンイベント呼び出しの一覧を別ウィンドウで表示】


▲トップへ戻る▲


  
■セルフ変数の一覧

コモンイベント[167:X[戦]カウンター実行結果算出]のセルフ変数の一覧です。

セルフ変数
番号 名前 使用内容
0 処理番号 今回処理する可変DB[14:×┣ コマンド処理リスト]データIDを設定。
1 武器の指定 武器依存の攻撃かどうか、
また武器依存の場合は、どの装備欄にある武器を使うのかを設定。
-1 武器依存ではない処理
0 武器欄の武器で処理
1 防具欄1の武器で処理
2 防具欄2の武器で処理
3 防具欄3の武器で処理
4 防具欄4の武器で処理
5 防具欄5の武器で処理
6 防具欄6の武器で処理
7 防具欄7の武器で処理
10 一時変数A データベースからの数値の取得やデータIDの取得などで使用。
11 一時変数B ユーザーDBの設定値の取得に使用。
16 発動スロット 可変DB[14:×┣ コマンド処理リスト]項目[0:発動者番号]を取得。
17 技能コード 可変DB[14:×┣ コマンド処理リスト]項目[3:発動技能]を取得。
18 対象者 可変DB[14:×┣ コマンド処理リスト]項目[2:受け側番号]を取得。
19 装備の有無 コモンイベント[147:X[戦]一時ステ計算<装備補正>]からの戻り値を取得。
指定した防具の装備欄に武器が無かった場合は「0」を取得し、
コモンイベント[167:X[戦]カウンター実行結果算出]の処理を終了。
23 次対象 コモンイベント[163:X[戦]敵・味方行動対象算出]から次のターゲットとなる
スロットを取得。
ターゲットが居ない場合は「-1」を取得し、
コモンイベント[167:X[戦]カウンター実行結果算出]の処理を終了。
25 アニメ表示フラグ 「1」の場合は、行動を行うたびにアニメーションを表示する。
ユーザーDB[0:技能]項目[19:アニメーション]の設定がある場合で、
武器依存ではない場合で全体攻撃(全体回復)の場合は、
1回だけアニメーションを表示し、「0」にする。
26 全体攻撃? コモンイベント[183:X[戦]技能エフェクト描画]からの戻り値で
アニメーションが全体攻撃(全体回復)だった場合は「1」を取得。
27 アニメ番号 ユーザーDB[0:技能]項目[19:アニメーション]に設定されている
アニメーションID(ユーザーDB[1:┗ アニメーション]データID)を取得。
28 対象X アニメーションを表示するX位置を設定。
29 対象Y アニメーションを表示するY位置を設定。
34 *名前なし* アニメーションを行う技能ID(ユーザーDB[0:技能]データID)を設定。
アイテム使用の場合は、使用して発動する技能IDを設定。
アイテム使用でも技能の発動が無い場合は、
セルフ[34]の数値は10000以上となり、この場合はアニメーションを表示しないが、
ユーザーDB[2:アイテム]項目[20:使用時SE]にSEのファイルアドレスが設定
されている場合は、そのSEを演奏する。

【変数の一覧を別ウィンドウで表示】


▲トップへ戻る▲


  
■イベントコマンドの解説

イベントコマンドの解説を行います。

なお、見た目で設定内容が分かるような簡単なイベントコマンドの解説は省略しています。

処理内容
18-21 今回処理する可変DB[14:×┣ コマンド処理リスト]のデータをセルフ[16〜18]に取得。
セルフ[17]セルフ[34]に複製。
22-57 アイテム使用の場合は分岐し、アイテム使用で技能が発動する場合は、
発動する技能ID(ユーザーDB[0:技能]データID)を取得。
ここで取得した技能IDは、アニメーションの表示で使用。
アイテム使用でも技能使用ではない場合はセルフ[34]を「10000以上」のままにする事で、
アニメーションが実行されなくなり、代わりにアイテム使用時のSE演奏有無の判断へ移動する。
65-165 ■ループ開始
全体攻撃(全体回復)の場合は人数分だけループし、単体の場合は1回だけ処理する。
  57-58 ▼ 対象とする相手がいる限り処理を続ける
コモンイベント[163:X[戦]敵・味方行動対象算出]から
次のターゲットのスロットをセルフ[23]に取得。
  68-73 ▼  >行動対象 \cself[23]※ここは動作テストの時に【デバッグ文】に変えて使用していたらしい。
ターゲットが居ない場合は、ここで処理を終了させる。
  75-78 ▼ 対象のパラメータ再計算
ターゲットの可変DB[10:×┏ 戦闘一時ステータス[基]]を更新。
  82-106 ▼ 発動者のパラメータ再計算
発動者の可変DB[10:×┏ 戦闘一時ステータス[基]]を更新。
発動する技能でユーザーDB[0:技能]項目[18:発動回数/武器の影響]の設定が武器依存である
かどうかで分岐する。
武器依存の場合は、武器ごとに可変DB[10:×┏ 戦闘一時ステータス[基]]を更新する。
防具の装備欄も調べて、武器の装備が無い場合は、ここで処理を終了させる。
  109-151 ■条件分岐(変数): 【1】 CSelf25[アニメ表示フラグ] が 1 と同じ
 ■条件分岐(変数): 【1】 CSelf34[アニメ用技能番号] が 9999 以下
          【2】 CSelf34[アニメ用技能番号] が 19999 以下
アニメーションを表示する場合は分岐し、技能発動(セルフ[34]=9999以下)でさらに分岐。
    113-121 ▼ 技能アニメーションを表示
ターゲットの表示位置を取得し、ユーザーDB[0:技能]項目[19:アニメーション]から
アニメーションID(ユーザーDB[1:┗ アニメーション]データID)をセルフ[27]に取得。
武器依存の場合は、今回処理する武器のアニメーションIDを
ユーザーDB[3:武器]項目[5:攻撃アニメーション]からセルフ[27]に取得。
アニメーションの表示設定(セルフ[27]=0以上)がある場合は、
コモンイベント[183:X[戦]技能エフェクト描画]を呼び出して、アニメーションを表示。
全体攻撃(全体回復)の場合は、セルフ[25]に「1」を設定し、
アニメーションが1回だけ表示させるようにする。
  152-153 ▼ 単体処理
コモンイベント[165:X[戦]┗単体処理]を呼び出して、
HP・SPの増減や状態変化の付与or回復を実行する。
  154-163 ▼ 対象がもともと単体攻撃の場合はここで終了
ターゲットを指定している場合はここで処理を終了させる。


▲トップへ戻る▲



◎関連ページ

◆「基本システム」って何?
┣◆コモンイベントの一覧と補足説明
┣◆メニュー画面の処理構造
┗◆戦闘処理の処理構造

YADOT-WOLFトップ  気紛れな空間へ戻る  メール