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

Changed the gearscore formula for epic items to be level agnostic -> FIX for SoD #49

Closed
wants to merge 2 commits into from
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion gearscore.lua
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ local GS_Formula = {
[2] = { ["A"] = 73.0000, ["B"] = 1.0000 }
},
["B"] = {
[4] = { ["A"] = 26.0000, ["B"] = 1.2000 },
[4] = { ["A"] = 0.0000, ["B"] = 1.8000 },
Copy link

@saqirmdevx saqirmdevx Dec 11, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any reason why there is not constant calculation and then quality is multiplied by the quality factor? This whole calculation is kinda nonsense.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I kinda thought the same. You can squish the values a bit which i guess was wanted for epics.
But you already have the to formulas based on item level above or below 120.

Just having a factor based on rarity * slot modifier * item level is fine.
Thats all you can do really if you dont wanna start getting into stat points for each specs.

Copy link

@saqirmdevx saqirmdevx Dec 12, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As Hotfix, it looks good however I see that ItemLevel 90 results in a lower gear score because the 2nd value is higher. It should be adjusted to hit the gear score for epics as close as possible to the old calculation with ItemLevel 120, maybe adjust the B constant to like 1.6. Epics should be a significant boost to GS at level 25.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I noticed that for all item locations ("INVTYPE_HAND", "INVTYPE_HEAD", etc.), the GS assigned to an epic quality item is negative for all item-levels less than 26. Example:

INVTYPE_HAND

Without speculating on what these lower-level epics should have for GS, another simple short-term solution could be to just translate the GS values returned by TT_GS.GetItemScore upward, as to remove this region.

The downside to doing a broad translation is that epic items beyond item-level 120 would be affected as well. Assuming the preservation of the current GS of items with item-level > 120 is desired, a good approach would be to shift the lower end of the item-level range and do it by a variable amount. For an item with item-level $n$, $$GS_{adjusted} = GS_{ilvl=n} - GS_{ilvl=1} * (1-\frac{ilvl-1}{119})$$

Where $GS_{ilvl=n}$ is the score as currently computed and $GS_{ilvl=1}$ is an item's score as if it had an item-level of 1.

This looks like:

INVTYPE_HAND_broad

This doesn't dramatically change the gearscores, but you would otherwise need to define some value(s) that amplify scores and I'm not sure what that value should be.

[3] = { ["A"] = 0.7500, ["B"] = 1.8000 },
[2] = { ["A"] = 8.0000, ["B"] = 2.0000 },
[1] = { ["A"] = 0.0000, ["B"] = 2.2500 }
Expand Down