Skip to content
Felipe Lippelt edited this page Jun 19, 2026 · 1 revision

Clocks / Contadores de Progresso

Clocks no estilo Blades in the Dark / PbtA: anéis segmentados que o mestre preenche pra rastrear tensão, progresso de uma ameaça, contagem regressiva, ou qualquer coisa que avance aos poucos.

São independentes do sistema RPG ativo — servem pra qualquer mesa.

Criar um clock

Form no painel Clocks (controle):

Campo Obrigatório O que faz
Nome sim Texto livre (ex.: "Alarme da fortaleza", "Ritual").
Segmentos sim Total de fatias do anel. Presets: 4, 6, 8, 10, 12.

Limites de segmentos: mínimo 2, máximo 24 (CLOCK_MIN_SEGMENTS / CLOCK_MAX_SEGMENTS).

Preencher / esvaziar

Cada clock mostra um anel com filled / segments. Click no anel avança 1 segmento; botões /+ ajustam. O valor é clampado em [0, segments] no servidor.

Cor

Cada clock aceita uma cor CSS opcional pro anel (sanitizada no servidor — só cores seguras passam, igual ao color wash da iluminação).

2ª tela (jogadores)

Clocks aparecem na tela dos jogadores e são movíveis e redimensionáveis — o mestre arrasta/escala pelo painel de controle e a posição persiste (ver Display and PWA e o hook useMovablePanel). Útil pra deixar um relógio de tensão visível no canto sem tampar a cena.

Socket events

socket.emit('addClock', name, segments)
socket.emit('updateClock', id, { filled?, name?, segments?, color? })
socket.emit('removeClock', id)
socket.emit('clearClocks')

Estado vive em SessionState.clocks: Clock[] e persiste com a sessão (.session.json), junto da campanha ativa.

Tipo

interface Clock {
  id: string
  name: string
  segments: number   // total de fatias
  filled: number     // 0..segments
  color?: string     // cor CSS opcional do anel
}

Veja também: Combat Tracker, Party Resources, Persistence.

Clone this wiki locally