From f21441c9e1e8bd961e2771c1122f6504a19751f0 Mon Sep 17 00:00:00 2001 From: Malin Freeborn <malinfreeborn@posteo.net> Date: Tue, 24 Jan 2023 02:51:10 +0100 Subject: [PATCH] place statblock items around corners --- layout.sty | 47 +++++++++++++------------- stats.sty | 97 ++++++++++++++++++++++++++---------------------------- 2 files changed, 70 insertions(+), 74 deletions(-) diff --git a/layout.sty b/layout.sty index b7cee63c..05ea144f 100644 --- a/layout.sty +++ b/layout.sty @@ -252,30 +252,9 @@ bookmarks=true]% \end{figure*} } - -% sidebling -% This command automatically adds little decorations to boxes. - \newcounter{blingNo} \setcounter{blingNo}{0} -\newcommand\sidebling{ - \ifnum\value{dr}>2 - \addtocounter{dr}{-2} - \includesvg[width=\thedr ex]{config/images/l1} - \hspace{-30pt} - \fi - \ifnum\value{mp}>1 - \addtocounter{mp}{7} - \includesvg[angle=-20,width=\themp pt]{config/images/b1} - \hspace{-20pt} - \fi - \ifnum\value{attb}>10 - \addtocounter{attb}{-9} - \includesvg[angle=55,width=\theattb ex]{config/images/s1} - \hspace{-30pt} - \fi -} % Define the 'ornamentedbox' environment @@ -363,8 +342,30 @@ bookmarks=true]% \draw[ornamented frame inner, use path=ornament 1]; \draw[ornamented frame inner, use path=ornament 2]; % - \node at ([xshift=-20pt,yshift=\thedr-5pt] north east) - {\iftoggle{bling}{\sidebling}{}}; + \iftoggle{bling}{ + \node at ([xshift=-25pt,yshift=\thedr+5pt] south east) + {\ifnum\value{dr}>2 + \addtocounter{dr}{7}\multiply\value{dr} by 2\includesvg[width=\thedr pt]{config/images/l1} + \hspace{-30pt} + \fi + }; + \node at ([xshift=-20pt,yshift=-\themp] north east) + {\ifnum\value{mp}>1 + \addtocounter{mp}{2} + \multiply\value{mp} by 2 + \includesvg[angle=270,width=\themp pt]{config/images/b1} + \hspace{-20pt} + \fi + }; + \node at ([xshift=-5pt,yshift=35pt] south west) + {\ifnum\value{attb}>7 + \addtocounter{attb}{-4} + \multiply\value{attb} by 2 + \includesvg[angle=340,width=\theattb pt]{config/images/s1} + \hspace{-30pt} + \fi + }; + }{} } } diff --git a/stats.sty b/stats.sty index a96927ca..65e05656 100644 --- a/stats.sty +++ b/stats.sty @@ -476,57 +476,52 @@ %% / \| __/ %% /_/\_\_| %% -\newcommand{\calculateXP}{% -%% Sanitize: init+5, dam+5, - \addtocounter{spdb}{5} - \addtocounter{strb}{5} - \addtocounter{dex}{5} - \addtocounter{dr}{2} - - -% Sanitize: dex+5, dr+1, -% attackXPtotal= strb x spdb x damb -\vspace{.1cm} - - \setcounter{attackXPtotal}{\value{attb}} - - \multiply\value{attackXPtotal} by \value{spdb} - - - \multiply\value{attackXPtotal} by \value{strb} - - \iftoggle{debug}{Attack total: \arabic{attackXPtotal}}{} - -% defenceXPtotal= dex x dr x hp - \setcounter{defenceXPtotal}{\value{dex}} - \multiply\value{defenceXPtotal} by \value{dr} - \multiply\value{defenceXPtotal} by \value{hp} - -% XP = attackXPtotal + defenceXPtotal - \setcounter{xp}{\value{attackXPtotal}} - \addtocounter{xp}{\value{defenceXPtotal}} - \addtocounter{xp}{-350} - \multiply\value{mp} by 100 - \addtocounter{xp}{\value{mp}} -\ifnumcomp{\value{xp}}{<}{120}{\ifnumcomp{\value{xp}}{>}{100}{$1/2$ XP}{$1/3$}}{% - \divide\value{xp} by 120% - \addtocounter{xp}{\value{xpbonus}}% -\arabic{xp} XP}% -% if {mind} print fate points. -% -\iftoggle{examplecharacter}{% -}{ - \iftoggle{mind}% - {\addtocounter{fp}{\value{cha}} \arabic{fp} FP % - \iftoggle{bestiarychapter}% - {}% - {\Repeat{\value{fp}}{\ding{111}}} -}{} - \vspace{.1cm} - \hrule -} - - \vspace{.1cm} +\newcommand{\calculateXP}{ + %% Sanitize: init+5, dam+5, + \addtocounter{spdb}{5} + \addtocounter{strb}{5} + \addtocounter{dex}{5} + \addtocounter{dr}{2} + % Sanitize: dex+5, dr+1, + % attackXPtotal= strb x spdb x damb + \vspace{.1cm} + + \setcounter{attackXPtotal}{\value{attb}} + + \multiply\value{attackXPtotal} by \value{spdb} + + + \multiply\value{attackXPtotal} by \value{strb} + + \iftoggle{debug}{Attack total: \arabic{attackXPtotal}}{} + + % defenceXPtotal= dex x dr x hp + \setcounter{defenceXPtotal}{\value{dex}} + \multiply\value{defenceXPtotal} by \value{dr} + \multiply\value{defenceXPtotal} by \value{hp} + + % XP = attackXPtotal + defenceXPtotal + \setcounter{xp}{\value{attackXPtotal}} + \addtocounter{xp}{\value{defenceXPtotal}} + \addtocounter{xp}{-350} + \multiply\value{mp} by 100 + \addtocounter{xp}{\value{mp}} + \ifnumcomp{\value{xp}}{<}{120}{\ifnumcomp{\value{xp}}{>}{100}{$1/2$ XP}{$1/3$}}{% + \divide\value{xp} by 120% + \addtocounter{xp}{\value{xpbonus}}% + \arabic{xp} XP}% + % if {mind} print fate points. + % + \iftoggle{examplecharacter}{}{ + \iftoggle{mind}% + {\addtocounter{fp}{\value{cha}} \arabic{fp} FP % + \iftoggle{bestiarychapter}% + {}% + {\Repeat{\value{fp}}{\ding{111}}} + }{} + } + + \vspace{.1cm} } % -- GitLab