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

2024年11月04日

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

できること


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

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

目次(index)


導入方法(install)

更新履歴(history)

説明(introduction)

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

スキル使用者設定(forceSubject)

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

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

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

行動判定の無効化(superForce)

スキルのランダム実行(randomSkills)

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

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

失敗時の行動(actionAtFailure)

スキル使用判定の影響軽減(forceValidFlexible)

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

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

補足(repletion)


導入方法(install)


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

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

更新履歴


2024/10/31 -> 2024/11/04(ver1.09 -> 1.091)

  • 『スキル使用者設定』をアクターに適用しても機能しない不具合修正。
  • 対象が『味方(無条件)』の場合、対象サイドの変更が機能しない不具合修正。(2024/11/04 ver1.091)

2024/08/30(ver1.08)


2024/07/06(ver1.07)

  • 失敗時の行動を設定できるようにした。
    ※戦闘行動の強制が沈黙やMP不足で失敗した際に、通常攻撃に変更する機能です。

2023/08/27 -> 2024/06/03(ver1.06 -> 1.063)

  • 強制行動時のスキル使用判定がオンの場合でも、イベントコマンドによる実行以外には影響を与えないようにした。
    ※他プラグインで内部的に強制行動を行う場合に、影響を与えないための措置です。
  • ver1.06にて『スキル使用判定の影響軽減』がオン、かつスキル使用者設定が行われていた場合、使用判定が行われない不具合修正。
    (2023/12/30 ver1.061)
  • NRP_EnemyRoutineKai.jsと併用時、対象サイド変更が有効にならない競合に対応。(2024/01/19 ver1.062)
  • <NoStartAction>使用時、DynamicAnimationよりプラグインの登録順序が下だと演出が無効になるので順序を明確化。(2024/06/03 ver1.063)

2022/12/21 -> 2023/08/14(ver1.05 -> 1.052)

  • メッセージ表示時、コモンイベントを呼び出す際(<NoStartAction>)の不要なウェイトを削除。
    ※アニメーションがなしの場合が対象です。
  • NRP_ChainSkill.jsに対応して戦闘終了判定を修正。
    (2023/02/22 ver1.051)
  • ダメージタイプがなし、かつ使用効果がなしのスキルが意図せず『コモンイベント時の終了処理を調整』の対象になってしまう不具合修正。
    (2023/08/14 ver1.052)
  • NRP_ChargeSkill.jsとの競合に対処するため、当プラグインを先に登録するよう明記。(2023/08/14 ver1.052)

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: パラメータの設定に関わらず『戦闘行動の強制』で行動判定を実行します。

スキルのランダム実行(randomSkills)

 設定したスキルをランダムで選択し、戦闘行動の強制を実行します。
 使用条件を満たさないスキルは選択されません。

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


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

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

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

失敗時の行動(actionAtFailure)

 沈黙やMP不足などで強制行動に失敗した時の行動です。
 『通常攻撃』に設定すると、失敗した際も代わりに攻撃するようになります。

スキル使用判定の影響軽減(forceValidFlexible)

 強制行動時のスキル使用判定がオンの場合でも、イベントコマンドによる実行以外には影響を与えないようにします。

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

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

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

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

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

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


補足(repletion)


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

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

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

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

戦歴(プレイレコード)を表示【RPGツクールMZプラグイン】

 戦歴(プレイレコード)を表示します。


 戦闘回数や倒した敵の数、最大ダメージなどの項目を表示できます。
 プラグインコマンドやメニュー画面から呼び出せます。

目次


導入方法(Install)

更新履歴(History)

使用方法(Usage)

スクリプト(Script)

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

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

項目一覧(Records)

ウィンドウ背景(WindowBackgroundType)

ウィンドウの横幅(WindowWidth)

ウィンドウの縦幅(WindowHeight)

ウィンドウの一行の幅(WindowLineHeight)

値を右寄せ(ValueRightAligned)

値の開始X座標(ValueX)

値のX座標調整(ValueAdjustX)

