Skip to content

Commit 2825e29

Browse files
authored
FIX: cap KF projectile count (#9443)
Signed-off-by: Paliak <91493239+Paliak@users.noreply.github.com>
1 parent 40c79a2 commit 2825e29

4 files changed

Lines changed: 16 additions & 2 deletions

File tree

src/Data/Skills/act_int.lua

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11181,6 +11181,8 @@ skills["KineticFusillade"] = {
1118111181
end
1118211182
t_insert(breakdownSequential, s_format("^8Average more multiplier:^7 %.1f%%", avgMoreMult))
1118311183
breakdown.KineticFusilladeSequentialBreakdown = breakdownSequential
11184+
breakdown.ProjectileCount = breakdown.ProjectileCount or {}
11185+
t_insert(breakdown.ProjectileCount,s_format("^8Maximum number of Kinetic Fusilade projectiles:^7 %d", activeSkill.skillModList:Sum("BASE", activeSkill.skillCfg, "ProjectileCountMaximum")))
1118411186
end
1118511187
end
1118611188
end
@@ -11249,6 +11251,10 @@ skills["KineticFusillade"] = {
1124911251
div = 1000,
1125011252
},
1125111253
["quality_display_kinetic_fusillade_is_gem"] = {
11254+
-- Display only
11255+
},
11256+
["kinetic_fusillade_maximum_floating_projectiles"] = {
11257+
mod("ProjectileCountMaximum", "BASE", nil)
1125211258
},
1125311259
},
1125411260
baseFlags = {

src/Export/Skills/act_int.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2304,6 +2304,8 @@ local skills, mod, flag, skill = ...
23042304
end
23052305
t_insert(breakdownSequential, s_format("^8Average more multiplier:^7 %.1f%%", avgMoreMult))
23062306
breakdown.KineticFusilladeSequentialBreakdown = breakdownSequential
2307+
breakdown.ProjectileCount = breakdown.ProjectileCount or {}
2308+
t_insert(breakdown.ProjectileCount,s_format("^8Maximum number of Kinetic Fusilade projectiles:^7 %d", activeSkill.skillModList:Sum("BASE", activeSkill.skillCfg, "ProjectileCountMaximum")))
23072309
end
23082310
end
23092311
end
@@ -2372,6 +2374,10 @@ local skills, mod, flag, skill = ...
23722374
div = 1000,
23732375
},
23742376
["quality_display_kinetic_fusillade_is_gem"] = {
2377+
-- Display only
2378+
},
2379+
["kinetic_fusillade_maximum_floating_projectiles"] = {
2380+
mod("ProjectileCountMaximum", "BASE", nil)
23752381
},
23762382
},
23772383
#mods

src/Modules/CalcOffence.lua

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1029,9 +1029,11 @@ function calcs.offence(env, actor, activeSkill)
10291029
output.ProjectileCount = 1
10301030
else
10311031
local projMin = skillModList:Sum("BASE", skillCfg, "ProjectileCountMinimum")
1032+
local projMax = skillModList:Sum("BASE", skillCfg, "ProjectileCountMaximum")
10321033
local projBase = skillModList:Sum("BASE", skillCfg, "ProjectileCount")
10331034
local projMore = skillModList:More(skillCfg, "ProjectileCount")
1034-
output.ProjectileCount = m_max(m_floor(projBase * projMore), projMin)
1035+
local proj = m_floor(projBase * projMore)
1036+
output.ProjectileCount = m_max(m_min(proj, projMax), projMin)
10351037
end
10361038
if skillModList:Flag(skillCfg, "AdditionalProjectilesAddBouncesInstead") then
10371039
local projBase = skillModList:Flag(skillCfg, "SingleProjectile") and 0 or skillModList:Sum("BASE", skillCfg, "ProjectileCount") + skillModList:Sum("BASE", skillCfg, "BounceCount") - 1

src/Modules/CalcSections.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -661,7 +661,7 @@ return {
661661
{ label = "Reserve Uptime", haveOutput = "ReserveDurationUptime", { format = "{2:output:ReserveDurationUptime}%", { breakdown = "ReserveDurationUptime" }, }, },
662662
{ label = "Sustainable Trauma", haveOutput = "SustainableTrauma", { format = "{0:output:SustainableTrauma}", { breakdown = "SustainableTrauma" }, { modName = { "ExtraTrauma", "RepeatCount", "Duration", "PrimaryDuration", "SecondaryDuration"}, cfg = "skill" }, }, },
663663
{ label = "Repeat Count", haveOutput = "RepeatCount", { format = "{output:Repeats}", { modName = { "RepeatCount" }, cfg = "skill" }, }, },
664-
{ label = "Projectile Count", flag = "projectile", { format = "{output:ProjectileCount}", { modName = { "NoAdditionalProjectiles", "SingleProjectile" , "ProjectileCount", "ProjectileCountMinimum" }, cfg = "skill" }, }, },
664+
{ label = "Projectile Count", flag = "projectile", { format = "{output:ProjectileCount}", { breakdown = "ProjectileCount" }, { modName = { "NoAdditionalProjectiles", "SingleProjectile" , "ProjectileCount", "ProjectileCountMinimum" }, cfg = "skill" }, }, },
665665
{ label = "Pierce Count", haveOutput = "PierceCount", { format = "{output:PierceCountString}", { modName = { "CannotPierce", "PierceCount", "PierceAllTargets" }, cfg = "skill" }, }, },
666666
{ label = "Fork Count", haveOutput = "ForkCountMax", { format = "{output:ForkCountString}", { modName = { "CannotFork", "ForkCountMax" }, cfg = "skill" }, }, },
667667
{ label = "Max Chain Count", haveOutput = "ChainMax", { format = "{output:ChainMaxString}", { modName = { "CannotChain", "ChainCountMax", "NoAdditionalChains" }, cfg = "skill" }, }, },

0 commit comments

Comments
 (0)