反撃拡張プラグイン – CounterExtend.js

タイトル
反撃拡張プラグイン
作者名
ヘルプ
反撃の仕様を拡張します。
魔法に対する反撃や、特定のスキルを使った反撃、
特定の条件下でのみ発動する反撃などが作成できます。

具体的な機能詳細は以下の通りです。

機能詳細

1. 魔法攻撃を受けた場合もカウンターが発動するようになります。
特徴を有するメモ欄(※1)に以下の通り入力してください。

<CE_魔法反撃:50> # 魔法攻撃を受けた場合に50%の確率で反撃します。
<CE_MagicCounter:50> # 同上

※1 アクター、職業、武器、防具、ステートが該当します。

数値を指定しない場合は、物理攻撃と同様の反撃率が適用されます。

<CE_魔法反撃> # 魔法攻撃を受けた場合にもともとの反撃率で反撃します。
<CE_MagicCounter> # 同上

2. 反撃時のスキルを個別に設定することができます。
特徴を有するメモ欄に以下の通り入力してください。

<CE_反撃スキルID:\v[1]> # 反撃時に変数[1]のIDのスキルを使用します。
<CE_CounterSkillId:\v[1]> # 同上
<CE_魔法反撃スキルID:3> # 魔法反撃時にID[3]のスキルを使用します。
<CE_MagicCounterSkillId:3> # 同上

反撃スキルは、通常は攻撃してきた相手をターゲットとしますが
味方対象のスキルなどは自分や味方に対して使用します。

IDに[0]を指定すると、相手が攻撃してきたスキルで反撃します。

3. 反撃条件をJavaScript計算式の評価結果を利用できます。
反撃条件を満たさない場合は反撃は実行されません。
特定のスキルに対してのみ反撃したり、特定の条件下でのみ反撃したりできます。
特徴を有するメモ欄に以下の通り入力してください。

<CE_反撃条件:v(1) &lt; 100> # 変数[1]が100より小さければ反撃します。
<CE_CounterCond:v(1) &lt; 100> # 同上(※2)
<CE_魔法反撃条件:s(1)> # スイッチ[1]がONなら魔法反撃します。
<CE_MagicCounterCond:s(1)> # 同上

実行したスキルの情報はローカル変数「skill」で参照できます。
また、アクションオブジェクトはローカル変数「action」で参照できます。
<CE_反撃条件:skill.id === 10> # スキルIDが[10]なら反撃します。
<CE_反撃条件:action.hasElement(3)> # スキル属性IDが[3]なら反撃します。

対象のバトラー情報は「this」で、相手のバトラー情報は「target」で参照できます。
<CE_反撃条件:this.hpRate() &lt; 0.5> # 自分のHPが50%を下回ると反撃します。

※2 文章、スクリプト中で不等号を使いたい場合、以下のように記述してください。
< → &lt;
> → &gt;

4. 複数の反撃スキルおよび反撃条件を設定できます。
複数定義する場合は、末尾に「_n」を付与してください。
<CE_反撃スキルID:4> # スイッチ[1]がONならスキルID[4]で反撃
<CE_反撃条件:s(1)> #
<CE_反撃スキルID_1:5> # スイッチ[2]がONならスキルID[5]で反撃
<CE_反撃条件_1:s(2)> #
<CE_反撃スキルID_2:6> # スイッチ[3]がONならスキルID[6]で反撃
<CE_反撃条件_2:s(3)> #

複数の条件を一度に満たした場合は、インデックスの小さい方が
優先して使用されます。

5. 反撃実行時に専用のアニメーションIDを再生します。
特徴を有するメモ欄に以下の通り入力してください。
<CE_反撃アニメID:20> # 反撃実行前にアニメーション[20]を再生します。
<CE_CounterAnimationId:20> # 同上

6. 反撃成功時に相手の行動をキャンセル(中断)できます。
相手が全体攻撃のスキルを使った場合に、反撃成功時点で以降の相手には
当たらなくなります。特徴を有するメモ欄に以下の通り入力してください。
<CE_キャンセル> # 反撃成功時に相手の行動をキャンセル
<CE_Cancel> # 同上

7. デフォルトの反撃とは異なり、攻撃を受けてから反撃させることができます。
特徴を有するメモ欄に以下の通り入力してください。
<CE_クロスカウンター> # 相手の攻撃を受けてから反撃します。
<CE_CrossCounter> # 同上
※クロスカウンターはスキルによる反撃の場合のみ有効です。

クロスカウンターの発動条件を設定できます。
<CE_クロスカウンター条件:1> # 相手の行動が当たった場合のみ反撃
<CE_CrossCounterCond:1> # 同上
0 : 常に
1 : 相手の行動が当たった場合のみ
2 : 相手の行動が外れた場合のみ

8. スキルに対して個別に反撃のされやすさを設定できます。
スキルのメモ欄に以下の通り入力してください。
<CE_反撃増減:50> # 相手の反撃確率が50%増加する
<CE_反撃増減:-100> # 相手の反撃確率が100%減少する
※確率は元の値に乗算ではなく加算(減算)となります。

9. コスト不足で反撃が失敗した場合、任意のステートを解除できます。
<CE_ステート解除:1> # コスト不足で反撃が失敗するとステート[1]が解除
<CE_StateClear:1> # 同上

※ パラメータ「戦闘行動強制による反撃」による動作の違い
パラメータ「戦闘行動強制による反撃」を有効にすると以下の動作となります。
1. クロスカウンターが動作する
2. 反撃スキルに設定した「効果範囲」および「連続回数」が有効になる
3. 複数回行動する敵の場合、敵の全行動が終わってから反撃する

逆に無効にすると以下の動作となります。
1. クロスカウンターが動作しない
2. 反撃スキルに設定した「効果範囲」および「連続回数」が無視される
3. 複数回行動する敵の場合、敵の行動ごとに反撃を実行する

このプラグインにはプラグインコマンドはありません。

利用規約:
作者に無断で改変、再配布が可能で、利用形態(商用、18禁利用等)
についても制限はありません。
このプラグインはもうあなたのものです。
パラメータ
param PayCounterCost
text 反撃コスト消費
desc 固有スキルによる反撃がコスト消費するかどうかを設定します。(ON/OFF)
default false
type boolean

param FailureCostShortage
text コスト不足で失敗
desc 固有スキルによる反撃がコスト不足もしくは封印されている場合、反撃は行いません。(ON/OFF)
default false
type boolean

param UsingForceAction
text 戦闘行動強制による反撃
desc 戦闘行動の強制によって反撃を実現します。通常はONで、希望通りの動作をしない場合は試してみてください。
default true
type boolean

param EraseStateTiming
text ステート解除タイミング
desc 反撃後にメモ欄で指定したステートを解除できます。メモ欄の指定がなければ解除されません。
default 0
type select
option 失敗した場合(コスト不足により)
value 0
option 成功した場合
value 1
option 常に
value 2

ライセンス表記
作者に無断で改変、再配布が可能で、利用形態(商用、18禁利用等)
(C)2016 Triacontane
This software is released under the MIT License.
http://opensource.org/licenses/mit-license.php

紹介ページ https://github.com/triacontane/RPGMakerMV/blob/master/CounterExtend.js