% File: rpgicons-l3.sty % Copyright 2024-2026 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} {2026-02-25} {2.6.0} {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 } \msg_new:nnn { rpgicons } { old-kernel } { LaTeX ~ kernel ~ too ~ old. \iow_newline: The ~ rpgicons ~ package ~ does ~ not ~ support ~ this ~ LaTeX ~ version. \iow_newline: Please ~ update ~ to ~ a ~ newer ~ version. } \msg_new:nnn { rpgicons } { option-deprecated } { The ~ option ~ `#1` ~ has ~ been ~ deprecated ~ and ~ will ~ be ~ ignored. } \msg_new:nnn { rpgicons } { documentmetadata-missing } { In ~ order ~ to ~ use ~ opacity, ~ \token_to_str:N \DocumentMetadata \c_space_tl must ~ be ~ set. } \msg_new:nnn { rpgicons } { shape-undefined } { The ~ shape ~ `#1` ~ is ~ undefined. } \msg_new:nnn { rpgicons } { frame-undefined } { The ~ frame ~ `#1` ~ is ~ undefined. } \msg_new:nnn { rpgicons } { style-undefined } { The ~ style ~ `#1` ~ is ~ undefined. } \msg_new:nnn { rpgicons } { argument-count-wrong } { The ~ key ~ `#1` ~ expects ~ exactly ~ #2 ~ arguments. } \msg_new:nnn { rpgicons } { shell-escape-disabled } { Please ~ run ~ LaTeX ~ with ~ enabled ~ shell ~ escape. } \msg_new:nnn { rpgicons } { backend-unsupported } { Backend ~ `#1` ~ does ~ not ~ support ~ including ~ PDF. } \msg_new:nnn { rpgicons } { generating-external~file } { Generating ~ external ~ PDF ~ file ~ `#1`. } \msg_new:nnn { rpgicons } { loading-external~file } { Loading ~ external ~ PDF ~ file ~ `#1`. } \msg_new:nnn { rpgicons } { precomposed-missing } { The ~ icon ~ `#1' ~ has ~ not ~ been ~ precomposed. } \msg_if_exist:nnF { rpgicons } { tagging-unsupported } { \msg_new:nnn { rpgicons } { tagging-unsupported } { This ~ LaTeX ~ version ~ does ~ not ~ support ~ tagging. } } \keys_define:nn { rpgicons / global } { compat .code:n = { \msg_warning:nnn { rpgicons } { option-deprecated } { compat } } , opacity .code:n = { \msg_warning:nnn { rpgicons } { option-deprecated } { opacity } } } \ProcessKeyOptions [ rpgicons / global ] \RequirePackage { l3draw } \cs_if_exist:NF \IfExplAtLeastTF { \msg_critical:nn { rpgicons } { old-kernel } } \IfExplAtLeastTF { 2025-04-14 } { } { \RequirePackage { l3opacity } } % backward compatibility \cs_if_exist:NF \draw_set_linewidth:n { \cs_set_eq:NN \draw_set_linewidth:n \draw_linewidth:n } \cs_if_exist:NF \draw_set_baseline:n { \cs_set_eq:NN \draw_set_baseline:n \draw_baseline:n } \cs_if_exist:NF \draw_set_cap_round: { \cs_set_eq:NN \draw_set_cap_round: \draw_cap_round: } \cs_if_exist:NF \draw_set_join_round: { \cs_set_eq:NN \draw_set_join_round: \draw_join_round: } % === % DICE \cs_new_protected:Npn \rpgicons_draw_shape_twoside: { \draw_path_ellipse:nnn { 0cm , 0cm } { 0cm , .25cm } { .425cm , 0cm } } \cs_new_protected: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_protected:Npn \rpgicons_draw_shape_sixside: { \draw_path_rectangle_corners:nn { -.4cm , -.4cm } { .4cm , .4cm } } \cs_new_protected: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_protected: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_protected:Npn \rpgicons_draw_shape_twelveside: { \draw_path_moveto: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_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_protected: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_protected: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_protected: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_protected: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_protected: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_protected: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_protected: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_protected: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_protected:Npn \rpgicons_draw_shape_dexterity_i: { \draw_path_moveto:n { ( 0cm , -.15cm ) + ( \draw_point_polar:nn { .425cm } { 90 } ) } \draw_path_arc:nnn { 90 } { 80 } { .425cm } \draw_path_moveto:n { ( 0cm , -.15cm ) + ( \draw_point_polar:nn { .425cm } { 90 } ) } \draw_path_arc:nnn { 90 } { 100 } { .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 } } % === backward compatibility \cs_set_eq:NN \rpgicons_draw_shape_dexterity_alt: \rpgicons_draw_shape_dexterity_i: % === \cs_new_protected: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_protected: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_protected:Npn \rpgicons_draw_shape_wisdom: { \draw_path_moveto:n { ( 0cm , .175cm + .425cm + .425cm ) + ( \draw_point_polar:nn { .425cm + .425cm } { 240 } ) } \draw_path_arc:nnn { 240 } { 270 } { .425cm } \draw_path_arc:nnn { 90 } { 60 } { .425cm } \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_protected:Npn \rpgicons_draw_shape_wisdom_i: { \draw_path_moveto:n { ( 0cm , -.125cm ) + ( \draw_point_polar:nn { .55cm } { 110 } ) } \draw_path_arc:nnn { 110 } { 70 } { .55cm } \draw_path_moveto:n { -.425cm , .125cm } \draw_path_arc:nnnn { 180 } { 270 } { .1cm } { .175cm } \draw_path_arc:nnnn { 330 } { 420 } { .1cm } { .2cm } \draw_path_moveto:n { .425cm , .125cm } \draw_path_arc:nnnn { 360 } { 270 } { .1cm } { .175cm } \draw_path_arc:nnnn { 210 } { 120 } { .1cm } { .2cm } \draw_path_moveto:n { -.3cm , .3cm } \draw_path_arc:nnnn { 110 } { 30 } { .1cm } { .25cm } \draw_path_moveto:n { .3cm , .3cm } \draw_path_arc:nnnn { 70 } { 150 } { .1cm } { .25cm } \draw_path_moveto:n { -.075cm , .05cm } \draw_path_lineto:n { -.1cm , -.05cm } \draw_path_moveto:n { .075cm , .05cm } \draw_path_lineto:n { .1cm , -.05cm } \draw_path_moveto:n { ( 2 * sind(30) * -.3cm , -.3cm ) + ( \draw_point_polar:nnn { .1cm } { .175cm } { 120 } ) } \draw_path_arc:nnnn { 180 } { 240 } { .1cm } { .175cm } \draw_path_arc:nnnn { 120 } { 60 } { .3cm } { .5cm } \draw_path_arc:nnnn { 120 } { 60 } { .3cm } { .5cm } \draw_path_arc:nnnn { 300 } { 360 } { .1cm } { .175cm } \draw_path_moveto:n { ( 0cm , .125cm ) + ( \draw_point_polar:nn { .55cm } { 245 } ) } \draw_path_arc:nnn { 245 } { 295 } { .55cm } } % === backward compatibility \cs_set_eq:NN \rpgicons_draw_shape_wisdom_alt: \rpgicons_draw_shape_wisdom_i: % === \cs_new_protected: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_lineto:n { ( .25cm - .45cm , -.05cm ) + ( \draw_point_polar:nn { .45cm } { -40 } ) } \draw_path_arc:nnn { 180 } { 140 } { .45cm } \draw_path_lineto:n { .2cm + .175cm - .15cm , .125cm + .1cm - .2cm } \draw_path_arc:nnnn { -90 } { 0 } { .15cm } { .2cm } \draw_path_arc:nnnn { 90 } { 180 } { .175cm } { .1cm } \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_protected: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_protected: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_protected: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_protected: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_protected:Npn \rpgicons_draw_shape_armour: { \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_set_eq:NN \rpgicons_draw_shape_armor: \rpgicons_draw_shape_armour: \cs_new_protected: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_protected: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_protected: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_protected:Npn \rpgicons_draw_shape_quadratic: { \draw_path_circle:nn { 0cm , 0cm } { 2pt } \draw_path_use_clear:n { fill } \draw_path_rectangle_corners:nn { -.4cm , -.4cm } { .4cm , .4cm } } \cs_new_protected: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_protected: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_protected: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_protected:Npn \rpgicons_draw_shape_emanation: { \draw_path_circle:nn { 0cm , .1cm } { .075cm } \draw_path_moveto:n { -.15cm , -.15cm } \draw_path_arc:nnn { 180 } { 90 } { .075cm } \draw_path_lineto:n { .075cm , -.075cm } \draw_path_arc:nnn { 90 } { 0 } { .075cm } \draw_path_circle:nn { 0cm , 0cm } { .425cm } } \cs_new_protected: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_protected: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_protected: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_protected:Npn \rpgicons_draw_shape_ritual: { \draw_path_moveto:n { \draw_point_polar:nn { .425cm } { 90 } } \draw_path_arc:nnn { 90 } { -198 } { .425cm } \draw_path_lineto:n { \draw_point_polar:nn { .425cm } { 306 } } \draw_path_lineto:n { \draw_point_polar:nn { .425cm } { 90 } } \draw_path_close: \draw_path_moveto:n { ( \draw_point_polar:nn { .425cm } { 90 } ) + ( \draw_point_polar:nn { -.225cm } { 72 } ) } \draw_path_lineto:n { \draw_point_polar:nn { .425cm } { 234 } } \draw_path_lineto:n { \draw_point_polar:nn { .425cm } { 378 } } \draw_path_lineto:n { ( \draw_point_polar:nn { .425cm } { 162 } ) + ( \draw_point_polar:nn { -.225cm } { 180 } ) } } \cs_new_protected: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_protected: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_protected: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_protected: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_protected: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_protected: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 { .325cm } { .225cm } { 30 } } \draw_path_lineto:n { \draw_point_polar:nn { .4cm } { 30 } } \draw_path_moveto:n { \draw_point_polar:nnn { .325cm } { .225cm } { 60 } } \draw_path_lineto:n { \draw_point_polar:nn { .4cm } { 60 } } \draw_path_moveto:n { \draw_point_polar:nnn { .325cm } { .225cm } { 120 } } \draw_path_lineto:n { \draw_point_polar:nn { .4cm } { 120 } } \draw_path_moveto:n { \draw_point_polar:nnn { .325cm } { .225cm } { 150 } } \draw_path_lineto:n { \draw_point_polar:nn { .4cm } { 150 } } \draw_path_moveto:n { \draw_point_polar:nnn { .325cm } { .225cm } { 210 } } \draw_path_lineto:n { \draw_point_polar:nn { .4cm } { 210 } } \draw_path_moveto:n { \draw_point_polar:nnn { .325cm } { .225cm } { 240 } } \draw_path_lineto:n { \draw_point_polar:nn { .4cm } { 240 } } \draw_path_moveto:n { \draw_point_polar:nnn { .325cm } { .225cm } { 300 } } \draw_path_lineto:n { \draw_point_polar:nn { .4cm } { 300 } } \draw_path_moveto:n { \draw_point_polar:nnn { .325cm } { .225cm } { 330 } } \draw_path_lineto:n { \draw_point_polar:nn { .4cm } { 330 } } } \cs_new_protected: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_circle:nn { 0cm , .075cm } { .15cm } } \cs_new_protected: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_protected: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_protected: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_protected: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 { .175cm , .25cm } \draw_path_lineto:n { .2cm , .275cm } \draw_path_arc:nnn { 315 } { 135 } { sqrt(2) * -.0375cm } \draw_path_lineto:n { .25cm , .175cm } } \cs_new_protected: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_protected:Npn \rpgicons_draw_shape_fire: { \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_curveto:nnn { .15cm , .375cm } { .375cm , .15cm } { ( .15cm , -.425cm ) + ( \draw_point_polar:nnn { .45cm } { .375cm } { 60 } ) } \draw_path_arc:nnnn { 0 } { -60 } { .45cm } { .375cm } \draw_path_moveto:n { -.075cm , -.3cm } \draw_path_arc:nnnn { 220 } { 150 } { .35cm } { .2cm } \draw_path_arc:nnnn { 225 } { 360 } { .1cm } { .25cm } \draw_path_curveto:nnn { .2cm , -.05cm } { .2cm , -.2cm } { .075cm , -.3cm } } \cs_new_protected: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_protected: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_protected: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_protected:Npn \rpgicons_draw_shape_necrotic_i: { \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 { -.1cm , -.075cm } \draw_path_lineto:n { .1cm , -.075cm } \draw_path_moveto:n { -.15cm , .125cm } \draw_path_lineto:n { .15cm , .125cm } } % === backward compatibility \cs_set_eq:NN \rpgicons_draw_shape_necrotic_alt: \rpgicons_draw_shape_necrotic_i: % === \cs_new_protected: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_protected: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_protected: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_protected: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_protected:Npn \rpgicons_draw_shape_slashing: { \draw_path_moveto:n { -.15cm , .225cm } \draw_path_lineto:n { -.275cm , .35cm } \draw_path_arc:nnn { 0 } { 270 } { .075cm } \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_protected: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_protected:Npn \rpgicons_draw_shape_healing: { \draw_path_moveto:n { 0cm , .-.375cm } \draw_path_lineto:n { ( .2cm , .125cm ) + ( \draw_point_polar:nn { .2cm } { -45 } ) } \draw_path_arc:nnn { -45 } { 180 } { .2cm } \draw_path_arc:nnn { 0 } { 225 } { .2cm } \draw_path_close: } % ATTACKS \cs_new_protected: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 { -.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_protected:Npn \rpgicons_draw_shape_melee_i: { \draw_path_moveto:n { .15cm , .2cm } \draw_path_lineto:n { .275cm , .325cm } \draw_path_arc:nnn { 180 } { -90 } { .075cm } \draw_path_lineto:n { .225cm , .125cm } \draw_path_lineto:n { .325cm , .025cm } \draw_path_lineto:n { .25cm , -.05cm } \draw_path_lineto:n { -.025cm , .225cm } \draw_path_lineto:n { .05cm , .3cm } \draw_path_close: \draw_path_moveto:n { .175cm , .025cm } \draw_path_lineto:n { -.175cm , -.325cm } \draw_path_arc:nnn { 315 } { 225 } { .175cm } \draw_path_lineto:n { .05cm , .15cm } } % === backward compatibility \cs_set_eq:NN \rpgicons_draw_shape_melee_alt: \rpgicons_draw_shape_melee_i: % === \cs_new_protected: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_protected: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_protected: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_protected: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_protected: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_protected: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_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_protected: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 , 0cm } \draw_path_lineto:n { ( -.175cm + .0625cm , .15cm ) + ( \draw_point_polar:nn { .0635cm } { -45 } ) } \draw_path_arc:nnn { -45 } { 180 } { .0625cm } \draw_path_arc:nnn { 0 } { 225 } { .0625cm } \draw_path_close: \draw_path_moveto:n { .175cm , 0cm } \draw_path_lineto:n { ( .175cm + .0625cm , .15cm ) + ( \draw_point_polar:nn { .0635cm } { -45 } ) } \draw_path_arc:nnn { -45 } { 180 } { .0625cm } \draw_path_arc:nnn { 0 } { 225 } { .0625cm } \draw_path_close: } \cs_new_protected: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_protected: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_protected: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_protected: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_protected: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_protected: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_protected: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_protected: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_protected: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_protected: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_protected: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_protected:Npn \rpgicons_draw_shape_restrained_i: { \draw_path_moveto:n { .35cm , -.425cm } \draw_path_lineto:n { .35cm , .1cm } \draw_path_lineto:n { -.35cm , .1cm } \draw_path_lineto:n { -.35cm , -.425cm } \draw_path_close: \draw_path_moveto:n { .075cm , -.325cm } \draw_path_lineto:n { ( 0cm , -.1cm ) + ( \draw_point_polar:nn { .075cm } { -60 } ) } \draw_path_arc:nnn { -60 } { 240 } { .075cm } \draw_path_lineto:n { -.075cm , -.325cm } \draw_path_close: \draw_path_moveto:n { .225cm , .1cm } \draw_path_lineto:n { .225cm , .2cm } \draw_path_arc:nnn { 0 } { 180 } { .225cm } \draw_path_lineto:n { -.225cm , .1cm } \draw_path_moveto:n { .125cm , .1cm } \draw_path_lineto:n { .125cm , .2cm } \draw_path_arc:nnn { 0 } { 180 } { .125cm } \draw_path_lineto:n { -.125cm , .1cm } } % === backward compatibility \cs_set_eq:NN \rpgicons_draw_shape_restrained_alt: \rpgicons_draw_shape_restrained_i: % === \cs_new_protected: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_protected: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_protected: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_protected: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_circle:nn { 0cm , 0cm } { .15cm } } % CLASS \cs_new_protected:Npn \rpgicons_draw_shape_artificer: { \draw_path_moveto:n { -.05cm , .3cm } \draw_path_lineto:n { -.1cm , .425cm } \draw_path_lineto:n { .1cm , .425cm } \draw_path_lineto:n { .05cm , .3cm } \draw_path_moveto:n { -.15cm , .3cm } \draw_path_lineto:n { .15cm , .3cm } \draw_path_moveto:n { -.1cm , .3cm } \draw_path_lineto:n { -.1cm , .15cm } \draw_path_corner_arc:nn { .05cm } { .05cm } \draw_path_lineto:n { -.425cm , -.425cm } \draw_path_lineto:n { .425cm , -.425cm } \draw_path_corner_arc:nn { 0cm } { 0cm } \draw_path_lineto:n { .1cm , .15cm } \draw_path_lineto:n { .1cm , .3cm } \draw_path_moveto:n { -.125cm , -.1cm } \draw_path_lineto:n { .125cm , -.1cm } \draw_path_lineto:n { .1cm , -.25cm } \draw_path_lineto:n { -.1cm , -.25cm } \draw_path_close: } \cs_new_protected:Npn \rpgicons_draw_shape_artificer_i: { \draw_path_moveto:n { ( -.075cm , .15cm ) + ( \draw_point_polar:nn { .275cm } { 350 } ) } \draw_path_arc:nnn { 350 } { acosd( .275cm / .5cm ) } { .275cm } \draw_path_lineto:n { .425cm , .15cm } \draw_path_lineto:n { .375cm , .05cm } \draw_path_close: \draw_path_moveto:n { -.075cm , -.125cm } \draw_path_lineto:n { -.075cm , -.425cm } \draw_path_moveto:n { .275cm , -.425cm } \draw_path_lineto:n { ( -.075cm , .15cm ) + ( \draw_point_polar:nn { .275cm } { 330 } ) } \draw_path_lineto:n { ( -.075cm , .15cm ) + ( \draw_point_polar:nn { .275cm } { 210 } ) } \draw_path_lineto:n { -.425cm , -.425cm } } % === backward compatibility \cs_set_eq:NN \rpgicons_draw_shape_artificer_alt: \rpgicons_draw_shape_artificer_i: % === \cs_new_protected:Npn \rpgicons_draw_shape_barbarian: { \draw_path_moveto:n { .05cm , -.375cm } \draw_path_arc:nnn { 360 } { 180 } { .05cm } \draw_path_lineto:n { -.05cm , .375cm } \draw_path_arc:nnn { 180 } { 0 } { .05cm } \draw_path_close: \draw_path_moveto:n { -.05cm , .25cm } \draw_path_lineto:n { .05cm , .15cm } \draw_path_moveto:n { -.05cm , .1cm } \draw_path_lineto:n { .05cm , 0cm } \draw_path_moveto:n { .05cm , .2cm } \draw_path_arc:nnn { 270 } { 360 } { .15cm } \draw_path_arc:nnn { 90 } { -90 } { .225cm } \draw_path_arc:nnn { 0 } { 90 } { .15cm } \draw_path_moveto:n { -.05cm , .2cm } \draw_path_arc:nnn { 270 } { 180 } { .15cm } \draw_path_arc:nnn { 90 } { 270 } { .225cm } \draw_path_arc:nnn { 180 } { 90 } { .15cm } } \cs_new_protected:Npn \rpgicons_draw_shape_bard: { \draw_path_circle:nn { -.35cm , .35cm } { .075cm } \draw_path_moveto:n { -.275cm , .35cm } \draw_path_arc:nnnn { 0 } { -45 } { sind(45) * .3cm } { sind(45) * .45cm } \draw_path_arc:nnnn { 135 } { 180 } { sind(45) * .3cm } { sind(45) * .45cm } \draw_path_lineto:n { -.4cm , -.2cm } \draw_path_arc:nnnn { 180 } { 360 } { .4cm } { .225cm } \draw_path_lineto:n { .4cm , -.1cm } \draw_path_arc:nnnn { 0 } { 45 } { sind(45) * .3cm } { sind(45) * .45cm } \draw_path_arc:nnnn { 225 } { 180 } { sind(45) * .3cm } { sind(45) * .45cm } \draw_path_circle:nn { .35cm , .35cm } { .075cm } \draw_path_moveto:n { -.275cm , .35cm } \draw_path_lineto:n { -.275cm , -.15cm } \draw_path_arc:nnnn { 180 } { 360 } { .275cm } { .1cm } \draw_path_lineto:n { .275cm , .35cm } \draw_path_moveto:n { -.275cm , .2cm } \draw_path_lineto:n { .275cm , .2cm } \draw_path_moveto:n { -.125cm , .3cm } \draw_path_lineto:n { -.125cm , sqrt( 1 - ( -.125cm / .275cm ) ^ 2 ) * -.1cm - .15cm } \draw_path_moveto:n { 0cm , .3cm } \draw_path_lineto:n { 0cm , -.225cm } \draw_path_moveto:n { .125cm , .3cm } \draw_path_lineto:n { .125cm , sqrt( 1 - ( .125cm / .275cm ) ^ 2 ) * -.1cm - .15cm } } \cs_new_protected:Npn \rpgicons_draw_shape_bard_i: { \draw_path_moveto:n { -.425cm , -.425cm } \draw_path_arc:nnn { 180 } { 90 } { .85cm } \draw_path_arc:nnn { 360 } { 270 } { .45cm } \draw_path_arc:nnn { 240 } { 270 } { .35cm } \draw_path_arc:nnn { 310 } { 280 } { .85cm } } % === backward compatibility \cs_set_eq:NN \rpgicons_draw_shape_bard_alt: \rpgicons_draw_shape_bard_i: % === \cs_new_protected:Npn \rpgicons_draw_shape_cleric: { \draw_path_moveto:n { -.075cm , -.425cm } \draw_path_lineto:n { -.05cm , -.1cm } \draw_path_lineto:n { -.35cm , -.15cm } \draw_path_lineto:n { -.35cm , 0cm } \draw_path_lineto:n { -.1cm , 0cm } \draw_path_arc:nnnn { 240 } { -60 } { .2cm } { .225cm } \draw_path_lineto:n { .35cm , 0cm } \draw_path_lineto:n { .35cm , -.15cm } \draw_path_lineto:n { .05cm , -.1cm } \draw_path_lineto:n { .075cm , -.425cm } \draw_path_close: \draw_path_ellipse:nnn { 0cm , .2cm } { -.075cm , 0cm } { 0cm , -.125cm } } \cs_new_protected:Npn \rpgicons_draw_shape_cleric_i: { \int_step_inline:nnn { -1 } { 1 } { \draw_path_moveto:n { ##1 * .325cm - .05cm , -.05cm } \draw_path_lineto:n { ##1 * .325cm - .05cm , .175cm } \draw_path_lineto:n { ##1 * .325cm + .05cm , .175cm } \draw_path_lineto:n { ##1 * .325cm + .05cm , -.05cm } \draw_path_moveto:n { ##1 * .325cm - .05cm , .3cm } \draw_path_arc:nnn { 180 } { 405 } { .05cm } \draw_path_arc:nnn { 215 } { 180 } { .15cm } \draw_path_moveto:n { ##1 * .325cm - .1cm , -.05cm } \draw_path_lineto:n { ##1 * .325cm + .1cm , -.05cm } \draw_path_arc:nnn { 360 } { 180 } { .1cm } } \draw_path_moveto:n { -.325cm , -.15cm } \draw_path_arc:nnnn { 180 } { 360 } { .15cm } { .1cm } \draw_path_moveto:n { .325cm , -.15cm } \draw_path_arc:nnnn { 360 } { 180 } { .15cm } { .1cm } \draw_path_moveto:n { 0cm , -.15cm } \draw_path_arc:nnn { 0 } { -90 } { .225cm } \draw_path_lineto:n { -.225cm , -.425cm } \draw_path_lineto:n { .225cm , -.425cm } \draw_path_lineto:n { .225cm , -.375cm } \draw_path_arc:nnn { 270 } { 180 } { .225cm } \draw_path_close: } % === backward compatibility \cs_set_eq:NN \rpgicons_draw_shape_cleric_alt: \rpgicons_draw_shape_cleric_i: % === \cs_new_protected:Npn \rpgicons_draw_shape_cleric_ii: { \draw_path_moveto:n { -.15cm , -.325cm } \draw_path_lineto:n { -.15cm , .075cm } \draw_path_lineto:n { 0cm , .075cm } \draw_path_lineto:n { 0cm , -.325cm } \draw_path_moveto:n { -.15cm , .25cm } \draw_path_arc:nnn { 180 } { 405 } { .075cm } \draw_path_arc:nnn { 215 } { 180 } { .225cm } \draw_path_moveto:n { .225cm , -.325cm } \draw_path_lineto:n { -.375cm , -.325cm } \draw_path_arc:nnn { 180 } { 270 } { .1cm } \draw_path_lineto:n { .125cm , -.425cm } \draw_path_arc:nnn { 270 } { 360 } { .1cm } \draw_path_arc:nnn { 180 } { -90 } { .1cm } } \cs_new_protected:Npn \rpgicons_draw_shape_druid: { \draw_path_moveto:n { ( .1cm , -.1cm ) + ( \draw_point_polar:nn { .05cm } { 45 } ) } \draw_path_lineto:n { ( .35cm , -.35cm ) + ( \draw_point_polar:nn { .05cm } { 45 } ) } \draw_path_arc:nnn { 45 } { -135 } { .05cm } \draw_path_lineto:n { ( .1cm , -.1cm ) + ( \draw_point_polar:nn { .05cm } { -135 } ) } \draw_path_moveto:n { ( .125cm , -.075cm ) + ( \draw_point_polar:nn { .05cm } { -135 } ) } \draw_path_arc:nnn { 315 } { 80 } { .3cm } \draw_path_lineto:n { ( -.075cm , .125cm ) + ( \draw_point_polar:nn { .05cm } { 45 } ) + ( \draw_point_polar:nn { .2cm } { 90 } ) } \draw_path_arc:nnn { 90 } { 315 } { .2cm } \draw_path_lineto:n { ( .125cm , -.075cm ) + ( \draw_point_polar:nn { .05cm } { 45 } ) } \draw_path_close: } \cs_new_protected:Npn \rpgicons_draw_shape_druid_i: { \draw_path_moveto:n { -.375cm , 0cm } \draw_path_lineto:n { -.375cm , -.1cm } \draw_path_arc:nnn { 180 } { 270 } { .225cm } \draw_path_lineto:n { -.175cm , -.425cm } \draw_path_lineto:n { .175cm , -.425cm } \draw_path_lineto:n { .15cm , -.325cm } \draw_path_arc:nnn { 270 } { 360 } { .225cm } \draw_path_lineto:n { .375cm , 0cm } \draw_path_moveto:n { .375cm , .1cm } \draw_path_arc:nnn { 90 } { -90 } { .05cm } \draw_path_lineto:n { -.375cm , 0cm } \draw_path_arc:nnn { 270 } { 90 } { .05cm } \draw_path_close: \draw_path_moveto:n { .225cm , .1cm } \draw_path_lineto:n { .425cm , .325cm } \draw_path_lineto:n { .325cm , .425cm } \draw_path_lineto:n { -.025cm , .1cm } } % === backward compatibility \cs_set_eq:NN \rpgicons_draw_shape_druid_alt: \rpgicons_draw_shape_druid_i: % === \cs_new_protected:Npn \rpgicons_draw_shape_druid_ii: { \draw_path_moveto:n { -.425cm , -.425cm } \draw_path_arc:nnnn { 180 } { 120 } { 1cm } { .75cm } \draw_path_moveto:n { .425cm , .425cm } \draw_path_lineto:n { -.075cm , .425cm } \draw_path_arc:nnn { 90 } { 330 } { .5cm * tand(30) } \draw_path_close: } \cs_new_protected:Npn \rpgicons_draw_shape_fighter: { \draw_path_moveto:n { -.05cm , .425cm } \draw_path_lineto:n { .05cm , .425cm } \draw_path_lineto:n { .05cm , .2cm } \draw_path_lineto:n { -.05cm , .2cm } \draw_path_close: \draw_path_moveto:n { .05cm , .375cm } \draw_path_arc:nnn { 90 } { 0 } { .275cm } \draw_path_lineto:n { .325cm , -.25cm } \draw_path_lineto:n { .15cm , -.425cm } \draw_path_lineto:n { .15cm , -.15cm } \draw_path_arc:nnn { 180 } { 145 } { .35cm } \draw_path_lineto:n { .2cm , .1cm } \draw_path_lineto:n { .05cm , .05cm } \draw_path_lineto:n { .025cm , -.2cm } \draw_path_lineto:n { -.025cm , -.2cm } \draw_path_lineto:n { -.05cm , .05cm } \draw_path_lineto:n { -.2cm , .1cm } \draw_path_lineto:n { ( -.5cm , -.15cm ) + ( \draw_point_polar:nn { .35cm } { 35 } ) } \draw_path_arc:nnn { 35 } { 0 } { .35cm } \draw_path_lineto:n { -.15cm , -.425cm } \draw_path_lineto:n { -.325cm , -.25cm } \draw_path_lineto:n { -.325cm , .1cm } \draw_path_arc:nnn { 180 } { 90 } { .275cm } } \cs_new_protected:Npn \rpgicons_draw_shape_gunslinger: { \draw_path_moveto:n { -.125cm , -.125cm } \draw_path_arc:nnn { 90 } { 180 } { .075cm } \draw_path_lineto:n { -.2cm , -.325cm } \draw_path_lineto:n { -.425cm , -.325cm } \draw_path_lineto:n { -.425cm , -.225cm } \draw_path_arc:nnn { 180 } { 90 } { .3cm } \draw_path_lineto:n { -.125cm , .075cm } \draw_path_moveto:n { -.125cm , .225cm } \draw_path_lineto:n { .125cm , .225cm } \draw_path_lineto:n { .125cm , -.025cm } \draw_path_arc:nnn { 360 } { 270 } { .125cm } \draw_path_lineto:n { -.125cm , -.15cm } \draw_path_close: \draw_path_moveto:n { -.125cm , .175cm } \draw_path_lineto:n { -.175cm , .175cm } \draw_path_arc:nnn { 270 } { 180 } { .075cm } \draw_path_moveto:n { .125cm , .175cm } \draw_path_lineto:n { .425cm , .175cm } \draw_path_lineto:n { .425cm , .05cm } \draw_path_lineto:n { .125cm , .05cm } \draw_path_moveto:n { .425cm , .175cm } \draw_path_lineto:n { .425cm , .25cm } } \cs_new_protected:Npn \rpgicons_draw_shape_monk: { \draw_path_moveto:n { -.425cm , -.15cm } \draw_path_lineto:n { -.425cm , .125cm } \draw_path_lineto:n { -.125cm , .425cm } \draw_path_arc:nnn { 45 } { -45 } { .1cm } \draw_path_lineto:n { -.275cm , .1cm } \draw_path_lineto:n { -.275cm , -.05cm } \draw_path_arc:nnn { 180 } { 360 } { .05cm } \draw_path_lineto:n { -.175cm , 0cm } \draw_path_arc:nnn { 180 } { 90 } { .1cm } \draw_path_lineto:n { -.075cm , -.1cm } \draw_path_arc:nnn { 0 } { -45 } { .125cm } \draw_path_lineto:n { -.35cm , -.425cm } \draw_path_moveto:n { .425cm , -.15cm } \draw_path_lineto:n { .425cm , .125cm } \draw_path_lineto:n { .125cm , .425cm } \draw_path_arc:nnn { 135 } { 215 } { .1cm } \draw_path_lineto:n { .275cm , .1cm } \draw_path_lineto:n { .275cm , -.05cm } \draw_path_arc:nnn { 360 } { 180 } { .05cm } \draw_path_lineto:n { .175cm , 0cm } \draw_path_arc:nnn { 0 } { 90 } { .1cm } \draw_path_lineto:n { .075cm , -.1cm } \draw_path_arc:nnn { 180 } { 215 } { .125cm } \draw_path_lineto:n { .35cm , -.425cm } } \cs_new_protected:Npn \rpgicons_draw_shape_monk_i: { \draw_path_circle:nn { 0cm , 0cm } { .35cm } \draw_transform_rotate:n { 45 } \draw_path_moveto:n { \draw_point_polar:nn { .35cm } { 180 - acosd( sqrt( .330625 * ( .0225 / .1225 - 1 ) / ( .0225 - .330625 ) ) ) } } \draw_path_arc:nnnn { 180 - acosd( sqrt( .330625 * ( .0225 / .1225 - 1 ) / ( .0225 - .330625 ) ) * .35cm / .575cm ) } { 360 + acosd( sqrt( .330625 * ( .0225 / .1225 - 1 ) / ( .0225 - .330625 ) ) * .35cm / .575cm ) } { .575cm } { .15cm } } % === backward compatibility \cs_set_eq:NN \rpgicons_draw_shape_monk_alt: \rpgicons_draw_shape_monk_i: % === \cs_new_protected:Npn \rpgicons_draw_shape_paladin: { \draw_path_circle:nn { 0cm , -.15cm } { .275cm } \draw_path_moveto:n { ( 0cm , -.15cm ) + ( \draw_point_polar:nn { .275cm } { 60 } ) } \draw_path_lineto:n { .05cm , 0cm } \draw_path_lineto:n { .05cm , -.1cm } \draw_path_lineto:n { .15cm , -.1cm } \draw_path_lineto:n { ( 0cm , -.15cm ) + ( \draw_point_polar:nn { .275cm } { 30 } ) } \draw_path_moveto:n { ( 0cm , -.15cm ) + ( \draw_point_polar:nn { .275cm } { -30 } ) } \draw_path_lineto:n { .15cm , -.2cm } \draw_path_lineto:n { .05cm , -.2cm } \draw_path_lineto:n { .05cm , -.3cm } \draw_path_lineto:n { ( 0cm , -.15cm ) + ( \draw_point_polar:nn { .275cm } { -60 } ) } \draw_path_moveto:n { ( 0cm , -.15cm ) + ( \draw_point_polar:nn { .275cm } { 120 } ) } \draw_path_lineto:n { -.05cm , 0cm } \draw_path_lineto:n { -.05cm , -.1cm } \draw_path_lineto:n { -.15cm , -.1cm } \draw_path_lineto:n { ( 0cm , -.15cm ) + ( \draw_point_polar:nn { .275cm } { 150 } ) } \draw_path_moveto:n { ( 0cm , -.15cm ) + ( \draw_point_polar:nn { .275cm } { 210 } ) } \draw_path_lineto:n { -.15cm , -.2cm } \draw_path_lineto:n { -.05cm , -.2cm } \draw_path_lineto:n { -.05cm , -.3cm } \draw_path_lineto:n { ( 0cm , -.15cm ) + ( \draw_point_polar:nn { .275cm } { 240 } ) } \draw_path_circle:nn { 0cm , .2cm } { .075cm } \draw_path_moveto:n { \draw_point_intersect_circles:nnnnn { 0cm , .2cm } { .075cm } { 0cm , .7cm } { .5cm } { 1 } } \draw_path_arc:nnn { 280 } { 325 } { .5cm } \draw_path_moveto:n { \draw_point_intersect_circles:nnnnn { 0cm , .2cm } { .075cm } { 0cm , .7cm } { .5cm } { 2 } } \draw_path_arc:nnn { 260 } { 215 } { .5cm } } \cs_new_protected:Npn \rpgicons_draw_shape_paladin_i: { \draw_path_moveto:n { -.25cm , .425cm } \draw_path_lineto:n { -.25cm , .2cm } \draw_path_arc:nnn { 180 } { 360 } { .25cm } \draw_path_lineto:n { .25cm , .425cm } \draw_path_close: \draw_path_moveto:n { -.25cm , .325cm } \draw_path_lineto:n { .25cm , .325cm } \draw_path_moveto:n { -.05cm , -.05cm } \draw_path_lineto:n { -.05cm , -.325cm } \draw_path_moveto:n { .05cm , -.05cm } \draw_path_lineto:n { .05cm , -.325cm } \draw_path_moveto:n { -.2cm , -.425cm } \draw_path_arc:nnn { 180 } { 90 } { .1cm } \draw_path_lineto:n { .125cm , -.325cm } \draw_path_arc:nnn { 90 } { 0 } { .1cm } \draw_path_close: } % === backward compatibility \cs_set_eq:NN \rpgicons_draw_shape_paladin_alt: \rpgicons_draw_shape_paladin_i: % === \cs_new_protected:Npn \rpgicons_draw_shape_psion: { \draw_path_moveto:n { -.425cm , -.425cm } \draw_path_arc:nnn { 180 } { 90 } { .15cm } \draw_path_lineto:n { .275cm , -.275cm } \draw_path_arc:nnn { 90 } { 0 } { .15cm } \draw_path_close: \draw_path_moveto:n { ( 0cm , .025cm ) + ( \draw_point_polar:nn { .4cm } { 270 - acosd( .3cm / .4cm ) } ) } \draw_path_arc:nnn { 270 - acosd( .3cm / .4cm ) } { acosd( .3cm / .4cm ) - 90 } { .4cm } \draw_path_moveto:n { ( 0cm , .025cm ) + ( \draw_point_polar:nn { .25cm } { 95 } ) } \draw_path_arc:nnn { 95 } { 175 } { .25cm } } \cs_new_protected:Npn \rpgicons_draw_shape_psion_i: { \draw_path_moveto:n { 0cm , .025cm } \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 { -.15cm , -.175cm } \draw_path_arc:nnn { 180 } { 270 } { .15cm } \draw_path_arc:nnn { 270 } { 360 } { .125cm } \draw_path_arc:nnn { 0 } { 90 } { .1cm } \draw_path_arc:nnn { 90 } { 180 } { .075cm } \draw_path_arc:nnn { 180 } { 270 } { .05cm } \draw_path_arc:nnn { 270 } { 360 } { .025cm } \draw_path_moveto:n { 0cm , .175cm } \draw_path_lineto:n { 0cm , .425cm } \draw_path_moveto:n { .275cm , .125cm } \draw_path_lineto:n { .425cm , .325cm } \draw_path_moveto:n { -.275cm , .125cm } \draw_path_lineto:n { -.425cm , .325cm } } % === backward compatibility \cs_set_eq:NN \rpgicons_draw_shape_psion_alt: \rpgicons_draw_shape_psion_i: % === \cs_new_protected:Npn \rpgicons_draw_shape_ranger: { \draw_path_circle:nn { 0cm , 0cm } { .425cm } \draw_path_circle:nn { 0cm , 0cm } { .325cm } \draw_path_moveto:n { \draw_point_polar:nn { .325cm } { 0 } } \draw_path_lineto:n { \draw_point_polar:nn { .225cm } { 0 } } \draw_path_moveto:n { \draw_point_polar:nn { .325cm } { 90 } } \draw_path_lineto:n { \draw_point_polar:nn { .225cm } { 90 } } \draw_path_moveto:n { \draw_point_polar:nn { .325cm } { 180 } } \draw_path_lineto:n { \draw_point_polar:nn { .225cm } { 180 } } \draw_path_moveto:n { \draw_point_polar:nn { .325cm } { 270 } } \draw_path_lineto:n { \draw_point_polar:nn { .225cm } { 270 } } \draw_path_moveto:n { \draw_point_polar:nn { .225cm } { 45 } } \draw_path_lineto:n { \draw_point_polar:nn { .1cm } { 135 } } \draw_path_lineto:n { \draw_point_polar:nn { .225cm } { 225 } } \draw_path_lineto:n { \draw_point_polar:nn { .1cm } { 315 } } \draw_path_close: \draw_path_moveto:n { \draw_point_polar:nn { .1cm } { 135 } } \draw_path_lineto:n { \draw_point_polar:nn { .1cm } { 315 } } } \cs_new_protected:Npn \rpgicons_draw_shape_ranger_i: { \draw_path_moveto:n { -.425cm , .325cm } \draw_path_lineto:n { -.275cm , .425cm } \draw_path_lineto:n { .15cm , .425cm } \draw_path_lineto:n { .2cm , .3cm } \draw_path_lineto:n { .25cm , .425cm } \draw_path_lineto:n { .425cm , .425cm } \draw_path_lineto:n { .425cm , -.425cm } \draw_path_lineto:n { 0cm , -.425cm } \draw_path_lineto:n { -.05cm , -.175cm } \draw_path_lineto:n { -.1cm , -.425cm } \draw_path_lineto:n { -.425cm , -.425cm } \draw_path_close: \draw_path_moveto:n { .2cm , -.2cm } \draw_path_lineto:n { .3cm , -.3cm } \draw_path_moveto:n { .2cm , -.3cm } \draw_path_lineto:n { .3cm , -.2cm } \draw_path_moveto:n { .125cm , -.125cm } \draw_path_arc:nnn { 45 } { 90 } { .325cm } \draw_path_arc:nnn { 270 } { 150 } { .2cm } \draw_path_moveto:n { -.1cm , .15cm } \draw_path_lineto:n { 0cm , .25cm } \draw_path_lineto:n { .1cm , .15cm } \draw_path_moveto:n { .05cm , .1cm } \draw_path_lineto:n { .15cm , .2cm } \draw_path_lineto:n { .25cm , .1cm } } % === backward compatibility \cs_set_eq:NN \rpgicons_draw_shape_ranger_alt: \rpgicons_draw_shape_ranger_i: % === \cs_new_protected:Npn \rpgicons_draw_shape_rogue: { \draw_path_moveto:n { ( .15cm , .15cm ) + ( \draw_point_polar:nn { .05cm } { -45 } ) } \draw_path_arc:nnn { 135 } { 405 } { .125cm } \draw_path_arc:nnn { -45 } { 135 } { .175cm } \draw_path_arc:nnn { 45 } { 315 } { .125cm } \draw_path_moveto:n { ( -.275cm , -.275cm ) + ( \draw_point_polar:nn { .05cm } { 315 } ) } \draw_path_lineto:n { ( -.175cm , -.375cm ) + ( \draw_point_polar:nn { .05cm } { 315 } ) } \draw_path_lineto:n { ( 0cm , -.2cm ) + ( \draw_point_polar:nn { .05cm } { 315 } ) } \draw_path_lineto:n { ( -.1cm , -.1cm ) + ( \draw_point_polar:nn { .05cm } { 315 } ) } \draw_path_moveto:n { ( .2cm , .2cm ) + ( \draw_point_polar:nn { .05cm } { 135 } ) } \draw_path_lineto:n { ( -.325cm , -.325cm ) + ( \draw_point_polar:nn { .05cm } { 135 } ) } \draw_path_arc:nnn { 135 } { 315 } { .05cm } \draw_path_lineto:n { ( .2cm , .2cm ) + ( \draw_point_polar:nn { .05cm } { 315 } ) } } \cs_new_protected:Npn \rpgicons_draw_shape_rogue_i: { \draw_path_moveto:n { .225cm , .425cm } \draw_path_lineto:n { .425cm , .025cm } \draw_path_lineto:n { .325cm , -.025cm } \draw_path_lineto:n { .125cm , .375cm } \draw_path_close: \draw_path_moveto:n { .3cm , .025cm } \draw_path_lineto:n { -.05cm , -.15cm } \draw_path_lineto:n { -.2cm , .15cm } \draw_path_lineto:n { .15cm , .325cm } \draw_path_moveto:n { -.075cm , -.1cm } \draw_path_lineto:n { -.325cm , -.225cm } \draw_path_lineto:n { -.425cm , -.025cm } \draw_path_lineto:n { -.175cm , .1cm } \draw_path_moveto:n { 0cm , -.125cm } \draw_path_lineto:n { 0cm , -.425cm } \draw_path_moveto:n { -.225cm , -.425cm } \draw_path_lineto:n { 0cm , -.25cm } \draw_path_lineto:n { .225cm , -.425cm } } % === backward compatibility \cs_set_eq:NN \rpgicons_draw_shape_rogue_alt: \rpgicons_draw_shape_rogue_i: % === \cs_new_protected:Npn \rpgicons_draw_shape_sorcerer: { \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 { -.125cm , .175cm } \draw_path_arc:nnn { 180 } { 360 } { .125cm } \draw_path_arc:nnn { 0 } { 45 } { .125cm } \draw_path_arc:nnn { 225 } { 180 } { .225cm } } \cs_new_protected:Npn \rpgicons_draw_shape_sorcerer_i: { \draw_path_moveto:n { -.325cm , .4cm } \draw_path_lineto:n { -.375cm , .4cm } \draw_path_arc:nnn { 90 } { 270 } { .05cm } \draw_path_lineto:n { -.325cm , .3cm } \draw_path_moveto:n { .3cm , .4cm } \draw_path_lineto:n { .35cm , .4cm } \draw_path_arc:nnn { 90 } { -90 } { .05cm } \draw_path_lineto:n { .3cm , .3cm } \draw_path_rectangle_corners:nn { -.325cm , .425cm } { .3cm , .275cm } \draw_path_moveto:n { .275cm , .275cm } \draw_path_lineto:n { .275cm , -.325cm } \draw_path_lineto:n { -.1cm , -.325cm } \draw_path_arc:nnn { 360 } { 180 } { .1cm } \draw_path_lineto:n { -.3cm , .275cm } \draw_path_moveto:n { -.2cm , -.425cm } \draw_path_lineto:n { .325cm , -.425cm } \draw_path_arc:nnn { 270 } { 360 } { .1cm } \draw_path_lineto:n { .275cm , -.325cm } \draw_path_moveto:n { -.15cm , .125cm } \draw_path_lineto:n { .125cm , .125cm } \draw_path_moveto:n { -.15cm , 0cm } \draw_path_lineto:n { 0cm , 0cm } \draw_path_moveto:n { -.15cm , -.125cm } \draw_path_lineto:n { .125cm , -.125cm } } % === backward compatibility \cs_set_eq:NN \rpgicons_draw_shape_sorcerer_alt: \rpgicons_draw_shape_sorcerer_i: % === \cs_new_protected:Npn \rpgicons_draw_shape_warlock: { \draw_path_moveto:n { \draw_point_polar:nn { .4cm } { 150 } } \draw_path_arc:nnn { 150 } { 30 } { .4cm } \draw_path_arc:nnn { -30 } { -150 } { .4cm } \draw_path_close: \draw_path_circle:nn { 0cm , .2cm } { .1cm } \draw_path_moveto:n { -.425cm , -.425cm } \draw_path_arc:nnn { 180 } { 150 } { .75cm } \draw_path_moveto:n { .425cm , -.425cm } \draw_path_arc:nnn { 0 } { 30 } { .75cm } \draw_path_circle:nn { 0cm , -.175cm } { .075cm } \draw_path_moveto:n { -.15cm , -.425cm } \draw_path_arc:nnn { 180 } { 90 } { .075cm } \draw_path_lineto:n { .075cm , -.35cm } \draw_path_arc:nnn { 90 } { 0 } { .075cm } } \cs_new_protected:Npn \rpgicons_draw_shape_wizard: { \draw_path_moveto:n { .4cm , -.425cm } \draw_path_lineto:n { -.3cm , -.425cm } \draw_path_arc:nnn { 270 } { 90 } { .1cm } \draw_path_lineto:n { .4cm , -.225cm } \draw_path_lineto:n { .4cm , .425cm } \draw_path_lineto:n { -.3cm , .425cm } \draw_path_arc:nnn { 90 } { 180 } { .1cm } \draw_path_lineto:n { -.4cm , -.325cm } \draw_path_moveto:n { -.25cm , -.325cm } \draw_path_lineto:n { .35cm , -.325cm } \draw_path_moveto:n { -.2cm , .325cm } \draw_path_lineto:n { -.2cm , -.125cm } \draw_path_moveto:n { .2cm , .425cm } \draw_path_lineto:n { .4cm , .225cm } \draw_path_moveto:n { .2cm , -.225cm } \draw_path_lineto:n { .4cm , -.025cm } } \cs_new_protected:Npn \rpgicons_draw_shape_wizard_i: { \draw_path_moveto:n { -.425cm , -.375cm } \draw_path_lineto:n { -.375cm , -.425cm } \draw_path_lineto:n { ( .125cm , .125cm ) + ( \draw_point_polar:nn { .1cm } { - atand( sqrt( .25cm + .3025cm ) , .1cm ) } ) } \draw_path_arc:nnn { - atand( sqrt( .25cm + .3025cm ) , .1cm ) } { 90 + atand( sqrt( .3025cm + .25cm ) , .1cm ) } { .1cm } \draw_path_close: \int_step_inline:nnnn { -65 } { 45 } { 180 } { \draw_path_moveto:n { ( .125cm , .125cm ) + ( \draw_point_polar:nn { .225cm } {##1} ) } \draw_path_lineto:n { ( .125cm , .125cm ) + ( \draw_point_polar:nn { .3cm } {##1} ) } } } % === backward compatibility \cs_set_eq:NN \rpgicons_draw_shape_wizard_alt: \rpgicons_draw_shape_wizard_i: % === % ALIGNMENT \cs_new_protected:Npn \rpgicons_draw_shape_lawful_good: { \draw_path_moveto:n { .4cm , -.1cm } \draw_path_lineto:n { -.4cm , -.1cm } \draw_path_moveto:n { .4cm , .15cm } \draw_path_lineto:n { 0cm , .4cm } \draw_path_lineto:n { -.4cm , .15cm } } \cs_new_protected:Npn \rpgicons_draw_shape_neutral_good: { \draw_path_circle:nn { 0cm , -.1cm } { .2cm } \draw_path_moveto:n { .4cm , .15cm } \draw_path_lineto:n { 0cm , .4cm } \draw_path_lineto:n { -.4cm , .15cm } } \cs_new_protected:Npn \rpgicons_draw_shape_chaotic_good: { \draw_path_moveto:n { 0cm , .4cm } \draw_path_lineto:n { 0cm , -.4cm } \draw_path_moveto:n { .4cm , .15cm } \draw_path_lineto:n { 0cm , .4cm } \draw_path_lineto:n { -.4cm , .15cm } } \cs_new_protected:Npn \rpgicons_draw_shape_lawful_neutral: { \draw_path_circle:nn { 0cm , 0cm } { .2cm } \draw_path_moveto:n { .4cm , 0cm } \draw_path_lineto:n { -.4cm , 0cm } } \cs_new_protected:Npn \rpgicons_draw_shape_true_neutral: { \draw_path_circle:nn { 0cm , 0cm } { .2cm } } \cs_new_protected:Npn \rpgicons_draw_shape_chaotic_neutral: { \draw_path_circle:nn { 0cm , 0cm } { .2cm } \draw_path_moveto:n { 0cm , .4cm } \draw_path_lineto:n { 0cm , -.4cm } } \cs_new_protected:Npn \rpgicons_draw_shape_lawful_evil: { \draw_path_moveto:n { .4cm , .1cm } \draw_path_lineto:n { -.4cm , .1cm } \draw_path_moveto:n { .4cm , -.15cm } \draw_path_lineto:n { 0cm , -.4cm } \draw_path_lineto:n { -.4cm , -.15cm } } \cs_new_protected:Npn \rpgicons_draw_shape_neutral_evil: { \draw_path_circle:nn { 0cm , .1cm } { .2cm } \draw_path_moveto:n { .4cm , -.15cm } \draw_path_lineto:n { 0cm , -.4cm } \draw_path_lineto:n { -.4cm , -.15cm } } \cs_new_protected:Npn \rpgicons_draw_shape_chaotic_evil: { \draw_path_moveto:n { 0cm , .4cm } \draw_path_lineto:n { 0cm , -.4cm } \draw_path_moveto:n { .4cm , -.15cm } \draw_path_lineto:n { 0cm , -.4cm } \draw_path_lineto:n { -.4cm , -.15cm } } % CURRENCY \cs_new_protected:Npn \rpgicons_draw_shape_copper: { \draw_path_moveto:n { -.375cm , -.225cm } \draw_path_lineto:n { -.375cm , .225cm } \draw_path_lineto:n { -.225cm , .375cm } \draw_path_lineto:n { .225cm , .375cm } \draw_path_lineto:n { .375cm , .225cm } \draw_path_lineto:n { .375cm , -.225cm } \draw_path_lineto:n { .225cm , -.375cm } \draw_path_lineto:n { -.225cm , -.375cm } \draw_path_close: \draw_path_circle:nn { 0cm , 0cm } { .075cm } } \cs_new_protected:Npn \rpgicons_draw_shape_silver: { \draw_path_moveto:n { 0cm , .35cm } \draw_path_lineto:n { .433cm , -.4cm } \draw_path_lineto:n { -.433cm , -.4cm } \draw_path_close: \draw_path_circle:nn { 0cm , -.15cm } { .075cm } } \cs_new_protected:Npn \rpgicons_draw_shape_gold: { \draw_path_moveto:n { -.375cm , -.375cm } \draw_path_lineto:n { ( -.5375cm , 0cm ) + ( \draw_point_polar:nn { .325cm } { -60 } ) } \draw_path_arc:nnn { -60 } { 60 } { .325cm } \draw_path_lineto:n { -.375cm , .375cm } \draw_path_lineto:n { .375cm , .375cm } \draw_path_lineto:n { ( .5375cm , 0cm ) + ( \draw_point_polar:nn { .325cm } { 120 } ) } \draw_path_arc:nnn { 120 } { 240 } { .325cm } \draw_path_lineto:n { .375cm , -.375cm } \draw_path_close: } \cs_new_protected:Npn \rpgicons_draw_shape_electrum: { \draw_path_moveto:n { -.225cm , -.325cm } \draw_path_arc:nnn { 240 } { 120 } { .375cm } \draw_path_lineto:n { .225cm , .325cm } \draw_path_arc:nnn { 60 } { -60 } { .375cm } \draw_path_close: \draw_path_circle:nn { 0cm , -.125cm } { .075cm } } \cs_new_protected:Npn \rpgicons_draw_shape_platinum: { \draw_path_moveto:n { .075cm , .4cm } \draw_path_lineto:n { .35cm , .075cm } \draw_path_lineto:n { .35cm , -.075cm } \draw_path_lineto:n { .075cm , -.4cm } \draw_path_lineto:n { -.075cm , -.4cm } \draw_path_lineto:n { -.35cm , -.075cm } \draw_path_lineto:n { -.35cm , .075cm } \draw_path_lineto:n { -.075cm , .4cm } \draw_path_close: } \cs_new_protected:Npn \rpgicons_draw_shape_gem: { \draw_path_moveto:n { -.25cm , .425cm } \draw_path_lineto:n { .25cm , .425cm } \draw_path_lineto:n { .425cm , .15cm } \draw_path_lineto:n { 0cm , -.425cm } \draw_path_lineto:n { -.425cm , .15cm } \draw_path_close: \draw_path_moveto:n { -.425cm , .15cm } \draw_path_lineto:n { .425cm , .15cm } \draw_path_moveto:n { -.25cm , .425cm } \draw_path_lineto:n { -.2cm , .15cm } \draw_path_lineto:n { 0cm , .425cm } \draw_path_lineto:n { .2cm , .15cm } \draw_path_lineto:n { .25cm , .425cm } \draw_path_moveto:n { -.2cm , .15cm } \draw_path_lineto:n { 0cm , -.425cm } \draw_path_lineto:n { .2cm , .15cm } } \cs_new_protected:Npn \rpgicons_draw_shape_jewellery: { \draw_path_ellipse:nnn { 0cm , -.15cm } { .175cm , 0cm } { 0cm , .275cm } \draw_path_moveto:n { ( 0cm , -.15cm ) + ( \draw_point_polar:nnn { .075cm } { .175cm } { 0 } ) } \draw_path_arc:nnnn { 0 } { -60 } { .075cm } { .175cm } \draw_path_circle:nn { 0cm , .2cm } { .075cm } \draw_path_moveto:n { \draw_point_intersect_circles:nnnnn { 0cm , .2cm } { .075cm } { 0cm , .7cm } { .5cm } { 1 } } \draw_path_arc:nnn { 280 } { 325 } { .5cm } \draw_path_moveto:n { \draw_point_intersect_circles:nnnnn { 0cm , .2cm } { .075cm } { 0cm , .7cm } { .5cm } { 2 } } \draw_path_arc:nnn { 260 } { 215 } { .5cm } } \cs_set_eq:NN \rpgicons_draw_shape_jewelry: \rpgicons_draw_shape_jewellery: \cs_new_protected:Npn \rpgicons_draw_shape_jewellery_i: { \draw_path_circle:nn { 0cm , -.075cm } { .225cm } \draw_path_moveto:n { ( 0cm , -.075cm ) + ( \draw_point_polar:nn { .35cm } { 120 } ) } \draw_path_arc:nnn { 120 } { 420 } { .35cm } \draw_path_moveto:n { 0cm , .225cm } \draw_path_lineto:n { .2cm , .35cm } \draw_path_lineto:n { .15cm , .425cm } \draw_path_lineto:n { -.15cm , .425cm } \draw_path_lineto:n { -.2cm , .35cm } \draw_path_close: } \cs_set_eq:NN \rpgicons_draw_shape_jewelry_i: \rpgicons_draw_shape_jewellery_i: % === backward compatibility \cs_set_eq:NN \rpgicons_draw_shape_jewelry_alt: \rpgicons_draw_shape_jewelry_i: \cs_set_eq:NN \rpgicons_draw_shape_jewellery_alt: \rpgicons_draw_shape_jewellery_i: % === % FRAMES \cs_new_protected:Npn \rpgicons_draw_frame_ability: { \draw_path_circle:nn { 0cm , 0cm } { .45cm } } \cs_new_protected: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_protected: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_protected:Npn \rpgicons_draw_frame_damage: { \draw_path_circle:nn { 0cm , 0cm } { .5cm } } \cs_new_protected:Npn \rpgicons_draw_frame_class: { \draw_path_rectangle_corners:nn { -.45cm , -.45cm } { .45cm , .45cm } } \cs_new_protected:Npn \rpgicons_draw_frame_alignment: { \draw_path_moveto:n { \draw_point_polar:nn { .525cm } { 30 } } \draw_path_lineto:n { \draw_point_polar:nn { .525cm } { 90 } } \draw_path_lineto:n { \draw_point_polar:nn { .525cm } { 150 } } \draw_path_lineto:n { \draw_point_polar:nn { .525cm } { 210 } } \draw_path_lineto:n { \draw_point_polar:nn { .525cm } { 270 } } \draw_path_lineto:n { \draw_point_polar:nn { .525cm } { 330 } } \draw_path_close: } % USER COMMANDS \NewDocumentCommand { \rpgiconsset } { m } { \keys_set:nn { rpgicons / local } {#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 \int_new:N \l_rpgicons_icon_variant_int \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_aux_fp \fp_new:N \l_rpgicons_icon_transform_scale_fp \fp_set:Nn \l_rpgicons_icon_transform_scale_fp { 1.0 } \fp_new:N \l_rpgicons_icon_transform_scale_inner_fp \fp_set:Nn \l_rpgicons_icon_transform_scale_inner_fp { 1.0 } \fp_new:N \l_rpgicons_icon_transform_rotate_fp \str_new:N \l_rpgicons_icon_actualtext_str \str_new:N \l_rpgicons_icon_precompose_ref_str \bool_new:N \l__rpgicons_icon_precompose_bool \str_new:N \l_rpgicons_precompose_output_str \cs_generate_variant:Nn \color_select:n { V } \cs_generate_variant:Nn \color_stroke:n { V } \cs_generate_variant:Nn \color_fill:n { V } \cs_new_protected:Npn \__rpgicons_opacity_check: { \IfPDFManagementActiveTF { } { \msg_warning:nn { rpgicons } { documentmetadata-missing } } } \tl_new:N \l__rpgicons_shape_name_tl \tl_new:N \l__rpgicons_shape_name_alias_tl \cs_new_protected:Npn \rpgicons_shape_set_eq:nn #1#2 { \tl_set:Nn \l__rpgicons_shape_name_alias_tl {#1} \tl_set:Nn \l__rpgicons_shape_name_tl {#2} \tl_replace_all:Nnn \l__rpgicons_shape_name_alias_tl { ~ } { _ } \tl_replace_all:Nnn \l__rpgicons_shape_name_tl { ~ } { _ } \cs_set_eq:cc { rpgicons_draw_shape_ \l__rpgicons_shape_name_alias_tl : } { rpgicons_draw_shape_ \l__rpgicons_shape_name_tl : } } \cs_new_protected:Npn \__rpgicons_shape_set_eq:w #1#2 \q_stop: { \rpgicons_shape_set_eq:nn {#1} {#2} } \cs_generate_variant:Nn \bool_set:Nn { Ne } \keys_define:nn { rpgicons / local } { 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 } , 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 = { } , variant .int_set:N = \l_rpgicons_icon_variant_int , variant .default:n = { 1 } , variant .initial:n = { 0 } , 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 .code:n = { \fp_set_eq:NN \l__rpgicons_icon_transform_aux_fp \l_rpgicons_icon_transform_scale_fp \fp_set:Nn \l_rpgicons_icon_transform_scale_fp { \l__rpgicons_icon_transform_aux_fp * #1 } } , scale .initial:n = { 1.0 } , scale ~ inner .code:n = { \fp_set_eq:NN \l__rpgicons_icon_transform_aux_fp \l_rpgicons_icon_transform_scale_inner_fp \fp_set:Nn \l_rpgicons_icon_transform_scale_inner_fp { \l__rpgicons_icon_transform_aux_fp * #1 } } , scale ~ inner .initial:n = { 0.675 } , rotate .code:n = { \fp_add:Nn \l_rpgicons_icon_transform_rotate_fp {#1} } , rotate .initial:n = { 0.0 } , alias .code:n = { \int_compare:nNnTF { \tl_count:n {#1} } = { 2 } { \__rpgicons_shape_set_eq:w #1 \q_stop: } { \msg_error:nnnn { rpgicons } { argument-count-wrong } { alias } { 2 } } } , precompose ~ output .str_set:N = \l_rpgicons_precompose_output_str , precompose ~ output .initial:e = { \c_sys_jobname_str _rpgicons } , precompose .code:n = { \bool_set_true:N \l__rpgicons_icon_precompose_bool \str_set:Nn \l_rpgicons_icon_precompose_ref_str {#1} } , actualtext .str_set:N = \l_rpgicons_icon_actualtext_str , accessible .code:n = { \msg_warning:nnn { rpgicons } { option-deprecated } { accessible } } } \cs_new:Npn \__rpgicons_style_set:nn #1#2 { \clist_if_exist:cF { l__rpgicons_style_ #1 _value_clist } { \clist_new:c { l__rpgicons_style_ #1 _value_clist } } \clist_put_right:cn { l__rpgicons_style_ #1 _value_clist } {#2} \keys_define:ne { rpgicons / local } { #1 .meta:n = { \clist_use:c { l__rpgicons_style_ #1 _value_clist } } } } \cs_new:Npn \__rpgicons_style_put_right:nn #1#2 { \clist_if_exist:cTF { l__rpgicons_style_ #1 _value_clist } { \clist_put_right:cn { l__rpgicons_style_ #1 _value_clist } {#2} \keys_define:ne { rpgicons / local } { #1 .meta:n = { \clist_use:c { l__rpgicons_style_ #1 _value_clist } } } } { \msg_error:nnn { rpgicons } { style-undefined } {#1} } } \keys_define:nn { rpgicons / local } { style ~ set .code:n = { \keyval_parse:NNn \use:n \__rpgicons_style_set:nn {#1} } , style ~ add .code:n = { \keyval_parse:NNn \use:n \__rpgicons_style_put_right:nn {#1} } } % === backward compatibility \keys_define:nn { rpgicons / local } { style ~ append .meta:n = { style ~ add = {#1} } } % === \clist_const:Nn \c__rpgicons_types_clist { die , ability , saving , spell , spellschool , damage , attack , condition , class , alignment , currency } \str_new:N \l__rpgicons_icon_type_name_str \clist_map_inline:Nn \c__rpgicons_types_clist { \str_set:Nn \l__rpgicons_icon_type_name_str {#1} \str_replace_all:Nnn \l__rpgicons_icon_type_name_str { ~ } { _ } \clist_new:c { l_rpgicons_types_every_ \l__rpgicons_icon_type_name_str _style_clist } \keys_define:ne { rpgicons / local } { every ~ #1 .code:n = { \exp_not:N \clist_set:cn { l_rpgicons_types_every_ \l__rpgicons_icon_type_name_str _style_clist } {##1} } , every ~ #1 ~ add .code:n = { \exp_not:N \clist_put_right:cn { l_rpgicons_types_every_ \l__rpgicons_icon_type_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 ~ i , constitution , intelligence , wisdom , wisdom ~ i , charisma , resilience , sanity , perception , luck , armour , armor , proficiency , linear , conic , quadratic , cubic , spheric , cylindric , emanation , verbal , somatic , material , ritual , focus , abjuration , conjuration , divination , enchantment , evocation , illusion , necromancy , transmutation , acid , bludgeoning , cold , fire , force , lightning , necrotic , necrotic ~ i , piercing , poison , psychic , radiant , slashing , thunder , healing , melee , melee ~ i , ranged , magic , singlehanded , doublehanded , buff , blinded , charmed , deafened , exhausted , frightened , grappled , incapacitated , invisible , paralyzed , petrified , poisoned , prone , restrained , restrained ~ i , stunned , unconscious , hearing , seeing , artificer , artificer ~ i , barbarian , bard , bard ~ i , cleric , cleric ~ i , cleric ~ ii , druid , druid ~ i , druid ~ ii , fighter , gunslinger , monk , monk ~ i , paladin , paladin ~ i , psion , psion ~ i , ranger , ranger ~ i , rogue , rogue ~ i , sorcerer , sorcerer ~ i , warlock , wizard , wizard ~ i , lawful ~ good , neutral ~ good , chaotic ~ good , lawful ~ neutral , true ~ neutral , chaotic ~ neutral , lawful ~ evil , neutral ~ evil , chaotic ~ evil , copper , silver , gold , electrum , platinum , gem , jewellery , jewelry , jewellery ~ i , jewelry ~ i , % === backward compatibility dexterity ~ alt , wisdom ~ alt , necrotic ~ alt , melee ~ alt , restrained ~ alt , artificer ~ alt , bard ~ alt , cleric ~ alt , druid ~ alt , monk ~ alt , paladin ~ alt , psion ~ alt , ranger ~ alt , rogue ~ alt , sorcerer ~ alt , wizard ~ alt , jewellery ~ alt , jewelry ~ alt % === } \str_new:N \l__rpgicons_icon_shape_name_str \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:ne { rpgicons / local } { every ~ #1 .code:n = { \exp_not:N \clist_set:cn { l_rpgicons_shapes_every_ \l__rpgicons_icon_shape_name_str _style_clist } {##1} } , every ~ #1 ~ add .code:n = { \exp_not:N \clist_put_right:cn { l_rpgicons_shapes_every_ \l__rpgicons_icon_shape_name_str _style_clist } {##1} } } } \cs_if_exist:NTF \NewTaggingSocket { \cs_generate_variant:Nn \tag_socket_use:nn { nV } \NewTaggingSocket { rpgicons / icon / before } { 1 } \NewTaggingSocketPlug { rpgicons / icon / before } { actualtext } { \tag_mc_end_push: \tag_struct_begin:n { tag = Span , actualtext = { ~ #1 ~ } } \tag_mc_begin:n { } } \AssignTaggingSocketPlug { rpgicons / icon / before } { actualtext } \NewTaggingSocket { rpgicons / icon / after } { 0 } \NewTaggingSocketPlug { rpgicons / icon / after } { actualtext } { \tag_mc_end: \tag_struct_end: \tag_mc_begin_pop:n { } } \AssignTaggingSocketPlug { rpgicons / icon / after } { actualtext } \IfSocketExistsF { tagsupport / rpgicons / roll / before } { \NewTaggingSocket { rpgicons / roll / before } { 1 } \NewTaggingSocketPlug { rpgicons / roll / before } { actualtext } { \tag_mc_end_push: \tag_struct_begin:n { tag = Span , actualtext = { ~ #1 ~ } } \tag_mc_begin:n { } } \AssignTaggingSocketPlug { rpgicons / roll / before } { actualtext } } \IfSocketExistsF { tagsupport / rpgicons / roll / after } { \NewTaggingSocket { rpgicons / roll / after } { 0 } \NewTaggingSocketPlug { rpgicons / roll / after } { actualtext } { \tag_mc_end: \tag_struct_end: \tag_mc_begin_pop:n { } } \AssignTaggingSocketPlug { rpgicons / roll / after } { actualtext } } } { \msg_warning:nn { rpgicons } { tagging-unsupported } \cs_if_exist:NF \tag_socket_use:n { \cs_new:Npn \tag_socket_use:n #1 { } } \cs_if_exist:NF \tag_socket_use:nn { \cs_new:Npn \tag_socket_use:nn #1#2 { } \cs_new:Npn \tag_socket_use:nV #1#2 { } } \cs_if_exist:NF \tag_suspend:n { \cs_new:Npn \tag_suspend:n #1 { } } \cs_if_exist:NF \tag_resume:n { \cs_new:Npn \tag_resume:n #1 { } } } % === precompose icons \iow_new:N \l__rpgicons_precompose_document_iow \clist_new:N \g__rpgicons_precompose_clist \fp_new:N \l__rpgicons_precompose_scale_fp \fp_new:N \l__rpgicons_precompose_scale_aux_fp \str_new:N \l__rpgicons_precompose_pdf_hash_base_str \str_new:N \g__rpgicons_precompose_pdf_hash_str \str_new:N \l__rpgicons_precompose_ref_str \cs_generate_variant:Nn \hbox_to_wd:nn { ee } \cs_generate_variant:Nn \iow_open:Nn { Ne } \cs_generate_variant:Nn \prop_to_keyval:N { c } \cs_generate_variant:Nn \str_mdfive_hash:n { V } \prg_generate_conditional_variant:Nnn \str_if_eq:nn { Ve } { TF } \cs_new_protected:Npn \__rpgicons_precompose_calculate_scale_aux:Nnn #1#2#3 { \str_if_eq:nnT {#2} { scale } { \fp_set_eq:NN \l__rpgicons_precompose_scale_aux_fp #1 \fp_set:Nn #1 { \l__rpgicons_precompose_scale_aux_fp * #3 } } } \cs_new_protected:Npn \__rpgicons_precompose_calculate_scale:Nn #1#2 { \fp_set:Nn #1 { 1.0 } \keyval_parse:nnn { \use_none:n } { \__rpgicons_precompose_calculate_scale_aux:Nnn #1 } {#2} } \cs_new_protected:Npn \__rpgicons_precompose_register:nnnn #1#2#3#4 { \clist_put_right:Nn \g__rpgicons_precompose_clist {#1} \prop_new:c { g__rpgicons_precompose_ #1 _prop } \prop_put:cne { g__rpgicons_precompose_ #1 _prop } { negative } { \bool_if:nT {#2} { * } } \prop_put:cnn { g__rpgicons_precompose_ #1 _prop } { style } {#3} \prop_put:cnn { g__rpgicons_precompose_ #1 _prop } { shape } {#4} \__rpgicons_precompose_calculate_scale:Nn \l__rpgicons_precompose_scale_fp {#3} \prop_put:cnV { g__rpgicons_precompose_ #1 _prop } { scale } \l__rpgicons_precompose_scale_fp \str_put_right:Ne \l__rpgicons_precompose_pdf_hash_base_str { | #1 | \prop_to_keyval:c { g__rpgicons_precompose_ #1 _prop } | } } \cs_generate_variant:Nn \__rpgicons_precompose_register:nnnn { V } \sys_ensure_backend: \NewDocumentCommand \RPGIconsPrecomposeIcon { s O { } o m } { \bool_lazy_or:nnT { \str_if_eq_p:Vn \c_sys_backend_str { dvips } } { \str_if_eq_p:Vn \c_sys_backend_str { dvisvgm } } { \msg_error:nnV { rpgicons } { backend-unsupported } \c_sys_backend_str } \tl_if_novalue:nTF {#3} { \__rpgicons_precompose_register:nnnn {#4} {#1} {#2} {#4} } { \str_set:Nn \l__rpgicons_precompose_ref_str {#3} \str_replace_all:Nnn \l__rpgicons_precompose_ref_str { ~ } { _ } \__rpgicons_precompose_register:Vnnn \l__rpgicons_precompose_ref_str {#1} {#2} {#4} } } \NewDocumentCommand \RPGIconsPDFDestination { m } { \pdf_destination:nn { rpgicons. #1 } { fit } } \NewDocumentCommand \RPGIconsPDFHash { m } { \str_gset:Nn \g__rpgicons_precompose_pdf_hash_str {#1} } \sys_if_engine_luatex:T { \lua_load_module:n { rpgicons } } \hook_gput_code:nnn { begindocument } { . } { \clist_if_empty:NF \g__rpgicons_precompose_clist { \str_if_eq:VeTF \g__rpgicons_precompose_pdf_hash_str { \str_mdfive_hash:V \l__rpgicons_precompose_pdf_hash_base_str } { \msg_info:nne { rpgicons } { loading-external~file } { \str_use:N \l_rpgicons_precompose_output_str } } { \sys_if_shell:TF { \msg_info:nne { rpgicons } { generating-external~file } { \str_use:N \l_rpgicons_precompose_output_str } \iow_open:Ne \l__rpgicons_precompose_document_iow { \str_use:N \l_rpgicons_precompose_output_str .tex } \iow_now:Nn \l__rpgicons_precompose_document_iow { \documentclass [ multi=rpgiconsuse ] { standalone } } \iow_now:Nn \l__rpgicons_precompose_document_iow { \usepackage { rpgicons } } \iow_now:Nn \l__rpgicons_precompose_document_iow { \begin { document } } \clist_map_inline:Nn \g__rpgicons_precompose_clist { \iow_now:Ne \l__rpgicons_precompose_document_iow { \tl_to_str:n { \begin { rpgiconsuse } } \str_use:N \c_percent_str } \iow_now:Nn \l__rpgicons_precompose_document_iow { \RPGIconsUseIcon } \iow_now:Ne \l__rpgicons_precompose_document_iow { \prop_item:cn { g__rpgicons_precompose_ #1 _prop } { negative } [ \prop_item:cn { g__rpgicons_precompose_ #1 _prop } { style } ] \str_use:N \c_left_brace_str \prop_item:cn { g__rpgicons_precompose_ #1 _prop } { shape } \str_use:N \c_right_brace_str \str_use:N \c_percent_str } \iow_now:Nn \l__rpgicons_precompose_document_iow { \RPGIconsPDFDestination } \iow_now:Ne \l__rpgicons_precompose_document_iow { \str_use:N \c_left_brace_str #1 \str_use:N \c_right_brace_str \str_use:N \c_percent_str } \iow_now:Nn \l__rpgicons_precompose_document_iow { \end { rpgiconsuse } } } \iow_now:Nn \l__rpgicons_precompose_document_iow { \end { document } } \iow_close:N \l__rpgicons_precompose_document_iow \sys_shell_now:e { pdflatex ~ \str_use:N \l_rpgicons_precompose_output_str .tex } \iow_now:ce { @auxout } { \tl_to_str:n { \RPGIconsPDFHash } \str_use:N \c_left_brace_str \str_mdfive_hash:V \l__rpgicons_precompose_pdf_hash_base_str \str_use:N \c_right_brace_str } \sys_if_engine_luatex:T { \lua_now:e { rpgicons_get_dest_pages(' \lua_escape:e { \str_use:N \l_rpgicons_precompose_output_str } .pdf') } } } { \msg_error:nn { rpgicons } { shell-escape-disabled } } } } \bool_lazy_and:nnT { \file_if_exist_p:n { \str_use:N \l_rpgicons_precompose_output_str .pdf } } { \sys_if_engine_luatex_p: } { \lua_now:e { rpgicons_get_dest_pages(' \lua_escape:e { \str_use:N \l_rpgicons_precompose_output_str } .pdf') } } } \cs_new_protected:Npn \__rpgicons_load_icon_aux:nn #1#2 { \box_move_up:nn { \fp_to_dim:n { \prop_item:cn { g__rpgicons_precompose_ #1 _prop } { scale } * \l_rpgicons_icon_baseline_dim } } { \hbox_to_wd:ee { \fp_to_dim:n { \prop_item:cn { g__rpgicons_precompose_ #1 _prop } { scale } * 1cm } } { \sys_if_output_pdf:TF { \sys_if_engine_luatex:TF { \exp_not:N \lua_now:e { rpgicons_load_icon(' rpgicons. \lua_escape:n {#1} ', ' \lua_escape:n {#2} ') } } { \prop_if_in:cnTF { g__rpgicons_precompose_ #1 _prop } { ref } { \tex_pdfrefximage:D \prop_item:cn { g__rpgicons_precompose_ #1 _prop } { ref } \scan_stop: } { \tex_pdfximage:D named { rpgicons. #1 } {#2} \tex_pdfrefximage:D \tex_pdflastximage:D \scan_stop: \prop_put:cnV { g__rpgicons_precompose_ #1 _prop } { ref } \tex_pdflastximage:D } } } { \prop_if_in:cnTF { g__rpgicons_precompose_ #1 _prop } { ref } { \exp_not:N \tex_special:D { pdf:usexobj ~ @ \str_mdfive_hash:n { rpgicons. #1 } } } { \exp_not:N \tex_special:D { pdf:image ~ @ \str_mdfive_hash:n { rpgicons. #1 } ~ named ~ " rpgicons. #1 " ~ ( #2 ) } \prop_put:cne { g__rpgicons_precompose_ #1 _prop } { ref } { \str_mdfive_hash:n { rpgicons. #1 } } } } \skip_horizontal:n { 0pt plus 1fil minus 1fil } } } } \cs_generate_variant:Nn \__rpgicons_load_icon_aux:nn { V } \cs_new_protected:Npn \__rpgicons_load_icon:nn #1#2 { \str_set:Nn \l__rpgicons_precompose_ref_str {#1} \str_replace_all:Nnn \l__rpgicons_precompose_ref_str { ~ } { _ } \prop_if_exist:cTF { g__rpgicons_precompose_ \str_use:N \l__rpgicons_precompose_ref_str _prop } { \__rpgicons_load_icon_aux:Vn \l__rpgicons_precompose_ref_str {#2} } { \msg_error:nnn { rpgicons } { precomposed-missing } {#1} } } \cs_generate_variant:Nn \__rpgicons_load_icon:nn { ee } % === \tl_const:Nn \c__rpgicons_icon_frame_saving_tl { saving } \seq_new:N \l__rpgicons_icon_shape_name_parts_seq \coffin_new:N \l__rpgicons_icon_label_coffin \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 } { \mode_leave_vertical: \group_begin: \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 } { \clist_use:cn { l_rpgicons_shapes_every_ \l__rpgicons_icon_shape_name_str _style_clist } { , } } } } \keys_set_exclude_groups:nne { rpgicons / local } { extra } {#2} \str_if_empty:NT \l_rpgicons_icon_actualtext_str { \str_set:Ne \l_rpgicons_icon_actualtext_str { \bool_lazy_and:nnTF { \tl_if_blank_p:n {#4} } { \tl_if_eq_p:NN \l_rpgicons_icon_frame_tl \c__rpgicons_icon_frame_saving_tl } { saving } {#4} } } \tl_if_novalue:nF {#3} { \str_put_left:Nn \l_rpgicons_icon_actualtext_str { #3 ~ } } \tag_socket_use:nV { rpgicons / icon / before } \l_rpgicons_icon_actualtext_str \bool_if:NTF \l__rpgicons_icon_precompose_bool { \__rpgicons_load_icon:ee { \str_if_empty:NTF \l_rpgicons_icon_precompose_ref_str { \str_use:N \l__rpgicons_icon_shape_name_str } { \str_use:N \l_rpgicons_icon_precompose_ref_str } } { \str_use:N \l_rpgicons_precompose_output_str .pdf } } { \draw_begin: \draw_set_cap_round: \draw_set_join_round: \color_stroke:V \l_rpgicons_icon_color_stroke_tl \color_fill:V \l_rpgicons_icon_color_fill_tl \opacity_stroke:n { \l_rpgicons_icon_opacity_stroke_fp } \opacity_fill:n { \l_rpgicons_icon_opacity_fill_fp } \draw_set_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_set_baseline:n { \l_rpgicons_icon_baseline_dim } \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:nVT { ability , saving , spellschool , damage , class , alignment } \l_rpgicons_icon_frame_tl { \cs_if_exist_use:cF { rpgicons_draw_frame_ \l_rpgicons_icon_frame_tl : } { \msg_warning:nnV { rpgicons } { frame-undefined } \l_rpgicons_icon_frame_tl } \bool_if:nTF {#1} { \draw_path_use_clear:n { fill } \color_select:V \l_rpgicons_icon_color_background_tl \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:NVV \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 } } \draw_path_use_clear:n { stroke } } { \str_if_empty:NF \l__rpgicons_icon_shape_name_str { \cs_if_exist:cTF { rpgicons_draw_shape_ \l__rpgicons_icon_shape_name_str _ \int_to_roman:n { \l_rpgicons_icon_variant_int } : } { \str_set:Ne \l__rpgicons_icon_shape_name_variant_str { \l__rpgicons_icon_shape_name_str _ \int_to_roman:n { \l_rpgicons_icon_variant_int } } } { \str_set_eq:NN \l__rpgicons_icon_shape_name_variant_str \l__rpgicons_icon_shape_name_str } \cs_if_exist_use:cF { rpgicons_draw_shape_ \l__rpgicons_icon_shape_name_variant_str : } { \tl_if_blank:VF \l__rpgicons_icon_shape_name_str { \msg_warning:nnV { rpgicons } { shape-undefined } \l__rpgicons_icon_shape_name_str } } \draw_path_use_clear:n { stroke } } } \tl_if_novalue:nF {#3} { \draw_scope_begin: \color_select:V \l_rpgicons_icon_color_text_tl \opacity_select:n { \l_rpgicons_icon_opacity_text_fp } \hcoffin_set:Nn \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: } \tag_socket_use:n { rpgicons / icon / after } \group_end: } \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 } { extra } {#3} \keys_set:ne { rpgicons / local } { \clist_use:Nn \l_rpgicons_types_every_die_style_clist { , } } \str_set:Ne \l__rpgicons_icon_integer_str {#4} \skip_horizontal:n { \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} } \skip_horizontal:n { \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 } { extra } {#3} \keys_set:ne { rpgicons / local } { \clist_use:Nn \l_rpgicons_types_every_ability_style_clist { , } } \skip_horizontal:n { \l_rpgicons_icon_before_sep_dim } \str_if_eq:neTF { negative } {#1} { \RPGIconsUseIcon * [ frame=ability , scale=.333 , #3 ] {#2} } { \RPGIconsUseIcon [ scale=.333 , #3 ] {#2} } \skip_horizontal:n { \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 } { extra } {#3} \keys_set:ne { rpgicons / local } { \clist_use:Nn \l_rpgicons_types_every_saving_style_clist { , } } \skip_horizontal:n { \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} } \skip_horizontal:n { \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 } { extra } {#2} \keys_set:ne { rpgicons / local } { \clist_use:Nn \l_rpgicons_types_every_spell_style_clist { , } } \skip_horizontal:n { \l_rpgicons_icon_before_sep_dim } \RPGIconsUseIcon [ scale=.333 , #2 ] {#1} \skip_horizontal:n { \l_rpgicons_icon_after_sep_dim } \group_end: } \cs_if_exist:NF \spell { \cs_new_eq:NN \spell \RPGIconsSpell } \NewDocumentCommand { \RPGIconsSpellschool } { O { negative } m O { } } { \group_begin: \keys_set_groups:nne { rpgicons / local } { extra } {#3} \keys_set:ne { rpgicons / local } { \clist_use:Nn \l_rpgicons_types_every_spellschool_style_clist { , } } \skip_horizontal:n { \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} } \skip_horizontal:n { \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 } { extra } {#2} \keys_set:ne { rpgicons / local } { \clist_use:Nn \l_rpgicons_types_every_damage_style_clist { , } } \skip_horizontal:n { \l_rpgicons_icon_before_sep_dim } \RPGIconsUseIcon [ frame=damage , scale=.333 , #2 ] {#1} \skip_horizontal:n { \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 } { extra } {#2} \keys_set:ne { rpgicons / local } { \clist_use:Nn \l_rpgicons_types_every_attack_style_clist { , } } \skip_horizontal:n { \l_rpgicons_icon_before_sep_dim } \RPGIconsUseIcon [ scale=.333 , #2 ] {#1} \skip_horizontal:n { \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 } { extra } {#2} \keys_set:ne { rpgicons / local } { \clist_use:Nn \l_rpgicons_types_every_condition_style_clist { , } } \skip_horizontal:n { \l_rpgicons_icon_before_sep_dim } \RPGIconsUseIcon [ scale=.333 , #2 ] {#1} \skip_horizontal:n { \l_rpgicons_icon_after_sep_dim } \group_end: } \cs_if_exist:NF \condition { \cs_new_eq:NN \condition \RPGIconsCondition } \NewDocumentCommand { \RPGIconsClass } { O { positive } m O { } } { \group_begin: \keys_set_groups:nne { rpgicons / local } { extra } {#2} \keys_set:ne { rpgicons / local } { \clist_use:Nn \l_rpgicons_types_every_class_style_clist { , } } \skip_horizontal:n { \l_rpgicons_icon_before_sep_dim } \str_if_eq:neTF { negative } {#1} { \RPGIconsUseIcon * [ frame=class , scale=.333 , #3 ] {#2} } { \RPGIconsUseIcon [ frame=class , scale=.333 , #3 ] {#2} } \skip_horizontal:n { \l_rpgicons_icon_after_sep_dim } \group_end: } \cs_if_exist:NF \class { \cs_new_eq:NN \class \RPGIconsClass } \NewDocumentCommand { \RPGIconsAlignment } { O { positive } m O { } } { \group_begin: \keys_set_groups:nne { rpgicons / local } { extra } {#2} \keys_set:ne { rpgicons / local } { \clist_use:Nn \l_rpgicons_types_every_alignment_style_clist { , } } \skip_horizontal:n { \l_rpgicons_icon_before_sep_dim } \str_if_eq:neTF { negative } {#1} { \RPGIconsUseIcon * [ frame=alignment , scale=.333 , #3 ] {#2} } { \RPGIconsUseIcon [ frame=alignment , scale=.333 , #3 ] {#2} } \skip_horizontal:n { \l_rpgicons_icon_after_sep_dim } \group_end: } \cs_if_exist:NF \alignment { \cs_new_eq:NN \alignment \RPGIconsAlignment } \NewDocumentCommand { \RPGIconsCurrency } { m O { } m } { \group_begin: \keys_set_groups:nne { rpgicons / local } { extra } {#2} \keys_set:ne { rpgicons / local } { \clist_use:Nn \l_rpgicons_types_every_currency_style_clist { , } } \str_set:Ne \l__rpgicons_icon_integer_str {#3} \skip_horizontal:n { \l_rpgicons_icon_before_sep_dim } \str_if_empty:NF \l__rpgicons_icon_integer_str { \str_use:N \l__rpgicons_icon_integer_str \, } \RPGIconsUseIcon [ scale=.333 , #2 ] {#1} \skip_horizontal:n { \l_rpgicons_icon_after_sep_dim } \group_end: } \cs_if_exist:NF \currency { \cs_new_eq:NN \currency \RPGIconsCurrency } % ROLL SYNTAX \regex_new:N \l__rpgicons_roll_syntax_die_regex \cs_generate_variant:Nn \regex_set:Nn { Ne } \cs_new_protected: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 } { 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_protected: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 } } } \cs_generate_variant:Nn \__rpgicons_roll_syntax_parse:n { e } \tl_if_exist:NF \l__rpgicons_roll_actualtext_tl { \tl_new:N \l__rpgicons_roll_actualtext_tl } \cs_if_exist:NF \__rpgicons_roll_prepare_actualtext:Nn { \cs_new_protected:Npn \__rpgicons_roll_prepare_actualtext:Nn #1#2 { \tl_set:Nn #1 {#2} \tl_replace_all:Nne #1 { - } { \codepoint_generate:nn { "2212 } { 12 } } \tl_replace_all:Nne #1 { * } { \codepoint_generate:nn { "00D7 } { 12 } } \tl_replace_all:Nne #1 { x } { \codepoint_generate:nn { "00D7 } { 12 } } } } \NewDocumentCommand { \RPGIconsRoll } { m } { \mode_leave_vertical: \__rpgicons_roll_prepare_actualtext:Nn \l__rpgicons_roll_actualtext_tl {#1} \tag_socket_use:nV { rpgicons / roll / before } \l__rpgicons_roll_actualtext_tl \tag_suspend:n { \RPGIconsRoll } \__rpgicons_roll_syntax_parse:e {#1} \tag_resume:n { \RPGIconsRoll } \tag_socket_use:n { rpgicons / roll / after } } \cs_if_exist:NF \roll { \cs_new_eq:NN \roll \RPGIconsRoll } % EOF