From be2bc68b492e6a3a91c94cb4292e23e0351dde9e Mon Sep 17 00:00:00 2001 From: zhouhaihai Date: Fri, 29 Jan 2021 16:32:59 +0800 Subject: [PATCH] 看守周围的格子 --- src/adv/Adv.lua | 12 ++++++++++++ src/adv/AdvBuff.lua | 1 + src/adv/AdvMap.lua | 18 ++++++++++++++++++ 3 files changed, 31 insertions(+), 0 deletions(-) diff --git a/src/adv/Adv.lua b/src/adv/Adv.lua index bac1520..84623e8 100644 --- a/src/adv/Adv.lua +++ b/src/adv/Adv.lua @@ -1877,6 +1877,18 @@ function Adv:clickBlock(roomId, blockId, params) return end + if not block:isMonster() then + for _, one in ipairs(map:getAroundBlocksPlus(room, block)) do + local _room, _block = one[1], one[2] + if _block:isMonster() then + local enemy = self.battle:getEnemy(_room.roomId, _block.blockId) + if enemy:hadBuff(Buff.OBSTACLE_PLUS) then + return + end + end + end + end + if block:isHinder() then if not checkAroundBlocks(true) then return end end diff --git a/src/adv/AdvBuff.lua b/src/adv/AdvBuff.lua index 910bfda..dc0acba 100644 --- a/src/adv/AdvBuff.lua +++ b/src/adv/AdvBuff.lua @@ -38,6 +38,7 @@ Buff.GET_PASSIVE = 34 -- 获得 passive -- 结束失效 Buff.OBSTACLE_CHANGE = 35 -- 看守类型改变 -- 怪物使用 2 - 1 Buff.DISABLE_AURA = 36 -- 禁用光环 Buff.GET_AURA = 37 -- 获得光环 +Buff.OBSTACLE_PLUS = 38 -- 周围8格不能点击 --角色一些属性的变化 diff --git a/src/adv/AdvMap.lua b/src/adv/AdvMap.lua index 6e883ae..8eb1780 100644 --- a/src/adv/AdvMap.lua +++ b/src/adv/AdvMap.lua @@ -383,6 +383,24 @@ function Map:getAroundBlocks(room, block) return blocks end +function Map:getAroundBlocksPlus(room, block) + local blocks = {} + local range = {1, 0, -1} + local col, row = room:tranLtoG(block.col, block.row) + for _, c in ipairs(range) do + for _, r in ipairs(range) do + if c == 0 and r == 0 then + else + local rroom, rblock = self:getRBByPos(col + c, row + r) + if rroom then + table.insert(blocks, {rroom, rblock}) + end + end + end + end + return blocks +end + function Map:getBlocksBySize(roomId, blockId, size) local blocks = {} local room = self.rooms[roomId] -- libgit2 0.21.2