Kpoal
ユーザー
これに対して私と剣崎宗二さんで、
二通りの修正プラグインを出しました。
上の方でも書いた通り、
「戦闘行動の強制」によってフェイズが'turn'に巻き戻ってしまうのは
恐らくどうしようもない事なので、それ以外の部分でこのバグを防いだ形になります。
私のもの(BugFix_New_turnend_update.js)は、
ターン終了時処理の中にあったステートのターンカウント進行などを
次ターンの始めに移動させるという事をしています。
「戦闘行動の強制」によって何度ターン終了処理が呼び出されようと、
中身がカラッポなら問題ない。
これらの処理は次のターンの始め、プレイヤーがコマンドを入力する直前に一度行えばいい
という考えです。
これを使えば、バグを回避できるだけでなく
「防御解除→敵の溜め攻撃」という
理不尽な事態も防ぐというのが一応のメリットにはなるのですが、
HP再生とHP取得の順番が逆になってしまう問題も生じますし、
元の処理順を組み替えている事になるので新たなバグの発生するリスクが非常に高いものになっています。
自分で作っておいてなんですが、あまり勧められたものではありません。
後、内容の都合上プラグイン同士の競合もしやすいです。
一方、剣崎宗二さんの作ってくださったもの(BugFix_New_turnend_update2.js)は、
this._newturnという新しいフラグを導入して、
このフラグがONになっているときだけターン終了処理を実行するという条件を付け加える事をしています。
これにより、処理順は変えないまま
ターン終了処理をするのは1ターンに1度だけ、となるようにできています。
処理順を変えず、元の仕様そのままにバグだけを取り除いた形になるので
新しくバグが出る可能性は低いですし、
競合もしにくいので基本的にはこちらを使っていただいた方がいいと私は思っています。
二通りの修正プラグインを出しました。
上の方でも書いた通り、
「戦闘行動の強制」によってフェイズが'turn'に巻き戻ってしまうのは
恐らくどうしようもない事なので、それ以外の部分でこのバグを防いだ形になります。
私のもの(BugFix_New_turnend_update.js)は、
ターン終了時処理の中にあったステートのターンカウント進行などを
次ターンの始めに移動させるという事をしています。
「戦闘行動の強制」によって何度ターン終了処理が呼び出されようと、
中身がカラッポなら問題ない。
これらの処理は次のターンの始め、プレイヤーがコマンドを入力する直前に一度行えばいい
という考えです。
これを使えば、バグを回避できるだけでなく
「防御解除→敵の溜め攻撃」という
理不尽な事態も防ぐというのが一応のメリットにはなるのですが、
HP再生とHP取得の順番が逆になってしまう問題も生じますし、
元の処理順を組み替えている事になるので新たなバグの発生するリスクが非常に高いものになっています。
自分で作っておいてなんですが、あまり勧められたものではありません。
後、内容の都合上プラグイン同士の競合もしやすいです。
一方、剣崎宗二さんの作ってくださったもの(BugFix_New_turnend_update2.js)は、
this._newturnという新しいフラグを導入して、
このフラグがONになっているときだけターン終了処理を実行するという条件を付け加える事をしています。
これにより、処理順は変えないまま
ターン終了処理をするのは1ターンに1度だけ、となるようにできています。
処理順を変えず、元の仕様そのままにバグだけを取り除いた形になるので
新しくバグが出る可能性は低いですし、
競合もしにくいので基本的にはこちらを使っていただいた方がいいと私は思っています。