Update the get_special event

This commit is contained in:
Vgr E. Barry 2017-08-30 08:40:54 -04:00
parent e32e142742
commit 2f0d4f8b1c
12 changed files with 48 additions and 36 deletions

View File

@ -8,6 +8,7 @@ import botconfig
import src.settings as var
from src.utilities import *
from src import users, debuglog, errlog, plog
from src.functions import get_players
from src.decorators import cmd, event_listener
from src.messages import messages
from src.events import Event
@ -95,8 +96,8 @@ def on_acted(evt, var, nick, sender):
evt.data["acted"] = True
@event_listener("get_special")
def on_get_special(evt, cli, var):
evt.data["special"].update(list_players(("guardian angel", "bodyguard")))
def on_get_special(evt, var):
evt.data["special"].update(get_players(("guardian angel", "bodyguard")))
@event_listener("exchange_roles")
def on_exchange(evt, cli, var, actor, nick, actor_role, nick_role):

View File

@ -5,6 +5,7 @@ import random
import src.settings as var
from src.utilities import *
from src import debuglog, errlog, plog
from src.functions import get_players
from src.decorators import cmd, event_listener
from src.messages import messages
from src.events import Event
@ -65,8 +66,8 @@ def on_del_player(evt, cli, var, nick, mainrole, allroles, death_triggers):
INVESTIGATED.discard(nick)
@event_listener("get_special")
def on_get_special(evt, cli, var):
evt.data["special"].update(var.ROLES["detective"])
def on_get_special(evt, var):
evt.data["special"].update(get_players(("detective",)))
@event_listener("exchange_roles")
def on_exchange(evt, cli, var, actor, nick, actor_role, nick_role):

View File

@ -4,6 +4,7 @@ import random
import src.settings as var
from src.utilities import *
from src import debuglog, errlog, plog
from src.functions import get_players
from src.decorators import cmd, event_listener
from src.messages import messages
from src.events import Event
@ -102,8 +103,8 @@ def on_doctor_immunize(evt, cli, var, doctor, target):
evt.data["message"] = "not_sick"
@event_listener("get_special")
def on_get_special(evt, cli, var):
evt.data["special"].update(var.ROLES["doomsayer"])
def on_get_special(evt, var):
evt.data["special"].update(get_players(("doomsayer",)))
@event_listener("chk_nightdone")
def on_chk_nightdone(evt, cli, var):

View File

@ -130,8 +130,8 @@ def on_swap(evt, var, old_user, user):
targets.add(user)
@event_listener("get_special")
def on_get_special(evt, cli, var):
evt.data["special"].update(var.ROLES["dullahan"])
def on_get_special(evt, var):
evt.data["special"].update(get_players(("dullahan",)))
@event_listener("transition_day", priority=2)
def on_transition_day(evt, cli, var):

View File

@ -8,6 +8,7 @@ import botconfig
import src.settings as var
from src.utilities import *
from src import channels, users, debuglog, errlog, plog
from src.functions import get_players
from src.decorators import cmd, event_listener
from src.messages import messages
from src.events import Event
@ -137,8 +138,8 @@ def on_begin_day(evt, var):
VISITED.clear()
@event_listener("get_special")
def on_get_special(evt, cli, var):
evt.data["special"].update(var.ROLES["harlot"])
def on_get_special(evt, var):
evt.data["special"].update(get_players(("harlot",)))
@event_listener("del_player")
def on_del_player(evt, cli, var, nick, mainrole, allroles, death_triggers):

View File

@ -101,8 +101,8 @@ def on_acted(evt, var, nick, sender):
evt.data["acted"] = True
@event_listener("get_special")
def on_get_special(evt, cli, var):
evt.data["special"].update(var.ROLES["hunter"])
def on_get_special(evt, var):
evt.data["special"].update(get_players(("hunter",)))
@event_listener("transition_day", priority=2)
def on_transition_day(evt, cli, var):

View File

