WOLF RPGエディター(ウディタ)[3.337]/基本システム【サイトトップへ戻る】
■コモンイベント[147:X[戦]一時ステ計算<装備補正>]の解説
(更新:2024/05/18)


コモンイベント[147:X[戦]一時ステ計算<装備補正>]について解説します。


ショートカット
■コモンイベント[147:X[戦]一時ステ計算<装備補正>]って何?
■可変DB[10:×┏ 戦闘一時ステータス[基]]の補足説明
■スロットに関して
■こうゆう時にこのコモンイベントを改造する
■[入力の数/結果を返す]について
■コモンイベント呼び出しの一覧
■セルフ変数の一覧
■イベントコマンドの解説

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

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


  
■コモンイベント[147:X[戦]一時ステ計算<装備補正>]って何?

コモンイベント[147:X[戦]一時ステ計算<装備補正>]は、
装備品の設定値を可変DB[10:×┏ 戦闘一時ステータス[基]]に追加する時に使います。



可変DB[10:×┏ 戦闘一時ステータス[基]]の設定は…
コモンイベント[146:X[戦]一時ステ計算<初期化>]
          
コモンイベント[147:X[戦]一時ステ計算<装備補正>]
          
コモンイベント[148:X[戦]一時ステ計算<状態補正>]
と言った流れで、3つのコモンイベントを順番に処理する事で、
可変DB[10:×┏ 戦闘一時ステータス[基]]の設定が完了します。



コモンイベント[197:X┃┗◆1行動ループ]では、
このコモンイベント[147:X[戦]一時ステ計算<装備補正>]を呼び出して、
セルフ[1:使用する武器]に設定した装備欄に武器が装備されているかどうかを調べる時に使っています。


▲トップへ戻る▲


  
■可変DB[10:×┏ 戦闘一時ステータス[基]]の補足説明

可変DB[10:×┏ 戦闘一時ステータス[基]]には、戦闘中に使用するパラメータが保存されています。

主人公のデータは可変DB[0:主人公ステータス]からコピーし、
敵キャラのデータはユーザーDB[9:敵キャラ個体データ]からコピーしたものを使います。

データをコピーする事で、例えば戦闘中に一時的に主人公の最大HPを変更しても、
データ元の可変DB[0:主人公ステータス]はそのままなので、
戦闘が終了したあとに元の最大HPに戻すような処理が必要無くなります。



可変DB[10:×┏ 戦闘一時ステータス[基]]には、
項目[9:基本攻撃力]項目[48:[一時]計算済み攻撃力]と言ったように、同じような設定項目が2つずつあります。

項目[9:基本攻撃力]などと「[一時]」が付いていないものは、
可変DB[0:主人公ステータス]にあったデータであり、何も装備していない状態の攻撃力になります。

項目[48:[一時]計算済み攻撃力]などと「[一時]」が付いているものは、
装備品や状態異常による能力値の変動を計算したあとの値が設定されており、
戦闘中ではこの「[一時]」が付いているものを使用します。


▲トップへ戻る▲


  
■スロットに関して

このページにある「スロット」とは、可変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:×┏ 戦闘一時ステータス[基]]と同じくスロットで処理しています。


▲トップへ戻る▲


  
■こうゆう時にこのコモンイベントを改造する

以下のような改造を行いたい時にこのコモンイベントを改造します。

◆可変DB[10:×┏ 戦闘一時ステータス[基]]に新たな項目を増やしたい。

◆ユーザーDB[3:武器][4:防具]の改造に合わせて、
 可変DB[10:×┏ 戦闘一時ステータス[基]]の設定を変えたい。


▲トップへ戻る▲


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

コモンイベント[147:X[戦]一時ステ計算<装備補正>][入力の数/結果を返す]の設定は、
基本システムが必要に応じて自動的に行いますので、基本システムの利用者は何も設定する必要はありません。

▼数値1/コモンセルフ0「対象戦闘スロット」

可変DB[10:×┏ 戦闘一時ステータス[基]]のスロットを設定。
▼数値2/コモンセルフ1「使用する武器」

可変DB[10:×┏ 戦闘一時ステータス[基]]の計算で使用する武器を設定。
[-1]全武器を総計 全ての武器を装備した時の状態で処理
[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]の武器で処理
▼結果を返す「武器ある?」(セルフ変数[99:武器ある?])

可変DB[10:×┏ 戦闘一時ステータス[基]]に武器の能力値を設定した場合は「1」を返します。


▲トップへ戻る▲


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

コモンイベント[147:X[戦]一時ステ計算<装備補正>]を呼び出しているコモンイベント、
またはコモンイベント[147:X[戦]一時ステ計算<装備補正>]から呼び出しているコモンイベントの一覧です。

コモンイベント[147:X[戦]一時ステ計算<装備補正>]を呼び出しているコモンイベント
コモンイベント(ID順) 処理内容
004:○回復・ダメージ処理 可変DB[10:×┏ 戦闘一時ステータス[基]]に装備品の値を追加する時に
呼び出されます。
005:○メンバーの増減 可変DB[10:×┏ 戦闘一時ステータス[基]]に装備品の値を追加する時に
呼び出されます。
009:○状態異常変化 可変DB[10:×┏ 戦闘一時ステータス[基]]に装備品の値を追加する時に
呼び出されます。
031:◆[戦闘用]ダメージ処理 可変DB[10:×┏ 戦闘一時ステータス[基]]に装備品の値を追加する時に
呼び出されます。
142:X[戦]指定主人公更新処理 可変DB[10:×┏ 戦闘一時ステータス[基]]に装備品の値を追加する時に
呼び出されます。
144:X[戦]敵DB→戦闘DBコピー 可変DB[10:×┏ 戦闘一時ステータス[基]]に装備品の値を追加する時に
呼び出されます。
164:X[戦]行動実行結果算出 可変DB[10:×┏ 戦闘一時ステータス[基]]に装備品の値を追加する時に
呼び出されます。
167:X[戦]カウンター実行結果算出 可変DB[10:×┏ 戦闘一時ステータス[基]]に装備品の値を追加する時に
呼び出されます。
168:X[戦]変身判定 可変DB[10:×┏ 戦闘一時ステータス[基]]に装備品の値を追加する時に
呼び出されます。
188:X◆戦闘処理 可変DB[10:×┏ 戦闘一時ステータス[基]]に装備品の値を追加する時に
呼び出されます。
190:X┣◆戦闘キャラ配置 可変DB[10:×┏ 戦闘一時ステータス[基]]に装備品の値を追加する時に
呼び出されます。
197:X┃┗◆1行動ループ] 可変DB[10:×┏ 戦闘一時ステータス[基]]に装備品の値を追加する時に
呼び出されます。

コモンイベント[147:X[戦]一時ステ計算<装備補正>]から呼び出しているコモンイベント
コモンイベント(ID順) 処理内容
145:X[戦]選択箇所装備コード取得 可変DB[10:×┏ 戦闘一時ステータス[基]]項目[18〜25]にある
装備品のコードを取得する時に使用。
20000〜29999 武器のコード
ユーザーDB[3:武器]データID+20000
30000〜39999 防具のコード
ユーザーDB[4:防具]データID+30000

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


▲トップへ戻る▲


  
■セルフ変数の一覧

コモンイベント[147:X[戦]一時ステ計算<装備補正>]のセルフ変数の一覧です。

セルフ変数
番号 名前 使用内容
0 対象戦闘スロット 可変DB[10:×┏ 戦闘一時ステータス[基]]データIDを設定。
1 使用する武器 可変DB[10:×┏ 戦闘一時ステータス[基]]に設定する武器を設定。
-1 全ての武器を装備した状態で処理 ・武器依存ではない攻撃
・攻撃・回復を受ける側
0 武器欄の武器で処理 ・武器依存の攻撃
 (攻撃する武器の設定値のみを使用)
1 防具欄1の武器で処理
2 防具欄2の武器で処理
3 防具欄3の武器で処理
4 防具欄4の武器で処理
5 防具欄5の武器で処理
6 防具欄6の武器で処理
7 防具欄7の武器で処理
20 装備コード 主人公が装備している装備コードを取得。
装備コードは、
武器の場合はユーザーDB[3:武器]データID+20000。
防具の場合はユーザーDB[4:防具]データID+30000。
21 一時装備番号 セルフ[20]を「余剰10000」にした値を設定。
武器の場合はユーザーDB[3:武器]データID
防具の場合はユーザーDB[4:防具]データID
25 最大装備数 ユーザーDB[17:システム設定]項目[22:装備可能欄数]を取得。
26 処理中装備欄 処理する装備欄(0〜7)を設定し、
コモンイベント[145:X[戦]選択箇所装備コード取得]の呼び出しで使用。
0 可変DB[10:×┏ 戦闘一時ステータス[基]]項目[18:装備中の武器]
1 可変DB[10:×┏ 戦闘一時ステータス[基]]項目[19:装備中の防具1]
2 可変DB[10:×┏ 戦闘一時ステータス[基]]項目[20:装備中の防具2]
3 可変DB[10:×┏ 戦闘一時ステータス[基]]項目[21:装備中の防具3]
4 可変DB[10:×┏ 戦闘一時ステータス[基]]項目[22:装備中の防具4]
5 可変DB[10:×┏ 戦闘一時ステータス[基]]項目[23:装備中の防具5]
6 可変DB[10:×┏ 戦闘一時ステータス[基]]項目[24:装備中の防具6]
7 可変DB[10:×┏ 戦闘一時ステータス[基]]項目[25:装備中の防具7]
29 使用中武器番号 処理した武器番号を設定し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[66:[一時]使用武器番号]に設定。
武器の指定が無い場合や全ての武器の設定値を加算した場合は「-1」になる。
50 MaxHP変化値総計 最大HPに武器や防具の設定値を追加し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[44:[一時]計算済みMaxHP]に設定。
51 MaxSP変化値総計 最大SPに武器や防具の設定値を追加し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[46:[一時]計算済みMaxSP]に設定。
52 攻撃力変化値総計 攻撃力に武器や防具の設定値を追加し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[48:[一時]計算済み攻撃力]に設定。
53 防御力変化値総計 防御力に武器や防具の設定値を追加し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[49:[一時]計算済み防御力]に設定。
54 精神攻撃変化値総計 精神攻撃に武器や防具の設定値を追加し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[50:[一時]計算済み精神攻撃]に設定。
55 精神防御変化値総計 精神防御に武器や防具の設定値を追加し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[51:[一時]計算済み精神防御]に設定。
56 敏捷度変化値総計 敏捷度に武器や防具の設定値を追加し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[46:[一時]計算済みMaxSP]に設定。
57 命中率変化値総計 命中率に武器や防具の設定値を追加し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[53:[一時]計算済み命中率]に設定。
58 回避率変化値総計 回避率に武器や防具の設定値を追加し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[54:[一時]計算済み回避率]に設定。
59 クリティカル率変化値総計 クリティカル率に武器や防具の設定値を追加し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[55:[一時]計算済みクリティカル率]に設定。
70 装備分までHP このコモンイベントの処理が終わった時点の最大HPを、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[45:[一時]MaxHP装備計算分]に設定。
ここで保存した値は、コモンイベント[148:X[戦]一時ステ計算<状態補正>]で使用します。
71 装備分までSP このコモンイベントの処理が終わった時点の最大SPを、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[47:[一時]MaxSP装備計算分]に設定。
ここで保存した値は、コモンイベント[148:X[戦]一時ステ計算<状態補正>]で使用します。
99 武器ある? [結果を返す]で使用。
武器の設定値を可変DB[10:×┏ 戦闘一時ステータス[基]]に設定した場合は「1」を設定。

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


