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 return cards
def create_card(card: CardParser, effects: List[Effect]) -> Card: def create_card(card_parser: CardParser) -> tuple[Card, list[Effect], list[Effect]]:
return Card( card_effects, all_effects = create_card_effects(card_parser)
card_id=card.id, card = Card(
card_type=card.card_type, card_id=card_parser.id,
cost=card.cost, card_type=card_parser.card_type,
effects=effects, cost=card_parser.cost,
faction=card.faction, effects=card_effects,
name=card.name, faction=card_parser.faction,
name=card_parser.name,
sprite="spritetest", sprite="spritetest",
guard=card.guard, guard=card_parser.guard,
defense=card.defense, defense=card_parser.defense,
card_role=card.role, card_role=card_parser.role,
) )
for e in all_effects:
e.card = card
return card, all_effects
def create_card_effects( def create_card_effects(
+3 -3
View File
@@ -47,11 +47,11 @@ class Game(Serializable):
await self.distribute_market_cards() await self.distribute_market_cards()
async def instanciate_card(self, card_parser: CardParser) -> Card: async def instanciate_card(self, card_parser: CardParser) -> Card:
effects, card_effects = create_card_effects(card_parser) card, all_effects = create_card(card_parser)
for e in card_effects: for e in all_effects:
self.effects.append(e) self.effects.append(e)
await self.notify_controller("create", e.serialize()) await self.notify_controller("create", e.serialize())
card = create_card(card_parser, effects)
self.cards.append(card) self.cards.append(card)
await self.notify_controller("create", card.serialize()) await self.notify_controller("create", card.serialize())
return card return card