Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions src/Data/Skills/act_dex.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6109,6 +6109,14 @@ skills["RainOfArrowsPlayer"] = {
["rain_of_arrows_projectile_count_multiplier_per_frenzy_charge"] = {
mod("ProjectileNumber", "MORE", nil, 0, 0, { type = "Multiplier", var = "RemovableFrenzyCharge" }),
},
["rain_of_arrows_delay_per_arrow"] = {
skill("hitTimeOverride", nil),
div = 1000,
},
["rain_hit_delay_ms"] = {
skill("maxHitRatePerEnemy", nil),
div = 1000,
},
},
baseFlags = {
attack = true,
Expand Down
40 changes: 40 additions & 0 deletions src/Data/Skills/act_int.lua
Original file line number Diff line number Diff line change
Expand Up @@ -7603,6 +7603,16 @@ skills["FirestormPlayer"] = {
incrementalEffectiveness = 0.12999999523163,
damageIncrementalEffectiveness = 0.008899999782443,
statDescriptionScope = "firestorm_statset_0",
statMap = {
["fire_storm_fireball_delay_ms"] = {
skill("hitTimeOverride", nil),
div = 1000,
},
["rain_hit_delay_ms"] = {
skill("maxHitRatePerEnemy", nil),
div = 1000,
},
},
baseFlags = {
spell = true,
area = true,
Expand Down Expand Up @@ -7687,6 +7697,16 @@ skills["FirestormPlayer"] = {
incrementalEffectiveness = 0.12999999523163,
damageIncrementalEffectiveness = 0.008899999782443,
statDescriptionScope = "firestorm_statset_1",
statMap = {
["fire_storm_fireball_delay_ms"] = {
skill("hitTimeOverride", nil),
div = 1000,
},
["rain_hit_delay_ms"] = {
skill("maxHitRatePerEnemy", nil),
div = 1000,
},
},
baseFlags = {
spell = true,
area = true,
Expand Down Expand Up @@ -7776,6 +7796,16 @@ skills["FirestormPlayer"] = {
incrementalEffectiveness = 0.12999999523163,
damageIncrementalEffectiveness = 0.008899999782443,
statDescriptionScope = "firestorm_statset_2",
statMap = {
["fire_storm_fireball_delay_ms"] = {
skill("hitTimeOverride", nil),
div = 1000,
},
["rain_hit_delay_ms"] = {
skill("maxHitRatePerEnemy", nil),
div = 1000,
},
},
baseFlags = {
spell = true,
area = true,
Expand Down Expand Up @@ -12950,6 +12980,10 @@ skills["IcestormPlayer"] = {
skill("hitTimeOverride", nil),
div = 1000,
},
["rain_hit_delay_ms"] = {
skill("maxHitRatePerEnemy", nil),
div = 1000,
},
},
baseFlags = {
spell = true,
Expand Down Expand Up @@ -13032,6 +13066,12 @@ skills["IcestormPlayer"] = {
incrementalEffectiveness = 0.12999999523163,
damageIncrementalEffectiveness = 0.0082000000402331,
statDescriptionScope = "icestorm",
statMap = {
["rain_hit_delay_ms"] = {
skill("maxHitRatePerEnemy", nil),
div = 1000,
},
},
baseFlags = {
spell = true,
area = true,
Expand Down
16 changes: 16 additions & 0 deletions src/Data/Skills/act_str.lua
Original file line number Diff line number Diff line change
Expand Up @@ -18725,6 +18725,16 @@ skills["ThunderstormPlayer"] = {
incrementalEffectiveness = 0.12999999523163,
damageIncrementalEffectiveness = 0.0096000004559755,
statDescriptionScope = "thunderstorm",
statMap = {
["lightning_storm_hit_frequency_ms"] = {
skill("hitTimeOverride", nil),
div = 1000,
},
["lightning_storm_hit_prevention_duration_ms"] = {
skill("maxHitRatePerEnemy", nil),
div = 1000,
},
},
baseFlags = {
spell = true,
area = true,
Expand Down Expand Up @@ -19508,6 +19518,12 @@ skills["VolcanoPlayer"] = {
incrementalEffectiveness = 0.12999999523163,
damageIncrementalEffectiveness = 0.0074000000022352,
statDescriptionScope = "volcano_statset_1",
statMap = {
["volcano_fires_projectiles_every_x_ms"] = {
skill("hitTimeOverride", nil),
div = 1000,
},
},
baseFlags = {
spell = true,
area = true,
Expand Down
8 changes: 8 additions & 0 deletions src/Export/Skills/act_dex.txt
Original file line number Diff line number Diff line change
Expand Up @@ -394,6 +394,14 @@ statMap = {
["rain_of_arrows_projectile_count_multiplier_per_frenzy_charge"] = {
mod("ProjectileNumber", "MORE", nil, 0, 0, { type = "Multiplier", var = "RemovableFrenzyCharge" }),
},
["rain_of_arrows_delay_per_arrow"] = {
skill("hitTimeOverride", nil),
div = 1000,
},
["rain_hit_delay_ms"] = {
skill("maxHitRatePerEnemy", nil),
div = 1000,
},
},
#mods
#skillEnd
Expand Down
40 changes: 40 additions & 0 deletions src/Export/Skills/act_int.txt
Original file line number Diff line number Diff line change
Expand Up @@ -499,12 +499,42 @@ statMap = {
#skill FirestormPlayer
#set FirestormPlayer
#flags spell area duration
statMap = {
["fire_storm_fireball_delay_ms"] = {
skill("hitTimeOverride", nil),
div = 1000,
},
["rain_hit_delay_ms"] = {
skill("maxHitRatePerEnemy", nil),
div = 1000,
},
},
#mods
#set FirestormColdInfusionPlayer
#flags spell area duration
statMap = {
["fire_storm_fireball_delay_ms"] = {
skill("hitTimeOverride", nil),
div = 1000,
},
["rain_hit_delay_ms"] = {
skill("maxHitRatePerEnemy", nil),
div = 1000,
},
},
#mods
#set FirestormLightningInfusionPlayer
#flags spell area duration
statMap = {
["fire_storm_fireball_delay_ms"] = {
skill("hitTimeOverride", nil),
div = 1000,
},
["rain_hit_delay_ms"] = {
skill("maxHitRatePerEnemy", nil),
div = 1000,
},
},
#mods
#skillEnd

Expand Down Expand Up @@ -828,10 +858,20 @@ statMap = {
skill("hitTimeOverride", nil),
div = 1000,
},
["rain_hit_delay_ms"] = {
skill("maxHitRatePerEnemy", nil),
div = 1000,
},
},
#mods
#set IcestormEmpoweredPlayer
#flags spell area duration
statMap = {
["rain_hit_delay_ms"] = {
skill("maxHitRatePerEnemy", nil),
div = 1000,
},
},
#mods
#skillEnd

Expand Down
16 changes: 16 additions & 0 deletions src/Export/Skills/act_str.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1109,6 +1109,16 @@ statMap = {
#skill ThunderstormPlayer
#set ThunderstormPlayer
#flags spell area duration
statMap = {
["lightning_storm_hit_frequency_ms"] = {
skill("hitTimeOverride", nil),
div = 1000,
},
["lightning_storm_hit_prevention_duration_ms"] = {
skill("maxHitRatePerEnemy", nil),
div = 1000,
},
},
#mods
#skillEnd

Expand Down Expand Up @@ -1146,6 +1156,12 @@ statMap = {
#mods
#set VolcanoProjectilePlayer
#flags spell area projectile
statMap = {
["volcano_fires_projectiles_every_x_ms"] = {
skill("hitTimeOverride", nil),
div = 1000,
},
},
#mods
#skillEnd

Expand Down
10 changes: 8 additions & 2 deletions src/Modules/CalcOffence.lua
Original file line number Diff line number Diff line change
Expand Up @@ -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 skillData.maxHitRatePerEnemy or skillData.hitTimeOverride then
skillFlags.notAverage = true
skillFlags.showAverage = false
skillData.showAverage = false
Expand Down Expand Up @@ -2830,7 +2830,13 @@ function calcs.offence(env, actor, activeSkill)
end

end
if skillData.hitTimeOverride and not skillData.triggeredOnDeath then
if skillData.hitTimeOverride and not skillData.triggeredOnDeath or skillData.maxHitRatePerEnemy then
--checks if skill has a max hit rate per enemy and adjust hitTimeOverride
if skillData.maxHitRatePerEnemy and not skillData.hitTimeOverride then
skillData.hitTimeOverride = skillData.maxHitRatePerEnemy
elseif skillData.maxHitRatePerEnemy and skillData.hitTimeOverride < skillData.maxHitRatePerEnemy then
skillData.hitTimeOverride = skillData.maxHitRatePerEnemy
end
output.HitTime = skillData.hitTimeOverride
output.HitSpeed = 1 / output.HitTime
--Brands always have hitTimeOverride
Expand Down