add warcry effect mod to calcs tab with breakdown (#8126)
This commit is contained in:
@@ -1108,6 +1108,27 @@ function calcs.offence(env, actor, activeSkill)
|
||||
breakdown.CurseEffectMod = breakdown.mod(skillModList, skillCfg, "CurseEffect")
|
||||
end
|
||||
end
|
||||
if activeSkill.skillTypes[SkillType.Warcry] then
|
||||
local full_duration = calcSkillDuration(skillModList, skillCfg, activeSkill.skillData, env, enemyDB)
|
||||
local cooldownOverride = skillModList:Override(skillCfg, "CooldownRecovery")
|
||||
local actual_cooldown = cooldownOverride or (activeSkill.skillData.cooldown + skillModList:Sum("BASE", skillCfg, "CooldownRecovery")) / calcLib.mod(skillModList, skillCfg, "CooldownRecovery")
|
||||
local uptime = env.modDB:Flag(nil, "Condition:WarcryMaxHit") and 1 or m_min(full_duration / actual_cooldown, 1)
|
||||
local unscaledEffect = calcLib.mod(skillModList, skillCfg, "WarcryEffect", "BuffEffect")
|
||||
output.WarcryEffectMod = unscaledEffect * uptime
|
||||
if breakdown then
|
||||
breakdown.WarcryEffectMod = {
|
||||
s_format("%.2f ^8(effect modifiers)", unscaledEffect)
|
||||
}
|
||||
if env.modDB:Flag(nil, "Condition:WarcryMaxHit") or uptime ~= 1 then
|
||||
if env.modDB:Flag(nil, "Condition:WarcryMaxHit") then
|
||||
t_insert(breakdown.WarcryEffectMod, "* 100% uptime (WarcryMaxHit Override)")
|
||||
elseif uptime ~= 1 then
|
||||
t_insert(breakdown.WarcryEffectMod, s_format("* %.2f%% ^8(uptime)", uptime * 100))
|
||||
end
|
||||
t_insert(breakdown.WarcryEffectMod, s_format("= %.1f%%", output.WarcryEffectMod * 100))
|
||||
end
|
||||
end
|
||||
end
|
||||
if activeSkill.skillTypes[SkillType.Link] then
|
||||
output.LinkEffectMod = calcLib.mod(skillModList, skillCfg, "LinkEffect", "BuffEffect")
|
||||
if breakdown then
|
||||
|
||||
@@ -677,6 +677,10 @@ return {
|
||||
{ breakdown = "CurseEffectMod" },
|
||||
{ modName = "CurseEffect", cfg = "skill" },
|
||||
}, },
|
||||
{ label = "Warcry Effect Mod", haveOutput = "WarcryEffectMod", { format = "x {2:output:WarcryEffectMod}",
|
||||
{ breakdown = "WarcryEffectMod" },
|
||||
{ modName = { "WarcryEffect", "BuffEffect" }, cfg = "skill" },
|
||||
}, },
|
||||
{ label = "Link Effect Mod", haveOutput = "LinkEffectMod", { format = "x {2:output:LinkEffectMod}",
|
||||
{ breakdown = "LinkEffectMod" },
|
||||
{ modName = { "LinkEffect", "BuffEffect" }, cfg = "skill" },
|
||||
|
||||
Reference in New Issue
Block a user