diff --git a/src/settings.py b/src/settings.py index c65ebf0..c688f68 100644 --- a/src/settings.py +++ b/src/settings.py @@ -782,8 +782,9 @@ class RandomMode(GameMode): def teardown(self): events.remove_listener("role_attribution", self.role_attribution, 1) - def role_attribution(self, evt, cli, var, villagers, addroles): + def role_attribution(self, evt, cli, var, villagers): lpl = len(villagers) - 1 + addroles = evt.data["addroles"] for role in var.ROLE_GUIDE: addroles[role] = 0 diff --git a/src/wolfgame.py b/src/wolfgame.py index 30f8dd8..c327d64 100644 --- a/src/wolfgame.py +++ b/src/wolfgame.py @@ -5946,8 +5946,8 @@ def start(cli, nick, chan, forced = False, restart = ""): addroles = {} - event = Event("role_attribution", {}) - if event.dispatch(cli, var, villagers, addroles): + event = Event("role_attribution", {"addroles": addroles}) + if event.dispatch(cli, var, villagers): for index in range(len(var.ROLE_INDEX) - 1, -1, -1): if var.ROLE_INDEX[index] <= len(villagers): addroles.update({k:v[index] for k,v in var.ROLE_GUIDE.items()}) @@ -5957,8 +5957,8 @@ def start(cli, nick, chan, forced = False, restart = ""): return if var.ORIGINAL_SETTINGS and not restart: # Custom settings - event = Event("roles_check", {}) - if event.dispatch(var, addroles): + event = Event("roles_check", {"addroles": addroles}) + if event.dispatch(var): need_reset = True wvs = sum(addroles[r] for r in var.WOLFCHAT_ROLES) if len(villagers) < (sum(addroles.values()) - sum(addroles[r] for r in var.TEMPLATE_RESTRICTIONS.keys())):