From 91e8ca4955852683a9e37c5d539ba1bab5337517 Mon Sep 17 00:00:00 2001 From: legonzaur Date: Wed, 1 May 2024 11:27:57 +0200 Subject: [PATCH] add linked card property to effects --- src/model/card_loader.py | 26 +++++++++++++++----------- src/model/game.py | 6 +++--- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/src/model/card_loader.py b/src/model/card_loader.py index da4f3bf..4e389be 100644 --- a/src/model/card_loader.py +++ b/src/model/card_loader.py @@ -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( diff --git a/src/model/game.py b/src/model/game.py index a077a9a..7d46584 100644 --- a/src/model/game.py +++ b/src/model/game.py @@ -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