||Implement debuff stacking for Blight
||Currently, the displayed DPS for Blight (the active skill gem) is the value for a single stack. However, unlike most chaos dots this skill actually applies a separate layered stack of the dot every time the channel ticks on a target (base cast time 0.3s), max 20 copies at once. These all expire independently, so for sustained channelling, on average there will be (debuff duration)/(cast time) stacks up at the same time.
So eg. in 3.8 with no modifiers there will be (2.5s duration) / (0.3 s/stack) = 8.33... stacks up at a time, effectively a +733% more multiplier on the listed damage. This means that bonuses to cast speed and debuff duration, multiple spell totems etc. all turn into extra damage, up until you hit the cap of 20 simultaneous stacks. In most cases with a relevant build you'll just be up against the stack limit all the time for +1900% more damage, assuming you can sit there and channel all day without having to move.
While this math can be done by hand if you're aware of the need for it, it's the sort of thing that would be nice to have just work automatically in PoB.
||Automatic Skeleton Life configuration for Dark Pact
||Currently, the cast-on-skeleton version of Dark Pact gets its value for skeleton health from the skill options box on the configuration tab. This box just holds a number that needs to be updated by hand every time your skeleton's health changes.
Meanwhile, the Summon Skeletons skill (and the Vaal variant) knows all about what types of skeletons can be summoned, including how much health they have.
What I would like is to connect these two systems together. The configuration screen should just let you pick which skeleton to use for Dark Pact. This way the damage calculations can automatically scale Dark Pact's damage when modifiers to minion health are changed, and that would show up in node power calculations, item comparisons, etc.
I'm not sure what UI would be best, maybe a dropdown for which summon skill to use, then another for which minion from that skill. This kind of UI is already available in the Calcs tab.
||Update the explosion for Explosive Arrow to scale with attack rate, skill duration, etc.
||Currently, Explosive Arrow has three skill parts -- Arrow, Explosion (1 fuse), and Explosion (5 fuses). This made sense under the old model where there was a limit of five fuses and the explosion only happened once per monster (typically), but is not very useful with the 3.9 changes to the skill.
The parent codebase has already added the weapon damage contribution that was added to the explosion in 3.9, so that at least has already been updated to match. But none of the existing parts accurately model the damage profile of the average explosion you will get, and particularly the numbers for the resulting ignite are nearly useless for optimizing a build as currently implemented.
Under the new model, an explosion happens every (1 * skill duration modifier) seconds, and ignores your normal attack rate. Instead the attack rate contributes to the *damage* of the explosion, and also counts towards a further more modifier to the ignite.
Basically I think the Explosion (5 fuses) part of the skill should be removed, since it is no longer relevant. Explosion (1 fuse) is still useful as a way to see how much damage each arrow is contributing, so it can stay. Then a new part needs to be added called Explosion (average fuses), with the following stats:
"arrows landed" in all these formulas is = (arrow attack rate) * (arrow hit chance) * (duration modifiers)
* Average Damage: (1 fuse average damage) * (arrows landed)
* Attack rate: 1s * (duration modifiers)
* Hit Chance: 100% ///since missed arrows reduce the number of arrows landed instead
* Ignite DPS: (1 fuse ignite dps) * (arrows landed) * (1 + 3% * arrows landed) /// yes, the ignite really scales with arrows ^ 2
* AoE Radius: (arrow radius) + min(2 * arrows landed, 10 + floor[(gem level - 1) / 2])
* Mana Cost: (arrow mana cost) * (arrow attack rate) * (duration modifiers) /// does not scale with hit chance; this is the number of arrows fired, not the number of arrows that land
With this in place, hopefully we should be able to pick this part of the skill and have the effective DPS calculations come out correctly. There are some intricate effects caused by the nonstandard way this skill works; eg. +duration mods increase ignite DPS and the average damage of the hit, but the DPS of the hit is unaffected. Adding accuracy will increase ignite DPS if you are not at 100% hit chance yet.
That said, this is not a perfectly accurate model; in particular it breaks down when less than one arrow is being fired per second. But it should be accurate enough for the usual case, I think, and will go a long way towards being able to optimize builds for EA in the future.