From 5cf86473e657371f775cef60ede0c4ca49808847 Mon Sep 17 00:00:00 2001 From: skizzerz Date: Thu, 24 Jul 2014 20:28:30 -0500 Subject: [PATCH] Expand the roles game mode to allow setting the default role and role reveal. Note that default role should always be either villager or cultist --- settings/wolfgame.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/settings/wolfgame.py b/settings/wolfgame.py index 1d4284c..4301343 100644 --- a/settings/wolfgame.py +++ b/settings/wolfgame.py @@ -251,9 +251,21 @@ class ChangedRolesMode(object): raise InvalidModeException("Invalid syntax for mode roles. arg={0}".format(arg)) role, num = change try: - num = int(num) if role.lower() in self.ROLE_GUIDE: - self.ROLE_GUIDE[role.lower()] = tuple([num] * len(ROLE_INDEX)) + self.ROLE_GUIDE[role.lower()] = tuple([int(num)] * len(ROLE_INDEX)) + elif role.lower() == "default" and num.lower() in self.ROLE_GUIDE: + if num.lower() == "villager" or num.lower() == "cultist": + self.DEFAULT_ROLE = num.lower() + else: + raise InvalidModeException("The default role must be either \u0002villager\u0002 or \u0002cultist\u0002.") + elif role.lower() == "role reveal" or role.lower() == "reveal roles": + num = num.lower() + if num == "on" or num == "true" or num == "yes" or num == "1": + self.ROLE_REVEAL = True + elif num == "off" or num == "false" or num == "no" or num == "0": + self.ROLE_REVEAL = False + else: + raise InvalidModeException("Did not recognize value \u0002{0}\u0002 for role reveal.".format(num)) else: raise InvalidModeException(("The role \u0002{0}\u0002 "+ "is not valid.").format(role))