add linked card property to effects

This commit is contained in:
2024-05-01 11:27:57 +02:00
parent 3a6bb5ccfc
commit 91e8ca4955
2 changed files with 18 additions and 14 deletions
+15 -11
View File
@@ -27,19 +27,23 @@ def load_cards() -> List[CardParser]:
return cards
def create_card(card: CardParser, effects: List[Effect]) -> Card:
return Card(
card_id=card.id,
card_type=card.card_type,
cost=card.cost,
effects=effects,
faction=card.faction,
name=card.name,
def create_card(card_parser: CardParser) -> tuple[Card, list[Effect], list[Effect]]:
card_effects, all_effects = create_card_effects(card_parser)
card = Card(
card_id=card_parser.id,
card_type=card_parser.card_type,
cost=card_parser.cost,
effects=card_effects,
faction=card_parser.faction,
name=card_parser.name,
sprite="spritetest",
guard=card.guard,
defense=card.defense,
card_role=card.role,
guard=card_parser.guard,
defense=card_parser.defense,
card_role=card_parser.role,
)
for e in all_effects:
e.card = card
return card, all_effects
def create_card_effects(
+3 -3
View File
@@ -47,11 +47,11 @@ class Game(Serializable):
await self.distribute_market_cards()
async def instanciate_card(self, card_parser: CardParser) -> Card:
effects, card_effects = create_card_effects(card_parser)
for e in card_effects:
card, all_effects = create_card(card_parser)
for e in all_effects:
self.effects.append(e)
await self.notify_controller("create", e.serialize())
card = create_card(card_parser, effects)
self.cards.append(card)
await self.notify_controller("create", card.serialize())
return card