question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Proposal: storing booster generation instructions on the set info

See original GitHub issue

In mtgjson, most sets have the boosterV3 property, which is an array of rarities. Let’s see, for example: Shards of Alara

"boosterV3": [
  [
    "rare",
    "mythic rare"
  ],
  "uncommon",
  "uncommon",
  "uncommon",
  "common",
  "common",
  "common",
  "common",
  "common",
  "common",
  "common",
  "common",
  "common",
  "common",
  "land",
  "marketing"
]

This does not reflect at all how boosters should be generated. I think better format for that. I looked around, for example, mtggen uses this format to generate packs: https://github.com/copperdogma/mtgen/blob/master/mtgen/wwwroot/ala/packs.json. That may be too unterse, but is readable.

They way I see it, it would be better to create a gen property in set, and that should hold the values needed to create a booster. That is a proposal on how to do it.

"booster" : [
  1,
  [
    1,
    "mythic rare",
    7,
    "rare"
  ],
  3,
  "uncommon",
  9,
  "common",
  1,
  [
    1,
    "foil",
    5,
    "common"
  ],
  "land",
  1,
  "marketing"  
]

and, also, the foil distribution, since this is a post Time Spiral set:

"foilDistribution" : {
  "land": 8,
  "common": 88,
  "uncommon": 24,
  "rare": 7,
  "mythic rare": 1
}

And maybe even some additional description, pointing to the source of the info.

“description” : “That’s the set that debuted the mythic rare rarity https://magic.wizards.com/en/articles/archive/making-magic/year-living-changerously-2008-06-02

This gen property could be further extended to collect info about Tournament Packs, wal-mart boosters, and so on. Also, some cards “rarity” value does not reflect at all how they collate into the pack. Island is a “common”, on that set, that value does not reflect on how it is collated on a booster pack. So, Island, in that set, should have a “genRarity” : “land” property. That property should be optional, used only for cards that have a genRarity different from the displayed rarity. The land genRarity alone should help in issues like Modern Horizons having a snow land for each pack, or Guilds of Ravnica having a guildgate on each pack.

I know that it is a ton of work, but, that’s not an edge case, or a special rule. That’s the way usual boosters work since Alara.

Afterwards, it can be used to tackle the madness that is the Alliances rarity system https://mtg.gamepedia.com/Talk:Alliances It would also help with cards that have special rarities, like masterpieces, zendikar expeditions, power 9 in vintage masters, timeshifted cards, and so on.


Related:

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:44 (24 by maintainers)

github_iconTop GitHub Comments

1reaction
tawcommented, Jun 14, 2019

Sets like Fallen Empires, Homelands, Alliances and Chronicles, these sets have multiple cards in a rarity on a sheet, and often have card variants that further complicate things.

Those sets are actually 100% known, Wizards back then provided official information about that, you can check them out.

The commons are actually split onto two sheets where there are actually a handful of cards that printed more frequently. Which ones? We have no idea.

Wizards has certain rules about color variance in a pack, and rumor has it number of creatures and non-creature spells.

So what actually happens is that collation is done by hand. It includes color, estimated power level etc.

For a few sets we have full print sheets, but mostly we don’t. It’s just a limitation of what we have, we don’t make up fake data here.

The commons are actually split onto two sheets where there are actually a handful of cards that printed more frequently. Which ones? We have no idea.

There’s crazy amount of information here, if anyone really cared.

Your “weird sets” example is starting to become the norm. Wizards can now set rules on how boosters are made, like a Planeswalker in every pack. (It’s unknown enough that MaRo has guessed himself how it works.)

It’s still just a few sets, and it’s not clear if it’s really going to become common. It’s not even that we can’t figure it out, just that those special sets aren’t a priority.

And we can always ask for this information.

MTGJSON is a resource that is delivering factual information, not guesses.

We do a lot of guessing already. Like what’s with our rarity field really? Or releaseDate? Or format legality (Chinese standard where). It’s all a spectrum.

1reaction
ancestralcommented, Jun 14, 2019

Here’s my take:

I don’t like guessing.

MTGJSON is a resource with factual information.

If you want to build a booster generator, don’t put it in this project.

If the data can’t be sourced reliably, then it shouldn’t be captured.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Vaccine Storage and Handling Toolkit | CDC
Refrigerator or freezer thermostats should be set at the factory-set or midpoint temperature, which will decrease the likelihood of temperature ...
Read more >
Sales proposal template - Pipedrive
A good proposal can win over prospective clients and boost sales. ... A template will help your sales team save time in the...
Read more >
National COVID-19 Preparedness Plan | The White House
This plan lays out the roadmap to help us fight COVID-19 in the future as we ... and invests in the next generation...
Read more >
View or change cellular data settings on iPad (Wi-Fi + Cellular ...
If you previously set up a cellular plan, go to Settings > Cellular, tap Add a New Plan, then follow the onscreen instructions....
Read more >
Calls for Proposals - CEPI
CEPI runs Calls for Proposals, inviting research teams, vaccine developers, and others from around the world to apply to our scientific programmes to ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found