最大ダメージ無効スイッチ(NoMaxDamageSwitch)

メニューコマンド挿入位置(ShowMenuCommandPosition)

メニュー表示名(CommandName)

表示許可するスイッチ(MenuCommandSwitch)

マスク文字列(MaskString)

禁止するスイッチ(DisableSwitch)

戦歴のパラメータ(Record Parameters)

項目名(ItemName)

変数(Variable)

スクリプト(Script)

末尾(Suffix)


導入方法(install)


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

 NRP_PlayRecord.js ver1.01(2024/11/04)

更新履歴(History)


2024/11/04(ver1.01)

  • 最大ダメージの更新を停止するスイッチを追加した。

2024/05/21(ver1.00)

  • 公開!

使用方法(Usage)


 戦歴はプラグインコマンドから呼び出せる他、メニュー画面の項目に追加することもできます。
 初期設定では以下の項目を表示しています。

  • プレイ時間
  • 戦闘回数
  • 勝利回数
  • 逃走回数
  • 倒した敵の数
  • 最大ダメージ
  • 最大ダメージを与えたスキルとアクター
  • 歩数

 既に値が設定されているため、そのままでも使えます。
 変数やスクリプトを指定することで、値を追加することができます。

スクリプト(Script)


 以下の値は当プラグインの機能によって取得しています。
 ただし、プラグインを途中から適用しても、それまでの値は取得できません。

$gameSystem.killEnemyCount();

 倒した敵の数を取得する。

$gameSystem.maxDamage();

 最大ダメージを取得する。

$gameSystem.maxDamageActorName();

 最大ダメージを与えたアクター名を取得する。

$gameSystem.maxDamageSkillName();

 最大ダメージを与えたスキル名を取得する。

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


戦歴を表示

 戦歴を表示します。

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


項目一覧(Records)

 表示する戦歴の項目です。

ウィンドウ背景(WindowBackgroundType)

 戦歴を表示するウィンドウの背景です。

ウィンドウの横幅(WindowWidth)

 ウィンドウの横幅です。
 初期値は500です。

ウィンドウの縦幅(WindowHeight)

 ウィンドウの縦幅です。
 空欄なら自動で設定します。

ウィンドウの一行の幅(WindowLineHeight)

 ウィンドウの一行の縦幅です。
 空欄なら元の設定を使用します。

値を右寄せ(ValueRightAligned)

 値をウィンドウの右端に寄せます。
 オフの場合は左寄せになります。

値の開始X座標(ValueX)

 値を表示するX座標です。右寄せ時は不要な項目です。

値のX座標調整(ValueAdjustX)

 値のX座標を調整します。
 右寄せ時の位置がおかしい時はこれで調整してください。

最大ダメージ無効スイッチ(NoMaxDamageSwitch)

 スイッチをオンにすると最大ダメージの更新を停止します。
 イベント戦闘などを含めたくない場合に使用してください。

メニューコマンド挿入位置(ShowMenuCommandPosition)

 メニューコマンドに戦歴を挿入する位置です。
 0が先頭。
 不要ならDELで消去してください。

メニュー表示名(CommandName)

 戦歴の表示コマンド名を設定します。


 スイッチがオンの時のみコマンドを表示します。
 空白なら常に表示します。

マスク文字列(MaskString)

 表示許可するスイッチがオフの際、指定した文字列でコマンドを表示します。
 空欄ならコマンド自体を非表示。

禁止するスイッチ(DisableSwitch)

 スイッチがオンの時のみコマンドを禁止(灰色)します。
 空白なら常に許可します。

戦歴のパラメータ(Record Parameters)


項目名(ItemName)

 表示する項目名です。
 アイコンなど制御文字も有効です。

変数(Variable)

 値を表示する変数です。

スクリプト(Script)

 値を表示するスクリプトです。
 変数よりも優先されます。

末尾(Suffix)

 末尾に表示する文字列です。

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

戦闘システムをCTBに変更する【RPGツクールMZ&MVプラグイン】

