見出し画像

ステータス窓の6変数の表示切替

すべてのRPGに6変数があるわけでもない

MZのデフォルトだと、最大HP/MP以外では「攻撃力」「防御力」「魔法力」「魔法防御」「敏捷性」「運」という6変数が、レベルアップごとに向上するアクターの能力値になっています。

しかしDQ2で使うのは「攻撃力」「防御力」「敏捷性」の3つだけです。残りの使わない3つがステータス窓に表示されてるのはアレなのでこれを非表示にしようと考えました。

ついでなので6つ全部切り替えられるように

もしかしたら人によっては「魔法防御」だけないゲームをつくるかもしれないし、「運」だけで戦うゲームをつくるかもしれません。私自身もやっぱりあとで「運」は使おうとか思うかもしれません。なので6つそれぞれON/OFFできるようにしてみました。

画像1

↑たとえばこう設定しておくと

画像2

↑こうなる。

動作原理(というほど大袈裟なものでもない)

このへんは Window_StatusParams.drawItem() に書いてあります。これは何番目のパラメータの表示かだけを引数にとって、パラメータIDは +2 で機械的に出しています。

Window_StatusParams.prototype.drawItem = function(index) {
   const rect = this.itemLineRect(index);
   const paramId = index + 2;
   const name = TextManager.param(paramId);
   const value = this._actor.param(paramId);
   this.changeTextColor(ColorManager.systemColor());
   this.drawText(name, rect.x, rect.y, 160);
   this.resetTextColor();
   this.drawText(value, rect.x + 160, rect.y, 60, "right");
};

これだと非表示にしたいパラメータを単に非表示にしただけだと「歯抜け」みたいになってしまうので、indexとパラメータIDが「いい感じ」になるように書き換えています。どうしても気になる人はコード読んでください。あまり他の部分影響を広げたくないのでけっこう泥臭いことをやっています。

追記(7/15)

バグを見つけた(装備変更窓に反映されてない)ので、近日中に修正します。

追記(7/16)

修正版を更新しました。

ダウンロードはこちら

CSVN_toggleStatusParams.js
※右クリックでDL

ほかにつくったやつはこちら

cursed-steven/rmmz: RPGツクールMZ用のプラグインスクリプトをおいていきます。

この記事が気に入ったらサポートをしてみませんか?