Then wrote the following code in the devtools console:
Array.from(document.querySelectorAll('.flexbox')).map((e=>{ return e.nextElementSibling.innerText*1* Array.from(e.nextElementSibling.nextElementSibling.nextElementSibling.querySelectorAll('.pillbox-item')).filter((f)=>{return !f.classList.contains('disabled')}).length })).reduce((a, b) => a + b, 0)
This basically finds all the sets, extracts the number of cards in each set (including tokens since they are mentioned as their own subset), then goes over to how many languages there are for the card (those that are shown as disabled are not counted) and multiples the card number by that.
It returns 519868 on 14/05/2024 (day/month/year) 12:12 AM UTC time.
I dont know what foil is (Im not an mtg player I basically just liked the art and wanted to look at it)
it says 23,956 so we need to add that to the overall count that returned from the js code.
So 519868 + 23956 = 543824
A cool half mil.
Btw if counting just english cards:
Array.from(document.querySelectorAll('.flexbox')).map((e=>{ return e.nextElementSibling.innerText*1 })).reduce((a, b) => a + b, 0)
returns 100938
So 100938 + 23956 = 124894
I also checked what was the last set for sep 2021 (when this article was released) - it is DMU
So to check that:
Array.from(document.querySelectorAll('.flexbox')).slice(Array.from(document.querySelectorAll('.flexbox')).map((e)=>{return e.innerText}).indexOf('Dominaria United\nDMU'),).map((e=>{ return e.nextElementSibling.innerText*1 })).reduce((a, b) => a + b, 0)
Which returns 82067 - this is slightly lower than the stated 84108 but can likely be accounted for if the other websites out of the 3 stated in this article include the remaining 2041.
Why did I write this long message on a post from 2021 on an obscure subject?
Well I like to solve stuff with code. And I want more people to see how it can solve problems in the real world and how easily it can be done :)
I take umbrage with the number "roughly 49,998". If that's not an exact count, why wouldn't you round it to roughly 50k? I know it's pedantic, but someone had to say it.
Great article. I think you missed that in China you cannot show skeletons so there are Chinese alternate art cards - like these https://squt.tripod.com/error8.html
That was fun, glad I subscribed. I know you love board games from listening to GameScoop, if you wanted to tell us which ones and why you love them, I’d like to read it.
I'm glad that you had done all the hard work for us Justin!! Lovely!
"allow the Blue player to stop anyone else from having any fun". Described all the blue players with perfection!
Cheers! Subscribed!
Just a little Easter Egg to make sure people are reading closely :)
I went to https://scryfall.com/sets
Then wrote the following code in the devtools console:
Array.from(document.querySelectorAll('.flexbox')).map((e=>{ return e.nextElementSibling.innerText*1* Array.from(e.nextElementSibling.nextElementSibling.nextElementSibling.querySelectorAll('.pillbox-item')).filter((f)=>{return !f.classList.contains('disabled')}).length })).reduce((a, b) => a + b, 0)
This basically finds all the sets, extracts the number of cards in each set (including tokens since they are mentioned as their own subset), then goes over to how many languages there are for the card (those that are shown as disabled are not counted) and multiples the card number by that.
It returns 519868 on 14/05/2024 (day/month/year) 12:12 AM UTC time.
I dont know what foil is (Im not an mtg player I basically just liked the art and wanted to look at it)
But from what I understood on scryfall and mtg wiki - these can be counted via going to https://scryfall.com/search?as=grid&order=name&q=%28game%3Apaper%29+is%3Afoil
it says 23,956 so we need to add that to the overall count that returned from the js code.
So 519868 + 23956 = 543824
A cool half mil.
Btw if counting just english cards:
Array.from(document.querySelectorAll('.flexbox')).map((e=>{ return e.nextElementSibling.innerText*1 })).reduce((a, b) => a + b, 0)
returns 100938
So 100938 + 23956 = 124894
I also checked what was the last set for sep 2021 (when this article was released) - it is DMU
So to check that:
Array.from(document.querySelectorAll('.flexbox')).slice(Array.from(document.querySelectorAll('.flexbox')).map((e)=>{return e.innerText}).indexOf('Dominaria United\nDMU'),).map((e=>{ return e.nextElementSibling.innerText*1 })).reduce((a, b) => a + b, 0)
Which returns 82067 - this is slightly lower than the stated 84108 but can likely be accounted for if the other websites out of the 3 stated in this article include the remaining 2041.
Why did I write this long message on a post from 2021 on an obscure subject?
Well I like to solve stuff with code. And I want more people to see how it can solve problems in the real world and how easily it can be done :)
I take umbrage with the number "roughly 49,998". If that's not an exact count, why wouldn't you round it to roughly 50k? I know it's pedantic, but someone had to say it.
Hahaha! On this topic I have no response except "you've got me."
Great article. I think you missed that in China you cannot show skeletons so there are Chinese alternate art cards - like these https://squt.tripod.com/error8.html
Add in the search text used in scryfall, gatherer, etc so we can get the up to date numbers the more this letter gets stale?
That was fun, glad I subscribed. I know you love board games from listening to GameScoop, if you wanted to tell us which ones and why you love them, I’d like to read it.
Thanks Brian! This will be an outlet to get into my favorites and why I find tabletop gaming so compelling, absolutely.