身代わり拡張プラグイン – SubstituteExtend.js

タイトル
身代わり拡張プラグイン
作者名
ヘルプ
身代わりの仕様を変更します。
まずRPGツクールMV本体の身代わり仕様について説明します。
・身代わりする側
  生存している
  行動制約『行動できない』のステートに掛かっていない
  特徴『身代わり』を保持している
・身代わりされる側
  瀕死(HPが1/4以下)
  身代わりする側と同一バトラーでない
・身代わりが発動するスキル
  命中タイプが『必中』でない
・身代わりの優先度
  パーティの先頭から順番に『身代わりするバトラー』を判定
・勘違いされやすい仕様
  行動制約『〇〇を攻撃』のステートに掛かっていても身代わり可能
  スキルの『範囲』およびスキルの使用者は、身代わり判定とは一切関係ない
  (命中タイプが必中でないと回復や防御にも身代わりが発動する)
  判定は一度だけなので、以下のケースでは身代わりは発動しない
   ・1番目と2番目のバトラーが身代わり可能
   ・1番目のバトラーが身代わり対象

1. デフォルトの身代わり条件である以下を無効化できます。
・瀕死(HPが1/4以下)
・命中タイプが『必中』でない
・行動制約『行動できない』のステートに掛かっていない

なお「命中タイプが『必中』でない」の条件を外すと、防御など無関係の
スキルに対しても無差別に身代わりが発動するようになります。
注意して設定してください。

2. 身代わりの詳細な発動条件を細かく設定できます。
特徴を有するデータベースのメモ欄に、以下の通り記述してください。
メモ欄の「全ての条件」を満たした場合に身代わりが発動します。
基本的に「特徴」の「身代わり」とセットで記述します。

なお、特徴を有するデータベースのメモ欄とは
アクター、職業、武器、防具、ステート、敵キャラのいずれかのメモ欄です。

<SE_実行者HP率:50> # 実行者のHPが50%以上のときのみ発動します。
<SE_SubjectHPRate:50> # 同上
<SE_対象者HP率:50> # 対象者のHPが50%以下のときのみ発動します。(※1)
<SE_TargetHPRate:50> # 同上
<SE_身代わり対象限定:1> # 身代わりの対象者を[1]に限定します。(※2)
<SE_TargetRestriction:1> # 同上
<SE_身代わりスイッチ:4> # スイッチ[4]がONのときのみ発動します。
<SE_SubstituteSwitch:4> # 同上
<SE_身代わり計算式:f> # 計算式[f]の結果がtrueのときのみ発動します。(※3)
<SE_SubstituteFormula:f> # 同上

※1 パラメータからデフォルトの身代わり条件である「瀕死」を
無効にした場合のみ判定します。

※2 <SE_身代わり対象限定:n>のタグの対象者を設定したい場合、
特徴を有するデータベースのメモ欄に以下の通り記述します。

<SE_身代わり対象者:1> # <SE_身代わり対象限定:1>の対象になります。
<SE_SubstituteTarget:1> # 同上

「身代わり対象限定」で指定したパラメータと一致する場合に身代わり対象になります。
例えば、メモ欄に<SE_身代わり対象限定:2>と記入した場合、同じくメモ欄に
<SE_身代わり対象者:2>と記入されている特徴を持つアクターに対してのみ
身代わりを実行します。

※3 上級者向け機能です。
また、計算式中で不等号を使いたい場合、以下のように記述してください。
< → &lt;
> → &gt;

例:<SE_身代わり計算式:\v[2] &gt; 3> # 変数[2]が[3]より大きい場合、発動します。

計算式中では「action」で対象スキルのActionオブジェクトを参照できます。
うまく利用すれば身代わりが発動するスキルを細かく限定できます。

以下が記入例です。
<SE_身代わり計算式:action.isAttack()> # 通常攻撃のみ身代わり発動
<SE_身代わり計算式:action.isPhysical()> # 物理攻撃のみ身代わり発動
<SE_身代わり計算式:action.isForOne()> # 単体対象のみ身代わり発動

3. 身代わり発動時に、指定したIDのスキル効果を身代わり実行者に
適用させることができます。
<SE_身代わりスキルID:5> # 身代わり発動時にスキル[5]を実行者に適用。(※1)
<SE_SubstituteSkillId:5> # 同上

※1 ダメージポップアップやアニメーション等の演出は表示されません。

4. 身代わりを無効にするスキルを個別指定できます。
スキルもしくはアイテムのメモ欄に以下の通り指定してください。
<SE_身代わり無効>
<SE_SubstituteInvalid>

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

利用規約:
作者に無断で改変、再配布が可能で、利用形態(商用、18禁利用等)
についても制限はありません。
このプラグインはもうあなたのものです。
パラメータ
param 身代わり条件_瀕死
desc デフォルトの身代わりされる条件である「瀕死」を有効にします。OFFにすると無効になります。(ON/OFF)
default true
type boolean

param 身代わり条件_必中以外
desc デフォルトの身代わり条件である「必中以外」を有効にします。OFFにすると無効になります。(ON/OFF)
default true
type boolean

param 身代わり反撃
desc 身代わりの判定仕様を変更し、身代わり後の反撃や魔法反射が有効になります。
default false
type boolean

param 混乱時の身代わり無効
desc 混乱(行動制約が「〇〇を攻撃」のステート)状態の場合、身代わりの発動を無効化します。
default false
type boolean

param 行動不能時の身代わり有効
desc 行動不能(行動制約が「行動できない」のステート)状態の場合でも、身代わりの発動を有効化します。
default false
type boolean

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

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