Force assassin to target someone
If assassin times out night, this selects a random target for them and lets them know who it is. The target is selected amongst players NOT going to die that day, so only chance of a reselect is due to lovers, bullets, or lynchings. Closes #26
This commit is contained in:
parent
736d5f572e
commit
cb55f9129b
@ -1868,6 +1868,7 @@ def transition_day(cli, gameid=0):
|
|||||||
if bodyguard not in var.GUARDED:
|
if bodyguard not in var.GUARDED:
|
||||||
var.LASTGUARDED[bodyguard] = None
|
var.LASTGUARDED[bodyguard] = None
|
||||||
|
|
||||||
|
# Select a random target for vengeful ghost if they didn't kill
|
||||||
wolves = var.list_players(var.WOLFTEAM_ROLES)
|
wolves = var.list_players(var.WOLFTEAM_ROLES)
|
||||||
villagers = var.list_players()
|
villagers = var.list_players()
|
||||||
for wolf in wolves:
|
for wolf in wolves:
|
||||||
@ -1879,7 +1880,6 @@ def transition_day(cli, gameid=0):
|
|||||||
else:
|
else:
|
||||||
var.OTHER_KILLS[ghost] = random.choice(villagers)
|
var.OTHER_KILLS[ghost] = random.choice(villagers)
|
||||||
|
|
||||||
|
|
||||||
# Reset daytime variables
|
# Reset daytime variables
|
||||||
var.VOTES = {}
|
var.VOTES = {}
|
||||||
var.INVESTIGATED = []
|
var.INVESTIGATED = []
|
||||||
@ -1958,6 +1958,21 @@ def transition_day(cli, gameid=0):
|
|||||||
if d in bywolves:
|
if d in bywolves:
|
||||||
bywolves.remove(d)
|
bywolves.remove(d)
|
||||||
victims = set(victims) # remove duplicates
|
victims = set(victims) # remove duplicates
|
||||||
|
|
||||||
|
# Select a random target for assassin that isn't already going to die if they didn't target
|
||||||
|
pl = var.list_players()
|
||||||
|
for ass in var.ROLES["assassin"]:
|
||||||
|
if ass not in var.TARGETED:
|
||||||
|
ps = pl[:]
|
||||||
|
ps.remove(ass)
|
||||||
|
for victim in victims:
|
||||||
|
if victim in ps:
|
||||||
|
ps.remove(victim)
|
||||||
|
if len(ps) > 0:
|
||||||
|
target = random.choice(ps)
|
||||||
|
var.TARGETED[ass] = target
|
||||||
|
pm(cli, ass, "Because you forgot to select a target at night, you are now targeting \u0002{0}\u0002.".format(target))
|
||||||
|
|
||||||
message = [("Night lasted \u0002{0:0>2}:{1:0>2}\u0002. It is now daytime. "+
|
message = [("Night lasted \u0002{0:0>2}:{1:0>2}\u0002. It is now daytime. "+
|
||||||
"The villagers awake, thankful for surviving the night, "+
|
"The villagers awake, thankful for surviving the night, "+
|
||||||
"and search the village... ").format(min, sec)]
|
"and search the village... ").format(min, sec)]
|
||||||
|
Loading…
Reference in New Issue
Block a user