\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) {};
}
