Clean up var.illegal_joins during !start, fix related !join bug
This patch fixes a bug in !join that caused new entries to be created in the var.illegal_joins dictionary for every joining player because of a missing check to see if the player's cloak is in the dictionary at all. It also adds logic to !start to remove entries from the var.illegal_joins dict if they currently have a value of 0, since these entries are no longer relevant. These changes together make !eval var.illegal_joins far more useful for getting a list of *just* stasised players.
This commit is contained in:
parent
b0eb5c9f3d
commit
339a63fe33
@ -383,7 +383,7 @@ def join(cli, nick, chann_, rest):
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
cloak = var.USERS[nick]['cloak']
|
cloak = var.USERS[nick]['cloak']
|
||||||
if cloak is not None and var.illegal_joins[cloak] > 0:
|
if cloak is not None and cloak in var.illegal_joins and var.illegal_joins[cloak] > 0:
|
||||||
cli.notice(nick, "Sorry, but you are in stasis for {0} games.".format(var.illegal_joins[cloak]))
|
cli.notice(nick, "Sorry, but you are in stasis for {0} games.".format(var.illegal_joins[cloak]))
|
||||||
return
|
return
|
||||||
except KeyError:
|
except KeyError:
|
||||||
@ -2447,9 +2447,11 @@ def start(cli, nick, chann_, rest):
|
|||||||
else:
|
else:
|
||||||
transition_day(cli)
|
transition_day(cli)
|
||||||
|
|
||||||
for cloak in var.illegal_joins:
|
for cloak in list(var.illegal_joins.keys()):
|
||||||
if var.illegal_joins[cloak] != 0:
|
if var.illegal_joins[cloak] != 0:
|
||||||
var.illegal_joins[cloak] -= 1
|
var.illegal_joins[cloak] -= 1
|
||||||
|
else:
|
||||||
|
del var.illegal_joins[cloak]
|
||||||
|
|
||||||
# DEATH TO IDLERS!
|
# DEATH TO IDLERS!
|
||||||
reapertimer = threading.Thread(None, reaper, args=(cli,var.GAME_ID))
|
reapertimer = threading.Thread(None, reaper, args=(cli,var.GAME_ID))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user