ページ 11

回復できなくなるステートを作りたい

Posted: 2017年11月19日(日) 02:16
by かいぬし
お世話になります、かいぬしと申します。
如何なる手段を用いてもHP・MPが回復しなくなるステートを作成しようと試みたのですが、どうしても上手くいかなかったので、どうか皆さんの力をお貸し下さい!

私が理想としているのは、

1、HP(またはMP)を回復する技を受けても、効果が0になる。
2、回復アイテムの効果を受けても、回復しなくなる。
3、HP(またはMP)を吸収する技を使っても、敵にダメージは与えられるが回復はできない。
4、HP再生率を持つ装備品を装備、またはステートにかかっていても、HPが再生しない。

以上の4つを満たしたものです。1と2までは自分の手で実現できたのですが、3と4を実現する方法がわからず、行き詰ってしまいました。
3と4を実現するには、どのようにステートを設定すれば良いでしょうか? どうか教えてください!

Re: 回復できなくなるステートを作りたい

Posted: 2017年11月20日(月) 12:06
by かいぬし
色々調べてみた結果、3まではどうにか自分の手で実現することができました。しかし、どうしても4を実現する方法がわかりません。
再生率を0にするなんて、普通の設定じゃできそうにありませんし… やはりプラグインの力に頼るしかないのでしょうか?

Re: 回復できなくなるステートを作りたい

Posted: 2017年11月21日(火) 04:32
by しぐれん
プラグインでやるしかない部分ですね。

コード: 全て選択

// rpg_objects.js
Game_Battler.prototype.regenerateHp = function() {
    var value = Math.floor(this.mhp * this.hrg);
    value = Math.max(value, -this.maxSlipDamage());
    if (value !== 0) {
        this.gainHp(value);
    }
};

この部分がHPの自動回復をしている処理なので、ここに回復無効ステートのチェックを入れましょう。

コード: 全て選択

//rpg_windows.js
Window_BattleLog.prototype.displayRegeneration = function(subject) {
    this.push('popupDamage', subject);
};

こっちの部分が表示をやっている部分です。
subjectはバトラーを指します。
このあたりを改造すればできますね。

Re: 回復できなくなるステートを作りたい

Posted: 2017年11月21日(火) 09:58
by かいぬし
しぐれん 様

やはりそうなのですね…
お恥ずかしながら、自分プラグインの知識がほとんどなくて、jsファイルの中身を見てもちんぷんかんぷんで :oops:

改造するべき場所の情報まで頂けたのに大変恐縮ではあるのですが、これ以上はちょっと自分の手でやるのは難しそうなので、素材のリクエストのページにて依頼させていただこうかなと思います。
回答ありがとうございました!