Don't time out night if dullahan can't do anything

This commit is contained in:
skizzerz 2016-01-29 13:48:21 -06:00
parent 587b03a970
commit 344b7b108b

View File

@ -4627,6 +4627,7 @@ def chk_nightdone(cli):
# TODO: alphabetize and/or arrange sensibly
pl = var.list_players()
spl = set(pl)
actedcount = sum(map(len, (var.SEEN, var.HVISITED, var.GUARDED, var.KILLS,
var.OTHER_KILLS, var.PASSED, var.OBSERVED,
var.HEXED, var.SHAMANS, var.CURSED, var.CHARMERS)))
@ -4635,7 +4636,7 @@ def chk_nightdone(cli):
"guardian angel", "wolf", "werecrow", "alpha wolf",
"sorcerer", "hunter", "hag", "shaman", "crazed shaman",
"augur", "werekitten", "warlock", "piper", "wolf mystic",
"fallen angel", "dullahan", "vigilante", "doomsayer", "doomsayer", # NOT a mistake, doomsayer MUST be listed twice
"fallen angel", "vigilante", "doomsayer", "doomsayer", # NOT a mistake, doomsayer MUST be listed twice
"prophet", "wolf shaman", "wolf shaman") # wolf shaman also must be listed twice
for ghost, against in var.VENGEFUL_GHOSTS.items():
@ -4651,6 +4652,11 @@ def chk_nightdone(cli):
# don't count this twice
actedcount -= 1
for p in var.ROLES["dullahan"]:
# dullahans without targets cannot act, so don't count them
if var.DULLAHAN_TARGETS[p] & spl:
nightroles.append(p)
if var.FIRST_NIGHT:
actedcount += len(var.MATCHMAKERS | var.CLONED.keys())
nightroles.extend(get_roles("matchmaker", "clone"))