\documentclass[tikz,border=10pt]{standalone}
                        \IfFileExists{newpxtext.sty}{\usepackage{newpxtext,newpxmath}}{}
                        \linespread{1.10}
                        \usetikzlibrary{shapes}
                        \usetikzlibrary{arrows.meta}
                        \usepackage{graphicx}

                        \begin{document}

                        % TikZ code with built-in styling for game trees
% TikZ libraries required for game trees
\usetikzlibrary{shapes}
\usetikzlibrary{arrows.meta}

% Style settings for game tree formatting
\tikzset{
    every node/.append style={font=\sffamily\itshape},
    every text node part/.append style={align=center},
    node distance=1.5mm,
    thick
}

% Built-in macro definitions for game tree drawing
\newdimen\ndiam
\ndiam1.5mm
\newdimen\sqwidth
\sqwidth1.6mm
\newdimen\spx
\spx.7mm
\newdimen\spy
\spy.5mm
\newdimen\paydown
\paydown2.5ex
\newdimen\treethickn
\treethickn1.0pt
\definecolor{chancecolor}{RGB}{117,145,56}
\definecolor{playeronecolor}{RGB}{234,51,35}
\colorlet{playertwocolor}{blue}
\colorlet{playerthreecolor}{orange}
\colorlet{playerfourcolor}{purple}
\colorlet{playerfivecolor}{cyan}
\colorlet{playersixcolor}{magenta}

