tukui-org / ElvUI

User Interface replacement AddOn for World of Warcraft.
https://tukui.org
Other
402 stars 138 forks source link

[Feature Request] <Cooldown Text - Round Mode: Ceil/Floor > #1043

Closed FlareStarrr closed 10 months ago

FlareStarrr commented 10 months ago

Is your feature request related to a problem? Please describe. Cooldown text cannot round to ceil.

Describe the solution you'd like A dropdown menu to choose round mode.

Describe alternatives you've considered N/A

Additional context A dropdown menu like this in Weakaura: image

FlareStarrr commented 10 months ago

In the default configuration of ElvUI, the cooldown text is displayed in decimal form when the cooldown time is below 3 seconds. However, for the sake of simplicity, I have chosen to only display whole numbers. This decision led to another issue: the cooldown timer rounds down to "0" when the remaining time is less than 1 second, which can be counterintuitive.

In real life, we often count down as "3...2...1...GO!" When we hear "1," it signifies that only 1 second remains, and we usually initiate our action upon hearing the signal that follows "1."

Now, returning to the problem of rounding down in the game, the intuitive expectation is that when the cooldown timer displays "1," it means the spell has 1 second of cooldown time left. However, in reality, "1" signifies 1.99 seconds remaining, and "0" means 0.99 seconds left. This is precisely why rounding down (floor) feels counterintuitive, and it would be beneficial to have an option to round up (ceil) instead.

Azilroka commented 10 months ago

This is only an issue because you are displaying whole numbers like you said. We don't actually round in cooldowns. So in order to implement your request we would have to add distinct option for any and all cooldowns. Ceil, Floor, Round and Normal. 4 x 7 distinct settings groups.. Probably around 24 files that have to be changed as well.

I'd say this is probably a niche case and is more suitable for a plugin.

Flamanis commented 10 months ago

You're confusing two different operations. Rounding and Truncating. You are forcing truncation to happen, not rounding. You are removing significant digits from your cooldown text, so you are losing information by doing so. This is not really the fault of the addon, it's just how it works. As far as the addon is concerned it is still counting down correctly. You've just decided not to show all of the information.

As Azil said, it'd be a lot of work for such a niche use case. I personally don't see a reason for this in elvui. It's doubtful it would be used that often.

FlareStarrr commented 10 months ago

You're confusing two different operations. Rounding and Truncating. You are forcing truncation to happen, not rounding. You are removing significant digits from your cooldown text, so you are losing information by doing so. This is not really the fault of the addon, it's just how it works. As far as the addon is concerned it is still counting down correctly. You've just decided not to show all of the information.

As Azil said, it'd be a lot of work for such a niche use case. I personally don't see a reason for this in elvui. It's doubtful it would be used that often.

I'm not confusing rounding and truncating. I truncated significant digits but the cooldown text is unable to round up, so it resulted in the same outcome as rounding down, but thanks for your clarification. That said, I did not say it's the fault of addon; if there's an option for rounding up, the addon is still counting down correctly, and the cooldown text will be more intuitive to people like me.

I appreciate the work involved in ElvUI, which makes my WoW experience much better, and I understand that limited efforts need to be made in worthy places. In fact, if the Weakaura developers had not included the option to round up, I would have had to get used to cooldown times displayed with decimal digits under 3s threshold or whole numbers rounding down. Fortunately, Weakaura did have that option, which greatly improved my comfort with cooldown text formatting.