当サイトの運営者です。ゲーム制作とプラグイン開発が好きで、コミュニティに貢献したいと考えています。
RPGツクール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 *