Skip to content

Commit 04f4c3a

Browse files
authored
FIX: CwC interval being rounded to tick rate (#9650)
Signed-off-by: Paliak <91493239+Paliak@users.noreply.github.com>
1 parent 03e5d40 commit 04f4c3a

1 file changed

Lines changed: 6 additions & 8 deletions

File tree

src/Modules/CalcTriggers.lua

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -245,8 +245,8 @@ local function CWCHandler(env)
245245
output.addsCastTime = processAddedCastTime(env.player.mainSkill, breakdown)
246246

247247
local icdr = calcLib.mod(env.player.mainSkill.skillModList, env.player.mainSkill.skillCfg, "CooldownRecovery") or 1
248-
local adjTriggerInterval = m_ceil(source.skillData.triggerTime * data.misc.ServerTickRate) / data.misc.ServerTickRate
249-
local triggerRateOfTrigger = 1/adjTriggerInterval
248+
local triggerInterval = source.skillData.triggerTime
249+
local triggerRateOfTrigger = 1 / triggerInterval
250250
local triggeredCD = env.player.mainSkill.skillData.cooldown
251251
local cooldownOverride = env.player.mainSkill.skillModList:Override(env.player.mainSkill.skillCfg, "CooldownRecovery")
252252

@@ -269,8 +269,7 @@ local function CWCHandler(env)
269269
if breakdown then
270270
if triggeredCD or cooldownOverride then
271271
breakdown.TriggerRateCap = {
272-
s_format("Cast While Channeling triggers %s every %.2fs while channeling %s ", triggeredName, source.skillData.triggerTime, source.activeEffect.grantedEffect.name),
273-
s_format("%.3f ^8(adjusted for server tick rate)", adjTriggerInterval),
272+
s_format("Cast While Channeling triggers %s every %.2fs while channeling %s ", triggeredName, triggerInterval, source.activeEffect.grantedEffect.name),
274273
"",
275274
s_format("%.2f ^8(base cooldown of triggered skill)", triggeredCD),
276275
s_format("/ %.2f ^8(increased/reduced cooldown recovery)", icdr),
@@ -284,8 +283,7 @@ local function CWCHandler(env)
284283
end
285284
else
286285
breakdown.TriggerRateCap = {
287-
s_format("Cast While Channeling triggers %s every %.2fs while channeling %s ", triggeredName, source.skillData.triggerTime, source.activeEffect.grantedEffect.name),
288-
s_format("%.3f ^8(adjusted for server tick rate)", adjTriggerInterval),
286+
s_format("Cast While Channeling triggers %s every %.2fs while channeling %s ", triggeredName, triggerInterval, source.activeEffect.grantedEffect.name),
289287
"",
290288
triggeredName .. " has no base cooldown or cooldown override",
291289
"",
@@ -294,7 +292,7 @@ local function CWCHandler(env)
294292

295293
local function extraIncreaseNeeded(affectedCD)
296294
if not cooldownOverride then
297-
local nextBreakpoint = effCDTriggeredSkill - adjTriggerInterval
295+
local nextBreakpoint = effCDTriggeredSkill - triggerInterval
298296
local timeOverBreakpoint = triggeredTotalCooldown - nextBreakpoint
299297
local alreadyReducedTime = triggeredTotalCooldown * icdr - triggeredTotalCooldown
300298
if timeOverBreakpoint < affectedCD then
@@ -377,7 +375,7 @@ local function CWCHandler(env)
377375

378376
-- Account for Trigger-related INC/MORE modifiers
379377
addTriggerIncMoreMods(env.player.mainSkill, env.player.mainSkill)
380-
env.player.output.ChannelTimeToTrigger = source.skillData.triggerTime
378+
env.player.output.ChannelTimeToTrigger = triggerInterval
381379
env.player.mainSkill.skillData.triggered = true
382380
env.player.mainSkill.skillFlags.globalTrigger = true
383381
env.player.mainSkill.skillData.triggerRate = output.SkillTriggerRate

0 commit comments

Comments
 (0)