Merge pull request #22 from jacob1/clone

clone gets player list, wolves are informed when clone turns into wolf and clone gets the wolf list too
Closes #14
This commit is contained in:
Ryan Schmidt 2014-07-19 17:49:14 -05:00
commit 6976f4d211

View File

@ -1332,6 +1332,22 @@ def del_player(cli, nick, forced_death = False, devoice = True, end_game = True)
var.CLONED[clone] = var.CLONED[nick]
del var.CLONED[nick]
pm(cli, clone, "You will now be cloning \u0002{0}\u0002 if they die.".format(var.CLONED[clone]))
elif role in var.WOLFCHAT_ROLES:
wolves = var.list_players(var.WOLFCHAT_ROLES)
wolves.remove(nick) # remove dead wolf from list
wolves.remove(clone) # remove self from list
for wolf in wolves:
pm(cli, wolf, "\u0002{}\u0002 cloned \u0002{}\u0002 and has now become a wolf!".format(clone, nick))
if var.PHASE == "day":
random.shuffle(wolves)
for i, wolf in enumerate(wolves):
wolfrole = var.get_role(wolf)
cursed = ""
if wolf in var.ROLES["cursed villager"]:
cursed = "cursed "
wolves[i] = "\u0002{0}\u0002 ({1}{2})".format(wolf, cursed, wolfrole)
pm(cli, clone, "Wolves: " + ", ".join(wolves))
elif nick == clone and nick in var.CLONED:
del var.CLONED[nick]
@ -2028,20 +2044,17 @@ def transition_day(cli, gameid=0):
var.ROLES["lycan"].remove(victim)
var.ROLES["wolf"].append(victim)
var.LYCANS.append(victim)
pl = var.list_players(var.WOLFCHAT_ROLES)
random.shuffle(pl)
pl.remove(victim) # remove self from list
for i, player in enumerate(pl):
role = var.get_role(player)
if role in var.WOLFCHAT_ROLES:
cursed = ""
if player in var.ROLES["cursed villager"]:
cursed = "cursed "
pl[i] = "\u0002{0}\u0002 ({1}{2})".format(player, cursed, role)
elif player in var.ROLES["cursed villager"]:
pl[i] = player + " (cursed)"
wolves = var.list_players(var.WOLFCHAT_ROLES)
random.shuffle(wolves)
wolves.remove(victim) # remove self from list
for i, wolf in enumerate(wolves):
role = var.get_role(wolf)
cursed = ""
if wolf in var.ROLES["cursed villager"]:
cursed = "cursed "
wolves[i] = "\u0002{0}\u0002 ({1}{2})".format(wolf, cursed, role)
pm(cli, victim, "Wolves: "+", ".join(pl))
pm(cli, victim, "Wolves: " + ", ".join(wolves))
novictmsg = False
else:
if var.ROLE_REVEAL:
@ -3723,6 +3736,9 @@ def transition_night(cli):
cli.msg(clone, ('You are a \u0002clone\u0002. You can select someone to clone ' +
'with "clone <nick>". If that player dies, you become their ' +
'role(s). You may only clone someone during the first night.'))
else:
cli.notice(clone, "You are a \u0002clone\u0002")
pm(cli, clone, "Players: "+", ".join(pl))
for ms in var.ROLES["mad scientist"]:
if ms in var.PLAYERS and var.PLAYERS[ms]["cloak"] not in var.SIMPLE_NOTIFY: