バトラーのグラフィックを拡張【RPGツクールMZ&MVプラグイン】

2025年08月19日

 バトラーのグラフィックを拡張します。


 当プラグインはトリアコンタン様のBattlerGraphicExtend.jsを元にDynamicMotion用に調整したものです。
 競合を最小限に抑えるため、オリジナルのプラグインよりも機能は縮小されています。
 

目次


導入方法(Install)

更新履歴(History)

使用方法(Usage)

フラッシュの仕様(Flash Specifications)

スクリプト(Script)

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

フラッシュ方式(FlashType)

フラッシュ間隔(FlashInterval)

間隔による優先設定(PriorityByInterval)

ステートアイコンを光らせない(NoFlashStateIcon)

ステートアイコンZ座標(StateIconZ)

ステートアイコンX座標調整(StateIconAdjustX)

ステートアイコンY座標調整(StateIconAdjustY)


導入方法(install)


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

 NRP_BattlerGraphicExtend.js ver1.051(2025/08/19)

更新履歴(History)


2025/01/28(ver1.05 -> 1.051)

  • ステートアイコンを光らせない設定の場合、ステートアイコンの位置がズレる不具合を修正。
  • それに伴い、ステートアイコンの座標を調整できるようにした。
  • ステートアイコンを光らせない設定が途中出現の敵に対して機能しない不具合修正。(2025/08/19 ver1.051)

2024/08/11(ver1.04)

  • ステートアイコンを光らせない設定の場合、MPP_StatePopup.jsとの併用時にポップアップが標準のアイコンより下に表示されてしまう問題に対応した。
  • ステートアイコンのZ座標を指定できるようにした。

2024/06/19 -> 2024/06/20(ver1.03 -> 1.031)


2024/06/10(ver1.02)

  • 複数のフラッシュが設定されている場合、交互にフラッシュを表示するように修正。
  • それに伴い、フラッシュの優先度をつける機能を実装。
  • 『バトラーのフラッシュ間隔』の単位を変更し、そのまま一度のフラッシュの長さに対応するようにした。
    フラッシュの長さがver1.01よりおおよそ1/6の長さ(正確には1/6.28)になりますので、修正しないとフラッシュが異様に速くなります! 前回から更新した場合は<BattlerFlashInterval>の値を6倍に変更してください。
  • フラッシュ間隔の初期値を設定可能に。(初期値:90)
  • スクリプトによるフラッシュ機能を実装。
  • また、NRP_DynamicAnimationMV2MZ.jsと併用している場合はあちらも最新化するとフラッシュのチラつきが安定します。

2023/09/06(ver1.01)

  • 公開!

使用方法(Usage)


 特徴を保有するオブジェクト(アクター、エネミー、職業、装備、ステート)のメモ欄に以下を記載してください。

バトラーの色調変更

<BattlerTone:r,g,b,g>

 r:赤 g:緑 b:青(-255..255) g:グレー(0..255)

 ・例(真っ赤):<BattlerTone:255,-255,-255,0>
 ・例(灰色):<BattlerTone:0,0,0,255>

バトラーのフラッシュ

<BattlerFlash:r,g,b,a>

 r:赤 g:緑 b:青 a:強さ(0..255)

バトラーのフラッシュ間隔

<BattlerFlashInterval:f>

 f:フレーム数(標準は15)

バトラーのフラッシュ優先度

<BattlerFlashPriority:p>

 p:優先度(初期値は0)

バトラーのモーション速度

<BattlerMotionRate:n>

 n:倍率(100%)

 ・例:<BattlerMotionRate:150>
 ※この設定はアクターのみ有効です。

注意!

 <BattlerMotionRate:0>でモーションを停止しますが、DynamicMotionと組み合わせた場合に戦闘画面がフリーズする現象を確認しました。永遠に終わらないモーションを待っているものと推測されます。相性が悪い可能性があるのでご注意ください。


フラッシュの仕様(Flash Specifications)


 バトラーに複数のフラッシュの設定がされている場合、赤→青→緑→赤……というように交互にフラッシュが表示されます。


 ただし、フラッシュに優先度(<BattlerFlashPriority>)が設定されている場合は、最も高い優先度のフラッシュだけが(交互に)表示されます。

 また、プラグインパラメータの『間隔による優先設定』をオンにすると、間隔が最も短いフラッシュだけが優先して表示されるようになります。

スクリプト(Script)


 以下でバトラーをフラッシュさせられます。
battler.startFlash([r,g,b,a], f);

 r:赤 g:緑 b:青 a:強さ(0..255) f:フレーム数
 ※battlerはGame_Battler型のオブジェクトです。

 例えば、DynamicAnimationで、対象を赤くフラッシュ(30フレーム)させたい場合は以下のようになります。
