アイテムとスキルの発動設定を拡張するプラグイン – FTKR_ExItemConfig_Activate.js

タイトル
アイテムとスキルの発動設定を拡張するプラグイン
作者名
ヘルプ
-----------------------------------------------------------------------------
概要
-----------------------------------------------------------------------------
本プラグインを実装することで、アイテムやスキルの発動設定を
より詳細に設定できます。

1. 連続回数をJS計算式で設定できます。

2. 成功率をJS計算式で設定できます。

3. 成功判定、命中判定、回避判定の計算処理を変更できます。

4. アイテム/スキル毎に命中率をJS計算式で設定できます。


-----------------------------------------------------------------------------
設定方法
-----------------------------------------------------------------------------
1.「プラグインマネージャー(プラグイン管理)」に、本プラグインを追加して
ください。

2. 本プラグインは、FTKR_SkillExpansion.jsと組み合わせて使用できません。


-----------------------------------------------------------------------------
連続回数の設定
-----------------------------------------------------------------------------
アイテムやスキルに以下のノートタグを追記することで、連続回数の設定ができます。

<EIC 発動設定>
code
</EIC 発動設定>


[code に使用できる項目]
Count: eval
連続回数: 計算式
:連続回数を 計算式(eval) の値に変更します。

Success Rate: eval
成功率: 計算式
:成功率を 計算式(eval) の値に変更します。

Hit Rate: eval
命中率: 計算式
:プラグインパラメータの設定に関わらずに
:命中率を計算式(eval) の値に変更します。

Eva Rate: eval
回避率: 計算式
:プラグインパラメータの設定に関わらずに
:回避率を計算式(eval) の値に変更します。


[計算式(eval) の値について]
計算式(eval)は、ダメージ計算式のように、計算式を入力することで、
固定値以外の値を使用することができます。以下のコードを使用できます。
a.param - 使用者のパラメータを参照します。(a.atk で使用者の攻撃力)
b.param - 対象者のパラメータを参照します。
s[x] - スイッチID x の状態を参照します。
v[x] - 変数ID x の値を参照します。
iv[x] - アイテムのセルフ変数ID x の値を参照します。(1)
BattleManager._repeatCount - 1撃目を 0 として連続回数を参照します。(2)

(1) セルフ変数を使用する場合は、FTKR_ItemSelfVariables.jsが必要です。
(2) 本プラグインが有効であれば、このコードを別のプラグインの
計算式に使用できます。


入力例)
スキルを5回連続で使用するが、1回毎に成功率が10%ずつ下がる。
1回目が100%、2回目は90%、3回目は80%、...となる。
使用者の命中率に+10%の補正を加える。
<EIC 発動設定>
連続回数: 5
成功率: 1 - BattleManager._repeatCount0.1
命中率: a.hit + 0.1
</EIC 発動設定>


-----------------------------------------------------------------------------
連続攻撃中の発動失敗について
-----------------------------------------------------------------------------
以下のプラグインパラメータで設定を変更できます。

<Enabled Repeat Failure>
:連続攻撃中にアイテム/スキルが失敗、命中しない、回避される等すると
:その時点で攻撃をやめるかどうか設定できます。
:0 - 攻撃を続けます, 1 - 攻撃をやめます


-----------------------------------------------------------------------------
発動失敗処理について
-----------------------------------------------------------------------------
MVの標準仕様では、アイテム/スキルの発動失敗(成功率の判定で失敗)した場合は
命中しなかった、という扱いになります。
そのため、バトルログは命中しない場合のメッセージを表示します。

本プラグインでは、成功率の判定を命中率とは別に行い、失敗時のメッセージも
別にすることができます。
以下のプラグインパラメータで設定します。

<Enabled Action Failure>
:発動失敗時の専用メッセージを使用するか設定します。
:0 - 使用しない, 1 - 使用する
:使用するに設定した場合、まず成功率だけで判定を行います。

<Action Failure Message>
:発動失敗時の専用メッセージを設定します。
:%1 は使用者の名前, %2 はアイテム/スキルの名前に変更します。


-----------------------------------------------------------------------------
命中および回避処理について
-----------------------------------------------------------------------------
MVの標準仕様では、アイテム/スキルの命中と回避の処理は以下の流れになっています。

1. 使用者の命中率とアイテム/スキルの成功率を参照して命中するかどうか判定する。
2. 命中判定に成功した場合、対象の回避率を参照して対象が
回避するかどうか判定する。

このため、命中率は100%以上は意味がなく、対象に回避率が有る場合は、
命中率が100%あっても回避される可能性があります。

これに対して、本プラグインでは、命中と回避の処理を変更することができます。
例えば、使用者の命中率から対象の回避率を引く、といった処理に変えることや
命中率と回避率以外のパラメータを使用することができるようになります。

以下のプラグインパラメータで設定します。

