diff --git a/main.py b/main.py index 521045d..fafb191 100644 --- a/main.py +++ b/main.py @@ -370,46 +370,15 @@ class Game: "Vigilante": 0 } while True: - if unassignedplayers > 1: - self.roleconfig["Mifioso"] += 1 + for role in [Mifioso, Investigatore, Corrotto, Angelo, Terrorista, Derek, Disastro, Mamma, Stagista, Vigilante]: + if unassignedplayers > 0: + self.roleconfig[role.__name__] += 1 + unassignedplayers -= 1 + else: + break else: - break - if unassignedplayers > 1: - self.roleconfig["Investigatore"] += 1 - else: - break - if unassignedplayers > 1: - self.roleconfig["Corrotto"] += 1 - else: - break - if unassignedplayers > 1: - self.roleconfig["Angelo"] += 1 - else: - break - if unassignedplayers > 1: - self.roleconfig["Terrorista"] += 1 - else: - break - if unassignedplayers > 1: - self.roleconfig["Derek"] += 1 - else: - break - if unassignedplayers > 1: - self.roleconfig["Disastro"] += 1 - else: - break - if unassignedplayers > 1: - self.roleconfig["Mamma"] += 1 - else: - break - if unassignedplayers > 1: - self.roleconfig["Stagista"] += 1 - else: - break - if unassignedplayers > 1: - self.roleconfig["Vigilante"] += 1 - else: - break + continue + break self.votingmifia = False self.message(s.preset_oneofall_selected) self.endconfig() @@ -910,6 +879,10 @@ def inlinekeyboard(bot: Bot, update): bot.editMessageReplyMarkup(game.groupid, game.votemsg.message_id, reply_markup=keyboard) +def breakpoint_here(*args, **kwargs): + pass + + updater.dispatcher.add_handler(CommandHandler('ping', ping)) updater.dispatcher.add_handler(CommandHandler('newgame', newgame)) updater.dispatcher.add_handler(CommandHandler('join', join)) @@ -927,6 +900,7 @@ updater.dispatcher.add_handler(CommandHandler('load', load)) updater.dispatcher.add_handler(CommandHandler('delete', delete)) updater.dispatcher.add_handler(CommandHandler('debugchangerole', debugchangerole)) updater.dispatcher.add_handler(CallbackQueryHandler(inlinekeyboard)) +updater.dispatcher.add_error_handler(breakpoint_here) if __name__ == "__main__": updater.start_polling() diff --git a/roles/Disastro.py b/roles/Disastro.py index 8c7d5f7..03fd88e 100644 --- a/roles/Disastro.py +++ b/roles/Disastro.py @@ -30,13 +30,13 @@ class Disastro(Role): # Utilizza il potere su quella persona self.power_was_used = True # Tira per investigare - target = random.randrange(0, 25) + 1 + target_score = random.randrange(0, 25) + 1 score = random.randrange(0, 100) + 1 - if score < target: + if score < target_score: role = target.role.name else: role = self.player.game.getrandomrole().name - self.player.message(s.detective_discovery.format(target_score=100-target, target=target.tusername, icon=target.role.icon, role=role)) + self.player.message(s.detective_discovery.format(target_score=100-target_score, target=target.tusername, icon=target.role.icon, role=role)) def onendday(self): # Ripristina il potere diff --git a/roles/Investigatore.py b/roles/Investigatore.py index 9e6373a..6183e6b 100644 --- a/roles/Investigatore.py +++ b/roles/Investigatore.py @@ -30,13 +30,13 @@ class Investigatore(Role): # Utilizza il potere su quella persona self.power_was_used = True # Tira per investigare - target = random.randrange(0, 25) + 1 + target_score = random.randrange(0, 25) + 1 score = random.randrange(0, 100) + 1 - if score > target: + if score > target_score: role = target.role.name else: role = self.player.game.getrandomrole().name - self.player.message(s.detective_discovery.format(target_score=100-target, target=target.tusername, icon=target.role.icon, role=role)) + self.player.message(s.detective_discovery.format(target_score=100-target_score, target=target.tusername, icon=target.role.icon, role=role)) def onendday(self): # Ripristina il potere diff --git a/strings.py b/strings.py index cbe98bf..695196c 100644 --- a/strings.py +++ b/strings.py @@ -45,7 +45,7 @@ detective_discovery = "Sei sicuro al *{target_score}%* che @{target} sia un *{ic # Investigatore: descrizione del potere detective_power_description = "Puoi provare a scoprire il ruolo di una persona ogni giorno.\n" \ - "Non è garantito che l'investigazione abbia successo, ma la probabilità è piuttosto alta e ti verrà annunciata." \ + "Non è garantito che l'investigazione abbia successo, ma la probabilità è piuttosto alta e ti verrà annunciata.\n" \ "Per indagare su qualcuno, scrivi in questa chat:\n" \ "`/power {gamename} nomeutentebersaglio`\n" @@ -203,8 +203,10 @@ vigilante_name = "Vigilante" vigilante_icon = "🤠" # Vigilante: descrizione potere -vigilante_power_description = "In un qualsiasi momento della partita puoi scegliere una persona da uccidere anonimamente ignorando le votazioni.\n" \ - "Fai attenzione a non uccidere un tuo alleato Royal: sei in squadra con loro!" +vigilante_power_description = "Puoi scegliere una persona da uccidere anonimamente alla fine della giornata.\n" \ + "Fai attenzione a non uccidere un tuo alleato Royal: sei in squadra con loro!\n" \ + "Per uccidere qualcuno, scrivi in questa chat:\n" \ + "`/power {gamename} nomeutentebersaglio`" # Vigilante: bersaglio scelto vigilante_target_selected = "Stai puntando la tua pistola contro @{target}."