Últimas Palavras

Arte de Últimas Palavras|192

Resumo

Define previamente qual jogador terá a conduta revelada quando o usuário morrer.

Como Funciona

Durante a noite, o jogador pode selecionar um alvo quantas vezes quiser ao longo da partida — não há limite de uso. Ao selecionar, aponta para qualquer jogador vivo ou morto. Quando o portador da habilidade for eliminado (por votação, Execução ou Infecção), a conduta do jogador apontado é revelada publicamente para todos na mesa, caso ele ainda esteja vivo.

Leitura de Design

É uma ameaça pós-morte que obriga o restante da mesa a considerar o custo de eliminar o portador cedo demais.

Parâmetros Atuais no Projeto

CampoValor
ID técnicoLastWords
CondutaConduta Desconhecida
CategoriaUtilidade
Momento de usoNoite
Momento do efeitoAo ser eliminado
AlvoOutro jogador
Tipo de usoSelecionar
UsosIlimitado para remarcar
DuraçãoDispara na própria morte

Implementação Técnica

  • Cliente: LastWordsAbility valida fase (NightStart) e que a habilidade não foi usada. Despacha via PlayerActionManager.UseSystemAbility(Id, targetId).
  • Servidor (uso): LastWordsStrategy simplesmente atualiza caster.LastWordsTarget = targetId. Não marca AbilityUsed — o jogador pode remarcar o alvo quantas vezes quiser ao longo da partida.
  • Disparo automático: PlayerUtility.HandleLastWords é chamada sempre que o portador morre, em três cenários:
    • Morte por Execução (ExecutionStrategy)
    • Morte por votação (ResolveDayEnd)
    • Morte por Infecção (InfectionResolver)
  • Efeito: Se LastWordsTarget apontar para um jogador vivo, a conduta dele é revelada globalmente via target.GlobalRevealedConduct e target.IsConductRevealed = true. A revelação usa PlayerUtility.GetRevealedConduct, então Manipulação de Dados e Dupla Identidade influenciam o resultado.

Campos de PlayerData Modificados

CampoEfeito
caster.LastWordsTargetID do alvo; atualizado livremente, sem custo de carga
target.IsConductRevealedDefinido como true ao disparar
target.GlobalRevealedConductConduta resolvida gravada para visibilidade global

Estado no Projeto Atual

  • Implementada com seleção persistente e disparo automático na morte.
  • Se a implementação final mudar no jogo, esta nota deve acompanhar o código e não o contrário.

Ver Também