summaryrefslogtreecommitdiff
path: root/incantesimi/incantesimi.prep.tex
blob: b55110e5aaba9ac4d51088c76cf1c89c22fc4a90 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
 
\documentclass[a4paper,10pt,landscape]{article}
\usepackage[empty,cm]{fullpage}
\usepackage[latin1]{inputenc}
\usepackage[italian,english]{babel}
\usepackage[OT1]{fontenc}
\usepackage{pgfkeys}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{matrix}
\usetikzlibrary{shapes.multipart}
 
%%%% fullpage
\setlength{\headheight}{0pt}
\setlength{\headsep}{0pt}
\setlength{\footskip}{0pt}
\setlength{\textwidth}{\paperwidth}
\setlength{\oddsidemargin}{-2.68cm}
\setlength{\evensidemargin}{\oddsidemargin}
\setlength{\textheight}{1.1\paperheight}
\setlength{\topmargin}{0pt}
\addtolength{\topmargin}{-2.68cm}
\addtolength{\oddsidemargin}{0.45cm} % per centrare le etichette
\addtolength{\evensidemargin}{0.45cm} % per centrare le etichette
%%%%
\setlength{\parindent}{0pt}
 
%%%%
\newlength{\etichettawidth}
\setlength{\etichettawidth}{4.8cm}
\newlength{\etichettaheight}
\setlength{\etichettaheight}{7cm}
 
\newcounter{lvl}
 
%\fontseries{c}\fontshape{sc}
 
\tikzstyle{carta}=[rectangle,minimum width=4.8cm,minimum height=7cm,inner sep=0pt,outer sep=0,use as bounding box]
 
\tikzstyle{prep label}=[rectangle,draw,ultra thin,minimum height=0.05\etichettaheight,text=yellow!10!black,outer sep=0pt,
                        inner xsep=0.1em,inner ysep=0.293em,font={\it\tiny},align=left,text width=0.29\etichettawidth]
 
