From fd9a2e586a4e6652bae6b3c7cb966b9d01d46ed8 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Sun, 4 Dec 2016 19:32:40 +0100 Subject: [PATCH] Added new role: Derek --- main.py | 34 +++++++++++++++++++++++++++++++++- strings.py | 24 +++++++++++++++++++++++- 2 files changed, 56 insertions(+), 2 deletions(-) diff --git a/main.py b/main.py index 1ceb872..9375eaf 100644 --- a/main.py +++ b/main.py @@ -205,7 +205,39 @@ class Terrorista(Role): selectedplayer.kill(bot, game) -rolepriority = [Mifioso, Investigatore, Angelo, Terrorista] +class Derek(Role): + """Derek muore. Quando gli pare.""" + icon = s.derek_icon + team = "Good" + name = s.derek_name + powerdesc = s.derek_power_description + + def __init__(self): + # Per qualche motivo assurdo ho deciso di tenere l'oggetto Player qui + self.deathwish = None + + def __repr__(self) -> str: + r = "" + return r + + def power(self, bot, game, player, arg): + # Attiva / disattiva la morte alla fine del round + if self.deathwish is not None: + self.deathwish = None + player.message(bot, s.derek_deathwish_unset) + else: + self.deathwish = player + player.message(bot, s.derek_deathwish_set) + + def onendday(self, bot, game): + if self.deathwish is not None: + game.message(bot, s.derek_deathwish_successful.format(icon=s.derek_icon, + role=s.derek_name, + name=self.deathwish.tusername)) + self.deathwish.kill() + + +rolepriority = [Mifioso, Investigatore, Angelo, Derek, Terrorista] class Player: diff --git a/strings.py b/strings.py index 6a97617..9154127 100644 --- a/strings.py +++ b/strings.py @@ -28,7 +28,7 @@ mifia_target_protected = "@{target} è stato protetto dalla Mifia da {icon} @{pr mifia_power_description = "Puoi selezionare come bersaglio di un'assassinio una personas.\n" \ "Per selezionare un bersaglio, scrivi in questa chat:\n" \ "`/power {gamename} nomeutentebersaglio`\n" \ - "Alla fine del giorno, tutti i bersagli dei Mifiosi saranno eliminati!" + "Alla fine del giorno, tutti i bersagli dei Mifiosi saranno eliminati!\n" # Investigatore: icona detective_icon = "\U0001F575" @@ -80,6 +80,28 @@ terrorist_kaboom = "Boom! Il terrorista si è fatto esplodere prima che poteste terrorist_target_killed = "Boom! @{target} è esploso!\n" \ "Era un *{icon} {role}*." +# Derek: icona +derek_icon = "\U0001F635" + +# Derek: nome ruolo +derek_name = "Derek" + +# Derek: descrizione del potere +derek_power_description = "Puoi decidere di suicidarti alla fine di un round.\n" \ + "Potresti farlo per confondere le idee ai Royal, o per ragequittare malissimo.\n" \ + "Sta a te la scelta.\n" \ + "Per lasciare questo mondo alla fine del giorno, scrivi in questa chat:\n" \ + "`/power {gamename}`\n" + +# Derek: morte attivata +derek_deathwish_set = "*Morirai* alla fine di questo giorno." + +# Derek: morte disattivata +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" + # Generale: ruolo assegnato role_assigned = "Ti è stato assegnato il ruolo di *{icon} {name}*."