バトルイベント拡張【RPGツクールMZプラグイン】

2021年08月31日

 バトルイベントを補助し、拡張するプラグインです。
 当サイトのCTB・CTTBおよびデフォルトのターン制、タイムプログレスいずれでも使用できます。
 ※このプラグインはMZ版です。MV版はこちら!

できること


  • 敵の戦闘行動をバトルイベントによって詳細に制御する。

 以下の動画はバトルイベントによって、敵の行動制御をした例です。
 行動回数を自在に変えたり、味方の戦闘不能状況で行動を変えたり、時を止めたりとやりたい放題です。
※画面が小さい場合は右下の全画面表示をクリックしてください。

目次(index)


導入方法(install)

更新履歴(history)

説明(introduction)

プラグインコマンド(command)

スキル使用者設定(forceSubject)

スキル対象設定(絞込) (forceTargetFilter)

スキル対象設定(最大最小)(forceTargetMost)

対象検索→スイッチに格納(setConditionSwitch)

行動判定の無効化(superForce)

プラグインパラメータ(parameter)

強制行動時のスキル使用判定(forceValid)

aで行動主体を参照(aIsSubject)

コモンイベント時の終了処理を調整(adjustCommonEventActionEnd) ver1.03

補足(repletion)


導入方法(install)


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

 NRP_BattleEventEXMZ.js ver1.041(2021/08/31)
 ※NRP_EnemyRoutineKaiと併用の際は、当プラグインを下に置いてください。

更新履歴


2021/07/19 -> 08/31(ver1.04 -> 1.041)

  • DynamicAnimationと組み合わせた場合、『条件外なら行動しない』が有効でもアニメーションを表示してしまう問題に対応。
  • 魔法反射プラグインかつダメージタイミングの調整プラグインと組み合わせた状態で『コモンイベント時の終了処理を調整』をオンにしていると、反射ダメージが重複して表示される不具合修正。(2021/08/31 ver1.041)

2021/05/14(ver1.03)

  • スキルからコモンイベントを呼んだ際、行動終了処理(ステートの解除など)が実際の行動前に行われてしまう問題に対処。
    それに伴い『コモンイベント時の終了処理を調整』のプラグインパラメータを追加。

2021/05/09(ver1.02)

  • 『スキル対象設定』の対象が存在しなかった場合に、ランダムで狙うよう修正。

2020/09/26 -> 10/19(ver1.01 -> 1.011)

  • 敵全滅時は戦闘行動の強制を実行しないよう修正。
  • 『条件外なら行動しない』をfalseにした場合もオンになってしまう不具合修正。※空白なら正常に動作。
  • 『条件外なら行動しない』をオンにして、かつ対象が存在しない状態で全体攻撃を行うとエラーとなる不具合修正。
  • ターン終了時のバトルイベントで行動を不発させた場合、次のターンで最速行動してしまう不具合修正。(10/19 ver1.011)

2020/09/21(ver1.00)

  • 公開開始!

説明(introduction)


 ツクールMZのバトルイベント(コモンイベント)は極めて強力です。特に『戦闘行動の強制』は非常に便利で、様々な用途があります。
 これは対象にスキルを使わせるというもの。理論上はこれで敵の行動を制御したり、複合技のような複雑なスキルを作成することも可能です。

 しかしながら、かゆいところに手が届かないのも事実。その素晴らしさがあまり知られていませんでした。
 以下、『戦闘行動の強制』が持つ問題点。

  • 行動異常やMP枯渇を常に無視してスキルを発動してしまう。
  • バトルイベントを起動するタイミングが限られる。敵が行動したタイミングでの制御ができない。
  • スキルからコモンイベントを呼び出せるが、不要な演出が入る。
  • 行動主体やスキルの対象を、変数指定など柔軟に選択できない。

 このプラグインはこれらの問題点に対応し、バトルイベントの真価を引き出すことを目的とします。

 逆に言えば、プラグイン自体が大きな機能を果たすわけではありません。
 あくまでユーザの工夫を助けるものとなります。

 とはいっても、ピンと来ない方が大半でしょう。
 実際にどのようにバトルイベントを使えばよいかを以下で解説していきます。


プラグインコマンド(command)


スキル使用者設定(forceSubject)

 『戦闘行動の強制』を行う行動主体を上書きします。
 エディタ上の表示より優先されます。

スキル対象設定(絞込) (forceTargetFilter)

 『戦闘行動の強制』の対象を指定条件で絞り込んだ上で上書きします。
 エディタ上の表示より優先されます。

