YEP_BattleEngineCoreを使うと睡眠が解けない問題

munokura

ユーザー
YEP_BattleEngineCore1.45を使用してサイドビューバトルにしています。
ある時気付いたのですが、睡眠や麻痺のステートが時間経過で解けません。

自動解除のタイミング:行動終了時
になっているのですが、行動できない(メッセージを出さない)のが原因でターンをカウントされていないように見受けられます。

YEP_BattleEngineCore1.45をOFFにしたら、時間経過で解けたのですが、使い続けたいので、自動解除のタイミングを変更しました。
自動解除のタイミング:ターン終了時

とりあえずの解決にはなりましたが、気づいていないで使われている方も多いのではないかと思い、投稿いたしました。

プラグインの修正で解決しそうですが、英語力がないので、お知らせいただける方がいらっしゃったらなーという他力本願で申し訳ございません。
 
munokuraさん、こん**は。

もしかしたら関係ないかもしれませんが、僕も似た状態になりました。
僕の場合、YEP_X_BattleSysCTB.js を導入して、CTBにしていたのですが、
状態異常が一向に解けませんでした。

原因を調べると、1800行あたりの Game_Battler.prototype.updateCTBStates に原因がありました。

PHP:
      if (state.restriction >= 4 && state.autoRemovalTiming !== 0) {
        // ★★★ Changed By Sasuke Kannazuki at 2017.Nov.23
        // var value = BattleManager.tickRate() / Yanfly.Param.BECTurnTime;
        // ★★★書き換え後
        var value = 1;
        this._stateTurns[stateId] -= value;
        if (this._stateTurns[stateId] <= 0) this.removeState(stateId);
      }
この
PHP:
var value = BattleManager.tickRate() / Yanfly.Param.BECTurnTime;
というのが
0.01などになっており、解除までに数百ターンかかることがわかりました。
そこで力技で直した次第です。

これは他のプラグインとの競合か分かりませんが、とにかくYanfly氏のプラグインは使うのに苦労しますね。
もし、CTBと関係なかったらすみません。
 

munokura

ユーザー
自分はCTBは使用していないのですが、今後の参考にさせていただきます。
ご助言いただき、ありがとうございます。
 
トップ