Skip to content

YggdrasilGeekNetwork/tormenta20

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tormenta20

Ruby npm CI Coverage Ruby Docs Docs License

Uma biblioteca Ruby, TypeScript e Python com dados do RPG de mesa brasileiro Tormenta20.

Inclui um banco de dados SQLite pré-populado com magias, classes, origens, divindades, poderes, equipamentos, raças e condições do sistema T20. Todos os registros expõem referências de livro e página via bookReference() / book_reference.

Dependências do Sistema

A biblioteca usa SQLite3. Em ambientes Linux (incluindo Docker):

# Debian/Ubuntu
apt-get install libsqlite3-0

# Alpine
apk add sqlite-libs

No Dockerfile da sua aplicação:

RUN apt-get install --no-install-recommends -y libsqlite3-0

Instalação

Ruby (Bundler):

# Gemfile
gem 'tormenta20'
bundle install

Node.js / TypeScript:

npm install tormenta20

Uso Rápido

Ruby:

require 'tormenta20'

Tormenta20.magias.arcanas.by_circle("3")
Tormenta20.classes.conjuradores.all
Tormenta20.poderes.poderes_concedidos.all
Tormenta20.racas.find('anao').book_reference  # => "T20 - EJA, p. 20"

TypeScript / JavaScript:

import { Magia, Classe, Poder, Raca } from 'tormenta20'

Magia.arcanas().all()
Classe.conjuradores().all()
Poder.poderesConcedidos().all()
Raca.find('anao')?.bookReference()  // => { formatted: "T20 - EJA, p. 20", ... }

Modelos

Model Descrição Qtd Ruby TypeScript
Magia Magias arcanas, divinas e universais 198 docs/ruby/magias.md docs/ts/magias.md
Classe Classes de personagem 14 docs/ruby/classes.md docs/ts/classes.md
Origem Origens de personagem 35 docs/ruby/origens.md docs/ts/origens.md
Divindade Deuses do Panteão 20 docs/ruby/divindades.md docs/ts/divindades.md
Poder Poderes (origem, concedido, tormenta, classe, raça) 518 docs/ruby/poderes.md docs/ts/poderes.md
Raca Raças jogáveis 18 docs/ruby/racas.md docs/ts/racas.md
Condicao Condições de status 35 docs/ruby/condicoes.md docs/ts/condicoes.md
Arma Armas docs/ruby/armas.md docs/ts/armas.md
Armadura Armaduras docs/ruby/armaduras.md docs/ts/armaduras.md
Escudo Escudos 2 docs/ruby/escudos.md docs/ts/escudos.md
Item Itens gerais docs/ruby/itens.md docs/ts/itens.md
MaterialEspecial Materiais especiais 6 docs/ruby/materiais_especiais.md docs/ts/materiais_especiais.md
Melhoria Melhorias mágicas docs/ruby/melhorias.md docs/ts/melhorias.md
Regra Regras e dados de referência 14 docs/ruby/regras.md docs/ts/regras.md
Livro Livros indexados 1 docs/ruby/livros.md docs/ts/livros.md
IndiceRemissivo Entradas do índice remissivo 1098 docs/ruby/indice_remissivo.md docs/ts/indice_remissivo.md

Development

Pré-requisitos

  • Ruby >= 3.0.0
  • Node.js >= 18
  • Bundler

Setup

git clone https://github.com/LuanGB/tormenta20.git
cd tormenta20
bundle install
npm install

Construir o Banco de Dados

O arquivo db/tormenta20.sqlite3 é gerado a partir dos JSONs em src/json/:

# Ruby
rake build_db

# Build completo (inclui build_db)
rake build

# TypeScript (compila dist/ + docs)
npm run build
npm run docs

Estrutura do Projeto

tormenta20/
├── src/
│   ├── json/          # Dados fonte em JSON
│   ├── ruby/          # Código Ruby (ActiveRecord models)
│   └── ts/            # Código TypeScript
├── docs/
│   ├── ruby/          # Referência da API Ruby
│   └── ts/            # Referência da API TypeScript
├── db/
│   ├── schema.sql
│   └── tormenta20.sqlite3   # Gerado por rake build_db
└── dist/              # Build TypeScript compilado

Testes

# Ruby
bin/test

# TypeScript
npm test

Contributing

Bug reports e pull requests são bem-vindos em https://github.com/LuanGB/tormenta20.

License

Disponível como open source sob os termos da MIT License.

Aviso Legal

Tormenta20 é uma marca registrada da Jambô Editora. Esta biblioteca é um projeto de fã não oficial e não é afiliada, endossada ou patrocinada pela Jambô Editora.

About

A Ruby and Node library with data about the Brazilian TTRPG, Tormenta20

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

 
 
 

Contributors