<D-Animation>
script = b.startFlash([255,0,0,255], 30);
</D-Animation>

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


フラッシュ方式(FlashType)

 フラッシュの表示方式です。
 半分ならば、最低でも色を半分残します。

 0:半分はBattlerGraphicExtend.jsのオリジナルの機能、1:全部は当プラグイン独自の機能になります。

フラッシュ間隔(FlashInterval)

 フラッシュの間隔の初期値です。
 1/60秒単位で設定してください。

間隔による優先設定(PriorityByInterval)

 複数のフラッシュ設定が存在する場合、間隔が短いものだけを表示します。

ステートアイコンを光らせない(NoFlashStateIcon)

 敵キャラのステートアイコンを本体と分離することでフラッシュの対象から外します。
 ※上の動画を見てもらうと分かりやすいですが、通常は敵キャラをフラッシュさせると、ステートアイコンまでフラッシュしてしまう仕様です。

ステートアイコンZ座標(StateIconZ)

 ステートアイコンを光らせない場合にアイコンのZ座標を指定します。

ステートアイコンX座標調整(StateIconAdjustX)

 ステートアイコンを光らせない場合にアイコンのX座標を調整します。

ステートアイコンY座標調整(StateIconAdjustY)

 ステートアイコンを光らせない場合にアイコンのY座標を調整します。

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

特殊な特徴を実現する【RPGツクールMZ&MVプラグイン】

2025年08月17日

 特殊な特徴を実現します。


 各オブジェクト(アクター、エネミー、職業、装備、ステート、スキル)に対して、特殊な特徴を設定できます。
 スキルについては覚えているだけで、発揮するパッシブスキルとなります。

 例えば、以下のような特徴を設定できます。

  • 与えるダメージ、受けるダメージ倍率を変更する。
  • ステートの継続ターンを変更する。
  • 無敵になってあらゆる効果を受けなくする。

 上の動画では無敵効果によって、FFの竜騎士っぽいジャンプ技を実現しています。

目次


導入方法(Install)

更新履歴(History)

ダメージ倍率の変更(Damage Rate)

ステート継続ターンの変更(State Turn)

無敵(Invincible)

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

<ダメージ倍率関連>(DamageRate)

対象のダメージタイプ(DR_DamageType)
対象の命中タイプ(DR_HitType)
対象のスキルタイプ(DR_SkillType)

導入方法(install)


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

 NRP_TraitsEX.js ver1.07(2025/08/17)

更新履歴(History)


2025/08/17(ver1.07)


2025/05/13 -> 2025/07/02(ver1.06 -> 1.061)


2024/07/13 -> 2025/03/15(ver1.05 -> 1.051)


2024/05/21 -> 2024/06/17(ver1.04 -> 1.041)


2024/03/25(ver1.03)

  • 自動戦闘のアクターが最適な行動を選択できなくなる不具合修正。
    ※特にMVでは行動自体ができなくなっていた。

2023/10/24(ver1.02)


2023/10/02 -> 2023/10/19(ver1.011 -> 1.012)

  • ダメージ倍率関連の条件を細かく指定できるように機能追加。
  • 無敵効果がMVでエラーになる不具合修正。(2023/10/19 ver1.012)

2023/09/02(ver1.00)

  • 公開!

ダメージ倍率の変更(Damage Rate)


 オブジェクトのメモ欄に以下を指定してください。

<InflictedDamageRate:1.5>

 与えるダメージを1.5倍にします。
 1.0が100%に相当します。
 なお、こちらの機能に対してはスキルの性能を変化させるプラグインのほうがより詳細に設定できます。

 また、数式も有効です。

 例:HPが減るほど与ダメージ増加(最大200%)
<InflictedDamageRate:1 + 1*(1 - a.hp/a.mhp)>

<ReceivedDamageRate:1.5>

 受けるダメージを1.5倍にします。
 1.0が100%に相当します。

 以降はダメージ倍率の変更を行うスキルを判定するための条件です。
 組み合わせて使用してください。

<DamageRateDamageType:1,5>

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

<DamageRateHitType:1>

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

<DamageRateSkillType:0,2>

 スキルタイプ0,2のスキルのダメージ倍率を変更します。
 通常だと0は通常攻撃、2:必殺技です。
 対応については、データベースのタイプ>スキルタイプをご覧ください。
 ※省略時はプラグインパラメータの設定を使用します。空欄にした場合は全て有効となります。

<InflictedDamageScript:[Script]>

 与えるダメージ倍率によってスクリプトを実行します。
 <InflictedDamageRate>とセットで使用してください。

 例:ダメージ倍率が1.5以上の場合にフラッシュを実行します。
