身代わりの効果を拡張する【RPGツクールMZ&MVプラグイン】

2023年09月25日

 身代わりの効果を拡張します。


 プラグインパラメータによって、標準の身代わりの挙動を調整できます。
 身代わりを発動した際の演出も挿入することができます。
 ※標準のフロントビューではアクターへの演出は表示できません。

 また、身代わりによる演出の流れが変更されます。
 通常はダメージなどの効果だけを肩代わりする仕様なのですが、当プラグインではスキルの対象そのものを変化させます。
 つまり、アニメーションも身代わりするバトラーに対して表示されます。

 さらにこだわるならば、特徴を持つオブジェクトに対して、身代わりの効果を持った設定をすることができます。

 例えば、「物理攻撃だけをかばうステート」と「魔法攻撃だけをかばうステート」を別々に作成できます。
 

目次


導入方法(Install)

更新履歴(History)

身代わりの設定

スキルのメモ欄

ステートのメモ欄

反撃グループ

プラグインパラメータ(Plugin Parameters)

デフォルトの身代わりに対応(CoverDefaultSubstitute)

身代わりするHP%(SubstituteHpRate)

対象のダメージタイプ(TargetDamageType)

対象の命中タイプ(TargetHitType)

対象のスキルタイプ(TargetSkillType)

単体スキルのみ身代わり(TargetForOneSkill)

アイテムにも身代わり(SubstituteItem)

アニメーション(AnimationId)

Dynamic用スキル(DynamicSkill)

SVモーション優先時間(SvMotionDuration)

ウェイト(Wait)

反撃有効グループ(CounterGroup)

反撃無効グループ(CounterGroupNG)


導入方法(install)


 以下のリンクを右クリックで保存し 、[プロジェクト]\js\plugins に放り込みます。ツクールのプラグイン管理から機能をONにしてください。
 ※このプラグインはMV、MZの両方で有効です。

 NRP_Substitute.js ver1.011(2023/09/25)

更新履歴(History)


2023/09/24 -> 2023/09/25(ver1.01 -> 1.011)

  • スキルの効果範囲を拡張するプラグインにて範囲を拡張したスキルをかばうと、正しく処理されない問題に対処。
    ※リンク先のプラグインも最新化が必要です。
  • <SubstituteDynamicId>で身代わり演出を指定すると、攻撃スキルの一歩前進が実行されない不具合修正。
  • MVにてアニメーション呼び出しするとエラーになる不具合修正。(2023/09/25 ver1.011)

2023/08/27(ver1.00)

  • 公開!

身代わりの設定


 特徴を持つオブジェクト(アクター、エネミー、職業、装備、ステート、スキル)のメモ欄に記載してください。
 ※スキルについては覚えているだけで、発動するパッシブスキルとなります。
 ※各項目は数式も使用可です。


必須項目

<Substitute:50>

 50%の確率で身代わりを実行します。
 省略時(<Substitute>)は100%で発動します。

演出

<SubstituteAnimationId:100>

 100番のアニメーションを身代わり実行者に表示します。

<SubstituteDynamicId:100>

 DynamicAnimation & Motionと連携し、スキル100番の演出を身代わり実行者が実行します。
 ※上述のアニメーションより優先されます。
 ※身代わり側の一歩前進は実行されません。必要ならば、DynamicMotionの記述に追加してください。

<SubstituteWait:30>

 身代わり発動時のウェイト(1/60秒単位)です。

発動条件

<SubstituteHpRate:50>

 HPが50%以下の仲間をかばいます。

<SubstituteDamageType:1,5>

 ダメージタイプ1,5のスキルを身代わりの対象にします。
 0:なし, 1:HPダメージ, 2:MPダメージ, 3:HP回復, 4:MP回復, 5:HP吸収, 6:MP吸収です。
 省略時はプラグインパラメータの設定を使用します。
 空欄にした場合は全て有効となります。

<SubstituteHitType:1>

 命中タイプ1のスキルを身代わりの対象にします。
 0:必中, 1:物理攻撃, 2:魔法攻撃です。
 省略時はプラグインパラメータの設定を使用します。
 空欄にした場合は全て有効となります。

<SubstituteSkillType:0,2>

 スキルタイプ0,2のスキルを身代わりの対象にします。
 スキルタイプはデータベースで設定できます。
 通常だと1は魔法、2:必殺技です。
 また、0は通常攻撃として扱われます。
 省略時はプラグインパラメータの設定を使用します。
 空欄にした場合は全て有効となります。

<SubstituteForOne>

 範囲が単体(+ランダム)のスキルだけを身代わりの対象にします。
 <SubstituteForOne:false>で全てを対象にします。
 省略時はプラグインパラメータの設定を使用します。

<SubstituteItem> / <SubstituteItem:false>

 アイテムに対しても身代わりを実行します。(falseでオフ)
 省略時はプラグインパラメータの設定を使用します。

反撃グループ

<CounterGroupInclude:attack>

 スキルの反撃グループ名が『attack』の場合に身代わりをします。
 ※反撃グループに対しては後述します。

<CounterGroupExcept:attack>

 スキルの反撃グループ名が『attack』の場合に身代わりしません。

スキルのメモ欄


<SubstituteDisabled>

 このスキルを身代わりで受けられないようにします。

<CounterGroup:attack>

 反撃グループを『attack』に設定します。

ステートのメモ欄


<SubstituteDisabled>

 このステートにかかっている間、身代わりを禁止します。

 なお、『行動できない』の行動制約ステートにかかっているバトラーは元から身代わりを実行しません。

反撃グループ


 反撃プラグイン(NRP_CounterSkill.js)との連携に対応し、反撃スキルと身代わりで、反撃グループの設定を共有できます。
 ※このプラグイン単独でも有効です。

 反撃グループはスキル毎の詳細な判定を行いたい場合に有効です。
 例えば、弓スキルは身代わりできないといった設定にしたい場合は、次のように設定すればOKです。

 弓スキルのメモ欄を設定し、反撃グループを『bow』にする。
<CounterGroup:bow>


 次に身代わり用ステートのメモ欄を設定し、反撃グループ『bow』を無効にする。
<CounterGroupExcept:bow>


 逆に弓スキルのみ身代わりの対象とするステートを作成したい場合は、メモ欄に以下のように設定します。
<CounterGroupInclude:bow>


プラグインパラメータ(Plugin Parameters)


デフォルトの身代わりに対応(CoverDefaultSubstitute)

 デフォルトの身代わりも当プラグインで処理するようにします。

身代わりするHP%(SubstituteHpRate)

 仲間のHPがこの%以下になった場合に身代わりを実行します。

対象のダメージタイプ(TargetDamageType)

 身代わり対象とするダメージタイプ。複数可。
 1:HPダメージ, 2:MPダメージ, 3:HP回復, 4:MP回復, 5:HP吸収, 6:MP吸収

対象の命中タイプ(TargetHitType)

 身代わり対象とするスキルの命中タイプ。複数可。
 0:必中, 1:物理攻撃, 2:魔法攻撃

対象のスキルタイプ(TargetSkillType)

 身代わり対象とするスキルタイプ。複数可。
 標準だと0:通常攻撃. 1:魔法, 2:必殺技となります。

単体スキルのみ身代わり(TargetForOneSkill)

 範囲が単体のスキルのみ身代わり対象とします。

アイテムにも身代わり(SubstituteItem)

 アイテムにも身代わりを実行します。

アニメーション(AnimationId)

 身代わり発動時に実行するアニメーションです。

Dynamic用スキル(DynamicSkill)

 身代わり発動時に実行するDynamicAnimation&Motionのスキルです。
 ※DynamicAnimation&Motionの導入が必須です。
 アニメーションより優先度が高いです。

SVモーション優先時間(SvMotionDuration)

 身代わり発動時のSVモーションを指定時間(1/60秒単位)だけ優先して実行します。
 空欄なら下のウェイトを使用します。

 ※身代わり演出を実行するバトラーはすぐに敵のスキルの対象にもなるため、同時に2つのモーションの対象になってしまう可能性があります。
  そこで時間を制限して優先順位を付けている次第です。


ウェイト(Wait)

 身代わり発動時のウェイトです。1/60秒単位。

反撃有効グループ(CounterGroup)

 身代わり処理の有効な反撃グループです。

反撃無効グループ(CounterGroupNG)

 身代わり処理の無効な反撃グループです。

 >RPGツクールMZ&MV目次に戻る
posted by 砂川赳 at 21:53 | RPGツクールMZ&MV | このブログの読者になる | 更新情報をチェックする