rpg_objectsの改造

自由に雑談できるトピックです。
Henry85061
記事: 1
登録日時: 2019年2月17日(日) 20:26

rpg_objectsの改造

投稿記事by Henry85061 » 2019年2月17日(日) 21:09

rpg_objects の関数をいじることでプラグインを使わなくてもよくなったりなります。
知識のある人にとっては大したことではないと思いますが・・・
バックアップは取っておきましょう。

・能力値の最小、最大の設定

Game_BattlerBase.prototype.paramMin = function(paramId) {   ←バトラー(敵)のパラメーター最小値
if (paramId === 1) {                     ←1(最大MP)ならば (HP=0、MP=1、攻撃=2...)
return 0; // MMP                    ←0を返す(最小値=0)
} else {                           ←...でなければ(1(最大MP)でなければ)
return 1;                         ←1を返す(最小値=1)
}
};

Game_BattlerBase.prototype.paramMax = function(paramId) {   ←バトラー(敵)のパラメーターの最大値
if (paramId === 0) {                     ←0(最大HP)ならば
return 999999; // MHP                  ←最大999999
} else if (paramId === 1) {                  ←1(最小MP)ならば
return 9999; // MMP                   ←最大9999
} else {                           ←0、1でなければ
return 999;                        ←最大999
}
};


Game_Actor.prototype.paramMax = function(paramId) {      ←アクターの能力値設定
if (paramId === 0) {                     ←0(最大HP)なら
return 9999; // MHP                   ←9999
}
return Game_Battler.prototype.paramMax.call(this, paramId);  ←残りは↑の設定通り
};

それぞれこういう意味の事を書いてます。
なので、敵の攻撃力を1500とかにしたいのであれば 下から3行目の return 999; を return 9999; などに
書き換えることで、ゲーム内でそれを実現することができます(当然データベースでは999までしか入れられない
ので500にして特徴で3倍にする、などの設定が必要になりますが)
二つ目の }else if (paramId === 1){ 以降の設定はアクター(味方側)の設定にも使っているので注意してください。


後は私が書き換えたりしたことのある項目を紹介します

・バフの倍率の設定

Game_BattlerBase.prototype.paramBuffRate = function(paramId) {
return this._buffs[paramId] * 0.25 + 1.0;
};

これは一段階ごとに0.25%能力値が強化されるということなので、0.25 を変更すれば
一段階ごとに50%強化されたりなどの効果に変更することができます。

・会心の一撃のダメージ倍率

Game_Action.prototype.applyCritical = function(damage) {
return damage * 3;
};

会心の一撃が出たときにダメージが何倍になるかの関数です。
初期状態だと3倍になります。会心が頻繁に出るゲームを作るときには1.5にしたりすると
バランスが崩れづらくなると思います。

スクリプトをあまり使わない人は是非rpg_objectsを活用してみてください。

“雑談” へ戻る