当サイトの運営者です。ゲーム制作とプラグイン開発が好きで、コミュニティに貢献したいと考えています。
RPGツクールMZでゲームを制作中です。
※プログラマ・エンジニアではありません。
NRP ステートの機能を色々と拡張 - NRP_StateEX.js
シェア用テキスト:
▼NRP ステートの機能を色々と拡張(砂川赳様作) - NRP_StateEX.js
https://plugin.fungamemake.com/archives/31667
以下のようなステートが作成できます。 ・割合効果ではない毒や能力変化 ・使用者の魔法力が高いほど効果の上がる毒や能力変化 ・命中時にダメージを与えるステート ・ターン経過で解除された際にスキルを発動するステート
ふりがな:すてーとのきのうをいろいろとかくちょう
機能概要: 以下のようなステートが作成できます。 ・割合効果ではない毒や能力変化 ・使用者の魔法力が高いほど効果の上がる毒や能力変化 ・命中時にダメージを与えるステート ・ターン経過で解除された際にスキルを発動するステート
利用規約(ライセンス):
・著作権:保持
・商用利用:許可
・追加改変:許可
・再配布:許可
・詳細はダウンロードページ・プラグイン内を確認
作者:砂川赳
作者サイト:http://newrpg.seesaa.net/
解説ページ:https://newrpg.seesaa.net/article/488957733.html
ファイル名:NRP_StateEX.js
プラグインのヘルプ:
/*:ja
* @target MV MZ
* @plugindesc v1.131 ステートの機能を色々と拡張します。
* @orderAfter NRP_TraitsPlus
* @author 砂川赳(http://newrpg.seesaa.net/)
* @url http://newrpg.seesaa.net/article/488957733.html
*
* @help ステートの機能を色々と拡張します。
*
* 例えば、以下のようなステートが作成できます。
*
* ・割合効果ではない毒や能力変化
* ・使用者の魔法力が高いほど効果の上がる毒や能力変化
* ・命中時にダメージを与えるステート
* ※つまり、ステート耐性で命中の決まるダメージ技です。
* FFシリーズのグラビデや即死効果など。
* ・ターン経過で解除された際にスキルを発動するステート
* 例えば、死の宣告などが可能です。
*
* また、ステート付加が外れた際に、ミスを表示するようにできます。
* ※通常はスキルの成功率による判定しか表示されません。
*
* -------------------------------------------------------------------
* ■再生値の設定
* -------------------------------------------------------------------
* ステートのメモ欄に以下を指定してください。
*
* <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以下となるように設定する数式です。
*
* -------------------------------------------------------------------
* ■能力変化の設定
* -------------------------------------------------------------------
* ステートのメモ欄に以下を指定してください。
*
* ◆通常能力値
* <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)を変更します。
*
* -------------------------------------------------------------------
* これらはプラグインパラメータのパラメータリストに登録されています。
* 外部プラグインで独自パラメータを追加した場合は、
* それらを追加で定義できるかも?
* (※実装次第なので、確実には保証できません。)
*
* -------------------------------------------------------------------
* ■ステート時にダメージ
* -------------------------------------------------------------------
* ステートのメモ欄に以下を指定してください。
*
* <StateChangeHp:?>
* ステート付加時に指定した計算式でHPを変更します。
*
* <StateChangeMp:?>
* ステート付加時に指定した計算式でMPを変更します。
*
* <StateChangeTp:?>
* ステート付加時に指定した計算式でTPを変更します。
*
* -------------------------------------------------------------------
* いずれも値が+なら回復、-ならダメージです。
*
* なお、継続中のステートに上書きした場合は効果がありません。
* プラグインパラメータの『ステートを常に更新』をオンにするか、
* スキル側にステート付加と解除を同時に設定すれば、連続で有効になります。
*
* <StateDamageSilent>
* 上記の際に数値表示を行いません。
*
* ◆例
* <StateChangeHp:-b.hp>
* で、即死ステートになります。
* <StateDamageSilent>を組み合わせると、ダメージ表示もなくなります。
*
* -------------------------------------------------------------------
* ■その他の効果
* -------------------------------------------------------------------
* ステートのメモ欄に以下を指定してください。
*
* <StateEndSkill:100>
* ステートがターン経過で解除される際に100番のスキルを発動します。
* なお、対象はランダムになります。
*
* <DefeatState>
* 戦闘不能と同じように、全滅判定の対象になります。
* 自動解除されない石化のようなステートを想定しています。
*
* <IgnoreRecoverAll>
* イベントコマンドの全回復で解除されなくなります。
* ステートを指定した場合のみ解除できます。
*
* <IgnoreRecoverDie>
* 戦闘不能時に解除されなくなります。
* ステートを指定した場合のみ解除できます。
*
* <AutoRemovalActionStart>
* 自動解除のタイミングを行動開始時に変更します。
* ※データベース上の設定は『行動終了時』にしてください。
*
* <AutoRemovalCommandStart>
* 自動解除のタイミングをコマンド入力開始時に変更します。
* 基本的にはNRP_CountTimeBattle.jsとの併用を想定しています。
* ※データベース上の設定は『行動終了時』にしてください。
*
* <BattlerInvisible>
* バトラーを非表示にします。
* DynamicMotionによるジャンプ系スキルに使えます。
* https://newrpg.seesaa.net/article/479020531.html
*
* -------------------------------------------------------------------
* ■オリジナルパラメータ
* -------------------------------------------------------------------
* パラメータリストのタイプにオリジナルを選択すると、
* 独自のパラメータを設定することもできます。
*
* 例えば、IDに0, タグ名に”TestParam”と設定した場合、
* <TestParam:a.level>と設定したステートを付加すると、
* スキルの計算式にて「a.stateExOriginalParam(0)」とすれば値を参照できます。
* ※識別名は使いませんが、一意になる値を設定しておいてください。
*
* 特定のスキルのみダメージを減らすステートなどを想定しています。
*
* -------------------------------------------------------------------
* ■利用規約
* -------------------------------------------------------------------
* 特に制約はありません。
* 改変、再配布自由、商用可、権利表示も任意です。
* 作者は責任を負いませんが、不具合については可能な範囲で対応します。
*
* @------------------------------------------------------------------
* @ プラグインパラメータ
* @------------------------------------------------------------------
*
* @param ParameterList
* @text パラメータリスト
* @type struct<Parameter>[]
* @default [”{”Type”:”r”,”Id”:”0”,”Key”:”mhp”,”Tag”:”MhpEx”}”,”{”Type”:”r”,”Id”:”1”,”Key”:”mmp”,”Tag”:”MmpEx”}”,”{”Type”:”r”,”Id”:”2”,”Key”:”atk”,”Tag”:”AtkEx”}”,”{”Type”:”r”,”Id”:”3”,”Key”:”def”,”Tag”:”DefEx”}”,”{”Type”:”r”,”Id”:”4”,”Key”:”mat”,”Tag”:”MatEx”}”,”{”Type”:”r”,”Id”:”5”,”Key”:”mdf”,”Tag”:”MdfEx”}”,”{”Type”:”r”,”Id”:”6”,”Key”:”agi”,”Tag”:”AgiEx”}”,”{”Type”:”r”,”Id”:”7”,”Key”:”luk”,”Tag”:”LukEx”}”,”{”Type”:”x”,”Id”:”0”,”Key”:”hit”,”Tag”:”HitEx”}”,”{”Type”:”x”,”Id”:”1”,”Key”:”eva”,”Tag”:”EvaEx”}”,”{”Type”:”x”,”Id”:”2”,”Key”:”cri”,”Tag”:”CriEx”}”,”{”Type”:”x”,”Id”:”3”,”Key”:”cev”,”Tag”:”CevEx”}”,”{”Type”:”x”,”Id”:”4”,”Key”:”mev”,”Tag”:”MevEx”}”,”{”Type”:”x”,”Id”:”5”,”Key”:”mrf”,”Tag”:”MrfEx”}”,”{”Type”:”x”,”Id”:”6”,”Key”:”cnt”,”Tag”:”CntEx”}”,”{”Type”:”x”,”Id”:”7”,”Key”:”hrg”,”Tag”:”HrgEx”}”,”{”Type”:”x”,”Id”:”8”,”Key”:”mrg”,”Tag”:”MrgEx”}”,”{”Type”:”x”,”Id”:”9”,”Key”:”trg”,”Tag”:”TrgEx”}”,”{”Type”:”s”,”Id”:”0”,”Key”:”tgr”,”Tag”:”TgrEx”}”,”{”Type”:”s”,”Id”:”1”,”Key”:”grd”,”Tag”:”GrdEx”}”,”{”Type”:”s”,”Id”:”2”,”Key”:”rec”,”Tag”:”RecEx”}”,”{”Type”:”s”,”Id”:”3”,”Key”:”pha”,”Tag”:”PhaEx”}”,”{”Type”:”s”,”Id”:”4”,”Key”:”mcr”,”Tag”:”McrEx”}”,”{”Type”:”s”,”Id”:”5”,”Key”:”tcr”,”Tag”:”TcrEx”}”,”{”Type”:”s”,”Id”:”6”,”Key”:”pdr”,”Tag”:”PdrEx”}”,”{”Type”:”s”,”Id”:”7”,”Key”:”mdr”,”Tag”:”MdrEx”}”,”{”Type”:”s”,”Id”:”8”,”Key”:”fdr”,”Tag”:”FdrEx”}”,”{”Type”:”s”,”Id”:”9”,”Key”:”exr”,”Tag”:”ExrEx”}”]
* @desc パラメータの一覧です。
* 独自パラメータがあれば、追加も可能です。
*
* @param AlwaysUpdateState
* @text ステートを常に更新
* @type boolean
* @default false
* @desc 既にかかっているステートでも更新処理を行います。
* false時も継続ターンの更新は行われます。
*
* @param UpdateType
* @parent AlwaysUpdateState
* @text 更新方法
* @type select
* @option 0:最新優先 @value 0
* @option 1:最大優先 @value 1
* @default 0
* @desc 最新優先:新しくかけたステートを優先します。
* 最大優先:効果の大きいほうを優先します。
*
* @param ShowStateMiss
* @text ステートのミスを表示
* @type boolean
* @default false
* @desc ステート付加が外れた際に、ミスを表示するようにします。
* ダメージタイプが『なし』のスキルが対象です。
*
* @param SlipOverKill
* @text スリップダメージ無制限
* @type boolean
* @default false
* @desc 毒などのスリップダメージで現在HPを超える値を有効にします。
*
* @param QuickStateEndSkill
* @text 終了時スキルを即時化
* @type boolean
* @default true
* @desc <StateEndSkill>によって発動するスキルを速度補正を限界にして実行します。CTB用の調整です。
*/