ページ 11

【解決済み】ステータスの下限撤廃

Posted: 2024年6月08日(土) 17:35
by 水星人
今回一番やりたいことは防御力、魔法防御を負の数で設定したいのですが
下限が0で設定されているようなので防御力、魔法防御のステータス下限の撤廃をお願いします。

ついでにその他のステータスの下限撤廃もあるとありがたいです。
(HPやMPの下限はそのままでいいかもしれません)

ステータスは

コード: 全て選択

$dataenemies[id].params[n] = x;
で設定するのでデータベースで負の値が直接設定できなくても大丈夫です。

Re: ステータスの下限撤廃

Posted: 2024年6月10日(月) 22:08
by basu
以下のコードでステータスをマイナスにすることができました。

コード: 全て選択

    Game_BattlerBase.prototype.paramBasePlus = function (paramId) {
        return this.paramBase(paramId) + this.paramPlus(paramId);
    };

    Game_BattlerBase.prototype.param = function (paramId) {
        const value = this.paramBasePlus(paramId) * this.paramRate(paramId) * this.paramBuffRate(paramId);
        const maxValue = this.paramMax(paramId);
        return Math.round(value.clamp(value, maxValue));
    };
■試したこと
・イベントの能力値の増減で防御力をマイナスにする
・ゴブリンとの戦闘テスト

※動作確認は行っていますが、予期せぬ動作を起こす可能性があります。

よろしくお願いします。

Re: ステータスの下限撤廃

Posted: 2024年6月11日(火) 22:18
by 水星人
こちらも軽く動作確認したところ防御力をマイナスの値にすることが出来ました。
ありがとうございます。

ただ、大変申し訳無いのですが最初の投稿に「敵の」を書き忘れておりまして
敵の防御力をマイナスにしたかったのですが多分今回のは敵に適応できないですよね

Re: ステータスの下限撤廃

Posted: 2024年6月12日(水) 23:51
by basu
Game_BattlerBaseは「Game_Actor」「Game_Enemy」どちらも継承しているので敵味方両方とも撤廃されていると思います。

敵グループのバトルイベント(0ターン)で以下のスクリプトを実行するとエネミーのDEFがマイナスになっていることが確認できます。(ログはF12で確認できます)

コード: 全て選択

$gameTroop.members()[0].addParam(3, -1000)
console.log($gameTroop.members()[0])
よろしくお願いします。

Re: ステータスの下限撤廃

Posted: 2024年6月13日(木) 21:02
by 水星人
イベントコマンドを用いてステータスを無理やり変更してるものと勘違いしておりました。

$dataenemies[id].params[n] = -100000;
で試したところ-999を超えてしっかりと反映されました。

この度は本当にありがとうございました。

自分が管理し易いように説明等を追加したJSファイルを作ったのですが
ついでにこちらに貼り付けてもよろしいでしょうか。

Re: ステータスの下限撤廃

Posted: 2024年6月13日(木) 23:08
by basu
うまく動いたようで良かったです。

作成したソースはご自由に使っていただいて大丈夫です。

Re: ステータスの下限撤廃

Posted: 2024年6月14日(金) 21:52
by 水星人
許可いただきありがとうございます。

本件解決とさせていただきます。