Finish the woflchat restrictions for the Halloween events

This commit is contained in:
Vgr E. Barry 2015-10-26 10:40:39 -04:00
parent 1fb4fb0418
commit 524773bcdf
2 changed files with 14 additions and 11 deletions

View File

@ -65,7 +65,9 @@ AUTO_TOGGLE_MODES = ""
# The following is a bitfield, and they can be mixed together
# Defaults to none of these, can be changed on a per-game-mode basis
# For now, do NOT use 0x40 and 0x80 are they are not yet ready. All others should be fine!
# For now, do NOT use 0x10, 0x20, 0x40 and 0x80 are they are not yet ready. All others should be fine!
# Halloween events required to have 0x0f ready, and so it is - the others have their frame
# done but are not tested and so not guaranteed to work
RESTRICT_WOLFCHAT = 0x00

View File

@ -1078,10 +1078,12 @@ def join_timer_handler(cli):
else:
cli.who(botconfig.CHANNEL)
@cmd("join", "j")
@cmd("join", "j", pm=True)
def join(cli, nick, chan, rest):
"""Either starts a new game of Werewolf or joins an existing game that has not started yet."""
if var.PHASE in ("none", "join"):
if chan == nick:
return
if var.ACCOUNTS_ONLY:
if nick in var.USERS and (not var.USERS[nick]["account"] or var.USERS[nick]["account"] == "*"):
cli.notice(nick, "You are not logged in to NickServ.")
@ -1099,8 +1101,8 @@ def join(cli, nick, chan, rest):
else: # join deadchat
if chan == nick and nick not in var.list_players() and nick not in var.DEADCHAT_PLAYERS:
mass_privmsg(cli, var.DEADCHAT_PLAYERS, "{0} has joined the dead chat.".format(nick))
pm(cli, nick, "You are now in the dead chat. Players: {0}".format(", ".join(var.DEADCHAT_PLAYERS)))
mass_privmsg(cli, var.DEADCHAT_PLAYERS, "{0} has joined the chat.".format(nick))
pm(cli, nick, "You are now in the chat.{0}".format("Players: {0}".format(", ".join(var.DEADCHAT_PLAYERS)) if var.DEADCHAT_PLAYERS else ""))
var.DEADCHAT_PLAYERS.add(nick)
def join_player(cli, player, chan, who = None, forced = False):
@ -5472,13 +5474,13 @@ def observe(cli, nick, chan, rest):
wolves = var.list_players(var.WOLF_ROLES)
if not var.RESTRICT_WOLFCHAT & var.RW_TRAITOR_NON_WOLF:
wolves.extend(var.ROLES["traitor"])
if var.RESTRICT_WOLFCHAT & var.RW_ONLY_KILL_CMD:
wolfchatwolves = []
if var.RESTRICT_WOLFCHAT & var.RW_ONLY_SAME_CMD:
if var.RESTRICT_WOLFCHAT & (var.RW_NO_INTERACTION | var.RW_REM_NON_WOLVES):
wolfchatwolves = var.ROLES["werecrow"]
else:
wolfchatwolves = var.ROLES["werecrow"] | var.ROLES["sorcerer"]
if var.RESTRICT_WOLFCHAT & var.RW_ONLY_KILL_CMD:
wolfchatwolves = []
for wolf in wolfchatwolves:
if wolf != nick:
@ -5767,10 +5769,10 @@ def bite_cmd(cli, nick, chan, rest):
del var.KILLS[nick]
pm(cli, nick, "You have chosen to bite \u0002{0}\u0002.".format(victim))
if var.RESTRICT_WOLFCHAT & var.RW_ONLY_SAME_CMD:
wolfchatwolves = var.ROLES["alpha wolf"]
if var.RESTRICT_WOLFCHAT & var.RW_ONLY_KILL_CMD:
wolfchatwolves = []
if var.RESTRICT_WOLFCHAT & var.RW_ONLY_SAME_CMD:
wolfchatwolves = var.ROLES["alpha wolf"]
for wolf in wolfchatwolves:
if wolf != nick:
pm(cli, wolf, "\u0002{0}\u0002 has chosen to bite \u0002{1}\u0002.".format(nick, victim))
@ -5991,12 +5993,11 @@ def hex_target(cli, nick, chan, rest):
pm(cli, nick, "You have cast a hex on \u0002{0}\u0002.".format(victim))
wolfchatwolves = var.list_players(var.WOLFCHAT_ROLES)
if var.RESTRICT_WOLFCHAT & (var.RW_ONLY_KILL_CMD | var.RW_NO_INTERACTION | var.RW_REM_NON_WOLVES):
wolfchatwolves = []
elif var.RESTRICT_WOLFCHAT & var.RW_ONLY_SAME_CMD:
if var.RESTRICT_WOLFCHAT & var.RW_ONLY_SAME_CMD:
wolfchatwolves = var.ROLES["hag"]
else:
wolfchatwolves = var.list_players(var.WOLFCHAT_ROLES)
for wolf in wolfchatwolves:
if wolf != nick:
pm(cli, wolf, "\u0002{0}\u0002 has cast a hex on \u0002{1}\u0002.".format(nick, victim))