% Game tree content from /home/docs/checkouts/readthedocs.org/user_builds/gambitproject/checkouts/936/catalog/img/books/bonanno18/fig3_17.ef
\begin{tikzpicture}[scale=0.8
  , StealthFill/.tip={Stealth[line width=.7pt,inset=0pt,length=13pt,angle'=30]}]
% \draw [help lines, color=green] (-5,0) grid (5,-6);
%% player 1 name A
\def\playerone{A}
%% player 2 name B
\def\playertwo{B}
%% player 3 name C
\def\playerthree{C}
%% level -2.0 node 1 player 1
\draw [line width=\treethickn] (0,2)
   ;
%% level 2.0 node 1 player 2 xshift -8.0 from -2.0,1 move Promote
\draw [line width=\treethickn,color=playeronecolor] (-8,-2)
   -- (0,2);
\draw (-6.4,-1.2) node[left,xshift=-0.5mm,color=playeronecolor] {Promote\strut};
%% level 10.0 node 1 xshift -2.0 from 2.0,1 move Accept payoffs 3 1 2
\draw [line width=\treethickn,color=playertwocolor] (-10,-10)
   node[below,yshift=0.1\paydown,color=playeronecolor] {$\mathsf{3}\strut$}
   node[below,yshift=-0.9\paydown,color=playertwocolor] {$\mathsf{1}\strut$}
   node[below,yshift=-1.9\paydown,color=playerthreecolor] {$\mathsf{2}\strut$}
   -- (-8,-2);
\draw (-9.6,-8.4) node[left,xshift=-0.5mm,color=playertwocolor] {Accept\strut};
%% level 6.0 node 1 player 3 xshift 2.0 from 2.0,1 move Disagree
\draw [line width=\treethickn,color=playertwocolor] (-6,-6)
   -- (-8,-2);
\draw (-6.4,-5.2) node[right,xshift=0.5mm,color=playertwocolor] {Disagree\strut};
%% level 10.0 node 2 xshift -2.0 from 6.0,1 move Promote payoffs 3 1 2
\draw [line width=\treethickn,color=playerthreecolor] (-8,-10)
   node[below,yshift=0.1\paydown,color=playeronecolor] {$\mathsf{3}\strut$}
   node[below,yshift=-0.9\paydown,color=playertwocolor] {$\mathsf{1}\strut$}
   node[below,yshift=-1.9\paydown,color=playerthreecolor] {$\mathsf{2}\strut$}
   -- (-6,-6);
\draw (-7.6,-9.2) node[left,xshift=-0.5mm,color=playerthreecolor] {Promote\strut};
%% level 10.0 node 3 xshift 0.0 from 6.0,1 move Keep payoffs 2 3 1
\draw [line width=\treethickn,color=playerthreecolor] (-6,-10)
   node[below,yshift=0.1\paydown,color=playeronecolor] {$\mathsf{2}\strut$}
   node[below,yshift=-0.9\paydown,color=playertwocolor] {$\mathsf{3}\strut$}
   node[below,yshift=-1.9\paydown,color=playerthreecolor] {$\mathsf{1}\strut$}
   -- (-6,-6);
\draw (-6,-9.2) node[left,xshift=-0.5mm,color=playerthreecolor] {Keep\strut};
%% level 10.0 node 4 xshift 2.0 from 6.0,1 move Fire payoffs 1 2 3
\draw [line width=\treethickn,color=playerthreecolor] (-4,-10)
   node[below,yshift=0.1\paydown,color=playeronecolor] {$\mathsf{1}\strut$}
   node[below,yshift=-0.9\paydown,color=playertwocolor] {$\mathsf{2}\strut$}
   node[below,yshift=-1.9\paydown,color=playerthreecolor] {$\mathsf{3}\strut$}
   -- (-6,-6);
\draw (-4.4,-9.2) node[right,xshift=0.5mm,color=playerthreecolor] {Fire\strut};
%% level 2.0 node 2 player 2 xshift 0.0 from -2.0,1 move Keep
\draw [line width=\treethickn,color=playeronecolor] (0,-2)
   -- (0,2);
\draw (0,-1.2) node[left,xshift=-0.5mm,color=playeronecolor] {Keep\strut};
%% level 10.0 node 5 xshift -2.0 from 2.0,2 move Accept payoffs 2 3 1
\draw [line width=\treethickn,color=playertwocolor] (-2,-10)
   node[below,yshift=0.1\paydown,color=playeronecolor] {$\mathsf{2}\strut$}
   node[below,yshift=-0.9\paydown,color=playertwocolor] {$\mathsf{3}\strut$}
   node[below,yshift=-1.9\paydown,color=playerthreecolor] {$\mathsf{1}\strut$}
   -- (0,-2);
\draw (-1.6,-8.4) node[left,xshift=-0.5mm,color=playertwocolor] {Accept\strut};
%% level 6.0 node 2 player 3 xshift 2.0 from 2.0,2 move Disagree
\draw [line width=\treethickn,color=playertwocolor] (2,-6)
   -- (0,-2);
\draw (1.6,-5.2) node[right,xshift=0.5mm,color=playertwocolor] {Disagree\strut};
%% level 10.0 node 6 xshift -2.0 from 6.0,2 move Promote payoffs 3 1 2
\draw [line width=\treethickn,color=playerthreecolor] (0,-10)
   node[below,yshift=0.1\paydown,color=playeronecolor] {$\mathsf{3}\strut$}
   node[below,yshift=-0.9\paydown,color=playertwocolor] {$\mathsf{1}\strut$}
   node[below,yshift=-1.9\paydown,color=playerthreecolor] {$\mathsf{2}\strut$}
   -- (2,-6);
\draw (0.4,-9.2) node[left,xshift=-0.5mm,color=playerthreecolor] {Promote\strut};
%% level 10.0 node 7 xshift 0.0 from 6.0,2 move Keep payoffs 2 3 1
\draw [line width=\treethickn,color=playerthreecolor] (2,-10)
   node[below,yshift=0.1\paydown,color=playeronecolor] {$\mathsf{2}\strut$}
   node[below,yshift=-0.9\paydown,color=playertwocolor] {$\mathsf{3}\strut$}
   node[below,yshift=-1.9\paydown,color=playerthreecolor] {$\mathsf{1}\strut$}
   -- (2,-6);
\draw (2,-9.2) node[left,xshift=-0.5mm,color=playerthreecolor] {Keep\strut};
%% level 10.0 node 8 xshift 2.0 from 6.0,2 move Fire payoffs 1 2 3
\draw [line width=\treethickn,color=playerthreecolor] (4,-10)
   node[below,yshift=0.1\paydown,color=playeronecolor] {$\mathsf{1}\strut$}
   node[below,yshift=-0.9\paydown,color=playertwocolor] {$\mathsf{2}\strut$}
   node[below,yshift=-1.9\paydown,color=playerthreecolor] {$\mathsf{3}\strut$}
   -- (2,-6);
\draw (3.6,-9.2) node[right,xshift=0.5mm,color=playerthreecolor] {Fire\strut};
%% level 2.0 node 3 player 2 xshift 8.0 from -2.0,1 move Fire
\draw [line width=\treethickn,color=playeronecolor] (8,-2)
   -- (0,2);
\draw (6.4,-1.2) node[right,xshift=0.5mm,color=playeronecolor] {Fire\strut};
%% level 10.0 node 9 xshift -2.0 from 2.0,3 move Accept payoffs 1 2 3
\draw [line width=\treethickn,color=playertwocolor] (6,-10)
   node[below,yshift=0.1\paydown,color=playeronecolor] {$\mathsf{1}\strut$}
   node[below,yshift=-0.9\paydown,color=playertwocolor] {$\mathsf{2}\strut$}
   node[below,yshift=-1.9\paydown,color=playerthreecolor] {$\mathsf{3}\strut$}
   -- (8,-2);
\draw (6.4,-8.4) node[left,xshift=-0.5mm,color=playertwocolor] {Accept\strut};
%% level 6.0 node 3 player 3 xshift 2.0 from 2.0,3 move Disagree
\draw [line width=\treethickn,color=playertwocolor] (10,-6)
   -- (8,-2);
\draw (9.6,-5.2) node[right,xshift=0.5mm,color=playertwocolor] {Disagree\strut};
%% level 10.0 node 10 xshift -2.0 from 6.0,3 move Promote payoffs 3 1 2
\draw [line width=\treethickn,color=playerthreecolor] (8,-10)
   node[below,yshift=0.1\paydown,color=playeronecolor] {$\mathsf{3}\strut$}
   node[below,yshift=-0.9\paydown,color=playertwocolor] {$\mathsf{1}\strut$}
   node[below,yshift=-1.9\paydown,color=playerthreecolor] {$\mathsf{2}\strut$}
   -- (10,-6);
\draw (8.4,-9.2) node[left,xshift=-0.5mm,color=playerthreecolor] {Promote\strut};
%% level 10.0 node 11 xshift 0.0 from 6.0,3 move Keep payoffs 2 3 1
\draw [line width=\treethickn,color=playerthreecolor] (10,-10)
   node[below,yshift=0.1\paydown,color=playeronecolor] {$\mathsf{2}\strut$}
   node[below,yshift=-0.9\paydown,color=playertwocolor] {$\mathsf{3}\strut$}
   node[below,yshift=-1.9\paydown,color=playerthreecolor] {$\mathsf{1}\strut$}
   -- (10,-6);
\draw (10,-9.2) node[left,xshift=-0.5mm,color=playerthreecolor] {Keep\strut};
%% level 10.0 node 12 xshift 2.0 from 6.0,3 move Fire payoffs 1 2 3
\draw [line width=\treethickn,color=playerthreecolor] (12,-10)
   node[below,yshift=0.1\paydown,color=playeronecolor] {$\mathsf{1}\strut$}
   node[below,yshift=-0.9\paydown,color=playertwocolor] {$\mathsf{2}\strut$}
   node[below,yshift=-1.9\paydown,color=playerthreecolor] {$\mathsf{3}\strut$}
   -- (10,-6);
\draw (11.6,-9.2) node[right,xshift=0.5mm,color=playerthreecolor] {Fire\strut};
\node[inner sep=0pt,minimum size=\ndiam,draw=playeronecolor,fill=playeronecolor,shape=circle] at (0,2) {};
\node[inner sep=0pt,minimum size=\ndiam,draw=playertwocolor,fill=playertwocolor,shape=circle] at (-8,-2) {};
\node[inner sep=0pt,minimum size=\ndiam,draw=playerthreecolor,fill=playerthreecolor,shape=circle] at (-6,-6) {};
\node[inner sep=0pt,minimum size=\ndiam,draw=playertwocolor,fill=playertwocolor,shape=circle] at (0,-2) {};
\node[inner sep=0pt,minimum size=\ndiam,draw=playerthreecolor,fill=playerthreecolor,shape=circle] at (2,-6) {};
\node[inner sep=0pt,minimum size=\ndiam,draw=playertwocolor,fill=playertwocolor,shape=circle] at (8,-2) {};
\node[inner sep=0pt,minimum size=\ndiam,draw=playerthreecolor,fill=playerthreecolor,shape=circle] at (10,-6) {};

% Player color legend
\begin{scope}[scale=1,shift={(-11.5,2.0)}]
\node[inner sep=0pt,minimum size=\ndiam,draw=playeronecolor,fill=playeronecolor,shape=circle] at (0,0) {};
\node[anchor=west] at (0.3,0) {A};
\node[inner sep=0pt,minimum size=\ndiam,draw=playertwocolor,fill=playertwocolor,shape=circle] at (0,-0.625) {};
\node[anchor=west] at (0.3,-0.625) {B};
\node[inner sep=0pt,minimum size=\ndiam,draw=playerthreecolor,fill=playerthreecolor,shape=circle] at (0,-1.25) {};
\node[anchor=west] at (0.3,-1.25) {C};
\end{scope}

\end{tikzpicture}

                        \end{document}
                        