@ -4,19 +4,23 @@ import random
import src.settings as var
from src.utilities import *
from src import debuglog, errlog, plog
from src.functions import get_players
from src.decorators import cmd, event_listener
from src.messages import messages
from src.events import Event
@event_listener("exchange_roles")
def on_exchange(evt, cli, var, actor, nick, actor_role, nick_role):
special = set(list_players(("harlot", "priest", "prophet", "matchmaker",
"doctor", "hag", "sorcerer", "turncoat", "clone", "piper")))
if nick_role not in ("mystic", "wolf mystic") and actor_role not in ("mystic", "wolf mystic"):
return
special = set(get_players(("harlot", "priest", "prophet", "matchmaker",
"doctor", "hag", "sorcerer", "turncoat", "clone", "piper")))
evt2 = Event("get_special", {"special": special})
evt2.dispatch(cli, var)
pl = set(list_players())
wolves = set(list_players(var.WOLFTEAM_ROLES))
neutral = set(list_players(var.TRUE_NEUTRAL_ROLES))
evt2.dispatch(var)
pl = set(get_players())
wolves = set(get_players(var.WOLFTEAM_ROLES))
neutral = set(get_players(var.TRUE_NEUTRAL_ROLES))
special = evt2.data["special"]
if nick_role == "wolf mystic" and actor_role != "wolf mystic":
@ -38,13 +42,13 @@ def on_exchange(evt, cli, var, actor, nick, actor_role, nick_role):
@event_listener("transition_night_end", priority=2.01)
def on_transition_night_end(evt, cli, var):
# init with all roles that haven't been split yet
special = set(list_players(("harlot", "priest", "prophet", "matchmaker",
"doctor", "hag", "sorcerer", "turncoat", "clone", "piper")))
special = set(get_players(("harlot", "priest", "prophet", "matchmaker",
"doctor", "hag", "sorcerer", "turncoat", "clone", "piper")))
evt2 = Event("get_special", {"special": special})
evt2.dispatch(cli, var)
pl = set(list_players())
wolves = set(list_players(var.WOLFTEAM_ROLES))
neutral = set(list_players(var.TRUE_NEUTRAL_ROLES))
evt2.dispatch(var)
pl = set(get_players())
wolves = set(get_players(var.WOLFTEAM_ROLES))
neutral = set(get_players(var.TRUE_NEUTRAL_ROLES))
special = evt2.data["special"]
for wolf in var.ROLES["wolf mystic"]:
@ -62,8 +66,8 @@ def on_transition_night_end(evt, cli, var):
pm(cli, mystic, messages["mystic_info"].format("are" if numevil != 1 else "is", numevil, "s" if numevil != 1 else ""))
@event_listener("get_special")
def on_get_special(evt, cli, var):
def on_get_special(evt, var):
# mystics count as special even though they don't have any commands
evt.data["special"].update(list_players(("mystic",)))
evt.data["special"].update(get_players(("mystic",)))
# vim: set sw=4 expandtab:

View File

@ -5,6 +5,7 @@ import src.settings as var
from src.utilities import *
from src import debuglog, errlog, plog
from src.decorators import cmd, event_listener
from src.functions import get_players
from src.messages import messages
from src.events import Event
@ -90,8 +91,8 @@ def on_acted(evt, var, nick, sender):
evt.data["acted"] = True
@event_listener("get_special")
def on_get_special(evt, cli, var):
evt.data["special"].update(list_players(("seer", "oracle", "augur")))
def on_get_special(evt, var):
evt.data["special"].update(get_players(("seer", "oracle", "augur")))
@event_listener("exchange_roles")
def on_exchange(evt, cli, var, actor, nick, actor_role, nick_role):

View File

@ -7,6 +7,7 @@ import botconfig
import src.settings as var
from src.utilities import *
from src import debuglog, errlog, plog, users
from src.functions import get_players
from src.decorators import cmd, event_listener
from src.messages import messages
from src.events import Event
@ -146,8 +147,8 @@ def on_acted(evt, var, nick, sender):
evt.data["acted"] = True
@event_listener("get_special")
def on_get_special(evt, cli, var):
evt.data["special"].update(list_players(("shaman", "crazed shaman", "wolf shaman")))
def on_get_special(evt, var):
evt.data["special"].update(get_players(("shaman", "crazed shaman", "wolf shaman")))
@event_listener("exchange_roles")
def on_exchange(evt, cli, var, actor, nick, actor_role, nick_role):

View File

@ -8,6 +8,7 @@ import botconfig
import src.settings as var
from src.utilities import *
from src import channels, users, debuglog, errlog, plog
from src.functions import get_players
from src.decorators import cmd, event_listener
from src.messages import messages
from src.events import Event
@ -291,8 +292,8 @@ def on_transition_day(evt, cli, var):
# we do not add to killers as retribution totem should not work on entranced not following succubus
@event_listener("get_special")
def on_get_special(evt, cli, var):
evt.data["special"].update(var.ROLES["succubus"])
def on_get_special(evt, var):
evt.data["special"].update(get_players(("succubus",)))
@event_listener("vg_kill")
def on_vg_kill(evt, var, ghost, target):

View File

@ -5,6 +5,7 @@ from collections import defaultdict
import src.settings as var
from src.utilities import *
from src import debuglog, errlog, plog
from src.functions import get_players
from src.decorators import cmd, event_listener
from src.messages import messages
from src.events import Event
@ -92,8 +93,8 @@ def on_acted(evt, var, nick, sender):
evt.data["acted"] = True
@event_listener("get_special")
def on_get_special(evt, cli, var):
evt.data["special"].update(var.ROLES["vigilante"])
def on_get_special(evt, var):
evt.data["special"].update(get_players(("vigilante",)))
@event_listener("transition_day", priority=2)
def on_transition_day(evt, cli, var):

View File

@ -146,8 +146,8 @@ def on_acted(evt, var, nick, sender):
evt.data["acted"] = True
@event_listener("get_special")
def on_get_special(evt, cli, var):
evt.data["special"].update(list_players(CAN_KILL))
def on_get_special(evt, var):
evt.data["special"].update(get_players(CAN_KILL))
@event_listener("transition_day", priority=1)
def on_transition_day(evt, cli, var):