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")