スキルの効果を拡張する【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 | このブログの読者になる | 更新情報をチェックする