Manipulação de Dados
![]()
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
| Campo | Valor |
|---|---|
| ID técnico | DataManipulation |
| Conduta | Conduta do Caos |
| Categoria | Informação |
| Momento de uso | Meio do dia |
| Momento do efeito | Noite |
| Alvo | Outro jogador |
| Tipo de uso | Selecionar |
| Usos | 1 por rodada |
| Duração | 1 rodada |
Implementação Técnica
- A habilidade está parametrizada em GameConfig com duração de uma rodada e alvo em outro jogador.
- Cliente:
DataManipulationAbilityvalida fase (DayMiddle), verifica que o caster está vivo, habilidade não usada, alvo existe, está vivo e não é o próprio caster. Despacha viaPlayerActionManager.UseSystemAbility(Id, targetId). - Servidor:
DataManipulationStrategyresolve a conduta falsa automaticamente a partir do time real do alvo:Survivor→ConductType.BadFascist→ConductType.GoodFanatic/Mercenary→ConductType.Unknown
- A conduta falsa é injetada em
target.DataManipulationConduct. O campo é verificado com prioridade máxima emPlayerUtility.GetRevealedConduct, sobrepondo Dupla Identidade e conduta real. - O efeito dura exatamente 1 rodada:
ResetAbilitiesForNewRoundlimpaDataManipulationConductno início do dia seguinte. - Registrada em
ModuleConfig.csvia DI comoAddSingleton<IAbilityStrategy, DataManipulationStrategy>.
Campos de PlayerData Modificados
| Campo | Efeito |
|---|---|
target.DataManipulationConduct | Conduta falsa injetada (Bad, Good ou Unknown) |
caster.AbilityUsed | Marcado 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.