1
Fork 0
mirror of https://github.com/RYGhub/royal-mifia.git synced 2024-11-25 07:04:18 +00:00

Configurable miss chance

This commit is contained in:
Steffo 2016-12-06 23:00:27 +01:00
parent 235f2f1bcd
commit 9afa8bc711

23
main.py
View file

@ -329,6 +329,7 @@ class Game:
self.roleconfig = dict() # Dizionario con le quantità di ruoli da aggiungere self.roleconfig = dict() # Dizionario con le quantità di ruoli da aggiungere
self.votingmifia = False # Seguire le regole originali della mifia che vota? self.votingmifia = False # Seguire le regole originali della mifia che vota?
self.missingmifia = False # La mifia può fallire un'uccisione self.missingmifia = False # La mifia può fallire un'uccisione
self.misschance = 5 # Percentuale di fallimento di un'uccisione
# Liste di ruoli in gioco, per velocizzare gli endday # Liste di ruoli in gioco, per velocizzare gli endday
self.playersinrole = dict() self.playersinrole = dict()
@ -494,7 +495,7 @@ class Game:
killed = killlist.pop() killed = killlist.pop()
if killed.alive: if killed.alive:
if killed.protectedby is None: if killed.protectedby is None:
if self.missingmifia and random.randrange(1, 20) < 2: if self.missingmifia and random.randrange(0, 100) < self.misschance:
# Colpo mancato # Colpo mancato
self.message(bot, s.mifia_target_missed.format(target=killed.tusername)) self.message(bot, s.mifia_target_missed.format(target=killed.tusername))
else: else:
@ -745,20 +746,36 @@ def config(bot, update):
elif game.configstep == 6: elif game.configstep == 6:
if cmd[1].lower() == 'testa': if cmd[1].lower() == 'testa':
game.votingmifia = False game.votingmifia = False
game.endconfig(bot) game.configstep += 1
game.message(bot, s.config_list[game.configstep])
elif cmd[1].lower() == 'unica': elif cmd[1].lower() == 'unica':
game.votingmifia = True game.votingmifia = True
game.configstep += 1 game.configstep += 1
game.message(bot, s.config_list[game.configstep])
else: else:
game.message(bot, s.error_invalid_config) game.message(bot, s.error_invalid_config)
elif game.configstep == 7: elif game.configstep == 7:
if cmd[1].lower() == 'perfette': if cmd[1].lower() == 'perfette':
game.missingmifia = False game.missingmifia = False
game.configstep += 1
game.message(bot, s.config_list[game.configstep])
elif cmd[1].lower() == 'mancare': elif cmd[1].lower() == 'mancare':
game.missingmifia = True game.missingmifia = True
game.endconfig(bot) game.configstep += 1
game.message(bot, s.config_list[game.configstep])
else: else:
game.message(bot, s.error_invalid_config) game.message(bot, s.error_invalid_config)
elif game.configstep == 8:
try:
miss = int(cmd[1])
except ValueError:
game.message(bot, s.error_invalid_config)
else:
if miss < 100:
game.misschance = miss
else:
game.misschance = 100
game.endconfig(bot)
else: else:
game.message(bot, s.config_list[game.configstep]) game.message(bot, s.config_list[game.configstep])
else: else: