Skip to content

Commit 7c615bb

Browse files
authored
FEAT: display CWDT threshold (#6420)
1 parent d481f1a commit 7c615bb

File tree

4 files changed

+16
-0
lines changed

4 files changed

+16
-0
lines changed

src/Data/Skills/sup_str.lua

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -940,6 +940,9 @@ skills["SupportCastOnDamageTaken"] = {
940940
["cast_on_damage_taken_damage_+%_final"] = {
941941
mod("Damage", "MORE", nil),
942942
},
943+
["cast_when_damage_taken_trigger_threshold_+%"] = {
944+
mod("CWDTThreshold", "MORE", nil)
945+
}
943946
},
944947
qualityStats = {
945948
Default = {

src/Export/Skills/sup_str.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,9 @@ local skills, mod, flag, skill = ...
110110
["cast_on_damage_taken_damage_+%_final"] = {
111111
mod("Damage", "MORE", nil),
112112
},
113+
["cast_when_damage_taken_trigger_threshold_+%"] = {
114+
mod("CWDTThreshold", "MORE", nil)
115+
}
113116
},
114117
#mods
115118

src/Modules/CalcSections.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -500,6 +500,7 @@ return {
500500
{ label = "Skill Trigger Rate", flag = "triggered", notFlag = "focused", { format = "{2:output:SkillTriggerRate}", { breakdown = "SkillTriggerRate" }, { breakdown = "SimData" }, }, },
501501
{ label = "Skill Trigger Rate", flagList = {"triggered", "focused"}, { format = "{2:output:SkillTriggerRate}", { breakdown = "SkillTriggerRate" }, { breakdown = "SimData" }, { modName = "FocusCooldownRecovery", modType = "INC", cfg = "skill", }, }, },
502502
{ label = "Cast time", flag = "spell", notFlag = "triggered", { format = "{2:output:Time}s", }, },
503+
{ label = "CWDT Threshold", haveOutput = "CWDTThreshold", flag = "triggered", { format = "{2:output:CWDTThreshold}", { breakdown = "CWDTThreshold" }, }, },
503504
{ label = "Channel time", haveOutput = "HitTime", { format = "{2:output:HitTime}s", { breakdown = "HitTime" } }, },
504505
{ label = "Hit Rate", haveOutput = "HitSpeed", { format = "{2:output:HitSpeed}", { breakdown = "HitSpeed" } }, },
505506
} }

src/Modules/CalcTriggers.lua

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1514,6 +1514,15 @@ local configTable = {
15141514
end
15151515
end,
15161516
["Cast when Damage Taken"] = function(env)
1517+
local thresholdMod = calcLib.mod(env.player.mainSkill.skillModList, nil, "CWDTThreshold")
1518+
env.player.output.CWDTThreshold = env.player.mainSkill.skillData.triggeredByDamageTaken * thresholdMod
1519+
if env.player.breakdown and env.player.output.CWDTThreshold ~= env.player.mainSkill.skillData.triggeredByDamageTaken then
1520+
env.player.breakdown.CWDTThreshold = {
1521+
s_format("%.2f ^8(base threshold)", env.player.mainSkill.skillData.triggeredByDamageTaken),
1522+
s_format("x %.2f ^8(threshold modifier)", thresholdMod),
1523+
s_format("= %.2f", env.player.output.CWDTThreshold),
1524+
}
1525+
end
15171526
env.player.mainSkill.skillFlags.globalTrigger = true
15181527
return {triggeredSkillCond = function(env, skill) return skill.skillData.triggeredByDamageTaken and slotMatch(env, skill) end}
15191528
end,

0 commit comments

Comments
 (0)