\tikzstyle{spells}=[rectangle,anchor=center,minimum width=1.5cm,minimum height=5mm,font={\footnotesize},text=#1]
 
\tikzstyle{ranges}=[anchor=south,rectangle split,rectangle split parts=2,rectangle split part align=center,%
                    /pgf/number format/int detect,font={\sffamily\footnotesize},text=red!70!blue!90!yellow,]
 
\newcommand{\preptext}[1]{%
  \node [anchor=north,prep label] (prep) at  #1
      {\ Prep:};
 
  \node [anchor=north,prep label] at (prep.south)
      {\ Used:};
}
 
\newcommand{\prepcard}{%
  %
  \node[carta] (card) {};
  %
  \foreach \x in {-1,0,1}
    \foreach \y in {0,...,8}
    {
      \preptext{($(card.north)+0.307*(\x*\etichettawidth,0)+0.1*(0,-\y*\etichettaheight)+0.05*(0,-\etichettaheight)$)}
    }
  %
  \draw[white,thick] (card.north west) rectangle (card.south east);
  %
}
 
\newcommand{\printRoman}[1]{
  \ifnum \value{lvl} = 0
    \textsc{#1}
  \else
    \Roman{lvl}
  \fi
}
 
\newcommand{\closerange}[1]{
  \pgfmathparse{25+5*floor(#1/2)}
  \pgfmathprintnumber{\pgfmathresult}
}
%
\newcommand{\mediumrange}[1]{
  \pgfmathparse{100+(10*#1)}
  \pgfmathprintnumber{\pgfmathresult}
}
\newcommand{\longrange}[1]{
  \pgfmathparse{400+(40*#1)}
  \pgfmathprintnumber{\pgfmathresult}
}
 
\newcommand{\mydepth}{\rule[-0.2em]{0pt}{1mm}}
 
\newcommand{\spellatlvl}[6]{%
  \setcounter{lvl}{#1}
  \path #2
        node[spells=red!#5!black] {\printRoman{#6}}
        ++(1.5cm,0)
        node[spells=green!75!black!#5!black] {#3}
        ++(1.5cm,0)
        node[spells=blue!#5!black] {\pgfmathprintnumber{#4}};
}
 
\newcommand{\spellscard}[4]{% takes rel ability bonus, castel lvl, a list of 10 spells_per_day, and name of 0 lvl spells
\begin{scope}
  %
  \node[carta] (card) {};
  % titles
  \path (card.north west) ++(0.9cm,-0.5cm)
        node[spells=blue!80!green!75!black,font={\scshape\footnotesize}] (lvltl) {Level}
        ++(1.5cm,0) 
        node[spells=blue!80!green!75!black,font={\scshape\footnotesize}]         {Per day}
        ++(1.5cm,0)
        node[spells=blue!80!green!75!black,font={\scshape\footnotesize}]         {ST DC};
  % spells
  \foreach \n [count=\x from 0,evaluate=\x as \dc using 10+#1+\x,evaluate=\x as \shd using 85-7*\x,/pgf/number format/int detect] in #3
  {
    \spellatlvl{\x}{($(lvltl.center)-(0,4.5mm+\x*5mm)$)}{\n}{\dc}{\shd}{#4}
  }
  % ranges
  \path (card.south -| lvltl.center) ++(0,1.5mm)
        node[ranges] (close)
            {Close:\mydepth\nodepart{two}\closerange{#2} ft.\mydepth}
        ++(1.5cm,0)
        node[ranges] (medium)
            {Medium:\mydepth\nodepart{two}\mediumrange{#2} ft.\mydepth}
        ++(1.5cm,0)
        node[ranges] (long)
            {Long:\mydepth\nodepart{two}\longrange{#2} ft.\mydepth};
  %
  \draw[thin,green!20!black] (close.north) ++(2mm,1pt) -- ++(1.1cm,0) ++(4mm,0) -- ++(1.1cm,0);
  %
  % \draw[red,thin] (card.north west) rectangle (card.south east);
  %
\end{scope}
}
 
\begin{document}
%
\begin{tikzpicture}
\matrix[ampersand replacement=\&] {
  % Necrist current
  \spellscard{4}{12}{{6,4+1+1,4+1+1,3+1+1,3+1+1,2+0+1,-,-,-,-}}{Orisons}\&
  %
  \prepcard\&\prepcard\&\prepcard\&\prepcard\&
  \prepcard\\
  % Necrist next
  \spellscard{4}{13}{{6,5+1+1,4+1+1,4+1+1,3+1+1,2+0+1,1+0+1,-,-,-}}{Orisons}\&
  %
  \prepcard\&\prepcard\&\prepcard\&\prepcard\&
  \prepcard\\
  % Necrist plus
  \spellscard{5}{13}{{6,5+1+1,4+1+1,4+1+1,3+1+1,2+0+1,1+0+1,-,-,-}}{Orisons}\&
  %
  \prepcard\&\prepcard\&\prepcard\&\prepcard\&
  \prepcard\\
};
%
\end{tikzpicture}
\pagebreak
 
\begin{tikzpicture}
\matrix[ampersand replacement=\&] {
  % Ariel current
  \spellscard{4}{9}{{6,4+1+1,4+1+1,3+1+1,2+1+1,1+0+1,-,-,-,-}}{Orisons}\&
  %
  \prepcard\&\prepcard\&\prepcard\&\prepcard\&
  \prepcard\\
  % Ariel next
  \spellscard{4}{10}{{6,4+1+1,4+1+1,3+1+1,3+1+1,2+0+1,-,-,-,-}}{Orisons}\&
  %
  \prepcard\&\prepcard\&\prepcard\&\prepcard\&
  \prepcard\\
  % Ariel plus
  \spellscard{5}{10}{{6,4+1+1,4+1+1,3+1+1,3+1+1,2+0+1,-,-,-,-}}{Orisons}\&
  %
  \prepcard\&\prepcard\&\prepcard\&\prepcard\&
  \prepcard\\
};
%
\end{tikzpicture}
%
\end{document}