Voto Secreto
![]()
Resumo
Transforma a votação pública da rodada em uma votação anônima.
Como Funciona
Durante o início do dia, o jogador pode usar esta habilidade uma vez por partida. Não é necessário selecionar nenhum alvo. O modo de votação da rodada muda para anônimo antes da fase de votação começar: os votos continuam valendo normalmente, mas ninguém consegue ver quem votou em quem durante aquela rodada.
Ativar no início do dia garante que o flag de votação anônima se propague para todos os clientes (via poll do Lobby a cada ~2s) antes do meio do dia começar. Se fosse ativada no meio do dia, jogadores que votassem imediatamente depois ainda enviariam mensagens públicas de voto por causa do cache defasado.
⚠️ Mudança de design decidida (2026-06-21, a implementar). Para dar utilidade da habilidade aos Sobreviventes, decidiu-se que quem usa Voto Secreto continua vendo quem votou em quem — o anonimato vale para o resto da mesa, não para o conjurador. Assim o usuário ganha uma informação privada: cruzar quem de fato votou contra quem dizia desconfiar de quem. A descrição técnica abaixo ainda reflete o comportamento atual (votos ocultos para todos); atualizar quando a mudança for implementada. Contexto e uso pelos bots em Comportamento dos Bots.
Leitura de Design
Troca clareza por paranoia, ideal para quebrar leitura de coalizão e enfraquecer rastros de voto.
Parâmetros Atuais no Projeto
| Campo | Valor |
|---|---|
| ID técnico | SecretVote |
| Conduta | Conduta Desconhecida |
| Categoria | Utilidade |
| Momento de uso | Início do dia |
| Momento do efeito | Fim do dia |
| Alvo | Sistema de votação |
| Tipo de uso | Selecionar |
| Usos | 1 por partida |
| Duração | Até o fim do dia |
Implementação Técnica
- Cliente:
SecretVoteAbilityvalida fase (DayStart) e que a habilidade não foi usada. Não requer alvo — age sobre o sistema de votação global. Despacha viaPlayerActionManager.UseSystemAbility(Id)semtargetId. - Servidor:
SecretVoteStrategymarcacaster.AbilityUsed = true, persiste o estado e retorna a string especial"SECRET_VOTE_ACTIVATED". - Sinalização para o cliente: O resultado
"SECRET_VOTE_ACTIVATED"é interceptado peloGameStateManagerno cliente, que ativa o modo de votação anônima na interface — os votos individuais ficam ocultos durante a rodada. - O efeito dura até o fim do dia corrente. A votação continua existindo, mas sem exibir publicamente quem votou em quem.
Campos de PlayerData Modificados
| Campo | Efeito |
|---|---|
caster.AbilityUsed | Marcado como true |
| Estado global da partida | SECRET_VOTE_ACTIVATED sinalizado ao cliente para ativar modo anônimo |
Estado no Projeto Atual
- Implementada como ativação de modo especial de votação.
- Se a implementação final mudar no jogo, esta nota deve acompanhar o código e não o contrário.