Files
kairo/resources/data/boosters/booster.gd
2025-07-15 00:46:55 +02:00

28 lines
629 B
GDScript

extends Resource
class_name Booster
@export var name: String
@export var counts: Dictionary = { "Common": 4, "Rare": 1 }
@export var cards: Array[Card] = []
func draw() -> Array[Card]:
var res: Array[Card] = []
# Group cards by rarity
var rarity_pool: Dictionary = {}
for card in cards:
if not rarity_pool.has(card.rarity):
rarity_pool[card.rarity] = []
rarity_pool[card.rarity].append(card)
# Draw based on rarity count
for rarity in counts.keys():
var count = counts[rarity]
var pool = rarity_pool.get(rarity, [])
for i in range(min(count, pool.size())):
res.append(pool.pick_random())
return res