\documentclass[a4paper, oneside, 10pt]{article}
\usepackage[unicode]{hyperref}
\usepackage[utf8x]{inputenc}
\usepackage[english]{babel}
\usepackage{listings}
\date{\today}
\title{}
\author{}
\begin{document}



\section{\texorpdfstring{Help da função fichaDnD}{Help da funao fichaDnD}}
\label{sec:help_da_funao_fichadnd}
\lstset{frame=single}
\begin{lstlisting}

fichaDnD                         package:nenhum                    R Documentation

Gera os dados para preencher a ficha de personagem do RPG Dungeons and Dragons

Description:

  Auxilia o preenchimento de fichas de personagem do RPG Dungeons and Dragons ao fornecer os dados referentes ao 
  personagem que se deseja criar. Isso é feito a partir das informações contidas no livro do jogador (Player’s 
  Handbook) e dos cálculos e sorteios associados. 

Usage:

  fichaDnD(abil, ord, align, race, clas, back, half.elf)

Arguments:

  abil: Vetor composto por caracteres. Determina o modo como os valores dos atributos serão determinados: "random" 
  para sortear os valores e "fixed" para usar os valores fixos estipulados pelo livro do jogador.

  ord: Vetor composto por caracteres contendo seis elementos em uma ordem específica. Cada elemento corresponde a um 
  dos atributos e a sua ordem vai determinar quais os valores designados para cada atributo (ver Details). Os 
  elementos que devem ser ordenados de acordo com a preferência do usuário da função são: "Str", "Dex", "Con", 
  "Int", "Wis" e "Cha" (ver Details).

  align: Vetor composto por caracteres. Determina qual o alinhamento do seu personagem dentre as opções: "LG", "LN", 
  "LE", "CG", "CN", "CE", "NG", "N", "NE" (ver Details). 

  race: Vetor composto por caracteres. Determina qual a raça do seu personagem: "dwarf", "elf", "halfling", "human", 
  "dragonborn", "gnome", "half-elf", "half-orc" ou "tiefling".

  clas: Vetor composto por caracteres. Determina qual a classe do seu personagem: "barbarian", "bard", "cleric", 
  "druid", "fighter", "monk", "paladin", "ranger", "rogue", "sorcerer", "warlock" ou "wizard".

  back: Vetor composto por caracteres. Determina qual o antecedente do seu personagem: "acolyte", "charlatan", 
  "criminal", "entertainer", "folk hero", "guild artisan", "hermit", "noble", "outlander", "sage", "sailor", 
  "soldier" ou "urchin".

  half.elf: Vetor composto por caracteres contendo dois elementos sem ordem específica. Este argumento só é 
  necessário se a raça do seu personagem for meio-elfo (half-elf), caso contrário esse argumento não é utilizado 
  pela função. Este argumento determina quais serão os dois atributos que receberão um aumento adicional de um 
  ponto. Podem ser escolhidos quaisquer dois argumentos dentre "Str", "Dex", "Con", "Int", "Wis" e "Cha" (ver 
  Details).


Details:

  Após determinar os valores dos atributos com "abil" eles serão organizados do maior para o menor. A ordem 
  escolhida para os atributos em "ord" irá determinar quais serão os atributos correspondentes a cada valor. Dessa 
  forma o primeiro elemento do vetor "ord" vai estar associado ao maior valor de atributo, o segundo vai ter o 
  segundo maior valor de atributo e assim sucessivamente, de modo que o último elemento do vetor estará associado ao 
  menor valor de atributo.

  Significado dos elementos que compõe os argumentos "ord" e "half.elf": Str = Strength, Dex = Dexterity, Con = 
  Constitution, Int = Intelligence, Wis = Wisdom, Cha = Charisma.

  Significado dos elementos que compõe o argumento "align": LG = Lawful Good, LN = Lawful Neutral, LE = Lawful Evil, 
  CG = Chaotic Good, CN = Chaotic Neutral, CE = Chaotic Evil, NG = Neutral Good, N = Neutral, NE = Neutral Evil.


