奥義システムの実装【RPGツクールMZプラグイン】

2023年03月29日

 ゲージを溜めて発動する特別なスキルを実装します。
 いわゆる奥義のようなものです。


 既存のTP制に類似していますが、ゲージを複数持たせることができます。
 また、TPをレベル成長させるプラグイン(NRP_LevelGrowTP.js)との併用も可能です。

 ゲージが溜まる条件やレイアウトについても調整できます。
 ミスティックスターの奥義システムを再現するために作ったプラグインですが、工夫次第で色々なシステムができるかもしれません。

目次


導入方法(Install)

更新履歴(History)

使用方法(Usage)

スキルのメモ欄(奥義用)(Note of Skills [Special])

スキルのメモ欄(通常用)(Note of Skills [Normal])

ステートのメモ欄(Note of States)

プラグインコマンド

レイアウトについて

プラグインパラメータ

奥義タイプ一覧(SpecialTypeList)

奥義所有時のみゲージ表示(ShowGaugeWhenLearned)

全回復にゲージを含める(RecoverGauge)

命中時のみ加算(PlusOnlyHit)

奥義発動時は加算しない(NotPlusWhenUsed)

同じ対象は加算しない(NotPlusSameTarget)

複数ヒット時に減衰(MultipleAttenuation)

【ゲージのレイアウト関連】
数値の表示(ShowGaugeNumber)

ラベルの横幅(LabelWidth)

横幅(GaugeWidth)

縦幅(GaugeHeight)

ゲージの間隔(GaugeInterval)

ゲージフラッシュ(GaugeFlash)

メニュー画面に表示(ShowMenu)

開始X座標(メニュー)(MenuStartGaugeX)

開始Y座標(メニュー)(MenuStartGaugeY)

ステータス画面に表示(ShowStatus)

開始X座標(ステータス)(StatusStartGaugeX)

開始Y座標(ステータス)(StatusStartGaugeY)

戦闘画面に表示(ShowBattle)

開始X座標(戦闘)(BattleStartGaugeX)

開始Y座標(戦闘)(BattleStartGaugeY)

HP調整Y座標(BattleAdjustNameY)

名前〜HPの間隔(BattleNameHpInterval)


プラグインパラメータ(奥義タイプ一覧)

有効条件(Condition)

最大値(GaugeMax)

戦闘後もゲージ持越(PreserveGauge)

戦闘開始時の上昇値(BattleStartValue)

行動毎の上昇値(ActionValue)

行動終了時の上昇値(ActionEndValue)

ターン毎の再生値(RegenerateValue)

ダメージ時の上昇値(DamageValue)

回避時の上昇値(EvadedValue)

仲間死亡時の上昇値(FriendsDeadValue)

敵撃破時の上昇値(DefeatEnemyValue)

会心時の上昇値(CriticalValue)

消費ポイントの色(CostColor)

満タン時のアニメ(ChargedAnimation)

【ゲージのレイアウト関連】
ラベル(Label)

色(左)(GaugeColor1)

色(右)(GaugeColor2)


導入方法(install)


 以下のファイルをダウンロードし 、[プロジェクト]\js\plugins に放り込みます。ツクールのプラグイン管理から機能をONにしてください。
 ※このプラグインはMZ専用です。

 NRP_SpecialSkill.js ver1.01(2023/03/29)

更新履歴(History)


2023/03/29(ver1.01)

  • 奥義ゲージの幅が反映されない不具合修正。
  • スキル画面にゲージが表示されてしまう不具合修正。

2022/07/23 -> 2022/07/24(ver1.00 -> 1.001)

  • 公開!
  • 途中のセーブデータに適用した場合、エラーになる不具合修正。
    (2022/07/24 ver1.001)

使用方法(Usage)


 プラグインパラメータの奥義タイプ一覧に、情報を登録してください。
 ゲージが溜まる条件を詳細に設定できます。

 初期状態では一つだけ登録されていますが、複数登録することも可能です。
 先頭のデータが『奥義タイプ = 1』として扱われます。

 さらに奥義タイプに対応する奥義スキルを設定してください。
 ※以下の『スキルのメモ欄』を参照

スキルのメモ欄(奥義用)(Note of Skill [Special])


 奥義となるスキルのメモ欄に以下を記入してください。

