From f4c56690948282bd1fc63e0e3e123fbc6025b6db Mon Sep 17 00:00:00 2001 From: voderl Date: Fri, 20 Mar 2020 17:58:00 +0800 Subject: [PATCH] update --- libs/enemys.js | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/libs/enemys.js b/libs/enemys.js index e9aaab26..4081923d 100644 --- a/libs/enemys.js +++ b/libs/enemys.js @@ -372,15 +372,21 @@ enemys.prototype._getCurrentEnemys_sort = function (enemys) { } enemys.prototype.hasEnemyLeft = function (enemyId, floorId) { - if (floorId == null) floorId = core.status.floorId; - if (floorId instanceof Array) { - for (var i = 0; i < floorId.length; ++i) { - if (core.hasEnemyLeft(enemyId, floorId[i])) - return true; + floorId = floorId || core.status.floorId; + if (!(floorId instanceof Array)) floorId = [floorId]; + if (!(enemyId instanceof Array)) enemyId = [enemyId]; + var list; + for (var i = 0; i < floorId.length; ++i) { + list = {}; + var mapBlocks = core.status.maps[floorId[i]].blocks; + for (var b = 0; b < mapBlocks.length; b++) { + if (!mapBlocks[b].disable && mapBlocks[b].event.cls.indexOf('enemy') == 0) { + list[mapBlocks[b].event.id] = true; + } + } + for (var b = 0; b < enemyId.length; b++) { + if (list[enemyId[b]] === true) return true; } - return false; } - return core.getCurrentEnemys(floorId).filter(function (enemy) { - return enemyId == null || enemy.id == enemyId; - }).length > 0; + return false; } \ No newline at end of file