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:
parent
7de3fbb324
commit
b29701782f
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user