From fa578a0905847819148f80f7d0050cdaa43a19c6 Mon Sep 17 00:00:00 2001 From: skizzerz Date: Thu, 7 Dec 2017 10:03:11 -0600 Subject: [PATCH] Add missing events to piper We needed a swap_player and night_acted listener. Should probably throw common listeners into skel.py... --- src/roles/piper.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/roles/piper.py b/src/roles/piper.py index 29f1e6a..3897378 100644 --- a/src/roles/piper.py +++ b/src/roles/piper.py @@ -188,6 +188,11 @@ def on_exchange(evt, var, actor, target, actor_role, target_role): def on_get_special(evt, var): evt.data["special"].update(get_players(("piper",))) +@event_listener("night_acted") +def on_acted(evt, var, target, spy): + if target in TOBECHARMED: + evt.data["acted"] = True + @event_listener("reset") def on_reset(evt, var): CHARMED.clear() @@ -198,4 +203,18 @@ def on_revealroles(evt, var, wrapper): if CHARMED: evt.data["output"].append("\u0002charmed players\u0002: {0}".format(", ".join(p.nick for p in CHARMED))) +@event_listener("swap_player") +def on_swap_player(evt, var, old, new): + if old in CHARMED: + CHARMED.remove(old) + CHARMED.add(new) + + if old in TOBECHARMED: + TOBECHARMED[new] = TOBECHARMED.pop(old) + + for s in TOBECHARMED.values(): + if old in s: + s.remove(old) + s.add(new) + # vim: set sw=4 expandtab: