反撃スキルを作成する【RPGツクールMZ&MVプラグイン】

2025年08月27日

 反撃として発動するスキルを作成できます。


 アクター、エネミー、職業、装備、ステート、スキルのそれぞれに対して、反撃を行う特徴として設定できます。
 スキルについては覚えているだけで、反撃するパッシブスキルとなります。

 反撃系プラグインは処理が非常に複雑なので、外部の反撃系プラグインと当サイトのプラグイン(DynamicMotion、CTB、連結スキルなど)を組み合わせると競合が起きやすいです。
 当プラグインはそういった問題が起きないように実装されています。
 

目次


導入方法(Install)

更新履歴(History)

反撃の設定

スキルのメモ欄

ステートのメモ欄

反撃グループ

DynamicAnimation & Motionとの連携

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

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

対象の命中タイプ(TargetHitType)

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

回避時の反撃判定(CounterEvadeCondition)

アイテムにも反撃(CounterItem)

連撃時の判定(ComboJudgeType)

MPTPを消費しない(NoMpTpCost)

スキルの使用判定を無視(IgnoreSkillConditions)

対象死亡時は中断(AbortTargetDeath)

仲間のスキルにも反撃(CounterFriendSkill)

デフォルトの反撃処理を上書(CoverDefaultCounter)

反撃有効グループ(DefaultCounterGroup)

反撃無効グループ(DefaultCounterGroupNG)

100%超えに対応(SupportOver100)


導入方法(install)


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

 NRP_CounterSkill.js ver1.052(2025/08/27)

更新履歴(History)


2025/01/15 -> 2025/08/27(ver1.05 -> 1.052)

  • ターン制において、反撃したバトラーの行動が終了してしまう不具合修正。
  • 範囲が味方のスキルで反撃する際、ヒット数分の反撃を実行してしまう不具合修正。(2025/02/24 ver1.051)
  • スキルの結果計算を演出より先に実行するプラグインとの競合対策用に微調整。(2025/08/27 ver1.052)

2024/08/13 -> 2024/12/04(ver1.04 -> 1.041)

  • 範囲が仲間のスキルを反撃で敵にかけてしまう不具合修正。
    ※範囲が仲間の場合は自分を対象とします。
  • <CounterSkill>の値を0にした場合は反撃しないようにした。
    例えば、数式を使えば条件によって反撃を不発させることができます。
  • 反撃有効グループ、反撃無効グループがデフォルトの反撃処理以外にも適用されてしまう不具合修正。
  • 反撃実行者をBattleManager._counterSubjectで取得できるようにした。(上級者向け)(2024/12/04 ver1.041)

2024/01/18 -> 2024/07/13(ver1.03 -> 1.031)

  • DynamicMotion併用時、反撃後にアクターが一歩前進してしまう不具合修正。
  • DynamicMotionの不死身ステート併用時、HPが0になったバトラーは反撃を発動しないようにした。(2024/07/13 ver1.031)

2023/10/23(ver1.02)

  • 味方のパーティアタックに対して反撃すると、敵を狙ってしまう不具合を修正。
  • それに伴い、味方に対しても反撃するかを設定可能にした。
    ※味方へ反撃するにはNRP_PartyAttack.jsが必要です。
  • 反撃グループに数式を適用できるように修正。

2023/10/04(ver1.01)

  • CounterGroupExcept、CounterGroupIncludeに文字列を設定すると、エラーになる不具合修正。

2023/08/20 -> 2023/08/27(ver1.00 -> 1.001)


反撃の設定


 アクター、エネミー、職業、装備、ステート、スキル、アイテムのメモ欄に、反撃スキルの設定を行います。
 ※各項目は数式も使用可です。

<CounterSkill:100>

 スキル100番を反撃として実行するようになります。
 数値を省略(<CounterSkill>)した場合は通常攻撃で反撃します。

 数式と組み合わせれば、複雑な条件で反撃させることも可能です。
 例えば、<CounterSkill:a.hpRate() <= 0.5 ? 1 : 0>ならば、HPが50%以下の時のみ通常攻撃で反撃します。

<CounterRate:50>

 反撃スキルを50%の確率で発動します。
 省略すると100%になります。

<CounterDamageType:1,5>

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

<CounterHitType:1>

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

<CounterSkillType:0,2>

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

<CounterEvadeCondition:0>

 スキルの、命中/回避による反撃発動条件を設定します。
 0:常に反撃, 1:命中時のみ反撃, 2:回避時のみ反撃
 省略時はプラグインパラメータの設定を使用します。

<CounterGroupInclude:attack>

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

<CounterGroupExcept:attack>

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

<CounterItem> / <CounterItem:false>

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

<CounterAbortDeath> / <CounterAbortDeath:false>

 対象死亡時に反撃スキルを停止します。(falseでオフ)
 省略時はプラグインパラメータの設定を使用します。

スキルのメモ欄


 スキル(およびアイテム)のメモ欄に指定してください。

<CounterGroup:attack>

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

<CounterDisabled>

 このスキルでは反撃を受けないようにします。

ステートのメモ欄


<CounterIgnoreRestrict>

 通常、行動制約ステートにかかっているバトラーは反撃を実行しませんが、例外的に反撃を実行できるようになります。
 攻撃系の行動制約のみが有効です。

反撃グループ(Counter Group)


 スキル毎の詳細な反撃判定を行いたい場合は反撃グループが有効です。
 例えば、弓スキルはトゲステートによる反撃を受けないといった場合は次のように設定すればOKです。

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


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


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


 なお、反撃グループを設定した場合でも、スキルタイプなどの条件は有効なままです。ご注意ください。

DynamicAnimation & Motionとの連携


スキルのメモ欄に以下のように条件を指定すれば、
反撃時のみ専用の演出を挿入できます。
<D-Animation:self&wait>
condition = BattleManager.isInCounter(); // 反撃用の条件
id = 52 // アニメーションID
</D-Animation>


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


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

 反撃対象とするダメージタイプ。複数可。
 0:なし, 1:HPダメージ, 2:MPダメージ, 3:HP回復, 4:MP回復, 5:HP吸収, 6:MP吸収

対象の命中タイプ(TargetHitType)

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

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

 反撃対象とするスキルタイプです。複数可。
 標準だと0で通常攻撃、2で必殺技が対象になります。

回避時の反撃判定(CounterEvadeCondition)

 スキルが命中/回避された際に、反撃スキルを実行するかの判定です。

アイテムにも反撃(CounterItem)

 アイテムにも反撃を実行します。

連撃時の判定(ComboJudgeType)

 連撃を受けた際の判定方法です。
 『毎回』なら連撃回数だけ反撃率が上がります。

MPTPを消費しない(NoMpTpCost)

 反撃スキル発動時にMPTPを消費しません。

スキルの使用判定を無視(IgnoreSkillConditions)

 反撃時にスキルの使用判定(沈黙ステートなど)を無視します。

対象死亡時は中断(AbortTargetDeath)

 対象死亡時は以降の反撃スキルを発動しません。

仲間のスキルにも反撃(CounterFriendSkill)

 仲間のスキルへ反撃するかどうかです。
 ※本来と異なるサイドへ反撃するには、NRP_PartyAttack.jsが必要です。

デフォルトの反撃処理を上書(CoverDefaultCounter)

 デフォルトの反撃(追加能力値の反撃率)も当プラグインで処理するように上書きします。

 デフォルトの反撃処理は攻撃を完全回避した上で、動作の終了を待たずに反撃する仕様なのでクセが強いです。そこで、当プラグインの処理に置き換えることでオーソドックスな反撃処理に変更します。
 なお、攻撃を完全回避する仕様はなくなります。

反撃有効グループ(DefaultCounterGroup)

 デフォルトの反撃処理の有効な反撃グループです。

反撃無効グループ(DefaultCounterGroupNG)

 デフォルトの反撃処理の無効な反撃グループです。

100%超えに対応(SupportOver100)

 反撃率が100%を超えた場合に、反撃を複数回実行します。
 つまり反撃率が150%だと、1回確実に反撃した後、50%でもう一撃加えます。

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

イベントトリガーの挙動を調整【RPGツクールMZ&MVプラグイン】

 不具合の原因となりやすいイベントトリガーの挙動を調整します。

 機能は以下の2つです。
 プラグインパラメータによる切り替えも可能です。

イベントから接触を厳密に

 トリガーが『イベントから接触』の際、移動中のプレイヤーに対して、イベントが起動する判定を調整します。


 例えば、上記の動画はシンボルエンカウントを想定しています。
 プレイヤーが階段へと一歩踏み出した瞬間に敵シンボルがぶつかってきた場合、ツクールの仕様では敵イベントのほうが優先的に実行されてしまいます。
 結果、階段イベントが実行されないまま、その上に乗ってしまう可能性があります。この仕様は重大な不具合を引き起こしかねません。
 ※何度か実験しましたが、遅れて階段イベントが実行されることもあれば、完全に無視されることもあったりと挙動が安定しません……。

 そこで当機能では『イベントから接触』の実行を遅らせることで、足元のイベントを先に実行させます。これにより、シンボルエンカウントの作品において、足元のイベントが適切に実行されない問題に対処できます。
 ※仕様上、イベントとの接触をやや回避しやすくなります。

