-
Notifications
You must be signed in to change notification settings - Fork 0
Locked Files
-
Open file = just the text. Create
files/note.mdwith the content. -
Locked file = a front-matter block (
---) at the top + content:
---
locked: true
password: swordfish # enables decrypt
crackable: true # false = decrypt only
crackTime: 8000 # ms (per-file override)
decryptTime: 1500
lockLabel: BYPASSING ICE # crack progress-bar label
decryptLabel: RESOLVING KEY
crackSuccessMessage: ACCESS GRANTED.
crackFailMessage: encryption too strong # if crackable=false
crackDC: 12 # difficulty check: crack opens a roll dialog
crackAttempts: 3 # lives before lockout (default 3)
reveals: /vault/other.dat # chain: on unlock, reveals another file's key
# --- surveillance / recon (needs a `tracer` block on the theme/scenario) ---
tracer: true # this file arms the tracer on intrusion
tracerSeconds: 25 # per-file overrides (win over theme defaults):
tracerPenalty: 8 # window · seconds lost per failed roll ·
tracerStartAfter: 0 # failed attempts before arming ·
tracerNocrackSeconds: 3 # fast trace when brute-forcing a hardened file
checkDC: 12 # makes `check` a scan roll (one per file)
checkMisleadsOnFail: true # a badly-failed scan returns a FALSE reading
# --- decrypt minigame ---
# nocrack files have it by default; `decryptGame` overrides either way:
decryptGame: true # true = force the minigame · false = no decrypt at all
decryptWords: GHOST,CIPHER,DAEMON # candidates (a different one is picked per file); or:
decryptWord: SWORDFISH # a single fixed target
decryptAttempts: 6 # guesses (default 6)
---
Content revealed after unlocking.
The surveillance/recon keys are detailed in Cinematics → Tracer and Recon scan.
-
crack <file>— brute force. Ifcrackable: false, crack is refused (crackFailMessage). -
unlock <file> [key]— opens by password. Omit the key and a masked dialog appears; the progress bar runs in its own popup. -
decrypt <file>— the cipher minigame below (when available).
Availability — decryptGame decides, defaulting by crackability:
decryptGame |
crackable |
decrypt does |
|---|---|---|
true |
any | the minigame |
false |
any | nothing — encryption too high (key must come from elsewhere; use unlock) |
| (unset) |
false (nocrack) |
the minigame (default-on) |
| (unset) | true |
nothing — encryption too high |
So every nocrack file offers decrypt unless the GM opts out with
decryptGame: false (for keys discovered outside the terminal); crackable files
must opt in with decryptGame: true.
decrypt <file> launches a Wordle-style cipher hunt: type a same-length
guess, Enter to submit, each letter scores hit (right spot) · present
(wrong spot) · miss. Solve it within decryptAttempts (default 6) and the
password is recovered, the file unlocks, and any active tracer is evaded.
Lose → the cipher re-scrambles; try again or unlock with a known key.
The target is a fixed decryptWord, a random pick from comma-separated
decryptWords, or a built-in pool — chosen per file at load and shown in
gmsheet (decryptWord:KERNEL) so the GM can drop hints.
If a file has crackDC, crack opens a dialog asking for the player's roll
(a number):
- Roll greater than the DC → the crack runs.
- Otherwise it fails and spends one of
crackAttempts(default 3). - Once attempts run out the file is in lockout — only the password (
unlock) opens it.
The DC is hidden from players (visible only in GM mode). A roll-checked crack is also what arms the tracer, if the theme/scenario defines one.
- Front-matter values coerce to boolean/number automatically; quote a value to force a string (e.g. a numeric password
password: "12345"). -
revealsaccepts multiple comma-separated paths. On unlock, each named file's password becomes known (chain unlocks).
Unlocks persist per scenario (saved to localStorage); the reset command wipes
them, as does a reboot or theme switch for the session view. ls marks locked
files with [LOCKED].
-
Arquivo aberto = só o texto. Crie
files/nota.mdcom o conteúdo. -
Arquivo trancado = bloco de front-matter (
---) no topo + conteúdo:
---
locked: true
password: swordfish # habilita decrypt
crackable: true # false = só decrypt
crackTime: 8000 # ms (override por arquivo)
decryptTime: 1500
lockLabel: BYPASSING ICE # label da barra de crack
decryptLabel: RESOLVING KEY
crackSuccessMessage: ACCESS GRANTED.
crackFailMessage: encryption too strong # se crackable=false
crackDC: 12 # teste de dificuldade: crack abre um diálogo pedindo a rolagem
crackAttempts: 3 # vidas antes do lockout (padrão 3)
reveals: /cofre/outro.dat # cadeia: ao destrancar, revela a senha de outro arquivo
# --- vigilância / recon (precisa de um bloco `tracer` no tema/cenário) ---
tracer: true # este arquivo arma o tracer ao ser invadido
tracerSeconds: 25 # overrides por arquivo (têm prioridade):
tracerPenalty: 8 # janela · segundos perdidos por rolagem falha ·
tracerStartAfter: 0 # falhas antes de armar ·
tracerNocrackSeconds: 3 # trace rápido ao forçar arquivo blindado
checkDC: 12 # torna o `check` uma rolagem (uma por arquivo)
checkMisleadsOnFail: true # falha grave devolve uma leitura FALSA
# --- minigame de decrypt (opcional) ---
decryptGame: true # `decrypt` vira uma caça à cifra estilo Wordle
decryptWords: GHOST,CIPHER,DAEMON # candidatas (aleatória por sessão); ou:
decryptWord: SWORDFISH # um alvo fixo
decryptAttempts: 6 # tentativas (padrão 6)
---
Conteúdo revelado após o desbloqueio.
As chaves de vigilância/recon estão detalhadas em Cinematografia → Rastreador e Scan de recon.
-
crack <file>— força bruta. Secrackable: false, é recusado (crackFailMessage). -
unlock <file> [key]— abre por senha. Sem a key, abre um diálogo mascarado; a barra roda no próprio popup. -
decrypt <file>— o minigame de cifra abaixo (quando disponível).
Disponibilidade — decryptGame decide, com padrão pela crackabilidade:
decryptGame |
crackable |
o decrypt faz |
|---|---|---|
true |
qualquer | o minigame |
false |
qualquer | nada — encriptação alta demais (chave vem de fora; use unlock) |
| (omisso) |
false (nocrack) |
o minigame (padrão) |
| (omisso) | true |
nada — encriptação alta demais |
Ou seja: todo arquivo nocrack oferece decrypt, a menos que o Mestre desligue
com decryptGame: false (pra chaves descobertas fora do terminal); arquivos
crackeáveis precisam optar com decryptGame: true.
O decrypt <file> abre uma caça à cifra estilo Wordle: palpite do mesmo
tamanho, Enter pra enviar, cada letra pontua acerto · presente · erro.
Resolva em decryptAttempts (padrão 6) e a senha é recuperada, o arquivo abre
e o tracer ativo é evadido. Perder → a cifra se reembaralha. A palavra-alvo (fixa
decryptWord, aleatória de decryptWords, ou de uma lista padrão) é escolhida
por arquivo no load e aparece no gmsheet (decryptWord:KERNEL).
Se um arquivo tem crackDC, o crack abre um diálogo pedindo o resultado da
rolagem do jogador (um número):
- Rolagem maior que o DC → o crack roda.
- Senão, falha e gasta uma das
crackAttempts(padrão 3). - Esgotadas as tentativas, o arquivo fica em lockout — só abre com a senha (
decrypt).
O DC fica oculto pros jogadores (visível só no Modo Mestre). Um crack com teste de rolagem é também o que arma o rastreador, se o tema/cenário definir um.
- Valores do front-matter coagem pra boolean/número automaticamente; use aspas pra forçar string (ex.: senha numérica
password: "12345"). -
revealsaceita vários paths separados por vírgula. Ao destrancar, a senha de cada arquivo nomeado passa a ser conhecida (cadeia de desbloqueios).
Desbloqueios duram por cenário (salvos no localStorage); o comando reset
apaga, assim como reboot ou troca de tema para a visão da sessão. ls marca
arquivos trancados com [LOCKED].