Properly delete users from UserDict instances
This commit is contained in:
parent
f78d538146
commit
f9712e026f
@ -58,12 +58,12 @@ def on_exchange(evt, var, actor, target, actor_role, target_role):
|
||||
if actor_role == "doomsayer" and target_role != "doomsayer":
|
||||
SEEN.discard(actor)
|
||||
for name, mapping in _mappings:
|
||||
mapping.pop(actor, None)
|
||||
del mapping[:actor:]
|
||||
|
||||
elif target_role == "doomsayer" and actor_role != "doomsayer":
|
||||
SEEN.discard(target)
|
||||
for name, mapping in _mappings:
|
||||
mapping.pop(target, None)
|
||||
del mapping[:target:]
|
||||
|
||||
@event_listener("del_player")
|
||||
def on_del_player(evt, var, user, mainrole, allroles, death_triggers):
|
||||
|
@ -42,7 +42,8 @@ def dullahan_kill(var, wrapper, message):
|
||||
@command("retract", "r", chan=False, pm=True, playing=True, phases=("night",), roles=("dullahan",))
|
||||
def dullahan_retract(var, wrapper, message):
|
||||
"""Removes a dullahan's kill selection."""
|
||||
if KILLS.pop(wrapper.source, None):
|
||||
if wrapper.source in KILLS:
|
||||
del KILLS[wrapper.source]
|
||||
wrapper.pm(messages["retracted_kill"])
|
||||
debuglog("{0} (dullahan) RETRACT".format(wrapper.source))
|
||||
|
||||
|
@ -142,7 +142,7 @@ def on_get_special(evt, var):
|
||||
def on_del_player(evt, var, user, mainrole, allroles, death_triggers):
|
||||
if "harlot" not in allroles:
|
||||
return
|
||||
VISITED.pop(user, None)
|
||||
del VISITED[:user:]
|
||||
PASSED.discard(user)
|
||||
|
||||
@event_listener("reset")
|
||||
|
@ -71,7 +71,7 @@ def hunter_pass(var, wrapper, message):
|
||||
def on_del_player(evt, var, user, mainrole, allroles, death_triggers):
|
||||
HUNTERS.discard(user)
|
||||
PASSED.discard(user)
|
||||
KILLS.pop(user, None)
|
||||
del KILLS[:user:]
|
||||
for h, v in list(KILLS.items()):
|
||||
if v is user:
|
||||
HUNTERS.discard(h)
|
||||
@ -98,8 +98,8 @@ def on_transition_day(evt, var):
|
||||
|
||||
@event_listener("exchange_roles")
|
||||
def on_exchange(evt, var, actor, target, actor_role, target_role):
|
||||
KILLS.pop(actor, None)
|
||||
KILLS.pop(target, None)
|
||||
del KILLS[:actor:]
|
||||
del KILLS[:target:]
|
||||
HUNTERS.discard(actor)
|
||||
HUNTERS.discard(target)
|
||||
PASSED.discard(actor)
|
||||
|
Loading…
Reference in New Issue
Block a user