各種モーションの設定【RPGツクールMV&MZプラグイン】

2024年09月29日

 サイドビュー戦闘における各種モーションの設定を行うプラグインです。


 特徴は以下の通りです。

  • 各モーションの再生速度を変更可能。
  • 各状態でのモーションを変更可能。
  • ついでに前進・後退時間も変更可能。

 例えば、以下のような用途に使えます。

  • 歩行モーションを歩行専用として分離する。
    ※デフォルトでは、コマンド確定前の状態にも使用されています。
  • 不要なモーションを統合して、新しいモーションを追加する。
    例えば『魔法&スキル&アイテム』『瀕死&睡眠&状態異常』を統合など。
  • 武器振りモーションの速度をアニメーションに合わせる。
  • DynamicMotionによるアクション中のデフォルトポーズを変更。
    ※通常は歩行(足踏み)になっています。
  • 前進・後退時間を早めて戦闘テンポ高速化。

目次


導入方法

更新履歴

プラグインパラメータ(各種モーション時間)

プラグインパラメータ(移動時間)

プラグインパラメータ(標準モーション)

その他


導入方法


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

 NRP_MotionSetting.js ver1.041(2024/09/29)

 ※NRP_DynamicMotion.jsと共用する場合はこちらを上に配置してください。それ以外でも配置は比較的上部をオススメします。
 配置が下の場合、BattlerGraphicExtend.js(トリアコンタン様)のモーション速度変更と競合することを確認しています。


更新履歴


2024/07/14 -> 2024/09/29(ver1.04 -> 1.041)


2024/07/06(ver1.03)

  • モーションに「なし」を設定できるようにした。

2022/02/24(ver1.02)

  • 移動中はモーション変更しない処理を削除。
    ※そもそも、何のために入れていたのか忘れましたが、DynamicMotionが一部想定外の動作をするため修正します。

2020/08/22 -> 10/29(ver1.01 -> 1.012)

  • ツクールMZ向けにヘルプを修正。
  • 不要な競合を避けるため『モーション時間の初期値』の初期値を空白に変更。(09/21 ver1.011)
  • MZ用に配置順序を指定。(内容変更なし)(10/29 ver1.012)

2020/06/11(ver1.00)

  • 公開開始!
    ※当プラグインはモーション時間の変更プラグイン(NRP_MotionTime)にモーション変更機能を追加して、一新したものです。

注意点


 NRP_CountTimeBattleと併用する場合はあちらをver1.071〜に更新してください。それ以前のバージョンでは『入力時のモーション』設定が有効になりません。
 ちなみに性質上、CTBには待機(行動確定後)状態はありません。

 ver1.03より、モーションに「なし」を設定できるようになりました。
 例えば、スキルを実行する時のモーションを無効にできます。
 初期設定に戻す場合は誤って「なし」を選ばないでください。その場合はDeleteキーで空白にしてください。

プラグインパラメータ(各種モーション時間)


モーション時間の初期値(defaultTime)

 指定がない場合に適用される時間の初期値です。
 各モーション項目をブランクにすると、この値が適用されます。
 空白だと初期値の12になります。

前進(コマンド待ち)(walk)

 前進時のモーション時間です。
 ※MVのヘルプでは『前進』となっていますが、実際にはコマンド待ちや後退時もこのモーションです。

通常待機(wait)

 通常待機時のモーション時間です。
 正確にはコマンド入力後の待機状態を指します。

詠唱待機(chant)

防御(guard)

ダメージ(damage)

回避(evade)

突き(thrust)

振り(swing)

飛び道具(missile)

汎用スキル(skill)

魔法(spell)

アイテム(item)

逃げる(escape)

勝利(victory)

瀕死(dying)

状態異常(abnormal)

睡眠(sleep)

戦闘不能(dead)

 各種モーションの時間です。
 大体そのまんまなので、詳細は割愛します。

プラグインパラメータ(移動時間)


前進時間(stepForward)

 行動時に一歩前へ出る際の所要時間です。
 MVの初期値は12です。8ぐらいにしておくとオススメ。

後退時間(stepBack)

 行動終了時に後ろへ戻る際の所要時間です。
 MVの初期値は12です。8ぐらいにしておくとオススメ。

プラグインパラメータ(標準モーション)


入力時のモーション(inputtingMotion)

 コマンド入力時のモーション名です。
 初期値は前進(walk)です。

アクション中のモーション(actingMotion)

 アクション中のモーション名です。
 初期値は前進(walk)です。

 DynamicMotionなどのアクション中も、命令がなければこの状態になります。

行動確定前のモーション(undecidedMotion)

 行動確定前のモーション名です。
 初期値は前進(walk)です。

待機のモーション(waitMotion)

 待機(行動確定後)のモーション名です。
 初期値は待機(wait)です。

詠唱待機のモーション(chantMotion)

防御のモーション(guardMotion)

ダメージのモーション(damageMotion)

回避のモーション(evadeMotion)

汎用スキルのモーション(skillMotion)

魔法のモーション(spellMotion)

アイテムのモーション(itemMotion)

逃げるのモーション(escapeMotion)

勝利のモーション(victoryMotion)

瀕死のモーション(dyingMotion)

状態異常のモーション(abnormalMotion)

睡眠のモーション(sleepMotion)

戦闘不能のモーション(deadMotion)

 各種状態でのモーション名です。
 大体そのまんまなので、詳細は割愛します。

その他


逃走モーション優先(escapePriority)

 行動異常時でも逃走モーションを優先して実行します。
 ツクールの初期設定では、戦闘不能や睡眠などの行動異常時に『逃げる』を実行した場合、異常のモーションを取ったまま逃走してしまいます。
 これは倒れたまま移動を行うなど非常に不自然なので、それを修正するための項目です。

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

多重職業によって自由度の高い成長システムを実現【RPGツクールMZプラグイン】

2024年09月25日

 アクターに対して、複数の職業を同時に設定することにより、自由度の高い成長システムを実現します。


 RPGツクールMZの職業はかなりクセのある仕様になっています。
 職業とそのレベルによって、アクターの能力がほぼ確定するため、アクター自身の個性を設定することが困難です。

 もし、この仕様に基づいて転職を行うと、全く別の能力を持ったキャラクターになってしまいます。
 ※いわゆるDQ3型およびFF3型

 実際のところ、ほとんどの作品ではアクターと職業を一対一に対応させることで、アクターの個性を表現しています。
 事実上、職業という仕組みが機能していない有様です。

 そこでこのプラグインでは、アクターの能力値のベースとなる職業(ベース職業)を残したまま、さらに追加の職業(追加職業)を付与することで、自由度の高い転職システムを実現します。

 例えば、DQ6のように元の個性を残したままの転職が可能です。
 追加職業は独自のレベルを持ち、そのレベルに応じてスキルも習得します。
 ※初期状態では通常の経験値でレベルアップしますが、独自の成長ポイントを設定することも可能です。

 その他にも、アクターのレベルとは独立して成長するシステム全般に活用できます。例えば、以下のようなシステムを想定しています。

  • DQ6〜7の転職
  • DQ8のスキルマスター
  • FF5のジョブアビリティ
  • FF6の魔石
  • FF8のGF
  • ペルソナシリーズのペルソナ
  • 軌跡シリーズのマスタークオーツ

 ※完全な再現を約束するものではありません。あしからずです。

目次


導入方法(Install)

オススメプラグイン(Recommended Plugins)

更新履歴(History)

使用方法(Usage)

使用例(Sample)

DQ6〜7の転職

FF5のジョブアビリティ

FF8のGF

注意点(Notice)

MZ用プラグインコマンド(PluginCommandMZ)

職業のメモ欄(Note of Classes)

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

敵キャラのメモ欄(Note of Enemies)

アイテムのメモ欄(Note of Items)

プラグインパラメータ

パラメータを加算(ParamPlus)

スキルを維持する(KeepSkill)

最大レベル既定値(DefaultMaxLevel)

Lvアップメッセージ(LvUpMessage)

