def METHOD_NAME(evt: Event, var: GameState):
    for ass in get_all_players(var, ("assassin",)):
        if ass in TARGETED:
            continue # someone already targeted
        pl = get_players(var)
        random.shuffle(pl)
        pl.remove(ass)
        ass_evt = Event("assassin_target", {"target": None})
        ass_evt.dispatch(var, ass, pl)
        if ass_evt.data["target"] is not None:
            TARGETED[ass] = ass_evt.data["target"]
            PREV_ACTED.add(ass)
        else:
            ass.send(messages["assassin_notify"])
            if var.next_phase == "night":
                ass.send(messages["players_list"].format(pl))