Fix /nick allowing one to avoid nightmares

This commit is contained in:
skizzerz 2015-11-02 20:08:17 -06:00
parent b97085c32a
commit f7777649bf
2 changed files with 9 additions and 0 deletions

View File

@ -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

View File

@ -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)