From 60c7131217511c514ae203ddcc105179ed3d629d Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Mon, 5 Dec 2016 18:56:10 +0100 Subject: [PATCH] New role: Disastro (#39) * Aggiunto un detective pasticcione TODO: AGGIORNA LE STRINGHE O NON VA NIENTE * Finito il detective disastroso --- main.py | 44 +++++++++++++++++++++++++++++++++++++++++++- strings.py | 10 ++++++++++ 2 files changed, 53 insertions(+), 1 deletion(-) diff --git a/main.py b/main.py index 0a4b46f..00a660b 100644 --- a/main.py +++ b/main.py @@ -237,7 +237,49 @@ class Derek(Role): self.deathwish.kill(bot, game) -rolepriority = [Mifioso, Investigatore, Angelo, Derek, Terrorista] +class Disastro(Role): + """L'investigatore sbadato investiga, ma giunge a conclusioni sbagliate...""" + icon = s.detective_icon + team = 'Good' + name = s.detective_name + powerdesc = s.detective_power_description + refillpoweruses = 1 + + def __init__(self): + super().__init__() + self.poweruses = self.refillpoweruses + + def __repr__(self) -> str: + r = "".format(uses=self.poweruses) + return r + + def power(self, bot, game, player, arg): + # Indaga sul vero ruolo di una persona, se sono ancora disponibili usi del potere. + if self.poweruses > 0: + target = game.findplayerbyusername(arg) + if target is not None: + self.poweruses -= 1 + randomrole = random.sample(rolepriority, 1)[0] + player.message(bot, s.detective_discovery.format(target=target.tusername, + icon=randomrole.role.icon, + role=randomrole.role.name, + left=self.poweruses)) + else: + player.message(bot, s.error_username) + else: + player.message(bot, s.error_no_uses) + + def onendday(self, bot, game): + # Ripristina il potere + self.poweruses = self.refillpoweruses + + def ondeath(self, bot, game, player): + game.message(bot, s.disaster_revealed.format(icon=s.disaster_icon, + role=s.disaster_name, + name=player.tusername)) + + +rolepriority = [Mifioso, Investigatore, Disastro, Angelo, Derek, Terrorista, Royal] class Player: diff --git a/strings.py b/strings.py index f1ac9d1..570e403 100644 --- a/strings.py +++ b/strings.py @@ -102,6 +102,16 @@ derek_deathwish_unset = "*Vivrai* per morire un altro giorno." # Derek: morte derek_deathwish_successful = "SPOILER: alla fine di questa giornata {icon} {role} (@{name}) muore.\n" +# Disastro: icona +disaster_icon = "\U0001F913" + +# Disastro: nome ruolo +disaster_name = "Disastro" + +# Disastro: rivelato +disaster_revealed = "In realtà, @{name} era un *{icon} {role}* a ricoprire il suo ruolo...\n" \ + "Le informazioni che ha ottenuto erano false!" + # Generale: ruolo assegnato role_assigned = "Ti è stato assegnato il ruolo di *{icon} {name}*."