【解決済】味方にかかったステートがバトルイベントが起こると解除されません

UVP
記事: 9
登録日時: 2018年11月13日(火) 20:55

【解決済】味方にかかったステートがバトルイベントが起こると解除されません

投稿記事by UVP » 2019年9月09日(月) 21:37

鉄壁やカウンターなど、味方に付加するステートをかけるスキルによってかけたステートが、解除条件を満たしても解除されません。
思い当たる状況が、バトルイベントによって敵が行動したターンに味方へステートをかけると、解除条件のタイミングで解除されなくなります。

詳細です。
・バトルイベントから、戦闘行動の強制によって敵が攻撃や回復等、何かしらの行動をする
(スパンはバトル、ターンどちらも)
・そのターンでの行動で、味方が解除条件がターン終了時(継続ターン数1~1)のステートをスキルから味方に付加する
・そのターン終了時、ステートが解除されず継続したまま解除されない
・何ターンか終わった後にステートが解除される

詳細には継続ターン1~1ありますが、5ターンまで継続するステートも、上記のようにバトルイベントが起きたターンで付加すると5ターン以上経っても解除されません。
プラグインをON、OFFにしたり、調べたりといろいろ試してみたのですが自分では解決できませんでした。
また、関係があるか分かりませんが制作中にバージョンを1.5.1から1.6.2にしました。
解決策を教えていただけると幸いです。
最後に編集したユーザー UVP on 2019年9月12日(木) 19:52 [ 編集 1 回目 ]

アバター
radio05
記事: 85
登録日時: 2019年6月05日(水) 06:07
連絡を取る:

Re: 味方にかかったステートがバトルイベントが起こると解除されません

投稿記事by radio05 » 2019年9月10日(火) 07:53

こんにちは
データベース ステートの

解除条件の
自動解除のタイミング: はどんな設定をしていますか?
UVP
記事: 9
登録日時: 2018年11月13日(火) 20:55

Re: 味方にかかったステートがバトルイベントが起こると解除されません

投稿記事by UVP » 2019年9月10日(火) 19:33

radio05さん

解除条件の自動解除のタイミングは、「ターン終了時」です。

補足ですが、バトルイベントがないターンでステートが付加した場合は、ターン終了時に継続ターン数通りで解除できます。
アバター
radio05
記事: 85
登録日時: 2019年6月05日(水) 06:07
連絡を取る:

Re: 味方にかかったステートがバトルイベントが起こると解除されません

投稿記事by radio05 » 2019年9月11日(水) 15:19

うーん、残す可能性はプラグインかな…

ステート周りとプラグインのキャプチャーを
貼られるとわかる方がいらっしゃるかもしれません
ecf5DTTzl6h6lJj02
記事: 120
登録日時: 2018年12月23日(日) 13:55

Re: 味方にかかったステートがバトルイベントが起こると解除されません

投稿記事by ecf5DTTzl6h6lJj02 » 2019年9月11日(水) 18:34

こんばんは。
標題の件ですが、
ver.1.6.2 では、戦闘行動の強制が発生した場合、
ターン終了時に各バトラーに対して行われる、ステート解除までの残りの歩数やターン数の減少が
行われないよう、変更されているようです。
どうも以前のバージョンで、ターン終了時に戦闘行動の強制で、アクションが発生すると、
残りの歩数やターン数を減少させる処理が二重で行われてしまう不具合があったための処置のようです。
一応、回避できないか、スクリプトを試作して、自分の環境下できちんとした動作に見えてるものはあるのですが、保証が全くできませんので、現時点で載せるのは止めました。
”それでもいいから載せて!”という場合は書いてください。
(もっと、きっちり作れる人に頼むほうがいいとは思いますが。)
UVP
記事: 9
登録日時: 2018年11月13日(火) 20:55

Re: 味方にかかったステートがバトルイベントが起こると解除されません

投稿記事by UVP » 2019年9月11日(水) 22:51

radio05さん

プラグインに関しては新規のプロジェクトを作ってプラグインが入っていないものに同じ挙動を試してみたところ、同じような現象が起きたので違うと思いました…
UVP
記事: 9
登録日時: 2018年11月13日(火) 20:55

Re: 味方にかかったステートがバトルイベントが起こると解除されません

投稿記事by UVP » 2019年9月11日(水) 22:56

ecf5DTTzl6h6lJj02さん

今、新規のプロジェクトを使って試したところ同じ現象が起きた為、おそらくそれが原因かと思いました…
よろしければ試作されたスプリクトを載せていただきたいです。
ecf5DTTzl6h6lJj02
記事: 120
登録日時: 2018年12月23日(日) 13:55

Re: 味方にかかったステートがバトルイベントが起こると解除されません

投稿記事by ecf5DTTzl6h6lJj02 » 2019年9月12日(木) 00:40

よろしければ試作されたスプリクトを載せていただきたいです。


pluginフォルダに新規.jsファイルを作成しコピぺして、プラグインとして登録してください。

コード: 全て選択

Game_Battler.prototype.onTurnEnd = function() {
    this.clearResult();
    this.regenerateAll();
    this.updateStateTurns();
    this.updateBuffTurns();
    this.removeStatesAuto(2);
};

BattleManager.updateTurn = function() {
    $gameParty.requestMotionRefresh();
    if (!this._subject) {
        this._subject = this.getNextSubject();
    }
    if (this._subject) {
        this.processTurn();
    }
    else if(this.isForcedTurn()){
      this._turnForced = false;
      this.updateTurnEnd();
    }
    else{
      this.endTurn();
    }
};

BattleManager.endTurn = function() {
    this._phase = 'turnEnd';
    this._preemptive = false;
    this._surprise = false;
    this.allBattleMembers().forEach(function(battler) {
        battler.onTurnEnd();
        this.refreshStatus();
        this._logWindow.displayAutoAffectedStatus(battler);
        this._logWindow.displayRegeneration(battler);
    }, this);
};

BattleManager.processForcedAction = function() {
      if(this.isTurnEnd()){
    this._turnForced = true;
  }
      console.log(this._actionForcedBattler);
      this._subject = this._actionForcedBattler;
      this._actionForcedBattler = null;
      this.startAction();
      this._subject.removeCurrentAction();
      this._subject.onAllActionsEnd();
      this.refreshStatus();
      this._logWindow.displayAutoAffectedStatus(this._subject);
      this._logWindow.displayCurrentState(this._subject);
      this._logWindow.displayRegeneration(this._subject);
};

テスト不足・力量不足で、競合対策は取れていませんし、
本当に正常に動作しているのか不安があるので、そのあたりご勘弁ください。
UVP
記事: 9
登録日時: 2018年11月13日(火) 20:55

Re: 味方にかかったステートがバトルイベントが起こると解除されません

投稿記事by UVP » 2019年9月12日(木) 01:25

ecf5DTTzl6h6lJj02さん

ありがとうございます。
ですが、こちらを入れてみても動作は変わりませんでした…
ecf5DTTzl6h6lJj02
記事: 120
登録日時: 2018年12月23日(日) 13:55

Re: 味方にかかったステートがバトルイベントが起こると解除されません

投稿記事by ecf5DTTzl6h6lJj02 » 2019年9月12日(木) 08:06

先程、書き込んだコード部分を確認したら、
コードを貼り付けて、整形するときに、誤って、全角スペースが入ってしまっていたみたいです。
以下のファイルに差し替えてください。
大変失礼しました。
添付ファイル
ForcedAction_Patch.js
(1.49 KiB) ダウンロード数: 1 回

“MV:質問” へ戻る