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.ELEMENT_TYPE_INVALID = {
[BattleConst.GRID_TYPE.SNOW_BOX] = true,
[BattleConst.GRID_TYPE.SOLID_SNOW] = true,
}
BattleConst.AROUND_BOOM_TYPE = {
ACOUND = 1,
LINE = 2,
SKILL = 3,
}
---- 不可下落的格子类型

View File

@ -832,7 +832,7 @@ function BattleController:onLinkOver()
influenceElementType[elementType] = true
end
else
boomGridIds[posId] = BattleConst.AROUND_BOOM_TYPE.LINE
boomGridIds[posId] = BattleConst.AROUND_BOOM_TYPE.SKILL
end
end
end
@ -842,6 +842,7 @@ function BattleController:onLinkOver()
local entity = self.battleData:getGridEntity(posId)
if entity then
local gridType = entity:getGridType()
local elementTypeInvalid = entity:isElmentTypeInvalid()
if entity:addAroundEliminationCount(boomType) then
if BattleConst.GRID_TYPE_BREAK_SFX[gridType] then
if not gridBreakSfxInfo then
@ -853,12 +854,11 @@ function BattleController:onLinkOver()
table.insert(gridBreakSfxInfo[gridType], posId)
end
local elementTypeInvalid = entity:isElmentTypeInvalid()
if entity:getIsIdle() then
eliminationPosIds[posId] = true
if not eliminationPosIds[posId] then
eliminationPosIds[posId] = true
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()
elementTypeMap[elementType] = (elementTypeMap[elementType] or 0) + 1
end

View File

@ -80,14 +80,14 @@ function BattleGridEntity:isEmptyType()
end
function BattleGridEntity:isElmentTypeInvalid()
return BattleConst.AROUND_ELIMINATION_TO_TYPE_COUNT[self.gridType] ~= nil
return BattleConst.ELEMENT_TYPE_INVALID[self.gridType] ~= nil
end
function BattleGridEntity:addAroundEliminationCount(boomType)
local nextGridType = BattleConst.AROUND_ELIMINATION_TO_TYPE_COUNT[self.gridType]
if nextGridType then
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
end