Value:

  É gerada uma lista com os seguintes elementos:

  Ability Score: Apresenta os atributos, seus valores e seus modificadores

  General Data: Apresenta os dados referentes ao tamanho, velocidade de movimento, bônus de proficiência, percepção 
  passiva, iniciativa, dado de vida e pontos de vida 

  Informations: Apresenta as características da raça e línguas faladas

  Proficiencies: Apresenta as proficiências em armadura, armas e ferramentas

  Skills: Apresenta as perícias, seus modificadores e em quais delas o personagem é proficiente

  Choose the other skills: Apresenta as outras perícias em que o personagem pode ser proficiente

  Traits: Apresenta as características da classe e, para personagens que usam magia, as informações sobre o número 
  de truques conhecidos, o número de magias conhecidas, o número de usos de magia permitidos, o atributo do qual 
  depende o poder mágico, a dificuldade para defender-se de uma magia utilizada pelo seu personagem, o bônus para 
  acerto dos ataques mágicos, as magias que pode conjurar como ritual e se há ou não um canalizador de magias 

  Saving Throws: Apresenta os testes de resistência, seus modificadores e em quais deles o personagem é proficiente

  Equipments: Apresenta os equipamentos que o personagem recebe e quais outros podem ser escolhidos

  Personality Traits: Apresenta o alinhamento, traço de personalidade, ideais, laços e falha de caráter do 
  personagem.  

  Complementary information: Apresenta informações sobre como deve ser feito o cálculo da classe de armadura, como o 
  uso de escudo influencia a classe de armadura e como calcular o valor final dos modificadores de perícia para as 
  perícias que o jogador escolher

  E, para as classes que usam magia desde o primeiro nível, há também o elemento Spells:
  Spells: Apresenta a lista de todos os truques e magias que podem ser conhecidos pela a classe escolhida 


Warning:

  Todos os argumentos devem ser preenchidos da forma como mostrado, a função não permite o uso de palavras parecidas 
  com as predefinidas

Author(s):

  Arthur Bottacin Cambler
  email: arthur_mura@hotmail.com

References:

  Consultas para solução de problemas que auxiliaram na função:
  https://stackoverflow.com/questions/9368900/how-to-check-if-object-variable-is-defined-in-r
  https://stackoverflow.com/questions/1169248/test-if-a-vector-contains-a-given-element
  https://stackoverflow.com/questions/11811027/replace-function-examples 
  https://stackoverflow.com/questions/27912800/check-whether-two-vectors-contain-the-same-unordered-elements-in-r 
  https://stackoverflow.com/questions/28346065/if-or-multiple-conditions 
  https://stackoverflow.com/questions/16819956/warning-message-in-invalid-factor-level-na-generated

  Livro do jogador:
  Wizards RPG Team. Player's Handbook (Dungeons and Dragons). 5 ed. Washington:Wizards of the Cost, 2014 

Examples:

  fichaDnD(abil="fixed", ord=c("Dex", "Con", "Cha", "Wis", "Str", "Int"), align="CN", race="human", clas="rogue", 
  back="urchin")

  fichaDnD(abil="random", ord=c("Wis", "Con", "Dex", "Cha", "Str", "Int"), align="CG", race="half-elf", 
  clas="cleric", back="acolyte", half.elf=c("Wis", "Dex"))

  fichaDnD(abil="fixed", ord=c("Str", "Con", "Cha", "Dex", "Wis", "Int"), align="LG", race="tiefling", 
  clas="paladin", back="outlander")

  fichaDnD(abil="random", ord=c("Cha", "Con", "Dex", "Wis", "Str", "Int"), align="NE", race="gnome", 
  clas="sorcerer", back="guild artisan")
\end{lstlisting}



\end{document}