<SpecialSkill:[奥義タイプ]>

 スキルを奥義スキルとして設定します。
 <SpecialSkill:1>ならば、奥義タイプ一覧の1番目に対応します。

<SpecialSkillCost:100>

 奥義ゲージを100ポイント消費します。
 指定がない場合は全てを消費します。

スキルのメモ欄(通常用)(Note of Skill [Normal])


 ゲージが溜まる条件をスキル毎に設定できます。
 指定がない場合はプラグインパラメータの既定値を用います。

<SpecialSkillActionValue:10>

 スキル命中時に、スキル使用者の全ゲージを10加算します。
 対象数や連続回数に比例して増加量も大きくなります。
 ※外れても増加する設定もできます。

<SpecialSkillActionEndValue:10>

 スキル使用後に、スキル使用者の全ゲージを10加算します。

<SpecialSkillChargeValue:10>

 スキルを受けた相手の全ゲージを10加算します。
 基本的には補助スキルを想定しています。



 特定のゲージだけを増加させたい場合は、タグ名の末尾に数値を付加してください。
 例:『SpecialSkillActionValue1』ならば一番目のゲージが対象。

<SpecialSkillActionValue1:10>

<SpecialSkillActionEndValue1:10>

<SpecialSkillChargeValue1:10>


ステートのメモ欄(Note of States)


<SpecialSkillChargeValue:10>

 ステートを受けた相手の全ゲージを10加算します。

<SpecialSkillRegenerateValue:10>

 ステート時、ターン毎に全ゲージを10加算します。



 スキルと同じ要領で特定の奥義タイプだけを対象にできます。
<SpecialSkillChargeValue1:10>

<SpecialSkillRegenerateValue1:10>


プラグインコマンド


奥義ゲージの増減

 奥義ゲージを増減させます。
 操作するアクターや奥義タイプを指定可能です。
 アクターを指定しなかった場合は、パーティ全員が対象となります。
 奥義タイプを指定しなかった場合は、全奥義タイプが対象となります。

レイアウトについて


 初期状態では奥義ゲージを表示する場所が狭いので窮屈です。
 特にゲージを複数登録した場合は顕著になります。
 対象はメニュー、ステータス、戦闘の3画面です。

 プラグインパラメータによって、ゲージのレイアウトを設定できますが、このプラグインだけでは厳しいかもしれません。
 その他のレイアウト系プラグインと組み合わせて、いい感じに調整してください。
 ※このプラグイン単体では無理があるので、作者はさじを投げました。

プラグインパラメータ


奥義タイプ一覧(SpecialTypeList)

 奥義タイプの一覧です。それぞれがゲージ情報を保有します。

奥義所有時のみゲージ表示(ShowGaugeWhenLearned)

 アクターが有効な奥義を覚えている場合のみゲージを表示します。

全回復にゲージを含める(RecoverGauge)

 全回復時に奥義ゲージも回復します。

命中時のみ加算(PlusOnlyHit)

 行動毎のゲージ上昇を命中時のみ有効にします。

奥義発動時は加算しない(NotPlusWhenUsed)

 奥義発動時はゲージ上昇を停止します。
 つまり、自身で発動した奥義ではゲージが溜まりません。

同じ対象は加算しない(NotPlusSameTarget)

 多段技などで同一の対象に複数攻撃を当てても、行動毎の上昇値が溜まらないようにします。

複数ヒット時に減衰(MultipleAttenuation)

 範囲技/多段技にてヒット毎のゲージ上昇量を減少させます。
 例:「value / count」で上昇量/ヒット数へと減衰。


【ゲージのレイアウト関連】

数値の表示(ShowGaugeNumber)

 ゲージ上に現在値を数値表示します。

ラベルの横幅(LabelWidth)

 ラベルを表示する横幅です。不要な場合は0にしてください。

横幅(GaugeWidth)

 ゲージの横幅です。初期値は128です。
 ここからラベル幅が引かれることに注意です。

縦幅(GaugeHeight)

 ゲージの縦幅です。初期値は12です。

ゲージの間隔(GaugeInterval)

 ゲージ同士の間隔です。

ゲージフラッシュ(GaugeFlash)

 満タンになったゲージをフラッシュさせます。

メニュー画面に表示(ShowMenu)

 メニュー画面に奥義ゲージを表示します。


 メニューにゲージを表示するX座標です。
 アクター名からの相対座標を指定してください。

 ちなみに、右列(HPなどの列)に表示したい場合は値を180にすればOKです。


 メニューにゲージを表示するY座標です。
 アクター名からの相対座標を指定してください。

ステータス画面に表示(ShowStatus)

 ステータス画面に奥義ゲージを表示します。

開始X座標(ステータス)(StatusStartGaugeX)

 ステータスにゲージを表示するX座標です。
 レベルからの相対座標を指定してください。

開始Y座標(ステータス)(StatusStartGaugeY)

 ステータスにゲージを表示するY座標です。
 レベルからの相対座標を指定してください。

戦闘画面に表示(ShowBattle)

 戦闘画面に奥義ゲージを表示します。

開始X座標(戦闘)(BattleStartGaugeX)

 戦闘にゲージを表示するX座標です。
 アクター名からの相対座標を指定してください。

開始Y座標(戦闘)(BattleStartGaugeY)

 戦闘にゲージを表示するY座標です。
 アクター名からの相対座標を指定してください。

HP調整Y座標(BattleAdjustNameY)

 戦闘時、名前〜TPのY座標を調整します。

名前〜HPの間隔(BattleNameHpInterval)

 戦闘時、名前とHPの間隔を数値分広げます。

プラグインパラメータ(奥義タイプ一覧)


有効条件(Condition)

 奥義ゲージの有効条件です。(aをバトラーとした数式)
 例:a.level >= 10

最大値(GaugeMax)

 奥義ゲージの最大値となる数値です。

戦闘後もゲージ持越(PreserveGauge)

 戦闘終了後も奥義ゲージを保持します。

戦闘開始時の上昇値(BattleStartValue)

 戦闘開始時に加算するゲージ上昇値です。
 例:「Math.randomInt(25)」で0~24

行動毎の上昇値(ActionValue)

 行動毎のゲージ上昇値です。
 ヒット数分加算されます。
 例:10

行動終了時の上昇値(ActionEndValue)

 行動終了時の上昇値です。
 こちらは1回だけです。
 例:10

ターン毎の再生値(RegenerateValue)

 ターン毎の再生値です。
 例:10

ダメージ時の上昇値(DamageValue)

 ダメージを受けた時の奥義ゲージ上昇値です。
 例:50 * damage / a.mhp

回避時の上昇値(EvadedValue)

 攻撃を回避した時の奥義ゲージ上昇値です。
 例:10

仲間死亡時の上昇値(FriendsDeadValue)

 仲間が戦闘不能になった際のゲージ上昇値です。

敵撃破時の上昇値(DefeatEnemyValue)

 敵を撃破した際のゲージ上昇値です。

会心時の上昇値(CriticalValue)

 会心時のゲージ上昇値です。

消費ポイントの色(CostColor)

 奥義の消費ポイントの色です。
 システムカラーの番号を指定。
 空欄なら消費非表示。

満タン時のアニメ(ChargedAnimation)

 奥義ゲージが満タンになった際のアニメーションです。


【ゲージのレイアウト関連】

ラベル(Label)

 表示するラベルです。

色(左)(GaugeColor1)

 奥義ゲージの色(左)です。
 システムカラーの番号を指定してください。

色(右)(GaugeColor2)

 奥義ゲージの色(右)です。
 システムカラーの番号を指定してください。

 >RPGツクールMZ&MV目次に戻る
posted by 砂川赳 at 18:10 | RPGツクールMZ&MV | このブログの読者になる | 更新情報をチェックする

行動後に回復するシステムを実装【RPGツクールMZプラグイン】

2023年03月28日

 行動後にHP、MP、TPが回復するシステムを実装します。

 回復を行う条件を細かく設定可能な他、スキル選択時に回復量を表示することもできます。

 なお、作者の自作品にある「武器を使った時はMP回復」「魔法を使った時はTP回復」というシステムをMZで実現するために作成したプラグインなので、仕様が微妙にマニアックです。


 また、TPをレベル成長させるプラグインとの併用も可能です。

目次


導入方法(Install)

更新履歴(History)

回復量の指定(Recovery Amount)

パッシブスキルについて(About Passive Skills)

スキル、アイテムのメモ欄(Note Of Skill & Item))

プラグインパラメータ(Plugin Parameter)

<HP回復関連>(<HPRecover>)

