jjallaire / draftpod

Draft simulator for Magic the Gathering
https://draftpod.org
MIT License
36 stars 7 forks source link

Proposed Changes to Draftpod for accuracy with newer sets, especially Strixhaven #78

Closed Optidox closed 3 years ago

Optidox commented 3 years ago

I want to submit a pull request to fix a few issues with the website.

Currently, Draftpod has a number of issues with its treatment of Lessons.

  1. Rare slot allows lessons
  2. Lesson slot allows uncommons
  3. Lesson slot ratios are copied from Mystical Archives

Sources for why these are issues : (wizards article, Tweet from Mike Turian).

I've also gone and reverse engineered the correct ratios by taking a public data set of 8647 sealed pools (STX Bo1 Sealed Game Data), cleaning it (removing duplicate draft_ids, unnecessary data), and then comparing rarities while taking into account the above information. These ratios were the result: image

I'm proposing to update the set-stx.js file with changes to fix these issues and implement my ratios, since I believe them to be accurate within a fairly small margin due to sample size (and certainly better than a blind guess). I also may go incorporate the Sealed Bo3 dataset for ~25% larger sample size.

Also of note, the 1/8 chance of a mythic rare in the rare slot (as coded in the packRareSlot function in card-filters.js) is only true for sets up to Zendikar Rising. For ZNR and later sets, the chance is 1/7.4 (source). I'm happy to implement a change reflecting that, although I would appreciate feedback on how that might be done elegantly, since I'm not very familiar with the overall codebase for the project and how one might pass around set information cleanly.

Thank you for your time and this excellent website you've developed.

jjallaire commented 3 years ago

This all sounds great! Yes, you should be able to get the lesson part done via changes to set-stx.js.

The mythic rare ratio should be part of the set definition. Let me think on exactly how to do that (you can go ahead and submit the PR for STX, I'll probably just implement the dynamic mythic ratio)