bug修复

This commit is contained in:
xiekaidong 2023-04-25 21:10:28 +08:00
parent 02c18688f9
commit 6d4e23616d
3 changed files with 12 additions and 6 deletions

View File

@ -301,9 +301,15 @@ BattleConst.AROUND_ELIMINATION_TO_TYPE_COUNT = {
[BattleConst.GRID_TYPE.ICE] = BattleConst.GRID_TYPE.EMPTY, [BattleConst.GRID_TYPE.ICE] = BattleConst.GRID_TYPE.EMPTY,
} }
BattleConst.ELEMENT_TYPE_INVALID = {
[BattleConst.GRID_TYPE.SNOW_BOX] = true,
[BattleConst.GRID_TYPE.SOLID_SNOW] = true,
}
BattleConst.AROUND_BOOM_TYPE = { BattleConst.AROUND_BOOM_TYPE = {
ACOUND = 1, ACOUND = 1,
LINE = 2, LINE = 2,
SKILL = 3,
} }
---- 不可下落的格子类型 ---- 不可下落的格子类型

View File

@ -832,7 +832,7 @@ function BattleController:onLinkOver()
influenceElementType[elementType] = true influenceElementType[elementType] = true
end end
else else
boomGridIds[posId] = BattleConst.AROUND_BOOM_TYPE.LINE boomGridIds[posId] = BattleConst.AROUND_BOOM_TYPE.SKILL
end end
end end
end end
@ -842,6 +842,7 @@ function BattleController:onLinkOver()
local entity = self.battleData:getGridEntity(posId) local entity = self.battleData:getGridEntity(posId)
if entity then if entity then
local gridType = entity:getGridType() local gridType = entity:getGridType()
local elementTypeInvalid = entity:isElmentTypeInvalid()
if entity:addAroundEliminationCount(boomType) then if entity:addAroundEliminationCount(boomType) then
if BattleConst.GRID_TYPE_BREAK_SFX[gridType] then if BattleConst.GRID_TYPE_BREAK_SFX[gridType] then
if not gridBreakSfxInfo then if not gridBreakSfxInfo then
@ -853,10 +854,9 @@ function BattleController:onLinkOver()
table.insert(gridBreakSfxInfo[gridType], posId) table.insert(gridBreakSfxInfo[gridType], posId)
end end
local elementTypeInvalid = entity:isElmentTypeInvalid()
if entity:getIsIdle() then if entity:getIsIdle() then
eliminationPosIds[posId] = true
if not eliminationPosIds[posId] then if not eliminationPosIds[posId] then
eliminationPosIds[posId] = true
table.insert(sequence, {posId = posId, noAni = elementTypeInvalid}) table.insert(sequence, {posId = posId, noAni = elementTypeInvalid})
if not entity:getSkillId() and not elementTypeInvalid then if not entity:getSkillId() and not elementTypeInvalid then
local elementType = entity:getElementType() local elementType = entity:getElementType()

View File

@ -80,14 +80,14 @@ function BattleGridEntity:isEmptyType()
end end
function BattleGridEntity:isElmentTypeInvalid() function BattleGridEntity:isElmentTypeInvalid()
return BattleConst.AROUND_ELIMINATION_TO_TYPE_COUNT[self.gridType] ~= nil return BattleConst.ELEMENT_TYPE_INVALID[self.gridType] ~= nil
end end
function BattleGridEntity:addAroundEliminationCount(boomType) function BattleGridEntity:addAroundEliminationCount(boomType)
local nextGridType = BattleConst.AROUND_ELIMINATION_TO_TYPE_COUNT[self.gridType] local nextGridType = BattleConst.AROUND_ELIMINATION_TO_TYPE_COUNT[self.gridType]
if nextGridType then if nextGridType then
local beforeGridtype = self:getGridType() local beforeGridtype = self:getGridType()
if beforeGridtype == BattleConst.GRID_TYPE.VINES and boomType ~= BattleConst.AROUND_BOOM_TYPE.LINE then if beforeGridtype == BattleConst.GRID_TYPE.VINES and boomType <= BattleConst.AROUND_BOOM_TYPE.ACOUND then
return false return false
end end