Lvの表示名(LvName)

EXPの表示名(ExpName)

通常の経験値を使用(UseNormalExp)

職業経験値の既定値(DefaultClassExp)

EXP獲得メッセージ(ClassExpMessage)

職業Lvアップを後回し(ClassLvUpLater)

職業経験値の有効化スイッチ(ClassExpSwitch)

控えの獲得率(BenchClassExpRate)

サブ職業の獲得率(SubClassExpRate)

経験値の共有化(UnificationExp)

経験値の重複禁止(NoDuplicateExp)

職業欄を上書表示(OverwriteClassField)

メニューにレベル表示(ShowLevelOnMenu)

ステータスにレベル表示(ShowLevelOnStatus)

通常経験値の横幅(NormalExpWidth) 2023/07/21

職業経験値の横幅(ClassExpWidth) 2023/07/21

職業レベル最大経験値表記(ClassLvMaxExp) 2023/07/21

最大レベルでメッセージ表示(ShowMaxLevelMessage) 2024/05/05

最大レベル時の文章(MaxLevelMessage) 2024/05/05

控えも強制表示(ShowBenchMaxLevel) 2024/05/05

スクリプト(Script) 2021/10/08


導入方法(install)


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

 NRP_AdditionalClasses.js ver1.134(2024/12/04)

