Skip to content

Extensão para Google Chrome e Firefox que personaliza fichas de Tormenta20 no Roll20 adicionando magias, habilidades e poderes.

License

Notifications You must be signed in to change notification settings

pyanderson/roll20_tormenta20_grimoire

Repository files navigation

Grimório do Tormenta20 para o Roll20

Escolha magias, habilidades, poderes, equipamentos e raça diretamente na sua ficha!

Consulte regras de combate e muito mais direto no Roll20.

Extensão para o Roll20 que auxilia na sua campanha de Tormenta20.

Ficha:

  • Escolher magias;
  • Escolher habilidades e poderes;
  • Escolher equipamento;
  • Escolher raça com preenchimento automático de habilidades.
  • Adiciona cálculo de CD na versão antiga da ficha (A versão JDA já possui essa funcionalidade).
  • Importar/Exportar ficha.

Grimório (disponível via botão posicionado abaixo dos botões de zoom):

  • Regras de combate e testes;
  • Condições, raças, classes, origens, perícias, poderes, equipamentos, magias e habilidades;
  • Habilita a opção de adicionar habilidades de raças e classes, poderes, equipamentos e magias arrastando do grimório para a sua ficha.
  • Busca rápida.

Chat:

  • Transforma condições em itens clicáveis que mostram mais informações sobre a condição.

Aviso

Todo o conteúdo da pasta src/data/ está sob a licença OPEN GAME LICENSE.

Icons from freepik.

Instalação

Visite a página da loja de extensões do seu navegador:

Roadmap

  • Magias direto na ficha [v0.0.2]
  • Compatibilidade com Firefox [v0.0.3]
  • Menu lateral de regras [v0.0.4]
  • Combate [v0.0.4]
  • Condições [v0.0.4]
  • Perícias [v0.0.4]
  • Remoção de permissões desnecessárias [v0.0.5]
  • Poderes de classes (Ficha) [v0.0.8]
  • Poderes de origens (Ficha) [v0.0.8]
  • Poderes gerais (Ficha) [v0.0.8]
  • Equipamento (Menu Lateral) [v0.0.10]
  • Versão parcial do Jogo do Ano e subtistuição do menu lateral por um botão que abre o Grimório [v0.3.0]
  • Jogo do Ano [v0.3.1]
  • Condições clicáveis no chat [v0.4.0]
  • Busca [v0.4.2]
  • Poderes de classes (Grimório) [v0.4.3]
  • Poderes de origens (Grimório) [v0.4.3]
  • Poderes gerais (Grimório) [v0.4.3]
  • Equipamento (Ficha) [v0.4.4]
  • Autocomplete para raças (Ficha) [v0.4.5]
  • Tormenta20 Game of the Year - Suporte para a ficha do jogo do ano. [v0.4.8]
  • Habilidades de raças adicionadas automaticamente. [v0.4.11]
  • Tamanho e deslocamento atualizados automaticamente na versão jogo do ano da ficha. [v0.4.12]
  • Origens (Grimório) [v0.4.14]
  • Suporte para arrastar e soltar na ficha para raças, classes, poderes, equipamento e magias. [v0.6.0]
  • Importar/Exportar fichas. [v0.7.0]
  • Divindades (Grimório)
  • Bestiário?
  • ??????

FAQ

Qual versão do livro está sendo usada?

Versão Jogo do Ano, mais precisamente a 3ª edição lançada.

Quais templates de fichas a extensão tem suporte?

Para os templates Tormenta 20 e Tormenta20 Game of the Year.

Como posso contribuir?

Sugestões e feedbacks sempre são bem vindos, você pode usar as issues para isso.

Se você já possui alguma experiência com git e github e quer ajudar a manter o conteúdo atualizado pode abrir um Pull Request atualizando alguma magia, habilidade, poder, etc.

Como funciona o Roadmap? Existe algum prazo?

Conforme as ideias surgem ou recebo sugestões, elas são adicionadas no Roadmap, então não necessariamente ele será executado na ordem que aparece, mas as ideias e sugestões da comunidade influenciam bastante na ordem que as coisas serão feitas.

Como esse é um projeto que estou mantendo no meu tempo livre não é possível determinar prazos.

Como os dados são gerados?

Os dados são extraídos do livro através de scripts e interações manuais. Mais detalhes em data-generator.

Desenvolvendo

Dependências

Então instale os pacotes:

npm i

Build

O firefox não tem suporte para a versão 3 do manifest, por isso é necessário ter as duas versões disponíveis, sendo assim, tem dois comandos para gerar o bundle em desenvolvimento.

  • v2
npm run build:dev:v2
  • v3
npm run build:dev

Os arquivos da extensão serão gerados na pasta dist/.

Chrome

Para testar no chrome você vai precisar carregar uma extensão sem compactação, veja mais detalhes aqui.

Firefox

Para testar no firefox você vai precisar carregar uma extensão temporária, veja mais detalhes aqui.

Content scripts

Essa extensão usa content scripts por que precisa acessar diretamente os recursos da página. Você pode verificar mais detalhes nas documentações oficiais:

Isso significa que a extensão é executada em um "mundo isolado", sem acesso a recursos importantes, como a API interna do Roll20, por isso, é utilizada uma técnica de injeção de script para conseguir acessar esses recursos. Mas existe uma contrapartida, temos que aceitar as limitações e uma certa imprevisibilidade da aplicação Roll20, por exemplo, no momento a versão jQuery utilizada é a 1.9.1, e não temos controle sobre isso, a qualquer momento eles podem atualizar para uma versão incompatível com algo que está sendo utilizado por essa extensão, embora seja improvável grandes mudanças do tipo, essa é uma opção factível.

Sendo assim, o uso de jQuery é o mínimo possível, se limitando à casos que se precisa de compatibilidade de layout com o Roll20 (diálogos).

Documentação

As funções estão documentadas usando JSDoc, sem nenhuma razão específica só por que eu queria testar mesmo :D (é provavel que eu mude para typescript e essa documentação talvez não faça tanto sentido). Para gerar a Documentação, siga os passos:

  • Instale o Node caso não tenha ainda. Recomendo instalar via nvm.

Instale as dependências:

npm i

Gere a Documentação:

npm run docs

A documentação será gerada na pasta out, seguindo o seguinte padrão: out/roll20_tormenta20_grimoire/{versão-atual}/index.html