summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2024-04-29 20:31:16 +0000
committerKarl Berry <karl@freefriends.org>2024-04-29 20:31:16 +0000
commit3f411203eb6e27a3662b30501d3e9ff747cf632a (patch)
treee47e34d0240c128d239eee1890e43f58d8cea782 /Master/texmf-dist/tex
parentf4aedad08f1d45cfb3aaca3884d9aa56ecf30ce0 (diff)
rpgicons (29apr24)
git-svn-id: svn://tug.org/texlive/trunk@71129 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/latex/rpgicons/rpgicons-l3.sty2025
-rw-r--r--Master/texmf-dist/tex/latex/rpgicons/rpgicons-pgf.sty2596
-rw-r--r--Master/texmf-dist/tex/latex/rpgicons/rpgicons.sty33
3 files changed, 4654 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/rpgicons/rpgicons-l3.sty b/Master/texmf-dist/tex/latex/rpgicons/rpgicons-l3.sty
new file mode 100644
index 00000000000..491d05b17d0
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/rpgicons/rpgicons-l3.sty
@@ -0,0 +1,2025 @@
+% File: rpgicons-l3.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'.
+%
+\ProvidesExplPackage {rpgicons-l3} {2024-04-28} {1.8.2}
+ {rpg Icons Package (l3 Variant)}
+
+\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
+}
+
+\bool_new:N \l__rpgicons_compat_mode_bool
+\bool_new:N \l__rpgicons_use_opacity_bool
+\keys_define:nn { rpgicons / package ~ options } {
+ compat .bool_set:N = \l__rpgicons_compat_mode_bool ,
+ compat .default:n = { true } ,
+ opacity .bool_set:N = \l__rpgicons_use_opacity_bool ,
+ opacity .default:n = { true } ,
+}
+\ProcessKeyOptions [ rpgicons / package ~ options ]
+
+\msg_new:nnn { rpgicons } { documentmetadata-missing } {
+ \msg_warning_text:n { dnicons } \iow_newline:
+ In ~ order ~ to ~ use ~ opacity, ~ \token_to_str:N \DocumentMetadata \c_space_tl must ~ be ~ set.
+}
+\msg_new:nnn { rpgicons } { opacity-option-missing } {
+ \msg_warning_text:n { dnicons } \iow_newline:
+ In ~ order ~ to ~ use ~ opacity, ~ the ~ package ~ must ~ be ~ loaded ~ with ~ the ~ `opacity' ~ option.
+}
+\msg_new:nnn { rpgicons } { l3draw-old } {
+ \msg_warning_text:n { dnicons } \iow_newline:
+ The ~ version ~ of ~ the ~ `l3draw' ~ package ~ is ~ older ~ than ~ 2024-03-14. ~
+ Consider ~ using ~ the ~ `compat' ~ option.
+}
+
+\bool_if:NT \l__rpgicons_use_opacity_bool {
+ \IfDocumentMetadataTF { } {
+ \msg_error:nn { rpgicons } { documentmetadata-missing }
+ }
+ \RequirePackage { l3opacity }
+ \bool_if:NT \l__rpgicons_compat_mode_bool {
+ % l3opacity fix
+ \tl_set:Nn \l__opacity_backend_fill_tl { 1 }
+ \tl_set:Nn \l__opacity_backend_stroke_tl { 1 }
+ }
+}
+
+\RequirePackage { l3draw }
+
+\IfPackageAtLeastTF { l3draw } { 2024/03/14 } { } {
+ \bool_if:NF \l__rpgicons_compat_mode_bool {
+ \msg_warning:nn { rpgicons } { l3draw-old }
+ }
+}
+
+% DICE
+
+\cs_new:Npn \rpgicons_draw_shape_twoside: {
+ \draw_path_ellipse:nnn { 0cm , 0cm } { 0cm , .25cm } { .425cm , 0cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_fourside: {
+ \draw_path_moveto:n { 0cm , .35cm }
+ \draw_path_lineto:n { .433cm , -.4cm }
+ \draw_path_lineto:n { -.433cm , -.4cm }
+ \draw_path_close:
+}
+
+\cs_new:Npn \rpgicons_draw_shape_sixside: {
+ \bool_if:NTF \l__rpgicons_compat_mode_bool {
+ % l3draw rectangle fix
+ \draw_path_moveto:n { -.4cm , -.4cm }
+ \draw_path_lineto:n { -.4cm , .4cm }
+ \draw_path_lineto:n { .4cm , .4cm }
+ \draw_path_lineto:n { .4cm , -.4cm }
+ \draw_path_close:
+ } {
+ \draw_path_rectangle_corners:nn { -.4cm , -.4cm } { .4cm , .4cm }
+ }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_eightside: {
+ \draw_path_moveto:n { 0cm , .5cm }
+ \draw_path_lineto:n { .433cm , .25cm }
+ \draw_path_lineto:n { .433cm , -.25cm }
+ \draw_path_lineto:n { 0cm , -.5cm }
+ \draw_path_lineto:n { -.433cm , -.25cm }
+ \draw_path_lineto:n { -.433cm , .25cm }
+ \draw_path_close:
+ \draw_path_lineto:n { .433cm , -.25cm }
+ \draw_path_lineto:n { -.433cm , -.25cm }
+ \draw_path_close:
+}
+
+\cs_new:Npn \rpgicons_draw_shape_tenside: {
+ \draw_path_moveto:n { 0cm , .5cm }
+ \draw_path_lineto:n { .475cm , .1cm }
+ \draw_path_lineto:n { .475cm , -.1cm }
+ \draw_path_lineto:n { 0cm , -.5cm }
+ \draw_path_lineto:n { -.475cm , -.1cm }
+ \draw_path_lineto:n { -.475cm , .1cm }
+ \draw_path_close:
+ \draw_path_lineto:n { .294cm , -.154cm }
+ \draw_path_lineto:n { 0cm , -.3cm }
+ \draw_path_lineto:n { -.294cm , -.154cm }
+ \draw_path_close:
+ \draw_path_moveto:n { .294cm , -.154cm }
+ \draw_path_lineto:n { .475cm , -.1cm }
+ \draw_path_moveto:n { -.475cm , -.1cm }
+ \draw_path_lineto:n { -.294cm , -.154cm }
+ \draw_path_moveto:n { 0cm , -.5cm }
+ \draw_path_lineto:n { 0cm , -.3cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_twelveside: {
+ \draw_path_moveto:n { 0cm , .5cm }
+ \draw_path_lineto:n { 0.294cm , .405cm }
+ \draw_path_lineto:n { .475cm , .173cm }
+ \draw_path_lineto:n { .475cm , -.173cm }
+ \draw_path_lineto:n { .294cm , -.405cm }
+ \draw_path_lineto:n { 0cm , -.5cm }
+ \draw_path_lineto:n { -.294cm , -.405cm }
+ \draw_path_lineto:n { -.475cm , -.173cm }
+ \draw_path_lineto:n { -.475cm , .173cm }
+ \draw_path_lineto:n { -.294cm , .405cm }
+ \draw_path_close:
+ \draw_path_moveto:n { 0cm , .349cm }
+ \draw_path_lineto:n { .332cm , .108cm }
+ \draw_path_lineto:n { .205cm , -.282cm }
+ \draw_path_lineto:n { -.205cm , -.282cm }
+ \draw_path_lineto:n { -.332cm , .108cm }
+ \draw_path_close:
+ \draw_path_lineto:n { 0cm , .5cm }
+ \draw_path_moveto:n { .475cm , .173cm }
+ \draw_path_lineto:n { .332cm , .108cm }
+ \draw_path_moveto:n { .294cm , -.405cm }
+ \draw_path_lineto:n { .205cm , -.282cm }
+ \draw_path_moveto:n { -.294cm , -.405cm }
+ \draw_path_lineto:n { -.205cm , -.282cm }
+ \draw_path_moveto:n { -.475cm , .173cm }
+ \draw_path_lineto:n { -.332cm , .108cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_twentyside: {
+ \draw_path_moveto:n { 0cm , .5cm }
+ \draw_path_lineto:n { .454cm , .262cm }
+ \draw_path_lineto:n { .454cm , -.262cm }
+ \draw_path_lineto:n { 0cm , -.5cm }
+ \draw_path_lineto:n { -.454cm , -.262cm }
+ \draw_path_lineto:n { -.454cm , .262cm }
+ \draw_path_close:
+ \draw_path_moveto:n { 0cm , .292cm }
+ \draw_path_lineto:n { .253cm , -.146cm }
+ \draw_path_lineto:n { -.253cm , -.146cm }
+ \draw_path_close:
+ \draw_path_lineto:n { .454cm , .262cm }
+ \draw_path_lineto:n { .253cm , -.146cm }
+ \draw_path_lineto:n { 0cm , -.5cm }
+ \draw_path_lineto:n { -.253cm , -.146cm }
+ \draw_path_lineto:n { -.454cm , .262cm }
+ \draw_path_close:
+ \draw_path_lineto:n { 0cm , .5cm }
+ \draw_path_moveto:n { .454cm , -.262cm }
+ \draw_path_lineto:n { .253cm , -.146cm }
+ \draw_path_moveto:n { -.454cm , -.262cm }
+ \draw_path_lineto:n { -.253cm , -.146cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_hundredside: {
+ \draw_path_circle:nn { 0cm, 0cm } { .425cm }
+ \draw_path_moveto:n { .425cm , 0cm }
+ \draw_path_arc:nnnn { 180 } { 50 } { -.425cm } { -.2cm }
+ \draw_path_moveto:n { 0cm , -.425cm }
+ \draw_path_arc:nnnn { 270 } { 140 } { -.2cm } { .425cm }
+}
+
+\clist_new:N \l_rpgnicons_pips_clist
+\fp_new:N \l_rpgnicons_pips_coordx_fp
+\fp_new:N \l_rpgnicons_pips_coordy_fp
+\cs_new:Npn \rpgicons_draw_shape_sixside_pips:n #1 {
+ \str_case:nn {#1} {
+ { one } { \clist_set:Nn \l_rpgnicons_pips_clist {
+ { 0cm , 0cm }
+ } }
+ { two } { \clist_set:Nn \l_rpgnicons_pips_clist {
+ { -.2cm , .2cm } , { .2cm , -.2cm }
+ } }
+ { three } { \clist_set:Nn \l_rpgnicons_pips_clist {
+ { -.2cm , .2cm } , { 0cm , 0cm } , { .2cm , -.2cm }
+ } }
+ { four } { \clist_set:Nn \l_rpgnicons_pips_clist {
+ { -.2cm , .2cm } , { .2cm , .2cm } ,
+ { -.2cm , -.2cm } , { .2cm , -.2cm }
+ } }
+ { five } { \clist_set:Nn \l_rpgnicons_pips_clist {
+ { -.2cm , .2cm } , { .2cm , .2cm } ,
+ { 0cm , 0cm } ,
+ { -.2cm , -.2cm } , { .2cm , -.2cm }
+ } }
+ { six } { \clist_set:Nn \l_rpgnicons_pips_clist {
+ { -.2cm , .2cm } , { .2cm , .2cm } ,
+ { -.2cm , 0cm } , { .2cm , 0cm } ,
+ { -.2cm , -.2cm } , { .2cm , -.2cm }
+ } }
+ { seven } { \clist_set:Nn \l_rpgnicons_pips_clist {
+ { -.2cm , .2cm } , { .2cm , .2cm } ,
+ { -.2cm , 0cm } , { 0cm , 0cm } , { .2cm , 0cm } ,
+ { -.2cm , -.2cm } , { .2cm , -.2cm }
+ } }
+ { eight } { \clist_set:Nn \l_rpgnicons_pips_clist {
+ { -.2cm , .2cm } , { 0cm , .2cm } , { .2cm , .2cm } ,
+ { -.2cm , 0cm } , { .2cm , 0cm } ,
+ { -.2cm , -.2cm } , { 0cm , -.2cm } , { .2cm , -.2cm }
+ } }
+ { nine } { \clist_set:Nn \l_rpgnicons_pips_clist {
+ { -.2cm , .2cm } , { 0cm , .2cm } , { .2cm , .2cm } ,
+ { -.2cm , 0cm } , { 0cm , 0cm } , { .2cm , 0cm } ,
+ { -.2cm , -.2cm } , { 0cm , -.2cm } , { .2cm , -.2cm }
+ } }
+ }
+ \clist_map_inline:Nn \l_rpgnicons_pips_clist {
+ \fp_set:Nn \l_rpgnicons_pips_coordx_fp { \clist_item:nn {##1} { 1 } }
+ \fp_set:Nn \l_rpgnicons_pips_coordy_fp { \clist_item:nn {##1} { 2 } }
+ \draw_path_circle:nn { \l_rpgnicons_pips_coordx_fp , \l_rpgnicons_pips_coordy_fp } { 2pt }
+ }
+ \draw_path_use_clear:n { fill }
+ \rpgicons_draw_shape_sixside:
+}
+
+\cs_new:Npn \rpgicons_draw_shape_fudge: {
+ \rpgicons_draw_shape_sixside:
+ \draw_path_moveto:n { -.15cm , .1cm }
+ \draw_path_lineto:n { .15cm , .1cm }
+ \draw_path_moveto:n { 0cm , .25cm }
+ \draw_path_lineto:n { 0cm , -.05cm }
+ \draw_path_moveto:n { -.15cm , -.2cm }
+ \draw_path_lineto:n { .15cm , -.2cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_fudge_plus: {
+ \rpgicons_draw_shape_sixside:
+ \draw_path_moveto:n { 0cm , .15cm }
+ \draw_path_lineto:n { 0cm , -.15cm }
+ \draw_path_moveto:n { -.15cm , 0cm }
+ \draw_path_lineto:n { .15cm , 0cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_fudge_minus: {
+ \rpgicons_draw_shape_sixside:
+ \draw_path_moveto:n { -.15cm , 0cm }
+ \draw_path_lineto:n { .15cm , 0cm }
+}
+
+% ABILITIES
+
+\cs_new:Npn \rpgicons_draw_shape_strength: {
+ \draw_path_moveto:n { ( 0cm , -.075cm ) + ( \draw_point_polar:nn { .425cm } { 90 } ) }
+ \draw_path_arc:nnn { 90 } { 60 } { .425cm }
+ \draw_path_arc:nnn { 200 } { -40 } { .1cm }
+ \draw_path_moveto:n { ( 0cm , -.075cm ) + ( \draw_point_polar:nn { .425cm } { 45 } ) }
+ \draw_path_arc:nnn { 45 } { -20 } { .425cm }
+ \draw_path_arc:nnn { -50 } { -80 } { .35cm }
+ \draw_path_moveto:n { ( 0cm , -.075cm ) + ( \draw_point_polar:nn { .425cm } { 90 } ) }
+ \draw_path_arc:nnn { 90 } { 120 } { .425cm }
+ \draw_path_arc:nnn { -20 } { 220 } { .1cm }
+ \draw_path_moveto:n { ( 0cm , -.075cm ) + ( \draw_point_polar:nn { .425cm } { 135 } ) }
+ \draw_path_arc:nnn { 135 } { 200 } { .425cm }
+ \draw_path_arc:nnn { 230 } { 260 } { .35cm }
+ \draw_path_moveto:n { -.2cm , -.025cm }
+ \draw_path_lineto:n { -.1cm , -.05cm }
+ \draw_path_lineto:n { -.125cm , -.325cm }
+ \draw_path_arc:nnnn { 180 } { 360 } { .125cm } { .1cm }
+ \draw_path_lineto:n { .1cm , -.05cm }
+ \draw_path_lineto:n { .2cm , -.025cm }
+ \draw_path_moveto:n { 0cm , -.3cm }
+ \draw_path_arc:nnn { 90 } { 70 } { .1cm }
+ \draw_path_moveto:n { 0cm , -.3cm }
+ \draw_path_arc:nnn { 90 } { 110 } { .1cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_constitution: {
+ \draw_path_moveto:n { 0cm , .25cm }
+ \draw_path_lineto:n { .125cm , .25cm }
+ \draw_path_arc:nnn { -90 } { -30 } { .325cm }
+ \draw_path_arc:nnn { 0 } { -80 } { .3cm }
+ \draw_path_moveto:n { 0cm , .25cm }
+ \draw_path_lineto:n { -.125cm , .25cm }
+ \draw_path_arc:nnn { 270 } { 210 } { .325cm }
+ \draw_path_arc:nnn { 180 } { 260 } { .3cm }
+ \draw_path_moveto:n { .325cm , .1cm }
+ \draw_path_lineto:n { .425cm , .075cm }
+ \draw_path_arc:nnnn { 0 } { -90 } { .175cm } { .1cm }
+ \draw_path_lineto:n { .2cm , -.15cm }
+ \draw_path_moveto:n { -.325cm , .1cm }
+ \draw_path_lineto:n { -.425cm , .075cm }
+ \draw_path_arc:nnnn { 180 } { 270 } { .175cm } { .1cm }
+ \draw_path_lineto:n { -.2cm , -.15cm }
+ \draw_path_moveto:n { -.15cm , -.225cm }
+ \draw_path_arc:nnn { 90 } { 270 } { .1cm }
+ \draw_path_lineto:n { .15cm , -.425cm }
+ \draw_path_arc:nnn { -90 } { 90 } { .1cm }
+ \draw_path_moveto:n { -.125cm , -.35cm }
+ \draw_path_arc:nnn { -90 } { 0 } { .05cm }
+ \draw_path_moveto:n { .125cm , -.35cm }
+ \draw_path_arc:nnn { 90 } { 0 } { -.05cm }
+ \draw_path_moveto:n { -.125cm , -.025cm }
+ \draw_path_lineto:n { -.075cm , -.05cm }
+ \draw_path_lineto:n { -.075cm , -.1cm }
+ \draw_path_moveto:n { .125cm , -.025cm }
+ \draw_path_lineto:n { .075cm , -.05cm }
+ \draw_path_lineto:n { .075cm , -.1cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_wisdom: {
+ \draw_path_moveto:n { 0cm , .175cm }
+ \draw_path_arc:nnn { 60 } { 90 } { .425cm }
+ \draw_path_arc:nnn { 270 } { 240 } { .425cm }
+ \draw_path_moveto:n { 0cm , .175cm }
+ \draw_path_arc:nnn { 120 } { 90 } { .425cm }
+ \draw_path_arc:nnn { 270 } { 300 } { .425cm }
+ \draw_path_circle:nn { -.175cm , 0cm } { .075cm }
+ \draw_path_circle:nn { .175cm , 0cm } { .075cm }
+ \draw_path_moveto:n { .075cm , -.125cm }
+ \draw_path_lineto:n { 0cm , -.325cm }
+ \draw_path_lineto:n { -.075cm , -.125cm }
+ \draw_path_moveto:n { -.375cm , .125cm }
+ \draw_path_arc:nnn { 150 } { 270 } { .25cm }
+ \draw_path_moveto:n { .375cm , .125cm }
+ \draw_path_arc:nnn { 30 } { -90 } { .25cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_charisma: {
+ \draw_path_moveto:n { 0cm , .15cm }
+ \draw_path_arc:nnnn { 270 } { 190 } { .15cm } { .1cm }
+ \draw_path_arc:nnnn { 10 } { 90 } { .175cm } { .225cm }
+ \draw_path_arc:nnnn { 40 } { 0 } { .125cm } { .175cm }
+ \draw_path_moveto:n { 0cm , .15cm }
+ \draw_path_arc:nnnn { 270 } { 350 } { .15cm } { .1cm }
+ \draw_path_arc:nnnn { 170 } { 90 } { .175cm } { .225cm }
+ \draw_path_arc:nnnn { 140 } { 180 } { .125cm } { .175cm }
+ \draw_path_moveto:n { -.2cm , .125cm }
+ \draw_path_arc:nnnn { 0 } { 90 } { .175cm } { .1cm }
+ \draw_path_arc:nnnn { 180 } { 270 } { .15cm } { .2cm }
+ \draw_path_lineto:n { -.25cm , -.05cm }
+ \draw_path_arc:nnn { 40 } { 0 } { .45cm }
+ \draw_path_lineto:n { 0cm , -.425cm }
+ \draw_path_moveto:n { .2cm , .125cm }
+ \draw_path_arc:nnnn { 180 } { 90 } { .175cm } { .1cm }
+ \draw_path_arc:nnnn { 0 } { -90 } { .15cm } { .2cm }
+ \draw_path_lineto:n { .25cm , -.05cm }
+ \draw_path_arc:nnn { 140 } { 180 } { .45cm }
+ \draw_path_lineto:n { 0cm , -.425cm }
+ \draw_path_moveto:n { -.05cm , -.275cm }
+ \draw_path_arc:nnn { -30 } { 60 } { .05cm }
+ \draw_path_moveto:n { .05cm , -.275cm }
+ \draw_path_arc:nnn { 210 } { 120 } { .05cm }
+ \draw_path_moveto:n { -.125cm , -.05cm }
+ \draw_path_lineto:n { -.05cm , -.075cm }
+ \draw_path_moveto:n { .125cm , -.05cm }
+ \draw_path_lineto:n { .05cm , -.075cm }
+ \draw_path_moveto:n { -.35cm , -.05cm }
+ \draw_path_lineto:n { -.425cm , -.05cm }
+ \draw_path_arc:nnn { 30 } { -30 } { .15cm }
+ \draw_path_arc:nnn { 80 } { 10 } { .15cm }
+ \draw_path_lineto:n { -.25cm , -.275cm }
+ \draw_path_moveto:n { .35cm , -.05cm }
+ \draw_path_lineto:n { .425cm , -.05cm }
+ \draw_path_arc:nnn { 150 } { 210 } { .15cm }
+ \draw_path_arc:nnn { 100 } { 170 } { .15cm }
+ \draw_path_lineto:n { .25cm , -.275cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_dexterity: {
+ \draw_path_moveto:n { ( 0cm , -.075cm ) + ( \draw_point_polar:nn { .425cm } { 90 } ) }
+ \draw_path_arc:nnn { 90 } { 65 } { .425cm }
+ \draw_path_arc:nnnn { 200 } { 90 } { .1cm } { .075cm }
+ \draw_path_arc:nnnn { 90 } { -30 } { .1cm } { .075cm }
+ \draw_path_moveto:n { ( 0cm , -.075cm ) + ( \draw_point_polar:nn { .425cm } { 45 } ) }
+ \draw_path_arc:nnnn { 45 } { -20 } { .425cm } { .35cm }
+ \draw_path_arc:nnn { 110 } { 160 } { .175cm }
+ \draw_path_moveto:n { ( 0cm , -.075cm ) + ( \draw_point_polar:nn { .425cm } { 90 } ) }
+ \draw_path_arc:nnn { 90 } { 115 } { .425cm }
+ \draw_path_arc:nnnn { -20 } { 90 } { .1cm } { .075cm }
+ \draw_path_arc:nnnn { 90 } { 220 } { .1cm } { .075cm }
+ \draw_path_moveto:n { ( 0cm , -.075cm ) + ( \draw_point_polar:nn { .425cm } { 135 } ) }
+ \draw_path_arc:nnnn { 135 } { 200 } { .425cm } { .35cm }
+ \draw_path_arc:nnn { 70 } { 20 } { .175cm }
+ \draw_path_moveto:n { -.075cm , -.175cm }
+ \draw_path_arc:nnnn { 180 } { 360 } { .075cm } { .05cm }
+ \draw_path_moveto:n { 0cm , -.225cm }
+ \draw_path_lineto:n { 0cm , -.25cm }
+ \draw_path_moveto:n { -.2cm , .025cm }
+ \draw_path_lineto:n { -.075cm , 0cm }
+ \draw_path_lineto:n { -.125cm , -.075cm }
+ \draw_path_moveto:n { .125cm , -.075cm }
+ \draw_path_lineto:n { .075cm , 0cm }
+ \draw_path_lineto:n { .2cm , .025cm }
+ \draw_path_moveto:n { 0cm , -.25cm }
+ \draw_path_arc:nnnn { 360 } { 140 } { .1cm } { .075cm }
+ \draw_path_moveto:n { 0cm , -.25cm }
+ \draw_path_arc:nnnn { 180 } { 400 } { .1cm } { .075cm }
+ \draw_path_moveto:n { -.1cm , -.325cm }
+ \draw_path_lineto:n { -.1cm , -.375cm }
+ \draw_path_arc:nnnn { 180 } { 360 } { .1cm } { .05cm }
+ \draw_path_lineto:n { .1cm , -.325cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_dexterity_alt: {
+ \draw_path_moveto:n { ( 0cm , -.15cm ) + ( \draw_point_polar:nn { .425cm } { 90 } ) }
+ \draw_path_arc:nnn { 90 } { 75 } { .425cm }
+ \draw_path_moveto:n { ( 0cm , -.15cm ) + ( \draw_point_polar:nn { .425cm } { 90 } ) }
+ \draw_path_arc:nnn { 90 } { 105 } { .425cm }
+ \draw_path_moveto:n { .125cm , .175cm }
+ \draw_path_lineto:n { .375cm , .425cm }
+ \draw_path_arc:nnn { 30 } { -20 } { .25cm }
+ \draw_path_lineto:n { ( 0cm , -.1cm ) + ( \draw_point_polar:nn { .425cm } { 30 } ) }
+ \draw_path_arc:nnnn { 30 } { -45 } { .425cm } { .35cm }
+ \draw_path_moveto:n { -.125cm , .175cm }
+ \draw_path_lineto:n { -.375cm , .425cm }
+ \draw_path_arc:nnn { 150 } { 200 } { .25cm }
+ \draw_path_lineto:n { ( 0cm , -.1cm ) + ( \draw_point_polar:nn { .425cm } { 150 } ) }
+ \draw_path_arc:nnnn { 150 } { 225 } { .425cm } { .35cm }
+ \draw_path_moveto:n { .075cm , -.075cm }
+ \draw_path_arc:nnnn { 170 } { 90 } { .15cm } { .05cm }
+ \draw_path_moveto:n { -.075cm , -.075cm }
+ \draw_path_arc:nnnn { 10 } { 90 } { .15cm } { .05cm }
+ \draw_path_moveto:n { 0cm , -.275cm }
+ \draw_path_arc:nnnn { 0 } { 90 } { .075cm } { .05cm }
+ \draw_path_moveto:n { 0cm , -.275cm }
+ \draw_path_arc:nnnn { 180 } { 90 } { .075cm } { .05cm }
+ \draw_path_moveto:n { 0cm , -.275cm }
+ \draw_path_arc:nnnn { 360 } { 180 } { .1cm } { .075cm }
+ \draw_path_moveto:n { 0cm , -.275cm }
+ \draw_path_arc:nnnn { 180 } { 360 } { .1cm } { .075cm }
+ \draw_path_moveto:n { -.1cm , -.35cm }
+ \draw_path_lineto:n { -.1cm , -.375cm }
+ \draw_path_arc:nnnn { 180 } { 360 } { .1cm } { .05cm }
+ \draw_path_lineto:n { .1cm , -.35cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_intelligence: {
+ \draw_path_moveto:n { ( 0cm , -.2cm ) + ( \draw_point_polar:nn { .425cm } { 90 } ) }
+ \draw_path_arc:nnn { 90 } { 60 } { .25cm }
+ \draw_path_lineto:n { ( 0cm , -.1cm ) + ( \draw_point_polar:nn { .6cm } { 60 } ) }
+ \draw_path_arc:nnn { 40 } { -2.5 } { .425cm }
+ \draw_path_moveto:n { ( 0cm , -.2cm ) + ( \draw_point_polar:nn { .425cm } { 90 } ) }
+ \draw_path_arc:nnn { 90 } { 120 } { .25cm }
+ \draw_path_lineto:n { ( 0cm , -.1cm ) + ( \draw_point_polar:nn { .6cm } { 120 } ) }
+ \draw_path_arc:nnn { 140 } { 182.5 } { .425cm }
+ \draw_path_moveto:n { ( 0cm , -.2cm ) + ( \draw_point_polar:nn { .425cm } { 45 } ) }
+ \draw_path_arc:nnn { 45 } { 0 } { .425cm }
+ \draw_path_lineto:n { .2cm , -.275cm }
+ \draw_path_moveto:n { ( 0cm , -.2cm ) + ( \draw_point_polar:nn { .425cm } { 135 } ) }
+ \draw_path_arc:nnn { 135 } { 180 } { .425cm }
+ \draw_path_lineto:n { -.2cm , -.275cm }
+ \draw_path_moveto:n { -.2cm , -.075cm }
+ \draw_path_lineto:n { -.1cm , -.1cm }
+ \draw_path_lineto:n { -.075cm , -.375cm }
+ \draw_path_arc:nnnn { 180 } { 360 } { .075cm } { .05cm }
+ \draw_path_lineto:n { .1cm , -.1cm }
+ \draw_path_lineto:n { .2cm , -.075cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_resilience: {
+ \draw_path_moveto:n { ( -.425cm , -.475cm ) + ( \draw_point_polar:nn { .5cm } { 65 } ) }
+ \draw_path_arc:nnn { 65 } { 90 } { .5cm }
+ \draw_path_lineto:n { ( 0cm , -.075cm ) + ( \draw_point_polar:nn { .55cm } { 135 } ) }
+ \draw_path_arc:nnn { 135 } { 45 } { .55cm }
+ \draw_path_lineto:n { .425cm , .025cm }
+ \draw_path_arc:nnn { 90 } { 115 } { .5cm }
+ \draw_path_moveto:n { .2cm , .3cm }
+ \draw_path_lineto:n { .125cm , .275cm }
+ \draw_path_lineto:n { .2cm , .15cm }
+ \draw_path_moveto:n { .125cm , .075cm }
+ \draw_path_lineto:n { .05cm , .05cm }
+ \draw_path_moveto:n { .15cm , -.1cm }
+ \draw_path_arc:nnn { 200 } { 230 } { .4cm }
+ \draw_path_moveto:n { -.2cm , .3cm }
+ \draw_path_lineto:n { -.125cm , .275cm }
+ \draw_path_lineto:n { -.2cm , .15cm }
+ \draw_path_moveto:n { -.125cm , .075cm }
+ \draw_path_lineto:n { -.05cm , .05cm }
+ \draw_path_moveto:n { -.15cm , -.1cm }
+ \draw_path_arc:nnn { 340 } { 310 } { .4cm }
+ \draw_path_moveto:n { -.065cm , -.075cm }
+ \draw_path_lineto:n { -.045cm , -.425cm }
+ \draw_path_lineto:n { .045cm , -.425cm }
+ \draw_path_lineto:n { .065cm , -.075cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_sanity: {
+ \draw_path_moveto:n { ( -.125cm + .175cm * sind(30) , .425cm - .175cm * cosd(30) ) +
+ ( \draw_point_polar:nn { .175cm } { 210 } ) }
+ \draw_path_arc:nnn { 210 } { 120 } { .175cm }
+ \draw_path_lineto:n { \draw_point_polar:nn { .25cm } { 110 } }
+ \draw_path_arc:nnn { 110 } { 70 } { .25cm }
+ \draw_path_lineto:n { .125cm , .425cm }
+ \draw_path_arc:nnn { 420 } { 330 } { .175cm }
+ \draw_path_moveto:n { .25cm , .1cm }
+ \draw_path_arc:nnn { 390 } { 305 } { .15cm }
+ \draw_path_moveto:n { -.25cm , .1cm }
+ \draw_path_arc:nnn { 150 } { 235 } { .15cm }
+ \draw_path_moveto:n { -.15cm , .075cm }
+ \draw_path_lineto:n { -.1cm , .05cm }
+ \draw_path_lineto:n { -.1cm , .025cm }
+ \draw_path_moveto:n { .15cm , .075cm }
+ \draw_path_lineto:n { .1cm , .05cm }
+ \draw_path_lineto:n { .1cm , .025cm }
+ \draw_path_moveto:n { ( -.55cm , -.35cm ) + ( \draw_point_polar:nnn { .125cm } { .075cm} { 135 } ) +
+ ( \draw_point_polar:nn { .55cm } { 20 } ) }
+ \draw_path_arc:nnn { 380 } { 360 } { .55cm }
+ \draw_path_arc:nnnn { 135 } { 405 } { .125cm } { .075cm }
+ \draw_path_arc:nnn { 180 } { 160 } { .55cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_perception: {
+ \draw_path_moveto:n { ( 0cm , .35cm ) + ( \draw_point_polar:nn { .125cm } { 150 } ) }
+ \draw_path_arc:nnn { 150 } { 390 } { .125cm }
+ \draw_path_moveto:n { -.3cm , .425cm }
+ \draw_path_arc:nnnn { 180 } { 360 } { .3cm } { .2cm }
+ \draw_path_moveto:n { ( 0cm , .425cm ) + ( \draw_point_polar:nnn { .3cm } { .2cm } { 330 } ) }
+ \draw_path_arc:nnnn { 270 } { 350 } { .15cm } { .1cm }
+ \draw_path_moveto:n { ( 0cm , .425cm ) + ( \draw_point_polar:nnn { .3cm } { .2cm } { 210 } ) }
+ \draw_path_arc:nnnn { 270 } { 190 } { .15cm } { .1cm }
+ \draw_path_moveto:n { -.2cm , .15cm }
+ \draw_path_lineto:n { -.375cm , .125cm }
+ \draw_path_arc:nnn { 210 } { 250 } { .225cm }
+ \draw_path_moveto:n { .2cm , .15cm }
+ \draw_path_lineto:n { .375cm , .125cm }
+ \draw_path_arc:nnn { 330 } { 290 } { .225cm }
+ \draw_path_moveto:n { -.15cm , 0cm }
+ \draw_path_lineto:n { -.075cm , -.025cm }
+ \draw_path_lineto:n { -.075cm , -.05cm }
+ \draw_path_moveto:n { .15cm , 0cm }
+ \draw_path_lineto:n { .075cm , -.025cm }
+ \draw_path_lineto:n { .075cm , -.05cm }
+ \draw_path_moveto:n { ( -.075cm , ( -.35cm + .075cm * ( 2 + sqrt(3) ) ) ) +
+ ( \draw_point_polar:nnn { .1cm } { .075cm } { 195 } ) }
+ \draw_path_lineto:n { ( 0cm , -.35cm ) + ( \draw_point_polar:nnn { .1cm } { .075cm } { 195 } ) }
+ \draw_path_arc:nnnn { 195 } { 345 } { .1cm } { .075cm }
+ \draw_path_lineto:n { ( .075cm , ( -.35cm + .075cm * ( 2 + sqrt(3) ) ) ) +
+ ( \draw_point_polar:nnn { .1cm } { .075cm } { 345 } ) }
+ \draw_path_moveto:n { .025cm , -.325cm }
+ \draw_path_arc:nnn { 0 } { 180 } { .025cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_luck: {
+ \draw_path_moveto:n { .1cm , .15cm }
+ \draw_path_lineto:n { .1cm , -.05cm }
+ \draw_path_arc:nnn { -75 } { -15 } { .425cm }
+ \draw_path_arc:nnn { 40 } { 85 } { .425cm }
+ \draw_path_moveto:n { -.1cm , .15cm }
+ \draw_path_lineto:n { -.1cm , -.05cm }
+ \draw_path_arc:nnn { -105 } { -165 } { .425cm }
+ \draw_path_arc:nnn { 140 } { 95 } { .425cm }
+ \draw_path_moveto:n { ( 0cm , -.05cm ) + ( \draw_point_polar:nn { .425cm } { 15 } ) }
+ \draw_path_arc:nnnn { 15 } { -55 } { .425cm } { .3cm }
+ \draw_path_moveto:n { ( 0cm , -.05cm ) + ( \draw_point_polar:nn { .425cm } { 165 } ) }
+ \draw_path_arc:nnnn { 165 } { 235 } { .425cm } { .3cm }
+ \draw_path_moveto:n { 0cm , -.175cm }
+ \draw_path_arc:nnnn { 90 } { 250 } { .175cm } { .125cm }
+ \draw_path_lineto:n { -.05cm , -.325cm }
+ \draw_path_moveto:n { 0cm , -.175cm }
+ \draw_path_arc:nnnn { 90 } { -70 } { .175cm } { .125cm }
+ \draw_path_lineto:n { .05cm , -.325cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_armor: {
+ \draw_path_moveto:n { -.25cm , -.425cm }
+ \draw_path_lineto:n { .25cm , -.425cm }
+ \draw_path_lineto:n { .2cm , -.225cm }
+ \draw_path_lineto:n { .25cm , .125cm }
+ \draw_path_lineto:n { .425cm , .125cm }
+ \draw_path_arc:nnn { 0 } { 90 } { .3cm }
+ \draw_path_lineto:n { .125cm , .35cm }
+ \draw_path_arc:nnn { 360 } { 180 } { .125cm }
+ \draw_path_lineto:n { -.125cm , .425cm }
+ \draw_path_arc:nnn { 90 } { 180 } { .3cm }
+ \draw_path_lineto:n { -.25cm , .125cm }
+ \draw_path_lineto:n { -.2cm , -.225cm }
+ \draw_path_close:
+ \draw_path_moveto:n { .125cm , .425cm }
+ \draw_path_lineto:n { .125cm , .25cm }
+ \draw_path_arc:nnn { 180 } { 270 } { .125cm }
+ \draw_path_moveto:n { -.125cm , .425cm }
+ \draw_path_lineto:n { -.125cm , .25cm }
+ \draw_path_arc:nnn { 360 } { 270 } { .125cm }
+ \draw_path_moveto:n { 0cm , .225cm }
+ \draw_path_lineto:n { 0cm , -.275cm }
+ \draw_path_moveto:n { -.2cm , -.225cm }
+ \draw_path_lineto:n { 0cm , -.275cm }
+ \draw_path_lineto:n { .2cm , -.225cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_proficiency: {
+ \draw_path_moveto:n { \draw_point_polar:nn { .35cm} { 90 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .15cm} { 126 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm} { 162 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .15cm} { 198 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm} { 234 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .15cm} { 270 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm} { 306 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .15cm} { 342 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm} { 18 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .15cm} { 54 } }
+ \draw_path_close:
+ \draw_path_moveto:n { \draw_point_polar:nn { .35cm} { 270 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 270 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .35cm} { 342 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 342 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .35cm} { 54 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 54 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .35cm } { 126 }}
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 126 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .35cm} { 198 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 198 } }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_linear: {
+ \draw_path_circle:nn { -.4cm , 0cm } { 2pt }
+ \draw_path_use_clear:n { fill }
+ \draw_path_moveto:n { -.4cm , 0cm }
+ \draw_path_lineto:n { .4cm , 0cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_conic: {
+ \draw_path_circle:nn { -.425cm , 0cm } { 2pt }
+ \draw_path_use_clear:n { fill }
+ \draw_path_ellipse:nnn { .2125cm , 0cm } { .2cm , 0cm } { 0cm , .425cm }
+ \draw_path_moveto:n { .2125cm - .2cm * sin( asin( .2cm / .6375cm ) ) ,
+ -.425cm * cos( asin( .2cm / ( .6375cm ) ) ) }
+ \draw_path_lineto:n { -.425cm , 0cm }
+ \draw_path_lineto:n { .2125cm - .2cm * sin( asin( .2cm / .6375cm ) ) ,
+ .425cm * cos( asin( .2cm / ( .6375cm ) ) ) }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_quadratic: {
+ \draw_path_circle:nn { 0cm , 0cm } { 2pt }
+ \draw_path_use_clear:n { fill }
+ \bool_if:NTF \l__rpgicons_compat_mode_bool {
+ % l3draw rectangle fix
+ \draw_path_moveto:n { -.4cm , -.4cm }
+ \draw_path_lineto:n { -.4cm , .4cm }
+ \draw_path_lineto:n { .4cm , .4cm }
+ \draw_path_lineto:n { .4cm , -.4cm }
+ \draw_path_close:
+ } {
+ \draw_path_rectangle_corners:nn { -.4cm , -.4cm } { .4cm , .4cm }
+ }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_cubic: {
+ \draw_path_circle:nn { .1125cm , -.1125cm } { 2pt }
+ \draw_path_use_clear:n { fill }
+ \draw_path_moveto:n { -.425cm , .425cm }
+ \draw_path_lineto:n { -.425cm , -.2cm }
+ \draw_path_lineto:n { -.2cm , -.425cm }
+ \draw_path_lineto:n { .425cm , -.425cm }
+ \draw_path_lineto:n { .425cm , .2cm }
+ \draw_path_lineto:n { .2cm , .425cm }
+ \draw_path_close:
+ \draw_path_lineto:n { -.2cm , .2cm }
+ \draw_path_lineto:n { -.2cm , -.425cm }
+ \draw_path_moveto:n { -.2cm , .2cm }
+ \draw_path_lineto:n { .425cm , .2cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_spheric: {
+ \draw_path_circle:nn { 0cm , 0cm } { 2pt }
+ \draw_path_use_clear:n { fill }
+ \draw_path_circle:nn { 0cm , 0cm } { .425cm }
+ \draw_path_moveto:n { .425cm , 0cm }
+ \draw_path_arc:nnnn { 180 } { 50 } { -.425cm } { -.2cm }
+ \draw_path_moveto:n { 0cm , -.425cm }
+ \draw_path_arc:nnnn { 270 } { 140 } { -.2cm } { .425cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_cylindric: {
+ \draw_path_circle:nn { 0cm , -.2125cm } { 2pt }
+ \draw_path_use_clear:n { fill }
+ \draw_path_ellipse:nnn { 0cm , .2125cm } { 0cm , .2cm } { .425cm , 0cm }
+ \draw_path_moveto:n { -.425cm , .2125cm }
+ \draw_path_lineto:n { -.425cm , -.2125cm }
+ \draw_path_arc:nnnn { 0 } { 180 } { -.425cm } { -.2cm }
+ \draw_path_lineto:n { .425cm , .2125cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_verbal: {
+ \draw_path_moveto:n { -.35cm , 0cm }
+ \draw_path_arc:nnn { 180 } { -115 } { .35cm }
+ \draw_path_lineto:n { -.4cm , -.4cm }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm } { 215 } }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_somatic: {
+ \draw_path_moveto:n { -.425cm , 0cm }
+ \draw_path_arc:nnnn { 0 } { 270 } { -.425cm } { -.2cm }
+ \draw_path_moveto:n { 0cm , -.425cm }
+ \draw_path_arc:nnnn { 90 } { 360 } { -.2cm } { -.425cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_material: {
+ \draw_path_moveto:n { -.4cm , .2cm }
+ \draw_path_lineto:n { -.4cm , -.2cm }
+ \draw_path_lineto:n { 0cm , -.4cm }
+ \draw_path_lineto:n { .4cm , -.2cm }
+ \draw_path_lineto:n { .4cm , .2cm }
+ \draw_path_lineto:n { 0cm , .4cm }
+ \draw_path_close:
+ \draw_path_lineto:n { 0cm , 0cm }
+ \draw_path_lineto:n { .4cm , .2cm }
+ \draw_path_moveto:n { 0cm , 0cm }
+ \draw_path_lineto:n { 0cm , -.4cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_focus: {
+ \draw_path_circle:nn { 0cm , 0cm } { .35cm }
+ \draw_path_moveto:n { -.15cm , 0 }
+ \draw_path_lineto:n { -.425cm , 0 }
+ \draw_path_moveto:n { .15cm , 0 }
+ \draw_path_lineto:n { .425cm , 0 }
+ \draw_path_moveto:n { 0cm , -.15cm }
+ \draw_path_lineto:n { 0cm , -.425cm }
+ \draw_path_moveto:n { 0cm , .15cm }
+ \draw_path_lineto:n { 0cm , .425cm }
+}
+
+% SPELLSCHOOLS
+
+\cs_new:Npn \rpgicons_draw_shape_abjuration: {
+ \draw_path_moveto:n { 0cm , .025cm }
+ \draw_path_arc:nnnn { 270 } { 390 } { .275cm } { .175cm }
+ \draw_path_arc:nnn { 210 } { 120 } { .095cm }
+ \draw_path_moveto:n { 0cm , .025cm }
+ \draw_path_arc:nnnn { 270 } { 150 } { .275cm } { .175cm }
+ \draw_path_arc:nnn { -30 } { 60 } { .095cm }
+ \draw_path_moveto:n { 0cm , .25cm }
+ \draw_path_lineto:n { 0cm , -.425cm }
+ \draw_path_moveto:n { -.25cm , -.125cm }
+ \draw_path_lineto:n { .25cm , -.125cm }
+ \draw_path_moveto:n { -.25cm , -.3cm }
+ \draw_path_lineto:n { .25cm , -.3cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_conjuration: {
+ \draw_path_moveto:n { -.425cm , .425cm }
+ \draw_path_lineto:n { 0cm , -.425cm }
+ \draw_path_lineto:n { .425cm , .425cm }
+ \draw_path_moveto:n { -.225cm , .05cm }
+ \draw_path_lineto:n { .225cm , .05cm }
+ \draw_path_moveto:n { 0cm , -.15cm }
+ \draw_path_arc:nnn { 110 } { 70 } { .5cm }
+ \draw_path_moveto:n { 0cm , -.15cm }
+ \draw_path_arc:nnn { 110 } { 70 } { -.5cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_divination: {
+ \draw_path_moveto:n { -.35cm , -.175cm }
+ \draw_path_arc:nnnn { 180 } { 0 } { .15cm } { -.25cm }
+ \draw_path_arc:nnn { 180 } { 90 } { .4cm }
+ \draw_path_moveto:n { -.05cm , -.175cm }
+ \draw_path_lineto:n { -.05cm , 0cm }
+ \draw_path_arc:nnn { 180 } { 90 } { .4cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_enchantment: {
+ \draw_path_moveto:n { -.2cm , -.425cm }
+ \draw_path_lineto:n { -.2cm , .425cm }
+ \draw_path_moveto:n { -.425cm , .175cm }
+ \draw_path_lineto:n { .025cm , .175cm }
+ \draw_path_moveto:n { -.2cm , -.225cm }
+ \draw_path_arc:nnnn { 180 } { 0 } { .1cm } { .2cm }
+ \draw_path_arc:nnnn { 180 } { 0 } { .1cm } { .2cm }
+ \draw_path_arc:nnnn { 180 } { 0 } { .1cm } { -.2cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_evocation: {
+ \draw_path_ellipse:nnn { 0cm , 0cm } { .325cm , 0cm } { 0cm , .225cm }
+ \draw_path_moveto:n { 0cm , .425cm }
+ \draw_path_lineto:n { 0cm , -.425cm }
+ \draw_path_moveto:n { -.425cm , 0cm }
+ \draw_path_lineto:n { .425cm , 0cm }
+ \draw_path_moveto:n { \draw_point_polar:nnn { 30 } { .325cm } { .225cm } }
+ \draw_path_lineto:n { \draw_point_polar:nn { 30 } { .4cm} }
+ \draw_path_moveto:n { \draw_point_polar:nnn { 60 } { .325cm } { .225cm } }
+ \draw_path_lineto:n { \draw_point_polar:nn { 60 } { .4cm} }
+ \draw_path_moveto:n { \draw_point_polar:nnn { 120 } { .325cm } { .225cm } }
+ \draw_path_lineto:n { \draw_point_polar:nn { 120 } { .4cm} }
+ \draw_path_moveto:n { \draw_point_polar:nnn { 150 } { .325cm } { .225cm } }
+ \draw_path_lineto:n { \draw_point_polar:nn { 150 } { .4cm} }
+ \draw_path_moveto:n { \draw_point_polar:nnn { 210 } { .325cm } { .225cm } }
+ \draw_path_lineto:n { \draw_point_polar:nn { 210 } { .4cm} }
+ \draw_path_moveto:n { \draw_point_polar:nnn { 240 } { .325cm } { .225cm } }
+ \draw_path_lineto:n { \draw_point_polar:nn { 240 } { .4cm} }
+ \draw_path_moveto:n { \draw_point_polar:nnn { 300 } { .325cm } { .225cm } }
+ \draw_path_lineto:n { \draw_point_polar:nn { 300 } { .4cm} }
+ \draw_path_moveto:n { \draw_point_polar:nnn { 330 } { .325cm } { .225cm } }
+ \draw_path_lineto:n { \draw_point_polar:nn { 330 } { .4cm} }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_illusion: {
+ \draw_path_moveto:n { 0cm , .225cm }
+ \draw_path_arc:nnn { 90 } { 30 } { .45cm }
+ \draw_path_arc:nnn { 330 } { 210 } { .45cm }
+ \draw_path_arc:nnn { 150 } { 90 } { .45cm }
+ \draw_path_moveto:n { ( 0cm , .225cm ) + ( \draw_point_polar:nn { .45cm } { 270 } ) }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm} { 270 } }
+ \draw_path_moveto:n { ( 0cm , .225cm ) + ( \draw_point_polar:nn { .45cm } { 240 } ) }
+ \draw_path_lineto:n { \draw_point_polar:nn { .4cm} { 225 } }
+ \draw_path_moveto:n { ( 0cm , .225cm ) + ( \draw_point_polar:nn { .45cm } { 300 } ) }
+ \draw_path_lineto:n { \draw_point_polar:nn { .4cm} { 315 } }
+ \draw_path_moveto:n { 0cm , .225cm }
+ \draw_path_circle:nn { 0cm , .075cm } { .15cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_necromancy: {
+ \draw_path_moveto:n { \draw_point_polar:nn { .25cm} { 210 } }
+ \draw_path_arc:nnn { 210 } { -30 } { .25cm }
+ \draw_path_arc:nnn { 150 } { 390 } { .1cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .25cm} { 210 } }
+ \draw_path_arc:nnn { 390 } { 150 } { .1cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_transmutation: {
+ \draw_path_moveto:n { -.25cm , .35cm }
+ \draw_path_lineto:n { -.25cm , -.35cm }
+ \draw_path_moveto:n { 0cm , .35cm }
+ \draw_path_lineto:n { 0cm , -.35cm }
+ \draw_path_moveto:n { -.425cm , .35cm }
+ \draw_path_lineto:n { .15cm , .35cm }
+ \draw_path_arc:nnn { 90 } { -45 } { .1cm }
+ \draw_path_arc:nnn { 135 } { 360 } { .1cm }
+}
+
+% DAMAGES
+
+\cs_new:Npn \rpgicons_draw_shape_acid: {
+ \draw_path_moveto:n { ( -.175cm , .05cm ) + ( \draw_point_polar:nn { .175 } { -20 } ) }
+ \draw_path_arc:nnn { -20 } { 200 } { -.175cm }
+ \draw_path_lineto:n { 0cm , .425cm }
+ \draw_path_close:
+ \draw_path_moveto:n {
+ \draw_point_intersect_lines:nnnn
+ { ( 0cm , -.175cm ) + ( \draw_point_polar:nn { -.25cm } { 20 } ) }
+ { ( 0cm , -.175cm ) + ( \draw_point_polar:nn { -.25cm } { 160 } ) }
+ { -.425cm , -.425cm } { -.425cm , .425cm }
+ }
+ \draw_path_lineto:n { ( 0cm , -.175cm ) + ( \draw_point_polar:nn { -.25cm } { 20 } ) }
+ \draw_path_arc:nnn { 20 } { 160 } { -.25cm }
+ \draw_path_lineto:n {
+ \draw_point_intersect_lines:nnnn
+ { ( 0cm , -.175cm ) + ( \draw_point_polar:nn { -.25cm } { 20 } ) }
+ { ( 0cm , -.175cm ) + ( \draw_point_polar:nn { -.25cm } { 160 } ) }
+ { .425cm , -.425cm } { .425cm , .425cm }
+ }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_bludgeoning: {
+ \draw_path_moveto:n { -.2cm , .225cm }
+ \draw_path_lineto:n { 0cm , .425cm }
+ \draw_path_lineto:n { .425cm , 0cm }
+ \draw_path_lineto:n { .225cm , -.2cm }
+ \draw_path_close:
+ \draw_path_moveto:n { .05cm , -.025cm }
+ \draw_path_lineto:n { -.35cm , -.425cm }
+ \draw_path_lineto:n { -.425cm , -.35cm }
+ \draw_path_lineto:n { -.025cm , .05cm }
+ \draw_path_moveto:n { .2375cm , .1875cm }
+ \draw_path_arc:nnn { 135 } { 315 } { -.05cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_cold: {
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 90 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 270 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .35cm} { 110 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .25cm} { 90 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm} { 70 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .35cm} { 250 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .25cm} { 270 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm} { 290 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 30 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 210 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .35cm} { 50 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .25cm} { 30 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm} { 10 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .35cm} { 190 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .25cm} { 210 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm} { 230 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 150 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 330 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .35cm} { 130 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .25cm} { 150 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm} { 170 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .35cm} { 310 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .25cm} { 330 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm} { 350 } }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_fire: {
+ \draw_path_moveto:n { .15cm , -.425cm }
+ \draw_path_arc:nnnn { -60 } { 0 } { .45cm } { .375cm }
+ \draw_path_curveto:nnn { .375cm , .15cm } { .15cm , .375cm } { -.05cm , .425cm }
+ \draw_path_moveto:n { -.15cm , -.425cm }
+ \draw_path_arc:nnnn { 240 } { 135 } { .45cm } { .35cm }
+ \draw_path_curveto:nnn { -.15cm , .2cm } { 0cm , .25cm } { -.05cm , .425cm }
+ \draw_path_moveto:n { .075cm , -.3cm }
+ \draw_path_curveto:nnn { .2cm , -.2cm } { .2cm , -.05cm } { .05cm , .1cm }
+ \draw_path_moveto:n { -.075cm , -.3cm }
+ \draw_path_arc:nnnn { 220 } { 150 } { .35cm } { .2cm }
+ \draw_path_curveto:nnn { 0cm , -.2cm } { .05cm , -.1cm } { .05cm , .1cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_force: {
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 90 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .15cm} { 120 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 150 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .15cm} { 180 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 210 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .15cm} { 240 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 270 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .15cm} { 300 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 330 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .15cm} { 0 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 30 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .15cm} { 60 } }
+ \draw_path_close:
+}
+
+\cs_new:Npn \rpgicons_draw_shape_lightning: {
+ \draw_path_moveto:n { 0cm , .425cm }
+ \draw_path_lineto:n { -.25cm , -.15cm }
+ \draw_path_lineto:n { .25cm , .15cm }
+ \draw_path_lineto:n { 0cm , -.425cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_necrotic: {
+ \draw_path_moveto:n { -.35cm , -.425cm }
+ \draw_path_lineto:n { -.35cm , .075cm }
+ \draw_path_arc:nnn { 180 } { 0 } { .35cm }
+ \draw_path_lineto:n { .35cm , -.425cm }
+ \draw_path_close:
+ \draw_path_moveto:n { 0cm , -.2cm }
+ \draw_path_lineto:n { 0cm , .25cm }
+ \draw_path_moveto:n { -.15cm , .1cm }
+ \draw_path_lineto:n { .15cm , .1cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_piercing: {
+ \draw_path_moveto:n { -.425cm , .075cm }
+ \draw_path_lineto:n { .3cm , .075cm }
+ \draw_path_lineto:n { .425cm , 0cm }
+ \draw_path_lineto:n { .3cm , -.075cm }
+ \draw_path_lineto:n { -.425cm , -.075cm }
+ \draw_path_moveto:n { .25cm , .2cm }
+ \draw_path_lineto:n { -.05cm , .35cm }
+ \draw_path_moveto:n { .25cm , -.2cm }
+ \draw_path_lineto:n { -.05cm , -.35cm }
+ \draw_path_moveto:n { .425cm , .15cm }
+ \draw_path_lineto:n { .25cm , .425cm }
+ \draw_path_moveto:n { .425cm , -.15cm }
+ \draw_path_lineto:n { .25cm , -.425cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_poison: {
+ \draw_path_moveto:n { ( 0cm , .175cm ) + ( \draw_point_polar:nn { .25cm } { -40 } ) }
+ \draw_path_arc:nnn { -40 } { 220 } { .25cm }
+ \draw_path_lineto:n { -.15cm , -.1cm }
+ \draw_path_lineto:n { .15cm , -.1cm }
+ \draw_path_close:
+ \draw_path_circle:nn { -.1cm , .15cm } { .05cm }
+ \draw_path_circle:nn { .1cm , .15cm } { .05cm }
+ \draw_path_moveto:n { .425cm , -.2cm }
+ \draw_path_lineto:n { -.425cm , -.425cm }
+ \draw_path_moveto:n { -.425cm , -.2cm }
+ \draw_path_lineto:n { .425cm , -.425cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_psychic: {
+ \draw_path_moveto:n { .075cm , .4cm }
+ \draw_path_arc:nnn { 90 } { 180 } { .425cm }
+ \draw_path_arc:nnn { 180 } { 270 } { .375cm }
+ \draw_path_arc:nnn { 270 } { 360 } { .325cm }
+ \draw_path_arc:nnn { 0 } { 90 } { .275cm }
+ \draw_path_arc:nnn { 90 } { 180 } { .225cm }
+ \draw_path_arc:nnn { 180 } { 270 } { .175cm }
+ \draw_path_arc:nnn { 270 } { 360 } { .125cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_radiant: {
+ \draw_path_circle:nn { 0cm , 0cm } { .225cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 15 } }
+ \draw_path_arc:nnn { 15 } { 45 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 75 } }
+ \draw_path_arc:nnn { 75 } { 105 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 135 } }
+ \draw_path_arc:nnn { 135 } { 165 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 195 } }
+ \draw_path_arc:nnn { 195 } { 225 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 255 } }
+ \draw_path_arc:nnn { 255 } { 285 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 315 } }
+ \draw_path_arc:nnn { 315 } { 345 } { .425cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_slashing: {
+ \draw_path_moveto:n { -.15cm , .225cm }
+ \draw_path_lineto:n { -.275cm , .35cm }
+ \draw_path_arc:nnn { 0 } { 240 } { .075cm }
+ \draw_path_lineto:n { -.35cm , .275cm }
+ \draw_path_lineto:n { -.225cm , .15cm }
+ \draw_path_lineto:n { -.425cm , -.05cm }
+ \draw_path_lineto:n { -.35cm , -.125cm }
+ \draw_path_lineto:n { .125cm , .35cm }
+ \draw_path_lineto:n { .05cm , .425cm }
+ \draw_path_close:
+ \draw_path_moveto:n { -.2cm , .025cm }
+ \draw_path_lineto:n { .225cm , -.425cm }
+ \draw_path_lineto:n { .425cm , -.425cm }
+ \draw_path_lineto:n { .425cm , -.225cm }
+ \draw_path_lineto:n { -.025cm , .2cm }
+ \draw_path_moveto:n { .325cm , -.325cm }
+ \draw_path_lineto:n { 0cm , 0cm }
+ \draw_path_moveto:n { .425cm , .3cm }
+ \draw_path_lineto:n { .425cm , 0cm }
+ \draw_path_moveto:n { .275cm , .425cm }
+ \draw_path_lineto:n { .275cm , .1cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_thunder: {
+ \draw_path_moveto:n { .225cm , -.075cm }
+ \draw_path_arc:nnn { -90 } { 120 } { .2cm }
+ \draw_path_arc:nnn { 30 } { 180 } { .225cm }
+ \draw_path_lineto:n { -.3cm , .125cm + cosd( 30 ) * .2cm - sind( 30 ) * .225cm }
+ \draw_path_arc:nnn { 90 } { 180 } { .125cm }
+ \draw_path_lineto:n { -.425cm , .05cm }
+ \draw_path_arc:nnn { 180 } { 270 } { .125cm }
+ \draw_path_close:
+ \draw_path_moveto:n { -.1cm , -.225cm }
+ \draw_path_arc:nnn { 240 } { 300 } { .3cm }
+ \draw_path_moveto:n { -.2cm , -.35cm }
+ \draw_path_arc:nnn { 240 } { 300 } { .5cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_healing: {
+ \draw_path_moveto:n { 0cm , .125cm }
+ \draw_path_arc:nnn { 0 } { 225 } { .2cm }
+ \draw_path_lineto:n { 0cm , -.375cm }
+ \draw_path_moveto:n { 0cm , .125cm }
+ \draw_path_arc:nnn { 180 } { -45 } { .2cm }
+ \draw_path_lineto:n { 0cm , -.375cm }
+}
+
+% ATTACKS
+
+\cs_new:Npn \rpgicons_draw_shape_melee: {
+ \draw_path_moveto:n { -.15cm , -.225cm }
+ \draw_path_lineto:n { -.275cm , -.35cm }
+ \draw_path_arc:nnn { 360 } { 90 } { .075cm }
+ \draw_path_lineto:n { -.35cm , -.275cm }
+ \draw_path_lineto:n { -.225cm , -.15cm }
+ \draw_path_lineto:n { -.425cm , .05cm }
+ \draw_path_lineto:n { -.35cm , .125cm }
+ \draw_path_lineto:n { .125cm , -.35cm }
+ \draw_path_lineto:n { .05cm , -.425cm }
+ \draw_path_close:
+ \draw_path_moveto:n { -.2cm , -.025cm }
+ \draw_path_lineto:n { .225cm , .425cm }
+ \draw_path_lineto:n { .425cm , .425cm }
+ \draw_path_lineto:n { .425cm , .225cm }
+ \draw_path_lineto:n { -.025cm , -.2cm }
+ \draw_path_moveto:n { .325cm , .325cm }
+ \draw_path_lineto:n { 0cm , 0cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_ranged: {
+ \draw_path_moveto:n { 0cm , 0cm }
+ \draw_path_lineto:n { 0cm , -.225cm }
+ \draw_path_arc:nnn { 0 } { -30 } { .4cm }
+ \draw_path_arc:nnn { -45 } { 0 } { .6cm }
+ \draw_path_moveto:n { 0cm , 0cm }
+ \draw_path_lineto:n { 0cm , .225cm }
+ \draw_path_arc:nnn { 0 } { 30 } { .4cm }
+ \draw_path_arc:nnn { 45 } { 0 } { .6cm }
+ \draw_path_moveto:n { -.425cm , 0cm }
+ \draw_path_lineto:n { .425cm , 0cm }
+ \draw_path_moveto:n { .275cm , .1cm }
+ \draw_path_lineto:n { .425cm , 0cm }
+ \draw_path_lineto:n { .275cm , -.1cm }
+ \draw_path_moveto:n { ( -.4cm , -.225cm ) + ( \draw_point_polar:nn { .4cm } { -20 } ) }
+ \draw_path_lineto:n { -.425cm , 0cm }
+ \draw_path_lineto:n { ( -.4cm , .225cm ) + ( \draw_point_polar:nn { .4cm } { 20 } ) }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_magic: {
+ \draw_path_moveto:n { -.225cm , -.425cm }
+ \draw_path_lineto:n { -.425cm , -.225cm }
+ \draw_path_lineto:n { -.3cm , -.1cm }
+ \draw_path_lineto:n { -.3cm , .125cm }
+ \draw_path_lineto:n { 0cm , .425cm }
+ \draw_path_arc:nnn { 405 } { 315 } { .1cm }
+ \draw_path_lineto:n { -.15cm , .1cm }
+ \draw_path_lineto:n { -.15cm , -.05cm }
+ \draw_path_arc:nnn { 180 } { 360 } { .05cm }
+ \draw_path_lineto:n { -.05cm , 0cm }
+ \draw_path_arc:nnn { 180 } { 90 } { .1cm }
+ \draw_path_lineto:n { .05cm , -.1cm }
+ \draw_path_arc:nnn { 360 } { 315 } { .125cm }
+ \draw_path_close:
+ \draw_path_moveto:n { -.225cm , -.25cm }
+ \draw_path_lineto:n { -.325cm , -.15cm }
+ \draw_path_moveto:n { .2cm , .2cm }
+ \draw_path_arc:nnn { 180 } { 360 } { .1cm }
+ \draw_path_arc:nnn { 0 } { 45 } { .1cm }
+ \draw_path_arc:nnn { 225 } { 180 } { .2cm }
+ \draw_path_circle:nn { .3cm , -.075cm } { .075cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_singlehanded: {
+ \draw_path_moveto:n { -.25cm , -.425cm }
+ \draw_path_lineto:n { .025cm , -.425cm }
+ \draw_path_lineto:n { .325cm , -.125cm }
+ \draw_path_arc:nnn { 45 } { 135 } { .1cm }
+ \draw_path_lineto:n { 0cm , -.275cm }
+ \draw_path_lineto:n { -.15cm , -.275cm }
+ \draw_path_arc:nnn { 270 } { 90 } { .05cm }
+ \draw_path_lineto:n { -.1cm , -.175cm }
+ \draw_path_arc:nnn { 270 } { 360 } { .1cm }
+ \draw_path_lineto:n { -.2cm , -.075cm }
+ \draw_path_arc:nnn { 90 } { 135 } { .125cm }
+ \draw_path_lineto:n { -.425cm , -.25cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_doublehanded: {
+ \draw_path_moveto:n { -.25cm , -.425cm }
+ \draw_path_lineto:n { .025cm , -.425cm }
+ \draw_path_lineto:n { .325cm , -.125cm }
+ \draw_path_arc:nnn { 45 } { 135 } { .1cm }
+ \draw_path_lineto:n { 0cm , -.275cm }
+ \draw_path_lineto:n { -.15cm , -.275cm }
+ \draw_path_arc:nnn { 270 } { 90 } { .05cm }
+ \draw_path_lineto:n { -.1cm , -.175cm }
+ \draw_path_arc:nnn { 270 } { 360 } { .1cm }
+ \draw_path_lineto:n { -.2cm , -.075cm }
+ \draw_path_arc:nnn { 90 } { 135 } { .125cm }
+ \draw_path_lineto:n { -.425cm , -.25cm }
+ \draw_path_moveto:n { .25cm , .425cm }
+ \draw_path_lineto:n { -.025cm , .425cm }
+ \draw_path_lineto:n { -.325cm , .125cm }
+ \draw_path_arc:nnn { 225 } { 315 } { .1cm }
+ \draw_path_lineto:n { 0cm , .275cm }
+ \draw_path_lineto:n { .15cm , .275cm }
+ \draw_path_arc:nnn { 450 } { 270 } { .05cm }
+ \draw_path_lineto:n { .1cm , .175cm }
+ \draw_path_arc:nnn { 90 } { 180 } { .1cm }
+ \draw_path_lineto:n { .2cm , .075cm }
+ \draw_path_arc:nnn { 270 } { 315 } { .125cm }
+ \draw_path_lineto:n { .425cm , .25cm }
+}
+
+% CONDITIONS
+
+\cs_new:Npn \rpgicons_draw_shape_buff: {
+ \draw_path_moveto:n { -.425cm , -.225cm }
+ \draw_path_lineto:n { -.225cm , -.425cm }
+ \draw_path_lineto:n { -.1cm , -.3cm }
+ \draw_path_lineto:n { .125cm , -.3cm }
+ \draw_path_lineto:n { .425cm , 0cm }
+ \draw_path_arc:nnn { 45 } { 135 } { .1cm }
+ \draw_path_lineto:n { .1cm , -.15cm }
+ \draw_path_lineto:n { -.05cm , -.15cm }
+ \draw_path_arc:nnn { 270 } { 90 } { .05cm }
+ \draw_path_lineto:n { 0cm , -.05cm }
+ \draw_path_arc:nnn { 270 } { 360 } { .1cm }
+ \draw_path_lineto:n { -.1cm , .05cm }
+ \draw_path_arc:nnn { 90 } { 135 } { .125cm }
+ \draw_path_close:
+ \draw_path_moveto:n { -.25cm , -.225cm }
+ \draw_path_lineto:n { -.15cm , -.325cm }
+ \draw_path_moveto:n { 0cm , .425cm }
+ \draw_path_lineto:n { .25cm , .425cm }
+ \draw_path_lineto:n { .25cm , .275cm }
+ \draw_path_arc:nnn { 360 } { 180 } { .125cm }
+ \draw_path_close:
+
+}
+
+\cs_new:Npn \rpgicons_draw_shape_blinded: {
+ \draw_path_moveto:n { 0cm , .225cm }
+ \draw_path_arc:nnn { 90 } { 30 } { .45cm }
+ \draw_path_arc:nnn { 330 } { 210 } { .45cm }
+ \draw_path_arc:nnn { 150 } { 90 } { .45cm }
+ \draw_path_moveto:n { 0cm , .225cm }
+ \draw_path_circle:nn { 0cm , 0cm } { .15cm }
+ \draw_path_moveto:n { -.425cm , -.425cm }
+ \draw_path_lineto:n { -.25cm , -.25cm }
+ \draw_path_moveto:n { 0cm , 0cm }
+ \draw_path_lineto:n { .425cm , .425cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_charmed: {
+ \draw_path_circle:nn { 0cm , 0cm } { .425cm }
+ \draw_path_moveto:n { -.175cm , -.1cm }
+ \draw_path_arc:nnn { 180 } { 360 } { .175cm }
+ \draw_path_close:
+ \draw_path_moveto:n { -.175cm , .15cm }
+ \draw_path_arc:nnn { 0 } { 225 } { .0625cm }
+ \draw_path_lineto:n { -.175cm , 0cm }
+ \draw_path_moveto:n { -.175cm , .15cm }
+ \draw_path_arc:nnn { 180 } { -45 } { .0625cm }
+ \draw_path_lineto:n { -.175cm , 0cm }
+ \draw_path_moveto:n { .175cm , .15cm }
+ \draw_path_arc:nnn { 0 } { 225 } { .0625cm }
+ \draw_path_lineto:n { .175cm , 0cm }
+ \draw_path_moveto:n { .175cm , .15cm }
+ \draw_path_arc:nnn { 180 } { -45 } { .0625cm }
+ \draw_path_lineto:n { .175cm , 0cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_deafened: {
+ \draw_path_moveto:n { -.175cm , -.275cm }
+ \draw_path_arc:nnn { 180 } { 360 } { .15cm }
+ \draw_path_lineto:n { .125cm , -.225cm }
+ \draw_path_arc:nnn { 180 } { 135 } { .25cm }
+ \draw_path_arc:nnn { 315 } { 360 } { .25cm }
+ \draw_path_arc:nnn { 0 } { 180 } { .275cm }
+ \draw_path_moveto:n { -.15cm , -.1cm }
+ \draw_path_arc:nnn { -90 } { 90 } { .075cm }
+ \draw_path_lineto:n { -.15cm , .125cm }
+ \draw_path_arc:nnn { 180 } { 45 } { .15cm }
+ \draw_path_moveto:n { -.425cm , -.425cm }
+ \draw_path_lineto:n { -.2cm , -.2cm }
+ \draw_path_moveto:n { 0cm , 0cm }
+ \draw_path_lineto:n { .425cm , .425cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_exhausted: {
+ \draw_path_circle:nn { 0cm , 0cm } { .425cm }
+ \draw_path_moveto:n { -.175cm , -.225cm }
+ \draw_path_arc:nnn { 180 } { 0 } { .175cm }
+ \draw_path_close:
+ \draw_path_moveto:n { .275cm , .15cm }
+ \draw_path_arc:nnn { 180 } { 0 } { -.1cm }
+ \draw_path_moveto:n { -.075cm , .15cm }
+ \draw_path_arc:nnn { 180 } { 0 } { -.1cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_frightened: {
+ \draw_path_circle:nn { 0cm , 0cm } { .425cm }
+ \draw_path_moveto:n { -.175cm , -.225cm }
+ \draw_path_arc:nnn { 180 } { 0 } { .175cm }
+ \draw_path_close:
+ \draw_path_circle:nn { -.175cm , .125cm } { .075cm }
+ \draw_path_circle:nn { .175cm , .125cm } { .075cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_grappled: {
+ \draw_path_moveto:n { -.25cm , .3cm }
+ \draw_path_arc:nnn { 90 } { -90 } { .075cm }
+ \draw_path_lineto:n { -.35cm , .15cm }
+ \draw_path_arc:nnn { 270 } { 90 } { .075cm }
+ \draw_path_close:
+ \draw_path_moveto:n { -.2cm , .15cm }
+ \draw_path_arc:nnn { 90 } { -90 } { .075cm }
+ \draw_path_lineto:n { -.35cm , 0cm }
+ \draw_path_arc:nnn { 270 } { 90 } { .075cm }
+ \draw_path_close:
+ \draw_path_moveto:n { -.2cm , 0cm }
+ \draw_path_arc:nnn { 90 } { -90 } { .075cm }
+ \draw_path_lineto:n { -.35cm , -.15cm }
+ \draw_path_arc:nnn { 270 } { 90 } { .075cm }
+ \draw_path_close:
+ \draw_path_moveto:n { -.2cm , -.15cm }
+ \draw_path_arc:nnn { 90 } { -90 } { .075cm }
+ \draw_path_lineto:n { -.3cm , -.3cm }
+ \draw_path_arc:nnn { 270 } { 90 } { .075cm }
+ \draw_path_close:
+ \draw_path_moveto:n { .425cm , .05cm }
+ \draw_path_arc:nnn { 0 } { 90 } { .25cm }
+ \draw_path_lineto:n { -.05cm , .3cm }
+ \draw_path_arc:nnn { 180 } { 270 } { .15cm }
+ \draw_path_lineto:n { .175cm , .15cm }
+ \draw_path_lineto:n { .175cm , -.425cm }
+ \draw_path_moveto:n { .175cm , -.275cm }
+ \draw_path_lineto:n { .425cm , -.275cm }
+ \draw_path_moveto:n { .175cm , .3cm }
+ \draw_path_lineto:n { .175cm , .425cm }
+ \draw_path_moveto:n { -.3cm , .3cm }
+ \draw_path_lineto:n { -.3cm , .425cm }
+ \draw_path_moveto:n { -.3cm , -.3cm }
+ \draw_path_lineto:n { -.3cm , -.425cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_incapacitated: {
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 30 } }
+ \draw_path_arc:nnn { 270 } { 210 } { .425cm }
+ \draw_path_lineto:n { \draw_point_polar:nn { -.425cm} { 90 } }
+ \draw_path_arc:nnn { 30 } { 90 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 90 } }
+ \draw_path_arc:nnn { 330 } { 270 } { .425cm }
+ \draw_path_lineto:n { \draw_point_polar:nn { -.425cm} { 150 } }
+ \draw_path_arc:nnn { 90 } { 150 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 150 } }
+ \draw_path_arc:nnn { 30 } { -30 } { .425cm }
+ \draw_path_lineto:n { \draw_point_polar:nn { -.425cm} { 210 } }
+ \draw_path_arc:nnn { 150 } { 210 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .25cm} { 30 } }
+ \draw_path_arc:nnn { 270 } { 210 } { .25cm }
+ \draw_path_arc:nnn { 330 } { 270 } { .25cm }
+ \draw_path_arc:nnn { 30 } { -30 } { .25cm }
+ \draw_path_arc:nnn { 90 } { 30 } { .25cm }
+ \draw_path_arc:nnn { 150 } { 90 } { .25cm }
+ \draw_path_arc:nnn { 210 } { 150 } { .25cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_invisible: {
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { -15 } }
+ \draw_path_arc:nnn { -15 } { 15 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 30 } }
+ \draw_path_arc:nnn { 30 } { 60 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 75 } }
+ \draw_path_arc:nnn { 75 } { 105 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 120 } }
+ \draw_path_arc:nnn { 120 } { 150 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 165 } }
+ \draw_path_arc:nnn { 165 } { 195 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 210 } }
+ \draw_path_arc:nnn { 210 } { 240 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 255 } }
+ \draw_path_arc:nnn { 255 } { 285 } { .425cm }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 300 } }
+ \draw_path_arc:nnn { 300 } { 330 } { .425cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_paralyzed: {
+ \draw_path_circle:nn { 0cm , 0cm } { .425cm }
+ \draw_path_moveto:n { -.175cm , -.225cm }
+ \draw_path_arc:nnn { 180 } { 0 } { .175cm }
+ \draw_path_close:
+ \draw_path_moveto:n { .25cm , .2cm }
+ \draw_path_lineto:n { .1cm , .05cm }
+ \draw_path_moveto:n { .25cm , .05cm }
+ \draw_path_lineto:n { .1cm , .2cm }
+ \draw_path_moveto:n { -.25cm , .2cm }
+ \draw_path_lineto:n { -.1cm , .05cm }
+ \draw_path_moveto:n { -.25cm , .05cm }
+ \draw_path_lineto:n { -.1cm , .2cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_petrified: {
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 45 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 100 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 135 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 190 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 230 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 250 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 300 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .425cm} { 350 } }
+ \draw_path_close:
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 135 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm} { 130 } }
+ \draw_path_lineto:n { -.25cm , .075cm }
+ \draw_path_lineto:n { \draw_point_polar:nn { .2cm} { 220 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .325cm} { 240 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 300 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .3cm} { 330 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .225cm} { 350 } }
+ \draw_path_moveto:n { \draw_point_polar:nn { .425cm} { 45 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .3cm} { 60 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .35cm} { 130 } }
+ \draw_path_moveto:n { -.15cm , -.175cm }
+ \draw_path_lineto:n { .075cm , -.15cm }
+ \draw_path_lineto:n { .125cm , -.2cm }
+ \draw_path_moveto:n { -.25cm , .075cm }
+ \draw_path_lineto:n { -.1cm , .1cm }
+ \draw_path_moveto:n { .25cm , .075cm }
+ \draw_path_lineto:n { .1cm , .1cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_poisoned: {
+ \draw_path_circle:nn { 0cm , 0cm } { .425cm }
+ \draw_path_moveto:n { -.15cm , -.2cm }
+ \draw_path_lineto:n { -.075cm , -.125cm }
+ \draw_path_lineto:n { 0cm , -.2cm }
+ \draw_path_lineto:n { .075cm , -.125cm }
+ \draw_path_lineto:n { .15cm , -.2cm }
+ \draw_path_moveto:n { .25cm , .175cm }
+ \draw_path_lineto:n { .1cm , .1cm }
+ \draw_path_lineto:n { .25cm , .025cm }
+ \draw_path_moveto:n { -.25cm , .175cm }
+ \draw_path_lineto:n { -.1cm , .1cm }
+ \draw_path_lineto:n { -.25cm , .025cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_prone: {
+ \draw_path_circle:nn { .2cm , -.125cm } { .125cm }
+ \draw_path_moveto:n { -.425cm , 0cm }
+ \draw_path_lineto:n { -.15cm , 0cm }
+ \draw_path_arc:nnn { 90 } { -90 } { .125cm }
+ \draw_path_lineto:n { -.425cm , -.25cm }
+ \draw_path_moveto:n { .225cm , .15cm }
+ \draw_path_arc:nnn { 270 } { 360 } { .1cm }
+ \draw_path_arc:nnn { 180 } { 270 } { .1cm }
+ \draw_path_arc:nnn { 90 } { 180 } { .1cm }
+ \draw_path_arc:nnn { 0 } { 90 } { .1cm }
+ \draw_path_moveto:n { 0cm , .25cm }
+ \draw_path_arc:nnn { 270 } { 360 } { .1cm }
+ \draw_path_arc:nnn { 180 } { 270 } { .1cm }
+ \draw_path_arc:nnn { 90 } { 180 } { .1cm }
+ \draw_path_arc:nnn { 0 } { 90 } { .1cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_restrained: {
+ \draw_path_moveto:n { -.075cm , -.225cm }
+ \draw_path_lineto:n { -.075cm , .225cm }
+ \draw_path_arc:nnn { 90 } { 180 } { .125cm }
+ \draw_path_lineto:n { -.2cm , 0cm }
+ \draw_path_arc:nnn { 270 } { 180 } { .1cm }
+ \draw_path_lineto:n { -.3cm , .3cm }
+ \draw_path_arc:nnn { 0 } { 90 } { .125cm }
+ \draw_path_lineto:n { -.425cm , -.075cm }
+ \draw_path_arc:nnn { 180 } { 235 } { .1cm }
+ \draw_path_lineto:n { -.3cm , -.225cm }
+ \draw_path_moveto:n { .075cm , -.225cm }
+ \draw_path_lineto:n { .075cm , .225cm }
+ \draw_path_arc:nnn { 90 } { 0 } { .125cm }
+ \draw_path_lineto:n { .2cm , 0cm }
+ \draw_path_arc:nnn { -90 } { 0 } { .1cm }
+ \draw_path_lineto:n { .3cm , .3cm }
+ \draw_path_arc:nnn { 180 } { 90 } { .125cm }
+ \draw_path_lineto:n { .425cm , -.075cm }
+ \draw_path_arc:nnn { 360 } { 330 } { .1cm }
+ \draw_path_lineto:n { .3cm , -.225cm }
+ \draw_path_moveto:n { .35cm , -.225cm }
+ \draw_path_arc:nnn { 90 } { -90 } { .05cm }
+ \draw_path_lineto:n { -.35cm , -.325cm }
+ \draw_path_arc:nnn { 270 } { 90 } { .05cm }
+ \draw_path_close:
+ \draw_path_moveto:n { .35cm , -.325cm }
+ \draw_path_arc:nnn { 90 } { -90 } { .05cm }
+ \draw_path_lineto:n { -.35cm , -.425cm }
+ \draw_path_arc:nnn { 270 } { 90 } { .05cm }
+ \draw_path_close:
+}
+
+\cs_new:Npn \rpgicons_draw_shape_stunned: {
+ \draw_path_circle:nn { 0cm , 0cm } { .425cm }
+ \draw_path_ellipse:nnn { 0cm , -.175cm } { 0cm , .1cm } { .175cm , 0cm }
+ \draw_path_moveto:n { ( -.175cm , .125cm ) + ( \draw_point_polar:nn { .125cm } { 90 } ) }
+ \draw_path_lineto:n { ( -.175cm , .125cm ) + ( \draw_point_polar:nn { .05cm } { 126 } ) }
+ \draw_path_lineto:n { ( -.175cm , .125cm ) + ( \draw_point_polar:nn { .125cm } { 162 } ) }
+ \draw_path_lineto:n { ( -.175cm , .125cm ) + ( \draw_point_polar:nn { .05cm } { 198 } ) }
+ \draw_path_lineto:n { ( -.175cm , .125cm ) + ( \draw_point_polar:nn { .125cm } { 234 } ) }
+ \draw_path_lineto:n { ( -.175cm , .125cm ) + ( \draw_point_polar:nn { .05cm } { 270 } ) }
+ \draw_path_lineto:n { ( -.175cm , .125cm ) + ( \draw_point_polar:nn { .125cm } { 306 } ) }
+ \draw_path_lineto:n { ( -.175cm , .125cm ) + ( \draw_point_polar:nn { .05cm } { 342 } ) }
+ \draw_path_lineto:n { ( -.175cm , .125cm ) + ( \draw_point_polar:nn { .125cm } { 18 } ) }
+ \draw_path_lineto:n { ( -.175cm , .125cm ) + ( \draw_point_polar:nn { .05cm } { 54 } ) }
+ \draw_path_close:
+ \draw_path_moveto:n { ( .175cm , .125cm ) + ( \draw_point_polar:nn { .125cm } { 90 } ) }
+ \draw_path_lineto:n { ( .175cm , .125cm ) + ( \draw_point_polar:nn { .05cm } { 126 } ) }
+ \draw_path_lineto:n { ( .175cm , .125cm ) + ( \draw_point_polar:nn { .125cm } { 162 } ) }
+ \draw_path_lineto:n { ( .175cm , .125cm ) + ( \draw_point_polar:nn { .05cm } { 198 } ) }
+ \draw_path_lineto:n { ( .175cm , .125cm ) + ( \draw_point_polar:nn { .125cm } { 234 } ) }
+ \draw_path_lineto:n { ( .175cm , .125cm ) + ( \draw_point_polar:nn { .05cm } { 270 } ) }
+ \draw_path_lineto:n { ( .175cm , .125cm ) + ( \draw_point_polar:nn { .125cm } { 306 } ) }
+ \draw_path_lineto:n { ( .175cm , .125cm ) + ( \draw_point_polar:nn { .05cm } { 342 } ) }
+ \draw_path_lineto:n { ( .175cm , .125cm ) + ( \draw_point_polar:nn { .125cm } { 18 } ) }
+ \draw_path_lineto:n { ( .175cm , .125cm ) + ( \draw_point_polar:nn { .05cm } { 54 } ) }
+ \draw_path_close:
+}
+
+\cs_new:Npn \rpgicons_draw_shape_unconscious: {
+ \draw_path_moveto:n { 0cm , .15cm }
+ \draw_path_arc:nnnn { 90 } { -30 } { .425cm } { .15cm }
+ \draw_path_moveto:n { 0cm , -.15cm }
+ \draw_path_arc:nnnn { 270 } { 150 } { .425cm } { .15cm }
+ \draw_path_moveto:n { -.35cm , .15cm }
+ \draw_path_arc:nnn { 270 } { 360 } { .125cm }
+ \draw_path_arc:nnn { 180 } { 270 } { .125cm }
+ \draw_path_arc:nnn { 90 } { 180 } { .125cm }
+ \draw_path_arc:nnn { 0 } { 90 } { .125cm }
+ \draw_path_moveto:n { .1cm , -.15cm }
+ \draw_path_arc:nnn { 270 } { 360 } { .125cm }
+ \draw_path_arc:nnn { 180 } { 270 } { .125cm }
+ \draw_path_arc:nnn { 90 } { 180 } { .125cm }
+ \draw_path_arc:nnn { 0 } { 90 } { .125cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_hearing: {
+ \draw_path_moveto:n { -.175cm , -.275cm }
+ \draw_path_arc:nnn { 180 } { 360 } { .15cm }
+ \draw_path_lineto:n { .125cm , -.225cm }
+ \draw_path_arc:nnn { 180 } { 135 } { .25cm }
+ \draw_path_arc:nnn { 315 } { 360 } { .25cm }
+ \draw_path_arc:nnn { 0 } { 180 } { .275cm }
+ \draw_path_moveto:n { -.15cm , -.1cm }
+ \draw_path_arc:nnn { -90 } { 90 } { .075cm }
+ \draw_path_lineto:n { -.15cm , .125cm }
+ \draw_path_arc:nnn { 180 } { 45 } { .15cm }
+}
+
+\cs_new:Npn \rpgicons_draw_shape_seeing: {
+ \draw_path_moveto:n { 0cm , .225cm }
+ \draw_path_arc:nnn { 90 } { 30 } { .45cm }
+ \draw_path_arc:nnn { 330 } { 210 } { .45cm }
+ \draw_path_arc:nnn { 150 } { 90 } { .45cm }
+ \draw_path_moveto:n { 0cm , .225cm }
+ \draw_path_circle:nn { 0cm , 0cm } { .15cm }
+}
+
+% FRAMES
+
+\cs_new:Npn \rpgicons_draw_frame_ability: {
+ \draw_path_circle:nn { 0cm , 0cm } { .45cm }
+}
+
+\cs_new:Npn \rpgicons_draw_frame_saving: {
+ \draw_path_moveto:n { -.45cm, . 45cm }
+ \draw_path_lineto:n { .45cm , .45cm }
+ \draw_path_lineto:n { .45cm , -.05cm }
+ \draw_path_arc:nnn { 360 } { 180 } { .45cm }
+ \draw_path_close:
+}
+
+\cs_new:Npn \rpgicons_draw_frame_spellschool: {
+ \draw_path_moveto:n { -.475cm, . 35cm }
+ \draw_path_lineto:n { -.35cm , .475cm }
+ \draw_path_lineto:n { .35cm , .475cm }
+ \draw_path_lineto:n { .475cm , .35cm }
+ \draw_path_lineto:n { .425cm , -.375cm }
+ \draw_path_lineto:n { 0cm , -.475cm }
+ \draw_path_lineto:n { -.425cm , -.375cm }
+ \draw_path_close:
+}
+
+\cs_new:Npn \rpgicons_draw_frame_damage: {
+ \draw_path_circle:nn { 0cm , 0cm } { .45cm }
+}
+
+% USER COMMANDS
+
+\NewDocumentCommand { \rpgiconsset } { m } {
+ \keys_set:nn { rpgicons / local ~ options } {#1}
+}
+
+\dim_new:N \l_rpgicons_icon_before_sep_dim
+\dim_new:N \l_rpgicons_icon_after_sep_dim
+\dim_new:N \l_rpgicons_icon_baseline_dim
+\dim_new:N \l_rpgicons_icon_linewidth_dim
+
+\tl_new:N \l_rpgicons_icon_frame_tl
+\tl_new:N \l_rpgicons_icon_color_stroke_tl
+\tl_new:N \l_rpgicons_icon_color_fill_tl
+\tl_new:N \l_rpgicons_icon_color_text_tl
+\tl_new:N \l_rpgicons_icon_color_background_tl
+
+\fp_new:N \l_rpgicons_icon_opacity_stroke_fp
+\fp_set:Nn \l_rpgicons_icon_opacity_stroke_fp { 1.0 }
+\fp_new:N \l_rpgicons_icon_opacity_fill_fp
+\fp_set:Nn \l_rpgicons_icon_opacity_fill_fp { 1.0 }
+\fp_new:N \l_rpgicons_icon_opacity_text_fp
+\fp_set:Nn \l_rpgicons_icon_opacity_text_fp { 1.0 }
+\fp_new:N \l_rpgicons_icon_opacity_background_fp
+\fp_set:Nn \l_rpgicons_icon_opacity_background_fp { 1.0 }
+
+\fp_new:N \l_rpgicons_icon_transform_scale_fp
+\fp_new:N \l_rpgicons_icon_transform_scale_inner_fp
+\fp_new:N \l_rpgicons_icon_transform_rotate_fp
+
+\bool_new:N \l_rpgicons_icon_accessible_basic_bool
+\bool_new:N \l_rpgicons_icon_accessible_full_bool
+
+\cs_generate_variant:Nn \color_select:n { V }
+\cs_generate_variant:Nn \color_stroke:n { V }
+\cs_generate_variant:Nn \color_fill:n { V }
+
+\bool_new:N \l__rpgicons_opacity_warning_bool
+\cs_new:Npn \__rpgicons_opacity_check: {
+ \bool_lazy_and:nnT {
+ \bool_not_p:n { \l__rpgicons_opacity_warning_bool }
+ } {
+ \bool_not_p:n { \l__rpgicons_use_opacity_bool }
+ } {
+ \msg_warning:nn { rpgicons } { opacity-option-missing }
+ \bool_set_true:N \l__rpgicons_opacity_warning_bool
+ }
+}
+\cs_new:Npn \__rpgicons_accessible_check: {
+ \IfDocumentMetadataTF { } {
+ \msg_error:nn { rpgicons } { documentmetadata-missing }
+ }
+}
+
+\cs_generate_variant:Nn \bool_set:Nn { Ne }
+\keys_define:nn { rpgicons / local ~ options } {
+ before ~ sep .groups:n = { extra } ,
+ before ~ sep .dim_set:N = \l_rpgicons_icon_before_sep_dim ,
+ before ~ sep .initial:n = { 0.05em } ,
+ after ~ sep .groups:n = { extra } ,
+ after ~ sep .dim_set:N = \l_rpgicons_icon_after_sep_dim ,
+ after ~ sep .initial:n = { 0.05em } ,
+ accessible .choice: ,
+ accessible / false .code:n = {
+ \bool_set_false:N \l_rpgicons_icon_accessible_basic_bool
+ \bool_set_false:N \l_rpgicons_icon_accessible_full_bool
+ } ,
+ accessible / basic .code:n = {
+ \bool_set_true:N \l_rpgicons_icon_accessible_basic_bool
+ \bool_set_false:N \l_rpgicons_icon_accessible_full_bool
+ } ,
+ accessible / full .code:n = {
+ \bool_set_true:N \l_rpgicons_icon_accessible_basic_bool
+ \bool_set_true:N \l_rpgicons_icon_accessible_full_bool
+ } ,
+ accessible .default:n = { basic } ,
+ baseline .dim_set:N = \l_rpgicons_icon_baseline_dim ,
+ baseline .initial:n = { -3.5pt } ,
+ frame .tl_set:N = \l_rpgicons_icon_frame_tl ,
+ frame .initial:n = { } ,
+ stroke .tl_set:N = \l_rpgicons_icon_color_stroke_tl ,
+ stroke .initial:n = { . } ,
+ fill .tl_set:N = \l_rpgicons_icon_color_fill_tl ,
+ fill .initial:n = { . } ,
+ text .tl_set:N = \l_rpgicons_icon_color_text_tl ,
+ text .initial:n = { . } ,
+ color .code:n = {
+ \tl_set:Nn \l_rpgicons_icon_color_stroke_tl {#1}
+ \tl_set:Nn \l_rpgicons_icon_color_fill_tl {#1}
+ \tl_set:Nn \l_rpgicons_icon_color_text_tl {#1}
+ } ,
+ background .tl_set:N = \l_rpgicons_icon_color_background_tl ,
+ background .initial:n = { white } ,
+ stroke ~ opacity .code:n = {
+ \__rpgicons_opacity_check:
+ \fp_set:Nn \l_rpgicons_icon_opacity_stroke_fp {#1}
+ } ,
+ fill ~ opacity .code:n = {
+ \__rpgicons_opacity_check:
+ \fp_set:Nn \l_rpgicons_icon_opacity_fill_fp {#1}
+ } ,
+ text ~ opacity .code:n = {
+ \__rpgicons_opacity_check:
+ \fp_set:Nn \l_rpgicons_icon_opacity_text_fp {#1}
+ } ,
+ opacity .code:n = {
+ \__rpgicons_opacity_check:
+ \fp_set:Nn \l_rpgicons_icon_opacity_stroke_fp {#1}
+ \fp_set:Nn \l_rpgicons_icon_opacity_fill_fp {#1}
+ \fp_set:Nn \l_rpgicons_icon_opacity_text_fp {#1}
+ } ,
+ background ~ opacity .code:n = {
+ \__rpgicons_opacity_check:
+ \fp_set:Nn \l_rpgicons_icon_opacity_background_fp {#1}
+ } ,
+ line ~ width .dim_set:N = \l_rpgicons_icon_linewidth_dim ,
+ line ~ width .initial:n = { \l_draw_default_linewidth_dim } ,
+ scale .fp_set:N = \l_rpgicons_icon_transform_scale_fp ,
+ scale .initial:n = { 1.0 } ,
+ scale ~ inner .fp_set:N = \l_rpgicons_icon_transform_scale_inner_fp ,
+ scale ~ inner .initial:n = { 0.675 } ,
+ rotate .fp_set:N = \l_rpgicons_icon_transform_rotate_fp ,
+ rotate .initial:n = { 0.0 } ,
+}
+
+\clist_const:Nn \c__rpgicons_types_clist {
+ die , ability , saving , spell , spellschool , damage , attack , condition
+}
+
+\str_new:N \l__rpgicons_icon_shape_name_str
+\clist_map_inline:Nn \c__rpgicons_types_clist {
+ \str_set:Nn \l__rpgicons_icon_shape_name_str {#1}
+ \str_replace_all:Nnn \l__rpgicons_icon_shape_name_str { ~ } { _ }
+ \clist_new:c { l_rpgicons_types_every_ \l__rpgicons_icon_shape_name_str _style_clist }
+ \keys_define:nn { rpgicons / local ~ options } {
+ every ~ #1 .code:n = {
+ \clist_set:cn {
+ l_rpgicons_types_every_ \l__rpgicons_icon_shape_name_str _style_clist
+ } {##1}
+ }
+ }
+}
+
+\clist_const:Nn \c__rpgicons_shapes_clist {
+ 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
+}
+
+\clist_map_inline:Nn \c__rpgicons_shapes_clist {
+ \str_set:Nn \l__rpgicons_icon_shape_name_str {#1}
+ \str_replace_all:Nnn \l__rpgicons_icon_shape_name_str { ~ } { _ }
+ \clist_new:c { l_rpgicons_shapes_every_ \l__rpgicons_icon_shape_name_str _style_clist }
+ \keys_define:nn { rpgicons / local ~ options } {
+ every ~ #1 .code:n = {
+ \clist_set:cn {
+ l_rpgicons_shapes_every_ \l__rpgicons_icon_shape_name_str _style_clist
+ } {##1}
+ }
+ }
+}
+
+\seq_new:N \l__rpgicons_icon_shape_name_parts_seq
+\coffin_new:N \l__rpgicons_icon_accessible_coffin
+\coffin_new:N \l__rpgicons_icon_label_coffin
+\bool_if:NT \l__rpgicons_compat_mode_bool {
+ % l3keys cs name fix
+ \cs_generate_variant:Nn \keys_set:nn { ne }
+ \cs_generate_variant:Nn \str_set:Nn { Ne }
+ \cs_generate_variant:Nn \seq_set_split:Nnn { Nee }
+}
+\prg_generate_conditional_variant:Nnn \clist_if_in:nn { ne } { T , TF }
+\cs_generate_variant:Nn \hcoffin_set:Nn { Ne }
+\cs_generate_variant:Nn \keys_set_groups:nnn { nne }
+\cs_generate_variant:Nn \keys_set_exclude_groups:nnn { nne }
+\NewDocumentCommand \RPGIconsUseIcon { s O{} o m } {
+ \bool_if:NT \l_rpgicons_icon_accessible_full_bool {
+ \__rpgicons_accessible_check:
+ \pdf_bdc:nn { Span } { /Alt ~ ( #4 ) }
+ }
+ \draw_begin:
+ \draw_cap_round:
+ \draw_join_round:
+ \bool_if:NTF \l__rpgicons_compat_mode_bool {
+ % l3keys cs name fix
+ \keys_set:ne { rpgicons / local ~ options } {#2}
+ } {
+ \keys_set_exclude_groups:nne { rpgicons / local ~ options } { extra } {#2}
+ }
+ \str_set:Ne \l__rpgicons_icon_shape_name_str {#4}
+ \str_replace_all:Nnn \l__rpgicons_icon_shape_name_str { ~ } { _ }
+ \str_if_empty:NF \l__rpgicons_icon_shape_name_str {
+ \clist_if_exist:cT { l_rpgicons_shapes_every_ \l__rpgicons_icon_shape_name_str _style_clist } {
+ \keys_set:ne { rpgicons / local ~ options } {
+ \clist_use:cn { l_rpgicons_shapes_every_ \l__rpgicons_icon_shape_name_str _style_clist } { , }
+ }
+ }
+ }
+ \color_stroke:V { \l_rpgicons_icon_color_stroke_tl }
+ \color_fill:V { \l_rpgicons_icon_color_fill_tl }
+ \bool_if:NT \l__rpgicons_use_opacity_bool {
+ \opacity_stroke:n { \l_rpgicons_icon_opacity_stroke_fp }
+ \opacity_fill:n { \l_rpgicons_icon_opacity_fill_fp }
+ }
+ \draw_linewidth:n { \l_rpgicons_icon_linewidth_dim }
+ \draw_transform_scale:n { \l_rpgicons_icon_transform_scale_fp }
+ \draw_transform_rotate:n { \l_rpgicons_icon_transform_rotate_fp }
+ \draw_baseline:n { \l_rpgicons_icon_baseline_dim }
+ \bool_if:NT \l_rpgicons_icon_accessible_basic_bool {
+ \draw_scope_begin:
+ \bool_if:NTF \l__rpgicons_compat_mode_bool {
+ % l3draw rectangle fix
+ % l3draw bounding box workaround
+ \draw_path_moveto:n { -.5cm , .5cm }
+ \draw_path_lineto:n { -.5cm , .5cm }
+ \draw_path_lineto:n { .5cm , .5cm }
+ \draw_path_lineto:n { .5cm , .5cm }
+ \draw_path_close:
+ \draw_path_use_clear:n { clip }
+ } {
+ \draw_path_rectangle_corners:nn
+ { -.5cm , .5cm }
+ { .5cm , .5cm }
+ \draw_path_use_clear:n { clip }
+ }
+ \bool_if:NTF \l_rpgicons_icon_accessible_full_bool {
+ \hcoffin_set:Nn \l__rpgicons_icon_accessible_coffin { \pdffakespace #4 \pdffakespace }
+ } {
+ \hcoffin_set:Nn \l__rpgicons_icon_accessible_coffin {#4}
+ }
+ \coffin_resize:Nnn \l__rpgicons_icon_accessible_coffin { 1cm } { 1cm }
+ \draw_coffin_use:Nnnn \l__rpgicons_icon_accessible_coffin { hc } { vc } { 0cm , 0cm }
+ \draw_scope_end:
+ }
+ \bool_if:NTF \l__rpgicons_compat_mode_bool {
+ % l3draw rectangle fix
+ % l3draw bounding box workaround
+ \draw_path_moveto:n { -.5cm , -.5cm - \l_rpgicons_icon_linewidth_dim / 2 }
+ \draw_path_lineto:n { -.5cm , .5cm + \l_rpgicons_icon_linewidth_dim / 2 }
+ \draw_path_lineto:n { .5cm , .5cm + \l_rpgicons_icon_linewidth_dim / 2 }
+ \draw_path_lineto:n { .5cm , -.5cm - \l_rpgicons_icon_linewidth_dim / 2 }
+ \draw_path_close:
+ \draw_path_use_clear:n { clip }
+ } {
+ \draw_path_rectangle_corners:nn
+ { -.5cm , -.5cm - \l_rpgicons_icon_linewidth_dim / 2 }
+ { .5cm , .5cm + \l_rpgicons_icon_linewidth_dim / 2 }
+ \draw_path_replace_bb:
+ \bool_set_false:N \l_draw_bb_update_bool
+ }
+ \draw_scope_begin:
+ \clist_if_in:neT { ability , saving , spellschool , damage } { \l_rpgicons_icon_frame_tl } {
+ \use:c { rpgicons_draw_frame_ \l_rpgicons_icon_frame_tl : }
+ \IfBooleanTF {#1} {
+ \draw_path_use_clear:n { fill }
+ \color_select:V { \l_rpgicons_icon_color_background_tl }
+ \bool_if:NT \l__rpgicons_use_opacity_bool {
+ \opacity_select:n { \l_rpgicons_icon_opacity_background_fp }
+ }
+ } {
+ \draw_path_use_clear:n { stroke }
+ }
+ \draw_transform_scale:n { \l_rpgicons_icon_transform_scale_inner_fp }
+ }
+ \clist_if_in:neTF { sixside ~ one , sixside ~ two , sixside ~ three , sixside ~ four ,
+ sixside ~ five , sixside ~ six , sixside ~ seven , sixside ~ eight , sixside ~ nine } {#4} {
+ \seq_set_split:Nee \l__rpgicons_icon_shape_name_parts_seq
+ { \c_underscore_str } { \l__rpgicons_icon_shape_name_str }
+ \exp_args:Ne \rpgicons_draw_shape_sixside_pips:n {
+ \seq_item:Nn \l__rpgicons_icon_shape_name_parts_seq { 2 }
+ }
+ } {
+ \use:c { rpgicons_draw_shape_ \l__rpgicons_icon_shape_name_str : }
+ }
+ \draw_path_use_clear:n { stroke }
+ \IfValueT {#3} {
+ \draw_scope_begin:
+ \color_select:V { \l_rpgicons_icon_color_text_tl }
+ \bool_if:NT \l__rpgicons_use_opacity_bool {
+ \opacity_select:n { \l_rpgicons_icon_opacity_text_fp }
+ }
+ \hcoffin_set:Ne \l__rpgicons_icon_label_coffin {#3}
+ \draw_coffin_use:Nnn \l__rpgicons_icon_label_coffin { hc } { vc }
+ \draw_scope_end:
+ }
+ \draw_scope_end:
+ \draw_end:
+ \bool_if:NT \l_rpgicons_icon_accessible_full_bool {
+ \pdf_emc:
+ }
+}
+
+\str_new:N \l__rpgicons_icon_integer_str
+\cs_generate_variant:Nn \str_if_eq:nnTF { ne }
+\NewDocumentCommand { \RPGIconsDie } { O{normal} m O{} m } {
+ \group_begin:
+ \keys_set_groups:nne { rpgicons / local ~ options } { extra } {#3}
+ \keys_set:ne { rpgicons / local ~ options } { \clist_use:Nn \l_rpgicons_types_every_die_style_clist { , } }
+ \str_set:Ne \l__rpgicons_icon_integer_str {#4}
+ \hspace { \l_rpgicons_icon_before_sep_dim }
+ \str_if_eq:neTF { large } {#1} {
+ \RPGIconsUseIcon[scale=.675, #3][#4]{#2}
+ } {
+ \str_if_empty:NF \l__rpgicons_icon_integer_str { \str_use:N \l__rpgicons_icon_integer_str \, }
+ \RPGIconsUseIcon[scale=.333, #3]{#2}
+ }
+ \hspace { \l_rpgicons_icon_after_sep_dim }
+ \group_end:
+}
+\cs_if_exist:NF \die { \cs_new_eq:NN \die \RPGIconsDie }
+
+\NewDocumentCommand { \RPGIconsAbility } { O{positive} m O{} } {
+ \group_begin:
+ \keys_set_groups:nne { rpgicons / local ~ options } { extra } {#3}
+ \keys_set:ne { rpgicons / local ~ options } { \clist_use:Nn \l_rpgicons_types_every_ability_style_clist { , } }
+ \hspace { \l_rpgicons_icon_before_sep_dim }
+ \str_if_eq:neTF { negative } {#1} {
+ \RPGIconsUseIcon*[frame=ability, scale=.333, #3]{#2}
+ } {
+ \RPGIconsUseIcon[scale=.333, #3]{#2}
+ }
+ \hspace { \l_rpgicons_icon_after_sep_dim }
+ \group_end:
+}
+\cs_if_exist:NF \ability { \cs_new_eq:NN \ability \RPGIconsAbility }
+
+\NewDocumentCommand { \RPGIconsSaving } { O{} m O{} } {
+ \group_begin:
+ \keys_set_groups:nne { rpgicons / local ~ options } { extra } {#3}
+ \keys_set:ne { rpgicons / local ~ options } { \clist_use:Nn \l_rpgicons_types_every_saving_style_clist { , } }
+ \hspace { \l_rpgicons_icon_before_sep_dim }
+ \str_if_eq:neTF { empty } {#1} {
+ \RPGIconsUseIcon[frame=saving, scale=.333, #3]{}
+ } {
+ \RPGIconsUseIcon[frame=saving, scale=.333, #3]{#2}
+ }
+ \hspace { \l_rpgicons_icon_after_sep_dim }
+ \group_end:
+}
+\cs_if_exist:NF \saving { \cs_new_eq:NN \saving \RPGIconsSaving }
+
+\NewDocumentCommand { \RPGIconsSpell } { m O{} } {
+ \group_begin:
+ \keys_set_groups:nne { rpgicons / local ~ options } { extra } {#2}
+ \keys_set:ne { rpgicons / local ~ options } { \clist_use:Nn \l_rpgicons_types_every_spell_style_clist { , } }
+ \hspace { \l_rpgicons_icon_before_sep_dim }
+ \RPGIconsUseIcon[scale=.333, #2]{#1}
+ \hspace { \l_rpgicons_icon_after_sep_dim }
+ \group_end:
+}
+\cs_if_exist:NF \spell { \cs_new_eq:NN \spell \RPGIconsSpell }
+
+\NewDocumentCommand { \RPGIconsSpellschool } { O{positive} m O{} } {
+ \group_begin:
+ \keys_set_groups:nne { rpgicons / local ~ options } { extra } {#3}
+ \keys_set:ne { rpgicons / local ~ options } { \clist_use:Nn \l_rpgicons_types_every_spellschool_style_clist { , } }
+ \hspace { \l_rpgicons_icon_before_sep_dim }
+ \str_if_eq:neTF { negative } {#1} {
+ \RPGIconsUseIcon*[frame=spellschool, scale=.333, #3]{#2}
+ } {
+ \RPGIconsUseIcon[frame=spellschool, scale=.333, #3]{#2}
+ }
+ \hspace { \l_rpgicons_icon_after_sep_dim }
+ \group_end:
+}
+\cs_if_exist:NF \spellschool { \cs_new_eq:NN \spellschool \RPGIconsSpellschool }
+
+\NewDocumentCommand { \RPGIconsDamage } { m O{} } {
+ \group_begin:
+ \keys_set_groups:nne { rpgicons / local ~ options } { extra } {#2}
+ \keys_set:ne { rpgicons / local ~ options } { \clist_use:Nn \l_rpgicons_types_every_damage_style_clist { , } }
+ \hspace { \l_rpgicons_icon_before_sep_dim }
+ \RPGIconsUseIcon[frame=damage, scale=.333, #2]{#1}
+ \hspace { \l_rpgicons_icon_after_sep_dim }
+ \group_end:
+}
+\cs_if_exist:NF \damage { \cs_new_eq:NN \damage \RPGIconsDamage }
+
+\NewDocumentCommand { \RPGIconsAttack } { m O{} } {
+ \group_begin:
+ \keys_set_groups:nne { rpgicons / local ~ options } { extra } {#2}
+ \keys_set:ne { rpgicons / local ~ options } { \clist_use:Nn \l_rpgicons_types_every_attack_style_clist { , } }
+ \hspace { \l_rpgicons_icon_before_sep_dim }
+ \RPGIconsUseIcon[scale=.333, #2]{#1}
+ \hspace { \l_rpgicons_icon_after_sep_dim }
+ \group_end:
+}
+\cs_if_exist:NF \attack { \cs_new_eq:NN \attack \RPGIconsAttack }
+
+\NewDocumentCommand { \RPGIconsCondition } { m O{} } {
+ \group_begin:
+ \keys_set_groups:nne { rpgicons / local ~ options } { extra } {#2}
+ \keys_set:ne { rpgicons / local ~ options } { \clist_use:Nn \l_rpgicons_types_every_condition_style_clist { , } }
+ \hspace { \l_rpgicons_icon_before_sep_dim }
+ \RPGIconsUseIcon[scale=.333, #2]{#1}
+ \hspace { \l_rpgicons_icon_after_sep_dim }
+ \group_end:
+}
+\cs_if_exist:NF \condition { \cs_new_eq:NN \condition \RPGIconsCondition }
+
+% ROLL SYNTAX
+
+\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} { } ] }
+}
+
+\keys_define:nn { rpgicons / local ~ options } {
+ roll ~ syntax .code:n = { \rpgicons_roll_syntax_die_set:n {#1} } ,
+ roll ~ syntax .initial:n = { d , D } ,
+}
+
+\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 }
+ }
+}
+
+\NewDocumentCommand{\RPGIconsRoll}{ m }{
+ \rpgicons_roll_syntax_parse:n {#1}
+}
+\cs_if_exist:NF \roll { \cs_new_eq:NN \roll \RPGIconsRoll }
+
+% EOF \ No newline at end of file
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
diff --git a/Master/texmf-dist/tex/latex/rpgicons/rpgicons.sty b/Master/texmf-dist/tex/latex/rpgicons/rpgicons.sty
new file mode 100644
index 00000000000..f80d5955c18
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/rpgicons/rpgicons.sty
@@ -0,0 +1,33 @@
+% File: rpgicons.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'.
+%
+\ProvidesExplPackage {rpgicons} {2024-04-28} {1.8.2}
+ {rpg Icons Package}
+
+\bool_new:N \l__rpgicons_use_legacy_variant_bool
+\clist_new:N \l__rpgicons_forwarded_options_clist
+\keys_define:nn { rpgicons / select ~ variant } {
+ l3 .bool_set:N = \l__rpgicons_use_legacy_variant_bool ,
+ l3 .default:n = { false } ,
+ pgf .bool_set:N = \l__rpgicons_use_legacy_variant_bool ,
+ pgf .default:n = { true } ,
+ unknown .code:n = { \clist_put_right:Nn \l__rpgicons_forwarded_options_clist {#1} }
+}
+\ProcessKeyOptions [ rpgicons / select ~ variant ]
+
+\bool_if:NTF \l__rpgicons_use_legacy_variant_bool {
+ \RequirePackage [ \l__rpgicons_forwarded_options_clist ] { rpgicons-pgf }
+} {
+ \RequirePackage [ \l__rpgicons_forwarded_options_clist ] { rpgicons-l3 }
+}
+
+% EOF \ No newline at end of file