スキル対象設定(最大最小)(forceTargetMost)

 『戦闘行動の強制』の対象を上書きします。
 比較によって最大、最小値を持つ対象を求めます。
 エディタ上の表示より優先されます。

対象検索→スイッチに格納(setConditionSwitch)

 条件を満たす対象がいるか検索し、結果をスイッチに格納します。

行動判定の無効化(superForce)

 true : パラメータの設定に関わらず『戦闘行動の強制』で強制行動を実行します。
 false: パラメータの設定に関わらず『戦闘行動の強制』で行動判定を実行します。

プラグインパラメータ(parameter)


強制行動時のスキル使用判定(forceValid)

 戦闘行動の強制時もスキルの有効判定を行うようになります。
 つまり、行動異常やMP枯渇時は行動を行わなくなります。
 初期値はtrue。MZの元の挙動はfalseです。

 trueにしている場合でも、イベントなどでスキルを強制実行したいという場合は『行動判定の無効化』のプラグインコマンドで切替可能です。

aで行動主体を参照(aIsSubject)

 バトルイベント上で常に『a』で行動主体を参照できるようにします。この値はスクリプトから参照可能です。
 ちなみに、プラグインコマンドについてはこの設定がなくとも『a』での参照は有効です。

コモンイベント時の終了処理を調整 (adjustCommonEventActionEnd)

 スキルの使用効果でコモンイベントを呼び出した際、行動終了処理のタイミングを調整します。

 オンにすると、コモンイベントの終了時に一度だけ行動終了処理を実行するようになります。
 これにより、解除のタイミングが『行動終了時』のステートが、コモンイベントを起動した直後に解除されてしまう問題に対処できます。
 
 対象となる条件はダメージタイプが『なし』かつ、使用効果がコモンイベントのみの場合です。何らかの設定がされていると機能しないのでご注意ください。
 
 なお、これらの制御はCTBでは不要です。
 ※NRP_CountTimeBattle.js内の制御で考慮済み。

 また、スキル毎に切り替えたい場合は以下をメモ欄に記入してください。
<AdjustCommonEventActionEnd:[true/false]>


補足(repletion)


 動画で確認できる以下の機能はトリアコンタン様のプラグインによるものです。

  • 戦闘不能の相手サイドを蘇生:ScopeExtend.js
  • 時間停止中のモーション停止:BattlerGraphicExtend.js

 このプラグインでやっているのは「ターン毎に行動回数を変更する」「相手のステートを確認して行動を変える」「時間停止をイベントコマンドで演出する」といった部分です。ご注意ください。

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

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

2021年08月21日

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


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

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

目次


導入方法(Install)

更新履歴(History)

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

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

