初めまして。始めたばかりでTP取得について分からず、躓いてしまっているため、こちらで質問させていただきます。
公式では命中時にTPが得られるというような記述が書かれていましたが、回避するとTPは取得できないのでしょうか?
もしTP取得ができないのであれば、アクターの特徴等で取得できるプラグインを導入したいと思っていますので、よろしければそちらの方もお教えいただけると幸いです。
回避時にTPを得られるようにしたい
Re: 回避時にTPを得られるようにしたい
私もJavaScriptに不慣れですが、いつも助けて頂いてばかりではなんなので及ばずながら調べた結果を書きます。
rmmz_objects.jsの3996行目からの、
に回避する場合の処理が定義されているようです。
3930行目からの
にある
を参考に
とする処理をプラグイン化してゲームを実行すると、100ダメージを受けたとき(?)のTP増加処理が回避したときに実行されるようになります。
または競合防止策を施した
をテキストファイルにして拡張子を.jsにしてpluginsフォルダへ保存し、プラグイン管理で有効にします。
もっとスマートな方法やプラグインがあるかもしれませんが、参考までに。
rmmz_objects.jsの3996行目からの、
コード: 全て選択
Game_Battler.prototype.performEvasion = function() {
SoundManager.playEvasion();
};
3930行目からの
コード: 全て選択
Game_Battler.prototype.onDamage = function(value) {
this.removeStatesByDamage();
this.chargeTpByDamage(value / this.mhp);
};
コード: 全て選択
this.chargeTpByDamage(value / this.mhp);
コード: 全て選択
Game_Battler.prototype.performEvasion = function() {
SoundManager.playEvasion();
this.chargeTpByDamage(100 / this.mhp);
};
コード: 全て選択
(()=> {
'use strict';
Game_Battler.prototype.performEvasion = function() {
SoundManager.playEvasion();
this.chargeTpByDamage(100 / this.mhp);
};
})();
コード: 全て選択
(()=> {
'use strict';
const _Game_Battler_performEvasion = Game_Battler.prototype.performEvasion;
Game_Battler.prototype.performEvasion = function() {
_Game_Battler_performEvasion.apply(this, arguments);
this.chargeTpByDamage(100 / this.mhp);
};
})();
もっとスマートな方法やプラグインがあるかもしれませんが、参考までに。
Re: 回避時にTPを得られるようにしたい
サブちゃんBさん 分かりやすい解説まで書いていただき、ありがとうございます!
こちらも色々と調べて手を尽くしたのですが、やはり知識不足で断念していた所でした。
サブちゃんBさん の書いてくださったこちらのプラグインを使わせていただきます!
こちらも色々と調べて手を尽くしたのですが、やはり知識不足で断念していた所でした。
サブちゃんBさん の書いてくださったこちらのプラグインを使わせていただきます!