Welcome back!
In the last post, we talked about wagons and the CP cost needed to guarantee an airdrop.
🚨 Conclave Arcana Conflicts: Land, Wagons, and Airdrops—Let’s Go!
Don’t want to read? Just show me the site already? 😂
👉 https://splinterlands-card-distribution.streamlit.app/
A Quick Chat with Azircon...
In the comments of that post, @azircon and I had a quick chat about CP distribution and rarity. Later that day, he hit me up with a DM:
“Is it possible to extract total CP of all RB cards and total CP of all CA cards?”
I immediately knew where this was going... another ratio incoming 🤣
But hey, it was the perfect excuse to dust off the old Card Distribution app I built a while back.
Why I Built It
Back in the day... I wanted to compare how many Chaos Legion soulbound rewards had been burned/unlocked versus other editions. So I fired the app back up — and guess what? Still running like a champ 💪
Added Conclave cards? ✅
Add CP calculations for RB and CA, directly wanted it todo for all edition 😎
But Then The CP Pain Started...
You’d think adding CP would be simple — just multiply BCX by CP, right? Yeah... no.
Let me walk you through the chaos (pun intended) that is XP/BCX/CP across different editions.
Each edition handles things a little differently:
- BCX counts vary per card edition.
- Reward cards different editions as well.
- Promo cards? Oh boy. Sometimes they follow their own rules entirely (Untamed Promo's).
If anyone has a cleaner way to calculate CP, I’m all ears. Here's how I’m doing it currently:
cp_per_bcx = [
[5, 125, 625], # Common, Rare, Epic, Legendary for Regular, Gold, Black
[20, 500, 2500],
[100, 2500, 12500],
[500, 12500, 62500]
]
CP_MULTIPLIERS = {
'gladius': {'Regular': 6, 'Gold': 12},
'untamed': {'Regular': 2, 'Gold': 4},
'untamed_promo': {'Regular': 6, 'Gold': 12},
'alpha': {'Regular': 6, 'Gold': 12},
'beta': {'Regular': 3, 'Gold': 6}
}
def get_multiplier(row, foil_type):
if row['edition'] >= 7 or row['tier'] > 4:
return 1
elif row['edition'] == 6:
return CP_MULTIPLIERS['gladius'][foil_type]
elif row['edition'] == 4 or row['tier'] == 4:
return CP_MULTIPLIERS['untamed'][foil_type]
elif row['tier'] == 3:
return CP_MULTIPLIERS['untamed_promo'][foil_type]
elif row['edition'] == 0 or (row['edition'] == 2 and row['card_detail_id'] < 100):
return CP_MULTIPLIERS['alpha'][foil_type]
else:
return CP_MULTIPLIERS['beta'][foil_type]
def calculate_cp(row):
foil_type = 'Regular' if row['foil'] == 0 else ('Gold' if row['foil'] == 1 else 'Black')
rarity_index = row['rarity'] - 1
cp = cp_per_bcx[rarity_index][['Regular', 'Gold', 'Black'].index(foil_type)]
multiplier = get_multiplier(row, foil_type)
return cp * row['bcx'] * multiplier
def add_cp(df):
df['cp'] = df.apply(calculate_cp, axis=1)
return df
Let’s just say... get_multiplier() is not my proudest work 😅
What You’ll Find on the Site Now
The app was originally built to show card distributions by edition.
But now it’s so much more!
The features it currently has to offer:
- Total Card Distribution (Global overview per edition)
- Detailed Card Distribution (Selectable edition with more detailed information)
- Burned BCX (the amount that is burned per edition)
- CP Distribution (NEW)
- Total CP per edition
- CP breakdown per rarity
- CP breakdown per foil type
My favorite part:
Detailed Card Distribution, The soulbound unlock tracker!
Perfect timing too — we’re getting closer to the Rebellion soulbound unlock phase. No date yet, but it was hinted at during a Town Hall.
Check out this preview:
Crazy that we’re still at 20x cost to unlock and people are still going hard on it!
CP Distribution (NEW)
Total CP per edition:
Nice to see the that Conclave already has more CP then rebellion (one of the main reasons why the need CP for airdrop card is higher
Total CP per edition per rarity:
Total CP per edition and foil type (Regular / Gold / Gold Arcane / Black Foil/ Black Foil Arcane)
For the Data Geeks (aka @azircon 😄)
With the raw CP data now exposed, you can:
- Do your ratios
- Plot fancy charts
- Make magic happen
Have fun with it!
Open Source Goodness
This project is, and always will be, open source.
Wanna peek behind the curtain or double-check my math (please do, I’m human 😆)?
🔗 GitHub: https://github.com/gamerbeaker007/spl-streamlit
🔗 Live App: https://splinterlands-card-distribution.streamlit.app/
I’ll see you on the battlefield! 🧙♂️⚔️
Do you also want to be part of this amazing play to earn game consider using my referral link.
This is very helpful. I will have to clear my Friday to make plots!! :)
Looking forward to your post 😁
oooooooo! more stats thanks you :)
Beta promo cp is weird too :)
They have twice the core / reward beta cp.
Thanks, i had to check, but indeed... and i missed that in the code so fixed now 🤣
Thanks for sharing! - @azircon

#hive
Congratulations @beaker007! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s)
Your next target is to reach 2000 comments.
You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word
STOP