Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Do not work for SoD epic crafted items #46

Open
Virtual-felix opened this issue Dec 8, 2023 · 5 comments
Open

Do not work for SoD epic crafted items #46

Virtual-felix opened this issue Dec 8, 2023 · 5 comments

Comments

@Virtual-felix
Copy link

Hi, the gear score of the SoD crafted items (i.e 210794) is 6 instead of something which should be way bigger as it is bis items of the phase 1.
Any idea how to debug this ? I can open a PR if you drive me in which file I could fix this.

@gk646
Copy link

gk646 commented Dec 11, 2023

Also doesnt work for the epic staff and i guess other epics from the raid.
All these items have the common attribute that they are new.
I looked through the code a bit but it doesnt seem like it doest a lookup in some kind of database where it wouldnt find these new items.
There is a call to GetItemInfo that could fail (isnt implemented in thise repo), or the calculated GearScore for these itmes is invalid or too big. (But then it defaults to the max value).

@gk646
Copy link

gk646 commented Dec 11, 2023

After doing some calculations and i likely found the issue.

>  ["B"] = {
>         [4] = { ["A"] = 26.0000, ["B"] = 1.2000 },
>         [3] = { ["A"] = 0.7500, ["B"] = 1.8000 },
>         [2] = { ["A"] = 8.0000, ["B"] = 2.0000 },
>         [1] = { ["A"] = 0.0000, ["B"] = 2.2500 }
>     }
>     

from gearscore.lua

These are some values that are defined for formulas and indexed on rarity.
The formula for a base gearscore is: (itemlevel -A) / B

For rarities other than 4 (epic) these values are small. But for epics its 26 where the item level for epics is 30 (for raid dropped ones).
This will result in a very small base gearscore that is then just scaled with a few multipliers.

For exapmle a level 26 rare 2 handed weapon has 52 GS. A epic level 30 2 handed weapon has 12GS.

At second thought this does make sense as the lowest epics in vanilla would be around level 60.

I guess you could just scale it with a MAX_LEVEL modifier that you update based on the active season.
The problem is that this repo hasnt been updated in a long time and most people already use it and wont switch to a fork probably.

Ill submit a PR for this later.

@gk646
Copy link

gk646 commented Dec 11, 2023

I see a couple fixes:
Change the formula for epic items to A = 0 and B = 1.8
This will make the calculation level agnostic and provides similar values to the original gearscore for items in the range of 73-93 (normal vanilla).
This change however will be applied to all useres of the classic version not only SoD.

A problem is that likely SoD and Classic era are on the same game version as they are started from the same client, thus you cant make another game version if else (like the ones already exisiting for tbc or wotlk).
One fix could be to scale the value only if the player level is 25 as most people will be max level in SoD.
This would then have to be changed every new phase.

@blaadje
Copy link

blaadje commented Jan 7, 2024

Hey guys ! Any news on that ?
For instance this item https://www.wowhead.com/classic/item=209534/azshari-arbalest#comments does not have any GS

image vs image (which is not correct as well I guess)
This is quite problematic as it lowers the gs & lot of ppl are counting on gs to recruit for raids :/

Thanks !

@gk646
Copy link

gk646 commented Jan 8, 2024

Yes,
I made a new addon from scratch that already repllicates the gearscore featureset.
Ill plan to add more and other features in the future.

https://github.com/gk646/GearScoreClassic
https://www.curseforge.com/wow/addons/gearscoreclassic

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

No branches or pull requests

3 participants