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

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

gk646
Copy link

@gk646 gk646 commented Dec 11, 2023

This is an easy but major change. This will change the gearscore of all epic items below level 120 but is adjusted to result in a close value.
I did some calculations for new and old gearscore for 2 handed weapons and the classic modifier:

  • Level 30:
    • Old GearScore: 12.41
    • New GearScore: 62.06
  • Level 45:
    • Old GearScore: 58.96
    • New GearScore: 93.09
  • Level 60:
    • Old GearScore: 105.50
    • New GearScore: 124.12
  • Level 90:
    • Old GearScore: 198.59
    • New GearScore: 186.18

The issue: #46

will change the gearscore of all epic items below level 120 but is
adjusted to result in a close value
@gk646 gk646 changed the title Changed the gearscore formula for epic items to be level agnostic -> FIX for SoD Changed the gearscore formula for epic items to be level agnostic -> FIX for SoD #46 Dec 11, 2023
@gk646 gk646 changed the title Changed the gearscore formula for epic items to be level agnostic -> FIX for SoD #46 Changed the gearscore formula for epic items to be level agnostic -> FIX for SoD Dec 11, 2023
gearscore.lua Outdated
@@ -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

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

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.

the original gearscore for itemlevel ranges 70-90
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

Successfully merging this pull request may close these issues.

None yet

3 participants