決定ボタンによる接触無効

 トリガーが『プレイヤーから接触』『イベントから接触』のイベントに対して、決定ボタンでの起動を禁止します。


 例えば、上記は『プレイヤーから接触』の橋に接触した際に、船をすり抜けで移動させることで自然に見せかけています。あくまで移動の一環として見せたいため、決定ボタンでは起動しないようにしています。

 接触系のイベントを決定ボタンで起動できるのは、わりと気づきにくい仕様です。
 しかしながら、接触を前提にしてイベントを組んでいる場合は、不自然な挙動になりがちです。

 加えて、イベントコマンドの条件分岐では決定ボタンで起動されたことを判定する方法はありません。
 「決定が押されている」という判定はありますが、ボタンを押しっぱなしで接触した場合も含まれてしまいます。

 というわけで、決定ボタンでの起動を禁止できるようにしました。

すり抜け衝突の禁止

 プライオリティが『通常キャラと同じ』かつトリガーが『プレイヤーから接触』『イベントから接触』のイベントをすり抜けにした際、他のイベントと重なっているときのみ起動できてしまう挙動を修正します。


 ※上記の動画は修正前の挙動です。すり抜け状態になったイベントの内容が、イベント同士が重なっている場合に実行されてしまうことが分かると思います。

 仕様上、決定ボタンによる接触無効と同時にオンにしたほうが自然です。

目次


導入方法(Install)

更新履歴(History)

【MZ】プラグインコマンド(Plugin Commands)

足元イベントの確認(CheckStepsEvent)

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

イベントから接触を厳密に(StrictEventTouch)

決定ボタンによる接触無効(DisableDecisionTouch)

すり抜け衝突の禁止(DisableThroughCollision)


導入方法(install)


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

 NRP_TriggerSetting.js ver2.03(2025/08/27)

更新履歴(History)


2025/08/27(ver2.03)


2025/03/29(ver2.02)


2024/09/19(ver2.01)

  • プライオリティが『通常キャラと同じ』かつトリガーが『プレイヤーから接触』『イベントから接触』のイベントをすり抜けにした際、他のイベントと重なっているときのみ起動できてしまう挙動を修正できるようにした。

2023/07/04(ver2.00)

  • イベントから接触を厳密にする機能を追加。
    プラグイン名も汎用的に『イベントトリガーの挙動を調整』へと変更。

2022/06/26(ver1.00)

  • 『接触系のイベントで決定ボタンでの起動を禁止する』プラグインとして公開!

【MZ】プラグインコマンド(Plugin Commands)


足元イベントの確認(CheckStepsEvent)

 プレイヤーが移動中かつ足元のイベントに接触しているかどうかを確認し、指定のスイッチをオンにします。
 主にシンボルエンカウントなどの自作エンカウントにおいて、タイミング調整をするための機能です。

 例えば、エンカウント処理の直前でこのプラグインコマンドを実行し、スイッチがオンになった際はエンカウントを停止すれば、足元のイベントを優先実行することができます。

 ※プレイヤーが移動中でない場合もチェックできる機能を追加しました。(2025/08/27)

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


イベントから接触を厳密に(StrictEventTouch)

 数字が小さいほど移動中のプレイヤーに対して、イベントから接触できるタイミングが限定されます。

 この項目には数値を設定してください。

  • 値が0ならば、プレイヤーが目的の座標に、完全に到達した瞬間、もしくは静止した時のみ接触の対象になります。
  • 値が0.5ならば、プレイヤーが目的の座標から0.5タイル以内に位置している時のみ接触の対象になります。

 基本的には0でよいと思います。数値が小さくないと効果が実感できません。
 不要な場合はDELキーで空白にしてください。
 ※仕様上、半歩移動などのプラグインには対応していません。

決定ボタンによる接触無効(DisableDecisionTouch)

 トリガーが『プレイヤーから接触』『イベントから接触』のイベントに対して、決定ボタンでの起動を禁止します。

すり抜け衝突の禁止(DisableThroughCollision)

 トリガーが『プレイヤーから接触』『イベントから接触』のイベントに対して、すり抜け状態での衝突を禁止します。

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

魔法反射の仕様を拡張【RPGツクールMZ&MVプラグイン】

 魔法反射の仕様に関して、様々な調整が可能です。


  • 反射元、反射先にそれぞれアニメーションを指定可
  • 反射先をスキル使用者ではなく、別サイドに変更可
  • スキルタイプ毎に反射の設定をすることが可能
    ※ツクールの標準仕様では、命中タイプが『魔法攻撃』のスキルを反射
  • 反射無効のスキルを作成可

 対象サイドの変更プラグインと組み合わせれば、FFシリーズで有名な「仲間にかけた全体魔法を敵に反射して攻撃」というような芸当も可能となります。

目次


導入方法(Install)

更新履歴(History)

ステートのメモ欄(Note of states)

