Skip to content

Commit

Permalink
Fix Chain count not appearing on Calcs page (PathOfBuildingCommunity#…
Browse files Browse the repository at this point in the history
…6205)

* Fix Chain count not appearing on Calcs page

Also adds the chaining tag to Dark Pact, Storm Brand, Exsanguinate and many minion skills

* Add support for arrows chain +1 times

---------

Co-authored-by: LocalIdentity <localidentity2@gmail.com>
  • Loading branch information
LocalIdentity and LocalIdentity authored May 7, 2023
1 parent f7d1487 commit fd38d94
Show file tree
Hide file tree
Showing 8 changed files with 16 additions and 8 deletions.
2 changes: 2 additions & 0 deletions src/Data/Skills/act_int.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2351,6 +2351,7 @@ skills["DarkPact"] = {
baseFlags = {
spell = true,
area = true,
chaining = true,
},
baseMods = {
skill("radius", 26),
Expand Down Expand Up @@ -9884,6 +9885,7 @@ skills["ConduitSigil"] = {
area = true,
duration = true,
brand = true,
chaining = true,
},
baseMods = {
skill("radius", 9),
Expand Down
1 change: 1 addition & 0 deletions src/Data/Skills/act_str.lua
Original file line number Diff line number Diff line change
Expand Up @@ -3226,6 +3226,7 @@ skills["Exsanguinate"] = {
baseFlags = {
spell = true,
duration = true,
chaining = true,
},
baseMods = {
skill("debuff", true),
Expand Down
4 changes: 4 additions & 0 deletions src/Data/Skills/spectre.lua
Original file line number Diff line number Diff line change
Expand Up @@ -891,6 +891,7 @@ skills["GoatmanFireMagmaOrb"] = {
spell = true,
area = true,
projectile = true,
chaining = true,
},
constantStats = {
{ "base_cast_speed_+%", 30 },
Expand Down Expand Up @@ -1038,6 +1039,7 @@ skills["GuardianArc"] = {
castTime = 0.8,
baseFlags = {
spell = true,
chaining = true,
},
constantStats = {
{ "base_chance_to_shock_%", 5 },
Expand Down Expand Up @@ -1618,6 +1620,7 @@ skills["MonsterArc"] = {
castTime = 0.8,
baseFlags = {
spell = true,
chaining = true,
},
constantStats = {
{ "base_chance_to_shock_%", 10 },
Expand Down Expand Up @@ -2683,6 +2686,7 @@ skills["MotherOfFlamesMagmaOrb3"] = {
spell = true,
projectile = true,
area = true,
chaining = true,
},
constantStats = {
{ "base_cast_speed_+%", -66 },
Expand Down
4 changes: 2 additions & 2 deletions src/Export/Skills/act_int.txt
Original file line number Diff line number Diff line change
Expand Up @@ -527,7 +527,7 @@ local skills, mod, flag, skill = ...
#mods

#skill DarkPact
#flags spell area
#flags spell area chaining
parts = {
{
name = "Cast on Player",
Expand Down Expand Up @@ -2147,7 +2147,7 @@ local skills, mod, flag, skill = ...
#mods

#skill ConduitSigil
#flags spell area duration brand
#flags spell area duration brand chaining
preDamageFunc = function(activeSkill, output)
activeSkill.skillData.hitTimeOverride = activeSkill.skillData.repeatFrequency / (1 + activeSkill.skillModList:Sum("INC", activeSkill.skillCfg, "Speed", "BrandActivationFrequency") / 100) / activeSkill.skillModList:More(activeSkill.skillCfg, "BrandActivationFrequency")
end,
Expand Down
2 changes: 1 addition & 1 deletion src/Export/Skills/act_str.txt
Original file line number Diff line number Diff line change
Expand Up @@ -628,7 +628,7 @@ local skills, mod, flag, skill = ...
#mods

#skill Exsanguinate
#flags spell duration
#flags spell duration chaining
statMap = {
["base_physical_damage_to_deal_per_minute"] = {
skill("PhysicalDot", nil, { type = "Condition", var = "ExsanguinateDebuffIsFireDamage", neg = true }),
Expand Down
8 changes: 4 additions & 4 deletions src/Export/Skills/spectre.txt
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ local skills, mod, flag, skill = ...
#mods

#skill GoatmanFireMagmaOrb Magma Orb
#flags spell area projectile
#flags spell area projectile chaining
#mods

#skill GoatmanMoltenShell Molten Shell
Expand All @@ -178,7 +178,7 @@ local skills, mod, flag, skill = ...
#mods

#skill GuardianArc Arc
#flags spell
#flags spell chaining
#mods

#skill HalfSkeletonPuncture Puncture
Expand Down Expand Up @@ -261,7 +261,7 @@ local skills, mod, flag, skill = ...
#mods

#skill MonsterArc Arc
#flags spell
#flags spell chaining
#mods

#skill MonsterCausticArrow Caustic Arrow
Expand Down Expand Up @@ -417,7 +417,7 @@ local skills, mod, flag, skill = ...
#mods

#skill MotherOfFlamesMagmaOrb3
#flags spell projectile area
#flags spell projectile area chaining
#mods

#skill NecromancerConductivity Conductivity
Expand Down
2 changes: 1 addition & 1 deletion src/Modules/CalcSections.lua
Original file line number Diff line number Diff line change
Expand Up @@ -637,7 +637,7 @@ return {
{ label = "Projectile Count", flag = "projectile", { format = "{output:ProjectileCount}", { modName = { "NoAdditionalProjectiles" , "ProjectileCount" }, cfg = "skill" }, }, },
{ label = "Pierce Count", haveOutput = "PierceCount", { format = "{output:PierceCountString}", { modName = { "CannotPierce", "PierceCount", "PierceAllTargets" }, cfg = "skill" }, }, },
{ label = "Fork Count", haveOutput = "ForkCountMax", { format = "{output:ForkCountString}", { modName = { "CannotFork", "ForkCountMax" }, cfg = "skill" }, }, },
{ label = "Max Chain Count", haveOutput = "ChainCountMax", { format = "{output:ChainMaxString}", { modName = { "CannotChain", "ChainCountMax" }, cfg = "skill" }, }, },
{ label = "Max Chain Count", haveOutput = "ChainMax", { format = "{output:ChainMaxString}", { modName = { "CannotChain", "ChainCountMax" }, cfg = "skill" }, }, },
{ label = "Proj. Speed Mod", flag = "projectile", { format = "x {2:output:ProjectileSpeedMod}",
{ breakdown = "ProjectileSpeedMod" },
{ modName = "ProjectileSpeed", cfg = "skill" },
Expand Down
1 change: 1 addition & 0 deletions src/Modules/ModParser.lua
Original file line number Diff line number Diff line change
Expand Up @@ -3620,6 +3620,7 @@ local specialModList = {
["summoned skeleton warriors are permanent and follow you"] = { flag("RaisedSkeletonPermanentDuration", { type = "SkillName", skillName = "Summon Skeleton" }) },
-- Projectiles
["skills chain %+(%d) times"] = function(num) return { mod("ChainCountMax", "BASE", num) } end,
["arrows chain %+(%d) times"] = function(num) return { mod("ChainCountMax", "BASE", num, nil, ModFlag.Bow) } end,
["skills chain an additional time while at maximum frenzy charges"] = { mod("ChainCountMax", "BASE", 1, { type = "StatThreshold", stat = "FrenzyCharges", thresholdStat = "FrenzyChargesMax" }) },
["attacks chain an additional time when in main hand"] = { mod("ChainCountMax", "BASE", 1, nil, ModFlag.Attack, { type = "SlotNumber", num = 1 }) },
["projectiles chain %+(%d) times while you have phasing"] = function(num) return { mod("ChainCountMax", "BASE", num, nil, ModFlag.Projectile, { type = "Condition", var = "Phasing" }) } end,
Expand Down

0 comments on commit fd38d94

Please sign in to comment.