bang/characters.py
2020-11-16 21:00:52 +01:00

113 lines
2.8 KiB
Python

from abc import ABC, abstractmethod
class Character(ABC):
def __init__(self, name: str, max_lives: int, sight_mod: int = 0, visibility_mod: int = 0, pick_mod: int = 0):
super().__init__()
self.name = name
self.max_lives = max_lives
self.sight_mod = 0
self.visibility_mod = 0
self.pick_mod = 0
# @abstractmethod
# def on_hurt(self, dmg: int):
# pass
# @abstractmethod
# def on_pick(self, card): # tipo dinamite e prigione
# pass
# @abstractmethod
# def on_empty_hand(self):
# pass
# @abstractmethod
# def on_empty_hand(self):
# pass
class BartCassidy(Character):
def __init__(self):
super().__init__("Bart Cassidy", max_lives=4)
def on_hurt(self, dmg):
pass
class BlackJack(Character):
def __init__(self):
super().__init__("Black Jack", max_lives=4)
class CalamityJanet(Character):
def __init__(self):
super().__init__("Calamity Janet", max_lives=4)
class ElGringo(Character):
def __init__(self):
super().__init__("El Gringo", max_lives=3)
class JesseJones(Character):
def __init__(self):
super().__init__("Jesse Jones", max_lives=4)
class Jourdonnais(Character):
def __init__(self):
super().__init__("Jourdonnais", max_lives=4)
class KitCarlson(Character):
def __init__(self):
super().__init__("Kit Carlson", max_lives=4)
class LuckyDuke(Character):
def __init__(self):
super().__init__("Lucky Duke", max_lives=4, pick_mod=1)
class PaulRegret(Character):
def __init__(self):
super().__init__("Paul Regret", max_lives=3)
class PedroRamirez(Character):
def __init__(self):
super().__init__("Pedro Ramirez", max_lives=4)
class RoseDoolan(Character):
def __init__(self):
super().__init__("Rose Doolan", max_lives=4)
class SidKetchum(Character):
def __init__(self):
super().__init__("Sid Ketchum", max_lives=4)
class SlabTheKiller(Character):
def __init__(self):
super().__init__("Slab The Killer", max_lives=4)
class SuzyLafayette(Character):
def __init__(self):
super().__init__("Suzy Lafayette", max_lives=4)
class VultureSam(Character):
def __init__(self):
super().__init__("Vulture Sam", max_lives=4)
class WillyTheKid(Character):
def __init__(self):
super().__init__("Willy The Kid", max_lives=4)
def all_characters():
return [
BartCassidy(),
BlackJack(),
CalamityJanet(),
ElGringo(),
JesseJones(),
Jourdonnais(),
KitCarlson(),
LuckyDuke(),
PaulRegret(),
PedroRamirez(),
RoseDoolan(),
SidKetchum(),
SlabTheKiller(),
SuzyLafayette(),
VultureSam(),
WillyTheKid(),
]