MZ用プラグイン

ダメージカットを行うシールドを提供します - KEN_DamageCutShield.js

シェア用テキスト:
▼ダメージカットを行うシールドを提供します(KEN様作) - KEN_DamageCutShield.js
https://plugin-mz.fungamemake.com/archives/8009
ダメージカットを行うシールドを提供します

ふりがな:だめーじかっとをおこなうしーるどをていきょうします

機能概要: ダメージカットを行うシールドを提供します

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

作者:KEN

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

解説ページ:https://github.com/t-kendama/RPGMakerMZ/blob/main/KEN_D…

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

ファイル名:KEN_DamageCutShield.js

プラグインのヘルプ:

@help
 * ダメージカットを行うシールドを提供します。
 * 
 *    --------------------    概要    --------------------
 * 【シールドの基本的な仕様】
 * シールドが付与されているバトラーがHPダメージの攻撃を受けたとき、
 * シールドを消費してダメージを防ぐことができます。
 * ダメージがシールド値を超えた場合、超過した分だけ
 * ダメージを受けます。
 * 例.ダメージが100、シールド30の場合、70ダメージを受けます。
 * 
 * シールドはダメージを受けない限り解除されません。
 * ただし、後述のステート設定で持続ターン数を設定できます。
 * 
 * 【細かい仕様】
 * ・イベントコマンドの「HPの増減」でHPを減らした場合、シールドの耐久値に
 * 関わらずHP減少処理が実行されます。
 * 
 * ・イベントコマンドの「全回復」を使用した場合、シールド状態は解除されます。
 * 
 * 【シールドの描画】
 * シールドをHPゲージ上に描画します。
 * またシールドが付与されている間、アイコンおよび持続ターン数を描画できます。
 * 
 *    --------------------    使い方    --------------------
 * 本プラグインは事前にステート設定が必要です。
 * 
 * 【ステート設定】
 * シールドが付与されたとき、プラグインパラメータに設定したIDのステートが
 * 連動して付与されます。
 * ※このステートは必ず設定してください
 * 
 * シールドの持続ターンはステートIDの「自動解除のタイミング」に依存します。
 * 「自動解除のタイミング」を「なし」に設定した場合、シールドは自動解除
 * されなくなります。
 * 
 *
 * 【シールドの付与方法】
 * アイテムまたはスキル欄のメモ欄に設定します。
 * 
 * <DamageCutShield: 数値 or 数式>
 * 記述欄:アイテム・スキル
 * アイテム、スキルの対象者にシールドを付与します。
 * シールド耐久値はスクリプトも指定可能です。
 * 例.
 * <DamageCutShield: 100> シールドが100増加します
 * <DamageCutShield: -50> シールドが50減少します
 * <DamageCutShield: a.mat> スキル使用者の魔力分のシールドが増加します
 * 
 * <OwnDamageCutShield: 数値 or 数式>
 * 記述欄:アイテム・スキル
 * 自分自身にシールドを付与します。
 * 攻撃しつつ自分自身にシールドを付与するような効果が作成できます。
 * 
 * 
 * 【その他の設定】
 * <PenetrateShield>
 * 記述欄:アイテム・スキル
 * このタグが記述されたアイテム・スキルはシールドを無視してダメージを与えます。
 * 
 * <GiveShieldRate: 数値>
 * 記述欄:武器・防具・ステート 
 * シールド付与率を指定します。単位は小数で指定します。
 * 複数の装備品をつけていた場合、シールド付与率は装備の合計で算出されます。
 * 
 * 記述例.
 * <GiveShieldRate: 0.5> 1.5倍のシールド値を得るようになります。
 * <GiveShieldRate: -0.2> 0.8倍のシールド値を得るようになります。
 * 
 * <ReceiveShieldRate: 数値>
 * 記述欄:武器、防具、ステート 
 * シールド獲得率を指定します。単位は小数で指定します。
 * 複数の装備品をつけていた場合、シールド獲得率は装備の合計で算出されます。
 * 
 * <InvalidShield>
 * 記述欄:武器、防具、ステート
 * このタグが指定された装備・ステートが付与されている場合、
 * シールドが得られなくなります。
 * 
 * <DamageWithShield: 数値>
 * 記述欄:武器、防具、ステート
 * シールド耐久値を減らすダメージを設定します。
 * 継続的にダメージを与える装備やステートを実装するときに使用します。
 * 
 * 記述例.
 * <DamageWithShield: 20> ターン経過時、20ダメージを与えます
 * <DamageWithShield: a.mhp * 0.1> ターン経過時、バトラーの最大HP10%のダメージを与えます
 * 
 * <DamageCutShieldMax: 数値 or 数式>
 * 記述欄:アクター、エネミー
 * バトラー個別にシールド耐久値の上限を設定します。
 * <DamageCutShieldMax: a.mhp> と表記するとシールド耐久値の上限がバトラーの
 * 最大HPの値に制限されます。
 * 
 * 
 * --------------------    スクリプト    --------------------
 * ・バトラーのシールド耐久値を取得
 * $gameActors.actor(アクターID).damageCutShield()
 * $gameTroop.members()[エネミーのインデックス].damageCutShield()
 * 
 * ・シールドを増加(マイナス指定可)
 * $gameActors.actor(アクターID).gainDamageCutShield(効果量)
 * $gameTroop.members()[エネミーのインデックス].damageCutShield(効果量)
 * 
 * ・シールド状態を解除
 * $gameActors.actor(アクターID).clearDamageCutShield()
 * $gameTroop.members()[エネミーのインデックス].clearDamageCutShield()
 * 
 * 
 * --------------------    上級者向け設定について    --------------------
 * 本プラグインはエネミーのシールドを描画する機能を持ちません。
 * ※内部的にシールド効果は適用されます
 * 
 * エネミーのシールドを描画する場合は他プラグインとの併用をご検討ください。
 * シールドの描画に関する細かい挙動については対応しかねます。
 * ご了承ください。
 *  
 * 
 * 
 * @command GainDamageCutShieldActor
 * @text アクターシールドを増減
 * @desc アクターのシールド値を増減します
 *
 * @arg actorId
 * @text アクターID
 * @desc シールドを増減するアクターID
 * @type actor
 * @default 1
 * 
 * @arg value
 * @text シールド増減値
 * @desc 増減するシールド値
 * @type number
 * @default 0
 * @max 999999
 * @min -999999
 * 
 * @command GainDamageCutShieldParty
 * @text パーティのシールドを増減
 * @desc パーティ全員のシールド値を増減します
 * 
 * @arg value
 * @text シールド増減値
 * @desc 増減するシールド値
 * @type number
 * @default 0
 * @max 999999
 * @min -999999
 * 
 * @command ClearDamageCutShieldActor
 * @text アクターシールドを解除
 * @desc アクターのシールド状態を解除します
 *
 * @arg actorId
 * @text アクターID
 * @desc シールドを増減するアクターID
 * @type actor
 * @default 1
 * 
 * @command ClearDamageCutShieldParty
 * @text パーティのシールドを解除
 * @desc パーティ全員のシールド状態を解除します
 * 
 * 
 * @command GainDamageCutShieldEnemy
 * @text エネミーのシールドを増減
 * @desc エネミーのシールド値を増減します
 *
 * @arg enemyIndex
 * @text エネミーインデックス
 * @desc シールドを増減するエネミーのインデックス番号
 * @type number
 * @default 0
 * 
 * @arg value
 * @text シールド増減値
 * @desc 増減するシールド値
 * @type number
 * @default 0
 * @max 999999
 * @min -999999
 * 
 * @command GainDamageCutShieldTroop
 * @text 敵グループのシールドを増減
 * @desc 敵グループ全員のシールド値を増減します
 * 
 * @arg value
 * @text シールド増減値
 * @desc 増減するシールド値
 * @type number
 * @default 0
 * @max 999999
 * @min -999999
 * 
 * @command ClearDamageCutShieldEnemy
 * @text エネミーのシールドを解除
 * @desc エネミーのシールド状態を解除します
 *
 * @arg enemyIndex
 * @text エネミーインデックス
 * @desc シールドを解除するエネミーのインデックス番号
 * @type number
 * @default 0
 * 
 * @command ClearDamageCutShieldTroop
 * @text 敵グループのシールドを解除
 * @desc 敵グループ全員のシールド状態を解除します
 * 
 * 
 * @param generalConfig
 * @text 基本設定
 * @desc 基本設定です ※この項目は使用しません
 * 
 * @param stateID
 * @text ステートID
 * @desc シールドを得た場合、このステートがバトラーに付与されます 必ず2以上の値を設定してください
 * @type state
 * @default 2
 * @parent generalConfig
 * 
 * @param maxShieldValue
 * @text シールド最大値
 * @desc シールド耐久値の最大値を設定します ※0にすると制限が無くなります
 * @type number
 * @default 99999
 * @parent generalConfig
 * 
 * @param seBlockDamage
 * @text ダメージブロック効果音
 * @desc シールドでダメージを防いだときの効果音です
 * @type struct<SE>
 * @parent generalConfig
 * 
 * @param battleLogConfig
 * @text バトルログ設定
 * @desc バトルログに関する設定です ※この項目は使用しません
 * 
 * @param msgGetShield
 * @text シールド獲得メッセージ
 * @desc シールドを獲得したときのメッセージ %1:ターゲット名 %2:シールド獲得量 %3:シールド耐久値
 * @type string
 * @default %1は%2のシールドを得た!(シールド耐久値%3)
 * @parent battleLogConfig
 * 
 * @param msgLossShield
 * @text シールド減少メッセージ
 * @desc シールド減少時のメッセージ %1:ターゲット名 %2:シールド減少量 %3:シールド耐久値
 * @type string
 * @default %1のシールドが%2減少した!(シールド耐久値%3)
 * @parent battleLogConfig
 * 
 * @param msgBreakShield
 * @text シールド破壊メッセージ
 * @desc シールドが破壊(0になった)されたときのメッセージ 空欄にすると表示しません
 * @type string
 * @default %1のシールドが破壊された!
 * @parent battleLogConfig
 * 
 * @param msgBlockedDamage
 * @text 被ダメージのメッセージ
 * @desc シールドが付与状態でダメージを受けたときのメッセージです %1:ターゲット名 %2:シールド減少値 %3:シールド耐久値
 * @type string
 * @default %1のシールドが%2減少した!(シールド耐久値%3)
 * @parent battleLogConfig
 * 
 * @param PopUpConfig
 * @text ポップアップ設定
 * @desc ダメージポップアップの設定です ※この項目は使用しません
 * 
 * @param popupDisplayShield
 * @text ポップアップ表示
 * @desc シールド増減時にポップアップを表示します
 * @type boolean
 * @default true
 * @parent PopUpConfig
 * 
 * @param popupHideBlock
 * @text ブロック時ダメージを非表示
 * @desc シールドでダメージを防いだとき(0のとき)ダメージポップアップを非表示にします
 * @type boolean
 * @default true
 * @parent PopUpConfig
 * 
 * @param popupShieldIcon
 * @text アイコン表示
 * @desc ポップアップ時にシールドアイコンを表示します
 * @type icon
 * @default 0
 * @parent PopUpConfig
 * 
 * @param popupColorShieldGain
 * @text シールド上昇時の色
 * @desc シールド上昇時のポップアップの表示色 (デフォルト: rgba(255, 255, 200, 1.0))
 * @type string
 * @default rgba(255, 255, 200, 1.0)
 * @parent PopUpConfig
 * 
 * @param popupColorShieldLoss
 * @text シールド減少時の色
 * @desc シールド減少時のポップアップの表示色 (デフォルト: rgba(200, 200, 255, 1.0))
 * @type string
 * @default rgba(200, 200, 255, 1.0)
 * @parent PopUpConfig
 * 
 * @param LabelConfig
 * @text アイコン描画設定
 * @desc アイコン関連の設定項目です ※このパラメータは使用しません
 * 
 * @param labelIconIndex
 * @text アイコン画像
 * @desc シールドが付与されたときに描画するアイコン画像です
 * @type icon
 * @default 0
 * @parent LabelConfig
 * 
 * @param labelIconX
 * @text アイコン画像オフセットX
 * @desc アイコン画像の表示座標オフセットX (デフォルト: 0)
 * @type number
 * @default 0
 * @min -1000
 * @max 1000
 * @parent LabelConfig
 * 
 * @param labelIconY
 * @text アイコン画像オフセットY
 * @desc アイコン画像の表示座標オフセットY (デフォルト: 0)
 * @type number
 * @min -1000
 * @max 1000
 * @default 0
 * @parent LabelConfig
 * 
 * @param TurnConfig
 * @text ターン数描画設定
 * @desc シールドの持続ターン数の描画設定項目です ※このパラメータは使用しません。
 * 
 * @param turnDisplay
 * @text ターン数表示
 * @desc シールドのターン数を表示します(シールドをターン経過で自動解除しない場合 OFFにすることを推奨します)
 * @type boolean
 * @default false
 * @parent TurnConfig
 * 
 * @param turnFontSize
 * @text フォントサイズ
 * @desc シールド値のフォントサイズ(デフォルト: 16)
 * @type number
 * @default 16
 * @parent TurnConfig
 * 
 * @param turnX
 * @text ターン数X座標
 * @desc ターン数のX座標(デフォルト: 16)
 * @type number
 * @default 16
 * @min -1000
 * @max 1000
 * @parent TurnConfig
 * 
 * @param turnY
 * @text ターン数Y座標
 * @desc ターン数のY座標(デフォルト: 16)
 * @type number
 * @min -1000
 * @max 1000
 * @default 16
 * @parent TurnConfig
 * 
 * @param GaugeConfig
 * @text ゲージ設定
 * @desc ゲージ関連の設定項目です ※このパラメータは使用しません
 * 
 * @param displayGauge
 * @text ゲージ表示
 * @desc シールド耐久値を表示するゲージをHPゲージの上に描画します
 * @type boolean
 * @default true
 * @parent GaugeConfig
 * 
 * @param displayType
 * @text 描画方式
 * @desc シールドの描画方式を選びます
 * @type select
 * @option ゲージの上に描画
 * @value 0
 * @option ゲージの外枠に描画
 * @value 1
 * @default 0
 * @parent GaugeConfig
 * 
 * @param drawShieldValue
 * @text 耐久値を表示
 * @desc シールド耐久値を描画します
 * @type boolean
 * @default true
 * @parent GaugeConfig
 * 
 * @param gaugeValueFontSize
 * @text フォントサイズ
 * @desc シールド耐久値のフォントサイズ(デフォルト: 12)
 * @type number
 * @default 12
 * @parent GaugeConfig
 * 
 * @param gaugeValueX
 * @text シールド耐久値X座標
 * @desc シールド耐久値を表示するX座標 (デフォルト: 36) 
 * @type number
 * @default 36
 * @min -1000
 * @max 1000
 * @parent GaugeConfig
 * 
 * @param gaugeValueY
 * @text シールド耐久値Y座標
 * @desc シールド耐久値を表示するY座標 (デフォルト: 8)
 * @type number
 * @default 8
 * @min -1000
 * @max 1000
 * @parent GaugeConfig
 * 
 * @param gaugeColor1
 * @text ゲージ色1
 * @desc シールドのゲージ色1(デフォルト: rgba(200, 200, 200, 0.9))
 * @type string
 * @default rgba(200, 200, 200, 0.9)
 * @parent GaugeConfig
 * 
 * @param gaugeColor2
 * @text ゲージ色2
 * @desc シールドのゲージ色2(デフォルト: rgba(200, 200, 200, 0.9))
 * @type string
 * @default rgba(200, 200, 200, 0.9)
 * @parent GaugeConfig
 * 
 * @param AdvanceConfig
 * @text 上級者向け設定
 * @desc 上級者向けの設定です ※この項目は使用しません
 * 
 * @param EnemyConfig
 * @text エネミーのシールド描画設定
 * @desc エネミーのシールド描画設定です この項目は他プラグインとの併用を想定しています ※この項目は使用しません。
 * @parent AdvanceConfig
 * 
 * @param enemyIconOffsetX
 * @text アイコンのX座標オフセット値
 * @desc エネミーのシールドアイコンX座標のオフセット値
 * @type number
 * @default 0
 * @min -1000
 * @max 1000
 * @parent EnemyConfig
 * 
 * @param enemyIconOffsetY
 * @text アイコンのY座標オフセット値
 * @desc エネミーのシールドアイコンY座標のオフセット値
 * @type number
 * @default 0
 * @min -1000
 * @max 1000
 * @parent EnemyConfig
 * 
 * @param enemyTurnOffsetX
 * @text ターン数のX座標オフセット値
 * @desc エネミーのシールドターン数X座標のオフセット値
 * @type number
 * @default 0
 * @min -1000
 * @max 1000
 * @parent EnemyConfig
 * 
 * @param enemyTurnOffsetY
 * @text ターン数のY座標オフセット値
 * @desc エネミーのシールドターン数Y座標のオフセット値
 * @type number
 * @default 0
 * @min -1000
 * @max 1000
 * @parent EnemyConfig
 * 
 *

スポンサードリンク

スポンサードリンク

-MZ用プラグイン

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