Intervenção

Arte de Intervenção|192

Resumo

Cancela a execução pendente do fim do dia e impede que o condenado morra naquela janela.

Como Funciona

No fim do dia, depois que a votação já encerrou e um jogador foi condenado, o jogador pode usar esta habilidade uma vez por partida. Não é necessário selecionar nenhum alvo. Imediatamente, a execução pendente é cancelada e o condenado não morre naquela rodada.

Leitura de Design

É um salva-vidas político para o time maligno e pode virar a narrativa de uma rodada inteira com uma única decisão.

Parâmetros Atuais no Projeto

CampoValor
ID técnicoIntervention
CondutaConduta do Caos
CategoriaUtilidade
Momento de usoFim do dia
Momento do efeitoImediato no fim do dia
AlvoSistema de votação
Tipo de usoSelecionar
Usos1 por partida
DuraçãoInstantânea

Implementação Técnica

  • Cliente: InterventionAbility valida fase (DayEnd) e que a habilidade não foi usada. Não requer alvo — age sobre o sistema de votação global. Despacha via PlayerActionManager.UseSystemAbility(Id) sem targetId.
  • Servidor: InterventionStrategy marca caster.AbilityUsed = true, chama _stateService.ClearPendingExecution(context, lobbyId) e depois _stateService.SaveMatchState(...).
  • A chamada ClearPendingExecution remove a fila de execução pendente do estado da partida, de modo que em ResolveDayEnd não haverá ninguém para executar.
  • A Intervenção não cancela jogadores marcados com IsMarkedForDie (Sequestro). Apenas a execução por votação é anulada.

Campos de PlayerData Modificados

CampoEfeito
caster.AbilityUsedMarcado como true
Estado global da partidaFila de execução pendente limpa via ClearPendingExecution

Estado no Projeto Atual

  • Implementada de ponta a ponta no cliente e servidor.
  • Se a implementação final mudar no jogo, esta nota deve acompanhar o código e não o contrário.

Ver Também