Para garantir uma qualidade consistente das fichas de personagens no repositório, todas as submissões devem atender aos requisitos mínimos abaixo.
1. Código de Conduta
- Código de Conduta do Roll20 se aplica a fichas de personagem e elas devem aderir a ele.
- Não infrinja a propriedade intelectual. As fichas da comunidade não devem incluir criação ou avanço de personagens devido a restrições de direitos autorais. As fichas "By Roll20" podem incluir este conteúdo graças às nossas parcerias com os criadores de jogos. As folhas que são desenvolvidas a partir do código de uma folha "By Roll20" terão de garantir que qualquer código de criação de personagem ou de opções de avanço é removido. Não há problema em ter atributos que calculam automaticamente com base noutros atributos (incluindo o nível atual). Informá-lo-emos se a sua folha submetida violar esta regra.
- Há um requisito específico para as Fichas de Personagens. Todas as submissões de novos pull requests para qualquer ficha de personagem que contenha uma área para “gênero” precisarão torná-la uma entrada de texto aberta (em vez de um menu suspenso contendo uma lista predefinida de opções). Essa diretriz reflete nossos esforços contínuos para sermos inclusivos em nossa abordagem para facilitar os jogos - queremos que o máximo de pessoas possa jogar da maneira que lhes proporciona mais diversão. Nesse caso, dedicar tempo para resolver essa pequena mudança de programação faz uma enorme diferença para nossa comunidade.
2. Bom Código
- Estilo mínimo. Todas as fichas de personagens devem ter uma pequena quantidade de CSS & HTML para torná-las esteticamente agradáveis e utilizáveis. Por exemplo, os elementos não devem se sobrepor acidentalmente quando uma janela é redimensionada. A ficha deve ser familiar para jogadores acostumados a ver a versão em papel dessa ficha. Não precisa ser idêntica à versão em papel e deve evitar violar qualquer direito autoral, mas também não deve ser projetada de forma tão confusa que os jogadores tenham dificuldade em entender como usá-la. Projetada para facilitar o uso em primeiro lugar.
-
Sintaxe HTML correta. É incentivado o uso da sintaxe HTML correta para aumentar a acessibilidade e tornar o código mais fácil de manter para contribuições da comunidade. Todas as novas fichas devem usar elementos de contêiner adequados, como
<div>
e<span>
. O seu ficheiro HTML devenão usar a etiqueta<head>
ou<body>
, ou a sua folha de personagem pode não ser carregada na mesa virtual.
-
No
<tabela>
usada para layout. Como padrão geral, um elemento de<tabela>
deve ser usado apenas para dados tabulares. A<tabela>
não deve ser usada paralayouts. VejaDesigning Character Sheet Layout para alternativas.
- É necessária compatibilidade com servidor Unix. Todos os arquivos CSS, HTML e JSON devem ser enviados com quebras de linha Unix (LF). Uma pesquisa no Google pode te dizer como configurar isso no seu editor de texto favorito. Além disso, cada envio deve incluir um arquivo sheet.json válido e uma imagem de visualização. Instruções para criar um sheet.json adequado podem ser encontradas no GitHub README.
- Chrome & Firefox compatível. Os dois navegadores oficialmente suportados pelo Roll20 são o Chrome & Firefox. Todas as fichas de personagem precisam ser testadas para funcionalidade e estilo nesses dois navegadores.
3. Uma Experiência Satisfatória
- Character Sheets must be standalone by default. All basic sheet functionality must be usable without external requirements such as images or fonts hosted outside Roll20, and Mod (API) companion scripts. Mod (API) companions are a welcome supplement for character sheets, but to ensure accessibility & functionality to community members at all of subscription levels, the sheet must be usable by default without outside requirements.
- Respect existing sheets. before starting work on a new sheet, ensure that a sheet doesn't already exist for the system you're working on. Building more than one sheet for the same game splits the party, and makes it harder for the game's community to grow on Roll20! Overhauls of existing community sheets which haven't seen maintenance in over a year are permissible if you can't get in contact with the original author. In those cases, efforts must be taken to convert existing attributes from the old sheet so that the data in existing campaigns does not get erased.
- Botões de rolagem funcionais. As melhores fichas não apenas acompanham as estatísticas do personagem, elas têm as rolagens mais comuns do sistema de jogo incorporadas nelas. Isso torna muito mais fácil para novos jogadores jogarem o jogo adicionando funcionalidade intuitiva. Embora você não precise incluir todas as rolagens do sistema inteiro, incluir rolagens frequentemente usadas quando apropriado pode elevar sua ficha para o próximo nível. Jogos que não têm rolagens, comoAmber Diceless Roleplaying Jogo, não são obrigados a atender a esse padrão. Se você estiver criando uma ficha para um sistema em que esse requisito não se aplique, inclua um comentário em sua solicitação de pull.
-
Entradas & campos de texto para rastreamento de dados. Fichas de personagem para sistemas de jogo que possuem atributos e estatísticas devem incluir elementos
<input>
para que os usuários possam acompanhar seus dados. Sempre que possível, use nomes padrão para os atributos, por extenso. Por exemplo, "inteligência", "força" e "sabedoria". Isso é importante para que, se um personagem for importado para um jogo com uma ficha diferente, a maioria dos valores possa ser transferida. Se os nomes dos atributos forem todos diferentes, então nada pode ser importado. A melhor opção é olhar as fichas existentes para esse sistema e, sempre que possível, usar os mesmos nomes de atributos que já estão em uso. Da mesma forma, as tags<textarea>
devem ser incluídas quando aplicável para que os usuários possam adicionar notas ou descrições. Este requisito é altamente variável com base no sistema e, se este requisito não se aplicar ao sistema de jogo para o qual você está criando uma ficha, inclua um comentário em sua solicitação de pull.
- As regras devem estar prontamente disponíveis. As fichas podem ser enviadas para jogos independentes e sistemas caseiros. Jogos caseiros precisarão garantir que não estejam violando direitos autorais de seus respectivos sistemas de jogo. Em ambos os casos, as regras precisam estar prontamente disponíveis online para o público.
Além do Mínimo
As sugestões abaixo não são necessárias para novas fichas de personagem que desejam ser adicionadas ao repositório. Os autores de fichas novos no desenvolvimento front-end devem se concentrar em atender aos requisitos mínimos acima para a versão um de sua ficha. No entanto, uma vez que você se sinta confortável com o básico, as sugestões abaixo podem levar a ficha a um nível superior e fazê-la brilhar realmente.
- CSS Wizardry. Nossa comunidade de autores de fichas é excepcionalmente inteligente e criativa. Eles oferecem aqui exemplos de maneiras de aproveitar o sistema de fichas de personagem.
- Modelos de Rol Personalizados. Os modelos de rolagem podem ser personalizados para combinar com o esquema de cores & estilo da sua ficha de personagem. Além disso, eles podem ser utilizados para ajudar os usuários a obter uma saída de rolagem que corresponda às mecânicas específicas do sistema de jogo.
-
Os Trabalhadores de Ficha são uma ferramenta poderosa!. Estes scripts são uma funcionalidade avançada do sistema de Folhas de Caracteres que permite ao autor da folha especificar o JavaScript a executar durante determinados eventos, como, por exemplo, sempre que os valores de uma entrada
são modificados.
- Chaves de Tradução. A internacionalização da Ficha de Personagem permitirá que você projete sua Ficha de Personagem de forma que nossa comunidade de tradutores possa traduzir sua ficha para o idioma deles, tornando esse idioma disponível para qualquer pessoa no Roll20. A partir de setembro de 2016, não aceitamos mais novas Fichas de Personagem que sejam simplesmente traduções alternativas de fichas de personagem já existentes.
- Configurações Padrão da Ficha. As opções selecionáveis podem ser especificadas no arquivo sheet.json fornecido com sua Ficha de Personagem Personalizada. Estas opções fornecem definições por defeito para todas as Personagens quando a sua Ficha de Personagem está a ser utilizada.
- Integração do Compendium. Ao designar que a sua folha é compatível com um Compêndio, os jogadores terão acesso direto a esse Compêndio na barra lateral direita durante o jogo. Os compêndios ainda são um recurso em crescimento no Roll20 e a integração ainda não está disponível para a maioria dos sistemas de jogo.
-
Incluir nomes de atributos nos títulos. Adicionar
título=@{attribute_name}
ajuda os criadores de macros a encontrar o nome dos atributos mais facilmente. Os títulos são ocasionalmente usados para outros fins, então use seu melhor julgamento.
-
Ligação à página wikiSe criou uma página wiki para a sua folha, pode estabelecer uma ligação na secçãosheet.json's
instructions
.
Melhores Práticas
Essas são diretrizes de melhores práticas para ajudar a aumentar a consistência entre os autores de fichas, a fim de fornecer um repositório de código sustentável para a comunidade.
Atributos/Entradas
- Os nomes dos atributos devem estar em minúsculas. Pela questão de consistência, todos que fazem isso facilitam um pouco a programação.
-
RPGs têm palavras estranhas. Utilize
spellcheck="false"
para entradas de texto e áreas de texto para evitar que o navegador indique erros de digitação.
- Use menos atributos & nas entradas. Quanto mais atributos e entradas você tiver, mais lenta será a carga da ficha. Não se trata de uma preocupação para a folha média, mas folhas robustas como aD&D 5E Sheet by Rollou aPathfinder (Community)atributos em excesso & inputs podem levar a problemas de desempenho se não forem geridos.
- Abrange as entradas desactivadas. Os vãos apoiados por atributossão mais eficientes do que as entradas desactivadas.
Chapelaria & Modelos de rolos
- Evite cascatas assíncronas. Sempre que possível, evite cascata assíncrona para trabalhadores de folhas. Um exemplo disto é: getAttrs -> calculations -> setAttrs -> getAttrs -> calculations -> setAttrs… Uma maneira melhor de fazer isso é obterAtributos para tudo que você precisará, em seguida, fazer todos os cálculos necessários antes de finalmente usar um único setAtributos.
- Trabalhadores de planilha sobre atributos calculados automaticamente. Os trabalhadores de planilha são acionados quando eventos ocorrem, o que melhora o desempenho das planilhas de personagens sobre atributos calculados automaticamente, já que esses eventos ocorrem com menos frequência.
- Coloque modelos de rolagem e trabalhadores de planilha no final da página HTML.É consideradaboa prática colocar JavaScript no final das páginas.
Detalhes do estilo do modo escuro
- Mudança de tema
Quando um usuário altera para o modo escuro, a mesa virtual adiciona a classe CSS específica.sheet-darkmode
ao elemento <body> . Quando volta a ligar o interrutor para a luz, essa classe é removida. - Alteração de tema
Ao adicionar opções de cores ao final de suas folhas de estilo CSS, envolvidas embody.sheet-darkmode { }
os usuários verão a mudança quando ativarem a opção.
Outros específicos do Roll20
-
Evite !important. Sempre que possível, evite usar
!important
em CSS, pois isso pode criar um efeito cascata de !importants cada vez mais.
-
Não inclua
sheet-
para os nomes de classe CSS no HTML.sheet-
é automaticamente adicionado às classes CSS no HTML, então é redundante repeti-lo lá. Deixar de fora também aumenta a legibilidade se muitas classes forem usadas.- Por exemplo, no HTML, em vez de
class="sheet-strRow"
, apenas façaclass="strRow"
. AVISO: o acima é falso para classes de elementos <rolltemplate> . Para estes, você precisa especificar o nome completo da classe (ou seja, começando comsheet-
) ou seus rolltemplates simplesmente deixarão de funcionar.
- Por exemplo, no HTML, em vez de
- Inclua uma largura mínima. Incluir uma largura mínima na folha ajudará com o redimensionamento. Tente não exceder a largura padrão quando uma folha é aberta pela primeira vez, aproximadamente 800px-900px. Folhas de personagem com visualização de NPC podem ser menores e folhas de PC elaboradas às vezes são maiores.
- Use ^{ } para traduções em macros de botões. Nos seus macros de botões, usar ^{key} irá inserir a tecla apropriada do json de tradução do idioma apropriado. Isso torna os modelos de rolagem mais adaptáveis a outros idiomas.
GitHub/Envio de Folha
-
Use
git branch
para o seu trabalho em andamento. Crie um novo branch para armazenar o seu trabalho em andamento. Apenas faça o merge do código finalizado no ramo mestreroll20-character-sheetsquando estiver pronto para um pull request. Isso ajudará a evitar a submissão de solicitações de pull com código inacabado, o que pode resultar em atraso na fusão do seu código. Melhor ainda, faça um fork do repositório roll20-character-sheets e envie suas solicitações de pull através do GitHub.
- Inclua todas as imagens no Repositório Git. As imagens devem ser incluídas no repositório do GitHub para fácil acesso, redução de dependências externas e atualizações mais simples.
Leia mais em Guia Iniciante do GitHub.
HTML/CSS/Codificação Geral
Dicas gerais que se aplicam além de apenas trabalhar na criação de fichas de personagens para o Roll20.
-
Tente estar próximo do padrão XHTML. Por exemplo, terminando elementos com uma barra assim
<input ... />
. -
Use estilos inline como último recurso. Estilos inline são códigos menos manuteníveis e folhas de estilo externas são quase sempre uma opção melhor. Mantenha o mínimo possível de atributos
style =
no HTML. - Escreva código legível. Se o código for mais legível, é mais fácil para os outros contribuírem e colaborarem. 18 Dicas sobre como escrever código legível
- Siga os guias gerais de estilo HTML/CSS. Quando não houver contradição com as melhores práticas específicas do Roll20, siga os guias de estilo recomendados para manter seu código consistente e mais legível, como: