From 89d1f5b4b75436658375453bf3eb7e1a525dfb59 Mon Sep 17 00:00:00 2001 From: Lexi Quinn Date: Sat, 14 Feb 2026 18:11:00 +1100 Subject: [PATCH] fixed issue #3 --- Scenes/CardPrinter/card_printer.gd | 12 ++---------- Scripts/Resources/card.gd | 7 +++++++ UI/Menus/MainMenu/main_menu.gd | 2 +- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/Scenes/CardPrinter/card_printer.gd b/Scenes/CardPrinter/card_printer.gd index 4301f33..18d2041 100644 --- a/Scenes/CardPrinter/card_printer.gd +++ b/Scenes/CardPrinter/card_printer.gd @@ -13,14 +13,6 @@ func _ready() -> void: button.hover_text = tr("PROMPT_RADIO_INTERACT") -func get_faction_cards(faction: Card.Faction) -> Array[Card]: - var valid_cards: Array[Card] = [] - for card: Card in Data.cards: - if card.faction == faction: - valid_cards.append(card) - return valid_cards - - func generate_rarity() -> int: var weight_total: int = 0 for rarity: String in Data.Rarity: @@ -43,7 +35,7 @@ func randomize_cards(faction: Card.Faction) -> void: var pos_x: float = 0.0 for x: int in cards_to_spawn: var decided_rarity: int = generate_rarity() - var card_choices: Array[Card] = get_faction_cards(faction) + var card_choices: Array[Card] = Card.get_faction_cards(faction) var card_array: Array = [] var cards_chosen: bool = false while !cards_chosen: @@ -76,7 +68,7 @@ func find_cards(faction: Card.Faction, rarity: Data.Rarity, allowed_cards: Array decided_rarity = generate_rarity() var card_choices: Array[Card] = allowed_cards if !card_choices: - card_choices = get_faction_cards(faction) + card_choices = Card.get_faction_cards(faction) var cards: Array[Card] = [] var valid_cards_found: bool = false var testing_rarity: int = decided_rarity diff --git a/Scripts/Resources/card.gd b/Scripts/Resources/card.gd index d466942..7770426 100644 --- a/Scripts/Resources/card.gd +++ b/Scripts/Resources/card.gd @@ -7,6 +7,13 @@ enum Faction { MAGE = 2, } +static func get_faction_cards(faction: Card.Faction) -> Array[Card]: + var valid_cards: Array[Card] = [] + for card: Card in Data.cards: + if card.faction == faction: + valid_cards.append(card) + return valid_cards + @export var cost: int @export var rarity: Data.Rarity @export var faction: Faction diff --git a/UI/Menus/MainMenu/main_menu.gd b/UI/Menus/MainMenu/main_menu.gd index 88d03b8..ad71889 100644 --- a/UI/Menus/MainMenu/main_menu.gd +++ b/UI/Menus/MainMenu/main_menu.gd @@ -157,7 +157,7 @@ func level_selected(level: LevelConfig, side: int) -> void: gamemode.rng_seed = generate_seed() if gamemode.endless else level.game_seed gamemode.daily = false if gamemode.endless: - level.allowed_cards = level.hero_class.deck + level.allowed_cards = Card.get_faction_cards(level.hero_class.faction) level.waves = [] game.level_config = level if !gamemode.multiplayer: