ステートの機能を色々と拡張【RPGツクールMZ&MVプラグイン】

2023年01月22日

 ステートの機能を色々と拡張します。


 例えば、以下のようなステートが作成できます。

  • 割合効果ではない毒や能力変化
  • 使用者の魔法力が高いほど効果の上がる毒や能力変化
  • 命中時にダメージを与えるステート
    ※つまり、ステート耐性で命中の決まるダメージ技です。
     FFシリーズのグラビデや即死効果など。


目次


導入方法(Install)

更新履歴(History)

再生値の設定(Regeneration Value)

能力変化の設定(Parameter Change)

ステート時にダメージ(Damage State)

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

パラメータリスト(ParameterList)

ステートを常に更新(AlwaysUpdateState)

更新方法(UpdateType)

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

タイプ(Type)

ID(Id)

識別名(Key)

タグ名(Tag)


導入方法(install)


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

 NRP_StateEX.js ver1.00(2023/01/22)

 ※NRP_TraitsPlus.jsと併用する場合は、当プラグインを下に配置してください。

更新履歴(History)


2023/01/22(ver1.01)

  • 『ステートを常に更新』をオンにすると敵撃破時にエラーとなる不具合修正。

2022/06/24(ver1.00)

  • 公開!

再生値の設定(Regeneration Value)


 ステートのメモ欄に以下を指定してください。

<HrgExValue:?>

 指定した計算式を元にHP再生値を設定します。

<MrgExValue:?>

 指定した計算式を元にMP再生値を設定します。

<TrgExValue:?>

 指定した計算式を元にTP再生値を設定します。

※いずれも『再生率』ではなく『再生値』です。
 割合ではない数値を指定可能です。



 例えば、以下の数式では「魔法力 - 魔法防御」を設定します。
<HrgExValue:b.mdf - a.mat>


 魔法力が相手の魔法防御を上回った分だけ、継続的にダメージを与え続けます。
 ※ダメージを与える場合は値をマイナスにしてください。

 aはステートをかけた側、bはかけられた側です。
 値の計算はステートがかかったタイミングで行われます。
 ランダム幅などの設定はできません。

応用

<HrgExValue:Math.min(b.mdf - a.mat, -1)>


 先程の「b.mdf - a.mat」の式では、相手の魔法防御が高い場合、逆に回復してしまいます。
 そこで最大でも値が-1以下となるように設定する数式です。

能力変化の設定(Parameter Change)


 ステートのメモ欄に以下を指定してください。

通常能力値

<MhpEx:?>

 指定した計算式を元に最大HP(mhp)を変更します。

<MmpEx:?>

 指定した計算式を元に最大MP(mmp)を変更します。

<AtkEx:?>

 指定した計算式を元に攻撃力(atk)を変更します。

<DefEx:?>

 指定した計算式を元に防御力(def)を変更します。

<MatEx:?>

 指定した計算式を元に魔法力(mat)を変更します。

<MdfEx:?>

 指定した計算式を元に魔法防御(mdf)を変更します。

<AgiEx:?>

 指定した計算式を元に敏捷性(agi)を変更します。

<LukEx:?>

 指定した計算式を元に運(luk)を変更します。


 例えば、以下なら攻撃力をスキル使用者の魔法力の半分だけ上昇させます。
<AtkEx:a.mat / 2>

 なお、これらの補正値は通常の能力値補正や強化/弱体の計算よりも、後に加算・減算されます。

追加能力値

 ※いずれも1が100%となります。

<HitEx:?>

 指定した計算式を元に命中率(hit)を変更します。

<EvaEx:?>

 指定した計算式を元に回避率(eva)を変更します。

<CriEx:?>

 指定した計算式を元に会心率(cri)を変更します。

<CevEx:?>

 指定した計算式を元に会心回避率(cev)を変更します。

<MevEx:?>

 指定した計算式を元に魔法回避率(mev)を変更します。

<MrfEx:?>

 指定した計算式を元に魔法反射率(mrf)を変更します。

<CntEx:?>

 指定した計算式を元に反撃率(cnt)を変更します。

<HrgEx:?>

 指定した計算式を元にHP再生率(hrg)を変更します。

<MrgEx:?>

 指定した計算式を元にMP再生率(mrg)を変更します。

<TrgEx:?>

 指定した計算式を元にTP再生率(trg)を変更します。

特殊能力値

 ※いずれも1が100%となります。

<TgrEx:?>

 指定した計算式を元に狙われ率(tgr)を変更します。

<GrdEx:?>

 指定した計算式を元に防御効果率(grd)を変更します。

<RecEx:?>

 指定した計算式を元に回復効果率(rec)を変更します。

<PhaEx:?>

 指定した計算式を元に薬の知識(pha)を変更します。

<McrEx:?>

 指定した計算式を元にMP消費率(mcr)を変更します。

<TcrEx:?>

 指定した計算式を元にTPチャージ率(tcr)を変更します。

<PdrEx:?>

 指定した計算式を元に物理ダメージ率(pdr)を変更します。

<MdrEx:?>

 指定した計算式を元に魔法ダメージ率(mdr)を変更します。

<FdrEx:?>

 指定した計算式を元に床ダメージ率(fdr)を変更します。

<ExrEx:?>

 指定した計算式を元に経験獲得率(exr)を変更します。


 これらはプラグインパラメータのパラメータリストに登録されています。
 外部プラグインで独自パラメータを追加した場合は、それらを追加で定義できるかも?
 ※実装次第なので、確実には保証できません。

ステート時にダメージ(Damage State)


 ステートのメモ欄に以下を指定してください。

<StateChangeHp:?>

 ステート付加時に指定した計算式でHPを変更します。

<StateChangeMp:?>

 ステート付加時に指定した計算式でMPを変更します。

<StateChangeTp:?>

 ステート付加時に指定した計算式でTPを変更します。


 いずれも値が+なら回復、−ならダメージです。

 なお、継続中のステートに上書きした場合は効果がありません。
 プラグインパラメータの『ステートを常に更新』をオンにするか、スキル側にステート付加と解除を同時に設定すれば、連続で有効になります。

<StateDamageSilent>

 上記の際に数値表示を行いません。


<StateChangeHp:-b.hp>

 で、即死ステートになります。
 <StateDamageSilent>を組み合わせると、ダメージ表示もなくなります。

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


パラメータリスト(ParameterList)

 パラメータの一覧です。
 独自パラメータがあれば、追加も可能です。

 ※ただし、通常能力値、追加能力値、特殊能力値のいずれかとしてパラメータが実装されている必要があります。プラグインの独自規格として実装されている場合は、捕捉できません……。

ステートを常に更新(AlwaysUpdateState)

 既にかかっているステートでも更新処理を行います。
 false時も継続ターンの更新は行われます。

更新方法(UpdateType)

 既にかかっているステートに対して、上書きをした際の挙動を変更します。『ステートを常に更新』がオンの場合のみ機能します。

  • 最新優先:新しくかけたステートを優先します(ツクールのデフォルト)。
  • 最大優先:効果の大きいほうを優先します。
    ※正確にいうとステートがダメージ効果の場合は、よりダメージが大きいもの。回復効果の場合は回復量がより大きいものが優先されます。

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


 パラメータリストの中身です。

タイプ(Type)

 パラメータのタイプです。
 通常能力値、追加能力値、特殊能力値の3種類が存在します。

ID(Id)

 パラメータの識別番号です。

識別名(Key)

 パラメータの識別名です。

タグ名(Tag)

 パラメータの変化を指定するタグ名です。

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