diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleUtil.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleUtil.lua index 893c70686d..91ab790c00 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleUtil.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleUtil.lua @@ -651,10 +651,15 @@ function BattleUtil.ApplyDamageNoPassive(skill, atkRole, defRole, damage, bCrit, -- 计算护盾减伤 damage = BattleUtil.CalShield(atkRole, defRole, damage,skill) -- 造成的最终伤害 - local damagingFunc = function(dmgDeduction) + local damagingFunc = function(dmgDeduction) + --不计算增伤只计算减伤 + if dmgDeduction<0 then + return + end damage = damage - dmgDeduction end + atkRole.Event:DispatchEvent(BattleEventName.PassiveDamaging, damagingFunc, defRole, damage, skill, dotType, bCrit,damageType, dotType,isDirect) defRole.Event:DispatchEvent(BattleEventName.FinalBeDamageEnd, damagingFunc, atkRole, damage, skill, dotType, bCrit, damageType,isDirect) BattleLogic.Event:DispatchEvent(BattleEventName.FinalDamage, damagingFunc, atkRole, defRole, damage, skill, dotType, bCrit, damageType) @@ -814,8 +819,8 @@ function BattleUtil.FinalDamageCountShield(skill, atkRole, defRole, damage, bCri if defRole.type == BattleUnitType.Monster or defRole.type == BattleUnitType.Player then return end - -- 计算护盾减伤 - damage = BattleUtil.CalShield(atkRole, defRole, damage,skill) + -- 计算无敌盾减伤 + damage = BattleUtil.CalAllReduceShield(atkRole, defRole, damage,skill) if damage < 0 then damage = 0 end if skill and skill.type==BattleSkillType.Special then