From 0549a8b37b6ec0d6f6c0dbccbfa6fb67b4e49d57 Mon Sep 17 00:00:00 2001 From: xiekaidong Date: Mon, 21 Aug 2023 10:33:14 +0800 Subject: [PATCH] =?UTF-8?q?bug=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/component/battle_unit_comp.lua | 3 ++- lua/app/userdata/battle/team/battle_team_entity.lua | 11 +++++++++++ lua/app/userdata/battle/team/battle_unit_entity.lua | 8 ++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/lua/app/module/battle/component/battle_unit_comp.lua b/lua/app/module/battle/component/battle_unit_comp.lua index 76a737e1..d1808439 100644 --- a/lua/app/module/battle/component/battle_unit_comp.lua +++ b/lua/app/module/battle/component/battle_unit_comp.lua @@ -1761,7 +1761,8 @@ function BattleUnitComp:takeDamageOrCure(atker, num, effectType, effectStatus, d end function BattleUnitComp:checkDeadStatus(atker, damageOrCureType) - if self.unitEntity:getIsDead() then + if self.unitEntity:getIsDead() and not self.unitEntity:getTagDeadStatus() then + self.unitEntity:tagDeadStatus() if self.unitEntity:getCanRebirth() then -- 复活 self.battleController:resetTimeSpeed(true) local mainUnit = self.team:getMainUnit() diff --git a/lua/app/userdata/battle/team/battle_team_entity.lua b/lua/app/userdata/battle/team/battle_team_entity.lua index 2a4efd09..7b91dd94 100644 --- a/lua/app/userdata/battle/team/battle_team_entity.lua +++ b/lua/app/userdata/battle/team/battle_team_entity.lua @@ -35,7 +35,9 @@ function BattleTeamEntity:init(side, data) else self.attr = {} end + self.deadStatusTag = false self.isDead = false + self.isRebirth = false self.stunCount = 0 self.lethargyCount = 0 self.frozenCount = 0 @@ -466,9 +468,18 @@ function BattleTeamEntity:getIsRebirth() return self.isRebirth end +function BattleUnitEntity:tagDeadStatus() + self.deadStatusTag = true +end + +function BattleUnitEntity:getTagDeadStatus() + return self.deadStatusTag +end + function BattleTeamEntity:rebirth() self.isRebirth = false self.isDead = false + self.deadStatusTag = false end function BattleTeamEntity:getIsDead() if self:getIsRebirth() then diff --git a/lua/app/userdata/battle/team/battle_unit_entity.lua b/lua/app/userdata/battle/team/battle_unit_entity.lua index bfe743d3..ce9f681f 100644 --- a/lua/app/userdata/battle/team/battle_unit_entity.lua +++ b/lua/app/userdata/battle/team/battle_unit_entity.lua @@ -568,6 +568,14 @@ function BattleUnitEntity:rebirth() self.team:rebirth() end +function BattleUnitEntity:tagDeadStatus() + self.team:tagDeadStatus() +end + +function BattleUnitEntity:getTagDeadStatus() + return self.team:getTagDeadStatus() +end + function BattleUnitEntity:onRoundEnd() for k, v in ipairs(self.activeSkills) do if not self:getActiveSkillLimit() then