Project-Epoch / bugtracker

3 stars 0 forks source link

I think the casting time on the tooltip for Steady Shot is wrong... #7207

Open kaytotes opened 5 months ago

kaytotes commented 5 months ago

I think the casting time on the tooltip for Steady Shot is wrong. My tooltip says it has a 1.11 sec cast and this is also what the GetSpellInfo("Steady Shot") lua function returns. But Quartz cast bar says it's a 1.24 sec cast and this is also what looks to be right when I try to align steady shots to the auto-shot swing timing. If I aim for 1.11 + 0.5 (clipzone) the auto-shot is clipped every so slightly, but if I aim for 1.24 + 0.5 the auto-shot proceeds smoothly.

.go xyz -4913.790000 -1146.120000 501.459000 0 2.823370

zana244 commented 4 months ago

Confirmed by me and other hunters on beta 3, also still present on Internal. Copying info from discord since it is valuable and may help in solving. Also, it applies to Aimed Shot as well (possibly multi-shot too?)

"Could be wrong but isn't steady shot haste being applied only to the cast time but not the "wind up time"? Values almost match. 1/(1+haste/100) + 0.5 ? Steady shot is tech a 1 second cast with the added 0.5 to it. Haste should be applied to the full cast from what I'm reading, including the extra 0.5. "

"Yes! With that change (using the correct haste formula for cast time) your formula works: actual cast time = (base cast time - 0.5 secs) / (1 + haste) + 0.5 secs . This works for steady shot, aimed shot and multi-shot equally well. It doesn't explain why the tooltips state something different. The tooltips probably just display the result from the official GetSpellInfo() function, which returns the wrong values." -- note, the tooltip value is actually the intended cast time.

"Follow up: there is no logarithmic decay in haste after all. I was using the wrong formula for calculating haste. Using the correct formula fixes this to the fourth decimal place. The errors on the fourth decimal place is almost certainly because I cannot access the base casting time except for scanning the weapon tooltip which only has two decimal places.

This doesn't explain why the tooltip casting times differ from the actual casting times of abilities like Steady Shot, Aimed Shot and Multi-shot. The tooltips report the expected value, where haste affects the full casting time, but the actual casting times seem to only benefit from haste for the part of the cast longer than 0.5 secs.

So tooltip casting time = base casting time / (1 + haste) which is what we'd expect. But actual casting time = (base casting time - 0.5) / (1 + haste) + 0.5 is the actual cast time in-game. Example numbers for Steady Shot and Aimed Shot at 20% haste (just Serpents Swiftness, no quiver):"