注意点(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.00(2021/08/21)

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

更新履歴(History)


2021/08/21(ver1.00)

  • 公開!

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


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

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

 ※標準とは異なり、命中タイプは無視するようになります。

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


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


注意点(Notice)


効果音について

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

高速化モードについて

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

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

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


別サイドに反射(ReflectAnotherSide)

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

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

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

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

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

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

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

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

高速化モード(HighSpeedMode)

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

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

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

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

対象別ディレイ(NextDelay)

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

設定リスト(SettingList)

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

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


設定ID(SettingId)

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

スキルタイプ(SkillTypes)

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

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

対象サイドの変更(パーティアタックなど)を実現【RPGツクールMZ&MVプラグイン】

 戦闘時、通常とは異なる対象サイドへ、攻撃やスキル、アイテムを使用できるようにします。
 例えば、味方を攻撃したり、敵を回復したりできます。


 眠った仲間を叩き起こしたり、アンデッドに回復魔法をかけてダメージを与えたり、あるいはFFシリーズのバーサクのように、味方にかけても敵にかけてもメリット・デメリットのある異常を作成したりと様々な工夫が考えられます。

 また、対象カーソルプラグイン(NRP_BattleTargetCursor)との併用によって、対象サイドの切替方法をカスタマイズできます。

 通常、範囲が全体などのスキルは対象選択が表示されませんが、プラグインパラメータによって対象選択を表示できます。
 他の機能を無効化すれば、それ専用のプラグインとしても活用できます。

目次


導入方法(Install)

更新履歴(History)

使用方法(Usage)

スキル(アイテム)のメモ欄(Note)

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

全スキルを有効化(EnableAllSkills)

常に選択を表示(AlwaysSelection)ver1.01

使用者も選択を表示(UserSelection)ver1.01

敵味方全体も選択を表示(EveryoneSelection)ver1.01

PageUp/Downでサイド切替(ChangeSideByPageUpDown)

左右でサイド切替(ChangeSideByLeftRight)

上下でサイド切替(ChangeSideByUpDown)

ウィンドウ表示を維持(KeepWindow)


導入方法(install)


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

 NRP_PartyAttack.js ver1.011(2021/08/21)

 ※このプラグインに合わせて以下のプラグインを修正しています。
  併用される場合は更新をお願いします。



注意点

 以下のプラグインと併用する場合は登録順に注意してください。

  • NRP_BattleTargetCursor.js:当プラグインよりも上に配置
  • NRP_VisualTurn.js:当プラグインよりも下に配置

更新履歴(History)


2021/08/13 -> 08/21(ver1.01 -> 1.011)

  • 範囲が全体、ランダムのスキルでも対象選択&サイド切替できるよう対応。
    常に選択を表示』のパラメータをオンにすると有効になります。
    それに伴い、以下のプラグインも修正しているので、更新をお願いします。
    NRP_BattleTargetCursor.js
    NRP_SkillRangeEX.js
  • 範囲が『敵にランダム』のスキルでパーティアタックすると、範囲が全体に変化してしまう不具合修正。(08/21 ver1.011)

2021/08/06 -> 08/07(ver1.00 -> 1.001)

  • 公開!
  • コマンドをキャンセルした際、対象サイドの反転が残ってしまう不具合修正。(ver1.001)
  • 動作対象を変更した場合、ミラーリングが逆方向に動作する不具合修正。
    ※DynamicMotion側の修正です。(08/07)

使用方法(Usage)


 導入するだけで対象サイドの切替が有効となります。
 初期状態ではPageUp/Downで対象サイドを切り替えられます。
 (ゲームパッドではいわゆるLRボタンに相当)

 初期状態では範囲が全体やランダムのスキルは、対象選択が表示されないため、サイドを変更できません。
 『常に選択を表示』のパラメータをオンにすることで、それらのスキルも対象サイドを切り替えられるようにできます。

 さらにプラグインパラメータによって、左右キー(サイドビューを想定)や上下キー(フロントビューを想定)で、対象サイドを切り替えられるように設定できます。

 ただし『左右でサイド切替』および『上下でサイド切替』をオンにしても、それだけでは違和感のある挙動になります。
 これはNRP_BattleTargetCursorとの組み合わせを想定しているためです。

 例えば『左右でサイド切替』をオンにする場合は、上下で対象を切り替えられるようにしてください。
 『上下でサイド切替』をオンにする場合はその逆です。

スキル(アイテム)のメモ欄(Note)


 スキル毎に対象サイドの変更を無効化または有効化できます。
 スキルのメモ欄に以下を指定してください。
<PermitSideChange:true>

 対象サイドの変更を有効化します。(trueは省略可)
<PermitSideChange:false>

 対象サイドの変更を無効化します。

 指定がない場合はプラグインパラメータにある『全スキルを有効化』の設定に従います。
 演出や効果の都合で味方にかけられると不都合のあるスキルがある場合は、これらの方法で切り替えてください。

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


全スキルを有効化(EnableAllSkills)

 全てのスキルで対象サイドの変更を有効とします。
 オフにすると全てのスキルで無効となります。
 ※アイテムも含みます。

 その上で、さらにメモ欄で例外を指定する想定です。

常に選択を表示(AlwaysSelection)ver1.01

 範囲が全体などのスキルにおいても、対象の選択を表示します。
 これにより、対象サイドの切替を有効とします。

使用者も選択を表示(UserSelection)ver1.01

 範囲が使用者のスキルにおいても、対象の選択を表示します。

敵味方全体も選択を表示(EveryoneSelection)ver1.01

 範囲が敵味方全体のスキルにおいても、対象の選択を表示します。

PageUp/Downでサイド切替(ChangeSideByPageUpDown)

 PageUp/Downによって対象サイドの切り替えを行います。
 ゲームパッドではLRボタンに該当します。

左右でサイド切替(ChangeSideByLeftRight)

 左右キーによって対象サイドの切り替えを行います。
 NRP_BattleTargetCursorとの組み合わせによって、上下で対象を切り替えられるようにすることを想定しています。

上下でサイド切替(ChangeSideByUpDown)

 上下キーによって対象サイドの切り替えを行います。
 NRP_BattleTargetCursorとの組み合わせによって、左右で対象を切り替えられるようにすることを想定しています。

ウィンドウ表示を維持(KeepWindow)

 ウィンドウの表示を維持します。
 つまり、アクター・エネミーウィンドウの表示を切り替えないようにします。
 こちらもNRP_BattleTargetCursorとの組み合わせを推奨します。

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