基本HP回復量(BasicHpRecover)
HP回復するスキルタイプ(HpRecoverSkillType)
アイテム使用時にHP回復(HpRecoverUseItem)
HP回復をダメージ表示(DisplayHpRecover)
HP回復の表記(HpRecoverLabel)

<MP回復関連>(<MPRecover>)

基本MP回復量(BasicMpRecover)
MP回復するスキルタイプ(MpRecoverSkillType)
アイテム使用時にMP回復(MpRecoverUseItem)
MP回復をダメージ表示(DisplayMpRecover)
MP回復の表記(MpRecoverLabel)

<TP回復関連>(<TPRecover>)

基本TP回復量(BasicTpRecover)
TP回復するスキルタイプ(TpRecoverSkillType)
アイテム使用時にTP回復(TpRecoverUseItem)
TP回復をダメージ表示(DisplayTpRecover)
TP回復の表記(TpRecoverLabel)

<回復ウィンドウ関連>(<RecoverWindow>)

回復ウィンドウを表示(UseRecoverWindow)
コマンド時の表示方法(CommandType)
配置(横)(HorizontalPosition)
数値の表示幅(NumberWidth)

導入方法(install)


 以下のファイルを右クリックで保存し 、[プロジェクト]\js\plugins に放り込みます。ツクールのプラグイン管理から機能をONにしてください。
 ※このプラグインはMZ専用です。

 NRP_RecoverAfterAction.js ver1.001(2023/03/28)

更新履歴(History)


2023/03/28(ver1.00 -> 1.001)

  • 公開!
  • 移動中にエラーとなる不具合修正。(ver1.001)

回復量の指定(Recovery Amount)


 アクター、エネミー、職業、装備、ステート、パッシブスキルのメモ欄に以下を記入してください。
<RecoverActionHpAdd:?>
<RecoverActionMpAdd:?>
<RecoverActionTpAdd:?>

 行動後にHP、MP、TPを指定した数値分だけ回復します。
 複数の装備品などによる重複加算も可能です。

 また、数式も使用可能です。
 "a.mhp / 2"ならば、最大HPの半分になります。

パッシブスキルについて(About Passive Skills)


 スキルの使用可能時を『使用不可』にした場合、そのスキルはパッシブスキルとして機能します。
 上記の設定を行う場合は、パッシブスキルにしてください。

スキル、アイテムのメモ欄(Note Of Skill & Item))


<RecoverActionHp:true/false>
<RecoverActionMp:true/false>
<RecoverActionTp:true/false>

 そのスキル(アイテム)を使用した際、HP、MP、TPの回復を有効/無効にします。
 これらはプラグインパラメータの設定より優先されます。

プラグインパラメータ(Plugin Parameter)


<HP回復関連>(<HPRecover>)

 HP回復関連の設定です。

基本HP回復量(BasicHpRecover)

 基本となるHP回復量です。

HP回復するスキルタイプ(HpRecoverSkillType)

 HP回復を行うスキルタイプ。
 複数指定可(例:0,1,2)。
 標準だと0:通常攻撃や防御, 1:魔法, 2:必殺技

アイテム使用時にHP回復(HpRecoverUseItem)

 アイテム使用時にHP回復を行います。

HP回復をダメージ表示(DisplayHpRecover)

 HP回復量をダメージ表示します。

HP回復の表記(HpRecoverLabel)

 HP回復量をウィンドウに表示する際の表記です。

<MP回復関連>(<MPRecover>)

 MP回復関連の設定です。

基本MP回復量(BasicMpRecover)

 基本となるMP回復量です。

MP回復するスキルタイプ(MpRecoverSkillType)

 MP回復を行うスキルタイプ。
 複数指定可(例:0,1,2)。
 標準だと0:通常攻撃や防御, 1:魔法, 2:必殺技

アイテム使用時にMP回復(MpRecoverUseItem)

 アイテム使用時にMP回復を行います。

MP回復をダメージ表示(DisplayMpRecover)

 MP回復量をダメージ表示します。

MP回復の表記(MpRecoverLabel)

 MP回復量をウィンドウに表示する際の表記です。

<TP回復関連>(<TPRecover>)

 TP回復関連の設定です。

基本TP回復量(BasicTpRecover)

 基本となるTP回復量です。

TP回復するスキルタイプ(TpRecoverSkillType)

 TP回復を行うスキルタイプ。
 複数指定可(例:0,1,2)。
 標準だと0:通常攻撃や防御, 1:魔法, 2:必殺技

