【解決済】アクターのHP残量に応じてMPの回復値を変える

m**
記事: 29
登録日時: 2023年8月19日(土) 20:02

【解決済】アクターのHP残量に応じてMPの回復値を変える

投稿記事by m** » 2023年9月18日(月) 00:24

現在制作しているゲームで、
「ターン終了時にMPを回復(HPの残量によって回復量は変化。)
アクターのHPが最大の100%→4回復
アクターのHPが最大の61〜99%→3回復
アクターのHPが最大の31〜60%→2回復
アクターのHPが最大の1〜30%→1回復
アクターのHPが最大の0%(戦闘不能)→回復無し」
というようなシステムを導入したいと考えています。

コモンイベントの条件分岐を使って作れないかと試行錯誤しましたが私の技量ではうまく行かず挫折してしまいました。
(プログラミング経験皆無です。)
何か良い方法はありますでしょうか。
最後に編集したユーザー m** on 2023年9月20日(水) 20:07 [ 編集 1 回目 ]

**********
英語は多少読めるけどプログラミングは全く出来ない&分からない人。
でも絵なら描ける完全ド文系人間。
普段は別名義で創作活動(ゲーム以外も含む)をしてます。
アバター
剣崎 宗二
記事: 681
登録日時: 2016年11月12日(土) 20:36
連絡を取る:

Re: アクターのHP残量に応じてMPの回復値を変える

投稿記事by 剣崎 宗二 » 2023年9月20日(水) 15:26

適応範囲はどんな感じでしょうか?(敵味方含む全てのキャラクター、特定のステートが掛かっているキャラクターなど)

とりあえずすべてのキャラクターの前提で考えますと、以下を新規プラグインとして入れてみてください。
(後、小数以下の値はどうするか考えてください。例えばHP割合が60.5%だった場合等)

コード: 全て選択

Game_Battler.prototype.regenerateMp = function() {
   
    const hpPercent = this.hp / this.mhp * 100;
    var value = 0;

    if (hpPercent == 100)
    {
        value = 4;
    }
    else if(hpPercent > 60)
    {
        value = 3;
    }
    else if(hpPercent > 30)
    {
        value = 2;
    }
    else if (hpPercent > 0)
    {
        value = 1;
    }

    if (value !== 0) {
        this.gainMp(value);
    }
};
----
-出先に居る場合回答が未テスト状態である事が多い為、テストは重々にお願いいたします。
-基本自分や友人の問題解決は自分で1からプラグインを書いているので、「こういうプラグインはありますか」に対しては助けになれません。ご了承ください。
m**
記事: 29
登録日時: 2023年8月19日(土) 20:02

Re: アクターのHP残量に応じてMPの回復値を変える

投稿記事by m** » 2023年9月20日(水) 17:57

剣崎 宗二 様

回答ありがとうございます。
範囲は戦闘に参加しているアクター全員(参照するのは個人のHP、MP回復が無効化するステートに掛かっているアクターは除外)です。
小数点以下の値については
「アクターのHPが~%以上~未満→X回復」と書くべきだったかもしれません。

投稿後にその事に気づいてどうしようかと考えたのですが、
全ての値をカバーできる方法はこうなのかなと(違ったらすみません)……。
お恥ずかしながら、当方はプログラミングの経験も知識も無いに等しい上、数学も苦手な人間なもので……。

また、可能ならプラグイン化して保存したらすぐ使える様な状態にして頂けたら幸いです。
伝わりにくい文章で申し訳ございませんでした。
**********
英語は多少読めるけどプログラミングは全く出来ない&分からない人。
でも絵なら描ける完全ド文系人間。
普段は別名義で創作活動(ゲーム以外も含む)をしてます。
アバター
剣崎 宗二
記事: 681
登録日時: 2016年11月12日(土) 20:36
連絡を取る:

Re: アクターのHP残量に応じてMPの回復値を変える

投稿記事by 剣崎 宗二 » 2023年9月20日(水) 18:47

簡易ですがファイルに入れました。
添付ファイル
mpRegenbasedonHp.js
(442 バイト) ダウンロード数: 3 回
----
-出先に居る場合回答が未テスト状態である事が多い為、テストは重々にお願いいたします。
-基本自分や友人の問題解決は自分で1からプラグインを書いているので、「こういうプラグインはありますか」に対しては助けになれません。ご了承ください。
m**
記事: 29
登録日時: 2023年8月19日(土) 20:02

Re: アクターのHP残量に応じてMPの回復値を変える

投稿記事by m** » 2023年9月20日(水) 18:53

剣崎 宗二 様

プラグイン化して頂きありがとうございます!
使用して何か不具合等がありましたらまた此方に書き込みたいと思います。(解決済表記は様子を見てからにさせて頂きます。)
この度は要望に応えて頂き本当にありがとうございました!
**********
英語は多少読めるけどプログラミングは全く出来ない&分からない人。
でも絵なら描ける完全ド文系人間。
普段は別名義で創作活動(ゲーム以外も含む)をしてます。
m**
記事: 29
登録日時: 2023年8月19日(土) 20:02

Re: アクターのHP残量に応じてMPの回復値を変える

投稿記事by m** » 2023年9月20日(水) 20:05

剣崎 宗二 様

簡単なプラグインテストをしたところ、理想通りの動作をしたので報告させて頂きます。
単体でのテストも実際のゲームデータで他のプラグインと同時に使用してのテストでも問題無く動きました。

なので本件については「解決済」としたいと思います。
本当にありがとうございました!
**********
英語は多少読めるけどプログラミングは全く出来ない&分からない人。
でも絵なら描ける完全ド文系人間。
普段は別名義で創作活動(ゲーム以外も含む)をしてます。
m**
記事: 29
登録日時: 2023年8月19日(土) 20:02

Re: 【解決済】アクターのHP残量に応じてMPの回復値を変える

投稿記事by m** » 2023年9月30日(土) 14:39

剣崎 宗二 様

別のプラグインの件でも書いた事なのですが
解決済なので以下はスルーして頂いても全然問題無いです。
お時間のある時、気が向いた時にで全然構わないのですがもし可能でしたら
プラグイン管理画面に出てくる「RPGツクールMZに対応していない可能性があります」という表示が
出ないようにして頂く事が出来たら有難いです。
(動作に全く関係無い部分なので対応不可ならそれで構いません。)
**********
英語は多少読めるけどプログラミングは全く出来ない&分からない人。
でも絵なら描ける完全ド文系人間。
普段は別名義で創作活動(ゲーム以外も含む)をしてます。

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