prelude.tex 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. \usepackage[dvipsnames]{xcolor}
  2. \usepackage{hyperref}
  3. \usepackage{lmodern}
  4. \usepackage{amssymb,amsmath}
  5. \usepackage{ifxetex,ifluatex}
  6. \usepackage{anyfontsize}
  7. \usepackage[percent]{overpic}
  8. \usepackage[margin=0.4in]{geometry}
  9. \usepackage{multicol}
  10. \setlength{\columnsep}{0.05cm}
  11. \usepackage[T1]{fontenc}
  12. \usepackage[utf8]{inputenc}
  13. \usepackage{fontspec} % For loading fonts
  14. \usepackage{titlesec}
  15. \setmainfont{PT Serif}
  16. \newfontfamily\headingfont[]{Metamorphous}
  17. \titleformat*{\section}{\LARGE\headingfont}
  18. \titleformat*{\subsection}{\Large\headingfont}
  19. \newenvironment{amove}[1]
  20. {\Checkbox{6pt}\ {\color{MoveBlue}$\diamond$\headingfont #1}\begin{quote}
  21. }
  22. {\end{quote}
  23. }
  24. \newenvironment{optfeature}[2][]
  25. {\Checkbox{6pt}\ {\headingfont #2}\hfill\textit{#1}\phantom{asdf}\begin{quote}
  26. }
  27. {\end{quote}
  28. }
  29. \newenvironment{aspell}[2]
  30. {\Checkbox{6pt}\ {\headingfont\ \spell{#1}}\hfill\textit{#2}\phantom{asdf}\begin{quote}
  31. }
  32. {\end{quote}
  33. }
  34. \newenvironment{fragment}[1]
  35. {\begin{quote}{\headingfont #1}\begin{quote}
  36. }
  37. {\end{quote}\end{quote}
  38. }
  39. \newcommand{\subheader}[1]{\large\headingfont #1}
  40. \newenvironment{basicmove}[1]
  41. {\begin{quote}{\color{MoveBlue}$\diamond$\headingfont #1}\begin{quote}
  42. }
  43. {\end{quote}\end{quote}
  44. }
  45. \makeatletter
  46. \newcommand{\choicelabel}[1]{
  47. {\hss\llap{\Checkbox{6pt}}}
  48. }
  49. \newcommand{\choicelabeldef}{
  50. \@gobble{choicelabeldef}
  51. }
  52. \newenvironment{choices}
  53. {
  54. \itemize
  55. \let\makelabel\choicelabel
  56. \let\@itemlabel\choicelabeldef
  57. }
  58. {\enditemize
  59. }
  60. \makeatother
  61. \newcommand{\choice}{\Checkbox{6pt} }
  62. \pagestyle{empty}
  63. \IfFileExists{upquote.sty}{\usepackage{upquote}}{}
  64. % use microtype if available
  65. \IfFileExists{microtype.sty}{%
  66. \usepackage[]{microtype}
  67. \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
  68. }{}
  69. \PassOptionsToPackage{hyphens}{url} % url is loaded by hyperref
  70. \makeatother
  71. % Scale images if necessary, so that they will not overflow the page
  72. % margins by default, and it is still possible to overwrite the defaults
  73. % using explicit options in \includegraphics[width, height, ...]{}
  74. \setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio}
  75. \IfFileExists{parskip.sty}{%
  76. \usepackage{parskip}
  77. }{% else
  78. \setlength{\parindent}{0pt}
  79. \setlength{\parskip}{6pt plus 2pt minus 1pt}
  80. }
  81. \setlength{\emergencystretch}{3em} % prevent overfull lines
  82. \providecommand{\tightlist}{%
  83. \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
  84. \setcounter{secnumdepth}{0}
  85. % Redefines (sub)paragraphs to behave more like sections
  86. \ifx\paragraph\undefined\else
  87. \let\oldparagraph\paragraph
  88. \renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}}
  89. \fi
  90. \ifx\subparagraph\undefined\else
  91. \let\oldsubparagraph\subparagraph
  92. \renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}}
  93. \fi
  94. % set default figure placement to htbp
  95. \makeatletter
  96. \def\fps@figure{htbp}
  97. \makeatother
  98. \setlength{\multicolsep}{6.0pt plus 2.0pt minus 1.5pt}% 50% of original values
  99. \date{}
  100. \usepackage{etoolbox}
  101. \patchcmd{\quote}{\rightmargin}{\leftmargin 1em \rightmargin}{}{}
  102. \usepackage{tikz}
  103. \newcommand{\Checkbox}[1]{\tikz{\path[draw=black] (0,0) rectangle (#1,#1);}}
  104. \newcommand{\pbClass}[1]{\newcommand{\Class}{#1}}
  105. \newcommand{\pbBaseHP}[1]{\newcommand{\BaseHP}{#1}}
  106. \newcommand{\pbDamage}[1]{\newcommand{\Damage}{#1}}
  107. \newcommand{\Look}{}
  108. \newcommand{\Names}{}
  109. \makeatletter
  110. \newcommand{\pbLook}[1]{\g@addto@macro\Look{\par#1}}
  111. \newcommand{\pbNames}[2]{\g@addto@macro\Names{\par\hangindent=0.2in#1: #2}}
  112. \makeatother
  113. \newcommand{\leftbanner}[1]{
  114. \begin{overpic}[width=3.1in,height=0.45in]{assets/short_left.png}
  115. \put (2,4) {\fontsize{16}{40}\selectfont \textcolor{white}{\headingfont #1}}
  116. \end{overpic}
  117. }
  118. \newcommand{\rightbanner}[1]{
  119. \begin{overpic}[width=4.4in,height=0.45in]{assets/long_right.png}
  120. \put (5,4) {\fontsize{16}{40}\selectfont \textcolor{white}{\headingfont #1}}
  121. \end{overpic}
  122. }
  123. \newcommand{\gearbanner}{
  124. \begin{overpic}[width=7.47986in,height=0.40945in]{assets/templateEquip.png}
  125. \put (3,2) {\fontsize{16}{40}\selectfont \textcolor{white}{\headingfont Gear}}
  126. \end{overpic}
  127. }
  128. \newcommand{\topbanner}[1]{
  129. \begin{overpic}[width=7.47986in,height=1.0in]{assets/templateRuleHeader.png}
  130. \put (1,2) {\fontsize{32}{40}\selectfont\headingfont \textcolor{white}{#1}}
  131. \end{overpic}
  132. }
  133. \newcommand{\widebanner}[1]{
  134. \begin{overpic}[width=7.47986in,height=1.0in]{assets/templateThinHeader.png}
  135. \put (1,1) {\fontsize{16}{40}\selectfont\headingfont \textcolor{white}{#1}}
  136. \end{overpic}
  137. }
  138. \newcommand{\charbanner}{
  139. \begin{overpic}[width=8.008in,height=3.0in]{assets/charsheet_upper.png}
  140. % names
  141. \put(1, 30) {\parbox{4.3in}{\fontsize{12}{12}\Names}}
  142. % look
  143. \put(59, 30) {\parbox{3in}{\fontsize{12}{12}\Look}}
  144. % some stats: damage...
  145. \put (25,4) {\makebox[0pt]{\fontsize{18}{10}\selectfont\headingfont \textcolor{black}{D\Damage{}}}}
  146. % max HP...
  147. \put (89,6) {\fontsize{6}{8}\selectfont\headingfont \textcolor{white}{Your max HP is}}
  148. % and Constitution
  149. \put (89,4.6) {\fontsize{6}{8}\selectfont\headingfont \textcolor{white}{\BaseHP{} + Constitution}}
  150. \end{overpic}
  151. }
  152. \newcommand{\charlower}{
  153. \vfill\null
  154. \begin{overpic}[width=7.47986in,height=1.0in]{assets/charsheet_lower.png}
  155. \put (10,1) {\fontsize{32}{40}\selectfont\headingfont \textcolor{white}{The \Class}}
  156. \end{overpic}
  157. }
  158. \definecolor{CondRed}{RGB}{153,51,51}
  159. \definecolor{MoveBlue}{RGB}{51,102,153}
  160. \definecolor{SpellPurp}{RGB}{153,51,102}
  161. \definecolor{TagGreen}{RGB}{51,153,102}
  162. \newcommand{\condition}[1]{\textbf{\color{CondRed} #1}}
  163. \newcommand{\move}[1]{{\color{MoveBlue}$\diamond$#1}}
  164. \newcommand{\spell}[1]{{\color{SpellPurp}$\star$#1}}
  165. \newcommand{\itag}[1]{\textit{\color{TagGreen}#1}}
  166. \newcommand{\ntag}[2]{\textit{\color{TagGreen}#1 #2}}
  167. % specific tags
  168. \newcommand{\weight}[1]{\ntag{#1}{weight}}
  169. \newcommand{\damage}[1]{\ntag{#1}{damage}}
  170. \newcommand{\armor}[1]{\ntag{#1}{armor}}
  171. \newcommand{\armorForward}[1]{\ntag{#1}{armor} forward}
  172. \newcommand{\uses}[1]{\ntag{#1}{uses}}
  173. \newcommand{\ammo}[1]{\ntag{#1}{ammo}}
  174. \newcommand{\hexes}[1]{\textit{#1 hexes}}
  175. \newcommand{\forward}[1]{#1 forward}
  176. \newcommand{\ongoing}[1]{#1 ongoing}
  177. \newcommand{\yourLoad}[1]{Your Load is \textbf{#1+STR}}
  178. \newcommand{\onSuccess}{\textbf{On a 10+}}
  179. \newcommand{\onPlainSuccess}{\textbf{On a 10--11}}
  180. \newcommand{\onMassiveSuccess}{\textbf{On a 12+}}
  181. \newcommand{\onPartial}{\textbf{On a 7--9}}
  182. \newcommand{\onHit}{\textbf{On a 7+}}
  183. \newcommand{\onMiss}{\textbf{On a miss}}
  184. \newcommand{\moveReplaces}[1]{\textbf{Replaces}: \move{#1}}
  185. \newcommand{\moveRequires}[1]{\textbf{Requires}: \move{#1}}
  186. \newcommand{\moveRequiresLst}[1]{\textbf{Requires}: #1}
  187. \newcommand{\onMassiveSuccessFor}[1]{%
  188. When you use \move{#1} and \textbf{roll a 12+}}
  189. \newcommand{\onPlainSuccessFor}[1]{%
  190. When you use \move{#1} and \textbf{roll a 10--11}}
  191. \newcommand{\onPartialFor}[1]{%
  192. When you use \move{#1} and \textbf{roll a 7+}}
  193. \newcommand{\advancesigil}{$\triangleright$}
  194. \newcommand{\firstAdvances}{\advancesigil When you \textbf{gain a
  195. level from 2--5}, choose from these moves.}
  196. \newcommand{\secondAdvances}{\advancesigil When you \textbf{gain a
  197. level from 6--10}, choose from these moves or the level 2--5
  198. moves.}
  199. \newcommand{\blank}{\underline{\phantom{mountain}}}
  200. \newcommand{\directive}[1]{\textbf{#1}}
  201. \openup -0.2em