diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/EffectCaster.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/EffectCaster.lua index c9193ec185..d313ced391 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/EffectCaster.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/EffectCaster.lua @@ -205,7 +205,16 @@ function EffectCaster:GetDirectTargetsNoExile() return list end - +-- 获取直接目标和没有被放逐的目标,不包含不灭可能为空 +function EffectCaster:GetDirectTargetsNoNODead() + local list = {} + for _, role in ipairs(self.effectTargets[1]) do + if not BattleLogic.BuffMgr:HasBuff(role,BuffName.NoDead) then + table.insert(list, role) + end + end + return list +end -- 获取技能目标最大人数 function EffectCaster:GetMaxTargetNum() diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Passivity.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Passivity.lua index 6b0a8d5ecb..3db31337ff 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Passivity.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Passivity.lua @@ -2720,7 +2720,7 @@ local passivityList = { return end if skill.type == BattleSkillType.Special then - local list = skill:GetDirectTargets() + local list = skill:GetDirectTargetsNoNoDead() if list then local tv = floor(BattleUtil.ErrorCorrection(role:GetRoleData(BattlePropList[pro]) * f1)) for _, r in ipairs(list) do diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Role/Skill.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Role/Skill.lua index 8b3e55be94..68a8958b38 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Role/Skill.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Role/Skill.lua @@ -125,6 +125,11 @@ end function Skill:GetDirectTargetsNoExile() return self.effectCaster:GetDirectTargetsNoExile() end + +-- 获取直接目标,不包含触发不灭的目标,可能为空 +function Skill:GetDirectTargetsNoNoDead() + return self.effectCaster:GetDirectTargetsNoNODead() +end -- 获取技能目标最大人数 function Skill:GetMaxTargetNum() return self.effectCaster:GetMaxTargetNum()