例えば、以下のようなステートが作成できます。
- 割合効果ではない毒や能力変化
- 使用者の魔法力が高いほど効果の上がる毒や能力変化
- 命中時にダメージを与えるステート
※つまり、ステート耐性で命中の決まるダメージ技です。
FFシリーズのグラビデや即死効果など。
- ターン経過で解除された際にスキルを発動するステート
例えば、死の宣告などが可能です。
目次
導入方法(Install)
更新履歴(History)
再生値の設定(Regeneration Value)
能力変化の設定(Parameter Change)
ステート時にダメージ(Damage State)
その他の効果(Other Effects)
解除時にスキルを発動
全滅判定
全回復で解除しない
戦闘不能で解除しない
ステートの解除
自動解除を行動開始時に
自動解除をコマンド入力開始時に
バトラーを非表示に
オリジナルパラメータ(Original Parameters)
プラグインパラメータ(Plugin Parameter)
パラメータリスト(ParameterList)
ステートを常に更新(AlwaysUpdateState)
ステートのミスを表示(ShowStateMiss)
スリップダメージ無制限(SlipOverKill)
終了時スキルを即時化(QuickStateEndSkill)
更新方法(UpdateType)
プラグインパラメータ(パラメータ)(Plugin Parameter Parameter)
タイプ(Type)
ID(Id)
識別名(Key)
タグ名(Tag)
導入方法(install)
以下のファイルを右クリックで保存し 、[プロジェクト]\js\plugins に放り込みます。ツクールのプラグイン管理から機能をONにしてください。
※このプラグインはMV、MZの両方で有効です。
NRP_StateEX.js ver1.131(2024/09/23)
※NRP_TraitsPlus.jsと併用する場合は、当プラグインを下に配置してください。
更新履歴(History)
2024/08/29 -> 2024/09/23(ver1.13 -> 1.131)
- ステートを解除する機能を追加。
※実際にはver1.122で実装済みですが、記載漏れを修正しました。
- ver1.122の修正が不完全だったので微調整。
- <StateEndSkill>にて、範囲が使用者の場合の処理を安定化。NRP_DeadSkill.jsの機能と組み合わせた場合にスキルが不発に終わることがある競合に対応した。(2024/09/23 ver1.131)
2024/06/25 -> 2024/08/23(ver1.12 -> 1.122)
- CTBにて、<StateEndSkill>のスキルを発動をした場合、ターンが余分に経過してしまう不具合修正。
- 全滅判定をステートに設定している場合でも、$gameParty.surviveMembers(), $gameTroop.surviveMembers()で生存判定をできるようにした。(2024/07/29 ver1.121)
- CTBにて、ステート終了時のスキルを発動した際の挙動が不安定だったので修正した。(2024/08/23 ver1.122)
2024/06/20(ver1.11)
- 途中セーブデータに適用するとエラーになってしまうことがある不具合修正。
2024/06/11(ver1.10 -> 1.101)
- 行動開始時に自動解除するステートを作成可能に。
- コマンド入力開始時に自動解除するステートを作成可能に。
- バトラーを非表示にするステートを作成可能に。
- ver1.10でエラーになる不具合修正。(ver1.101)
2024/06/09(ver1.09)
- スキル計算式用のオリジナルパラメータを作成できるようにした。
2024/06/04(ver1.08)
- スリップダメージ(毒など)を現在HPを超えて与えられるようにした。
2024/05/21(ver1.07)
- ステート付加が外れた際にミスを表示できるようにした。
2024/04/05(ver1.06)
- ステートを常に更新がオンの場合、対象の撃破と同時にステートを付加するとエラーになる不具合修正。
2023/10/23(ver1.05 -> 1.051)
- CTBプラグイン&ため技プラグインと併用した際、ステート終了時のスキル発動と重なるとため技が発動しなくなる競合に対処。
- ↑の修正がうまく機能していない不具合修正。(ver1.051)
2023/08/30(ver1.04)
- ターン経過で解除された際にスキルを発動するステートを作成可能に。
2023/08/22(ver1.03)
- 全滅の判定となるステートを作成可能に。
2023/08/09(ver1.02)
- 全回復および戦闘不能で解除されないステートを作成可能に。
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>を組み合わせると、ダメージ表示もなくなります。
その他の効果(Other Effects)
ステートのメモ欄に以下を指定してください。
解除時にスキルを発動
<StateEndSkill:100>
ステートがターン経過で解除される際に100番のスキルを発動します。
なお、範囲が単体の場合、対象はランダムになります。
※MVかつ自動解除が『行動終了時』の場合は、次の行動が実行されない不具合がある模様です。
全滅判定
<DefeatState>
戦闘不能と同じように、全滅判定の対象になります。
自動解除されない石化のようなステートを想定しています。
なお、石化の演出については、バトラーのグラフィックを拡張するプラグインを利用すればOKです。
上級者向けですが以下のスクリプトで全滅対象でないメンバーを取得できます。
$gameParty.surviveMembers()
$gameTroop.surviveMembers()
※Game_Unit.prototype.aliveMembersについてはそのままです。
全回復で解除しない
<IgnoreRecoverAll>
イベントコマンドの全回復で解除されなくなります。
ステートを指定した場合のみ解除できます。
戦闘不能で解除しない
<IgnoreRecoverDie>
戦闘不能時に解除されなくなります。
ステートを指定した場合のみ解除できます。
ステートの解除
<RemoveState:10>
ステートが追加された際、10番のステートを解除する。
カンマ区切りで複数指定可(<RemoveState:10,11>)
自動解除を行動開始時に
<AutoRemovalActionStart>
自動解除のタイミングを行動開始時に変更します。
※データベース上の設定は『行動終了時』にしてください。
自動解除をコマンド入力開始時に
<AutoRemovalCommandStart>
自動解除のタイミングをコマンド入力開始時に変更します。
基本的にはNRP_CountTimeBattle.jsとの併用を想定しています。
※データベース上の設定は『行動終了時』にしてください。
バトラーを非表示に
<BattlerInvisible>
バトラーを非表示にします。
DynamicMotionによるジャンプ系スキルに使えます。(↓参考)
https://newrpg.seesaa.net/article/479020531.html
オリジナルパラメータ(Original Parameters)
パラメータリストのタイプにオリジナルを選択すると、独自のパラメータを設定することもできます。
例えば、IDに0, タグ名に"TestParam"と設定し、ステートのメモ欄に
<TestParam:a.level>
と設定したステートを付加します。
さらに、スキルの計算式にて「a.stateExOriginalParam(0)」とすれば値を参照できます。
※識別名は使いませんが、一意になる値を設定しておいてください。
具体的には、特定のスキルのみダメージを減らすステートなどを想定しています。
プラグインパラメータ(Plugin Parameter)
パラメータリスト(ParameterList)
パラメータの一覧です。
独自パラメータがあれば、追加も可能です。
※ただし、通常能力値、追加能力値、特殊能力値のいずれかとしてパラメータが実装されている必要があります。プラグインの独自規格として実装されている場合は、捕捉できません……。
ステートを常に更新(AlwaysUpdateState)
既にかかっているステートでも更新処理を行います。
false時も継続ターンの更新は行われます。
更新方法(UpdateType)
既にかかっているステートに対して、上書きをした際の挙動を変更します。『ステートを常に更新』がオンの場合のみ機能します。
- 最新優先:新しくかけたステートを優先します(ツクールのデフォルト)。
- 最大優先:効果の大きいほうを優先します。
※正確にいうとステートがダメージ効果の場合は、よりダメージが大きいもの。回復効果の場合は回復量がより大きいものが優先されます。
ステートのミスを表示(ShowStateMiss)
ステート付加が外れた際に、ミスを表示するようにします。
ダメージタイプが『なし』のスキルが対象です。
複数のステートが設定されている場合は、全てが外れた際のみ対象となります。
スリップダメージ無制限(SlipOverKill)
毒などのスリップダメージで現在HPを超える値を有効にします。
※なお、システム1の『スリップダメージで戦闘不能』をオンにしておかないと意味がありません。
終了時スキルを即時化(QuickStateEndSkill)
<StateEndSkill>によって発動するスキルを速度補正を最大値にして実行します。
これによって、CTBにて<StateEndSkill>のスキルを発動をした際、ターンが余分に経過してしまう問題に対応します。
※CTB用の調整ですが、他のシステムにおいてもオンのままで問題ないと思います。
プラグインパラメータ(パラメータ)
パラメータリストの中身です。
タイプ(Type)
パラメータのタイプです。
通常能力値、追加能力値、特殊能力値の3種類が存在します。
さらにオリジナルを選択すると、独自のパラメータを設定可能です。
ID(Id)
パラメータの識別番号です。
識別名(Key)
パラメータの識別名です。
タグ名(Tag)
パラメータの変化を指定するタグ名です。
>RPGツクールMZ&MV目次に戻る