<Enabled Custom Hit>
:命中の計算式を変更するか設定します。
:1 にすることで後述の計算式が有効になります。
:なお、アイテム/スキルのメモ欄で命中率の設定をしている場合は
:このパラメータの設定に関わらず、その値を使用します。

<Physical Hit Formula>
<Magical Hit Formula>
:命中の計算式を設定します。
:Physical~ で物理タイプの命中率、Magical~ で魔法タイプの命中率を
:設定します。
:1 に設定すると、必ず命中します。

<Enabled Custom Eva>
:回避の計算式を変更するか設定します。
:1 にすることで後述の計算式が有効になります。

<Physical Eva Formula>
<Magical Eva Formula>
:回避の計算式を設定します。
:Physical~ で物理タイプの回避率、Magical~ で魔法タイプの回避率を
:設定します。
:0 に設定すると、回避されなくなります。


[計算式(eval) の値について]
計算式(eval)は、ダメージ計算式のように、計算式を入力することで、
固定値以外の値を使用することができます。以下のコードを使用できます。
a.param - 使用者のパラメータを参照します。(a.atk で使用者の攻撃力)
b.param - 対象者のパラメータを参照します。
s[x] - スイッチID x の状態を参照します。
v[x] - 変数ID x の値を参照します。
iv[x] - アイテムのセルフ変数ID x の値を参照します。(1)
BattleManager._repeatCount - 1撃目を 0 として連続回数を参照します。

(1) セルフ変数を使用する場合は、FTKR_ItemSelfVariables.jsが必要です。


[設定例]
1. 命中 - 回避にする場合
命中側の処理で、命中 - 回避の計算を行い、回避処理は無視する。
この場合は回避メッセージを表示することはありません。
命中処理
<Enabled Custom Hit> : 1
<Physical Hit Formula> : a.hit - b.eva
<Magical Hit Formula> : 1 - b.mev
回避処理
<Enabled Custom Eva> : 1
<Physical Eva Formula> : 0
<Magical Eva Formula> : 0

2. 命中率が 100%を超えた分を、対象の回避から減らす場合
命中処理(変更しない)
<Enabled Custom Hit> : 0
回避処理
<Enabled Custom Eva> : 1
<Physical Eva Formula> : b.eva - Math.max(a.hit - 1, 0)
<Magical Eva Formula> : b.mev


-----------------------------------------------------------------------------
本プラグインのライセンスについて(License)
-----------------------------------------------------------------------------
本プラグインはMITライセンスのもとで公開しています。
This plugin is released under the MIT License.

Copyright (c) 2017 Futokoro
http://opensource.org/licenses/mit-license.php


-----------------------------------------------------------------------------
変更来歴
-----------------------------------------------------------------------------

v1.0.3 - 2017/06/23 : 不具合修正
1. 回避率の取得処理でエラーが起きる不具合を修正。

v1.0.2 - 2017/05/11 : 不具合修正

v1.0.1 - 2017/04/29 : FTKR_ItemSelfVariables の v1.1.0以降に対応

v1.0.0 - 2017/04/14 : 初版公開

-----------------------------------------------------------------------------
パラメータ
param Enabled Repeat Failure
desc 連続攻撃時に途中で失敗すると攻撃をやめるか
0 - 攻撃をやめない, 1 - 攻撃をやめる
default 0

param Console Display Result
desc 発動結果をコンソール画面に表示するか
0 - 表示しない, 1 - 表示する
default 0

param -- 発動失敗処理 --
desc

param Enabled Action Failure
desc 発動失敗時の専用メッセージを使用するか。
0 - 使用しない, 1 - 使用する
default 0

param Action Failure Message
desc 発動失敗時の専用メッセージ
%1 - 使用者の名前, %2 - アイテム/スキルの名前
default %1は%2の発動に失敗した!

param -- 命中処理 --
desc

param Enabled Custom Hit
desc 命中の計算式を変更するか
0 - 変更しない, 1 - 変更する
default 0

param Physical Hit Formula
desc 変更後の物理の命中計算式
a - 使用者, b - 対象者
default a.hit

param Magical Hit Formula
desc 変更後の魔法の命中計算式
a - 使用者, b - 対象者
default 1

param -- 回避処理 --
desc

param Enabled Custom Eva
desc 回避の計算式を変更するか
0 - 変更しない, 1 - 変更する
default 0

param Physical Eva Formula
desc 変更後の物理の回避計算式
a - 使用者, b - 対象者
default b.eva

param Magical Eva Formula
desc 変更後の魔法の回避計算式
a - 使用者, b - 対象者
default b.mev

ライセンス表記
本プラグインのライセンスについて(License)
本プラグインはMITライセンスのもとで公開しています。
This plugin is released under the MIT License.
Copyright (c) 2017 Futokoro
http://opensource.org/licenses/mit-license.php

紹介ページ https://github.com/futokoro/RPGMaker