アイテム使用時にTP回復(TpRecoverUseItem)

 アイテム使用時にTP回復を行います。

TP回復をダメージ表示(DisplayTpRecover)

 TP回復量をダメージ表示します。

TP回復の表記(TpRecoverLabel)

 TP回復量をウィンドウに表示する際の表記です。

<回復ウィンドウ関連>(<RecoverWindow>)

 回復値を表示するためのウィンドウの設定です。

回復ウィンドウを表示(UseRecoverWindow)

 スキル選択時に回復量をウィンドウに表示します。

コマンド時の表示方法(CommandType)

 コマンド(通常攻撃や防御)選択時の回復ウィンドウの表示方法です。

配置(横)(HorizontalPosition)

 回復ウィンドウの配置(横)です。

数値の表示幅(NumberWidth)

 回復ウィンドウに数値を表示する幅です。

 >RPGツクールMZ&MV目次に戻る
posted by 砂川赳 at 13:42 | RPGツクールMZ&MV | このブログの読者になる | 更新情報をチェックする

経験値曲線の数式を設定する【RPGツクールMZ&MVプラグイン】

2023年03月22日

 経験値曲線に独自の数式を適用できるようにします。

 RPGツクールMZおよびMVでは、職業の経験値曲線を調整できますが、細かい制御はできません。
 特に高レベル帯の曲線の上昇がゆるやかなのが悩みのタネです。
 最も急な設定にしたとしても、

  • レベル30 -> 31の必要経験値が30612
  • レベル40 -> 41の必要経験値が51736
  • 変化倍率は約1.69倍

 ……が精一杯です。


 ドラクエシリーズならこの期間で3〜4倍に変化することを考えると、かなりゆるやかなのが分かると思います。

 そのため、レベルの上昇速度を一定に保とうとすると、長編の後半では「強敵と戦うよりも弱い敵をたくさん倒したほうが楽」「強敵を倒しても経験値が低く達成感がない」なんて状況になってしまいがちです。

 このプラグインでは自由に数式を設定することで、製作者の望むバランスを実現できます。

 なお、基準とするのは「指定のレベルに必要な経験値」です。
 「次のレベルに必要な経験値」を基準に設定することはできません。

目次


導入方法(Install)

更新履歴(History)

使用方法(Usage)

数式のサンプル

プラグインパラメータ

必要経験値(既定)(DefaultExpForLevel)


導入方法(install)


 以下のファイルを右クリックで保存し 、[プロジェクト]\js\plugins に放り込みます。ツクールのプラグイン管理から機能をONにしてください。
 ※このプラグインはMV、MZの両方で有効です。

 NRP_ExpCurve.js ver1.00(2023/03/22)

更新履歴(History)


2023/03/22(ver1.00)

  • 公開!

使用方法(Usage)


 職業のメモ欄に以下のように記入してください。
<ExpForLevel:[数式]>

 例えば、以下のようになります。
<ExpForLevel:5*level**3>

 これはあるレベルに必要な累計経験値が「5 × レベルの3乗」であることを意味しています。

 いきなり数式を考えようにもイメージが湧きにくいと思うので、EXCELなどの表計算ソフトで実際に試してみることをオススメします。
 自分が作成したサンプルを置いておきますので参考にどうぞ。

 20230322_EXP_Sample.xlsx

 なお、EXCELの数式では2の3乗は2^3と表記しますが、ツクール(JavaScript)の数式では2**3という表記になります。
 基本的には累乗を使った数式を作るといい感じになると思います。
 上記のxlsxでは、4次関数の式をツクール用に変換して出力する機能があるのでオススメです。

 全ての職業で共通で構わないという場合は、プラグインパラメータで既定値を指定することもできます。

数式のサンプル


<ExpForLevel:5*level**3>

 上記でも紹介した数式です。
 かなりシンプルな式ですが、それっぽい経験値曲線になります。

<ExpForLevel:0.2*level**4 + 15*level - 15>

 4乗を使った数式です。
 ドラクエっぽい経験値曲線になります。

プラグインパラメータ


必要経験値(既定)(DefaultExpForLevel)

 レベルに必要な経験値の既定値です。
 例:5*level**3

 >RPGツクールMZ&MV目次に戻る
posted by 砂川赳 at 17:35 | RPGツクールMZ&MV | このブログの読者になる | 更新情報をチェックする