61 lines
1.7 KiB
Python
61 lines
1.7 KiB
Python
from .deck import Deck, Card
|
|
|
|
class ActionDeck(Deck):
|
|
def load_cards(self):
|
|
cards = [ActionCard(name="accelerate", deck=self)] * 3
|
|
cards.extend([ActionCard(name="gun it!", deck=self)] * 2)
|
|
cards.extend([ActionCard(name="brake", deck=self)] * 5)
|
|
cards.extend([ActionCard(name="coast", deck=self)] * 2)
|
|
cards.extend([ActionCard(name="find flow", deck=self)] * 2)
|
|
|
|
return cards
|
|
|
|
class ActionCard(Card):
|
|
def __init__(self, name: str, deck: ActionDeck):
|
|
super().__init__(name, deck)
|
|
self.modifiers = ActionCard.load_modifiers(name)
|
|
|
|
|
|
@classmethod
|
|
def load_modifiers(cls, name):
|
|
if name == "accelerate":
|
|
return dict(
|
|
speed=0.5,
|
|
focus=-1,
|
|
momentum=0.25,
|
|
tire_wear=-0.25,
|
|
car_health=0,
|
|
)
|
|
elif name == "brake":
|
|
return dict(
|
|
speed=-1,
|
|
focus=0,
|
|
momentum=-1,
|
|
tire_wear=0,
|
|
car_health=0,
|
|
)
|
|
elif name == "coast":
|
|
return dict(
|
|
speed=0,
|
|
focus=1,
|
|
momentum=-0.25,
|
|
tire_wear=0,
|
|
car_health=0,
|
|
)
|
|
elif name == "gun it!":
|
|
return dict(
|
|
speed=1,
|
|
focus=-2,
|
|
momentum=0.5,
|
|
tire_wear=-0.5,
|
|
car_health=-0.05,
|
|
)
|
|
elif name == "find flow":
|
|
return dict(
|
|
speed=0,
|
|
focus=4,
|
|
momentum=0,
|
|
tire_wear=-0.5,
|
|
car_health=-0.05,
|
|
)
|