[战斗]=============被动199 历战之躯 修改
parent
cdc17b555e
commit
2a6f3389b3
|
@ -4242,14 +4242,21 @@ local passivityList = {
|
|||
end,
|
||||
|
||||
|
||||
--每回合最多受到自身生命上限[a]%的伤害(该伤害为来自武将的直接伤害)
|
||||
--每回合最多受到自身生命上限[a]%的伤害(该伤害为来自武将的直接伤害,血量最多扣到50%)
|
||||
--a[float]
|
||||
[199] = function(role, args)
|
||||
local f1 = args[1]
|
||||
|
||||
local curDamage = 0
|
||||
local maxPro=0
|
||||
local function onRoundChange()
|
||||
curDamage = 0
|
||||
--本回合最多能扣到多少比例的血条
|
||||
maxPro=(role:GetRoleData(RoleDataName.Hp)/role:GetRoleData(RoleDataName.MaxHp))-f1
|
||||
if maxPro<0 then
|
||||
maxPro=0
|
||||
end
|
||||
--LogError("本回合最多能扣到的比例=="..maxPro)
|
||||
|
||||
end
|
||||
BattleLogic.Event:AddEvent(BattleEventName.BattleRoundChange, onRoundChange,nil,nil,role)
|
||||
|
||||
|
@ -4260,8 +4267,12 @@ local passivityList = {
|
|||
return
|
||||
end
|
||||
--
|
||||
local maxDamage = role:GetRoleData(RoleDataName.MaxHp) * f1
|
||||
curDamage = curDamage + damage
|
||||
--local maxDamage = role:GetRoleData(RoleDataName.MaxHp) * f1
|
||||
--curDamage = curDamage + damage
|
||||
--判断伤害是否能超出能扣除的最大伤害
|
||||
local maxDamage =floor(role:GetRoleData(RoleDataName.Hp)-(role:GetRoleData(RoleDataName.MaxHp) * maxPro))
|
||||
--LogError("本次能扣的最大伤害=="..maxDamage.." 本次伤害=="..damage)
|
||||
curDamage=damage
|
||||
if curDamage > maxDamage then
|
||||
-- 计算免除的伤害值
|
||||
local md = curDamage - maxDamage
|
||||
|
@ -4272,7 +4283,7 @@ local passivityList = {
|
|||
end
|
||||
|
||||
end
|
||||
role.Event:AddEvent(BattleEventName.FinalBeDamageEnd, onFinalBeDamage,nil,nil,role)
|
||||
role.Event:AddEvent(BattleEventName.CheckLiZhanZhiQu, onFinalBeDamage,nil,nil,role)
|
||||
end,
|
||||
|
||||
|
||||
|
|
|
@ -207,6 +207,7 @@ RoleDataName = {
|
|||
DarkDamageReduceFactor = indexAdd(), --暗系伤害减免系数(%)
|
||||
ElementDamageBocusFactor = indexAdd(), --属性伤害加成系数(%)
|
||||
InitRage = indexAdd(), --初始怒气值
|
||||
CheckLiZhanZhiQu = indexAdd(),--检测历战之躯
|
||||
}
|
||||
|
||||
BuffName = {
|
||||
|
|
|
@ -821,6 +821,14 @@ function BattleUtil.FinalDamageCountShield(skill, atkRole, defRole, damage, bCri
|
|||
realDamage=math.abs(defRole.bloodShield:CountBloodValue(damage))
|
||||
-- damage=realDamage
|
||||
end
|
||||
--检测历战之躯
|
||||
-- 造成的最终伤害
|
||||
local damagingFunc = function(dmgDeduction)
|
||||
realDamage = realDamage - dmgDeduction
|
||||
damage=realDamage
|
||||
end
|
||||
defRole.Event:DispatchEvent(BattleEventName.CheckLiZhanZhiQu, damagingFunc, atkRole, realDamage, skill, dotType, bCrit, damageType,isDirect)
|
||||
--LogError("最后扣除伤害=="..realDamage)
|
||||
--御甲过滤后的伤害只会处理扣血 by: wangzhenxing shihongyi 2021/09/27
|
||||
local finalDmg = defRole.data:SubValue(RoleDataName.Hp,realDamage)
|
||||
if finalDmg >= 0 then
|
||||
|
|
Loading…
Reference in New Issue