Merge branch '0功能/本周版本优化内容' of http://60.1.1.230/gaoxin/JL_Client into 0功能/本周版本优化内容

dev_chengFeng
jiaoyangna 2021-02-02 18:26:54 +08:00
commit ca1abfc0b5
3 changed files with 34 additions and 1 deletions

View File

@ -2337,7 +2337,7 @@ local effectList = {
BattleLogic.WaitForTrigger(interval, function () BattleLogic.WaitForTrigger(interval, function ()
if (pro==12 or pro==13) and BattleUtil.CheckIsBoss(target) then if (pro==12 or pro==13) and BattleUtil.CheckIsBoss(target) then
return return
end end
local damage = floor(BattleUtil.ErrorCorrection(f1 * target:GetRoleData(BattlePropList[pro]))) local damage = floor(BattleUtil.ErrorCorrection(f1 * target:GetRoleData(BattlePropList[pro])))
BattleUtil.FinalDamage(skill, caster, target, damage, nil, 0, nil, true) BattleUtil.FinalDamage(skill, caster, target, damage, nil, 0, nil, true)
end) end)
@ -2382,6 +2382,7 @@ local effectList = {
return return
end end
local damage = floor(BattleUtil.ErrorCorrection(f3 * target:GetRoleData(BattlePropList[p1]))) local damage = floor(BattleUtil.ErrorCorrection(f3 * target:GetRoleData(BattlePropList[p1])))
damage=BattleUtil.CalAllReduceShield(caster,target,damage)
BattleUtil.FinalDamage(skill,caster, target,damage) BattleUtil.FinalDamage(skill,caster, target,damage)
end end
end end

View File

@ -89,6 +89,28 @@ function Shield:CountShield(damage, atkRole,skill)
return finalDamage return finalDamage
end end
--计算无敌盾
function Shield:CountAllReduce(damage,atkRole,skill)
local finalDamage = damage
local isImmuneAllReduceShield=false
if self.shieldType == ShieldTypeName.AllReduce then
--攻击者免疫无敌盾
isImmuneAllReduceShield=atkRole.isImmuneAllReduceShield
--特殊处理 白骨精附加的普攻不会必定暴击
if atkRole.roleId==10091 and skill and skill.type==BattleSkillType.Normal and skill.isAdd then
isImmuneAllReduceShield=false
end
if isImmuneAllReduceShield and skill then
finalDamage=damage
else
finalDamage = 0
end
end
return finalDamage
end
-- 提前计算护盾吸收伤害 -- 提前计算护盾吸收伤害
function Shield:PreCountShield(damage) function Shield:PreCountShield(damage)
local finalDamage = 0 local finalDamage = 0

View File

@ -429,6 +429,16 @@ function BattleUtil.CalShield(atkRole, defRole, damage,skill)
end end
return damage return damage
end end
-- 计算护盾
function BattleUtil.CalAllReduceShield(atkRole, defRole, damage,skill)
for i=1, defRole.shield.size do
local buff = defRole.shield.buffer[i]
damage = buff:CountAllReduce(damage, atkRole,skill)
end
return damage
end
-- 提前计算护盾后伤害 -- 提前计算护盾后伤害
function BattleUtil.PreCountShield(defRole, damage) function BattleUtil.PreCountShield(defRole, damage)
for i=1, defRole.shield.size do for i=1, defRole.shield.size do