tormenta20 - v0.0.0
    Preparing search index...

    tormenta20 - v0.0.0

    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.

    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
    

    Ruby (Bundler):

    # Gemfile
    gem 'tormenta20'
    bundle install
    

    Node.js / TypeScript:

    npm install tormenta20
    

    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", ... }
    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
    • Ruby >= 3.0.0
    • Node.js >= 18
    • Bundler
    git clone https://github.com/LuanGB/tormenta20.git
    cd tormenta20
    bundle install
    npm install

    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
    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
    # Ruby
    bin/test

    # TypeScript
    npm test

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

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

    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.