Fix for mode-reset lag.
Moved mode resets to a separate method so it can be called separately. This allows it to be performed before disk I/O at the end of a game.
This commit is contained in:
parent
879ea90ab1
commit
aaba54baa2
@ -160,6 +160,14 @@ def reset_settings():
|
|||||||
setattr(var, attr, var.ORIGINAL_SETTINGS[attr])
|
setattr(var, attr, var.ORIGINAL_SETTINGS[attr])
|
||||||
dict.clear(var.ORIGINAL_SETTINGS)
|
dict.clear(var.ORIGINAL_SETTINGS)
|
||||||
|
|
||||||
|
def reset_modes(cli):
|
||||||
|
cli.mode(chan, "-m")
|
||||||
|
cmodes = []
|
||||||
|
for plr in var.list_players():
|
||||||
|
cmodes.append(("-v", plr))
|
||||||
|
for deadguy in var.DEAD:
|
||||||
|
cmodes.append(("-q", deadguy+"!*@*"))
|
||||||
|
mass_mode(cli, cmodes)
|
||||||
|
|
||||||
def reset(cli):
|
def reset(cli):
|
||||||
chan = botconfig.CHANNEL
|
chan = botconfig.CHANNEL
|
||||||
@ -171,13 +179,6 @@ def reset(cli):
|
|||||||
|
|
||||||
var.GAME_ID = 0
|
var.GAME_ID = 0
|
||||||
|
|
||||||
cli.mode(chan, "-m")
|
|
||||||
cmodes = []
|
|
||||||
for plr in var.list_players():
|
|
||||||
cmodes.append(("-v", plr))
|
|
||||||
for deadguy in var.DEAD:
|
|
||||||
cmodes.append(("-q", deadguy+"!*@*"))
|
|
||||||
mass_mode(cli, cmodes)
|
|
||||||
var.DEAD = []
|
var.DEAD = []
|
||||||
|
|
||||||
var.ROLES = {"person" : []}
|
var.ROLES = {"person" : []}
|
||||||
@ -207,6 +208,7 @@ def forced_exit(cli, nick, *rest): # Admin Only
|
|||||||
if var.PHASE in ("day", "night"):
|
if var.PHASE in ("day", "night"):
|
||||||
stop_game(cli)
|
stop_game(cli)
|
||||||
else:
|
else:
|
||||||
|
reset_modes(cli)
|
||||||
reset(cli)
|
reset(cli)
|
||||||
|
|
||||||
cli.quit("Forced quit from "+nick)
|
cli.quit("Forced quit from "+nick)
|
||||||
@ -221,6 +223,7 @@ def restart_program(cli, nick, *rest):
|
|||||||
if var.PHASE in ("day", "night"):
|
if var.PHASE in ("day", "night"):
|
||||||
stop_game(cli)
|
stop_game(cli)
|
||||||
else:
|
else:
|
||||||
|
reset_modes(cli)
|
||||||
reset(cli)
|
reset(cli)
|
||||||
|
|
||||||
cli.quit("Forced restart from "+nick)
|
cli.quit("Forced restart from "+nick)
|
||||||
@ -807,6 +810,8 @@ def stop_game(cli, winner = ""):
|
|||||||
var.plural(role)))
|
var.plural(role)))
|
||||||
cli.msg(chan, " ".join(roles_msg))
|
cli.msg(chan, " ".join(roles_msg))
|
||||||
|
|
||||||
|
reset_modes(cli)
|
||||||
|
|
||||||
plrl = []
|
plrl = []
|
||||||
for role,ppl in var.ORIGINAL_ROLES.items():
|
for role,ppl in var.ORIGINAL_ROLES.items():
|
||||||
for x in ppl:
|
for x in ppl:
|
||||||
@ -854,7 +859,7 @@ def stop_game(cli, winner = ""):
|
|||||||
size = len(var.list_players()) + len(var.DEAD)
|
size = len(var.list_players()) + len(var.DEAD)
|
||||||
if winner != "": # Only update if not an abnormal game stop
|
if winner != "": # Only update if not an abnormal game stop
|
||||||
var.update_game_stats(size, winner)
|
var.update_game_stats(size, winner)
|
||||||
|
|
||||||
reset(cli)
|
reset(cli)
|
||||||
|
|
||||||
# This must be after reset(cli)
|
# This must be after reset(cli)
|
||||||
@ -875,6 +880,7 @@ def chk_win(cli, end_game = True):
|
|||||||
|
|
||||||
if lpl == 0:
|
if lpl == 0:
|
||||||
#cli.msg(chan, "No more players remaining. Game ended.")
|
#cli.msg(chan, "No more players remaining. Game ended.")
|
||||||
|
reset_modes(cli)
|
||||||
reset(cli)
|
reset(cli)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@ -2647,6 +2653,7 @@ def reset_game(cli, nick, chan, rest):
|
|||||||
if var.PHASE != "join":
|
if var.PHASE != "join":
|
||||||
stop_game(cli)
|
stop_game(cli)
|
||||||
else:
|
else:
|
||||||
|
reset_modes(cli)
|
||||||
reset(cli)
|
reset(cli)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user