parent
c1cf0e4a79
commit
267598d53b
|
@ -4242,21 +4242,14 @@ local passivityList = {
|
||||||
end,
|
end,
|
||||||
|
|
||||||
|
|
||||||
--每回合最多受到自身生命上限[a]%的伤害(该伤害为来自武将的直接伤害,血量最多扣到50%)
|
--每回合最多受到自身生命上限[a]%的伤害(该伤害为来自武将的直接伤害)
|
||||||
--a[float]
|
--a[float]
|
||||||
[199] = function(role, args)
|
[199] = function(role, args)
|
||||||
local f1 = args[1]
|
local f1 = args[1]
|
||||||
|
|
||||||
local curDamage = 0
|
local curDamage = 0
|
||||||
local maxPro=0
|
|
||||||
local function onRoundChange()
|
local function onRoundChange()
|
||||||
curDamage = 0
|
curDamage = 0
|
||||||
--本回合最多能扣到多少比例的血条
|
|
||||||
maxPro=(role:GetRoleData(RoleDataName.Hp)/role:GetRoleData(RoleDataName.MaxHp))-f1
|
|
||||||
if maxPro<0 then
|
|
||||||
maxPro=0
|
|
||||||
end
|
|
||||||
--LogError("本回合最多能扣到的比例=="..maxPro)
|
|
||||||
|
|
||||||
end
|
end
|
||||||
BattleLogic.Event:AddEvent(BattleEventName.BattleRoundChange, onRoundChange,nil,nil,role)
|
BattleLogic.Event:AddEvent(BattleEventName.BattleRoundChange, onRoundChange,nil,nil,role)
|
||||||
|
|
||||||
|
@ -4267,12 +4260,8 @@ local passivityList = {
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
--
|
--
|
||||||
--local maxDamage = role:GetRoleData(RoleDataName.MaxHp) * f1
|
local maxDamage = role:GetRoleData(RoleDataName.MaxHp) * f1
|
||||||
--curDamage = curDamage + damage
|
curDamage = curDamage + damage
|
||||||
--判断伤害是否能超出能扣除的最大伤害
|
|
||||||
local maxDamage =floor(role:GetRoleData(RoleDataName.Hp)-(role:GetRoleData(RoleDataName.MaxHp) * maxPro))
|
|
||||||
--LogError("本次能扣的最大伤害=="..maxDamage.." 本次伤害=="..damage)
|
|
||||||
curDamage=damage
|
|
||||||
if curDamage > maxDamage then
|
if curDamage > maxDamage then
|
||||||
-- 计算免除的伤害值
|
-- 计算免除的伤害值
|
||||||
local md = curDamage - maxDamage
|
local md = curDamage - maxDamage
|
||||||
|
@ -4283,7 +4272,7 @@ local passivityList = {
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
role.Event:AddEvent(BattleEventName.CheckLiZhanZhiQu, onFinalBeDamage,nil,nil,role)
|
role.Event:AddEvent(BattleEventName.FinalBeDamageEnd, onFinalBeDamage,nil,nil,role)
|
||||||
end,
|
end,
|
||||||
|
|
||||||
|
|
||||||
|
@ -8180,9 +8169,7 @@ local passivityList = {
|
||||||
if not buff or buff.caster~=role or buff.type~=BuffName.Control then
|
if not buff or buff.caster~=role or buff.type~=BuffName.Control then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if buff.target then
|
buff.target:AddBuff(Buff.Create(role, BuffName.PropertyChange, round, BattlePropList[pro],v1, ct))
|
||||||
buff.target:AddBuff(Buff.Create(role, BuffName.PropertyChange, round, BattlePropList[pro],v1, ct))
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
local OnSkillCast=function(skill)
|
local OnSkillCast=function(skill)
|
||||||
|
|
|
@ -77,7 +77,6 @@ BattleEventName = {
|
||||||
FinalDamage = indexAdd(),
|
FinalDamage = indexAdd(),
|
||||||
FinalBeDamage = indexAdd(),
|
FinalBeDamage = indexAdd(),
|
||||||
FinalBeDamageEnd = indexAdd(), --最后被攻击结束
|
FinalBeDamageEnd = indexAdd(), --最后被攻击结束
|
||||||
CheckLiZhanZhiQu = indexAdd(),--检测历战之躯
|
|
||||||
HitMiss = indexAdd(),
|
HitMiss = indexAdd(),
|
||||||
BeHitMiss = indexAdd(),
|
BeHitMiss = indexAdd(),
|
||||||
|
|
||||||
|
|
|
@ -750,14 +750,6 @@ function BattleUtil.FinalDamage(skill, atkRole, defRole, damage, bCrit, damageTy
|
||||||
realDamage=math.abs(defRole.bloodShield:CountBloodValue(damage))
|
realDamage=math.abs(defRole.bloodShield:CountBloodValue(damage))
|
||||||
-- damage=realDamage
|
-- damage=realDamage
|
||||||
end
|
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
|
--御甲过滤后的伤害只会处理扣血 by: wangzhenxing shihongyi 2021/09/27
|
||||||
local finalDmg = defRole.data:SubValue(RoleDataName.Hp,realDamage)
|
local finalDmg = defRole.data:SubValue(RoleDataName.Hp,realDamage)
|
||||||
if finalDmg >= 0 then
|
if finalDmg >= 0 then
|
||||||
|
|
Loading…
Reference in New Issue