Fichas interativas, rolagens e compêndio do SRD para o sistema de RPG Old Dragon 2
Fichas de personagem interativas e rolagens para o sistema Old Dragon 2, dentro do Obsidian.
Projeto de fã, gratuito e não oficial. Implementa apenas as mecânicas e números do sistema (modificadores, CA ascendente, testes roll-under, Jogadas de Proteção), adaptados do SRD gratuito do Old Dragon 2 — não reproduz o texto dos livros.
Old Dragon 2ª edição © 2023 da Old Dragon Editora está licenciado sob CC BY-SA 4.0. Old Dragon™ é marca de seus respectivos detentores.
od2-fichaEscreva um bloco de código com os dados do personagem em YAML:
```od2-ficha
nome: Kael
retrato: "[[kael.png]]"
povo: Varko
classe: Guerreiro
nivel: 3
forca: 15
destreza: 13
constituicao: 14
inteligencia: 9
sabedoria: 11
carisma: 10
pv_max: 22
pv_atual: 22
ca_base: 10
bonus_armadura: 4
bonus_escudo: 1
ba: 3
deslocamento: 9
jpd: 13
jpc: 13
jps: 15
ataques:
- nome: Machado de batalha
bonus: 6
dano: 1d10+2
```
A ficha renderizada calcula automaticamente:
E oferece botões de rolagem:
2d6+1d4);O seletor Ajuste (Fácil/Difícil) aplica-se também à iniciativa. Os espaços de magia preparada têm autocomplete com os nomes do SRD (arcanas/divinas conforme a classe).
retrato: "[[arquivo.png]]" (wikilink, caminho do vault ou URL) exibe a imagem no topo da ficha.Todas as edições reescrevem o YAML do bloco automaticamente — não é preciso editá-lo à mão.
Comando: "Inserir ficha de personagem (OD2)" insere um esqueleto pronto.
Cada seção da ficha (Identificação, Atributos, Combate, Jogadas de Proteção) tem um botão ✎ que abre um formulário e grava direto no bloco. Além dos campos calculados, há campos de bônus somados por cima do cálculo automático — bonus_ba, bonus_jpd, bonus_jpc, bonus_jps — para bônus que o sistema não preenche sozinho (escolhas de raça "à escolha", poderes específicos, itens mágicos).
O cabeçalho mostra o XP e um botão "+ XP" que soma a experiência ganha ao total — já aplicando o bônus de XP do povo (Humano +10%, Meio-Elfo +5%). Quando o total atinge o limiar do próximo nível (Tabelas 3.1–3.4 do LB1, por classe), a ficha avisa "✦ XP suficiente para o nível N" com um botão "Subir para nível N"; a subida é manual, para você rolar os PV do novo nível na hora certa. Enquanto não dá, mostra quanto falta. As tabelas de XP cobrem os níveis 1–10.
od2-ficha| Campo | Tipo | Descrição |
|---|---|---|
nome, jogador |
texto | Nome do personagem e do jogador. |
retrato |
texto | [[arquivo.png]] (wikilink), caminho do vault ou URL. |
povo, classe |
texto | Devem bater com um povo/classe do SRD ou homebrew para puxar bônus e poderes. |
nivel, xp |
número | Nível e experiência acumulada. |
alinhamento |
texto | Ex.: Ordeiro, Neutro, Caótico. |
forca, destreza, constituicao, inteligencia, sabedoria, carisma |
número | Valores 3–18 (10 = modificador 0). |
pv_max, pv_atual |
número | Pontos de vida; o botão rolar PV e o contador −/+ gravam aqui. |
ca_base, bonus_armadura, bonus_escudo, outros_ca |
número | CA final = ca_base (10) + mod DES + armadura + escudo + outros. |
ba |
número | Bônus de Ataque base. Em branco, o plugin usa a tabela da classe/nível. |
jpd, jpc, jps |
número | JP base (DES/CON/SAB). Em branco, vêm da classe/nível. JP final soma o modificador do atributo. |
bonus_ba, bonus_jpd, bonus_jpc, bonus_jps |
número | Bônus somados por cima do cálculo automático. |
deslocamento |
número | Em metros (padrão 9; o povo pode alterar). |
po |
número | Ouro. |
mochila |
booleano | true dá +5 de capacidade de carga. |
ataques |
lista | { nome, bonus, dano } (ex.: dano: 1d8+2). |
equipamento |
lista | { nome, carga }. A capacidade é o maior entre FOR e CON; passar disso é sobrecarga (−3 de deslocamento). |
magias_preparadas |
mapa | Por círculo: { "1": ["Sono", ""], "2": ["Escudo Arcano"] }. |
talentos_pontos |
mapa | Pontos por talento de Ladrão: { "Furtividade": 4 }. |
notas |
texto | Anotações livres. |
Comando "Importar personagem do ODO (Old Dragon Online)": cole o link (ou o ID) de uma ficha pública em olddragon.com.br e o plugin baixa o personagem e insere um bloco od2-ficha preenchido no ponto do cursor.
https://olddragon.com.br/personagens/c1e96e80-2787-475e-8380-9b1dd1da5b7b
São mapeados: atributos, PV, XP, PO, retrato, povo, classe, nível e alinhamento; CA, BA e Jogadas de Proteção (ajustados para exibir exatamente os valores do ODO); ataques (armas) e equipamento com carga (mochila inclusa). Observações:
od2-monstroBloco para criaturas, com botões de ataque/dano e de rolar PV pelos Dados de Vida. Comando: "Inserir statblock de monstro (OD2)".
Qualquer nota do vault com o frontmatter od2-classe: ou od2-povo: é indexada automaticamente e passa a valer nas fichas — basta usar o mesmo nome em classe: / povo:. Uma definição homebrew com o nome de uma classe/povo do SRD sobrescreve a embutida.
Os comandos "Nova classe homebrew (OD2)" e "Novo povo homebrew (OD2)" criam uma nota nova já com um template comentado (o frontmatter precisa ficar no topo da nota, então o comando cria o arquivo em vez de inserir no cursor).
Exemplo de classe:
---
od2-classe: Feiticeiro
base: Mago # herda BA/JP/perfil de magia da base (opcional): Guerreiro/Clérigo/Mago/Ladrão
dado_vida: 4
ba: [0, 1, 1, 1, 2, 2, 2, 3, 3, 3]
jp: [5, 5, 5, 5, 7, 7, 7, 7, 7, 10]
xp: [0, 2500, 5000, 8500, 11500, 23000, 33000, 43000, 53000, 106000]
poderes:
- nivel: 1
nome: Magia Inata
desc: conjura sem grimório.
melhorias:
- nivel: 6
desc: ganha um truque adicional.
---
Campos de classe (od2-classe): base, dado_vida, ba[], jp[], xp[] (limiar por nível), magias[][] (slots por círculo, por nível), magias_sem_extra_atributo, poderes[] ({nivel, nome, desc, melhorias[]}), herda[] ({nome, sem_evolucao} — para especializações), talentos[], talentos_atributo, bonus_por_nivel[].
Campos de povo (od2-povo): deslocamento, infravisao, alinhamento, descricao, bonus_xp (% de XP, ex.: 10), bonus ({jpd, jpc, jps, ba, ca, deslocamento}), habilidades[] ({nome, desc}).
Comando "Gerar compêndio OD2 (SRD)" cria uma pasta de notas de referência interligadas a partir do conteúdo do SRD embutido no plugin:
Classes/ — 4 classes-base + 16 especializações (progressão de BA/JP, magias por dia, poderes);Povos/ — os 6 povos (descrição, deslocamento, infravisão, bônus, habilidades);Equipamento/ — armas, armaduras, itens gerais e sistema monetário;Magias/ — listas arcanas (1º–9º) e divinas (1º–7º) por círculo;Itens Mágicos.md — itens mágicos por categoria;Bestiário/ — ~200 criaturas (A–Z), cada uma com bloco od2-monstro interativo;A pasta de destino é configurável (padrão: Compêndio OD2). O comando é idempotente:
ao regenerar, atualiza as notas marcadas com od2_compendio: true e preserva
qualquer nota sua de mesmo nome.
Comando "Exportar bestiário para Fantasy Statblocks (JSON)" gera, dentro da pasta
do compêndio (<pasta>/Fantasy Statblocks/), o que o
Fantasy Statblocks precisa para
mostrar as ~250 criaturas do SRD com a aparência do OD2:
Bestiário OD2 (import Generic JSON).json — todas as criaturas no formato do FS;Layout Old Dragon 2 (import Layout).json — layout que exibe CA, PV, DV, JP, Moral, XP, Encontro e Tesouro;Como importar no Fantasy Statblocks.md — passo a passo.Importe primeiro o layout (Configurações → Fantasy Statblocks → Layouts → Import) e depois as criaturas (seção de import → Generic JSON). Como a API do Fantasy Statblocks é somente leitura, a ponte é por arquivo — reexecutar o comando regenera os JSON e basta reimportar. Depois disso as criaturas aparecem na busca do FS, no Initiative Tracker e no construtor de encontros.
Detecta automaticamente outros plugins instalados e coopera com eles; se não estiverem presentes, o comportamento padrão é mantido.
É preciso ter os Plugins da comunidade habilitados (na primeira vez o Obsidian pode pedir para desativar o "Modo restrito"/Safe Mode).
O plugin já está na loja de plugins da comunidade do Obsidian:
As atualizações chegam automaticamente pelo próprio Obsidian.
O BRAT instala direto do GitHub e acompanha cada release, útil para testar novidades antes da publicação na loja.
Maicon-Lara/od2-toolkit
main.js, manifest.json e styles.css da
última release.<seu-vault>/.obsidian/plugins/old-dragon-toolkit/ e copie os 3 arquivos
para dentro dela.npm install
npm run dev # build em watch
npm run build # build de produção (gera main.js)
npm test # testes do motor de regras (vitest)
Para testar localmente, copie main.js, manifest.json e styles.css para
<vault>/.obsidian/plugins/old-dragon-toolkit/.
version em manifest.json e package.json, e adicione a entrada em versions.json.v): git tag 0.6.0 && git push --tags..github/workflows/release.yml builda e anexa os três arquivos à release.Após a primeira release, abra um PR em
obsidianmd/obsidian-releases
adicionando a entrada do plugin em community-plugins.json.
Licenciamento duplo:
LICENSE).src/basedata.ts, etc.) é adaptado do SRD do Old Dragon 2, licenciado sob Creative Commons CC BY-SA 4.0. As partes deste projeto derivadas do SRD são, portanto, disponibilizadas sob a mesma licença (CC BY-SA 4.0 — compartilhamento pela mesma licença). Ver NOTICE.md.Atribuição (CC BY-SA 4.0):
Old Dragon 2ª edição © 2023 da Old Dragon Editora está licenciado sob CC BY-SA 4.0.
Projeto gratuito e não comercial de fã. Conforme a política de licenciamento oficial, conteúdo de fã pode ser criado livremente desde que não seja vendido.