2024年11月03日

 ツクールMV〜MZ向けCTB(カウントタイムバトル)を実現するプラグインを公開しました。



 CTBについては説明不要かと思いますが、素早さによって行動回数の増える戦闘システムです。
 拙作、ミスティックスターにて採用しているシステムを、ツクールMV〜MZで実現できるようにしたものとなります。

 特に設定をしなくとも、プラグインをオンにするだけで即動きます。
 初期設定では顔グラを表示しますが、キャラグラを出したり名前を文字表示したりとカスタマイズも可能です。
 フロントビューでもサイドビューでも問題なく機能します。

導入方法

更新履歴

制御系パラメータ(NRP_CountTimeBattle.js)

計算人数(表示人数)(number)

防御選択時に計算(calcGuardCommand)

行動選択時に行動者を表示(showActionUser)

不要なモーション更新削除(notPartyMotionRefresh)

パーティコマンドの表示(showPartyCommand)

味方の始動時間バラツキ(actorStartRandomWt)

敵の始動時間バラツキ(enemyStartRandomWt)

先制時の始動時間ボーナス(preemptiveAdvantage)

奇襲時の始動時間ボーナス(surpriseAdvantage)

開始ターン数(startTurn)

逃走時のペナルティ時間(escapePenalty)

自身へのステートターン+1(selfStatePlusTurn)

自身への強化弱体ターン+1(selfBufPlusTurn)

蘇生時のWT(reviveWT)

スキルの順序変化を予測(predictionSkillOrder)

必中のみ予測(predictionCertain)


表示系パラメータ(NRP_VisualTurn.js)※別記事

仕様・注意点

追加機能

ステートのメモ欄

オブジェクトのメモ欄

スキルのメモ欄

画面イメージ

バトルイベント

関連情報

導入方法


 以下2つのファイルをダウンロードし 、[プロジェクト]\js\plugins に放り込みます。ツクールのプラグイン管理から機能をONにしてください。
 ※このプラグインはMV、MZの両方で有効です。
 ※MZで使用する場合、システム上の設定は必ずターン制にしてください。タイムプログレスになっていると動きません。

 NRP_CountTimeBattle.js ver1.235(2024/11/03)
 NRP_VisualTurn.js ver2.03(2024/05/01)

 上から順番に取り込む必要があるので注意です。
 ファイルが2つあるのは、制御系と表示系で分割したためです。更新日を見て最新を取るように気をつけてください。

更新履歴


2024/08/16 -> 2024/11/03

NRP_CountTimeBattle.js ver1.23 -> 1.234

  • 蘇生スキルの蘇生時待ち時間を設定できるようにした。
  • 蘇生スキルを選択時、蘇生対象者の行動予測を表示できるようにした。
  • 戦闘不能者に対して範囲が有効でないスキルまで行動予測を表示してしまう不具合修正。(2024/08/23 ver1.231)
  • MVにてスキルの順序変化を予測する機能をオンにすると、エラーになってしまう不具合修正。(2024/08/28 ver1.232)
  • スキルが不発になった場合、スキルの終了処理が適切に行われない問題に対処。(NumbStates.jsなどとの競合解消)(2024/09/15 ver1.233)
  • スキルの範囲が味方単体(無条件)の場合、行動予測に反映されなくなる不具合修正。(2024/11/03 ver1.234)
  • 敵キャラの変身時、敏捷性の変化が行動順に反映されない不具合修正。(2024/11/03 ver1.235)

2024/08/10 -> 2024/08/16

NRP_CountTimeBattle.js ver1.22 -> 1.221

  • WTや敏捷性を変化させるスキル(ステート、能力変化)によって行動順序が変化する場合、それを予測して表示できるようにした。
    ※初期設定では命中タイプが必中のスキルのみが対象となります。
  • ver1.21にて、自身の敏捷性を変化させた場合、次の行動が即時行動になってしまう不具合修正。
  • 戦闘勝利時など文章表示時に動作が非常に重くなる不具合を修正。
    (2024/08/16 ver1.221)

