Regra aplicada

HUD: primeiro debate com turno > atual e ≤ duração; pendente: turno = atual e ID ainda não concluído

O próximo do HUD é estritamente futuro

getNextDebate procura um encontro com turno maior que o atual e dentro da duração. Um debate marcado para agora não aparece nessa procura. A tabela distingue essa etiqueta do debate que será aberto ao encerrar. Comparar apenas a palavra Próximo com o calendário pode sugerir que um encontro foi pulado, quando o HUD está deliberadamente apontando para uma rodada posterior.

O encerramento verifica outra condição

debateForTurn procura turno igual ao atual e ID ausente da lista de concluídos. Essa rotina não repete um encontro cujo ID já está registrado. Ela também não procura encontros passados para reposição. Se um save foi editado e deixou um debate anterior sem registro, a ferramenta marca esse estado como passado não registrado, sem prometer que o próximo encerramento vai recuperá-lo.

As duas funções não usam os mesmos filtros

A rotina do HUD não consulta completedDebates, enquanto a do encontro pendente consulta. Isso pode produzir uma etiqueta futura para um ID antecipadamente marcado como concluído em um arquivo alterado. A consulta mostra os dois resultados do código, em vez de substituir um por um calendário idealizado. O leitor primeiro verifica versão, duração, turno e IDs conhecidos para evitar explicar um arquivo estruturalmente incompatível.

Use a fotografia do mesmo momento

O save deve representar a fase padrão do primeiro turno. A tabela não executa estratégias, não calcula notas e não acrescenta IDs concluídos. Depois de um debate real, importe outra fotografia para conferir a mudança. Se sua pergunta é o ganho esperado por estratégia, use o comparador de debates; se precisa reproduzir vários encerramentos, use o simulador de campanha sem novas agendas.

Conferir dois cenários de referência

Cenários controlados para conferir esta regra. Cada resultado é calculado com as entradas explícitas e as demais opções do exemplo inicial.

No turno de um debate

Entradas alteradas: JSON da campanha padrão: primeiro turno = entrada completa de referência descrita no cenário. As demais entradas seguem o exemplo inicial.

Debate pendente neste turno: Debate da Band
Resultado do cenário informado
DebateTurnoEstado salvoEtiqueta do HUDAção do encerramento
Debate da Band5Pendente agora—Encerramento pendente
Debate da Cultura10FuturoHUD próximo—
Debate do SBT15Futuro——
Debate do Flow News20Futuro——
Debate da Globo25Fora da duração——

Em telas pequenas, deslize a tabela para conferir todas as colunas.

getNextDebate procura turno estritamente maior que o atual e dentro da duração; não filtra a lista completedDebates. debateForTurn procura turno igual e não concluído, sem verificar duração. Não inventa reposição de encontro passado e não executa o debate.

Depois do debate sem registro

Entradas alteradas: JSON da campanha padrão: primeiro turno = entrada completa de referência descrita no cenário. As demais entradas seguem o exemplo inicial.

Sem debate pendente no turno 6
Resultado do cenário informado
DebateTurnoEstado salvoEtiqueta do HUDAção do encerramento
Debate da Band5Passado não registrado——
Debate da Cultura10FuturoHUD próximo—
Debate do SBT15Futuro——
Debate do Flow News20Futuro——
Debate da Globo25Fora da duração——

Em telas pequenas, deslize a tabela para conferir todas as colunas.

getNextDebate procura turno estritamente maior que o atual e dentro da duração; não filtra a lista completedDebates. debateForTurn procura turno igual e não concluído, sem verificar duração. Não inventa reposição de encontro passado e não executa o debate.

Simulação independente: as informações descrevem o jogo ficcional República em Disputa, sem avaliação de pessoas reais ou previsão de uma eleição.

Verificação editorial

Regras, dados e exemplos conferidos na versão do jogo em 9 de outubro de 2026. Simulação ficcional e independente, sem previsão eleitoral real. Guia Independente · Relatar divergência.