▲トップへ戻る▲


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

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

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

処理内容
7 ▼ 装備を読み込み
9-14 ■条件分岐(変数): 【1】 CSelf0[対象戦闘スロット] が -1 以下
セルフ[0]が「1以下」になる事は通常ありませんが、
改造の失敗などによる万が一のため、一応設定している感じです。
  11-12 エラーを表示して、【イベント処理中断】を実行。
15-17 ▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 初期化
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
23-77 ■回数付きループ [ CSelf25[最大装備数] ]回
装備している武器や防具の設定値をセルフ変数に設定します。
  24 ▼ 武器の場合と防具の場合で処理を分岐
  26-27 ▼ 装備コードを取得
コモンイベント[145:X[戦]選択箇所装備コード取得]を呼び出し、
指定された装備欄にある装備コードをセルフ[20]に取得。
  28-75 ■条件分岐(変数): 【1】 CSelf20[装備コード] が 20000 以上
装備コードの場合は分岐。
    30-57 ■条件分岐(変数): 【1】 CSelf20[装備コード] が 29999 以下
武器コードの場合は分岐。
      32-33 ▼ 武器のパラメータ処理
セルフ[20]を「余剰10000」にして、
セルフ[21]に武器ID(ユーザーDB[3:武器]データID)を設定。
      34-36 ▼ 最大HPと最大SPは何があっても常に計算に含める
最大HPと最大SPの設定値をセルフ[50〜51]に設定。
      37-40 ■条件分岐(変数): 【1】 CSelf1[使用する武器] が -1 と同じ
使用する武器が「全武器を総計」の場合は分岐。
        39-40 ▼ 武器スロットが -1 の場合は、全ての武器のパラメータを加算する
▼ 何も処理しない
      42-45 ◇分岐: 【2】 [ CSelf1[使用する武器] が CSelf26[処理中装備欄] 以外 ]の場合↓
使用する武器が「全武器を総計」以外の場合は分岐。
        43-45 ▼ 武器スロットが指定と違うので、次の装備へ
▼ ※主に攻撃時、使用する武器箇所が指定されている場合は
   その武器だけしかパラメータに加算しない
【ループ開始へ戻る】を実行し、23行目へ移動。
      48-56 装備欄にあった武器の設定値をセルフ[52〜59]に加算。
      57 セルフ[99]に「1(調べた装備欄に武器があった)」を設定し、
呼び出し元のコモンイベントへ返します。
    59-71 ◇分岐: 【2】 [ CSelf20[装備コード] が 39999 以下 ]の場合↓
防具コードの場合は分岐。
      ▼ 防具のパラメータ処理
装備欄にあった防具の設定値をセルフ[52〜59]に加算。
78-88 ▼ 一時パラメータに加算する
セルフ[52〜59]の値を可変DB[10:×┏ 戦闘一時ステータス[基]]に加算。
90 ▼ 使用中武器は、全武器装備時のパラメータを計算する場合には代入しない
91-95 ■条件分岐(変数): 【1】 CSelf1[使用する武器] が -1 以下
使用する武器が「全武器を総計」の場合は分岐。
  93 セルフ[29]に「-1」を設定。
96 可変DB[18:基本システム用変数]データ[66:[一時]使用武器番号]セルフ[29]を設定。
98-102 ▼ 装備分までのHPを別に登録しておく
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[45:[一時]MaxHP装備計算分]
項目[47:[一時]MaxSP装備計算分]に現在の最大HPや最大SPを設定。



▲トップへ戻る▲



◎関連ページ

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

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