<InflictedDamageScript:1.5 <= rate ? $gameScreen.startFlash([255,255,255,128], 10) : null>

 ちなみに『$gameScreen.startFlash([赤,緑,青,強さ], 時間)』です。

<WeakEffectCondition:[Script]>

 指定したスクリプト条件を元に、NRP_DamageEffect.jsにおける弱点として判定するようになります。
 <InflictedDamageRate>とセットで使用してください。

 例:ダメージ倍率が1.5以上の場合に弱点として扱います。
<WeakEffectCondition:1.5 <= rate>


ダメージ倍率の変更無効(No Change Damage Rate)


 スキル(またはアイテム)のメモ欄に以下を指定してください。

<NoChangeDamageRate>

 スキル使用時のダメージ倍率の変更を無効化します。
 固定ダメージ技など他の特徴による影響を受けさせたくない場合に設定してください。

ステート継続ターンの変更(State Turn)


 オブジェクトのメモ欄に以下を指定してください。

<InflictedStateTurn:1>

 与えたステートの継続ターンを1延長します。

<ReceivedStateTurn:-1>

 受けたステートの継続ターンを1減らします。

<TargetStateTurnType:test>

 ステートターンタイプを"test"に設定します。
 上述の継続ターンを影響させるステートを限定させたい場合に組み合わせて使用します。

 さらにターンを延長したいステートのメモ欄に以下を指定してください。
<StateTurnType:test>

 ※カンマ区切りで複数指定も可能です。
 (例:<StateTurnType:test1,test2>)


例:与えた毒ステートを延長する特徴を持った職業

 職業のメモ欄に以下2つを指定
<InflictedStateTurn:1>
<TargetStateTurnType:poison>


 毒ステートのメモ欄に以下を指定
<StateTurnType:poison>


スキル毎の設定

 以下はスキルのメモ欄のみ有効です。
 そのスキルで与えたステートの継続ターンを1延長します。
<AddStateTurn:1>


無敵(Invincible)


 オブジェクトのメモ欄に以下を指定してください。

<Invincible:1>

 無敵になってあらゆるスキルを受けつけなくなります。
 数値が0なら結果非表示, 1ならミス、2なら回避として扱います。

 また、スキルのメモ欄に以下を指定すると、無敵状態を無視して命中するスキルを作成できます。
<IgnoreInvincible>

 なお、バトラーが無敵状態かどうかは以下の関数で判定できます。
a.isInvincible()

 ※aはバトラー

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


<ダメージ倍率関連>(DamageRate)

 ダメージ倍率変更の対象とするスキルの条件を指定します。

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

 ダメージ倍率を変更するダメージタイプ。
 複数可。
 0:なし, 1:HPダメージ, 2:MPダメージ, 3:HP回復, 4:MP回復, 5:HP吸収, 6:MP吸収

対象の命中タイプ(DR_HitType)

 ダメージ倍率を変更するスキルの命中タイプ。
 複数可。
 0:必中, 1:物理攻撃, 2:魔法攻撃

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

 ダメージ倍率を変更するスキルタイプ。
 複数可。
 標準だと0:通常攻撃. 1:魔法, 2:必殺技となります。

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

スキルの効果を拡張する【RPGツクールMZ&MVプラグイン】

2025年08月13日

 スキルの効果を拡張します。


 例えば、以下のようなスキルが作成できます。

  • 会心率の高いスキル
  • 成功率が100を超えるスキル
  • ランダムでステートを付加するスキル
  • 条件によって属性や範囲が変化するスキル
  • 全てのMPを消費するスキル

 ※TorigoyaMZ_AddStateSkill.jsとタグ名(<AddState>)が被っていて併用できないらしいので、ご注意ください。その代わりとして、似たような機能を提供しています。
 また、スキル連結プラグインでも色々とできるのでオススメです。


目次


導入方法(Install)

更新履歴(History)

使用方法(Usage)

会心率を加算

成功率を変更

ステート付加率を変更

追加ステートを付与

自身にステートを付与

属性を変更

範囲を変更

ダメージタイプを変更

連続回数を変更

ランダム回数を変更

TP回復

自身にダメージ

消費MPを変更

消費TPを変更

防御ステートを無視

数式用の変数


導入方法(install)


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

 NRP_SkillEX.js ver1.076(2025/08/13)

更新履歴(History)


2024/10/09 -> 2025/08/13(ver1.07 -> 1.076)


2024/09/08(ver1.06)


2024/06/24 -> 2024/07/22(ver1.05 -> 1.051)

  • 消費MP消費TPを変更する機能を追加した。
  • TP回復量に小数が含まれる場合、正しく表示されないため、四捨五入するようにした。(2024/07/22 ver1.051)