2024/08/05

NRP_CountTimeBattle.js ver1.21


2024/07/14 -> 2024/07/24

NRP_CountTimeBattle.js ver1.20 -> 1.201


2024/06/03 -> 2024/06/12

NRP_CountTimeBattle.js ver1.19 -> 1.191

  • 蘇生時のWT(待ち時間)を設定できるようにした。
  • 『味方の始動時間バラツキ』『敵の始動時間バラツキ』『先制時の始動時間ボーナス』『奇襲時の始動時間ボーナス』『逃走時のペナルティ時間』に数式を設定できるようにした。(2024/06/12 ver1.191)

2024/05/01

NRP_VisualTurn.js ver2.03

  • 画像X座標シフト、画像Y座標シフトを追加。
  • 敵の表示倍率を100より大きくすると、敵の画像が途切れてしまうことがある不具合修正。
    ※敵の表示倍率を100以外にしている場合、今までと若干表示がズレる可能性があるのでご注意ください。
    ※詳細はこちらをご覧ください。

2024/02/09

NRP_VisualTurn.js ver2.00

  • レイアウト関連の機能を大幅に強化。
    ※詳細はこちらをご覧ください。

2023/10/02

NRP_CountTimeBattle.js ver1.18


2023/09/21

NRP_VisualTurn.js ver1.164

  • NRP_PartyAttack.jsと併用し、かつ自身が対象のスキルを使うと行動順序のアクターが白表示されてしまう問題に対処。

2023/08/28

NRP_CountTimeBattle.js ver1.17


2023/07/04

NRP_CountTimeBattle.js ver1.16

  • 防御選択時に計算がオンの場合、逃げるに失敗しても、そのまま行動できてしまう不具合修正。

2023/05/13

NRP_CountTimeBattle.js ver1.152

NRP_VisualTurn.js ver1.163

  • MVにて戦闘中に仲間を加えた場合、WTが初期設定されない不具合を修正。

2023/02/21

NRP_CountTimeBattle.js ver1.151

  • MVかつパーティコマンドを表示しない設定の場合、戦闘開始直後に付加したステートが表示されない不具合修正。

2022/08/26

NRP_VisualTurn.js ver1.162

  • CTBにてパーティコマンドを表示しない設定の場合、順序が初期表示されない不具合を修正。

2022/08/23

NRP_CountTimeBattle.js ver1.15


2022/08/16

NRP_CountTimeBattle.js ver1.14


2022/06/07 -> 2022/08/05

NRP_CountTimeBattle.js ver1.13 -> 1,131

  • 戦闘開始時、パーティコマンドを表示できるように対応。
  • 敏捷性が0の際に何度も行動できてしまう不具合修正。
    (2022/08/05 ver1.131)

2022/04/21

NRP_VisualTurn.js ver1.16

  • 選択中のバトラーシンボルについて画像のみを白く強調表示するように変更。
  • UIエリアの幅が一部ウィンドウに反映されていない不具合修正。

2022/03/03

NRP_CountTimeBattle.js ver1.12

  • 新規登場したバトラーのWTを初期設定するように修正。

2022/02/22

NRP_CountTimeBattle.js ver1.11

  • 一人が行動終了した際に全員分の行動終了処理(毒やHP再生、ステートの継続ターンなど)が実行されてしまう不具合に対応。
    ※MZ1.4.0の更新の影響のようです。該当の方は更新をお願いします!

2021/11/19 -> 2022/01/11

NRP_VisualTurn.js ver1.14 -> 1.142

  • 戦闘開始直後にピクチャーなどの画像表示を行うと、順序画像の表示が不安定になる不具合修正。
  • ↑の修正漏れ(背景画像が適切に読み込まれない問題)を再修正。(ver1.141)
  • プラグイン内の解説を大幅拡充。(11/20 ver1.142)
  • ため技プラグインとの競合対策用に調整。(2022/01/11 ver1.143)

2021/09/18

