From f7777649bf60787439fd583b20d9c02caf726440 Mon Sep 17 00:00:00 2001 From: skizzerz Date: Mon, 2 Nov 2015 20:08:17 -0600 Subject: [PATCH] Fix /nick allowing one to avoid nightmares --- src/gamemodes.py | 6 ++++++ src/wolfgame.py | 3 +++ 2 files changed, 9 insertions(+) diff --git a/src/gamemodes.py b/src/gamemodes.py index 6f1dca0..b87f2d7 100644 --- a/src/gamemodes.py +++ b/src/gamemodes.py @@ -771,6 +771,7 @@ class SleepyMode(GameMode): events.add_listener("chk_nightdone", self.prolong_night) events.add_listener("transition_day_begin", self.nightmare_kill) events.add_listener("del_player", self.happy_fun_times) + events.add_listener("rename_player", self.rename_player) self.north_cmd = decorators.cmd("north", "n", chan=False, pm=True, playing=True, phases=("night",))(self.north) self.east_cmd = decorators.cmd("east", "e", chan=False, pm=True, playing=True, phases=("night",))(self.east) self.south_cmd = decorators.cmd("south", "s", chan=False, pm=True, playing=True, phases=("night",))(self.south) @@ -783,6 +784,7 @@ class SleepyMode(GameMode): events.remove_listener("chk_nightdone", self.prolong_night) events.remove_listener("transition_day_begin", self.nightmare_kill) events.remove_listener("del_player", self.happy_fun_times) + events.remove_listener("rename_player", self.rename_player) def remove_command(name, command): if len(decorators.COMMANDS[name]) > 1: decorators.COMMANDS[name].remove(command) @@ -811,6 +813,10 @@ class SleepyMode(GameMode): else: self.having_nightmare = None + def rename_player(self, cli, var, prefix, nick): + if self.having_nightmare == prefix: + self.having_nightmare = nick + def do_nightmare(self, cli, var, target, night): if var.PHASE != "night" or var.NIGHT_COUNT != night: return diff --git a/src/wolfgame.py b/src/wolfgame.py index ecf5ebc..c78bc6f 100644 --- a/src/wolfgame.py +++ b/src/wolfgame.py @@ -3463,6 +3463,9 @@ def rename_player(cli, prefix, nick): var.ENTRANCED.remove(prefix) var.ENTRANCED.add(nick) + event = Event("rename_player", {}) + event.dispatch(cli, var, prefix, nick) + if prefix in var.list_players(): r = var.ROLES[var.get_role(prefix)] r.add(nick)