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 # TODO: alphabetize and/or arrange sensibly
pl = var.list_players() pl = var.list_players()
spl = set(pl)
actedcount = sum(map(len, (var.SEEN, var.HVISITED, var.GUARDED, var.KILLS, actedcount = sum(map(len, (var.SEEN, var.HVISITED, var.GUARDED, var.KILLS,
var.OTHER_KILLS, var.PASSED, var.OBSERVED, var.OTHER_KILLS, var.PASSED, var.OBSERVED,
var.HEXED, var.SHAMANS, var.CURSED, var.CHARMERS))) var.HEXED, var.SHAMANS, var.CURSED, var.CHARMERS)))
@ -4635,7 +4636,7 @@ def chk_nightdone(cli):
"guardian angel", "wolf", "werecrow", "alpha wolf", "guardian angel", "wolf", "werecrow", "alpha wolf",
"sorcerer", "hunter", "hag", "shaman", "crazed shaman", "sorcerer", "hunter", "hag", "shaman", "crazed shaman",
"augur", "werekitten", "warlock", "piper", "wolf mystic", "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 "prophet", "wolf shaman", "wolf shaman") # wolf shaman also must be listed twice
for ghost, against in var.VENGEFUL_GHOSTS.items(): for ghost, against in var.VENGEFUL_GHOSTS.items():
@ -4651,6 +4652,11 @@ def chk_nightdone(cli):
# don't count this twice # don't count this twice
actedcount -= 1 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: if var.FIRST_NIGHT:
actedcount += len(var.MATCHMAKERS | var.CLONED.keys()) actedcount += len(var.MATCHMAKERS | var.CLONED.keys())
nightroles.extend(get_roles("matchmaker", "clone")) nightroles.extend(get_roles("matchmaker", "clone"))