NRP_VisualTurn.js ver1.13

  • 外部プラグインによる顔グラやキャラグラの変更が、反映されない不具合修正。

2021/06/19

NRP_VisualTurn.js ver1.12

  • ウィンドウを重ねて表示できるように改良。
  • それに伴い初期状態では行動順序を右寄せ&上寄せするように変更。
  • また、ウィンドウ表示系のパラメータを追加(細分化)&整理。
    ※プラグイン更新時に少しだけ挙動が変わる可能性があります。変更箇所はパラメータ(各ウィンドウの表示)だけなので見直しをお願いします。

2020/10/25 -> 11/01

NRP_CountTimeBattle.js ver1.10 -> 1.101

  • 強化/弱体を自身にかけた場合、即座に1ターン経過してしまう問題への対処。
    ※ステートは対策済みでしたが、強化/弱体への考慮が抜けていました。
  • それに伴い、切替用のプラグインパラメータを追加。
    基本的には初期値のオンを推奨します。以前のverと挙動が変わるのが嫌な場合は『自身への強化弱体ターン+1』の項目をオフにしてください。
  • 二段階の強化/弱体を自分にかけた場合、想定より1ターン長く効果がかかってしまう不具合修正。(11/01 ver1.101)

2020/08/25

NRP_CountTimeBattle.js ver1.09

  • ツクールMZに対応。

NRP_VisualTurn.js ver1.11


2020/08/03〜2020/08/14

NRP_CountTimeBattle.js ver1.08 -> 1.081

  • 速度補正がマイナスの場合、行動予測が正しく表示されない不具合修正。
  • それに伴い、スキル選択時の行動予測で行動者を先頭表示しないようにした。
  • 行動異常時にターンが回らなくなる不具合修正。(ver1.081)

2020/06/09

NRP_CountTimeBattle.js ver1.07 -> 1.071

  • コマンド入力中(inputting)状態を正しく設定するように対応。
    ※他プラグインとの連携に関係するだけで、大きな影響はありません
  • 英語対応。
  • 睡眠などの異常モーションが正しく表示されない不具合修正。(ver1.071)

NRP_VisualTurn.js ver1.08

  • 英語対応。

2020/04/26

