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
This commit is contained in:
skizzerz 2016-01-14 01:08:49 -06:00
parent 7de3fbb324
commit b29701782f
3 changed files with 4 additions and 1 deletions

View File

@ -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)

View File

@ -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

View File

@ -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