こんにちは!
ver1.3.1 で試しましたが、フリーズしました。
rpg_managers.js に以下のような定義がありますが
コード: 全て選択
BattleManager.update = function() {
if (!this.isBusy() && !this.updateEvent()) {
switch (this._phase) {
case 'start':
this.startInput();
break;
case 'turn':
this.updateTurn();
break;
case 'action':
this.updateAction();
break;
case 'turnEnd':
this.updateTurnEnd();
break;
case 'battleEnd':
this.updateBattleEnd();
break;
}
}
};
ここで this._phase == 'battleEnd' のとき、this.updateEvent() が true を返すので、無限ループに陥っているようにみえます。
他に影響が出にくいように、また行数を変えないように、とりあえず以下のように対応コードを追加してみました。
コード: 全て選択
case 'battleEnd':
this.updateBattleEnd();
break;
}
} else if (!this.isBusy() && this._phase == 'battleEnd') {this.updateBattleEnd();}
};
これで無限ループにはならないのですが… 全員逃げると、戦闘に負けてゲームオーバーになります。
ざっとコードをみたところでは、スキルで全員がエスケープするのは、想定外のような気がします…
ちゃんと対応するには、エスケープ可能かどうか判断したうえで、エスケープ処理を実施する必要がありそうですね。
(this._preemptive = true にしてBattleManager.processEscape()を呼べばいいかな?)
エスケープ不可のボス戦では… さて、どうすべきなんでしょうか… エスケープのスキル効果自体を無効にすべき???
中途半端ですみませんが、とりいそぎ報告させていただきました。
ではでは。