バトルコンフィグデータ

「ヘルプ補足」諸注意

◆仕様補足説明(ver 2.2.27〜)
SRC標準の命中率・ダメージ計算式をバトルコンフィグデータを用いて書くと、以下のようになります。*1

最終命中率
最終値

命中率
(攻撃側補正 - 防御側補正) * 地形適応 * サイズ補正

命中修正
100 + 命中 + 反応 + 運動性 + 攻撃値

回避修正
回避 + 反応 + 運動性

#
最終ダメージ
最終値

ダメージ
(攻撃側補正 - 防御側補正) * 地形適応

攻撃地形補正
攻撃値 * 地形適応

攻撃補正
武器威力 * 攻撃値 * 気力 / 10000

防御補正
装甲値 * 耐久 * 地形適応 * 気力 / 10000

#
最終クリティカル発生率
最終値

クリティカル発生率
攻撃側補正 - 防御側補正

クリティカル攻撃補正
攻撃値 + 技量

クリティカル防御補正
技量

#
最終特殊効果発生率
最終値

最終特殊効果発生率
攻撃側補正 - 防御側補正

最終特殊効果攻撃補正
攻撃値 + 技量 / 2

最終特殊効果防御補正
技量 / 2 - ザコ補正

◆仕様補足説明

>バトルコンフィグデータはbattle.txt に記述します。他のデータファイルと異なり、作品毎にデータを定義する事は出来ません。
>データファイルが配置できる場所は、
>	SRC本体があるフォルダ\Data\System\battle.txt
>	シナリオフォルダ\Data\System\battle.txt
>の2箇所のみに限定されています。

特別な理由が無い限り、battle.txtは必ず
 "シナリオフォルダ\Data\System\battle.txt" 
に置くようにしてください。

シナリオフォルダ下にbattle.txtがある場合、
SRC本体のシステムフォルダに置かれたbattle.txtは、そのシナリオには関係しません。
(これは、シナリオフォルダ下にあるbattle.txtの内容には無関係です)*2
逆に、シナリオフォルダ下にbattle.txtが無いシナリオの場合、
常にSRC本体のシステムフォルダに置かれたbattle.txtが参照されます。

このため、SRC本体のシステムフォルダにbattle.txtが置かれていると、
battle.txtを使用しないことを前提としたデータバランスで作成された全てのシナリオを起動した時、
シナリオ作者の意図しないバランスでの戦闘が行われることになるからです。


◆仕様補足説明
battle.txtは、デバッグオプションをOnにしていても、
マップコマンドからクイックロードやリスタートをした時は再読み込みされません。
そのため、battle.txtを修正した場合、それを反映させるためには一度SRCを再起動しなければなりません。


◆仕様補足説明

>書式
>コンフィグ対象
>計算式

計算式の下には、ヘルプ掲載の例のように、空行が必要です


◆保証未確認動作(確認ver 2.2.15〜28)
コンフィグ対象の下に、空行を挟まずに計算式を複数行記述した場合、
有効な計算式は、初めて出てくる空行の直前にある計算式になります。

また、一つのコンフィグ対象の計算式を複数回定義した場合、
最も下で定義された計算式が有効になります。

例:

 
最終命中率
最終値 * 1.1
最終値 + 10
 

と記述した場合、有効になる計算式は「最終値 + 10」です。

 
最終命中率
最終値 + 10

最終命中率
最終値 * 1.1
 

と記述した場合は、「最終値 * 1.1」が有効です。


◆仕様補足説明
ヘルプの「(1)コンフィグ対象」に書かれた各等式の右辺は、デフォルトの計算式を示すものです。バトルコンフィグデータの書式の説明ではありません。これらの式や「変数」をそのままバトルコンフィグデータに用いても有効ではありません。


◆仕様補足説明

例:

>◆攻撃の命中率
>命中率   = ( 命中補正 − 回避補正 ) × 地形命中率修正 × サイズ補正
>命中補正 = 100 + パイロット命中 + パイロット反応 + ユニット運動性 + 武器命中率
>回避補正 = パイロット回避 + パイロット反応 + ユニット運動性
>
>◆攻撃のダメージ
>ダメージ     = ( 攻撃地形補正 − 防御補正 ) × 地形ダメージ修正
>攻撃地形補正 = 攻撃力補正 × 地形適応
>攻撃補正     = 武器威力 × パイロット攻撃力/100 × 気力/100
>防御補正     = 装甲値 × 気力/100 × 地形適応

