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