From 453216c6c7f04f5d7f2f78156acf0f5661f0dd4b Mon Sep 17 00:00:00 2001 From: wangzhenxing Date: Sat, 9 Oct 2021 18:23:45 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=88=98=E6=96=97=E3=80=91=3D=3D=3D?= =?UTF-8?q?=3D=3D=3D=3D=3D=3D=3D=E8=A2=AB=E5=8A=A8344=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Modules/Battle/Logic/Base/Passivity.lua | 2 +- .../Modules/Battle/Logic/Misc/BattleUtil.lua | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Passivity.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Passivity.lua index 87d1889bdc..9bd258e03c 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Passivity.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Passivity.lua @@ -8145,7 +8145,7 @@ local passivityList = { --添加技能额外伤害 if curSkill then local finalDamage=floor(role.superSkillDamage*p1) - BattleUtil.FinalDamage(curSkill,role,buff.target,finalDamage) + BattleUtil.ApplyDamageNoPassive(curSkill,role,buff.target,finalDamage) end end --添加buff失败 diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleUtil.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleUtil.lua index f375ab167f..73debf9259 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleUtil.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleUtil.lua @@ -642,6 +642,28 @@ function BattleUtil.ApplyDamage(skill, atkRole, defRole, damage, bCrit, damageTy return BattleUtil.FinalDamage(skill, atkRole, defRole, damage, bCrit, damageType, dotType,isDirect) end +-- 计算真实伤害(没有被动增伤) +function BattleUtil.ApplyDamageNoPassive(skill, atkRole, defRole, damage, bCrit, damageType, dotType,isDirect) + -- 灵兽无效 + if defRole.type == BattleUnitType.Monster then + return + end + -- 计算护盾减伤 + damage = BattleUtil.CalShield(atkRole, defRole, damage,skill) + -- 造成的最终伤害 + local damagingFunc = function(dmgDeduction) + damage = damage - dmgDeduction + end + + 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) + + -- + return BattleUtil.FinalDamage(skill, atkRole, defRole, damage, bCrit, damageType, dotType,isDirect) +end + + + -- 怒气计算 function BattleUtil.CalRage(caster, target, value, countType,isBorrow)