を再現する場合の記述の正誤例です。
ヘルプのバトルコンフィグ変数についての説明と合わせて読んでください。


  • 命中率

誤:

命中率
( 命中補正 - 回避補正 ) * 地形命中率修正 * サイズ補正

正:

命中率
( 攻撃側補正 - 防御側補正 ) * 地形適応 * サイズ補正

  • 命中補正

誤:

命中補正
100 + 命中 + 反応 + 運動性 + 武器命中率

正:

命中補正
100 + 命中 + 反応 + 運動性 + 攻撃値

  • 回避補正

正:

回避補正
回避 + 反応 + 運動性

  • ダメージ

誤:

ダメージ
( 攻撃地形補正 - 防御補正 ) * 地形ダメージ修正

正:

ダメージ
( 攻撃側補正 - 防御側補正 ) * 地形適応 

  • 攻撃地形補正

誤1:

攻撃地形補正
攻撃力補正 * 地形適応

誤2:

攻撃地形補正
攻撃側補正 * 地形適応

正:

攻撃地形補正
攻撃値 * 地形適応

  • 攻撃補正

誤1:

攻撃補正
武器威力 * 格闘 * 気力 / 10000

誤2:

攻撃補正
武器威力 * 攻撃力 * 気力 / 10000

正:

攻撃補正
武器威力 * 攻撃値 * 気力 / 10000

  • 防御補正

誤:

防御補正
装甲 * 気力 * 地形適応 / 100

正:

防御補正
装甲値 * 気力 * 地形適応 / 100

※ただしこの計算式だと、パイロット特殊能力「耐久」(Option使用時は「防御」能力値)が考慮されない事に注意。

「耐久*3」も考慮する場合:

防御補正
装甲値 * 耐久 * 気力 * 地形適応 / 10000

(1)コンフィグ対象

攻撃地形補正

関連項目:

◆保証未確認動作(確認ver 2.2.28〜29)
攻撃コマンドから攻撃する場合に限り、コンフィグ対象「攻撃地形補正」の計算結果が 0 となる武器は、使用武器として選択できません。*4
反撃時には選択可能です。
また、CPUの武器選択には無関係です。


(2)計算式

関連項目:Info関数

◆仕様補足説明

>(1)で指定された式の値を計算する式を定義し直します。上の計算式の「=」の右側の式を自分で定義し直すと考えてください。
>この式はイベントデータの式と同様に処理されるため、通常の変数や関数を自由に使うことが出来ます。
>イベントデータ側で定義した関数を呼び出すことも可能です。

イベントデータ側で定義したサブルーチンを呼び出した時、
その呼び出されたサブルーチン中でも、バトルコンフィグ変数は有効です。

サブルーチン内でバトルコンフィグ変数と同じ文字列を使用する場合は、
必ずその文字列を「""」でくくって、変数ではない事を示してください。

例:
バトルコンフィグデータからCallしたサブルーチン内においては、

Info(パイロット, 対象パイロット, 格闘)

という式は、
例えば対象パイロットの格闘値が180であれば

Info(パイロット, 対象パイロット, 180)

と解釈されてしまう。*5
これを避けるには、

Info(パイロット, 対象パイロット, "格闘")

とすれば良い。

特にInfo関数の「情報種類」指定文字列は、バトルコンフィグ変数と同名のものもあり、注意が必要です。

以下は、同名のもののリストです。
地形適応 気力 SP 霊力 格闘 射撃 命中 回避 技量 反応 最大HP 最大EN 移動力 装甲 運動性

バトルコンフィグ変数


コメント



*1 バトルコンフィグ変数「ザコ補正」が追加されたのはver 2.2.27なので、それ以前のバージョンでのプレイが想定される場合には注意が必要です。
*2 例えば、一部のコンフィグ対象をSRC本体のシステムフォルダで定義し、残りのコンフィグ対象をシナリオフォルダで定義する。
など、SRC.iniのように両方を利用するいう事はできないということです

*3 耐久は防御力成長オプション非使用時は 100 + 耐久レベル * 5
*4 常に攻撃地形補正が0となるような式を設定した場合、攻撃に使える武器が一つも無いとみなされ、攻撃コマンド自体が表示されなくなります
*5 Info関数の情報種類を表すつもりで使用した「格闘」が、
バトルコンフィグ関数の「格闘」だと認識され、メインパイロットの格闘に置換されてしまうということ