素材
解説

機能

 まず、このスクリプトでは、
ステートの継続ターン数をステートレベルとして
考えます。


 ステートのデータベースで設定される
解除条件 : x ターン経過後〜の数値に +1 したものが
ステートの継続ターン数になります。
デザイン・プラグイン ステート+ターン
その数値を表示する事ができます。


 ステートレベル機能、レート補正機能、ステート「制約」機能の3要素を含んでいます。

ステートレベル機能
 同じステートを与えた時の処理
   継続ターン数を加算する という方式を取ることができます。
   継続ターン数をステートレベルとして考えるので、
   「 同ステートの付加の時、ステートレベルを加算する機能 」となります。

   毒3の相手に毒4のスキルを与えると、毒7になる
   これがステートレベルの基本概念です。

   そして、詳細設定、スリップ&リカバー\slip_by_levelと組み合わせることで、
   継続ターン数が多いほど高いダメージを食らう毒 が設定可能になり、
   ステートレベルと威力が連動するようになります。
   毒の相手に毒をかけまくることで、どんどんダメージが増加していく・・・!
   という表現が可能になります。

 [逆効果と相殺]ステートの自動治癒禁止
   継続ターン数をレベルとして設定するので、
   ターン経過によって下がってほしくない場合はこの機能を使います。

 \rate_by_level
   このメモが書かれたステートはステートレベルによって能力値変化率が倍化します。
   攻撃力150%のステートがレベル2になると200%、レベル3で250%...と続きます。
   また、66%の場合、レベル2になると50%、レベル3では40%・・・と続きます。

   継続ターン数がレベルになるので、これをメモに書く場合、
   データベースの x ターン経過後〜を0にします( +1されるので )。
   このままではすぐ切れてしまうので上の機能で自動治癒を禁止します。

   そしてまた上の同ステートを重ねる機能 によって
   攻撃力アップ1の状態の味方に攻撃力アップ1のスキルをかければ
   攻撃力アップ2の状態になる・・・!
   そして\rate_by_levelによって能力値の上昇幅が上がるわけです。
   これによりポケモンやDQ9のような能力変化 の段階(ランク)を再現することができます。

 [逆効果と相殺]によるステートレベル相殺
   攻撃力アップ1の状態に攻撃力ダウン2の効果をもつスキルを当てた場合、
   攻撃力ダウン1になる、という結果になります。
   まず相殺するためにレベルを消費し、残ったレベルでステート付加されます。
   攻撃力アップ2の状態に当てれば、両者ともに消滅、となります。

 \state_level[n]
   武器・スキル・アイテムのメモに書くことで、その行動によってステートが付加された時、
   その n を ステートレベルとする、つまり継続ターン数が n になります。
   これにより短い毒を与えるスキル、長い毒を与えるスキル・・・などが可能に。
   これが書かれていない場合は、
   データベースのそのステートの x ターン経過後〜に 1 足したレベルになります。

 \remove_state_level[n]
   このメモが書かれているスキル・アイテムは、
   「ステート変化マイナス」に含まれるステートが相手に付加されている場合、
   まずそのステートレベル n 削ります
   これによってステートレベルが 0 になった場合のみそのステートを解除します。
   また、n にマイナスを指定すると伸ばします。
   これにより、異常系のレベルを3だけ削る治癒魔法・・・みたいなのが可能です。

 \state_guard[id, n]
 \state_guard[n]
   武器・防具・エネミーのメモに書くことで、装備アクター/エネミーは
   id番のステートを受けるときのステートレベル n 下げ
   これによってレベルが0になる場合ステートを受けません。
   idを省略したタイプの場合、相殺系を除く全ての異常系ステートに影響が出ます。
   \state_guard[4]などで根こそぎ抵抗力をつける・・・・と、ボスにオススメです。
   nはマイナス指定が可能で、ステートを受けやすくなる設定もできます。
   \state_guard[2,3]で毒を3減らす指輪に、
   ほかにも異常系全部1ずつ減らす髪飾りとか、
   物理防御力高いけど異常系が2増えてしまう鎧とか、
   そんな防具も設定できます。





レート補正機能
 ランクとレート
   データベース上でA〜Fまでで設定される属性・ステートのレートの数値を
   カスタマイズポイントで設定することができます。
   C の値に「基本」の値を置く事で、一括して基本設定をすることができます。
   作業量の削減に。

 \element_rate[n]
   防具・ステートのメモ に書く事で、
   チェックされている全ての属性のレートを n %変化させます。
    n はマイナス指定が可能です。
   例えば \element_rate[-20] でその属性を20%軽減する装備に。
   省略時は \element_rate[-50] と同様に働きます。

 \state_rate[n]
   このメモが書かれた防具はチェックされた「無効化するステート」に対して
   レジスト(無効化)する処理を行わず、
   ステート有効度を n ダウンさせます。
   この有効度の基本となるのはデータベースで設定されたA〜Fのランクです。
   例えばランク C - 60%なら、\state_rate[20]を装備すると40%が有効度になります。

 \plus_state30%
   武器・スキル・アイテムのメモに書くことで、その行動の命中時、
   +のステート変化を 30 %の確率でのみ行います
   数値部分は任意です。1〜99の整数で。
   この記述をしていない場合は通常通り100%ステート付加が発生します。※



ステート「制約」機能
 \restriction_percent[n]
   このメモが書かれているステートは、
   「魔法を使用できない」を除く4つの制約をn %の確率でのみ発生させます。
   このステートが 「行動できない」 であってもコマンドが可能になり、
   行動直前に確率判定し、成功/失敗を分けます。
   行動に成功した場合、その行動中はそのステートが一時的に無効化されます。
   すばやさが50%になるマヒで、しびれずに攻撃した場合
   すばやさ100%の状態でダメージ計算が行われます。

 \restriction_by_level
   \restriction_percent[n]と同様の処理を行います。
   上記の n に該当する 確率 の値は残りターン数 × 10%になります。
   ステートレベルの概念に基づくもので、
   マヒ10なら確実にしびれる。
   でもマヒ5なら半分の確率で動ける・・・ という感じです。





使用例
 ・炎属性を20%カットする鎧。
 ・防御力は高いが、全属性のダメージがあがってしまう鎧。
 ・10%の確率で相手をマヒにする 命中率100のサンダーII。
 ・普通の毒よりかなり長くつづく毒を与える 猛毒攻撃。
 ・すごく短い暗闇を付加する すみ。
 ・通常時は何もおきないけど相手がスタンしているとスタンのターンを伸ばす打撃。
 ・味方全体の攻撃力アップ時間を延長する魔法。
 ・味方全体の睡眠の継続ターン数を2だけ削る めざましアイテム。
 ・・・etc.



変更される仕様
 例えば 炎属性半減の盾と 炎属性半減の鎧を装備している時、
 VX標準では半分の半分( 25% )になりますが、
 このスクリプトでは−50の効果が2回、として 0% になります
 さらに、もうひとつ装備していた場合、レートが−50%(吸収)となります。

 この−50という数値はカスタマイズポイントで変更可能です。



※ステートのルール
 RPGツクールXP/VXでは、攻撃・スキル・アイテム側ではステート付加を常に発生させ、
 「受ける」側によって発生確率を設定しています。

 このスクリプト素材は ポケモン のような追加効果発生をする機能があり、
 スキル側で全てステート発生確率を指定し、受ける側は問わない・・・とすることができます。