From 405aad10f77a49994e335bec029bb0c765e9f749 Mon Sep 17 00:00:00 2001 From: xiekaidong Date: Mon, 24 Apr 2023 20:49:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=88=E9=99=A4bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/app/module/battle/battle_manager.lua | 4 +++- lua/app/module/battle/skill/battle_board_skill_handle.lua | 6 +++--- lua/app/userdata/battle/battle_grid_entity.lua | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/lua/app/module/battle/battle_manager.lua b/lua/app/module/battle/battle_manager.lua index 4d08da40..5b6e8c52 100644 --- a/lua/app/module/battle/battle_manager.lua +++ b/lua/app/module/battle/battle_manager.lua @@ -134,13 +134,15 @@ function BattleManager:getFirstLineLastRowPosId(row, column) return self:getPosId(1 - row, column) end -function BattleManager:getAroundPosIdsByList(posId, boardrange, cludePosIdsMap, randomExclusion) +function BattleManager:getAroundPosIdsByList(posId, boardrange, cludePosIdsMap) local posIdInfos = {} + local randomExclusion = {} for _, info in ipairs(boardrange) do local list = self:getAroundPosIds(posId, info.type, info.range, cludePosIdsMap, randomExclusion) for _, info in ipairs(list) do table.insert(posIdInfos, info) cludePosIdsMap[info.posId] = nil + randomExclusion[info.posId] = true end end diff --git a/lua/app/module/battle/skill/battle_board_skill_handle.lua b/lua/app/module/battle/skill/battle_board_skill_handle.lua index eb9e9446..d5f6d5f5 100644 --- a/lua/app/module/battle/skill/battle_board_skill_handle.lua +++ b/lua/app/module/battle/skill/battle_board_skill_handle.lua @@ -14,15 +14,15 @@ local function _takeElimination(posId, skillEntity, gridEntities, sequenceEntiti cludePosIdsMap[posId] = true end end - local randomExclusion = {} for _, entity in ipairs(sequenceEntities) do - randomExclusion[entity:getPosId()] = true + cludePosIdsMap[entity:getPosId()] = nil end - local posIdInfos = ModuleManager.BattleManager:getAroundPosIdsByList(posId, boardrange, cludePosIdsMap, randomExclusion) + local posIdInfos = ModuleManager.BattleManager:getAroundPosIdsByList(posId, boardrange, cludePosIdsMap) cludePosIdsMap = {} for _, info in ipairs(posIdInfos) do cludePosIdsMap[info.posId] = info end + DataManager.BattleData:cacheSkillInfluenceGrids(cludePosIdsMap) end end diff --git a/lua/app/userdata/battle/battle_grid_entity.lua b/lua/app/userdata/battle/battle_grid_entity.lua index 845f90c6..3201798b 100644 --- a/lua/app/userdata/battle/battle_grid_entity.lua +++ b/lua/app/userdata/battle/battle_grid_entity.lua @@ -174,7 +174,7 @@ function BattleGridEntity:canChangeInfo() end function BattleGridEntity:canInfluenceBySkill() - if self:isEmptyType() then + if self:isEmptyType() and not self:getIsIdle() then return true end return false