RPGツクールMZ(TPBアクティブ)と反撃拡張の考察
RPGツクールMZでゲーム制作をする際、
必ずお世話になるといっても過言ではないトリアコンタン氏のプラグイン。
自分も凄くお世話になってます。
この場を借りて御礼申し上げます。
その中でもトリアコンタン氏の反撃拡張はとても素晴らしい神プラグインです。
ですが、TPBアクティブとの相性は一部悪いところがあるようです。(自分だけかも…
まずは動画をみていただきたい。
これは反撃拡張でいう敵に攻撃したら麻痺でステートのみ返すという動作。
これを行ったのち主人公サイドのアクティブゲージが動作しない挙動がある事が確認できます。(新規プロジェクトでも再現済
これが起こる条件はおそらく
【麻痺などの行動不能ステートが時間経過で解除された場合になる】
だと思われます。
魔法やアイテムで回復した時はならなかったのでやや限定的かなと(もしかしたらなるのかもしれない…
そもそも反撃でステートを入れなければ問題ないのと、
必ず生じるわけではないので製作者へ相談した結果改善は難しいという判断となりました。
PC環境によるものなのかもしれませんが、現状買って1年ぐらいのゲーミングPCなのでスペック云々ではなさそうな気がします。
この症状が起きた場合ゲームがストップしてしまいます。
復活する方法が【強○行動で行動させる】か【戦闘不能にして回復する】ぐらいしかなかったから発生した時点で詰み状態となります。
そこで対策を講じました。
-対策-
①
まずはこの現象がいつ起こるかわからないので、
動画にもある【リセットボタン】を作りました。
リセットボタンの内容は
スクリプトの内容は
[1].some(function(actorId) {var actor = $gameActors.actor(actorId); return $gameParty.battleMembers().contains(actor)});
[1]にはアクターIDを入れて、
バトルメンバーにいるかどうかを条件分岐してます。
パーティーメンバー全員が行動強○(何もしない)をすることでアクティブゲージをリセットして動かなくなる不具合に対応しています。
②
色んなプラグインを総動員して仕掛けを作る。
って事で用意したのは
StateChangeIfRemove.js(ステート解除時の変化プラグイン
【トリアコンタン氏制作】
NRP_BattleParallelCommon.js(戦闘時コモンイベントを並列処理できる)
【砂川氏制作】
ですね。
ステート解除時をautoで設定して時間経過できれたら一時的に作ったダミーステートを付与します。
戦闘時コモンイベントの内容を
としてダミーステートを解除して強○行動させるという処理です。
簡単に言えば
睡眠になる→睡眠がターンで切れる→ダミーステートが付与される
→コモンイベント(並列)でダミーステートを切って強○行動
(自分はここで耐性ステートを付与してます)
ターンで切れた場合のみ処理されるので、
状態異常回復アイテムを使用した時は強○行動されません。
あくまで行動制限があるステートのみの対応です。
これで完全に回避できるかはまだテストしてないので微妙です。
進捗があれば更新したいと思います。
この記事にはコメントできません。