From b29701782f331ba0fddad26b6cfef17a679bb948 Mon Sep 17 00:00:00 2001 From: skizzerz Date: Thu, 14 Jan 2016 01:08:49 -0600 Subject: [PATCH] Maelstrom fixes - Correctly assign random roles upon game start - Let people know if they're villager/cultist or whatever even on nights 2 and beyond --- src/gamemodes.py | 1 + src/settings.py | 1 + src/wolfgame.py | 3 ++- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gamemodes.py b/src/gamemodes.py index 3df18bf..71f10ab 100644 --- a/src/gamemodes.py +++ b/src/gamemodes.py @@ -1053,6 +1053,7 @@ class MaelstromMode(GameMode): super().__init__(arg) self.LOVER_WINS_WITH_FOOL = True self.MAD_SCIENTIST_SKIPS_DEAD_PLAYERS = 0 # always make it happen + self.ALWAYS_PM_ROLE = True def startup(self): events.add_listener("role_attribution", self.role_attribution) diff --git a/src/settings.py b/src/settings.py index c9b0019..05ed28b 100644 --- a/src/settings.py +++ b/src/settings.py @@ -58,6 +58,7 @@ PART_STASIS_PENALTY = 1 ACC_STASIS_PENALTY = 1 QUIET_DEAD_PLAYERS = False DEVOICE_DURING_NIGHT = False +ALWAYS_PM_ROLE = False QUIET_MODE = "q" # "q" or "b" QUIET_PREFIX = "" # "" or "~q:" # The bot will automatically toggle those modes of people joining diff --git a/src/wolfgame.py b/src/wolfgame.py index 0bf5ed0..581ef3e 100644 --- a/src/wolfgame.py +++ b/src/wolfgame.py @@ -7124,7 +7124,7 @@ def transition_night(cli): else: pm(cli, priest, messages["priest_simple"]) - if var.FIRST_NIGHT: + if var.FIRST_NIGHT or var.ALWAYS_PM_ROLE: for mm in var.ROLES["matchmaker"]: pl = ps[:] random.shuffle(pl) @@ -7354,6 +7354,7 @@ def start(cli, nick, chan, forced = False, restart = ""): event = Event("role_attribution", {"addroles": addroles}) if event.dispatch(cli, chk_win_conditions, var, villagers): + addroles = event.data["addroles"] for index in range(len(var.ROLE_INDEX) - 1, -1, -1): if var.ROLE_INDEX[index] <= len(villagers): for role, num in var.ROLE_GUIDE.items(): # allow event to override some roles