スキルのメモ欄(Note of skills)

オブジェクトのメモ欄(Note of objects)

注意点(Notice)

効果音について

高速化モードについて


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

別サイドに反射(ReflectAnotherSide)

反射元のアニメーション(ReflectFromAnimation)

反射先のアニメーション(ReflectToAnimation)

反射先に元アニメを表示(ToOriginalAnimation)

タイミング調整(Timing)

高速化モード(HighSpeedMode)

反射先の標準ディレイ(ToBaseDelay)

対象別ディレイ(NextDelay)

詳細設定(Detail)

設定リスト(SettingList)


プラグインパラメータ:設定リスト(Plugin Parameter SettingList)

設定ID(SettingId)

スキルタイプ(SkillTypes)


導入方法(install)


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

 NRP_MagicReflection.js ver1.03(2025/08/27)

 ※NRP_DamageTiming.jsと併用する場合、このプラグインを下に配置してください。

更新履歴(History)


2025/08/27(ver1.03)


2024/06/16(ver1.02)


2022/02/01 -> 2023/12/30(ver1.01 -> 1.011)

  • ツクールMZ1.4のMVアニメーション表示に対応。
  • 競合対策用に微調整。(2023/12/30 ver1.011)

2021/08/21(ver1.00)

  • 公開!

ステートのメモ欄(Note of states)


 プラグインパラメータの『設定リスト』に登録すれば、スキルタイプを条件にして反射の設定が可能となります。
 例えば『必殺技』のみを反射するステートなどを作成可能です。

 『設定リスト』に登録した設定IDを、以下のようにステートのメモ欄に記入してください。
<MagicRefrection:[設定ID]>

 ※[]は含めないでください。。
 ※標準とは異なり、命中タイプは無視するようになります。

 また、以下を設定するとそのステート中はスキルを反射しなくなります。
 ジャンプなどの無敵系ステート時に反射を禁止したい場合を想定しています。
<NoRefrectionState>


スキルのメモ欄(Note of skills)


 魔法反射を無効化するスキルを作成可能です。以下をスキルのメモ欄に指定してください。
<NoMagicRefrection>


オブジェクトのメモ欄(Note of objects)


 各オブジェクト(アクター、エネミー、職業、装備、ステート、スキル)のメモ欄に以下を設定すればバトラーの使用した魔法が反射されなくなります。
 スキルについては覚えているだけで、発揮するパッシブスキルとなります。
<IgnoreMagicRefrection>


注意点(Notice)


効果音について

 システム2で設定できる魔法反射の効果音は、なしにしておくことをオススメします。
 効果音は反射アニメーションに任せたほうが自然です。

高速化モードについて

 通常、反射処理は一体ずつメッセージ表示などの処理が行われるので、テンポが悪いです。
 そこでダメージタイミングの調整プラグイン(NRP_DamageTiming.js)との連携によって、高速での反射表示を可能としています。

 NRP_DamageTimingの『ダメージ一括表示』をオンにすると、自動で高速化モードが有効となります。
 また、ディレイ関連の項目は高速化モード時しか機能しません。

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


別サイドに反射(ReflectAnotherSide)

 魔法反射時、別サイドかつランダムに対象を変更します。

反射元のアニメーション(ReflectFromAnimation)

 反射を行うバトラーに表示するアニメーションです。

反射先のアニメーション(ReflectToAnimation)

 反射先のバトラーに表示するアニメーションです。

反射先に元アニメを表示(ToOriginalAnimation)

 魔法反射時、反射先に本来のアニメーションを表示します。

 オンにした場合、表示できるのはスキルに設定されているアニメーションだけです。
 DynamicAnimationなどのプラグインと組み合わせた場合、メモ欄の記述までは実行されませんので、ご了承ください。

高速化モード(HighSpeedMode)

 オンにするとディレイを無視してメッセージを待ちます。
 通常は自動で判断しますので空白でOKです。

 強制的にモードを切り替えたい場合のみ、オンオフを設定してください。ただし、基本的には不自然な動作になります。

反射先の標準ディレイ(ToBaseDelay)

 反射先にアニメーションを表示するまでの時間差です。
 1/60秒単位で設定してください。
 ※高速化モードがオンの場合のみ有効となります。

対象別ディレイ(NextDelay)

 反射アニメーションを表示する際の対象毎の時間差です。
 1/60秒単位で設定してください。
 ※高速化モードがオンの場合のみ有効となります。

設定リスト(SettingList)

 魔法反射に関する設定の一覧です。
 細かい条件を指定したい場合に有効です。

プラグインパラメータ:設定リスト


設定ID(SettingId)

 ステートのメモ欄に指定する識別子です。

スキルタイプ(SkillTypes)

 反射の対象とするスキルタイプです。

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