mirror of
https://github.com/Threnklyn/dungeon-sheets.git
synced 2026-05-18 20:23:27 +02:00
205 lines
7.1 KiB
TeX
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} |