\ProvidesPackage{magica}[2023/07/06 Magica] \usepackage{amssymb} \usepackage{xparse} \usepackage{milsymb} \usetikzlibrary{ calc, positioning, shapes.misc, % Rounded rectangles, etc. shapes.multipart, % Multi-line nodes arrows.meta, decorations.markings, } \tikzset{ Char/.style={ draw,rounded corners=3pt,line width=0.5mm, minimum size=15pt, fill=#1 }, Char/.default={white}, % civilian colour MilSymb land/magica/demon/.pic={ \node [fill=MilSymb@fill, \MilSymb@line, star, star points=5, star point height=6px, draw=black, scale=0.6, rotate=180] {}; }, /MilSymb/.cd, main/demon/.style={/MilSymb/.cd, SymbC=land/magica/demon}, } \colorlet{TomoeM}{Dandelion} \colorlet{SakuraY}{Rhodamine} \colorlet{AkemiH}{Black} \colorlet{ShizukiR}{LimeGreen} \colorlet{Sayaka}{CornflowerBlue} \NewDocumentCommand\Magica{ o d() g}{ \node[Char=#1] (c) at (#2) {}; \IfNoValueTF{#3}{}{ \node[right=5pt] at (c) {#3}; } } \NewDocumentCommand\Civilian{ d() g}{ \node[Char] (c) at (#1) {}; \IfNoValueTF{#2}{}{ \node[right=5pt] at (c) {#2}; } } \NewDocumentCommand\Demon{ d() }{ \node[Char=red!50!white] (c) at (#1) {}; }