From 77e66f849daf6b7725262d55efef4613dd12ca11 Mon Sep 17 00:00:00 2001 From: oc Date: Tue, 30 Apr 2019 20:36:39 +0800 Subject: [PATCH] force binarysearch on large turn --- libs/enemys.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libs/enemys.js b/libs/enemys.js index ad43a0f9..70e8263b 100644 --- a/libs/enemys.js +++ b/libs/enemys.js @@ -241,6 +241,11 @@ enemys.prototype._nextCriticals_useBinarySearch = function (enemy, info, number, enemys.prototype._nextCriticals_useTurn = function (enemy, info, number, x, y, floorId) { var mon_hp = info.mon_hp, hero_atk = core.status.hero.atk, mon_def = info.mon_def, turn = info.turn; + // ------ 超大回合数强制使用二分算临界 + // 以避免1攻10e回合,2攻5e回合导致下述循环卡死问题 + if (turn >= 1e6) { // 100w回合以上强制二分计算临界 + return this._nextCriticals_useBinarySearch(enemy, info, number, x, y, floorId); + } var list = [], pre = null; for (var t = turn - 1; t >= 1; t--) { var nextAtk = Math.ceil(mon_hp / t) + mon_def;