mirror of
https://github.com/Threnklyn/dungeon-sheets.git
synced 2026-05-27 08:08:27 +02:00
117 lines
3.4 KiB
TeX
117 lines
3.4 KiB
TeX
[% if summary %]
|
|
\pdfbookmark[1]{Summary}{Summary}
|
|
\section*{Summary}
|
|
|
|
[[ summary | rst_to_latex ]]
|
|
|
|
[% endif %]
|
|
|
|
[% if party %]
|
|
\pdfbookmark[1]{Party}{Party}
|
|
\section*{Party}
|
|
|
|
[% if use_dnd_decorations %]
|
|
\begin{DndTable}{r c c c c c c c}
|
|
& Str & Dex & Con & Int & Wis & Cha \\
|
|
[% for member in party %]
|
|
[[ member.name[:18] ]]
|
|
& [[ member.strength.modifier | mod_str ]]
|
|
& [[ member.dexterity.modifier | mod_str ]]
|
|
& [[ member.constitution.modifier | mod_str ]]
|
|
& [[ member.intelligence.modifier | mod_str ]]
|
|
& [[ member.wisdom.modifier | mod_str ]]
|
|
& [[ member.charisma.modifier | mod_str ]]
|
|
\\
|
|
[% endfor %]
|
|
\end{DndTable}
|
|
\begin{DndTable}{r c c c}
|
|
& AC & Max HP & Spl.\ DC \\
|
|
[% for member in party %]
|
|
[[ member.name[:28] ]]
|
|
& [[ member.armor_class ]]
|
|
& [[ member.hp_max ]]
|
|
& [% for class in member.class_list %]
|
|
[% if class.spellcasting_ability %] [[ member.spell_save_dc(class) ]], [% endif %]
|
|
[% endfor %]
|
|
\\
|
|
[% endfor %]
|
|
\end{DndTable}
|
|
% Passive stats
|
|
\begin{DndTable}{r c c c}
|
|
& Pas. Per.\ & Pas. Ins.\ & Pas. Inv.\ \\
|
|
[% for member in party %]
|
|
[[ member.name[:28] ]]
|
|
& [[ member.passive_perception ]] % Passive perception
|
|
& [[ member.passive_insight ]] % Passive insight
|
|
& [[ member.passive_investigation ]] % Passive investigation
|
|
\\
|
|
[% endfor %]
|
|
\end{DndTable}
|
|
%% XP thresholds for the party
|
|
\begin{DndTable}{r c c c c}
|
|
& Easy & Medium & Hard & Deadly \\
|
|
\textbf{XP Threshold} &
|
|
[% for threshold in party | xp_thresholds %]
|
|
[[ "{:,}".format(threshold) ]] [% if not loop.last %]&[% endif %]
|
|
[% endfor %]
|
|
\end{DndTable}
|
|
[% else %]
|
|
\begin{tabular}{r | c c c c c c}
|
|
& Str & Dex & Con & Int & Wis & Cha \\
|
|
\hline\hline
|
|
[% for member in party %]
|
|
[[ member.name[:10] ]]
|
|
& [[ member.strength.modifier | mod_str ]]
|
|
& [[ member.dexterity.modifier | mod_str ]]
|
|
& [[ member.constitution.modifier | mod_str ]]
|
|
& [[ member.intelligence.modifier | mod_str ]]
|
|
& [[ member.wisdom.modifier | mod_str ]]
|
|
& [[ member.charisma.modifier | mod_str ]]
|
|
\\
|
|
[% endfor %]
|
|
\end{tabular}
|
|
% Additional combat stats
|
|
\begin{tabular}{r | c c c}
|
|
& AC & Max HP & Spl.\ DC \\
|
|
\hline\hline
|
|
[% for member in party %]
|
|
[[ member.name[:28] ]]
|
|
& [[ member.armor_class ]]
|
|
& [[ member.hp_max ]] % Maximum HP
|
|
& [% for class in member.class_list %]
|
|
[% if class.spellcasting_ability %] [[ member.spell_save_dc(class) ]], [% endif %]
|
|
[% endfor %]
|
|
\\
|
|
[% endfor %]
|
|
\end{tabular}
|
|
% Passive stats
|
|
\begin{tabular}{r | c c c}
|
|
& Pas.\ Per. & Pas.\ Ins. & Pas.\ Inv.\ \\
|
|
\hline\hline
|
|
[% for member in party %]
|
|
[[ member.name[:28] ]]
|
|
& [[ member.passive_perception ]] % Passive perception
|
|
& [[ member.passive_insight ]] % Passive insight
|
|
& [[ member.passive_investigation ]] % Passive investigation
|
|
\\
|
|
[% endfor %]
|
|
\end{tabular}
|
|
%% XP thresholds for the party
|
|
\begin{tabular}{r c c c c}
|
|
& Easy & Medium & Hard & Deadly \\
|
|
\textbf{XP Threshold} &
|
|
[% for threshold in party | xp_thresholds %]
|
|
[[ "{:,}".format(threshold) ]] [% if not loop.last %]&[% endif %]
|
|
[% endfor %]
|
|
\end{tabular}
|
|
[% endif %]
|
|
|
|
|
|
|
|
[% for member in party %]
|
|
\textbf{[[ member.name ]]}: [[ member.languages ]]
|
|
[% endfor %]
|
|
|
|
[% endif %]
|
|
|