wardz / DRList-1.0

[WoW] Library for providing player diminishing returns categorization.
16 stars 10 forks source link

[BUG]: DR Timers are not displaying the max value, players are getting tricked #13

Closed ManneN1 closed 1 year ago

ManneN1 commented 1 year ago

What happened?

On Classic/TBC/WotLK:

  1. Use any spell which induces DR
  2. Wait for the DR tracked by this library to end.
  3. Use any spell which induces the same DR category as (1)
  4. DR will sometimes not have reset

Is there any errors?

No

Game Version

The Burning Crusade Classic, Wrath of the Lich King, Classic Era

Game Language

English

Any additional info?

The problem is that the DR has been set to 19 seconds (https://github.com/wardz/DRList-1.0/blob/master/DRList-1.0/DRList-1.0.lua#L154), instead of the actual max of 20 seconds.

This is causing players to get tricked, causing myths that DR is actually wrong in Classic WotLK, and isn't actually 15-20 but more like 15-21 due to errors on Blizzards part - when in fact it's at least partly due to a config choice in DRList (not saying the myth isn't true, but many "claims" are just a DR timer configured below the max threshold).

My suggestion is to set the default DR duration value in the DRList library to the actual max of 20 seconds, thereby players would never get tricked into believing the DR is over when it is in fact not, and they would instead only be able to knowingly gamble on using CC early.

This change would, for the average player who is unaware of details related to AddOns and how DR works, remove completely unexplainable randomness.

Note: Yes, I am aware that individual AddOns can go in and hi-jack the DRList lib, changing the DR duration value by themselves. However, I don't think this is an optimal solution as it will cause different combinations of loaded AddOns to show different DR timers (and they could also interfere with eachother, each trying to set the duration to something different).

wardz commented 1 year ago

Yeah fair enough, already been slowly bumping it up over the years anyways so 1 sec extra wont hurt now.

Changed it now, but most popular addons like sArena/Gladdy for Wrath use their own values though so I doubt it will change much for the average player. This library doesn't actually track any DR's, its just a spellID database.

vendethiel commented 1 year ago

Changed it now, but most popular addons like sArena/Gladdy for Wrath use their own values though so I doubt it will change much for the average player.

It's used as-is in GladiusEx. Certainly less popular for wrath, but there are still some users :-).

ManneN1 commented 1 year ago

Yeah fair enough, already been slowly bumping it up over the years anyways so 1 sec extra wont hurt now.

Changed it now, but most popular addons like sArena/Gladdy for Wrath use their own values though so I doubt it will change much for the average player.

Great to hear.

I'm not sure exactly how these AddOns are implementing this (using their own values or overwiting the library value), but if they're overwriting the library value think that should be frowned upon as it will interfere with other AddOns using it (proposal would then be to change the __newindex function as to not allow the key to be updated).

Also, many (most?) players who use sArena/Gladdy still don't configure it (well), so even if there is a slider - as long as the slider is at 18/19 by default it'll keep tricking people.

Thanks for the speedy response!

wardz commented 1 year ago

but if they're overwriting the library value think that should be frowned upon as it will interfere with other AddOns using it (proposal would then be to change the __newindex function as to not allow the key to be updated).

nah, Gladdy just uses its own local variable set to 18 by default, nothing is overwritten. sArena doesn't use DRList at all and is also set to 18 by default since this was the average number used for years. Idk why blizzard havent just changed it to static 18s like on retail, might aswell. They already reverted spell batching, heartbeat effect and so on.