From 6df85179c05559b77424dc4904e7489f8265e910 Mon Sep 17 00:00:00 2001 From: zhouhaihai Date: Wed, 16 Sep 2020 14:40:37 +0800 Subject: [PATCH] 伤害计算 --- src/adv/AdvPlayer.lua | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/adv/AdvPlayer.lua b/src/adv/AdvPlayer.lua index cda62f6..804c11a 100644 --- a/src/adv/AdvPlayer.lua +++ b/src/adv/AdvPlayer.lua @@ -332,7 +332,7 @@ end --计算自己伤害减免后的值 function BaseObject:getInjuredValue(value) local injuredChange = self:getInjuredChange() - return math.max(0, (value - self.def + injuredChange[0]) * (1 + injuredChange[1])) + return math.max(0, (value + injuredChange[0]) * (1 + injuredChange[1])) end --最终伤害 = [ (敌方攻击 - 己方防御) * (1+伤害增加百分比-伤害减少百分比)*(1+受伤增加百分比-受伤减少百分比)+(伤害增加固定值-伤害增加固定值+受伤增加固定值-受伤增加固定值)]*(1+侍宠百分比)-侍宠固定值 @@ -348,10 +348,11 @@ function BaseObject:hurt(value, releaser, params) end end - if params.hurtType ~= 5 and params.hurtType ~= 6 then - if not params.hurtType or params.hurtType ~= 4 then - value = self:getInjuredValue(value) --减伤计算 + if params.hurtType ~= 5 then + if params.hurtType ~= 6 or params.hurtType ~= 4 then + value = math.max(0, value - self.def) end + value = self:getInjuredValue(value) --减伤计算 if value == 0 then return end -- 舍身和恃宠 -- libgit2 0.21.2