Hey everyone! ![]()
Got a question about those pull rates on the website?
You’re not alone!
We’ve been seeing this pop up a lot, so I wanted to clear things up once and for all! ![]()
Huge thanks to Marcel!
He shared the code with us, and I’ve tried my best to break it down below.
It’s a bit technical, so bear with me! ![]()
Basically, those percentages you see are calculated based on… ![]()
. ![]()
If anyone’s got a super-simple way to explain this, please jump in!
I’d love to update this post so we can finally put this question to rest!
Let’s keep the forum clean and focused on those epic deck builds! ![]()
![]()
Thanks, and happy pulling! ![]()
![]()
Let me break down how the card pull probabilities work in this game’s code in a way that’s easy to understand.
Basic Card Structure
The game has several card expansions (like “Genetic Apex”, “Mythical Island”, etc.), each with different booster packs. Cards have different rarity levels represented by diamond symbols (◊) and star symbols (☆).
How Pull Probabilities Work
The code calculates two main things:
- Your chance to get any new card you don’t own yet from a pack
- Your chance to get a specific card from a pack
Rarity Probability Tables
There are three probability tables based on how many cards you draw:
- First 3 cards in a pack (
probabilityPerRarity1_3):
- Only common cards (◊) at 100% chance
- All other rarities: 0%
- 4th card (
probabilityPerRarity4):
- ◊◊ (Uncommon): 90%
- ◊◊◊ (Rare): 5%
- ◊◊◊◊ (Super Rare): 1.666%
- ☆ (Holo Rare): 2.572%
- ☆☆ (Ultra Rare): 0.5%
- ☆☆☆ (Secret Rare): 0.222%
- Crown Rare: 0.04%
- 5th card (
probabilityPerRarity5):
- Higher chances for rare cards
- ◊◊: 60%
- ◊◊◊: 20%
- ◊◊◊◊: 6.664%
- ☆: 10.288%
- ☆☆: 2%
- ☆☆☆: 0.888%
- Crown Rare: 0.16%
The Calculation Process
When you open a pack, here’s what happens:
- First 3 cards: Always common cards (◊)
- 4th card: Rolls against the
probabilityPerRarity4table - 5th card: Rolls against the
probabilityPerRarity5table
For each rarity tier, the chance is divided by how many cards exist in that rarity. For example, if there are 10 ◊◊◊ cards, each has a 5%/10 = 0.5% chance in the 4th slot.
Key Functions Explained
pullRate()- Calculates your chance to get any new card you don’t own:
- Checks which cards you’re missing from the pack
- For each missing card, calculates its probability based on rarity and how many cards share that rarity
- Combines the probabilities across all 5 card slots
pullRateForSpecificCard()- Calculates chance for one particular card:
- Looks at the card’s rarity
- Divides the rarity probability by number of cards with same rarity
- Combines probabilities across all 5 card slots
Example Scenario
Let’s say you want a specific ☆☆ (Ultra Rare) card:
- There are 5 ☆☆ cards in the pack
- 4th slot chance: 0.5% total for ☆☆, so 0.5%/5 = 0.1% per card
- 5th slot chance: 2% total for ☆☆, so 2%/5 = 0.4% per card
- Total chance = 0.1% + 0.4% - 0.1% × 0.4% = 0,4996% = 1 - (1-0.001) × (1-0.004) per pack as @user484 corrected below.
Things to Note
- The “everypack” contains cards available in all packs of that expansion
- Some cards are “promo” and have different rules
- Certain rare cards can’t be traded or sold
- The system accounts for cards you already own when calculating your chances