Skip to content

Stop Flame Breath cooldown from capping channel speed#1912

Open
unrealdreamz wants to merge 1 commit into
PathOfBuildingCommunity:devfrom
unrealdreamz:fix/flame-breath-channel-speed
Open

Stop Flame Breath cooldown from capping channel speed#1912
unrealdreamz wants to merge 1 commit into
PathOfBuildingCommunity:devfrom
unrealdreamz:fix/flame-breath-channel-speed

Conversation

@unrealdreamz
Copy link
Copy Markdown
Contributor

Summary

Fixes #1673
Fixes #1706

Makes Flame Breath use its channel hit rate for speed/DPS instead of being capped to one use per 10-second cooldown.

Root Cause

Flame Breath already has the correct attack-speed data: its 700% attack speed multiplier produces the intended 8x base weapon rate. The calculation then applies the generic cooldown cap:

output.Speed = m_min(output.Speed, 1 / output.Cooldown * output.Repeats)

Because Flame Breath has a 10-second cooldown, that clamps the final skill speed to 0.1/s, so attack speed and Rapid Attacks affect the intermediate value but not the displayed DPS.

The skill data also already contains channelled_skill_do_not_go_on_cooldown_on_finishing_channel, but that stat was not mapped to any internal behavior.

Fix

  • Map channelled_skill_do_not_go_on_cooldown_on_finishing_channel to a skill flag.
  • Preserve cooldown display/output, but skip the cooldown speed cap when that flag is present.
  • Add a regression test that equips a Roaring Talisman, calculates Flame Breath speed/DPS, then verifies 100% increased attack speed scales both speed and DPS instead of leaving them clamped at the cooldown rate.

Validation

  • gh pr list --repo PathOfBuildingCommunity/PathOfBuilding-PoE2 --state open -S 'Flame Breath attack speed cooldown' --json number,title,headRefName,author,url --jq '.' -> []
  • git diff --check -> passed
  • git diff --cached --check -> passed
  • git show --check --stat --oneline HEAD -> passed
  • Checked local test executables: lua, luajit, and busted are not installed on this machine, so the included regression is left for CI's Docker/Busted path.

Risk / Rollback

Low-to-moderate risk. The calculation change is generic, but only skills that emit the new CooldownDoesNotLimitSkillSpeed flag bypass the cooldown cap. At present this is driven by the explicit channel stat used by Flame Breath. Rollback is reverting this commit, which restores the previous cooldown-clamped behavior.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

flame breath dps Flame breath does not take into account attack speed in PoB

1 participant