class Shogun(Role): name = 'shogun' is_yandere = False default_alignment = Alignment.good abilities = [ ability.KillAbility(num_uses=math.inf, phases=[Phase.night]), ability.VoteKillAbility(num_uses=math.inf, phases=[Phase.day], command_public=True), ]
class Myth(Role): name = 'myth' is_yandere = False default_alignment = Alignment.neutral abilities = [ ability.KillAbility(num_uses=math.inf, phases=[Phase.day]), ability.VoteKillAbility(num_uses=math.inf, phases=[Phase.day], command_public=True), ]
class Ronin(Role): name = 'ronin' is_yandere = False default_alignment = Alignment.good abilities = [ ability.KillAbility(num_uses=1, phases=[Phase.day]), ability.VoteKillAbility(num_uses=math.inf, phases=[Phase.day], command_public=True), ] upgrades = [Samurai],
class YandereRonin(Role): name = 'yandere ronin' is_yandere = True default_alignment = Alignment.evil abilities = [ ability.KillAbility(num_uses=1, phases=[Phase.day]), ability.VoteKillAbility(num_uses=math.inf, phases=[Phase.night]), ability.VoteKillAbility(num_uses=math.inf, phases=[Phase.day], command_public=True), ] safe_to_guard = False