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

Wearable Sets are calculated differently in different places (affects Rarity Farming) #144

Open
mistaya opened this issue Jul 29, 2022 · 0 comments

Comments

@mistaya
Copy link

mistaya commented Jul 29, 2022

(Full details in my previous reports on discord starting at https://discord.com/channels/732491344970383370/797127275383619604/957269438007218176 and on the forum https://dao.aavegotchi.com/t/wearable-sets-calculation-in-rarity-farming/3878)

When there are several matching wearable sets for a gotchi, the final set chosen is inconsistent in different places.

This affects rarity farming rankings - this is important because the main aavegotchi page in the website can display a different set to the one actually used for the RF leaderboard, misleading owners.

Example: #11267 "569", has "Godlike Stani" set and score 842 on the leaderboard (https://app.aavegotchi.com/leaderboard?page=1), but has the better "Apex Stani" set and score 843 when viewed on its own page (https://app.aavegotchi.com/gotchi/11267).

Final rankings of gotchis can change as a result of the unexpected set, because the chosen set can have a different overall BRS boost, or the set's individual trait boosts can affect the gotchi differently.

I put up my findings here to help explore any issues: https://www.aadventure.io/rf/3/2 (enable the debugging option in the "Advanced table config" to show the extra columns).

Suggested fix:

  • Decide upon an algorithm for picking the best wearable set. This needs to have multiple levels of tiebreaker, with a final fallback that is guaranteed to produce a consistent order.
  • Publish the algorithm, so that community devs can also implement it consistently in their tools.
  • Implement the algorithm in the main website and leaderboard calculations (maybe also fix the core-matic subgraph, or just remove the inaccurate equippedSetID, equippedSetName, withSetsRarityScore properties to avoid misleading community devs).

Example algorithm:

  1. highest total set bonus (BRS plus magnitude of NRG, AGG, SPK, BRN bonuses)
  2. highest number of wearables in the set
  3. index of when the set was added onchain (earliest wins)
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

1 participant