1. このサイトではcookie (クッキー) を使用しています。サイトの利用を継続した場合、cookieの使用に同意したものとみなさせていただきます。 詳しくはこちらをご覧ください。

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

munokura2018-03-06に開始した「プラグイン制作・技術」の中の討論

  1. munokura

    munokura ユーザー

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

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

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

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

    プラグインの修正で解決しそうですが、英語力がないので、お知らせいただける方がいらっしゃったらなーという他力本願で申し訳ございません。
     
    #1
    めっつシトラス がいいね!しています
  2. 神無月サスケ

    神無月サスケ ユーザー

    munokuraさん、こん**は。

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

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

    PHP:
          if (state.restriction >= && 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] <= 0this.removeState(stateId);
          }
    この
    PHP:
    var value BattleManager.tickRate() / Yanfly.Param.BECTurnTime;
    というのが
    0.01などになっており、解除までに数百ターンかかることがわかりました。
    そこで力技で直した次第です。

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

    munokura ユーザー

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

このページを共有