From a42815c8143c31b4575bb12ab0dd6050e6d8031b Mon Sep 17 00:00:00 2001 From: MrHB212 Date: Tue, 20 Jan 2026 15:38:51 +0100 Subject: [PATCH 1/2] skillstatmap and calcoffence adjustment --- src/Data/SkillStatMap.lua | 20 ++++++++++++++++++++ src/Modules/CalcOffence.lua | 7 ++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/Data/SkillStatMap.lua b/src/Data/SkillStatMap.lua index de3d261d1..df231e2d4 100644 --- a/src/Data/SkillStatMap.lua +++ b/src/Data/SkillStatMap.lua @@ -17,6 +17,26 @@ return { skill("durationSecondary", nil), div = 1000, }, +["fire_storm_fireball_delay_ms"] = { + skill("hitTimeOverride", nil), + div = 1000, +}, +["lightning_storm_hit_prevention_duration_ms"] = { + skill("maxHitRate", nil), + div = 1000, +}, +["rain_of_arrows_delay_per_arrow"] = { + skill("hitTimeOverride", nil), + div = 1000, +}, +["lightning_storm_hit_frequency_ms"] = { + skill("hitTimeOverride", nil), + div = 1000, +}, +["rain_hit_delay_ms"] = { + skill("maxHitRate", nil), + div = 1000, +}, ["base_tertiary_skill_effect_duration"] = { skill("durationTertiary", nil), div = 1000, diff --git a/src/Modules/CalcOffence.lua b/src/Modules/CalcOffence.lua index eeab60788..dbd4d39fa 100644 --- a/src/Modules/CalcOffence.lua +++ b/src/Modules/CalcOffence.lua @@ -2708,7 +2708,7 @@ function calcs.offence(env, actor, activeSkill) output.Cooldown = globalOutput.Cooldown output.Speed = m_min(output.Speed, 1 / output.Cooldown * output.Repeats) end - if output.Cooldown and skillFlags.selfCast then + if (output.Cooldown and skillFlags.selfCast) or (skillFlags.duration and skillFlags.duration) then skillFlags.notAverage = true skillFlags.showAverage = false skillData.showAverage = false @@ -2830,7 +2830,12 @@ function calcs.offence(env, actor, activeSkill) end end + if skillData.hitTimeOverride and not skillData.triggeredOnDeath then + --checks if skill has a max hit rate per enemy and adjust hitTimeOverride + if skillData.maxHitRate and skillData.hitTimeOverride < skillData.maxHitRate then + skillData.hitTimeOverride = skillData.maxHitRate + end output.HitTime = skillData.hitTimeOverride output.HitSpeed = 1 / output.HitTime --Brands always have hitTimeOverride From d8d4689480814fece9eb0856d7509b23c0240c2c Mon Sep 17 00:00:00 2001 From: MrHB212 Date: Fri, 23 Jan 2026 16:10:51 +0100 Subject: [PATCH 2/2] Update CalcOffence.lua --- src/Modules/CalcOffence.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Modules/CalcOffence.lua b/src/Modules/CalcOffence.lua index dbd4d39fa..ab8152e8b 100644 --- a/src/Modules/CalcOffence.lua +++ b/src/Modules/CalcOffence.lua @@ -2708,7 +2708,7 @@ function calcs.offence(env, actor, activeSkill) output.Cooldown = globalOutput.Cooldown output.Speed = m_min(output.Speed, 1 / output.Cooldown * output.Repeats) end - if (output.Cooldown and skillFlags.selfCast) or (skillFlags.duration and skillFlags.duration) then + if (output.Cooldown and skillFlags.selfCast) or (SkillType.Sustained) then skillFlags.notAverage = true skillFlags.showAverage = false skillData.showAverage = false