Files
dungeon-sheets/MSavage_template.tex
T
2022-03-19 12:34:34 -03:00

205 lines
7.1 KiB
TeX

\documentclass[letterpaper,openany,oneside,twocolumn]{book}
\usepackage{fontspec}
\usepackage[justified]{dnd}
\usepackage{ifthen}
\usepackage{pstricks}
\usepackage[UKenglish]{babel}
\usepackage{dndtemplate}
\setlength\oddsidemargin{\dimexpr(\paperwidth-\textwidth)/2 - 1in\relax}
\setlength\evensidemargin{\oddsidemargin}
% Headline
\CharacterName{[[ char.name ]]}
% adds only main class and total level to prevent overflow
\Class{[[ char.primary_class.name ]] [[ char.level ]]}
\Background{[[ char.background ]]}
\PlayerName{[[ char.player_name ]]}
\Race{[[ char.race ]]}
\Alignment{[[ char.alignment ]]}
\XP{[[ char.xp ]]}
% Ability scores
\StrengthScore{[[ char.strength.value ]]}
\DexterityScore{[[ char.dexterity.value ]]}
\ConstitutionScore{[[ char.constitution.value ]]}
\IntelligenceScore{[[ char.intelligence.value ]]}
\WisdomScore{[[ char.wisdom.value ]]}
\CharismaScore{[[ char.charisma.value ]]}
% Ability modifiers
\StrengthModifier{[[ "{:+d}".format(char.strength.modifier) ]]}
\DexterityModifier{[[ "{:+d}".format(char.dexterity.modifier) ]]}
\ConstitutionModifier{[[ "{:+d}".format(char.constitution.modifier) ]]}
\IntelligenceModifier{[[ "{:+d}".format(char.intelligence.modifier) ]]}
\WisdomModifier{[[ "{:+d}".format(char.wisdom.modifier) ]]}
\CharismaModifier{[[ "{:+d}".format(char.charisma.modifier) ]]}
% Saving Throws
\StrengthSavingThrowModifier{[[ "{:+d}".format(char.strength.saving_throw) ]]}
\DexteritySavingThrowModifier{[[ "{:+d}".format(char.dexterity.saving_throw) ]]}
\ConstitutionSavingThrowModifier{[[ "{:+d}".format(char.constitution.saving_throw) ]]}
\IntelligenceSavingThrowModifier{[[ "{:+d}".format(char.intelligence.saving_throw) ]]}
\WisdomSavingThrowModifier{[[ "{:+d}".format(char.wisdom.saving_throw) ]]}
\CharismaSavingThrowModifier{[[ "{:+d}".format(char.charisma.saving_throw) ]]}
\AcrobaticsSkillModifier{[[ "{:+d}".format(char.acrobatics.modifier) ]]}
\AnimalHandlingSkillModifier{[["{:+d}".format(char.animal_handling.modifier) ]]}
\ArcanaSkillModifier{[[ "{:+d}".format(char.arcana.modifier) ]]}
\AthleticsSkillModifier{[[ "{:+d}".format(char.athletics.modifier) ]]}
\DeceptionSkillModifier{[[ "{:+d}".format(char.deception.modifier) ]]}
\HistorySkillModifier{[[ "{:+d}".format(char.history.modifier) ]]}
\InsightSkillModifier{[[ "{:+d}".format(char.insight.modifier) ]]}
\IntimidationSkillModifier{[[ "{:+d}".format(char.intimidation.modifier) ]]}
\InvestigationSkillModifier{[[ "{:+d}".format(char.investigation.modifier) ]]}
\MedicineSkillModifier{[[ "{:+d}".format(char.medicine.modifier) ]]}
\NatureSkillModifier{[[ "{:+d}".format(char.nature.modifier) ]]}
\PerceptionSkillModifier{[[ "{:+d}".format(char.perception.modifier) ]]}
\PerformanceSkillModifier{[[ "{:+d}".format(char.performance.modifier) ]]}
\PersuasionSkillModifier{[[ "{:+d}".format(char.persuasion.modifier) ]]}
\ReligionSkillModifier{[[ "{:+d}".format(char.religion.modifier) ]]}
\SleightOfHandSkillModifier{[[ "{:+d}".format(char.sleight_of_hand.modifier) ]]}
\StealthSkillModifier{[[ "{:+d}".format(char.stealth.modifier) ]]}
\SurvivalSkillModifier{[[ "{:+d}".format(char.survival.modifier) ]]}
% Prociciencies
\StrengthProficiency{[[ "strength" in char.saving_throw_proficiencies ]]}
\DexterityProficiency{[[ "dexterity" in char.saving_throw_proficiencies ]]}
\ConstitutionProficiency{[[ "constitution" in char.saving_throw_proficiencies ]]}
\IntelligenceProficiency{[[ "intelligence" in char.saving_throw_proficiencies ]]}
\WisdomProficiency{[[ "wisdom" in char.saving_throw_proficiencies ]]}
\CharismaProficiency{[[ "charisma" in char.saving_throw_proficiencies ]]}
\AcrobaticsProficiency{[[ "acrobatics" in char.skill_proficiencies ]]}
\AnimalHandlingProficiency{[[ "animal_handling" in char.skill_proficiencies ]]}
\ArcanaProficiency{[[ "arcana" in char.skill_proficiencies ]]}
\AthleticsProficiency{[[ "athletics" in char.skill_proficiencies ]]}
\DeceptionProficiency{[[ "deception" in char.skill_proficiencies ]]}
\HistoryProficiency{[[ "history" in char.skill_proficiencies ]]}
\InsightProficiency{[[ "insight" in char.skill_proficiencies ]]}
\IntimidationProficiency{[[ "intimidation" in char.skill_proficiencies ]]}
\InvestigationProficiency{[[ "investigation" in char.skill_proficiencies ]]}
\MedicineProficiency{[[ "medicine" in char.skill_proficiencies ]]}
\NatureProficiency{[[ "nature" in char.skill_proficiencies ]]}
\PerceptionProficiency{[[ "perception" in char.skill_proficiencies ]]}
\PerformanceProficiency{[[ "performance" in char.skill_proficiencies ]]}
\PersuasionProficiency{[[ "persuasion" in char.skill_proficiencies ]]}
\ReligionProficiency{[[ "religion" in char.skill_proficiencies ]]}
\SleightOfHandProficiency{[[ "sleight_of_hand" in char.skill_proficiencies ]]}
\StealthProficiency{[[ "stealth" in char.skill_proficiencies ]]}
\SurvivalProficiency{[[ "survival" in char.skill_proficiencies ]]}
\Inspiration{[% if char.inspiration %] $\star$ [% endif %]}
\Proficiency{[[ "{:+d}".format(char.proficiency_bonus) ]]}
\Perception{[[ 10 + char.perception.modifier ]]}
\ArmorClass{[[ char.armor_class ]]}
\Initiative{[[ char.initiative ]]}
\Speed{[[ char.speed ]]}
\MaxHitPoints{[[ char.hp_max ]]}
[% if char.hp_current %]\CurrentHitPoints{[[ char.hp_current ]]}[% endif %]
[% if char.hp_temp %]\TemporaryHitPoints{[[ char.hp_temp ]]}[% endif %]
\MaxHitDice{[[ char.hit_dice.replace(" ","") ]]}
\CurrentHitDice{[[ char.hit_dice_current.replace(" ", "") ]]}
\CP{[% if char.cp > 0 %][[ char.cp ]][% endif %]}
\SP{[% if char.sp > 0 %][[ char.sp ]][% endif %]}
\GP{[% if char.ep > 0 %][[ char.ep ]][% endif %]}
\EP{[% if char.gp > 0 %][[ char.gp ]][% endif %]}
\PP{[% if char.pp > 0 %][[ char.pp ]][% endif %]}
[% for w in char.weapons %]
\AddWeapon{[[ w.name ]]}{[[ "{:+d}".format(w.attack_modifier) ]]}{[[ "{}/{}".format(w.damage, w.damage_type) ]]}
[% endfor %]
\AttacksAdditional{
[% if char.armor %]\textbf{Armor}: [[ char.armor ]] \\ [% endif %]
[% if char.shield %]\textbf{Shield}: [[ char.shield ]] \\ [% endif %]
[[- char.attacks_and_spellcasting| boxed -]]
}
\OtherProficienciesLanguages{
\textbf{Languages:} [[ char.languages ]] \\
[%- for prof_type, values in char.proficiencies_by_type.items() %]
\textbf{[[ prof_type ]]}: [[ values ]] \\
[%- endfor -%]
}
\Equipment{[[ char.equipment_text| boxed ]]}
\PersonalityTraits{
[[ char.personality_traits ]]
}
\Ideals{
[[ char.ideals ]]
}
\Bonds{
[[ char.bonds ]]
}
\Flaws{
[[ char.flaws ]]
}
\FeaturesTraits{
[[ char.features_summary| boxed ]]
}
% Appearance
\Age{[[ char.age ]]}
\Height{[[ char.height ]]}
\Weight{[[ char.weight ]]}
\Eyes{[[ char.eyes ]]}
\Skin{[[ char.skin ]]}
\Hair{[[ char.hair ]]}
% background
\CharacterAppearance{[[ portrait ]]
[[ char.appearance_text ]]
}
\AdditionalFeaturesAndTraits{
[[ char.additional_description ]]
}
\Characterbackground{
[[ char.backstory ]]
}
\Treasure{
[[ char.treasure ]]
}
\AlliesAndOrganizations{
[[ char.allies ]]
}
\OrganizationName{[[ char.org_name ]]}
[% if char.is_spellcaster %]
%Magic
[[ char | spellsheetparser ]]
[% endif %]
\begin{document}
\newgeometry{left=0cm,right=0cm,top=0cm,bottom=0cm}
\onecolumn
% CHARACTER PAGE
\rendercharactersheet
% BACKSTORY PAGE
\renderbackgroundsheet
[% if char.is_spellcaster %]
% SPELLCASTING PAGE
\renderspellsheet
[% endif %]
\end{document}