「攻撃で付与されるステート」の解説
拙作SRPG Studio用素材集に収録されているプラグイン「攻撃で付与されるステート」の使い方の解説です。
同ファイルに書いてある説明文が自分で読み返していてあまりにも意味不明だったのでこのページで図解付きで解説します。
前準備
このプラグインはベルウィックサーガの「軽症」「戦闘不能」の再現を目的として作られていますので、
素材と設定もその前提で用意します。
画像とエフェクト
- SRPG Studio用素材集のオリジナル→iconフォルダに収録されている「十字」
- SRPG Studio用素材集のオリジナル→effect→saniに収録されているフキダシ「緑十字」「赤十字」
(saniファイルはSRPG Studioのトップ画面に直接ドロップしてください)
データ設定
- ステートに「軽症」「戦闘不能」を上記で用意した素材を使って作ります。
- この時、「軽症」「戦闘不能」のIDを覚えておく。今回はID:3の軽症とID:4の戦闘不能。
プラグイン
SRPG Studio用素材集のRTP改変→plugin→ステート関連プラグインフォルダに収録されている
「攻撃で付与されるステートver3.js」をプロジェクトのpluginフォルダに入れてテキスト編集ツールで開きます。
冒頭に訳のわからねえ長文が書いてありますがとりあえず飛ばしてください。
すると70行目あたりで以下の箇所が見つかると思います。
付与されるステートの数
var State_number = 2;
付与されるステートのID
var State_id = [0,1];…
これらがこのプラグインの基本的な設定を行う部分であるため、次の項目で順を追って解説しますが、
その前にそこから更に下にある処理の中の全てのroot.logのコメントアウト(//)を外しておくと
動作確認の時にその時点の処理での累積付与確率が表示されて分かりやすいです。
プラグインの設定
付与されるステートの数
これは読んで字の通りなので「2」のままにしてください。
付与されるステートのID
ここにはこのプラグインの処理で付与される可能性があるステートのIDを入力します。
上記の通り、今回はID:3の軽症とID:4の戦闘不能なので
var State_id = [3,4];
と入力します。
付与されるステートの基礎付与確率
ここにはユニットの攻撃が敵に命中した際の基礎付与確率を入力します。
最初に入力されている数値は[5,1]になっているので、
特に補正が無ければ軽症が5%、戦闘不能が1%の確率で付与されます。
state_resist_a所持時の付与確率減算数値
state_resist_b所持時の付与確率減算数値
攻撃を受ける側のユニットが特定の
カスタムスキルを所持していた時に変動する確率の度合いを設定します。
ここはファイル内の解説の通り、
強健スキルを想定したaは軽症・戦闘不能の両方の付与確率が-1000されるので絶対に軽症・戦闘不能状態にならず、
虚弱スキルを想定したbは軽症確率になる確率が25%、戦闘不能になる確率が10%上昇します。
state_resist_c所持時の付与確率減算数値
state_resist_d所持時の付与確率減算数値
こちらは逆に攻撃する側のユニットが特定のカスタムスキルを所持していた時に変動する確率の度合いを設定します。
cは軽症確率を付与する確率が25%上昇し、dは戦闘不能を付与する確率が10%上昇します。
クリティカル時の付与確率係数
クリティカル攻撃時に付与確率にかける係数を設定します。
通常時が100とするなら2倍にする場合は200、2.5倍にする場合は250と入力します。
デフォルトではクリティカル時に軽症・戦闘不能ともに2倍の付与確率になります。
HP減少率による付与確率追加
攻撃された側のユニットがダメージを受けた後のHPの減り具合で付与確率を上げます。
デフォルトではダメージを受けた後の残りHPが50%であれば軽症になる確率は12%、戦闘不能になる確率は5%上昇します。
ダメージによる付与確率追加
攻撃された側のユニットがその時受けたダメージの大きさで付与確率を上げます。
受けたダメージ÷そのユニットの最大HPで割り出された割合分この数値が上昇します。
デフォルトではそのユニットの最大HPの50%分のダメージが入ったとして、軽症になる確率は20%、戦闘不能になる確率は7%上昇します。
動作確認
テストプレイ起動時のデバッグタブからコンソールの表示をオンにするとゲーム画面の隣にコンソールが表示され、
プラグイン中のlogのコメントアウトを抜いていた場合、攻撃実行時に付与確率が表示されるようになります。
上記はナッシュが最大HP20の敵に11ダメージを与えているため、
HP減少率補正で13%、ダメージ割合補正で22%分軽症の付与確率が上昇し、軽症状態が付与されているのが分かります。
また、軽症状態が付与されたため、戦闘不能判定がキャンセルされて飛ばされているのも分かります。
(下記のenemy_no_injuryがtrueに設定されているため)
もっと詳しい設定を行う
武器・ステート補正
武器とステートの
カスタムパラメータに
{state_attack:[20,0]}のように入力しておくことで、
攻撃側が該当する武器を使用したり、防御側に該当するステートが付与されている時に付与確率が変動します。
武器のカスタムパラメータに入力された値が[20,0]であればその武器の攻撃が命中した時に軽症状態を付与する確率が20%上昇します。
また、ステートの軽症のカスタムパラメータの値に[0,30]と入力しておくことで軽症状態の時は戦闘不能になる確率が30%上がるようになります。
ここで設定したカスタムパラメータはこのままだとゲーム中で表示されないのでその武器かステートの説明に書いておくか、
または武器やステートのヘルプに付与確率を表示させたい場合は他の方のプラグインを使って頑張ってください。
陣営による付与判定の調整と細かい仕様
難易度設定のカスタムパラメータに以下のように入力します。
{player_injury:false,enemy_no_injury:false}
player_injuryはtrueであれば自軍かつ攻撃を受けた後の残りHPが75%以上の時は付与判定が発生しなくなります。
enemy_no_injuryはtrueであれば敵軍であっても軽症状態が付与された後の戦闘不能判定がキャンセルされることで、
軽症ステートが付与された状態=設定次第で戦闘不能の付与確率が上昇している状態での戦闘不能の判定が軽症が付与された攻撃では行われなくなります。
上記2つの設定はカスタムパラメータが入力されていない難易度の場合はtrueとして扱われます。
下記は細かい仕様。
- 自軍、同盟軍では軽症付与後の戦闘不能判定は起こらない
(起こしたい場合は300行目辺りのif (passive.getUnitType() !== UnitType.ENEMY){~の判定を削除すること)
- リーダー、サブリーダーの敵軍も軽症付与後の戦闘不能判定が起こらない
- ただし攻撃後の残りHPが5以下になるユニットは上記の仕様を無視して軽症付与後の戦闘不能判定が行われる
(この部分を変更したい場合は300行目辺りのif(hp <= 5) {~をいじること)
最終更新:2019年04月19日 08:55