回復超過を実装したい

備長炭
記事: 14
登録日時: 2023年8月20日(日) 03:56

回復超過を実装したい

投稿記事by 備長炭 » 2023年9月01日(金) 17:54

題名通りです
HP、MP、TPの回復超過分を変数に格納、もしくは超過させたいです
時間と労力を消費させてしまいますが、プラグインを作って頂けると嬉しいです

名無し蛙
記事: 325
登録日時: 2015年11月23日(月) 02:46

Re: 回復超過を実装したい

投稿記事by 名無し蛙 » 2023年9月01日(金) 21:02

書いてないですけど「戦闘中だけ」超過させたいという事ですか?
非常に簡単な改造ですけど多分これだけで十分な気がしますね

コード: 全て選択

/*:
 * @target MZ
 */

(() => {
    'use strict'

    Game_BattlerBase.prototype.refresh = function() {
        for (const stateId of this.stateResistSet()) {
            this.eraseState(stateId);
        }
        this._hp = this._hp.clamp(0, this.mhp * ($gameParty.inBattle() ? 10 : 1));
        this._mp = this._mp.clamp(0, this.mmp * ($gameParty.inBattle() ? 10 : 1));
        this._tp = this._tp.clamp(0, this.maxTp() * ($gameParty.inBattle() ? 10 : 1));
    };

    const _old_onBattleEnd = Game_Battler.prototype.onBattleEnd;
    Game_Battler.prototype.onBattleEnd = function() {
        _old_onBattleEnd.apply(this, arguments);
        this.refresh();
    };   
})();

戦闘中だけHP/MP/TPの上限を10倍にする、という改造です。
ただし最大HPの参照処理等は従来通り実行されます。
新規ファイルに上記のコードをコピペして〇〇.jsと適当に名付けて保存。
pluginsフォルダに入れてプラグインマネージャに登録すれば反映されると思います。
備長炭
記事: 14
登録日時: 2023年8月20日(日) 03:56

Re: 回復超過を実装したい

投稿記事by 備長炭 » 2023年9月02日(土) 09:11

名無し蛙さん返信ありがとうございます
いえ、戦闘中だけではなくほかのシーンでも実装したいのです
こちらのトピックhttps://tm.lucky-duet.com/viewtopic.php?f=99&t=14186
でも触れていますが、イベントに使用するためです
理想としては、ケケ様のHP超過回復https://kekeelabo.com/?i=17
のような仕様が理想なのですが、こちらのプラグインはHPにしか対応していないため
今回このトピックを投稿させていただきました
記述が少ないが故に誤解させてしまいすみませんでした
名無し蛙
記事: 325
登録日時: 2015年11月23日(月) 02:46

Re: 回復超過を実装したい

投稿記事by 名無し蛙 » 2023年9月02日(土) 18:55

備長炭 さんが書きました:いえ、戦闘中だけではなくほかのシーンでも実装したいのです
こちらのトピックhttps://tm.lucky-duet.com/viewtopic.php?f=99&t=14186
でも触れていますが、イベントに使用するためです
理想としては、ケケ様のHP超過回復https://kekeelabo.com/?i=17
のような仕様が理想なのですが、こちらのプラグインはHPにしか対応していないため

仕様、というか要望が全然見えませんね。
ケケー氏のプラグインもDLして軽く検めてみましたけど、
こちらも戦闘中以外ではオーバーヒール出来る訳ではないですよね?
例えば
・メニュー画面でポーションを100個使い込んで常時HP50000ドーピングを可能にしたいという事でしょうか?
・超過したHPに上限は存在するのでしょうか?
・超過したHPはどのタイミングでリセットされるのでしょうか?(最大HPが変動する時?「全回復」処理?)
・特徴「TP持ち越し」を使用して戦闘後も超過TPを維持する事を前提にしているのでしょうか?

備長炭 さんが書きました:例えば、TPが最大値の100になったときにイベントが発生し
ステートを付与してまた0に戻る特殊な仕様があるのですが
例として、80から120に回復した時に100消費して20残るという形にしたいのです

これはどうやって実装しようとしてるんですか?
戦闘中のバトルイベント? それとも何らかのプラグインを併用して割り込もうとしている?
あるいは非戦闘時のマップイベントで実装しようとしている?
何をしようとしているのか分からないです。

追記
でもツクールフォーラムの方で回答戴いているみたいですね。
自分にはちょっと着地点がよく分からなかったので以降はそちらの方にお任せします。
備長炭
記事: 14
登録日時: 2023年8月20日(日) 03:56

Re: 回復超過を実装したい

投稿記事by 備長炭 » 2023年9月03日(日) 00:08

名無し蛙さん回答ありがとうございます
フォーラムの方で解決しそうですが、リアルの事情で神無月サスケさんのプラグインを試せていませんので、このトピックは解決していないことにしています

今回は、やりたいことの説明の仕方が下手だったことを深くお詫びします
また今度、トピックを描く時は分かりやすく説明したいと思います

“MZ:プラグイン素材のリクエスト” へ戻る