summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/rpgicons/rpgicons-pgf.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/rpgicons/rpgicons-pgf.sty')
-rw-r--r--Master/texmf-dist/tex/latex/rpgicons/rpgicons-pgf.sty2596
1 files changed, 2596 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/rpgicons/rpgicons-pgf.sty b/Master/texmf-dist/tex/latex/rpgicons/rpgicons-pgf.sty
new file mode 100644
index 00000000000..2b235beb48f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/rpgicons/rpgicons-pgf.sty
@@ -0,0 +1,2596 @@
+% File: rpgicons-pgf.sty
+% Copyright 2024 Jasper Habicht (mail(at)jasperhabicht.de).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+%
+% This file is part of the `rpgicons' package (The Work in LPPL)
+% and all files in that bundle must be distributed together.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{rpgicons-pgf}[2024-04-28 rpg Icons Package (PGF Variant) (1.8.2)]
+
+% provide pics option
+\newif\ifrpgicons@pics\rpgicons@picsfalse
+\DeclareOption{pics}{\rpgicons@picstrue}
+\ProcessOptions\relax
+
+\RequirePackage{tikz}
+\newlength{\rpgicons@beforesep}
+\newlength{\rpgicons@aftersep}
+\newlength{\rpgicons@baseline}
+
+\def\rpgicons@allshapes{%
+ twoside, fourside, sixside, eightside, tenside, twelveside, twentyside, hundredside,
+ fudge, sixside one, sixside two, sixside three, sixside four, sixside five,
+ sixside six, sixside seven, sixside eight, sixside nine, fudge plus, fudge minus,
+ strength, dexterity, dexterity alt, constitution, intelligence, wisdom, charisma,
+ resilience, sanity, perception, luck, armor, proficiency,
+ linear, conic, quadratic, cubic, spheric, cylindric, verbal, somatic, material, focus,
+ abjuration, conjuration, divination, enchantment, evocation, illusion, necromancy, transmutation,
+ acid, bludgeoning, cold, fire, force, lightning, necrotic, piercing, poison, psychic,
+ radiant, slashing, thunder, healing,
+ melee, ranged, magic, singlehanded, doublehanded,
+ buff, blinded, charmed, deafened, exhausted, frightened, grappled, incapacitated, invisible,
+ paralyzed, petrified, poisoned, prone, restrained, stunned, unconscious, hearing, seeing%
+}
+
+\tikzset{
+ rpg icons/background color/.code={
+ \colorlet{rpgicons@bg}{#1}
+ },
+ rpg icons/background color={white},
+ rpg icons/before sep/.code={
+ \setlength{\rpgicons@beforesep}{#1}
+ },
+ rpg icons/before sep={.05em},
+ rpg icons/after sep/.code={
+ \setlength{\rpgicons@aftersep}{#1}
+ },
+ rpg icons/after sep={.05em},
+ rpg icons/baseline/.code={
+ \setlength{\rpgicons@baseline}{#1}
+ },
+ rpg icons/baseline={-3.5pt},
+ rpg icons/.style={},
+ rpg icons/.append style={
+ every node/.style={
+ line cap=round,
+ line join=round
+ }
+ },
+ %
+ rpg icons/every die/.style={},
+ rpg icons/every ability/.style={},
+ rpg icons/every saving/.style={},
+ rpg icons/every spell/.style={},
+ rpg icons/every spellschool/.style={},
+ rpg icons/every damage/.style={},
+ rpg icons/every attack/.style={},
+ rpg icons/every condition/.style={},
+ %
+ rpg icons/create every style/.code={
+ \tikzset{
+ rpg icons/every #1/.style={}
+ }
+ },
+ rpg icons/create every style/.list/.expanded={%
+ \rpgicons@allshapes%
+ }
+}
+
+% make tikz icons usable inside tikz environments
+\NewDocumentCommand{\provideprotectedrpgicon}{ m o m O{} m }{%
+ \expandafter\newsavebox\csname rpgicons@protectbox@#5\endcsname%
+ \expandafter\savebox\csname rpgicons@protectbox@#5\endcsname{%
+ \IfValueTF{#2}{%
+ \csname #1\endcsname[#2]{#3}[#4]{}%
+ }{%
+ \csname #1\endcsname{#3}[#4]{}%
+ }%
+ }%
+}
+
+\NewDocumentCommand{\useprotectedrpgicon}{ m }{%
+ \expandafter\usebox\csname rpgicons@protectbox@#1\endcsname%
+}
+
+% DICE
+
+% disc
+\pgfdeclareshape{twoside}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathellipse{\pgfpointorigin}{\pgfpoint{0cm}{.25cm}}{\pgfpoint{.425cm}{0cm}}
+ \pgfusepath{draw} % draw ellipse
+ }
+}
+
+% tetrahedron
+\pgfdeclareshape{fourside}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.35cm}}
+ \pgfpathlineto{\pgfpoint{.433cm}{-.4cm}}
+ \pgfpathlineto{\pgfpoint{-.433cm}{-.4cm}}
+ \pgfpathclose
+ \pgfusepath{draw} % draw triangle
+ }
+}
+
+% cube
+\pgfdeclareshape{sixside}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw rectangle
+ }
+}
+
+% octahedron
+\pgfdeclareshape{eightside}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.5cm}}
+ \pgfpathlineto{\pgfpoint{.433cm}{.25cm}}
+ \pgfpathlineto{\pgfpoint{.433cm}{-.25cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.5cm}}
+ \pgfpathlineto{\pgfpoint{-.433cm}{-.25cm}}
+ \pgfpathlineto{\pgfpoint{-.433cm}{.25cm}}
+ \pgfpathclose
+ \pgfpathlineto{\pgfpoint{.433cm}{-.25cm}}
+ \pgfpathlineto{\pgfpoint{-.433cm}{-.25cm}}
+ \pgfpathclose
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% decahedron
+\pgfdeclareshape{tenside}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.5cm}}
+ \pgfpathlineto{\pgfpoint{.475cm}{.1cm}}
+ \pgfpathlineto{\pgfpoint{.475cm}{-.1cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.5cm}}
+ \pgfpathlineto{\pgfpoint{-.475cm}{-.1cm}}
+ \pgfpathlineto{\pgfpoint{-.475cm}{.1cm}}
+ \pgfpathclose
+ \pgfpathlineto{\pgfpoint{.294cm}{-.154cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.3cm}}
+ \pgfpathlineto{\pgfpoint{-.294cm}{-.154cm}}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{.294cm}{-.154cm}}
+ \pgfpathlineto{\pgfpoint{.475cm}{-.1cm}}
+ \pgfpathmoveto{\pgfpoint{-.475cm}{-.1cm}}
+ \pgfpathlineto{\pgfpoint{-.294cm}{-.154cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.5cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.3cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% dodecahedron
+\pgfdeclareshape{twelveside}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.5cm}}
+ \pgfpathlineto{\pgfpoint{0.294cm}{.405cm}}
+ \pgfpathlineto{\pgfpoint{.475cm}{.173cm}}
+ \pgfpathlineto{\pgfpoint{.475cm}{-.173cm}}
+ \pgfpathlineto{\pgfpoint{.294cm}{-.405cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.5cm}}
+ \pgfpathlineto{\pgfpoint{-.294cm}{-.405cm}}
+ \pgfpathlineto{\pgfpoint{-.475cm}{-.173cm}}
+ \pgfpathlineto{\pgfpoint{-.475cm}{.173cm}}
+ \pgfpathlineto{\pgfpoint{-.294cm}{.405cm}}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{0cm}{.349cm}}
+ \pgfpathlineto{\pgfpoint{.332cm}{.108cm}}
+ \pgfpathlineto{\pgfpoint{.205cm}{-.282cm}}
+ \pgfpathlineto{\pgfpoint{-.205cm}{-.282cm}}
+ \pgfpathlineto{\pgfpoint{-.332cm}{.108cm}}
+ \pgfpathclose
+ \pgfpathlineto{\pgfpoint{0cm}{.5cm}}
+ \pgfpathmoveto{\pgfpoint{.475cm}{.173cm}}
+ \pgfpathlineto{\pgfpoint{.332cm}{.108cm}}
+ \pgfpathmoveto{\pgfpoint{.294cm}{-.405cm}}
+ \pgfpathlineto{\pgfpoint{.205cm}{-.282cm}}
+ \pgfpathmoveto{\pgfpoint{-.294cm}{-.405cm}}
+ \pgfpathlineto{\pgfpoint{-.205cm}{-.282cm}}
+ \pgfpathmoveto{\pgfpoint{-.475cm}{.173cm}}
+ \pgfpathlineto{\pgfpoint{-.332cm}{.108cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% icosahedron
+\pgfdeclareshape{twentyside}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.5cm}}
+ \pgfpathlineto{\pgfpoint{.454cm}{.262cm}}
+ \pgfpathlineto{\pgfpoint{.454cm}{-.262cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.5cm}}
+ \pgfpathlineto{\pgfpoint{-.454cm}{-.262cm}}
+ \pgfpathlineto{\pgfpoint{-.454cm}{.262cm}}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{0cm}{.292cm}}
+ \pgfpathlineto{\pgfpoint{.253cm}{-.146cm}}
+ \pgfpathlineto{\pgfpoint{-.253cm}{-.146cm}}
+ \pgfpathclose
+ \pgfpathlineto{\pgfpoint{.454cm}{.262cm}}
+ \pgfpathlineto{\pgfpoint{.253cm}{-.146cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.5cm}}
+ \pgfpathlineto{\pgfpoint{-.253cm}{-.146cm}}
+ \pgfpathlineto{\pgfpoint{-.454cm}{.262cm}}
+ \pgfpathclose
+ \pgfpathlineto{\pgfpoint{0cm}{.5cm}}
+ \pgfpathmoveto{\pgfpoint{.454cm}{-.262cm}}
+ \pgfpathlineto{\pgfpoint{.253cm}{-.146cm}}
+ \pgfpathmoveto{\pgfpoint{-.454cm}{-.262cm}}
+ \pgfpathlineto{\pgfpoint{-.253cm}{-.146cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% sphere
+\pgfdeclareshape{hundredside}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathcircle{\pgfpointorigin}{.425cm}
+ \pgfpathmoveto{\pgfpoint{.425cm}{0cm}}
+ \pgfpatharc{180}{50}{-.425cm and -.2cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.425cm}}
+ \pgfpatharc{270}{140}{-.2cm and .425cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% cube (one)
+\pgfdeclareshape{sixside one}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw rectangle
+ \foreach \x/\y in {
+ 0cm/0cm
+ } {
+ \pgfpathcircle{\pgfpoint{\x}{\y}}{2pt}
+ }
+ \pgfusepath{fill}
+ }
+}
+
+% cube (two)
+\pgfdeclareshape{sixside two}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw rectangle
+ \foreach \x/\y in {
+ .2cm/-.2cm, -.2cm/.2cm
+ } {
+ \pgfpathcircle{\pgfpoint{\x}{\y}}{2pt}
+ }
+ \pgfusepath{fill}
+ }
+}
+
+% cube (three)
+\pgfdeclareshape{sixside three}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw rectangle
+ \foreach \x/\y in {
+ .2cm/-.2cm, 0cm/0cm, -.2cm/.2cm
+ } {
+ \pgfpathcircle{\pgfpoint{\x}{\y}}{2pt}
+ }
+ \pgfusepath{fill}
+ }
+}
+
+% cube (four)
+\pgfdeclareshape{sixside four}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw rectangle
+ \foreach \x/\y in {
+ -.2cm/.2cm, .2cm/.2cm,
+ -.2cm/-.2cm, .2cm/-.2cm
+ } {
+ \pgfpathcircle{\pgfpoint{\x}{\y}}{2pt}
+ }
+ \pgfusepath{fill}
+ }
+}
+
+% cube (five)
+\pgfdeclareshape{sixside five}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw rectangle
+ \foreach \x/\y in {
+ -.2cm/.2cm, .2cm/.2cm,
+ 0cm/0cm,
+ -.2cm/-.2cm, .2cm/-.2cm
+ } {
+ \pgfpathcircle{\pgfpoint{\x}{\y}}{2pt}
+ }
+ \pgfusepath{fill}
+ }
+}
+
+% cube (six)
+\pgfdeclareshape{sixside six}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw rectangle
+ \foreach \x/\y in {
+ -.2cm/.2cm, .2cm/.2cm,
+ -.2cm/0cm, .2cm/0cm,
+ -.2cm/-.2cm, .2cm/-.2cm
+ } {
+ \pgfpathcircle{\pgfpoint{\x}{\y}}{2pt}
+ }
+ \pgfusepath{fill}
+ }
+}
+
+% cube (seven)
+\pgfdeclareshape{sixside seven}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw rectangle
+ \foreach \x/\y in {
+ -.2cm/.2cm, .2cm/.2cm,
+ -.2cm/0cm, 0cm/0cm, .2cm/0cm,
+ -.2cm/-.2cm, .2cm/-.2cm
+ } {
+ \pgfpathcircle{\pgfpoint{\x}{\y}}{2pt}
+ }
+ \pgfusepath{fill}
+ }
+}
+
+% cube (eight)
+\pgfdeclareshape{sixside eight}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw rectangle
+ \foreach \x/\y in {
+ -.2cm/.2cm, 0cm/.2cm, .2cm/.2cm,
+ -.2cm/0cm, .2cm/0cm,
+ -.2cm/-.2cm, 0cm/-.2cm, .2cm/-.2cm
+ } {
+ \pgfpathcircle{\pgfpoint{\x}{\y}}{2pt}
+ }
+ \pgfusepath{fill}
+ }
+}
+
+% cube (nine)
+\pgfdeclareshape{sixside nine}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw rectangle
+ \foreach \x/\y in {
+ -.2cm/.2cm, 0cm/.2cm, .2cm/.2cm,
+ -.2cm/0cm, 0cm/0cm, .2cm/0cm,
+ -.2cm/-.2cm, 0cm/-.2cm, .2cm/-.2cm
+ } {
+ \pgfpathcircle{\pgfpoint{\x}{\y}}{2pt}
+ }
+ \pgfusepath{fill}
+ }
+}
+
+% cube (fudge)
+\pgfdeclareshape{fudge}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw rectangle
+ \pgfpathmoveto{\pgfpoint{-.15cm}{.1cm}}
+ \pgfpathlineto{\pgfpoint{.15cm}{.1cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{.25cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.05cm}}
+ \pgfpathmoveto{\pgfpoint{-.15cm}{-.2cm}}
+ \pgfpathlineto{\pgfpoint{.15cm}{-.2cm}}
+ \pgfusepath{draw}
+ }
+}
+
+% cube (fudge plus)
+\pgfdeclareshape{fudge plus}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw rectangle
+ \pgfpathmoveto{\pgfpoint{0cm}{.15cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.15cm}}
+ \pgfpathmoveto{\pgfpoint{-.15cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{.15cm}{0cm}}
+ \pgfusepath{draw}
+ }
+}
+
+% cube (fudge)
+\pgfdeclareshape{fudge minus}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw rectangle
+ \pgfpathmoveto{\pgfpoint{-.15cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{.15cm}{0cm}}
+ \pgfusepath{draw}
+ }
+}
+
+\ExplSyntaxOn
+\NewDocumentCommand{\rpgicons@ifEmptyF}{ m m }{
+ \tl_if_empty:nF { #1 } { #2 }
+}
+\ExplSyntaxOff
+
+\NewDocumentCommand{\rpgiconsdie}{ O{normal} m O{} m }{%
+ \edef\rpgicons@diceiconnrmlrg{#1}%
+ \edef\rpgicons@diceiconlrg{large}%
+ \ifx\rpgicons@diceiconnrmlrg\rpgicons@diceiconlrg%
+ \def\rpgicons@diceiconfg{fglrg}\else%
+ \def\rpgicons@diceiconfg{fgnrm}\fi%
+ \ifx\rpgicons@diceiconnrmlrg\rpgicons@diceiconlrg\else\rpgicons@ifEmptyF{#4}{#4\,}\fi%
+ \hspace{\rpgicons@beforesep}%
+ \tikz[rpg icons, rpg icons/every die, rpg icons/every #2,
+ baseline=\rpgicons@baseline, fgnrm/.style={scale=.333}, fglrg/.style={scale=.675}, #3] {
+ \node[#2, \rpgicons@diceiconfg, font={\footnotesize}] (0cm,0cm)
+ {\ifx\rpgicons@diceiconnrmlrg\rpgicons@diceiconlrg\textbf{#4}\fi};
+ \path[draw=none, \rpgicons@diceiconfg] ([yshift=-1pt].425cm,.425cm) rectangle ([yshift=1pt]-.425cm,-.425cm);
+ }%
+ \hspace{\rpgicons@aftersep}%
+}
+\@ifundefined{die}{\NewCommandCopy\die\rpgiconsdie}{}
+
+% ABILITIES
+
+% strength
+\pgfdeclareshape{strength}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.075cm}}{\pgfpointpolar{90}{.425cm}}}
+ \pgfpatharc{90}{60}{.425cm}
+ \pgfpatharc{200}{-40}{.1cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.075cm}}{\pgfpointpolar{45}{.425cm}}}
+ \pgfpatharc{45}{-20}{.425cm}
+ \pgfpatharc{-50}{-80}{.35cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.075cm}}{\pgfpointpolar{90}{.425cm}}}
+ \pgfpatharc{90}{120}{.425cm}
+ \pgfpatharc{-20}{220}{.1cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.075cm}}{\pgfpointpolar{135}{.425cm}}}
+ \pgfpatharc{135}{200}{.425cm}
+ \pgfpatharc{230}{260}{.35cm}
+ \pgfpathmoveto{\pgfpoint{-.2cm}{-.025cm}}
+ \pgfpathlineto{\pgfpoint{-.1cm}{-.05cm}}
+ \pgfpathlineto{\pgfpoint{-.125cm}{-.325cm}}
+ \pgfpatharc{180}{360}{.125cm and .1cm}
+ \pgfpathlineto{\pgfpoint{.1cm}{-.05cm}}
+ \pgfpathlineto{\pgfpoint{.2cm}{-.025cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.3cm}}
+ \pgfpatharc{90}{70}{.1cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.3cm}}
+ \pgfpatharc{90}{110}{.1cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% dexterity
+\pgfdeclareshape{dexterity}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.075cm}}{\pgfpointpolar{90}{.425cm}}}
+ \pgfpatharc{90}{65}{.425cm}
+ \pgfpatharc{200}{90}{.1cm and .075cm}
+ \pgfpatharc{90}{-30}{.1cm and .075cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.075cm}}{\pgfpointpolar{45}{.425cm}}}
+ \pgfpatharc{45}{-20}{.425cm and .35cm}
+ \pgfpatharc{110}{160}{.175cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.075cm}}{\pgfpointpolar{90}{.425cm}}}
+ \pgfpatharc{90}{115}{.425cm}
+ \pgfpatharc{-20}{90}{.1cm and .075cm}
+ \pgfpatharc{90}{220}{.1cm and .075cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.075cm}}{\pgfpointpolar{135}{.425cm}}}
+ \pgfpatharc{135}{200}{.425cm and .35cm}
+ \pgfpatharc{70}{20}{.175cm}
+ \pgfpathmoveto{\pgfpoint{-.075cm}{-.175cm}}
+ \pgfpatharc{180}{360}{.075cm and .05cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.225cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.25cm}}
+ \pgfpathmoveto{\pgfpoint{-.2cm}{.025cm}}
+ \pgfpathlineto{\pgfpoint{-.075cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{-.125cm}{-.075cm}}
+ \pgfpathmoveto{\pgfpoint{.125cm}{-.075cm}}
+ \pgfpathlineto{\pgfpoint{.075cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{.2cm}{.025cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.25cm}}
+ \pgfpatharc{360}{140}{.1cm and .075cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.25cm}}
+ \pgfpatharc{180}{400}{.1cm and .075cm}
+ \pgfpathmoveto{\pgfpoint{-.1cm}{-.325cm}}
+ \pgfpathlineto{\pgfpoint{-.1cm}{-.375cm}}
+ \pgfpatharc{180}{360}{.1cm and .05cm}
+ \pgfpathlineto{\pgfpoint{.1cm}{-.325cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% dexterity alt
+\pgfdeclareshape{dexterity alt}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.15cm}}{\pgfpointpolar{90}{.425cm}}}
+ \pgfpatharc{90}{75}{.425cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.15cm}}{\pgfpointpolar{90}{.425cm}}}
+ \pgfpatharc{90}{105}{.425cm}
+ \pgfpathmoveto{\pgfpoint{.125cm}{.175cm}}
+ \pgfpathlineto{\pgfpoint{.375cm}{.425cm}}
+ \pgfpatharc{30}{-20}{.25cm}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{0cm}{-.1cm}}{\pgfpointpolar{30}{.425cm}}}
+ \pgfpatharc{30}{-45}{.425cm and .35cm}
+ \pgfpathmoveto{\pgfpoint{-.125cm}{.175cm}}
+ \pgfpathlineto{\pgfpoint{-.375cm}{.425cm}}
+ \pgfpatharc{150}{200}{.25cm}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{0cm}{-.1cm}}{\pgfpointpolar{150}{.425cm}}}
+ \pgfpatharc{150}{225}{.425cm and .35cm}
+ \pgfpathmoveto{\pgfpoint{.075cm}{-.075cm}}
+ \pgfpatharc{170}{90}{.15cm and .05cm}
+ \pgfpathmoveto{\pgfpoint{-.075cm}{-.075cm}}
+ \pgfpatharc{10}{90}{.15cm and .05cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.275cm}}
+ \pgfpatharc{0}{90}{.075cm and .05cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.275cm}}
+ \pgfpatharc{180}{90}{.075cm and .05cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.275cm}}
+ \pgfpatharc{360}{180}{.1cm and .075cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.275cm}}
+ \pgfpatharc{180}{360}{.1cm and .075cm}
+ \pgfpathmoveto{\pgfpoint{-.1cm}{-.35cm}}
+ \pgfpathlineto{\pgfpoint{-.1cm}{-.375cm}}
+ \pgfpatharc{180}{360}{.1cm and .05cm}
+ \pgfpathlineto{\pgfpoint{.1cm}{-.35cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% constitution
+\pgfdeclareshape{constitution}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.25cm}}
+ \pgfpathlineto{\pgfpoint{.125cm}{.25cm}}
+ \pgfpatharc{-90}{-30}{.325cm}
+ \pgfpatharc{0}{-80}{.3cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{.25cm}}
+ \pgfpathlineto{\pgfpoint{-.125cm}{.25cm}}
+ \pgfpatharc{270}{210}{.325cm}
+ \pgfpatharc{180}{260}{.3cm}
+ \pgfpathmoveto{\pgfpoint{.325cm}{.1cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{.075cm}}
+ \pgfpatharc{0}{-90}{.175cm and .1cm}
+ \pgfpathlineto{\pgfpoint{.2cm}{-.15cm}}
+ \pgfpathmoveto{\pgfpoint{-.325cm}{.1cm}}
+ \pgfpathlineto{\pgfpoint{-.425cm}{.075cm}}
+ \pgfpatharc{180}{270}{.175cm and .1cm}
+ \pgfpathlineto{\pgfpoint{-.2cm}{-.15cm}}
+ \pgfpathmoveto{\pgfpoint{-.15cm}{-.225cm}}
+ \pgfpatharc{90}{270}{.1cm}
+ \pgfpathlineto{\pgfpoint{.15cm}{-.425cm}}
+ \pgfpatharc{-90}{90}{.1cm}
+ \pgfpathmoveto{\pgfpoint{-.125cm}{-.35cm}}
+ \pgfpatharc{-90}{0}{.05cm}
+ \pgfpathmoveto{\pgfpoint{.125cm}{-.35cm}}
+ \pgfpatharc{90}{0}{-.05cm}
+ \pgfpathmoveto{\pgfpoint{-.125cm}{-.025cm}}
+ \pgfpathlineto{\pgfpoint{-.075cm}{-.05cm}}
+ \pgfpathlineto{\pgfpoint{-.075cm}{-.1cm}}
+ \pgfpathmoveto{\pgfpoint{.125cm}{-.025cm}}
+ \pgfpathlineto{\pgfpoint{.075cm}{-.05cm}}
+ \pgfpathlineto{\pgfpoint{.075cm}{-.1cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% intelligence
+\pgfdeclareshape{intelligence}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.2cm}}{\pgfpointpolar{90}{.425cm}}}
+ \pgfpatharc{90}{60}{.25cm}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{0cm}{-.1cm}}{\pgfpointpolar{60}{.6cm}}}
+ \pgfpatharc{40}{-2.5}{.425cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.2cm}}{\pgfpointpolar{90}{.425cm}}}
+ \pgfpatharc{90}{120}{.25cm}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{0cm}{-.1cm}}{\pgfpointpolar{120}{.6cm}}}
+ \pgfpatharc{140}{182.5}{.425cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.2cm}}{\pgfpointpolar{45}{.425cm}}}
+ \pgfpatharc{45}{0}{.425cm}
+ \pgfpathlineto{\pgfpoint{.2cm}{-.275cm}}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.2cm}}{\pgfpointpolar{135}{.425cm}}}
+ \pgfpatharc{135}{180}{.425cm}
+ \pgfpathlineto{\pgfpoint{-.2cm}{-.275cm}}
+ \pgfpathmoveto{\pgfpoint{-.2cm}{-.075cm}}
+ \pgfpathlineto{\pgfpoint{-.1cm}{-.1cm}}
+ \pgfpathlineto{\pgfpoint{-.075cm}{-.375cm}}
+ \pgfpatharc{180}{360}{.075cm and .05cm}
+ \pgfpathlineto{\pgfpoint{.1cm}{-.1cm}}
+ \pgfpathlineto{\pgfpoint{.2cm}{-.075cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% wisdom
+\pgfdeclareshape{wisdom}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.175cm}}
+ \pgfpatharc{60}{90}{.425cm}
+ \pgfpatharc{270}{240}{.425cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{.175cm}}
+ \pgfpatharc{120}{90}{.425cm}
+ \pgfpatharc{270}{300}{.425cm}
+ \pgfpathcircle{\pgfpoint{-.175cm}{0cm}}{.075cm}
+ \pgfpathcircle{\pgfpoint{.175cm}{0cm}}{.075cm}
+ \pgfpathmoveto{\pgfpoint{.075cm}{-.125cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.325cm}}
+ \pgfpathlineto{\pgfpoint{-.075cm}{-.125cm}}
+ \pgfpathmoveto{\pgfpoint{-.375cm}{.125cm}}
+ \pgfpatharc{150}{270}{.25cm}
+ \pgfpathmoveto{\pgfpoint{.375cm}{.125cm}}
+ \pgfpatharc{30}{-90}{.25cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% charisma
+\pgfdeclareshape{charisma}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.15cm}}
+ \pgfpatharc{270}{190}{.15cm and .1cm}
+ \pgfpatharc{10}{90}{.175cm and .225cm}
+ \pgfpatharc{40}{0}{.125cm and .175cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{.15cm}}
+ \pgfpatharc{270}{350}{.15cm and .1cm}
+ \pgfpatharc{170}{90}{.175cm and .225cm}
+ \pgfpatharc{140}{180}{.125cm and .175cm}
+ \pgfpathmoveto{\pgfpoint{-.2cm}{.125cm}}
+ \pgfpatharc{0}{90}{.175cm and .1cm}
+ \pgfpatharc{180}{270}{.15cm and .2cm}
+ \pgfpathlineto{\pgfpoint{-.25cm}{-.05cm}}
+ \pgfpatharc{40}{0}{.45cm}
+ \pgfpathlineto{\pgfpoint{0cm}{-.425cm}}
+ \pgfpathmoveto{\pgfpoint{.2cm}{.125cm}}
+ \pgfpatharc{180}{90}{.175cm and .1cm}
+ \pgfpatharc{0}{-90}{.15cm and .2cm}
+ \pgfpathlineto{\pgfpoint{.25cm}{-.05cm}}
+ \pgfpatharc{140}{180}{.45cm}
+ \pgfpathlineto{\pgfpoint{0cm}{-.425cm}}
+ \pgfpathmoveto{\pgfpoint{-.05cm}{-.275cm}}
+ \pgfpatharc{-30}{60}{.05cm}
+ \pgfpathmoveto{\pgfpoint{.05cm}{-.275cm}}
+ \pgfpatharc{210}{120}{.05cm}
+ \pgfpathmoveto{\pgfpoint{-.125cm}{-.05cm}}
+ \pgfpathlineto{\pgfpoint{-.05cm}{-.075cm}}
+ \pgfpathmoveto{\pgfpoint{.125cm}{-.05cm}}
+ \pgfpathlineto{\pgfpoint{.05cm}{-.075cm}}
+ \pgfpathmoveto{\pgfpoint{-.35cm}{-.05cm}}
+ \pgfpathlineto{\pgfpoint{-.425cm}{-.05cm}}
+ \pgfpatharc{30}{-30}{.15cm}
+ \pgfpatharc{80}{10}{.15cm}
+ \pgfpathlineto{\pgfpoint{-.25cm}{-.275cm}}
+ \pgfpathmoveto{\pgfpoint{.35cm}{-.05cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{-.05cm}}
+ \pgfpatharc{150}{210}{.15cm}
+ \pgfpatharc{100}{170}{.15cm}
+ \pgfpathlineto{\pgfpoint{.25cm}{-.275cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% resilience
+\pgfdeclareshape{resilience}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{-.425cm}{-.475cm}}{\pgfpointpolar{65}{.5cm}}}
+ \pgfpatharc{65}{90}{.5cm}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{0cm}{-.075cm}}{\pgfpointpolar{135}{.55cm}}}
+ \pgfpatharc{135}{45}{.55cm}
+ \pgfpathlineto{\pgfpoint{.425cm}{.025cm}}
+ \pgfpatharc{90}{115}{.5cm}
+ \pgfpathmoveto{\pgfpoint{.2cm}{.3cm}}
+ \pgfpathlineto{\pgfpoint{.125cm}{.275cm}}
+ \pgfpathlineto{\pgfpoint{.2cm}{.15cm}}
+ \pgfpathmoveto{\pgfpoint{.125cm}{.075cm}}
+ \pgfpathlineto{\pgfpoint{.05cm}{.05cm}}
+ \pgfpathmoveto{\pgfpoint{.15cm}{-.1cm}}
+ \pgfpatharc{200}{230}{.4cm}
+ \pgfpathmoveto{\pgfpoint{-.2cm}{.3cm}}
+ \pgfpathlineto{\pgfpoint{-.125cm}{.275cm}}
+ \pgfpathlineto{\pgfpoint{-.2cm}{.15cm}}
+ \pgfpathmoveto{\pgfpoint{-.125cm}{.075cm}}
+ \pgfpathlineto{\pgfpoint{-.05cm}{.05cm}}
+ \pgfpathmoveto{\pgfpoint{-.15cm}{-.1cm}}
+ \pgfpatharc{340}{310}{.4cm}
+ \pgfpathmoveto{\pgfpoint{-.065cm}{-.075cm}}
+ \pgfpathlineto{\pgfpoint{-.045cm}{-.425cm}}
+ \pgfpathlineto{\pgfpoint{.045cm}{-.425cm}}
+ \pgfpathlineto{\pgfpoint{.065cm}{-.075cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% sanity
+\pgfdeclareshape{sanity}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{-.125cm + .175cm * sin(30)}{.425cm - .175cm * cos(30)}}
+ {\pgfpointpolar{210}{.175cm}}}
+ \pgfpatharc{210}{120}{.175cm}
+ \pgfpathlineto{\pgfpointpolar{110}{.25cm}}
+ \pgfpatharc{110}{70}{.25cm}
+ \pgfpathlineto{\pgfpoint{.125cm}{.425cm}}
+ \pgfpatharc{420}{330}{.175cm}
+ \pgfpathmoveto{\pgfpoint{.25cm}{.1cm}}
+ \pgfpatharc{390}{305}{.15cm}
+ \pgfpathmoveto{\pgfpoint{-.25cm}{.1cm}}
+ \pgfpatharc{150}{235}{.15cm}
+ \pgfpathmoveto{\pgfpoint{-.15cm}{.075cm}}
+ \pgfpathlineto{\pgfpoint{-.1cm}{.05cm}}
+ \pgfpathlineto{\pgfpoint{-.1cm}{.025cm}}
+ \pgfpathmoveto{\pgfpoint{.15cm}{.075cm}}
+ \pgfpathlineto{\pgfpoint{.1cm}{.05cm}}
+ \pgfpathlineto{\pgfpoint{.1cm}{.025cm}}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{-.55cm}{-.35cm}}
+ {\pgfpointadd{\pgfpointpolar{135}{.125cm and .075cm}}{\pgfpointpolar{20}{.55cm}}}}
+ \pgfpatharc{380}{360}{.55cm}
+ \pgfpatharc{135}{405}{.125cm and .075cm}
+ \pgfpatharc{180}{160}{.55cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% perception
+\pgfdeclareshape{perception}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{.35cm}}{\pgfpointpolar{150}{.125cm}}}
+ \pgfpatharc{150}{390}{.125cm}
+ \pgfpathmoveto{\pgfpoint{-.3cm}{.425cm}}
+ \pgfpatharc{180}{360}{.3cm and .2cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{.425cm}}{\pgfpointpolar{330}{.3cm and .2cm}}}
+ \pgfpatharc{270}{350}{.15cm and .1cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{.425cm}}{\pgfpointpolar{210}{.3cm and .2cm}}}
+ \pgfpatharc{270}{190}{.15cm and .1cm}
+ \pgfpathmoveto{\pgfpoint{-.2cm}{.15cm}}
+ \pgfpathlineto{\pgfpoint{-.375cm}{.125cm}}
+ \pgfpatharc{210}{250}{.225cm}
+ \pgfpathmoveto{\pgfpoint{.2cm}{.15cm}}
+ \pgfpathlineto{\pgfpoint{.375cm}{.125cm}}
+ \pgfpatharc{330}{290}{.225cm}
+ \pgfpathmoveto{\pgfpoint{-.15cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{-.075cm}{-.025cm}}
+ \pgfpathlineto{\pgfpoint{-.075cm}{-.05cm}}
+ \pgfpathmoveto{\pgfpoint{.15cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{.075cm}{-.025cm}}
+ \pgfpathlineto{\pgfpoint{.075cm}{-.05cm}}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{-.075cm}{-.35cm + .075cm * ( 2 + sqrt(3) )}}
+ {\pgfpointpolar{195}{.1cm and .075cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{0cm}{-.35cm}}{\pgfpointpolar{195}{.1cm and .075cm}}}
+ \pgfpatharc{195}{345}{.1cm and .075cm}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{.075cm}{-.35cm + .075cm * ( 2 + sqrt(3) )}}
+ {\pgfpointpolar{345}{.1cm and .075cm}}}
+ \pgfpathmoveto{\pgfpoint{.025cm}{-.325cm}}
+ \pgfpatharc{0}{180}{.025cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% luck
+\pgfdeclareshape{luck}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{.1cm}{.15cm}}
+ \pgfpathlineto{\pgfpoint{.1cm}{-.05cm}}
+ \pgfpatharc{-75}{-15}{.425cm}
+ \pgfpatharc{40}{85}{.425cm}
+ \pgfpathmoveto{\pgfpoint{-.1cm}{.15cm}}
+ \pgfpathlineto{\pgfpoint{-.1cm}{-.05cm}}
+ \pgfpatharc{-105}{-165}{.425cm}
+ \pgfpatharc{140}{95}{.425cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.05cm}}{\pgfpointpolar{15}{.425cm}}}
+ \pgfpatharc{15}{-55}{.425cm and .3cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{-.05cm}}{\pgfpointpolar{165}{.425cm}}}
+ \pgfpatharc{165}{235}{.425cm and .3cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.175cm}}
+ \pgfpatharc{90}{250}{.175cm and .125cm}
+ \pgfpathlineto{\pgfpoint{-.05cm}{-.325cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.175cm}}
+ \pgfpatharc{90}{-70}{.175cm and .125cm}
+ \pgfpathlineto{\pgfpoint{.05cm}{-.325cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% armor
+\pgfdeclareshape{armor}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.25cm}{-.425cm}}
+ \pgfpathlineto{\pgfpoint{.25cm}{-.425cm}}
+ \pgfpathlineto{\pgfpoint{.2cm}{-.225cm}}
+ \pgfpathlineto{\pgfpoint{.25cm}{.125cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{.125cm}}
+ \pgfpatharc{0}{90}{.3cm}
+ \pgfpathlineto{\pgfpoint{.125cm}{.35cm}}
+ \pgfpatharc{360}{180}{.125cm}
+ \pgfpathlineto{\pgfpoint{-.125cm}{.425cm}}
+ \pgfpatharc{90}{180}{.3cm}
+ \pgfpathlineto{\pgfpoint{-.25cm}{.125cm}}
+ \pgfpathlineto{\pgfpoint{-.2cm}{-.225cm}}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{.125cm}{.425cm}}
+ \pgfpathlineto{\pgfpoint{.125cm}{.25cm}}
+ \pgfpatharc{180}{270}{.125cm}
+ \pgfpathmoveto{\pgfpoint{-.125cm}{.425cm}}
+ \pgfpathlineto{\pgfpoint{-.125cm}{.25cm}}
+ \pgfpatharc{360}{270}{.125cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{.225cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.275cm}}
+ \pgfpathmoveto{\pgfpoint{-.2cm}{-.225cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.275cm}}
+ \pgfpathlineto{\pgfpoint{.2cm}{-.225cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% proficiency
+\pgfdeclareshape{proficiency}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointpolar{90}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{126}{.15cm}}
+ \pgfpathlineto{\pgfpointpolar{162}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{198}{.15cm}}
+ \pgfpathlineto{\pgfpointpolar{234}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{270}{.15cm}}
+ \pgfpathlineto{\pgfpointpolar{306}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{342}{.15cm}}
+ \pgfpathlineto{\pgfpointpolar{18}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{54}{.15cm}}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpointpolar{270}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{270}{.425cm}}
+ \pgfpathmoveto{\pgfpointpolar{342}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{342}{.425cm}}
+ \pgfpathmoveto{\pgfpointpolar{54}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{54}{.425cm}}
+ \pgfpathmoveto{\pgfpointpolar{126}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{126}{.425cm}}
+ \pgfpathmoveto{\pgfpointpolar{198}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{198}{.425cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+\NewDocumentCommand{\rpgiconsability}{ O{positive} m O{} }{%
+ \edef\rpgicons@abilityiconposneg{#1}%
+ \edef\rpgicons@abilityiconneg{negative}%
+ \ifx\rpgicons@abilityiconposneg\rpgicons@abilityiconneg%
+ \def\rpgicons@abilityiconfg{fgneg}\else%
+ \def\rpgicons@abilityiconfg{fgpos}\fi%
+ \hspace{\rpgicons@beforesep}%
+ \tikz[rpg icons, rpg icons/every ability, rpg icons/every #2,
+ baseline=\rpgicons@baseline, fgpos/.style={draw}, fgneg/.style={draw=rpgicons@bg, line width=.6pt}, #3] {
+ \ifx\rpgicons@abilityiconposneg\rpgicons@abilityiconneg%
+ \path[scale=.333, fill] (0cm,0cm) circle[radius=.45cm];
+ \node[#2, \rpgicons@abilityiconfg, scale=.225] (0cm,0cm) {};
+ \else
+ \node[#2, \rpgicons@abilityiconfg, scale=.333] (0cm,0cm) {};
+ \fi%
+ \path[draw=none, scale=.333] ([yshift=-1pt].425cm,.425cm) rectangle ([yshift=1pt]-.425cm,-.425cm);
+ }%
+ \hspace{\rpgicons@aftersep}%
+}
+\@ifundefined{ability}{\NewCommandCopy\ability\rpgiconsability}{}
+
+\NewDocumentCommand{\rpgiconssaving}{ O{normal} m O{} }{%
+ \edef\rpgicons@abilityiconnrmemp{#1}%
+ \edef\rpgicons@abilityiconemp{empty}%
+ \ifx\rpgicons@abilityiconnrmemp\rpgicons@abilityiconemp%
+ \def\rpgicons@savingstyle{}\else%
+ \def\rpgicons@savingstyle{rpg icons/every #2}\fi%
+ \hspace{\rpgicons@beforesep}%
+ \tikz[rpg icons, rpg icons/every saving, \rpgicons@savingstyle,
+ baseline=\rpgicons@baseline, #3] {
+ \path[draw, scale=.333] (-.45cm,.45cm) -- (.45cm,.45cm) -- (.45cm,-.05cm)
+ arc[start angle=360, end angle=180, radius=.45cm] -- cycle;
+ \ifx\rpgicons@abilityiconnrmemp\rpgicons@abilityiconemp\else%
+ \node[#2, draw,scale=.225] (0cm,0cm) {};
+ \fi%
+ \path[draw=none, scale=.333] ([yshift=-1pt].425cm,.425cm) rectangle ([yshift=1pt]-.425cm,-.425cm);
+ }%
+ \hspace{\rpgicons@aftersep}%
+}
+\@ifundefined{saving}{\NewCommandCopy\saving\rpgiconssaving}{}
+
+% SPELLS
+
+% line
+\pgfdeclareshape{linear}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.4cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{.4cm}{0cm}}
+ \pgfusepath{draw} % draw shape
+ \pgfpathcircle{\pgfpoint{-.4cm}{0cm}}{2pt}
+ \pgfusepath{fill} % draw origin
+ }
+}
+
+% cone
+\pgfdeclareshape{conic}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \def\rx{.425cm}
+ \def\ry{.2cm}
+ \def\z{(.425cm+.2125cm)}
+ \pgfpathellipse{\pgfpoint{\z-.425cm}{0cm}}{\pgfpoint{\ry}{0cm}}{\pgfpoint{0cm}{\rx}}
+ \pgfmathparse{asin(\ry/\z)}
+ \let\angle\pgfmathresult
+ \pgfmathparse{-\rx*cos(\angle)}
+ \let\coordya\pgfmathresult
+ \pgfmathparse{\rx*cos(\angle)}
+ \let\coordyb\pgfmathresult
+ \pgfmathparse{\z-\ry*sin(\angle)}
+ \let\coordx\pgfmathresult
+ \pgfpathmoveto{\pgfpoint{\coordx-.425cm}{\coordya}}
+ \pgfpathlineto{\pgfpoint{-.425cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{\coordx-.425cm}{\coordyb}}
+ \pgfusepath{draw} % draw shape
+ \pgfpathcircle{\pgfpoint{-.425cm}{0cm}}{2pt}
+ \pgfusepath{fill} % draw origin
+ }
+}
+
+% square
+\pgfdeclareshape{quadratic}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathrectanglecorners{\pgfpoint{.4cm}{.4cm}}{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfusepath{draw} % draw shape
+ \pgfpathcircle{\pgfpointorigin}{2pt}
+ \pgfusepath{fill} % draw origin
+ }
+}
+
+% cube
+\pgfdeclareshape{cubic}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.425cm}{.425cm}}
+ \pgfpathlineto{\pgfpoint{-.425cm}{-.2cm}}
+ \pgfpathlineto{\pgfpoint{-.2cm}{-.425cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{-.425cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{.2cm}}
+ \pgfpathlineto{\pgfpoint{.2cm}{.425cm}}
+ \pgfpathclose
+ \pgfpathlineto{\pgfpoint{-.2cm}{.2cm}}
+ \pgfpathlineto{\pgfpoint{-.2cm}{-.425cm}}
+ \pgfpathmoveto{\pgfpoint{-.2cm}{.2cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{.2cm}}
+ \pgfusepath{draw} % draw shape
+ \pgfpathcircle{\pgfpoint{.1125cm}{-.1125cm}}{2pt}
+ \pgfusepath{fill} % draw origin
+ }
+}
+
+% sphere
+\pgfdeclareshape{spheric}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathcircle{\pgfpointorigin}{.425cm}
+ \pgfpathmoveto{\pgfpoint{.425cm}{0cm}}
+ \pgfpatharc{180}{50}{-.425cm and -.2cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.425cm}}
+ \pgfpatharc{270}{140}{-.2cm and .425cm}
+ \pgfusepath{draw} % draw shape
+ \pgfpathcircle{\pgfpointorigin}{2pt}
+ \pgfusepath{fill} % draw origin
+ }
+}
+
+% cylinder
+\pgfdeclareshape{cylindric}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathellipse{\pgfpoint{0cm}{.2125cm}}{\pgfpoint{0cm}{.2cm}}{\pgfpoint{.425cm}{0cm}}
+ \pgfpathmoveto{\pgfpoint{-.425cm}{.2125cm}}
+ \pgfpathlineto{\pgfpoint{-.425cm}{-.2125cm}}
+ \pgfpatharc{0}{180}{-.425cm and -.2cm}
+ \pgfpathlineto{\pgfpoint{.425cm}{.2125cm}}
+ \pgfusepath{draw} % draw shape
+ \pgfpathcircle{\pgfpoint{0cm}{-.2125cm}}{2pt}
+ \pgfusepath{fill} % draw origin
+ }
+}
+
+% verbal
+\pgfdeclareshape{verbal}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.35cm}{0cm}}
+ \pgfpatharc{180}{-115}{.35cm}
+ \pgfpathlineto{\pgfpoint{-.4cm}{-.4cm}}
+ \pgfpathlineto{\pgfpointpolar{215}{.35cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% somatic
+\pgfdeclareshape{somatic}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.425cm}{0cm}}
+ \pgfpatharc{0}{270}{-.425cm and -.2cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.425cm}}
+ \pgfpatharc{90}{360}{-.2cm and -.425cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% material
+\pgfdeclareshape{material}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.4cm}{.2cm}}
+ \pgfpathlineto{\pgfpoint{-.4cm}{-.2cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.4cm}}
+ \pgfpathlineto{\pgfpoint{.4cm}{-.2cm}}
+ \pgfpathlineto{\pgfpoint{.4cm}{.2cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{.4cm}}
+ \pgfpathclose
+ \pgfpathlineto{\pgfpoint{0cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{.4cm}{.2cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.4cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% focus
+\pgfdeclareshape{focus}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathcircle{\pgfpointorigin}{.35cm}
+ \pgfpathmoveto{\pgfpoint{-.15cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{-.425cm}{0cm}}
+ \pgfpathmoveto{\pgfpoint{.15cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{0cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.15cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.425cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{.15cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{.425cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+\NewDocumentCommand{\rpgiconsspell}{ m O{} }{%
+ \hspace{\rpgicons@beforesep}%
+ \tikz[rpg icons, rpg icons/every spell, rpg icons/every #1,
+ baseline=\rpgicons@baseline, #2] {
+ \node[#1, draw,scale=.333] (0cm,0cm) {};
+ \path[draw=none, scale=.333] ([yshift=-1pt].425cm,.425cm) rectangle ([yshift=1pt]-.425cm,-.425cm);
+ }%
+ \hspace{\rpgicons@aftersep}%
+}
+\@ifundefined{spell}{\NewCommandCopy\spell\rpgiconsspell}{}
+
+% SPELLSCHOOLS
+
+% abjuration
+\pgfdeclareshape{abjuration}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.025cm}}
+ \pgfpatharc{270}{390}{.275cm and .175cm}
+ \pgfpatharc{210}{120}{.095cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{.025cm}}
+ \pgfpatharc{270}{150}{.275cm and .175cm}
+ \pgfpatharc{-30}{60}{.095cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{.25cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.425cm}}
+ \pgfpathmoveto{\pgfpoint{-.25cm}{-.125cm}}
+ \pgfpathlineto{\pgfpoint{.25cm}{-.125cm}}
+ \pgfpathmoveto{\pgfpoint{-.25cm}{-.3cm}}
+ \pgfpathlineto{\pgfpoint{.25cm}{-.3cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% conjuration
+\pgfdeclareshape{conjuration}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.425cm}{.425cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.425cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{.425cm}}
+ \pgfpathmoveto{\pgfpoint{-.225cm}{.05cm}}
+ \pgfpathlineto{\pgfpoint{.225cm}{.05cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.15cm}}
+ \pgfpatharc{110}{70}{.5cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.15cm}}
+ \pgfpatharc{110}{70}{-.5cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% divination
+\pgfdeclareshape{divination}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.35cm}{-.175cm}}
+ \pgfpatharc{180}{0}{.15cm and -.25cm}
+ \pgfpatharc{180}{90}{.4cm}
+ \pgfpathmoveto{\pgfpoint{-.05cm}{-.175cm}}
+ \pgfpathlineto{\pgfpoint{-.05cm}{0cm}}
+ \pgfpatharc{180}{90}{.4cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% enchantment
+\pgfdeclareshape{enchantment}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.2cm}{-.425cm}}
+ \pgfpathlineto{\pgfpoint{-.2cm}{.425cm}}
+ \pgfpathmoveto{\pgfpoint{-.425cm}{.175cm}}
+ \pgfpathlineto{\pgfpoint{.025cm}{.175cm}}
+ \pgfpathmoveto{\pgfpoint{-.2cm}{-.225cm}}
+ \pgfpatharc{180}{0}{.1cm and .2cm}
+ \pgfpatharc{180}{0}{.1cm and .2cm}
+ \pgfpatharc{180}{0}{.1cm and -.2cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% evocation
+\pgfdeclareshape{evocation}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathellipse{\pgfpointorigin}{\pgfpoint{.325cm}{0cm}}{\pgfpoint{0cm}{.225cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{.425cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.425cm}}
+ \pgfpathmoveto{\pgfpoint{-.425cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{0cm}}
+ \pgfpathmoveto{\pgfpointpolar{30}{.325cm and .225cm}}
+ \pgfpathlineto{\pgfpointpolar{30}{.4cm}}
+ \pgfpathmoveto{\pgfpointpolar{60}{.325cm and .225cm}}
+ \pgfpathlineto{\pgfpointpolar{60}{.4cm}}
+ \pgfpathmoveto{\pgfpointpolar{120}{.325cm and .225cm}}
+ \pgfpathlineto{\pgfpointpolar{120}{.4cm}}
+ \pgfpathmoveto{\pgfpointpolar{150}{.325cm and .225cm}}
+ \pgfpathlineto{\pgfpointpolar{150}{.4cm}}
+ \pgfpathmoveto{\pgfpointpolar{210}{.325cm and .225cm}}
+ \pgfpathlineto{\pgfpointpolar{210}{.4cm}}
+ \pgfpathmoveto{\pgfpointpolar{240}{.325cm and .225cm}}
+ \pgfpathlineto{\pgfpointpolar{240}{.4cm}}
+ \pgfpathmoveto{\pgfpointpolar{300}{.325cm and .225cm}}
+ \pgfpathlineto{\pgfpointpolar{300}{.4cm}}
+ \pgfpathmoveto{\pgfpointpolar{330}{.325cm and .225cm}}
+ \pgfpathlineto{\pgfpointpolar{330}{.4cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% illusion
+\pgfdeclareshape{illusion}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.225cm}}
+ \pgfpatharc{90}{30}{.45cm}
+ \pgfpatharc{330}{210}{.45cm}
+ \pgfpatharc{150}{90}{.45cm}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{.225cm}}{\pgfpointpolar{270}{.45cm}}}
+ \pgfpathlineto{\pgfpointpolar{270}{.35cm}}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{.225cm}}{\pgfpointpolar{240}{.45cm}}}
+ \pgfpathlineto{\pgfpointpolar{225}{.4cm}}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{.225cm}}{\pgfpointpolar{300}{.45cm}}}
+ \pgfpathlineto{\pgfpointpolar{315}{.4cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{.225cm}}
+ \pgfpathcircle{\pgfpoint{0cm}{.075cm}}{.15cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% necromancy
+\pgfdeclareshape{necromancy}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointpolar{210}{.25cm}}
+ \pgfpatharc{210}{-30}{.25cm}
+ \pgfpatharc{150}{390}{.1cm}
+ \pgfpathmoveto{\pgfpointpolar{210}{.25cm}}
+ \pgfpatharc{390}{150}{.1cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% transmutation
+\pgfdeclareshape{transmutation}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.25cm}{.35cm}}
+ \pgfpathlineto{\pgfpoint{-.25cm}{-.35cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{.35cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.35cm}}
+ \pgfpathmoveto{\pgfpoint{-.425cm}{.35cm}}
+ \pgfpathlineto{\pgfpoint{.15cm}{.35cm}}
+ \pgfpatharc{90}{-45}{.1cm}
+ \pgfpatharc{135}{360}{.1cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+\NewDocumentCommand{\rpgiconsspellschool}{ O{negative} m O{} }{%
+ \edef\rpgicons@spellschooliconposneg{#1}%
+ \edef\rpgicons@spellschooliconpos{positive}%
+ \ifx\rpgicons@spellschooliconposneg\rpgicons@spellschooliconpos%
+ \def\rpgicons@spellschooliconfg{fgneg}\else%
+ \def\rpgicons@spellschooliconfg{fgpos}\fi%
+ \ifx\rpgicons@spellschooliconposneg\rpgicons@spellschooliconpos%
+ \def\rpgicons@spellschooliconbg{bgneg}\else%
+ \def\rpgicons@spellschooliconbg{bgpos}\fi%
+ \hspace{\rpgicons@beforesep}%
+ \tikz[rpg icons, rpg icons/every spellschool, rpg icons/every #2,
+ baseline=\rpgicons@baseline, fgpos/.style={draw=rpgicons@bg, line width=.6pt}, fgneg/.style={draw},
+ bgpos/.style={fill}, bgneg/.style={draw}, #3] {
+ \path[scale=.333, \rpgicons@spellschooliconbg] (-.475cm,.35cm)
+ -- (-.35cm,.475cm) -- (.35cm,.475cm) -- (.475cm,.35cm) -- (.425cm,-.375cm) -- (0cm,-.475cm) -- (-.425cm,-.375cm) -- cycle;
+ \node[#2, scale=.225, \rpgicons@spellschooliconfg] (0cm,0cm) {};
+ \path[draw=none, scale=.333] ([yshift=-1pt].425,.425) rectangle ([yshift=1pt]-.425cm,-.425cm);
+ }%
+ \hspace{\rpgicons@aftersep}%
+}
+\@ifundefined{spellschool}{\NewCommandCopy\spellschool\rpgiconsspellschool}{}
+
+% DAMAGES
+
+% acid
+\pgfdeclareshape{acid}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{-.175cm}{.05cm}}{\pgfpointpolar{-20}{.175}}}
+ \pgfpatharc{-20}{200}{-.175cm}
+ \pgfpathlineto{\pgfpoint{0cm}{.425cm}}
+ \pgfpathclose
+ \newdimen\rpgicons@py
+ \pgfextracty{\rpgicons@py}{\pgfpointadd{\pgfpoint{0cm}{-.175cm}}{\pgfpointpolar{20}{-.25cm}}}
+ \pgfpathmoveto{\pgfpoint{-.425cm}{\rpgicons@py}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{0cm}{-.175cm}}{\pgfpointpolar{20}{-.25cm}}}
+ \pgfpatharc{20}{160}{-.25cm}
+ \pgfpathlineto{\pgfpoint{.425cm}{\rpgicons@py}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% bludgeoning
+\pgfdeclareshape{bludgeoning}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.2cm}{.225cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{.425cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{.225cm}{-.2cm}}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{.05cm}{-.025cm}}
+ \pgfpathlineto{\pgfpoint{-.35cm}{-.425cm}}
+ \pgfpathlineto{\pgfpoint{-.425cm}{-.35cm}}
+ \pgfpathlineto{\pgfpoint{-.025cm}{.05cm}}
+ \pgfpathmoveto{\pgfpoint{.2375cm}{.1875cm}}
+ \pgfpatharc{135}{315}{-.05cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% cold
+\pgfdeclareshape{cold}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointpolar{90}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{270}{.425cm}}
+ \pgfpathmoveto{\pgfpointpolar{110}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{90}{.25cm}}
+ \pgfpathlineto{\pgfpointpolar{70}{.35cm}}
+ \pgfpathmoveto{\pgfpointpolar{250}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{270}{.25cm}}
+ \pgfpathlineto{\pgfpointpolar{290}{.35cm}}
+ \pgfpathmoveto{\pgfpointpolar{30}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{210}{.425cm}}
+ \pgfpathmoveto{\pgfpointpolar{50}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{30}{.25cm}}
+ \pgfpathlineto{\pgfpointpolar{10}{.35cm}}
+ \pgfpathmoveto{\pgfpointpolar{190}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{210}{.25cm}}
+ \pgfpathlineto{\pgfpointpolar{230}{.35cm}}
+ \pgfpathmoveto{\pgfpointpolar{150}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{330}{.425cm}}
+ \pgfpathmoveto{\pgfpointpolar{130}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{150}{.25cm}}
+ \pgfpathlineto{\pgfpointpolar{170}{.35cm}}
+ \pgfpathmoveto{\pgfpointpolar{310}{.35cm}}
+ \pgfpathlineto{\pgfpointpolar{330}{.25cm}}
+ \pgfpathlineto{\pgfpointpolar{350}{.35cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% fire
+\pgfdeclareshape{fire}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{.15cm}{-.425cm}}
+ \pgfpatharc{-60}{0}{.45cm and .375cm}
+ \pgfpathcurveto{\pgfpoint{.375cm}{.15cm}}{\pgfpoint{.15cm}{.375cm}}{\pgfpoint{-.05cm}{.425cm}}
+ \pgfpathmoveto{\pgfpoint{-.15cm}{-.425cm}}
+ \pgfpatharc{240}{135}{.45cm and .35cm}
+ \pgfpathcurveto{\pgfpoint{-.15cm}{.2cm}}{\pgfpoint{0cm}{.25cm}}{\pgfpoint{-.05cm}{.425cm}}
+ \pgfpathmoveto{\pgfpoint{.075cm}{-.3cm}}
+ \pgfpathcurveto{\pgfpoint{.2cm}{-.2cm}}{\pgfpoint{.2cm}{-.05cm}}{\pgfpoint{.05cm}{.1cm}}
+ \pgfpathmoveto{\pgfpoint{-.075cm}{-.3cm}}
+ \pgfpatharc{220}{150}{.35cm and .2cm}
+ \pgfpathcurveto{\pgfpoint{0cm}{-.2cm}}{\pgfpoint{.05cm}{-.1cm}}{\pgfpoint{.05cm}{.1cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% force
+\pgfdeclareshape{force}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointpolar{90}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{120}{.15cm}}
+ \pgfpathlineto{\pgfpointpolar{150}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{180}{.15cm}}
+ \pgfpathlineto{\pgfpointpolar{210}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{240}{.15cm}}
+ \pgfpathlineto{\pgfpointpolar{270}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{300}{.15cm}}
+ \pgfpathlineto{\pgfpointpolar{330}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{0}{.15cm}}
+ \pgfpathlineto{\pgfpointpolar{30}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{60}{.15cm}}
+ \pgfpathclose
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% lightning
+\pgfdeclareshape{lightning}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.425cm}}
+ \pgfpathlineto{\pgfpoint{-.25cm}{-.15cm}}
+ \pgfpathlineto{\pgfpoint{.25cm}{.15cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.425cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% necrotic
+\pgfdeclareshape{necrotic}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.35cm}{-.425cm}}
+ \pgfpathlineto{\pgfpoint{-.35cm}{.075cm}}
+ \pgfpatharc{180}{0}{.35cm}
+ \pgfpathlineto{\pgfpoint{.35cm}{-.425cm}}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{0cm}{-.2cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{.25cm}}
+ \pgfpathmoveto{\pgfpoint{-.15cm}{.1cm}}
+ \pgfpathlineto{\pgfpoint{.15cm}{.1cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% piercing
+\pgfdeclareshape{piercing}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.425cm}{.075cm}}
+ \pgfpathlineto{\pgfpoint{.3cm}{.075cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{.3cm}{-.075cm}}
+ \pgfpathlineto{\pgfpoint{-.425cm}{-.075cm}}
+ \pgfpathmoveto{\pgfpoint{.25cm}{.2cm}}
+ \pgfpathlineto{\pgfpoint{-.05cm}{.35cm}}
+ \pgfpathmoveto{\pgfpoint{.25cm}{-.2cm}}
+ \pgfpathlineto{\pgfpoint{-.05cm}{-.35cm}}
+ \pgfpathmoveto{\pgfpoint{.425cm}{.15cm}}
+ \pgfpathlineto{\pgfpoint{.25cm}{.425cm}}
+ \pgfpathmoveto{\pgfpoint{.425cm}{-.15cm}}
+ \pgfpathlineto{\pgfpoint{.25cm}{-.425cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% poison
+\pgfdeclareshape{poison}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{0cm}{.175cm}}{\pgfpointpolar{-40}{.25cm}}}
+ \pgfpatharc{-40}{220}{.25cm}
+ \pgfpathlineto{\pgfpoint{-.15cm}{-.1cm}}
+ \pgfpathlineto{\pgfpoint{.15cm}{-.1cm}}
+ \pgfpathclose
+ \pgfpathcircle{\pgfpoint{-.1cm}{.15cm}}{.05cm}
+ \pgfpathcircle{\pgfpoint{.1cm}{.15cm}}{.05cm}
+ \pgfpathmoveto{\pgfpoint{.425cm}{-.2cm}}
+ \pgfpathlineto{\pgfpoint{-.425cm}{-.425cm}}
+ \pgfpathmoveto{\pgfpoint{-.425cm}{-.2cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{-.425cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% psychic
+\pgfdeclareshape{psychic}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{.075cm}{.4cm}}
+ \pgfpatharc{90}{180}{.425cm}
+ \pgfpatharc{180}{270}{.375cm}
+ \pgfpatharc{270}{360}{.325cm}
+ \pgfpatharc{0}{90}{.275cm}
+ \pgfpatharc{90}{180}{.225cm}
+ \pgfpatharc{180}{270}{.175cm}
+ \pgfpatharc{270}{360}{.125cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% radiant
+\pgfdeclareshape{radiant}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathcircle{\pgfpointorigin}{.225cm}
+ \pgfpathmoveto{\pgfpointpolar{15}{.425cm}}
+ \pgfpatharc{15}{45}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{75}{.425cm}}
+ \pgfpatharc{75}{105}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{135}{.425cm}}
+ \pgfpatharc{135}{165}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{195}{.425cm}}
+ \pgfpatharc{195}{225}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{255}{.425cm}}
+ \pgfpatharc{255}{285}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{315}{.425cm}}
+ \pgfpatharc{315}{345}{.425cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% slashing
+\pgfdeclareshape{slashing}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.15cm}{.225cm}}
+ \pgfpathlineto{\pgfpoint{-.275cm}{.35cm}}
+ \pgfpatharc{0}{240}{.075cm}
+ \pgfpathlineto{\pgfpoint{-.35cm}{.275cm}}
+ \pgfpathlineto{\pgfpoint{-.225cm}{.15cm}}
+ \pgfpathlineto{\pgfpoint{-.425cm}{-.05cm}}
+ \pgfpathlineto{\pgfpoint{-.35cm}{-.125cm}}
+ \pgfpathlineto{\pgfpoint{.125cm}{.35cm}}
+ \pgfpathlineto{\pgfpoint{.05cm}{.425cm}}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{-.2cm}{.025cm}}
+ \pgfpathlineto{\pgfpoint{.225cm}{-.425cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{-.425cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{-.225cm}}
+ \pgfpathlineto{\pgfpoint{-.025cm}{.2cm}}
+ \pgfpathmoveto{\pgfpoint{.325cm}{-.325cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{0cm}}
+ \pgfpathmoveto{\pgfpoint{.425cm}{.3cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{0cm}}
+ \pgfpathmoveto{\pgfpoint{.275cm}{.425cm}}
+ \pgfpathlineto{\pgfpoint{.275cm}{.1cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% thunder
+\pgfdeclareshape{thunder}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{.225cm}{-.075cm}}
+ \pgfpatharc{-90}{120}{.2cm}
+ \pgfpatharc{30}{180}{.225cm}
+ \newdimen\rpgicons@qy
+ \pgfmathparse{.125cm+cos(30)*.2cm-sin(30)*.225cm}
+ \rpgicons@qy=\pgfmathresult pt
+ \pgfpathlineto{\pgfpoint{-.3cm}{\rpgicons@qy}}
+ \pgfpatharc{90}{180}{.125cm}
+ \pgfpathlineto{\pgfpoint{-.425cm}{.05cm}}
+ \pgfpatharc{180}{270}{.125cm}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{-.1cm}{-.225cm}}
+ \pgfpatharc{240}{300}{.3cm}
+ \pgfpathmoveto{\pgfpoint{-.2cm}{-.35cm}}
+ \pgfpatharc{240}{300}{.5cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% healing
+\pgfdeclareshape{healing}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.125cm}}
+ \pgfpatharc{0}{225}{.2cm}
+ \pgfpathlineto{\pgfpoint{0cm}{-.375cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{.125cm}}
+ \pgfpatharc{180}{-45}{.2cm}
+ \pgfpathlineto{\pgfpoint{0cm}{-.375cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+\NewDocumentCommand{\rpgiconsdamage}{ m O{} }{%
+ \hspace{\rpgicons@beforesep}%
+ \tikz[rpg icons, rpg icons/every damage, rpg icons/every #1,
+ baseline=\rpgicons@baseline, #2] {
+ \path[draw, scale=.333] (0cm,0cm) circle[radius=.5cm];
+ \node[#1, draw, scale=.225] (0cm,0cm) {};
+ \path[draw=none, scale=.333] ([yshift=-1pt].425cm,.425cm) rectangle ([yshift=1pt]-.425cm,-.425cm);
+ }%
+ \hspace{\rpgicons@aftersep}%
+}
+\@ifundefined{damage}{\NewCommandCopy\damage\rpgiconsdamage}{}
+
+% ATTACKS
+
+% melee
+\pgfdeclareshape{melee}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.15cm}{-.225cm}}
+ \pgfpathlineto{\pgfpoint{-.275cm}{-.35cm}}
+ \pgfpatharc{360}{90}{.075cm}
+ \pgfpathlineto{\pgfpoint{-.35cm}{-.275cm}}
+ \pgfpathlineto{\pgfpoint{-.225cm}{-.15cm}}
+ \pgfpathlineto{\pgfpoint{-.425cm}{.05cm}}
+ \pgfpathlineto{\pgfpoint{-.35cm}{.125cm}}
+ \pgfpathlineto{\pgfpoint{.125cm}{-.35cm}}
+ \pgfpathlineto{\pgfpoint{.05cm}{-.425cm}}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{-.2cm}{-.025cm}}
+ \pgfpathlineto{\pgfpoint{.225cm}{.425cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{.425cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{.225cm}}
+ \pgfpathlineto{\pgfpoint{-.025cm}{-.2cm}}
+ \pgfpathmoveto{\pgfpoint{.325cm}{.325cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{0cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% ranged
+\pgfdeclareshape{ranged}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.225cm}}
+ \pgfpatharc{0}{-30}{.4cm}
+ \pgfpatharc{-45}{0}{.6cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{.225cm}}
+ \pgfpatharc{0}{30}{.4cm}
+ \pgfpatharc{45}{0}{.6cm}
+ \pgfpathmoveto{\pgfpoint{-.425cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{0cm}}
+ \pgfpathmoveto{\pgfpoint{.275cm}{.1cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{.275cm}{-.1cm}}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{-.4cm}{-.225cm}}{\pgfpointpolar{-20}{.4cm}}}
+ \pgfpathlineto{\pgfpoint{-.425cm}{0cm}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{-.4cm}{.225cm}}{\pgfpointpolar{20}{.4cm}}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% magic
+\pgfdeclareshape{magic}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.225cm}{-.425cm}}
+ \pgflineto{\pgfpoint{-.425cm}{-.225cm}}
+ \pgflineto{\pgfpoint{-.3cm}{-.1cm}}
+ \pgflineto{\pgfpoint{-.3cm}{.125cm}}
+ \pgflineto{\pgfpoint{0cm}{.425cm}}
+ \pgfpatharc{405}{315}{.1cm}
+ \pgflineto{\pgfpoint{-.15cm}{.1cm}}
+ \pgflineto{\pgfpoint{-.15cm}{-.05cm}}
+ \pgfpatharc{180}{360}{.05cm}
+ \pgflineto{\pgfpoint{-.05cm}{0cm}}
+ \pgfpatharc{180}{90}{.1cm}
+ \pgflineto{\pgfpoint{.05cm}{-.1cm}}
+ \pgfpatharc{360}{315}{.125cm}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{-.225cm}{-.25cm}}
+ \pgflineto{\pgfpoint{-.325cm}{-.15cm}}
+ \pgfpathmoveto{\pgfpoint{.2cm}{.2cm}}
+ \pgfpatharc{180}{360}{.1cm}
+ \pgfpatharc{0}{45}{.1cm}
+ \pgfpatharc{225}{180}{.2cm}
+ \pgfpathcircle{\pgfpoint{.3cm}{-.075cm}}{.075cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% single-handed
+\pgfdeclareshape{singlehanded}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.25cm}{-.425cm}}
+ \pgflineto{\pgfpoint{.025cm}{-.425cm}}
+ \pgflineto{\pgfpoint{.325cm}{-.125cm}}
+ \pgfpatharc{45}{135}{.1cm}
+ \pgflineto{\pgfpoint{0cm}{-.275cm}}
+ \pgflineto{\pgfpoint{-.15cm}{-.275cm}}
+ \pgfpatharc{270}{90}{.05cm}
+ \pgflineto{\pgfpoint{-.1cm}{-.175cm}}
+ \pgfpatharc{270}{360}{.1cm}
+ \pgflineto{\pgfpoint{-.2cm}{-.075cm}}
+ \pgfpatharc{90}{135}{.125cm}
+ \pgflineto{\pgfpoint{-.425cm}{-.25cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% double-handed
+\pgfdeclareshape{doublehanded}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.25cm}{-.425cm}}
+ \pgflineto{\pgfpoint{.025cm}{-.425cm}}
+ \pgflineto{\pgfpoint{.325cm}{-.125cm}}
+ \pgfpatharc{45}{135}{.1cm}
+ \pgflineto{\pgfpoint{0cm}{-.275cm}}
+ \pgflineto{\pgfpoint{-.15cm}{-.275cm}}
+ \pgfpatharc{270}{90}{.05cm}
+ \pgflineto{\pgfpoint{-.1cm}{-.175cm}}
+ \pgfpatharc{270}{360}{.1cm}
+ \pgflineto{\pgfpoint{-.2cm}{-.075cm}}
+ \pgfpatharc{90}{135}{.125cm}
+ \pgflineto{\pgfpoint{-.425cm}{-.25cm}}
+ \pgfpathmoveto{\pgfpoint{.25cm}{.425cm}}
+ \pgflineto{\pgfpoint{-.025cm}{.425cm}}
+ \pgflineto{\pgfpoint{-.325cm}{.125cm}}
+ \pgfpatharc{225}{315}{.1cm}
+ \pgflineto{\pgfpoint{0cm}{.275cm}}
+ \pgflineto{\pgfpoint{.15cm}{.275cm}}
+ \pgfpatharc{450}{270}{.05cm}
+ \pgflineto{\pgfpoint{.1cm}{.175cm}}
+ \pgfpatharc{90}{180}{.1cm}
+ \pgflineto{\pgfpoint{.2cm}{.075cm}}
+ \pgfpatharc{270}{315}{.125cm}
+ \pgflineto{\pgfpoint{.425cm}{.25cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+\NewDocumentCommand{\rpgiconsattack}{ m O{} }{%
+ \hspace{\rpgicons@beforesep}%
+ \tikz[rpg icons, rpg icons/every attack, rpg icons/every #1,
+ baseline=\rpgicons@baseline, #2] {
+ \node[#1, draw, scale=.333] (0cm,0cm) {};
+ \path[draw=none, scale=.333] ([yshift=-1pt].425cm,.425cm) rectangle ([yshift=1pt]-.425cm,-.425cm);
+ }%
+ \hspace{\rpgicons@aftersep}%
+}
+\@ifundefined{attack}{\NewCommandCopy\attack\rpgiconsattack}{}
+
+% CONDITIONS
+
+% buff
+\pgfdeclareshape{buff}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.425cm}{-.225cm}}
+ \pgflineto{\pgfpoint{-.225cm}{-.425cm}}
+ \pgflineto{\pgfpoint{-.1cm}{-.3cm}}
+ \pgflineto{\pgfpoint{.125cm}{-.3cm}}
+ \pgflineto{\pgfpoint{.425cm}{0cm}}
+ \pgfpatharc{45}{135}{.1cm}
+ \pgflineto{\pgfpoint{.1cm}{-.15cm}}
+ \pgflineto{\pgfpoint{-.05cm}{-.15cm}}
+ \pgfpatharc{270}{90}{.05cm}
+ \pgflineto{\pgfpoint{0cm}{-.05cm}}
+ \pgfpatharc{270}{360}{.1cm}
+ \pgflineto{\pgfpoint{-.1cm}{.05cm}}
+ \pgfpatharc{90}{135}{.125cm}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{-.25cm}{-.225cm}}
+ \pgflineto{\pgfpoint{-.15cm}{-.325cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{.425cm}}
+ \pgflineto{\pgfpoint{.25cm}{.425cm}}
+ \pgflineto{\pgfpoint{.25cm}{.275cm}}
+ \pgfpatharc{360}{180}{.125cm}
+ \pgfpathclose
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% blinded
+\pgfdeclareshape{blinded}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.225cm}}
+ \pgfpatharc{90}{30}{.45cm}
+ \pgfpatharc{330}{210}{.45cm}
+ \pgfpatharc{150}{90}{.45cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{.225cm}}
+ \pgfpathcircle{\pgfpoint{0cm}{0cm}}{.15cm}
+ \pgfpathmoveto{\pgfpoint{-.425cm}{-.425cm}}
+ \pgflineto{\pgfpoint{-.25cm}{-.25cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{0cm}}
+ \pgflineto{\pgfpoint{.425cm}{.425cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% charmed
+\pgfdeclareshape{charmed}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathcircle{\pgfpoint{0cm}{0cm}}{.425cm}
+ \pgfpathmoveto{\pgfpoint{-.175cm}{-.1cm}}
+ \pgfpatharc{180}{360}{.175cm}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{-.175cm}{.15cm}}
+ \pgfpatharc{0}{225}{.0625cm}
+ \pgfpathlineto{\pgfpoint{-.175cm}{0cm}}
+ \pgfpathmoveto{\pgfpoint{-.175cm}{.15cm}}
+ \pgfpatharc{180}{-45}{.0625cm}
+ \pgfpathlineto{\pgfpoint{-.175cm}{0cm}}
+ \pgfpathmoveto{\pgfpoint{.175cm}{.15cm}}
+ \pgfpatharc{0}{225}{.0625cm}
+ \pgfpathlineto{\pgfpoint{.175cm}{0cm}}
+ \pgfpathmoveto{\pgfpoint{.175cm}{.15cm}}
+ \pgfpatharc{180}{-45}{.0625cm}
+ \pgfpathlineto{\pgfpoint{.175cm}{0cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% deafened
+\pgfdeclareshape{deafened}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.175cm}{-.275cm}}
+ \pgfpatharc{180}{360}{.15cm}
+ \pgflineto{\pgfpoint{.125cm}{-.225cm}}
+ \pgfpatharc{180}{135}{.25cm}
+ \pgfpatharc{315}{360}{.25cm}
+ \pgfpatharc{0}{180}{.275cm}
+ \pgfpathmoveto{\pgfpoint{-.15cm}{-.1cm}}
+ \pgfpatharc{-90}{90}{.075cm}
+ \pgflineto{\pgfpoint{-.15cm}{.125cm}}
+ \pgfpatharc{180}{45}{.15cm}
+ \pgfpathmoveto{\pgfpoint{-.425cm}{-.425cm}}
+ \pgflineto{\pgfpoint{-.2cm}{-.2cm}}
+ \pgfpathmoveto{\pgfpoint{0cm}{0cm}}
+ \pgflineto{\pgfpoint{.425cm}{.425cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% exhausted
+\pgfdeclareshape{exhausted}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathcircle{\pgfpoint{0cm}{0cm}}{.425cm}
+ \pgfpathmoveto{\pgfpoint{-.175cm}{-.225cm}}
+ \pgfpatharc{180}{0}{.175cm}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{.275cm}{.15cm}}
+ \pgfpatharc{180}{0}{-.1cm}
+ \pgfpathmoveto{\pgfpoint{-.075cm}{.15cm}}
+ \pgfpatharc{180}{0}{-.1cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% frightened
+\pgfdeclareshape{frightened}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathcircle{\pgfpoint{0cm}{0cm}}{.425cm}
+ \pgfpathmoveto{\pgfpoint{-.175cm}{-.225cm}}
+ \pgfpatharc{180}{0}{.175cm}
+ \pgfpathclose
+ \pgfpathcircle{\pgfpoint{-.175cm}{.125cm}}{.075cm}
+ \pgfpathcircle{\pgfpoint{.175cm}{.125cm}}{.075cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% grappled
+\pgfdeclareshape{grappled}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.25cm}{.3cm}}
+ \pgfpatharc{90}{-90}{.075cm}
+ \pgfpathlineto{\pgfpoint{-.35cm}{.15cm}}
+ \pgfpatharc{270}{90}{.075cm}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{-.2cm}{.15cm}}
+ \pgfpatharc{90}{-90}{.075cm}
+ \pgfpathlineto{\pgfpoint{-.35cm}{0cm}}
+ \pgfpatharc{270}{90}{.075cm}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{-.2cm}{0cm}}
+ \pgfpatharc{90}{-90}{.075cm}
+ \pgfpathlineto{\pgfpoint{-.35cm}{-.15cm}}
+ \pgfpatharc{270}{90}{.075cm}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{-.2cm}{-.15cm}}
+ \pgfpatharc{90}{-90}{.075cm}
+ \pgfpathlineto{\pgfpoint{-.3cm}{-.3cm}}
+ \pgfpatharc{270}{90}{.075cm}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{.425cm}{.05cm}}
+ \pgfpatharc{0}{90}{.25cm}
+ \pgfpathlineto{\pgfpoint{-.05cm}{.3cm}}
+ \pgfpatharc{180}{270}{.15cm}
+ \pgfpathlineto{\pgfpoint{.175cm}{.15cm}}
+ \pgfpathlineto{\pgfpoint{.175cm}{-.425cm}}
+ \pgfpathmoveto{\pgfpoint{.175cm}{-.275cm}}
+ \pgfpathlineto{\pgfpoint{.425cm}{-.275cm}}
+ \pgfpathmoveto{\pgfpoint{.175cm}{.3cm}}
+ \pgfpathlineto{\pgfpoint{.175cm}{.425cm}}
+ \pgfpathmoveto{\pgfpoint{-.3cm}{.3cm}}
+ \pgfpathlineto{\pgfpoint{-.3cm}{.425cm}}
+ \pgfpathmoveto{\pgfpoint{-.3cm}{-.3cm}}
+ \pgfpathlineto{\pgfpoint{-.3cm}{-.425cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% incapacitated
+\pgfdeclareshape{incapacitated}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointpolar{30}{.425cm}}
+ \pgfpatharc{270}{210}{.425cm}
+ \pgfpathlineto{\pgfpointpolar{90}{-.425cm}}
+ \pgfpatharc{30}{90}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{90}{.425cm}}
+ \pgfpatharc{330}{270}{.425cm}
+ \pgfpathlineto{\pgfpointpolar{150}{-.425cm}}
+ \pgfpatharc{90}{150}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{150}{.425cm}}
+ \pgfpatharc{30}{-30}{.425cm}
+ \pgfpathlineto{\pgfpointpolar{210}{-.425cm}}
+ \pgfpatharc{150}{210}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{30}{.25cm}}
+ \pgfpatharc{270}{210}{.25cm}
+ \pgfpatharc{330}{270}{.25cm}
+ \pgfpatharc{30}{-30}{.25cm}
+ \pgfpatharc{90}{30}{.25cm}
+ \pgfpatharc{150}{90}{.25cm}
+ \pgfpatharc{210}{150}{.25cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% invisible
+\pgfdeclareshape{invisible}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointpolar{-15}{.425cm}}
+ \pgfpatharc{-15}{15}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{30}{.425cm}}
+ \pgfpatharc{30}{60}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{75}{.425cm}}
+ \pgfpatharc{75}{105}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{120}{.425cm}}
+ \pgfpatharc{120}{150}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{165}{.425cm}}
+ \pgfpatharc{165}{195}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{210}{.425cm}}
+ \pgfpatharc{210}{240}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{255}{.425cm}}
+ \pgfpatharc{255}{285}{.425cm}
+ \pgfpathmoveto{\pgfpointpolar{300}{.425cm}}
+ \pgfpatharc{300}{330}{.425cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% paralyzed
+\pgfdeclareshape{paralyzed}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathcircle{\pgfpoint{0cm}{0cm}}{.425cm}
+ \pgfpathmoveto{\pgfpoint{-.175cm}{-.225cm}}
+ \pgfpatharc{180}{0}{.175cm}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{.25cm}{.2cm}}
+ \pgfpathlineto{\pgfpoint{.1cm}{.05cm}}
+ \pgfpathmoveto{\pgfpoint{.25cm}{.05cm}}
+ \pgfpathlineto{\pgfpoint{.1cm}{.2cm}}
+ \pgfpathmoveto{\pgfpoint{-.25cm}{.2cm}}
+ \pgfpathlineto{\pgfpoint{-.1cm}{.05cm}}
+ \pgfpathmoveto{\pgfpoint{-.25cm}{.05cm}}
+ \pgfpathlineto{\pgfpoint{-.1cm}{.2cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% petrified
+\pgfdeclareshape{petrified}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpointpolar{45}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{100}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{135}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{190}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{230}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{250}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{300}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{350}{.425cm}}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpointpolar{135}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{130}{.35cm}}
+ \pgfpathlineto{\pgfpoint{-.25cm}{.075cm}}
+ \pgfpathlineto{\pgfpointpolar{220}{.2cm}}
+ \pgfpathlineto{\pgfpointpolar{240}{.325cm}}
+ \pgfpathmoveto{\pgfpointpolar{300}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{330}{.3cm}}
+ \pgfpathlineto{\pgfpointpolar{350}{.225cm}}
+ \pgfpathmoveto{\pgfpointpolar{45}{.425cm}}
+ \pgfpathlineto{\pgfpointpolar{60}{.3cm}}
+ \pgfpathlineto{\pgfpointpolar{130}{.35cm}}
+ \pgfpathmoveto{\pgfpoint{-.15cm}{-.175cm}}
+ \pgfpathlineto{\pgfpoint{.075cm}{-.15cm}}
+ \pgfpathlineto{\pgfpoint{.125cm}{-.2cm}}
+ \pgfpathmoveto{\pgfpoint{-.25cm}{.075cm}}
+ \pgfpathlineto{\pgfpoint{-.1cm}{.1cm}}
+ \pgfpathmoveto{\pgfpoint{.25cm}{.075cm}}
+ \pgfpathlineto{\pgfpoint{.1cm}{.1cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% poisoned
+\pgfdeclareshape{poisoned}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathcircle{\pgfpoint{0cm}{0cm}}{.425cm}
+ \pgfpathmoveto{\pgfpoint{-.15cm}{-.2cm}}
+ \pgfpathlineto{\pgfpoint{-.075cm}{-.125cm}}
+ \pgfpathlineto{\pgfpoint{0cm}{-.2cm}}
+ \pgfpathlineto{\pgfpoint{.075cm}{-.125cm}}
+ \pgfpathlineto{\pgfpoint{.15cm}{-.2cm}}
+ \pgfpathmoveto{\pgfpoint{.25cm}{.175cm}}
+ \pgfpathlineto{\pgfpoint{.1cm}{.1cm}}
+ \pgfpathlineto{\pgfpoint{.25cm}{.025cm}}
+ \pgfpathmoveto{\pgfpoint{-.25cm}{.175cm}}
+ \pgfpathlineto{\pgfpoint{-.1cm}{.1cm}}
+ \pgfpathlineto{\pgfpoint{-.25cm}{.025cm}}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% prone
+\pgfdeclareshape{prone}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathcircle{\pgfpoint{.2cm}{-.125cm}}{.125cm}
+ \pgfpathmoveto{\pgfpoint{-.425cm}{0cm}}
+ \pgfpathlineto{\pgfpoint{-.15cm}{0cm}}
+ \pgfpatharc{90}{-90}{.125cm}
+ \pgfpathlineto{\pgfpoint{-.425cm}{-.25cm}}
+
+ \pgfpathmoveto{\pgfpoint{.225cm}{.15cm}}
+ \pgfpatharc{270}{360}{.1cm}
+ \pgfpatharc{180}{270}{.1cm}
+ \pgfpatharc{90}{180}{.1cm}
+ \pgfpatharc{0}{90}{.1cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{.25cm}}
+ \pgfpatharc{270}{360}{.1cm}
+ \pgfpatharc{180}{270}{.1cm}
+ \pgfpatharc{90}{180}{.1cm}
+ \pgfpatharc{0}{90}{.1cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% restrained
+\pgfdeclareshape{restrained}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.075cm}{-.225cm}}
+ \pgfpathlineto{\pgfpoint{-.075cm}{.225cm}}
+ \pgfpatharc{90}{180}{.125cm}
+ \pgfpathlineto{\pgfpoint{-.2cm}{0cm}}
+ \pgfpatharc{270}{180}{.1cm}
+ \pgfpathlineto{\pgfpoint{-.3cm}{.3cm}}
+ \pgfpatharc{0}{90}{.125cm}
+ \pgfpathlineto{\pgfpoint{-.425cm}{-.075cm}}
+ \pgfpatharc{180}{235}{.1cm}
+ \pgfpathlineto{\pgfpoint{-.3cm}{-.225cm}}
+ \pgfpathmoveto{\pgfpoint{.075cm}{-.225cm}}
+ \pgfpathlineto{\pgfpoint{.075cm}{.225cm}}
+ \pgfpatharc{90}{0}{.125cm}
+ \pgfpathlineto{\pgfpoint{.2cm}{0cm}}
+ \pgfpatharc{-90}{0}{.1cm}
+ \pgfpathlineto{\pgfpoint{.3cm}{.3cm}}
+ \pgfpatharc{180}{90}{.125cm}
+ \pgfpathlineto{\pgfpoint{.425cm}{-.075cm}}
+ \pgfpatharc{360}{330}{.1cm}
+ \pgfpathlineto{\pgfpoint{.3cm}{-.225cm}}
+ \pgfpathmoveto{\pgfpoint{.35cm}{-.225cm}}
+ \pgfpatharc{90}{-90}{.05cm}
+ \pgfpathlineto{\pgfpoint{-.35cm}{-.325cm}}
+ \pgfpatharc{270}{90}{.05cm}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpoint{.35cm}{-.325cm}}
+ \pgfpatharc{90}{-90}{.05cm}
+ \pgfpathlineto{\pgfpoint{-.35cm}{-.425cm}}
+ \pgfpatharc{270}{90}{.05cm}
+ \pgfpathclose
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% stunned
+\pgfdeclareshape{stunned}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathcircle{\pgfpoint{0cm}{0cm}}{.425cm}
+ \pgfpathellipse{\pgfpoint{0cm}{-.175cm}}{\pgfpoint{0cm}{.1cm}}{\pgfpoint{.175cm}{0cm}}
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{-.175cm}{.125cm}}{\pgfpointpolar{90}{.125cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{-.175cm}{.125cm}}{\pgfpointpolar{126}{.05cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{-.175cm}{.125cm}}{\pgfpointpolar{162}{.125cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{-.175cm}{.125cm}}{\pgfpointpolar{198}{.05cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{-.175cm}{.125cm}}{\pgfpointpolar{234}{.125cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{-.175cm}{.125cm}}{\pgfpointpolar{270}{.05cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{-.175cm}{.125cm}}{\pgfpointpolar{306}{.125cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{-.175cm}{.125cm}}{\pgfpointpolar{342}{.05cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{-.175cm}{.125cm}}{\pgfpointpolar{18}{.125cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{-.175cm}{.125cm}}{\pgfpointpolar{54}{.05cm}}}
+ \pgfpathclose
+ \pgfpathmoveto{\pgfpointadd{\pgfpoint{.175cm}{.125cm}}{\pgfpointpolar{90}{.125cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{.175cm}{.125cm}}{\pgfpointpolar{126}{.05cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{.175cm}{.125cm}}{\pgfpointpolar{162}{.125cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{.175cm}{.125cm}}{\pgfpointpolar{198}{.05cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{.175cm}{.125cm}}{\pgfpointpolar{234}{.125cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{.175cm}{.125cm}}{\pgfpointpolar{270}{.05cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{.175cm}{.125cm}}{\pgfpointpolar{306}{.125cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{.175cm}{.125cm}}{\pgfpointpolar{342}{.05cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{.175cm}{.125cm}}{\pgfpointpolar{18}{.125cm}}}
+ \pgfpathlineto{\pgfpointadd{\pgfpoint{.175cm}{.125cm}}{\pgfpointpolar{54}{.05cm}}}
+ \pgfpathclose
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% unconscious
+\pgfdeclareshape{unconscious}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.15cm}}
+ \pgfpatharc{90}{-30}{.425cm and .15cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{-.15cm}}
+ \pgfpatharc{270}{150}{.425cm and .15cm}
+ \pgfpathmoveto{\pgfpoint{-.35cm}{.15cm}}
+ \pgfpatharc{270}{360}{.125cm}
+ \pgfpatharc{180}{270}{.125cm}
+ \pgfpatharc{90}{180}{.125cm}
+ \pgfpatharc{0}{90}{.125cm}
+ \pgfpathmoveto{\pgfpoint{.1cm}{-.15cm}}
+ \pgfpatharc{270}{360}{.125cm}
+ \pgfpatharc{180}{270}{.125cm}
+ \pgfpatharc{90}{180}{.125cm}
+ \pgfpatharc{0}{90}{.125cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% hearing
+\pgfdeclareshape{hearing}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{-.175cm}{-.275cm}}
+ \pgfpatharc{180}{360}{.15cm}
+ \pgflineto{\pgfpoint{.125cm}{-.225cm}}
+ \pgfpatharc{180}{135}{.25cm}
+ \pgfpatharc{315}{360}{.25cm}
+ \pgfpatharc{0}{180}{.275cm}
+ \pgfpathmoveto{\pgfpoint{-.15cm}{-.1cm}}
+ \pgfpatharc{-90}{90}{.075cm}
+ \pgflineto{\pgfpoint{-.15cm}{.125cm}}
+ \pgfpatharc{180}{45}{.15cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+% seeing
+\pgfdeclareshape{seeing}{
+ \anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
+ \anchor{text} % this is used to center the text in the node
+ {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox}}
+
+ \foregroundpath{
+ \pgfpathmoveto{\pgfpoint{0cm}{.225cm}}
+ \pgfpatharc{90}{30}{.45cm}
+ \pgfpatharc{330}{210}{.45cm}
+ \pgfpatharc{150}{90}{.45cm}
+ \pgfpathmoveto{\pgfpoint{0cm}{.225cm}}
+ \pgfpathcircle{\pgfpoint{0cm}{0cm}}{.15cm}
+ \pgfusepath{draw} % draw shape
+ }
+}
+
+\NewDocumentCommand{\rpgiconscondition}{ m O{} }{%
+ \hspace{\rpgicons@beforesep}%
+ \tikz[rpg icons, rpg icons/every condition, rpg icons/every #1,
+ baseline=\rpgicons@baseline, #2] {
+ \node[#1, draw, scale=.333] (0cm,0cm) {};
+ \path[draw=none, scale=.333] ([yshift=-1pt].425cm,.425cm) rectangle ([yshift=1pt]-.425cm,-.425cm);
+ }%
+ \hspace{\rpgicons@aftersep}%
+}
+\@ifundefined{condition}{\NewCommandCopy\condition\rpgiconscondition}{}
+
+% make tikz icons available as pics
+\ifrpgicons@pics
+
+\tikzset{
+ rpg icons/create pic from shape/.code={%
+ \tikzset{
+ rpg icons #1/.pic={
+ \begin{scope}[every node/.append style={#1}, rpg icons/every #1]
+ \node[draw, scale=.333] (0cm,0cm) (-node) {};
+ \path[draw=none, scale=.333] ([yshift=-1pt].425cm,.425cm) rectangle ([yshift=1pt]-.425cm,-.425cm);
+ \end{scope}
+ },
+ }%
+ },
+ rpg icons/create pic from ability shape/.code={%
+ \tikzset{
+ rpg icons #1 ability/.pic={
+ \begin{scope}[every node/.append style={#1}, rpg icons/every ability, rpg icons/every #1]
+ \path[scale=.333, pic actions] (0cm,0cm) circle[radius=.45cm];
+ \node[draw, scale=.225] (0cm,0cm) (-node) {};
+ \path[draw=none, scale=.333] ([yshift=-1pt].425cm,.425cm) rectangle ([yshift=1pt]-.425cm,-.425cm);
+ \end{scope}
+ }
+ }%
+ },
+ rpg icons/create pic from saving shape/.code={%
+ \tikzset{
+ rpg icons #1 saving/.pic={
+ \begin{scope}[every node/.append style={#1}, rpg icons/every saving, rpg icons/every #1]
+ \path[draw, scale=.333, pic actions] (-.45cm,.45cm) -- (.45cm,.45cm) -- (.45cm,-.05cm)
+ arc[start angle=360, end angle=180, radius=.45cm] -- cycle;
+ \node[#1, draw, scale=.225] (0cm,0cm) (-node) {};
+ \path[draw=none, scale=.333] ([yshift=-1pt].425cm,.425cm) rectangle ([yshift=1pt]-.425cm,-.425cm);
+ \end{scope}
+ }
+ }%
+ },
+ rpg icons/create pic from spellschool shape/.code={%
+ \tikzset{
+ rpg icons #1 spellschool/.pic={
+ \begin{scope}[every node/.append style={#1}, rpg icons/every spellschool, rpg icons/every #1]
+ \path[draw, scale=.333, pic actions] (-.475cm,.35cm)
+ -- (-.35cm,.475cm) -- (.35cm,.475cm) -- (.475cm,.35cm) -- (.425cm,-.375cm) -- (0cm,-.475cm) -- (-.425cm,-.375cm) -- cycle;
+ \node[#1, draw, scale=.225] (0cm,0cm) (-node) {};
+ \path[draw=none, scale=.333] ([yshift=-1pt].425cm,.425cm) rectangle ([yshift=1pt]-.425cm,-.425cm);
+ \end{scope}
+ }
+ }%
+ },
+ rpg icons/create pic from damage shape/.code={
+ \tikzset{
+ rpg icons #1 damage/.pic={
+ \begin{scope}[every node/.append style={#1}, rpg icons/every damage, rpg icons/every #1]
+ \path[draw, scale=.333, pic actions] (0cm,0cm) circle[radius=.5cm];
+ \node[#1, draw, scale=.225] (0cm,0cm) (-node) {};
+ \path[draw=none, scale=.333] ([yshift=-1pt].425cm,.425cm) rectangle ([yshift=1pt]-.425cm,-.425cm);
+ \end{scope}
+ }
+ }
+ },
+ rpg icons/create pic from shape/.list/.expanded={%
+ \rpgicons@allshapes%
+ },
+ rpg icons/create pic from ability shape/.list={%
+ strength, dexterity, dexterity alt, constitution, intelligence, wisdom, charisma,
+ resilience, sanity, perception, luck, armor, proficiency%
+ },
+ rpg icons/create pic from saving shape/.list={%
+ strength, dexterity, dexterity alt, constitution, intelligence, wisdom, charisma,
+ resilience, sanity, perception, luck, armor, proficiency%
+ },
+ rpg icons/create pic from spellschool shape/.list={%
+ abjuration, conjuration, divination, enchantment, evocation, illusion, necromancy, transmutation%
+ },
+ rpg icons/create pic from damage shape/.list={%
+ acid, bludgeoning, cold, fire, force, lightning, necrotic, piercing, poison, psychic,
+ radiant, slashing, thunder, healing%
+ }
+}
+
+\fi
+
+% ROLL SYNTAX
+
+\ExplSyntaxOn
+
+\cs_if_exist:NF \rpgicons_roll_syntax_parse:n {
+
+ \bool_new:N \l__rpgicons_unicode_mode_bool
+ \sys_if_engine_luatex:T {
+ \bool_set_true:N \l__rpgicons_unicode_mode_bool
+ }
+ \sys_if_engine_xetex:T {
+ \bool_set_true:N \l__rpgicons_unicode_mode_bool
+ }
+
+ \regex_new:N \l__rpgicons_roll_syntax_die_regex
+ \cs_generate_variant:Nn \regex_set:Nn { Ne }
+ \cs_new:Npn \rpgicons_roll_syntax_die_set:n #1 {
+ \regex_set:Ne \l__rpgicons_roll_syntax_die_regex { [ \clist_use:nn {#1} { } ] }
+ }
+
+ \cs_new:Npn \rpgicons_roll_syntax_convert:n #1 {
+ \str_case:nnF {#1} {
+ { 2 } { twoside }
+ { 4 } { fourside }
+ { 6 } { sixside }
+ { 8 } { eightside }
+ { 10 } { tenside }
+ { 12 } { twelveside }
+ { 20 } { twentyside }
+ { 100 } { hundredside }
+ { F } { fudge }
+ }
+ {#1}
+ }
+
+ \seq_new:N \l__rpgicons_roll_syntax_seq
+ \tl_new:N \l__rpgicons_roll_syntax_part_tl
+ \regex_new:N \l__rpgicons_roll_syntax_split_regex
+ \regex_new:N \l__rpgicons_roll_syntax_plusminus_regex
+ \regex_new:N \l__rpgicons_roll_syntax_times_regex
+ \bool_if:NTF \l__rpgicons_unicode_mode_bool {
+ \regex_set:Nn \l__rpgicons_roll_syntax_split_regex { \s*([\+\-\x{2212}x\*\x{00D7}])\s* }
+ \regex_set:Nn \l__rpgicons_roll_syntax_plusminus_regex { \A([\+\-\x{2212}])\Z }
+ \regex_set:Nn \l__rpgicons_roll_syntax_times_regex { \A([x\*\x{00D7}])\Z }
+ } {
+ \regex_set:Nn \l__rpgicons_roll_syntax_split_regex { \s*([\+\-x\*\x{00D7}])\s* }
+ \regex_set:Nn \l__rpgicons_roll_syntax_plusminus_regex { \A([\+\-])\Z }
+ \regex_set:Nn \l__rpgicons_roll_syntax_times_regex { \A([x\*\x{00D7}])\Z }
+ }
+ \regex_new:N \l__rpgicons_roll_syntax_dice_regex
+ \cs_new:Npn \rpgicons_roll_syntax_parse:n #1 {
+ \regex_set:Nn \l__rpgicons_roll_syntax_dice_regex { \A(\d*)\ur{l__rpgicons_roll_syntax_die_regex}([F\d]+)\Z }
+ \regex_split:NnN \l__rpgicons_roll_syntax_split_regex {#1} \l__rpgicons_roll_syntax_seq
+ \seq_map_inline:Nn \l__rpgicons_roll_syntax_seq {
+ \tl_set:Ne \l__rpgicons_roll_syntax_part_tl {##1}
+ \regex_replace_case_once:nNTF {
+ { \l__rpgicons_roll_syntax_plusminus_regex } { \c{,} $\1$ \c{,} }
+ { \l__rpgicons_roll_syntax_times_regex } { \c{,} $\c{times}$ \c{,} }
+ { \l__rpgicons_roll_syntax_dice_regex }
+ { \c{ rpgiconsdie } { \c{ rpgicons_roll_syntax_convert:n } { \2 } } { \1 } }
+ } \l__rpgicons_roll_syntax_part_tl
+ { \tl_use:N \l__rpgicons_roll_syntax_part_tl }
+ { \tl_use:N \l__rpgicons_roll_syntax_part_tl }
+ }
+ }
+
+}
+
+\tikzset{
+ rpg ~ icons/roll ~ syntax/.code={
+ \rpgicons_roll_syntax_die_set:n {#1}
+ },
+ rpg ~ icons/roll ~ syntax={d,D}
+}
+
+\NewDocumentCommand{\rpgiconsroll}{ m }{
+ \rpgicons_roll_syntax_parse:n {#1}
+}
+
+\ExplSyntaxOff
+
+\@ifundefined{roll}{\NewCommandCopy\roll\rpgiconsroll}{}
+
+\endinput \ No newline at end of file