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

2024年07月13日

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


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

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

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

 上の動画では無敵効果によって、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.05(2024/07/13)

更新履歴(History)


2024/07/13(ver1.05)


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>


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


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

<InflictedStateTurn:1>

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

<ReceivedStateTurn:-1>

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

<TargetStateTurnType:test>

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

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

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


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

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


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


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