diff --git a/src/roles/_mystic_helper.py b/src/roles/_mystic_helper.py index 0c7435a..6b21b84 100644 --- a/src/roles/_mystic_helper.py +++ b/src/roles/_mystic_helper.py @@ -21,7 +21,7 @@ def setup_variables(rolename, *, send_role, types): @event_listener("transition_night_end") def on_transition_night_end(evt, var): - villagers = set(get_players(("priest", "doctor"))) + villagers = set(get_players(("doctor",))) win_stealers = set(get_players(("fool", "monster", "demoniac"))) neutrals = set(get_players(("jester",))) diff --git a/src/roles/priest.py b/src/roles/priest.py index 23fe155..5f05182 100644 --- a/src/roles/priest.py +++ b/src/roles/priest.py @@ -30,7 +30,7 @@ def bless(var, wrapper, message): if not evt.dispatch(var, wrapper.source, target): return - PRIESTS.add(nick) + PRIESTS.add(wrapper.source) var.ROLES["blessed villager"].add(target) wrapper.pm(messages["blessed_success"]) target.send(messages["blessed_notify_target"]) @@ -46,7 +46,7 @@ def consecrate(var, wrapper, message): return dead = set(var.ALL_PLAYERS) - set(alive) - target = users.complete_match(targ, dead) + target, _ = users.complete_match(targ, dead) if target is None: wrapper.pm(messages["consecrate_fail"].format(targ)) return @@ -66,6 +66,14 @@ def consecrate(var, wrapper, message): from src.wolfgame import chk_win chk_win() +@event_listener("transition_night_end") +def on_transition_night_end(evt, var): + for priest in get_all_players(("priest",)): + if priest.prefers_simple(): + priest.send(messages["priest_simple"]) + else: + priest.send(messages["priest_notify"]) + @event_listener("del_player") def on_del_player(evt, var, player, mainrole, allroles, death_triggers): CONSECRATING.discard(player) @@ -86,6 +94,10 @@ def on_abstain(evt, var, user): user.send(messages["consecrating_no_vote"]) evt.prevent_default = True +@event_listener("get_special") +def on_get_special(evt, var): + evt.data["villagers"].update(get_players(("priest",))) + @event_listener("transition_night_begin") def on_transition_night_begin(evt, var): CONSECRATING.clear() diff --git a/src/roles/vengefulghost.py b/src/roles/vengefulghost.py index 6c3b4c8..41bf0a7 100644 --- a/src/roles/vengefulghost.py +++ b/src/roles/vengefulghost.py @@ -70,7 +70,7 @@ def on_get_participants(evt, var): @event_listener("consecrate") def on_consecrate(evt, var, actor, target): if target in GHOSTS: - var.SILENCED.add(target) + var.SILENCED.add(target.nick) @event_listener("player_win", priority=1) def on_player_win(evt, var, user, role, winner, survived): diff --git a/src/wolfgame.py b/src/wolfgame.py index a14a1f6..f77146d 100644 --- a/src/wolfgame.py +++ b/src/wolfgame.py @@ -4282,12 +4282,6 @@ def transition_night(): else: lycan.send(messages["lycan_notify"]) - for priest in get_all_players(("priest",)): - if priest.prefers_simple(): - priest.send(messages["priest_simple"]) - else: - priest.send(messages["priest_notify"]) - for g in var.GUNNERS: if g not in ps: continue