NRP_VisualTurn.js ver1.08

  • 敵の識別子表示機能を追加。(詳細

2020/04/18

NRP_CountTimeBattle.js ver1.06 -> 1.062

  • バトルイベントでアクターの個別ターンが正常に取得できない不具合修正。
  • 複数回行動をキャンセルできない不具合修正。(04/25 ver1.061)
  • 行動時に一瞬余計なモーションが入る不具合修正。(04/25 ver1.062)

NRP_VisualTurn.js ver1.06

  • <CtbHide>によって、スキル発動時の順序欄を非表示できるようにした。

2020/01/18

NRP_CountTimeBattle.js ver1.05

  • ターン終了時のバトルイベントで行動主体が次の行動者となる不具合修正。
  • TPの初期値が行動するまで表示されない不具合修正。

NRP_VisualTurn.js ver1.05

  • 味方のターンが来るまで行動順が表示されない不具合修正。
  • 行動する度にコマンドを隠れないように変更(切替可能)。(詳細)
  • 右寄せ下寄せをやりやすいように調整。(01/19 ver1.051 詳細
  • 不要な重複処理を削除。(01/30 ver1.052)

2020/01/09

NRP_CountTimeBattle.js ver1.04

  • 戦闘開始時の敏捷性の分散値など各パラメータを設定可能に。(詳細)

NRP_VisualTurn.js ver1.04(詳細はこちら)

  • ウィンドウ及び敵味方の背景を指定可能に。
  • キャラグラの向き指定を可能に。

2020/01/04

NRP_VisualTurn.js ver1.03(詳細はこちら)

  • プラグインパラメータの画像縦幅・横幅を整理。
    ※画像サイズの指定が前バージョンと変わるのでご注意!

  • SV戦闘キャラに対応。
  • 敵の表示モードを別途指定可能に。
  • 敵の表示モードにピクチャーを指定可能に。
  • アクター、敵キャラのメモ欄で画像を個別指定可能に。
  • ウィンドウの余白を変更できるようにした。
  • ウィンドウを暗くできるようにした。

2020/01/02

NRP_CountTimeBattle.js ver1.03

  • ターゲット選択時に行動順序の更新処理が何度も呼ばれる問題に対応。

NRP_VisualTurn.js ver1.02

  • 画像の拡大縮小率(zoom)を設定可能に。(詳細はこちら
  • レイアウトのずれを全体的に修正。

2019/12/31(ver1.02)

  • 解除が『行動終了時』かつ対象が自身のステートの効果を+1ターン延長。
    以前と挙動が変わるので注意です。

  • スキルの速度補正を行動予測へ反映した。

2019/12/30(ver1.01)

  • 解除を『行動終了時』に設定したステートが解除されない不具合を修正。
  • ディレイ、即時行動などWT(待ち時間)を変化させる技を実装。
  • 状態変化によって敏捷性が変化した際、即座に行動順序へ反映するよう修正。
  • 名前表示の場合、単体の敵でも末尾にアルファベットが表示されるのを修正。
  • 利用規約を明記。
  • プラグインのパラメータを型指定した。

2019/12/29(ver1.00)

  • 公開開始!

パラメータ(基本設定)


計算人数(表示人数)(number)

 ターン順序の計算を行う人数。これがそのまま画面に表示する人数となります。指定なしなら9人です。

防御選択時に計算(calcGuardCommand)ver1.14

 防御コマンドにカーソルを合わせた際、速度補正に応じて順序表示の計算を行います。
 ※MVでは動かないらしいです。

行動選択時に行動者を表示(showActionUser)ver1.15

 行動選択時、順序の先頭に現在の行動者を表示したままにします。

不要なモーション更新削除(notPartyMotionRefresh)ver1.20

 行動選択時、全員のモーション更新をやらないようにします。
 NRP_DamageTiming.jsなどの戦闘高速化系プラグインを入れている場合、回避やダメージのモーションが最後まで再生されない問題に対処できます。

パラメータ(戦闘開始関連)


パーティコマンドの表示(showPartyCommand)ver1.13

 戦闘開始時にパーティコマンドを表示する方法です。

 表示する設定にしておけば、『逃げる』の選択が表示される前に素早い敵から一方的な攻撃を受ける問題にも対応できます。
 他にも、敵が先に行動する場合のみ表示させて、普段は表示しないこともできます。

味方の始動時間バラツキ(actorStartRandomWt)ver1.04

 戦闘開始時の味方の敏捷性を数値%分だけ分散させます。
 例:20ならば、90〜110%に分散。指定なしは0。

 要するに戦闘開始時の行動順序をバラけさせるか否かということです。初期値0のままだと毎戦闘、同じ順番で動きます。

敵の始動時間バラツキ(enemyStartRandomWt)ver1.04

 戦闘開始時の敵の敏捷性を数値%分だけ分散させます。
 例:20ならば、90〜110%に分散。指定なしは20。

 0にすると同種の敵が一斉に行動してきます。それを避けるために20ほど初期値を分散させています。

先制時の始動時間ボーナス(preemptiveAdvantage)ver1.04

 先制攻撃時に、指定した数値の%分だけ味方のターンを早めます。
 初期値は50%です。つまり1/2ターンほど通常より早く行動します。

奇襲時の始動時間ボーナス(surpriseAdvantage)ver1.04

 敵の奇襲時に、指定した数値の%分だけ敵のターンを早めます。
 初期値は50%です。

開始ターン数(startTurn)ver1.04

 戦闘開始時のターン数を設定します。
 これは主に敵の行動パターンの判定に使用されます。
 初期値は1です。

 MVのデフォルトの仕様では、0ターンから開始します。これは公式の説明とも食い違っているので、バグっぽい気がしますが……。一応、元の通り0ターン開始も選択できるようにしています。

パラメータ(逃走関連)


逃走時のペナルティ時間(escapePenalty)ver1.04

 逃走失敗時のペナルティです。
 指定した数値の%分だけ味方のターンを遅らせます。
 初期値は25です。つまり、1/4ターンほど行動を遅らせます。
 ※逃走を失敗した当人は、まるまる1ターン消耗します。

 一人のターンを消費するだけだとターン制に比較してペナルティが低すぎるため、こういう措置にしています。

パラメータ(ステート/能力変化関連) ver1.10


自身へのステートターン+1(selfStatePlusTurn)

 自分にかけたステートは継続ターンを+1します。
 自動解除のタイミングが『行動終了時』のものが対象です。
 この項目は「自分にかけた効果が即座に切れてしまう問題」への対処として設定されたものです。
 基本的にはオンのままで構いません。

自身への強化弱体ターン+1(selfBufPlusTurn)

 自分にかけた強化弱体は継続ターンを+1します。
 同じく「自分にかけた効果が即座に切れてしまう問題」への対処として設定されました。
 ただし、ver1.09まではステートのみこの考慮がされており、強化弱体と不揃いな状態になっていました。

 ver1.09までの動作に戻したい場合はこちらだけをオフにしてください。

蘇生時のWT(reviveWT)

 蘇生時に待ち時間を再設定します。

 baseWt: 1ターン分の待ち時間
 wt: 戦闘不能になった際の待ち時間

 数式も可能です。
 例えば、(baseWt / 2)ならば、蘇生してから0.5ターンで動けるようになります。
 空欄の場合は戦闘不能になった際の待ち時間をそのまま使用します。

スキルの順序変化を予測(predictionSkillOrder)

 WTや敏捷性を変化させるスキル(ステート、能力変化)によって行動順序が変化する場合、それを予測して表示します。

必中のみ予測(predictionCertain)

 命中タイプが必中のスキルのみ予測の対象とします。
 オフの場合は全て対象とします。

NRP_VisualTurn.jsのパラメータ


 画面表示については、主にこちらで設定します。
 色々とカスタマイズが可能ですが、長くなったので別記事に分割しました。
 こちらをご参照ください。

仕様・注意点


  • ステートの自動解除のタイミングが『行動終了時』の場合は個人のターンで効果が切れます。『ターン終了時』の場合は全員のターンで判定されます。基本的には『行動終了時』のほうが使いやすいです。(ver1.01)

  • エディタ上から入力する速度補正の値は%にしています。
    速度補正100の技は+100%。つまり二倍速ということです。
    速度補正-50で1/2倍速です。-100以下だとターンがほぼ回らなくなります。

  • デフォルトにある防御の設定は必ず変えてください。
    速度補正が2000のままだと「ずっと俺のターン」になります。
    また、防御ステートの自動解除は『行動終了時』を推奨します。

  • アクターの複数回行動には対応していません。

  • 戦う、逃げるのパーティコマンドは初期表示しません。
    キャンセルを押すと表示するようになっています。

  • 戦闘の流れを根本的に変えているため、その辺に触れるプラグインとは競合しまくります。
    参考までにこういった影響の大きなプラグインほど上側に配置したほうが、動きやすい傾向にあります。※あくまで傾向です。確実ではありません。

追加機能


ステートのメモ欄

 ステート欄のメモに以下を記入することで、対象の待ち時間を変更できます。
 数値は100で対象の1ターン分の待ち時間となります。
 数式やマイナス値も可能です。

<SetWt:[数値]>

 対象の待ち時間を変更します。

<AddWt:[数値]>

 対象の待ち時間を加算します。


  • <AddWt:50>
    1/2ターン分、相手の行動を遅らせます。いわゆるディレイアタックですね。

  • <SetWt:0>
    対象の待ち時間を0にし、即時行動させます。
    ただし、行動者自身にかけても、この直後にターン経過するので無意味です。
    連続行動をさせたい場合は、スキルの速度補正を2000に設定してください。
    (※参照:連続行動技)
    全体にかければ、サガのクイックタイムっぽくなって最強です。

  • <SetWt:-500>
    対象の待ち時間を−5ターンに変更します。
    つまり、一方的に5回程度動けるようになります。
    自分にかければ、同じくサガのオーヴァドライブっぽくなって最強です。

注意点

 なお、これらはステートがかかった際にのみ発生する効果となります。
 そのため、同一のステートがかかったままだと重ねがけできません。これは自動解除のタイミングを『ターン終了時』の1ターンにしておけば、即座に重ねられるようになります。

 逆に言えば、自動解除のタイミングを『行動終了時』の1ターンにしておけば、「敵が一度行動するまで重ねられないディレイ」のような異常を狙って作れます。

<DeadCTBTurn>

 戦闘不能状態でも行動順序に表示されるようになります。
 一定時間で復活などの特殊なステートを想定しています。

<ExpiredTurnStart>

 自動解除のタイミングが行動終了時のステートに対して、ターン開始時(入力開始時)にステートの自動解除を発生させます。
 防御など入力開始時に効果を切れさせたい場合に有効です。

オブジェクトのメモ欄

 特徴を保有するオブジェクト(アクター、エネミー、職業、装備、ステート、スキル)のメモ欄に以下を記載してください。
 スキルについては覚えているだけで、機能するパッシブスキルとなります。

<StartWt:[数値]>

 戦闘開始時の待ち時間(基準:100)を指定した値に変更します。
 例えば、<StartWt:0>なら即時行動します。
 <StartWt:200>ならば、1ターン分行動開始が遅れます。

スキルのメモ欄

<ReviveWt:[数値]>

 蘇生スキルに対して、蘇生時の待ち時間(基準:100)を設定します。
 <ReviveWt:50>ならば、1/2ターンで行動開始します。

連続行動技(ver1.02)

 スキルの速度補正を2000(MAX)にしておくと、時間経過なしで連続行動を行います。
 瞬時に効果を発動する補助スキルなどの作成に便利です。

画面イメージ


20200104_CTB.jpg

 敏捷性10倍アップの魔法で「ずっと俺のターン!」してみました。
 レイアウトは「NRP_VisualTurn.js」によって色々と変えられます。なお、配置を考えないとキャラやメッセージとかぶりますので工夫してみてください。
 行動時のみ枠を非表示にすることも可能です。

バトルイベント


 CTBでは各行動毎にターンが経過します。そのため、バトルイベントで指定できるターン数は全体での行動回数と一致します。
 各キャラ毎のターン数を参照したい場合はスクリプトで情報を取得します。

取得項目の例

  • 個別ターン数:BattleManager._subject.turnCount()
  • アクターID:BattleManager._subject._actorId
  • 敵ID:BattleManager._subject._enemyId
  • インデックス:BattleManager._subject.index()
    ※配置順で0から始まる番号のことです。
     敵味方別なのでisActor, isEnemy()で区別する必要あり。

 例1:アクター1の2ターン目にイベントを起こす場合の条件。
BattleManager._subject._actorId == 1 && BattleManager._subject.turnCount() == 2

 例2:先頭の敵が3ターン目にイベントを起こす場合の条件。
BattleManager._subject.isEnemy() && BattleManager._subject.index() == 0 && BattleManager._subject.turnCount() == 3

 ※バトルイベントの条件自体は毎ターン実行するようなものにしてください。

 詳細な制御方法についてはバトルイベント拡張プラグインでも解説しています。

関連情報



 なお、ソースコードにはたくさん注釈を入れてみたので、興味ある人は覗いてみてください。時々ゴミが入っているのはご愛嬌。CTBの実装方法について過去に解説しているので、よければどうぞ。

 また、RPG制作講座にCTBの戦闘バランスについて記事を書きました。ターン制との勝手の違いなど、CTBのバランス調整に悩んでいる人はご参考にどうぞ。
 https://newrpg.seesaa.net/article/488700523.html

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