MZ用プラグイン

累積ステートプラグイン (v1.0.9) - KEN_StackState.js

シェア用テキスト:
▼累積ステートプラグイン (v1.0.9)(KEN様作) - KEN_StackState.js
https://plugin-mz.fungamemake.com/archives/8014
累積ステートプラグイン (v1.0.9)

ふりがな:るいせきすてーとぷらぐいん (v1.0.9)

機能概要: 累積ステートプラグイン (v1.0.9)

利用規約(ライセンス): MITライセンス

作者:KEN

作者サイト:https://github.com/t-kendama/RPGMakerMZ/blob/master/KEN_StackState.js

解説ページ:https://raw.githubusercontent.com/t-kendama/RPGMakerMZ/…

ダウンロードページ:https://raw.githubusercontent.com/t-kendama/RPGMakerMZ/…

ファイル名:KEN_StackState.js

プラグインのヘルプ:

@help
 *
 * -------------------------    概要    -------------------------
 * 効果を累積するステート(以下累積ステート)を作成します。
 * 
 * 累積ステートは内部にスタック(累積する値)を持ち、スタックごとに効果が
 * 増幅するようになります。
 * 例.スタックごとにHP減少量が増加するステート
 *  
 * -------------------------    使い方    -------------------------
 * 累積ステートの定義はプラグインパラメータ上で設定します。
 * 累積値は数値のほかスクリプトが使用可能です。
 * 
 * スタックの操作はアイテム・スキルの効果で発動するほか、
 * 特定の条件下でスタックを増減させることも可能です。
 * スタックの増減に関わる設定はデータベースのメモ欄に記述します。
 * 
 * 補足;
 * スタックの増加にはステートの付与効果はないため、事前に累積ステートを
 * 付与しておく必要があります。
 * スタック増加だけでステートを付与したい場合、プラグインパラメータの
 * 「ステート自動付与」の項目をONにしてください。
 * 
 * 
 * 【プラグインパラメータ説明】
 * ・ステートID
 * 累積ステートの対象となるステートIDを設定します。
 * ステートIDは重複して設定しないでください。
 * 
 * ・最大スタック
 * 累積ステートの最大スタックを設定します。
 * 0を設定すると上限値が無くなります。
 * 
 * ・スタック初期値
 * 累積ステートが付与された時に代入されるスタック値を設定します。
 * 
 * ・ステート自動付与
 * ステートが付与されていない状態でスタックを増加した時、
 * ステートを自動で付与します。
 * 
 * ・ステート自動解除
 * スタックが0になった時、ステートを自動解除します。
 * 
 * ・ターン数とスタック同期
 * ステートのターン数とスタックを連動させる機能です。
 * ターン数の経過と共にスタックが減少するようになります。
 * スタックが増加した場合、ステートのターン数も増加します。
 * 
 * ・戦闘中スタック数を表示
 * 戦闘中、スタック値をアイコン上に表示します。
 * 
 * ・特徴
 * 累積する効果を設定します。
 * 
 * 設定例については以下のページも参照ください。
 * https://github.com/t-kendama/RPGMakerMZ?tab=readme-ov-file#ken_stackstatejs
 * 
 * -------------------------    メモ欄設定    -------------------------
 * 
 * 【基本編】
 * アイテム・スキルを使用したときにスタックを増減させたい時は
 * 以下のタグを設定します。
 * 
 * <GainStack[ステートID]:スタック増減値>
 * 記述欄:アイテム・スキル
 * このタグが設定されたアイテム・スキルの効果を受けたバトラーの
 * スタックが増減します。
 * 記述例.
 * <GainStack11:2>
 * ステートID11のスタックが2増加します。
 * 
 * <GainStackOwn[ステートID]:スタック増減値>
 * 記述欄:アイテム・スキル
 * このタグが設定されたアイテム・スキル使用者のスタックが増減します。
 * 
 * 
 * 【応用編】
 * 特定の条件下でスタックを増減させたい時の設定です。
 * この効果を持つバトラーが条件を満たした時、スタック数が増減します。
 * 
 * <StackHpDamageAttack[ステートID]:スタック増減値, 属性ID(省略可)>
 * 記述欄:武器・防具・ステート
 * HPダメージを与えた時、攻撃対象のスタックが増減します。
 * 属性IDを指定すると、その属性IDを使用した時のみスタックが増減します。
 * ダメージが0の場合、効果は発動しません。
 * 
 * 記述例.
 * <StackHpDamageAttack5:1>
 * ステートID5のスタックが1増加します。
 * 
 * <StackHpDamageAttack10:1,2>
 * 属性ID2のアイテム(スキル)でHPダメージを与えた時、
 * ステートID10のスタックが1増加します。
 *  
 * <StackHpDamageReceive[ステートID]:スタック増減値, 属性ID(省略可)>
 * 記述欄:武器・防具・ステート
 * HPダメージを受けた時、攻撃を受けた対象のスタックが増減します。
 * 属性IDを指定すると、その属性IDダメージを受けた時のみスタックが増減します。
 * ダメージが0の場合、効果は発動しません。
 * 
 * <StackMpDamageAttack[ステートID]:スタック増減値, 属性ID(省略可)>
 * 記述欄:武器・防具・ステート
 * MPダメージを与えた時、攻撃対象のスタックが増減します。
 * 属性IDを指定すると、その属性IDを使用した時のみスタックが増減します。
 * ダメージが0の場合、効果は発動しません。
 * 
 * <StackMpDamageReceive[ステートID]:スタック増減値, 属性ID(省略可)>
 * 記述欄:武器・防具・ステート
 * MPダメージを受けた時、攻撃を受けた対象のスタックが増減します。
 * 属性IDを指定すると、その属性IDダメージを受けた時のみスタックが増減します。
 * ダメージが0の場合、効果は発動しません。
 * 
 * <StackStateApply[ステートID]:スタック増減値, ステートID or カテゴリ名※(省略可)>
 * 記述欄:武器・防具・ステート
 * ステートを付与した時、攻撃対象のスタックが増減します。
 * ステートIDまたはカテゴリ名を指定した場合、そのステートを付与した時
 * スタックが増減します。
 * (※要 KEN_CategoryState.js)
 * 
 * 記述例:
 * <StackStateApply10:1,5>
 * ステートID5のステートを付与した時、
 * 累積ステートID10のスタックが1増加します。
 * 
 * <StackStateApply5:1,Buff>
 * カテゴリ「Buff」に属するステートを付与したとき、
 * 累積ステートID5のスタックが1増加します。
 * ※本機能を使用する場合、KEN_CategoryState.jsの導入が必要です
 * 
 * <StackStateInflict[ステートID]:スタック増減値, ステートID or カテゴリ名※(省略可)>
 * 記述欄:武器・防具・ステート
 * ステートを付与した時、付与者のスタックが増減します。
 * ステートIDまたはカテゴリ名を指定した場合、そのステートを付与した時
 * スタックが増減します。
 * (※要 KEN_CategoryState.js)
 * 
 * <StackStateResist[ステートID]:スタック増減値, ステートID or カテゴリ名(省略可)>
 * 記述欄:武器・防具・ステート
 * ステート付与に抵抗した時、そのバトラーのスタックが増減します。
 * ステートIDまたはカテゴリ名を指定した場合、そのステートに抵抗した時
 * スタックが増減します。
 * 
 * <StackHpLoss[ステートID]:スタック増減値>
 * 記述欄:武器・防具・ステート
 * HP減少時スタックが増減します。
 * 
 * <StackHpGain[ステートID]:スタック増減値>
 * 記述欄:武器・防具・ステート
 * HP増加時スタックが増減します。
 * 
 * <StackMpLoss[ステートID]:スタック増減値>
 * 記述欄:武器・防具・ステート
 * MP減少時スタックが増減します。
 * 
 * <StackMpGain[ステートID]:スタック増減値>
 * 記述欄:武器・防具・ステート
 * MP増加時スタックが増減します。
 * 
 * <StackTpLoss[ステートID]:スタック増減値>
 * 記述欄:武器・防具・ステート
 * TP減少時スタックが増減します。
 * 
 * <StackTpGain[ステートID]:スタック増減値>
 * 記述欄:武器・防具・ステート
 * TP増加時スタックが増減します。
 * 
 * <StackCritical[ステートID]:スタック増減値>
 * 記述欄:武器・防具・ステート・スキル
 * 会心攻撃を行った時にスタックが増減します。
 * ※スキルにタグを設定した場合、そのスキルで会心が
 * 発生した時にスタックが増減します。
 * 
 * <StackEvaded[ステートID]:スタック増減値>
 * 記述欄:武器・防具・ステート
 * 回避時にスタックが増減します。
 * 
 * <StackCounter[ステートID]:スタック増減値>
 * 記述欄:武器・防具・ステート
 * 反撃時にスタックが増減します。
 * 
 * <StackReflection[ステートID]:スタック増減値>
 * 記述欄:武器・防具・ステート
 * 魔法反射時にスタックが増減します。
 * 
 * <StackSubstitute[ステートID]:スタック増減値>
 * 記述欄:武器・防具・ステート
 * 身代わり時にスタックが増減します。
 * 
 * <StackBattleStart[ステートID]:スタック増減値>
 * 記述欄:武器・防具・ステート
 * 戦闘開始時にスタックが増減します。
 * 
 * <StackActionEnd[ステートID]:スタック増減値>
 * 記述欄:武器・防具・ステート
 * 行動終了時にスタックが増減します。
 * 
 * <StackTurnEnd[ステートID]:スタック増減値>
 * 記述欄:武器・防具・ステート
 * ターン終了時にスタックが増減します。
 * ※この設定を使用する場合、「ターン数とスタック同期」をOFFにすることを推奨します
 * 
 * 
 * -------------------------  スクリプト  -------------------------
 * $gameActors.actor(アクターID).stateStack(ステートID)
 * アクターのスタック値を取得。
 * 累積ステートが未設定のステートIDを指定した場合、-1が返ります。
 *
 * $gameActors.actor(アクターID).gainStack(ステートID, スタック増減値)
 * アクターのスタック数を増減。
 * 
 * 
 * 
 * @command GainStateStackActor
 * @text アクターのスタック値を増減
 * @desc アクターの累積ステートの値を増減します。
 *
 * @arg actorId
 * @text アクターID
 * @desc スタックを変更するアクターID
 * @type actor
 * @default 1
 * 
 * @arg stateId
 * @text ステートID
 * @desc 累積ステート
 * @type state
 * @default 1
 * 
 * @arg stackNum
 * @text 増減値
 * @desc 増減するスタック値
 * @type number
 * @default 0
 * @max 999
 * @min -999
 * 
 * 
 * @command GainStateStackEnemy
 * @text エネミーのスタック値を増減(戦闘中のみ可)
 * @desc エネミーの累積ステートの値を増減します。戦闘中のみ使用可能です。
 *
 * @arg enemyIndex
 * @text エネミーインデックス
 * @desc スタックを変更するエネミーのインデックス番号
 * @type number
 * @default 1
 * @min 1
 * 
 * @arg stateId
 * @text ステートID
 * @desc 累積ステート
 * @type state
 * @default 1
 * 
 * @arg stackNum
 * @text 増減値
 * @desc 増減するスタック値
 * @type number
 * @default 0
 * @max 999
 * @min -999
 * 
 * 
 * 
 * @param stateConfig
 * @text ステート設定
 * @desc 累積ステートの設定を行います ステートIDは重複しないように設定ください
 * @default []
 * @type struct<StackState>[]
 * 
 * @param stackFontSize
 * @text フォントサイズ
 * @desc スタック数のフォントサイズ
 * @type number
 * @default 20
 * 
 * @param stackOutLine
 * @text アウトライン(縁取り幅)
 * @desc スタック数のアウトライン(縁取り幅)
 * @type number
 * @default 3
 * 
 * @param stackAxisX
 * @text スタックX座標
 * @desc 表示するスタック数のX座標
 * @type number
 * @default 4
 * 
 * @param stackAxisY
 * @text スタックY座標
 * @desc 表示するスタック数のY座標
 * @type number
 * @default 8
 *

スポンサードリンク

スポンサードリンク

-MZ用プラグイン

Copyright© #ツクプラMZ , 2026 All Rights Reserved.