Manipulação de Dados

Arte de Manipulação de Dados|192

Resumo

Faz o alvo parecer outra conduta quando for analisado, distorcendo o fluxo de informação da rodada.

Como Funciona

Durante o meio do dia, o jogador pode usar esta habilidade uma vez por rodada. Ao usá-la, deve selecionar um jogador vivo que não seja ele mesmo. Durante a noite seguinte, qualquer investigação feita sobre o alvo retornará uma conduta falsa, determinada automaticamente pelo time real do alvo: Sobrevivente aparece como Caos, Fascista aparece como Ordem, Fanático e Mercenário aparecem como Desconhecida. O efeito dura apenas essa rodada.

Leitura de Design

Serve para fabricar narrativas falsas e enfraquecer a confiança nas ferramentas de leitura do time bom.

Parâmetros Atuais no Projeto

CampoValor
ID técnicoDataManipulation
CondutaConduta do Caos
CategoriaInformação
Momento de usoMeio do dia
Momento do efeitoNoite
AlvoOutro jogador
Tipo de usoSelecionar
Usos1 por rodada
Duração1 rodada

Implementação Técnica

  • A habilidade está parametrizada em GameConfig com duração de uma rodada e alvo em outro jogador.
  • Cliente: DataManipulationAbility valida fase (DayMiddle), verifica que o caster está vivo, habilidade não usada, alvo existe, está vivo e não é o próprio caster. Despacha via PlayerActionManager.UseSystemAbility(Id, targetId).
  • Servidor: DataManipulationStrategy resolve a conduta falsa automaticamente a partir do time real do alvo:
    • SurvivorConductType.Bad
    • FascistConductType.Good
    • Fanatic / MercenaryConductType.Unknown
  • A conduta falsa é injetada em target.DataManipulationConduct. O campo é verificado com prioridade máxima em PlayerUtility.GetRevealedConduct, sobrepondo Dupla Identidade e conduta real.
  • O efeito dura exatamente 1 rodada: ResetAbilitiesForNewRound limpa DataManipulationConduct no início do dia seguinte.
  • Registrada em ModuleConfig.cs via DI como AddSingleton<IAbilityStrategy, DataManipulationStrategy>.

Campos de PlayerData Modificados

CampoEfeito
target.DataManipulationConductConduta falsa injetada (Bad, Good ou Unknown)
caster.AbilityUsedMarcado como true

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