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用の調整です。 */