2024/05/21(ver1.04)

  • ステート付加率が100倍で計算されていた不具合を修正。
    <StateRate:100>は命中率100%となるのが正しいです。
    ※影響が大きいので注意してください!

2023/10/02 -> 2023/12/28(ver1.03 -> 1.031)


2023/09/19(ver1.02)


2023/09/01(ver1.01)

  • 公開!

使用方法(Usage)


 スキル、アイテムのメモ欄に以下を記載してください。
 以下はいずれも数式が使用できます。

会心率を加算

<AddCriticalRate:50>

 会心率を50%加算します。

成功率を変更

<SuccessRate:150>

 スキルの成功率を150%にします。
 (元の値は無視されます。)

 例えば、以下のようにすればレベルが上がるに従い命中率が上がります。
<SuccessRate:100 + a.level>


ステート付加率を変更

<StateRate:150>

 使用効果のステート付加率を150%にします。
 (元の値は無視されます。)

追加ステートを付与

<AddState:4>
<AddStateRate:50>

 4番のステートを50%の確率で付加します。
 ※<AddStateRate>を省略すると100%になります。

 例えば、以下は4,5,6のステートをランダムで付加します。
<AddState:4 + Math.randomInt(3)>

 例えば、以下は4,7,10のステートをランダムで付加します。
<AddState:[4,7,10][Math.randomInt(3)]>

 ※Math.randomInt(3)は3未満の整数をランダムで選択します。この場合は0〜2となり、3は含みません。

自身にステートを付与

<AddSelfState:4>

 スキルの使用者に4番のステートを付加します。

属性を変更

<ChangeElement:2>

 属性を2:炎に変更します。

範囲を変更

<ChangeScope:1>

 範囲を指定した値へ変更します。
 0:なし, 1:敵単体, 2:敵全体, 3:敵1体ランダム, 4:敵2体ランダム,
 5:敵3体ランダム, 6:敵4体ランダム, 7:味方単体, 8:味方全体,
 9:味方単体(戦闘不能), 10:味方全体(戦闘不能), 11:使用者,
 12:味方単体(無条件), 13:味方全体(無条件), 14:敵味方全体

 例:スキル100を覚えている場合は敵全体。それ以外は敵単体
<ChangeScope:a.isLearnedSkill(100) ? 2 : 1>


ダメージタイプを変更

<ChangeDamageType:3>

 ダメージタイプを指定した値へ変更します。
 1:HPダメージ, 2:MPダメージ, 3:HP回復, 4:MP回復, 5:HP吸収, 6:MP回復

 例:味方全体のHPを回復するが、自分はダメージを受ける。
<ChangeDamageType:a == b ? 1 : 3>


連続回数を変更

<ChangeNumRepeats:2>

 連続回数を指定した値へ変更します。

ランダム回数を変更

<ChangeNumRepeats:5>

 範囲がランダムの場合の対象数を指定した値へ変更します。
 通常は不可能な5回以上も有効です。

 例:2〜4回、ランダムに実行する。
<ChangeNumRandom:2 + Math.randomInt(3)>

 ※Math.randomInt(3)は3未満の整数をランダムで選択します。

TP回復

<RecoverTp:100>

 TPを100回復します。
 マイナスならダメージになります。

 例:使用者の魔力分だけTPを回復。
<RecoverTp:a.mat>


自身にダメージ

<SelfDamage:a.mhp / 10>

 自身に最大HPの1/10のダメージを与えます。

消費MPを変更

<ChangeMpCost:100>

 消費MPを指定した値へ変更します。
 例:全MPを消費
<ChangeMpCost:a.mp>

 なお、MP消費率は無視されるようになります。
 もし、含みたい場合は以下のように数式にMP消費率(mcr)を組み込んでください。
<ChangeMpCost:a.mpa.mcr>

 ダメージ計算式に消費前のMPを使用したい場合は以下で参照できます。
a.startMp()


消費TPを変更

<ChangeTpCost:100>

 消費TPを指定した値へ変更します。

 ダメージ計算式に消費前のTPを使用したい場合は以下で参照できます。
a.startTp()


防御ステートを無視

<IgnoreGuard>

 防御ステートを無視して、半減されずにダメージを与えます。

数式用の変数


 当プラグインの数式では以下の変数を使用できます。

targetNo(対象番号)

 例えば、範囲が『敵4体 ランダム』だった場合、0,1,2,3の数値で区別できます。
 以下は4撃目のみ炎属性、それ以外は物理属性となります。
<ChangeElement:targetNo == 3 ? 2 : 1>


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