転職画面プラグイン(解説

 NRP_AdditionalCCScene.js ver1.10(2024/09/25)

 ※上から順に登録してください。
 ※CTBプラグインなどに使用するNRP_VisualTurn.jsと併用する場合は、そちらもver1.13〜に更新してください。転職による画像変更が反映されません。

オススメプラグイン(Recommended Plugins)


内部

NRP_TraitsPlus.js

 特徴(能力補正や属性有効度)を加算方式に変更します。
 職業補正によるインフレを防ぎたい場合にどうぞ。
 さらにDQ6〜7型の転職システムを実現したい場合は『装備補正を別計算する』をオンにしておくことを強く推奨します。
 ※2024/06/09に更新しています。

NRP_ChangeEquipment.js

 アクターの装備を自由に変更します。
 標準のイベントコマンドにある『装備の変更』では多重職業で装備可能となった装備が表示されないので、こちらを使用してください。

外部

SimplePassiveSkillMZ.js(神無月サスケ様)

 ※ツクールMZに付属している準公式プラグインです。
 身につけるだけで効果を発揮するパッシブスキルを作成できます。
 職業のレベルアップで取得するパッシブスキルなどにどうぞ。

AbilitySystem.js(うなぎおおとろ様)

 アビリティの着脱ができるアビリティシステムを実現できるプラグインです。
 当プラグインやSimplePassiveSkillMZ.jsと組み合わせると、FF5のジョブアビリティシステムも夢ではなくなります。

HIME_ExpTables.js(HimeWorks様)

 ※リンク先はムノクラ様による日本語化版です。
 ※MV用プラグインですが、MZでも動作します。
 CSVファイルを使って経験値曲線を独自に設定します。
 追加職業の経験値曲線を変更したい場合に有効です。

 例えば、DQ6のように職業レベルの最大値を8程度にしたい場合、デフォルトの経験値曲線ではレベルアップが早すぎて問題があります。そういった場合、このようなプラグインで調整すると便利です。

更新履歴(History)


2024/09/25(NRP_AdditionalCCScene ver1.10)

  • ver1.092にて、クラス一覧のスキル欄を表示した場合に装備品(アクターの初期装備)が増殖してしまう重大な不具合修正。

2024/08/06 -> 2024/09/11
 (NRP_AdditionalCCScene ver1.09 -> 1.092)

  • 他のアクターで習得済のスキルはマスク表示しないように改良した。
  • 職業が空欄の場合はスキル一覧を表示しないようにした。
    ※装備品で得たスキルなどが不自然な表示になってしまうため。
    (2024/08/17 ver1.091)
  • 他のアクターで習得済のスキルについて、現在就いているクラスの分しか表示できていなかったので修正した。(2024/09/11 ver1.092)

2024/05/05 -> 2024/12/04
 (NRP_AdditionalClasses ver1.13 -> 1.134)

  • 職業レベルが最大となった際にメッセージを表示できる機能を追加。
  • 控えの獲得率が空白の場合は「通常経験値と同率を使用」とあるが、外部プラグインによる設定値を取得できてない不具合修正。(2024/07/29 ver1.131)
  • 現在、就いていない職業のレベルをプラグインをコマンドで上げた際、設定に関わらずスキルを習得してしまう不具合修正。(2024/08/04 ver1.132)
  • 『経験値の共有化』と『経験値の重複禁止』がオンの場合に控えメンバーに経験値が入らない不具合修正。(2024/08/30 ver1.133)
  • 職業の追加、職業の削除についてアクターを指定しなかった場合はパーティ全体に適用するようにした。(2024/12/04 ver1.134)

2024/02/25(NRP_AdditionalCCScene ver1.08)

  • 職業数がウィンドウ内に収まらない場合、スクロール位置がおかしくなる不具合修正。

2023/10/26(NRP_AdditionalClasses ver1.12)

  • 職業レベルを下げてから転職すると、スキルを忘れずに引き継げてしまう不具合修正。
  • 転職した際、他の職業でも習得できるスキルを忘れてしまう不具合修正。
  • 注意点を追加。(今更ですが……。)

2023/10/26(NRP_AdditionalClasses ver1.11)

  • サブ職業の獲得率を指定した場合、職業経験値がリセットされてしまう不具合修正。

2023/10/23->11/01(NRP_AdditionalCCScene ver1.07->1.071)

  • スロットが重複禁止かつ、サブ職業使用時に職業位置の入れ替えをできるようにした。
  • 転職時の確認を省略できるようにした。
  • 職業位置の入れ替えにて、空欄と交換しようとするとエラーになる不具合修正。(2023/11/01 ver1.071)

2023/10/03->10/11(NRP_AdditionalClasses ver1.10->1.101)


2023/08/06(NRP_AdditionalCCScene ver1.06)

  • コマンドのマスク表示機能を追加。

2023/08/01(NRP_AdditionalCCScene ver1.05)

  • 通常経験値を非表示できるようにした。
  • 最大レベル時の経験値表示(-------)をNRP_AdditionalClasses.jsから参照するようにした。
  • 職業経験値の項目名の表示位置がズレていたので微調整。

2023/07/21 >08/02(NRP_AdditionalClasses ver1.09->1.091)


2023/06/06->06/20(NRP_AdditionalClasses ver1.08->1.081)


2023/06/05(NRP_AdditionalClasses ver1.07)

  • プラグインコマンドの『経験値の増減』および『レベルの増減』にて変化量を変数で指定できるように対応。

2023/04/26(NRP_AdditionalClasses ver1.06)

  • マップ上で職業レベルがアップ時した際に、ウェイトをするように修正。

2023/04/24(NRP_AdditionalClasses ver1.05)

  • 職業レベルアップの表示を各自の通常レベルアップの直後に行うように修正。
    職業Lvアップを後回しをオンにすれば以前の挙動に戻ります。

2023/04/24(NRP_AdditionalClasses ver1.04)

  • <ClassExpRate>の設定を追加し、職業経験値の既定値に対する%を指定できるようにした。

2023/04/10(AdditionalCCScene ver1.04)


2023/04/02(AdditionalCCScene ver1.03)

  • 職業名がウィンドウに収まらない場合に縮小されない不具合修正。

2023/03/28(NRP_AdditionalClasses ver1.03)


2023/01/21(NRP_AdditionalClasses ver1.02)

  • 複数職業時、途中に空欄があるとエラーになる不具合修正。

2022/07/31->09/09(AdditionalCCScene ver1.02->1.022)

  • 転職条件のアクターが機能していない不具合修正。
  • プラグインコマンドからアクターを指定した際、該当者が仲間にいないと先頭のアクターが表示されてしまう不具合修正。
  • ver1.02にてアクターを指定しなかった場合、エラーになる不具合修正。(ver1.021)
  • 職業の重複禁止がオンの際、データロード後の転職時にエラーとなる不具合修正。(2022/09/09 ver1.022)

2021/11/20 -> 2022/06/10(ver1.01 -> 1.011)

  • 転職後、無効になった装備品が外れるように修正。
  • 『職業経験値の有効化スイッチ』がオフの場合は戦闘勝利時に獲得した職業経験値を表示しないように修正。(2022/06/10 ver1.011)
  • 装備画面の名前配置を変更するプラグインと組み合わせると、転職画面の名前が想定外の配置になる問題に対応。
    (2022/06/11 NRP_AdditionalCCScene.js ver1.013)
  • 上の再修正。(2022/06/11 NRP_AdditionalCCScene.js ver1.014)

2021/09/26 -> 10/08(ver1.00 -> 1.001)

  • 公開!
  • プラグインコマンドの表示誤り修正。(ver1.001)
  • スクリプトの解説追加(10/08)

使用方法(Usage)


 追加用の職業を作成し、プラグインコマンドでアクターに追加すればOKです。


 ベース職業と追加職業の2つの特徴を併せ持ったアクターが誕生します。

 さらに転職によって自由なアクターのカスタマイズが可能です。
 付属の『NRP_AdditionalCCScene.js』を利用すれば、簡単に転職システムを作成できます。

 その他にも当プラグインは非常にカスタマイズ性が高くなっています。
 プラグインコマンドやパラメータの解説をお読みください。

使用例(Sample)


 市販RPGのシステムを例に使用方法の例を解説します。

ドラクエ6〜7の転職

 NRP_AdditionalCCScene.jsに転職対象の追加職業を登録し、プラグインコマンド(またはメニュー画面)から転職画面を呼び出せばOKです。
 プラグインパラメータの『スキルを維持する』をオンにすると、転職してもスキルを引き継ぐようになります。

 レベル8でマスターになる仕様を再現したい場合は、『最大レベル既定値』で設定可能です。さらに前述の通り『HIME_ExpTables.js』で経験値曲線を調整できます。

 なお、初期状態だと職業の成長は単純な経験値制になります。戦闘毎に熟練度を1加算するような仕組みまで再現したい場合は、自作する必要があります。

FF5のジョブアビリティ

 複雑な仕様から構成されているため、難易度は高いですが外部プラグインとの併せ技でそれなりの再現が可能です。
 ※後日、詳細な記事を作成するかも……。

ABP

 FF5のジョブは経験値ではなく、ABPで成長する仕様ですが、それも再現可能です。
 プラグインパラメータの『通常の経験値を使用』をオフにします。さらに敵キャラのメモ欄に職業専用のEXPを設定すればOKです。

 『レベル』『経験値』といった名称もプラグインパラメータで変更可能なので、好きなように変更してください。

ジョブアビリティ

 『スキルを維持する』をオンにした上で、職業で習得するスキルを上述の『AbilitySystem.js』で着脱できるようにすれば、それっぽくなります。

 しかしながら『黒魔道士』の『黒魔法』のように、装着すると系統まるごと使えるようになるスキルはそれだけでは再現できません。
 そこで黒魔道士での作成例を挙げてみます。

 黒魔道士の特徴にはスキルタイプの『黒魔法』を追加します。それにより、その職にいる間は黒魔法系スキルを使えるようにします。
 黒魔法系スキルの習得方法はレベルアップでも、店買いでも何でも構いません。ただし、こちらは『AbilitySystem.js』の対象に含めないように注意してください。

 そして、上述の『SimplePassiveSkillMZ.js』によって黒魔法のスキルタイプを追加するパッシブスキルを作成します。それを職業のレベルアップで習得するようにします。

 『AbilitySystem.js』により『黒魔法』を着脱可能に設定します。
 以上で黒魔道士以外の職業でも『黒魔法』スキルを装着すると、黒魔法系スキルを使用できるようになります。
 ※レベル毎に使える黒魔法が細かく変化するような仕様にまでは対応していません。スキルの仕様条件系プラグインと組み合わせれば、できるかもしれませんが……。

FF8のGF

 プラグインパラメータの『経験値の共有化』をオンにすれば、職業の経験値をパーティで共有するようになります。
 つまり、誰が転職しても同じ職業は同じレベルになります。
 これによりアクターではなく、職業そのものが成長するシステムを作成可能です。

 これだけでかなりGFっぽくなると思います。
 ※さすがに魔法を装備するとかまでは対応していません。

 ペルソナ(1〜2)なども同じ要領です。

注意点(Notice)


 標準では転職すると、その職業で覚えたスキルを忘れる仕様になっています。
 その際、該当のスキルは他の方法で覚えたスキルであっても、区別なく忘れてしまいます。
 (仕様上、区別が大変なので、修正の予定もありません。)

 追加職業で習得するスキルと、その他の手段で習得するスキルは、区別して登録するようにお願いします。

MZ用プラグインコマンド(PluginCommandMZ)


職業の追加

 追加職業をアクターに設定します。

 インデックスを変更することによって、複数の職業を追加できます。
 サブ職のようなシステムを作りたい場合に有用です。

職業の削除

 追加職業を削除します。

経験値の増減

 追加職業に対して経験値を増減させます。
 イベントコマンドの『経験値の増減』とは異なり、追加職業に対してのみ増減を行います。

レベルの増減

 追加職業に対してレベルを増減させます。
 イベントコマンドの『レベルの増減』とは異なり、追加職業に対してのみ増減を行います。

追加職業の情報を取得

 アクターが就いている追加職業に関する情報を変数に格納します。
 職業ID、レベル、経験値を取得可能です。

 追加職業は通常のイベントコマンドでは判別できないため、このコマンドを使用してください。

職業のメモ欄(Note of Classes)


<MaxLevel:?>

 追加職業毎に最大レベルを指定します。
 プラグインパラメータの既定値よりも優先されます。

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


<KeepSkill>

 スキルを維持しない設定でも、転職時にスキルを維持するようにします。
<KeepSkill:false>

 逆にスキルを維持する設定でも、維持しないようにします。

敵キャラのメモ欄(Note of Enemies)


<ClassExp:?>

 追加職業にのみ加算する経験値を指定します。
 『通常の経験値を使用』をオフにすることによって、独自の熟練度のようなものを実装できます。

 戦闘終了時の表示には『EXPの表示名』が使用されます。

<ClassExpRate:?>

 獲得できる追加職業の経験値を指定した%に変更します。
 例えば、200ならば200%(2倍)になります。
 職業経験値の既定値とのセットで使うことを想定しています。

アイテムのメモ欄(Note of Items)


<AddClassExp:?>

 使用すると職業経験値を増加させます。
 レベルアップ時はアイテムメニューを閉じてから、メッセージを表示します。

プラグインパラメータ


パラメータを加算(ParamPlus)

 職業の能力値をアクターに加算します。
 追加職業のレベルが上がるほど、アクターの能力が上昇する成長システムなどを作成できます。

スキルを維持する(KeepSkill)

 転職時、スキルを維持するようにします。

最大レベル既定値(DefaultMaxLevel)

 追加職業の最大レベルの既定値です。
 特に指定がなければ、この値が使用されます。

Lvアップメッセージ(LvUpMessage)

 職業のレベルアップメッセージを表示します。
 %1=アクター, %2=職業名, %3=Lvとなります。

Lvの表示名(LvName)

 職業のレベルを表す表示名です。

EXPの表示名(ExpName)

 職業の経験値を表す表示名です。

通常の経験値を使用(UseNormalExp)

 通常の経験値取得時に、追加職業へも経験値を反映させます。
 独自ポイントを使う場合はオフにしてください。

職業経験値の既定値(DefaultClassExp)

 職業経験値の既定値を設定します。
 数式可(例:1 + Math.floor(a.exp() / 100))

「いちいち設定するの面倒くせえ、一律で経験値の1/100でいいよ」
 ……なんて人のための項目です。

EXP獲得メッセージ(ClassExpMessage)

 職業経験値の獲得メッセージを表示します。
 %1=数値, %2=EXPの表示名となります。

職業Lvアップを後回し(ClassLvUpLater)

 職業レベルアップの表示を、アクター全員のレベルアップより後で表示します。
 ※NRP_AdditionalClasses.js ver1.04以前に挙動を戻すための項目です。基本的にはオフでよいと思います。

職業経験値の有効化スイッチ(ClassExpSwitch)

 指定のスイッチがオンの際、追加職業への経験値の増減を有効化します。
 空白なら常に有効。

控えの獲得率(BenchClassExpRate)

 控えメンバーの職業経験値の獲得率です。
 数式可空白の場合は通常経験値と同率を使用。

サブ職業の獲得率(SubClassExpRate)

 サブ職業の経験値獲得率です。
 ※ここでいうサブ職業とは2つ目以降に設定された職業のことです。
 0.5で50%になります。
 空白の場合は先頭の職業と同率を使用。

 数式可。
 例:「1 / no」ならば2番目の職業は1/2、3番目の職業は1/3になります。

経験値の共有化(UnificationExp)

 職業の経験値をパーティで共有します。
 成長する魔石のようなシステムに使えます。

経験値の重複禁止(NoDuplicateExp)

 経験値の共有化を行う場合、かつ複数人が同一の職業に就いている場合、経験値の重複加算を禁止します。

職業欄を上書表示(OverwriteClassField)

 追加職業を職業欄に表示します。(通常の職業は非表示)
 先頭の追加職業(インデックス=0)のみが対象です。

メニューにレベル表示(ShowLevelOnMenu)

 追加職業のレベルをメニュー画面に表示します。
 数字のみを表示する場合と全表示(レベル表記を含める)を行う場合を選択できます。

 ただし、全表示にはある程度の画面幅が必要です。デフォルトの画面幅では厳しいと思われるのでご注意ください。

ステータスにレベル表示(ShowLevelOnStatus)

 追加職業のレベルをステータス画面に表示します。
 なお、調整のために二つ名を削除します。

通常経験値の横幅(NormalExpWidth) 2023/07/21

 通常経験値をステータス画面に表示する横幅です。

職業経験値の横幅(ClassExpWidth) 2023/07/21

 職業経験値をステータス画面に表示する横幅です。

職業レベル最大経験値表記(ClassLvMaxExp) 2023/07/21

 職業レベルが最大になった際の経験値欄の表記です。

最大レベルでメッセージ表示(ShowMaxLevelMessage) 2024/05/05

 追加職業が最大レベルに到達した際にメッセージを表示します。
 職業レベルが最大になった際は、以降の職業経験値が無駄になるため、その通知を行うための機能です。

最大レベル時の文章(MaxLevelMessage) 2024/05/05

 最大レベル到達時のメッセージです。
 %1=アクター名, %2=職業名, %3=レベルです。

控えも強制表示(ShowBenchMaxLevel) 2024/05/05

 控えメンバーもメッセージを強制表示します。
 NRP_BenchMembersExp.jsによって、控えのレベルアップを非表示にしている場合に有効です。それ以外の環境では最初から表示する仕様なので意味がありません。

スクリプト(Script) 2021/10/08


actor.currentAdditionalClass(0);

 アクターの追加職業情報を取得します。

 サブ職業が存在する場合は、数値(0が先頭)を増やせばOKです。
 例えば、以下で先頭のアクターの職業名や職業レベルを取得できます。
$gameParty.members()[0].currentAdditionalClass(0).name;
$gameParty.members()[0].currentAdditionalClass(0).level;

 ※actorはGame_Actorクラスのオブジェクトです。
 ※追加職業に就いてない場合はエラーになります。


actor.isAdditionalClassId(1);

 アクターが追加職業に就いているかを判定します。
 数値は職業IDです。

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

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

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


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

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

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

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

目次


導入方法(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.012(2024/09/25)

更新履歴(History)


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

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

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 11:00 | RPGツクールMZ&MV | このブログの読者になる | 更新情報をチェックする