狙われ率が最大値よりも一定値以上低い場合は、狙われ率を0%と見なすプラグインを作成しました。
敵の攻撃対象を自分に集中させる、いわゆる「挑発」のスキルをきちんと実装する際に、必要となったので作りました。
RPGツクールMV/MZ、どちらにも対応しています。
「挑発」スキルと「狙われ率」
作品によって「挑発」や「仁王立ち」など様々な呼び名がありますが、いわゆるタンク役(盾役)の持つスキルで、敵の攻撃を自分に引きつける特技があります。
RPGツクールには「特殊能力値」の一つとして「狙われ率」というパラメータがあります。作品によっては「ヘイト値」などと呼んだりもしますが、敵からの攻撃の対象になりやすさを表す指標で、この値が大きいメンバーほど敵の攻撃のターゲットにされやすくなります。
RPGツクールで「挑発」スキルを実装するには、この「狙われ率」を上昇させてやればよく、一般的には「狙われ率」が上昇する特徴を持ったステートを作成して、そのステートを付与するスキルを作成することで、簡単に実現できます。
ただ、こうして作成した挑発スキルは、完璧ではありません。
狙われ率の計算法
RPGツクールの標準機能では、敵からのランダムな攻撃対象のターゲットとなる確率は、以下の式によって算出されます。
自分の狙われ率 ÷ パーティーメンバー全員の狙われ率の合計
例えば、4人パーティーで各メンバーの狙われ率がそれぞれ、200%、150%、100%、50%だった場合、4人の狙われ率の合計は500%となります。すなわち各メンバーの実際の狙われ率は、40%、30%、20%、10%となります。
今ここで、狙われ率200%のメンバーが挑発スキルを使用し、狙われ率を特徴で付与できる最大倍率である10倍(*1000%)にすると、各人の狙われ率は2000%、150%、100%、50%となります。
これで実際の狙われ率を再計算すると、分母は2300%となるため、それぞれ約87%、6.5%、4.3%、2.2%となり、明らかに1人目のメンバーにターゲットが向かいやすくなることが分かります。
しかし、よくよく考えてみると、13%の確率で本人以外のメンバーに攻撃が当たってしまう計算になります。回数に直すと、8回に1回以上の確率であり、これは思ったよりも高い確率だという印象です。
「特徴」は重ねがけができるので、「狙われ率*1000%」の特徴を複数付けて、100倍、1000倍としてやれば、流れ弾が当たる確率を限りなく小さくすることは可能です。しかし、どんなに小さくてもゼロにすることはできません。
そこで、それを解消するプラグインを作成しました。
狙われ率改良プラグイン
このプラグインを使用すると、パーティー内のメンバーの狙われ率の最大値より、一定値以上に低い狙われ率は、狙われ率0%として扱われます。
デフォルトではこの閾値は500%としています。前述の状態であれば最大値の2000%より500%以上低い狙われ率、すなわち1500%以下の狙われ率は0%と見なされるため、挑発状態では1人目以外に攻撃が向くことはありません(もちろん全体攻撃は別)。
閾値はプラグインパラメータで任意に指定することが可能です。
通常は閾値はデフォルトの500%、挑発スキル使用時の狙われ率上昇は×1000%で十分かと思いますが、同時に複数人が挑発スキルを使ったり、隊列や装備品等で狙われ率が細かく変化するようなシステムの場合は、閾値や上昇倍率を適切に調整してやる必要があるかもしれません。
試行錯誤の履歴
当初はプラグインを使わず、狙われ率×0%のステートを作成して、コモンイベントで使用者本人以外の狙われ率を0%にする方法を考えていました。
しかし、いざ実装してテストプレイしてみたところ、挑発していた人が戦闘不能になった場合に、他のメンバーの狙われ率が0%のままになるため、敵のターゲットが正しくランダムにならず、先頭のメンバーに攻撃が集中してしまいました。
これを解消するには、常に状況を監視して、挑発していた人が戦闘不能になったら、それ以外の人の狙われ率0%を解除するといった、かなり面倒なことをしなければなりません。
それだったら、素直に狙われ率の仕様を改良するプラグインを作った方がいい、ということで作ったプラグインです。
本プラグインの応用
基本は「挑発」スキルで他のメンバーに被弾しないようにするための、限定した用途のプラグインですが、他にも応用が可能かと思います。
例えば特定のイベント戦闘において、敵の特定の攻撃だけは必ず主人公がターゲットになるようにしたい場合、その行動をするターンのみ主人公の狙われ率を上げておけば、敵の攻撃は必ず主人公に当たるようになります。
その他、狙われ率というと味方にのみ関係あるパラメータのように感じますが、敵にも狙われ率自体は存在しており、敵の回復魔法や補助スキルなど味方にかける技の対象を選択する際にも参照されます。特に指定されていなければ敵キャラの狙われ率は全て100%なので、普段は完全ランダムでターゲットが選ばれているように見えます。
例えば敵が回復魔法を使う際にHPが最も消耗している敵の狙われ率を上げてやったり、防御力アップの魔法を使う際に防御力がアップしていない敵の狙われ率を上げてやったりすることで、敵の行動をより賢いものにすることができると思います。
それ以外にもいろいろと応用は利くと思います。
質問やアドバイスなどはコメント欄まで、お気軽にお願いします。素材利用条件などについては、このサイトについての「提供素材について」の項目などをご覧ください。