working updates

This commit is contained in:
2026-01-26 16:14:57 -05:00
parent b1e99fa952
commit c8228f200d
8055 changed files with 142307 additions and 867 deletions

View File

@@ -166,7 +166,15 @@ func get_card_texture(card: CardData) -> Texture2D:
if card.image_path.is_empty():
return null
var texture_path = "res://assets/cards/" + card.image_path
# Try source-cards directory first (primary location for card images)
var texture_path = "res://source-cards/" + card.image_path
if ResourceLoader.exists(texture_path):
var texture = load(texture_path)
_card_textures[card.id] = texture
return texture
# Fallback to assets/cards directory
texture_path = "res://assets/cards/" + card.image_path
if ResourceLoader.exists(texture_path):
var texture = load(texture_path)
_card_textures[card.id] = texture
@@ -175,25 +183,53 @@ func get_card_texture(card: CardData) -> Texture2D:
return null
## Create a list of card IDs for a deck (for testing)
func create_test_deck(_player_index: int) -> Array[String]:
## Player 0 gets Fire/Ice deck, Player 1 gets Wind/Lightning deck
func create_test_deck(player_index: int) -> Array[String]:
var deck: Array[String] = []
# Get all cards and create a 50-card deck
var all_cards = get_all_cards()
# Define element pairs for each player
var primary_element: Enums.Element
var secondary_element: Enums.Element
# Add 3 copies of each card until we have 50
for card in all_cards:
if deck.size() >= 50:
break
# Add up to 3 copies
if player_index == 0:
primary_element = Enums.Element.FIRE
secondary_element = Enums.Element.ICE
else:
primary_element = Enums.Element.WIND
secondary_element = Enums.Element.LIGHTNING
# Get cards by element
var primary_cards = get_cards_by_element(primary_element)
var secondary_cards = get_cards_by_element(secondary_element)
# Add 3 copies of each primary element card
for card in primary_cards:
for i in range(3):
if deck.size() >= 50:
break
deck.append(card.id)
if deck.size() < 50:
deck.append(card.id)
# Fill remaining slots if needed
while deck.size() < 50 and all_cards.size() > 0:
deck.append(all_cards[0].id)
# Add 3 copies of each secondary element card
for card in secondary_cards:
for i in range(3):
if deck.size() < 50:
deck.append(card.id)
# If we still need cards, add from Earth/Water
if deck.size() < 50:
var filler_element = Enums.Element.EARTH if player_index == 0 else Enums.Element.WATER
var filler_cards = get_cards_by_element(filler_element)
for card in filler_cards:
for i in range(3):
if deck.size() < 50:
deck.append(card.id)
# Final fallback: add any cards
if deck.size() < 50:
var all_cards = get_all_cards()
for card in all_cards:
for i in range(3):
if deck.size() < 50:
deck.append(card.id)
return deck