8`>6kQvae%zh84=T34xkhf3`EW3y{K6!MJQt0
z=mQ5Baxn1LGJ-!u3w)$&*0Pj4Z(IwEPYSD2Fo294!KpiPKx?NhBWgkWgDb?eEi>!OJ(96O=RNZ5QJ_vNfzrLX8
z|J6qzvh@#IAfUGXJr}1T{TEso*F=uxdAyMX}O
zli{KfA2ZeS(%?H?Sq?cUdujr@}aCxNT;t{9tYY{{(L_0=mKm__zvne3RV8jwm}^R8}~-}-8%;%!DK
zpplZ$J2+YGsWuc#F-u~!QIkNOV09<65YEWAQ02#Zz{ig!Vakw>XK{3KYbE;@Ndt=u?n3ure#u`{dt-$B
zW-b~;AoWXM`*aEC22_!2yJ;7VM4W~{SdrBa6a7=zg(1=@=66JOU-yaDijoA}J_m*E
zA{=pmG%)bs;0Wz=WXt~T4eR4)B9c%QclSMC5+o!7CB4ZB
z35TYSzxgOvTYFKiC7S~(R%)?x)Mw^BjGj}_>zr0ii})=N&dWbN)>!-i2YyWl?%ot!
zAG0FG8{z?EsrVZ|H)c
zjsH(Zk-_!^2sJ$UIOT?#=>5f8A(_qQR(@tB0lUs0IDq22MZAD7%J6)CfC~ELL3FpX
z<4-oq`bRQ^*l)7Okt_nG`_2y_w`bH|&P_H=zr@8a#;z=wUkWrJFZ{yt*o5P2AWTyv
z6IGb#)kX6yT52QTNZGP;t~$n^C*nVesg`%Px#2r5jiG-bm1I;!nt=V%ltTTC)Tf#z
zc*=UqH-F0@BuGyZ9#h15Xsrc#%Hd=}UVC8ryo^`s^6+A>^3e7Z`fx@~+6dBw28jRWm>HBGrfTelXDgW&OB3spwNN3mUf
z>A;^G|8Ygm}
zrdJbA-r)lpnn=Jz9eLaW@TJsD@d~Zdhuq@rs-cI|W_Yr!##1boqNT)WnXQA;j@QSk
zZ+abH>mP!hgY#9M`o?FkZjgJqm76j{)RHshn
zstSF%42ghw%j`$VA_8T;iP{Ref!T-A4y_~;oo1Os>hdMKIxnaUWl=ps{rHfxyfg1=
z4_#O9D2jtgB)O`W6fEcWJNq;lce>sOMa^-JySUwzvn{s+tO1&0`?=xr=mHP9+z3*5
zV^mzVXaQ#-m5f)uJ^i-t!^9r0j5Dj9EElwH%OC?1LN&2S@w7g_zw0#LJ_Udea9oQA
zE?0VmIhb?NytrA*Y@;iDhH|aP;}qzA7fUlq`${acn`Eo@6lLZ4Dx01QwzTTEhL}s#
zMXGw9s`1H#nL}7?QXFH(ZKFHee49efc9ni>2YJp!hVIh05*{OPFOQcoEn_djSxkIY?`Nob_l4Ax}OWZjljEdO#GXxcJ8Wqqk
zh~q3!-`3wp7|WQ}N_KGcbZ#xchUpD(%Z!79Zeyo3{OYt`QLqbDezIYo@Bb7L&vB!aKGCs)m5HKsCrZZh=
z9@E1mzM}Q(SQ8ASQQ>j5-HT2ogc6%%#vlTx5Go|QXY5Pt#NV6wWxgu#tm^Ko~
zqggLvoIOnB_;{qITizs*Y6nmVt|_Qjp<;b?`7^DCB;%i)H=LTOhO71j|7Q#@+6w1p
z)phxqU@*VTD`&6Sw>HkiJRg2(P&^7^S8Zi&`to(|>r{DWHfoJ*tNHm$@jv@Z`TRsC
za5V2IJHL%H9Hc_>m
zI&?XV#aj)roH9&@iU6}D9QOn2)5>#u_G=KsR>Xf|KObnD>2*0t!@s&TK)aga2@lt=
zxPBKU?EZjfV`XlrReYkntf)`;U_JF2i_>144Dw{afT4hr4H8CXbNCx;isCrA#;v7c
zXRvJRTI9f#Rb-M(R0_F(PjBkcHGFMoS}7sE^p}#re#mPizZwoE#pB}b==YRW%hHVn
zeT18qi7U|M8eP#nEH>b^&?@xtXy0vCXd6JCKz6#-FKBfm{)LzY?ia0u%h$us8aWy+
z?j08rMp~GG)`pq}n|=J;;|gx|yAJ=po4!yKJQc^?GkzjZ
zz?v2t8)@;OtDD->O(ZpnnYMBjbr1B+^vE%+v)U_c+Wwyr8#V!;Uq&Vf)SW(dNqti`
z-eg!C)=-Rm_M)qn40`a$zFl_xd{gG8=@yfKHc7Z@7cNX>YhfEV)6=RQ|9aY1KeqKf
zOYc*Ziz(`6i$%LGmTATX6&vqg0(gtDFu2vQhnFU>0OiTmEw9N;_ej>_5k#TWFEXT$Po79h28XlY0uqWib9l9P
zD|aoDSHG-a5I&KVa@AD|EF*xcC{B)!h79A(aWRC7XSS1uYB|$7v-1yB%wA<_j>)HB
z!)I>+zg{_xDi%?1X?da6Ctc(-Wj>BPC+axFsB(H&{)o%VrJ%}Mv`KHxYEc(fQ7ptG
z_)BQNMm?~%S_oF!?|`AKJ?`Df;q;-w@X_?|TSDIcb1GHY41mR9Y$CIyV8Qz0Gr~eR
z2mGN3VA6l}=1u=p%G6hGD0QH?BbxzRtltY_f=7Bd3yQS86b@e3<8^wkG-=Yty%jdf
zyrQ24VB3%bw+e%S*pnhEOFLf|C3IX(gH(yEG)zC`wLmQJB%yeQ(UQ$~0xgDuQ%S?Y
zRdQ`<{&pT!RKKjF`+Qamhs{*HJo{)l{r2X}S
zzJcPfWHrUZg3y{#v&G!v3a$b|`1FbOw3gt)6Z#!eH03_jb+diC7!r-fkJSWh}E(f0u=-=5huO8T%5
zN;?Jm`fO4pl;YzhMs^`Ujw3~scldR&k{7jK56BEF6ht|=_D{z=Ihu3zu}
zGuR)Oy4H`%L+KpD2-lrbQs4SAxQvxX_RLR&|26&Nn4Qn4Ekwe~9yT^BR;?vmIn)wP
zUrL|7?M3xWKHM^bFzoWxs~q8U5$b(JlEhMZ0Zn6l!~qK?m07y6W%^D@Z9w;!ZKm=j
zhaO$$fgy5*-J>PSP
z!MxrP+edl_^q6m;N&-Ts*Ax+}RgUb-8EJ+yo3su!It=`C__a4b4Dma6OzIy-oeG8n
zCYMOK-!fKWj{S!ug$1hTGo+P=*B<>tl3)@#qG`MuU7E#Sw4tnAo#m~a7-{?7%Sdt1;gq1(~xe!oQ#
zZu6%mCPr(osi=6&&!&mLV4_ri?^D_R@&obp!w2`*t%fC}=?CMNl_bBkrXozga~Ykm
z;=Ps7o+kv7KM;io;io=$rbqrh*B|FN@N!J_|S|{%87QG$ghkRTJaL#
z-@%7u#D5=rAcIX324?4n$L9+yP(DGy-BkP_
z<*)LRNqdV=pGQA(&(&{9-halSs59s%PXDJ^71@~u#YQ!)aN&c8*x^yR_58+nod-^=
z0Ghg^$SlRNxO)pR9`j
zRSRST3+Wtb)vE8wo=u_NR^1LuB?ciYbd<2;e{+gUoguawg~18{#rEQ;(q^(pp2)sxY4+Pf`ZiX
z8P4%H$B^o~BX+^#m*voXE(^}YEq3S2AY!{`YE83#HVjAV`rNOI;2PyYW51C`J2-<5
zIcVECX9#Z?iP<|5f5^DRVj(jApG)?jiR*)d!LYoVZ;Vep21XZ;J76LyNVrwsvN!u1
z7bu^l3`WeQ>OIArslctn#Q=PCariTdq|e;m&9_jSZAll7#zC4I}hG
z!&%-Y@_bQW?#MGD!5#}`JmJHfUdqu7y5hUpGu~$C2b(ckFNK*(9}2h^!z;I;_kD92
zgeAWvBn@|VBn_S~sr9~KV@hM)lp1cq7O+U+(13T#j?{>8TO+HUY&QFo_8Y|?2L4dr
z2&F?6W$c7SxL0W5UOCd^KbZNV!GHBd{+2=(h7NH$kfrTiFJJ3kTJ!{-(BF-zJzt4M
z5BL%%JC>zvOL8#&tDj^dj1<}Fx7e$6SOOJghYJ%ve9gj_Xb%Ziawbr+Z!2h~F(by3
zCY!=1OSVds_xn#x2tyaA!DG7s8c9+rL80z>71&b$!DLOz8%ZtUI*y2fajXU42#8T_
znkJdb`ppQ`>|D=QYl>e{v)C;@=;TFi4;M7UV;H=t`Vw{m=Mz1C)y{S4V8aHZ?a63=
z^-Jrto)=PJ9gQ-%5&rpYc_DI9Ex$Ej)72bM&wTb8mL~REy_o(7N&Fw@IVaz$-%BSq
z?_!fH@;lLY`V*4eu>p~@Ma4?3#`CcByZ6K{@I!oH^sV@ck_kF6$hV>hyw^LeW_1yl
zgW&rvByY4J-ge>HD1;o?VjrG9r3(GT8T^RG<5y`yWomUyuD~mFxwj+l;OBtWCaXO>
zV1crg7ft`I4_s~Z2XCrYMe`x?tHHTnfs4Oqrgt-@M>^GH(1(P#6bQzd-o}3U@}?eX
z+aA*^hGshblBB-}U2W*qC8^%~oRv2~LV?&wH>$No=M_5h&S|YseMyMC5i&AzR>i>J
z8)->{5ALWRO^hpSMUY&dAt5P_xuG$PbFRLLx}h%%+bdYawh7?BL(3Y5bdH=tXbf=U
ztW0gd6tq~at>tM_o7cH3>3PUZh=_Z-nh1>#AchJIuAEzNeM>~E;R~gcQ^*SW3{nR)K4|`uAhN?Df6|LVTR*VZM)Y4O>#N
zO(_#(a_y!o?1V@$48no|_5w^*eru
zd>7w{{+;wy267TFqq2c*GUUR{Ewlc$NxmY3)SxqXQU(nkt*RsoYr3SKpzx2A64ntl
zttifxC0#p9z*vSq6v}8X0f5fp!@ExJ*5;Yd$WU|O!3`hT(UFcAeIpFEoy7PE~ATP?+X(kw*q}$}@Py!1~0umhDw`#SxXP9z?
zmYj)HCaFbt%N}tfBy|=hR+RZBkrqZ;zt0%6Ei)hyeXPY8FX4GAxm^g=q>a8{P)
zWVM~uCK`Mp4!Zaobw>8n^vD9Dis4a=mD+0q2w|Ldc>MQ|9h}ooT-wz5&5|1mx6o@m
z2*SQ6b8!pq1`9mfNDEt#0an?UB&}4H-TZcJ3m+WJdwVTO%WNF;(S@C7~7P6!J}cVySo>IIO;
zgThsH=o#i7{*BMA@Auy1Bz5)m)TN?NdY-z3K<=T*YsQ4Ay9G&`8MzbuuSE=RLliOx
zsc%XTL!Nt-&zv0#ukKdQShzm+!n+gT+WWRIA>*_%#zh_X%-=i^_*z}_U|@UdK+G&H
z($$c*A3iu=vN553-VS%14h(Kl;hhuK-Gv7AybNzJ%b&7HI>EIpos;HQME_DDI^Ux|
zLPks)=kuZNpy%DyD<^$?ljBO3%O1jVvj|K`(S-LmZ6w{*MrY-<1{cjN}}#A*#W=67wtg8Xe+!z
zI`XDkeM_XbQDoDhqa=-^vHyuP2Y@%3oLw^6$+WJLJP2`XDHJ}6?9xOH6{?#?
z*XTGyf?8qnjakd8q>6Ua0z?9iee$~AA509|eb^HXPj;8cOxy%%?;FNR9M^4j2SM5h
z$p`(YK&yPs55fidPlOVNKLzQC%&-dKcuCphct^)dEF_kMw$$;gRx4AlJ0?z$am$}%
zcnoM!cXf$e-Nt^(-mM^qCrbSkPCT%lQ}yy#^<=OMbaF?qs_Lj|yKYO8(~C~b!OW=-
zT=pqCm2NMpBJ0Ym-dI1LMvZ_bK3Lv<>=>4HBhrtQPFbZ-?}f2!m?K-8J~jL{S15$=
z;!YjwHPO<8P2|JzAI1X8mZZ&h-#7An_vmy
zqmpKeJZKW$Fb$x&6F-`i#I!P$LV{P`HgSS&AHgsPf
z#2dYNb|Fey@7#3Z=IQuYW%Y%j$1{j;7pa5voRsiIC30?7fUiMoSSijqrAO9Hbm!b$w?bj!=l@5-`Ql{6%T=E!Pl2D{?;J!vssv(
z2P3HVd4LYHG3CTac{Xfvw=v5Y;VgW5u9MCOLXb90ls6-{Z|5(i~
zkrCc7_or#FFul3ZRb090i*g>@)
zVfMIOg$pNzdxo|V@F<9x|y?m63%{!4vV
zUnTaWKkYx|d&W%a&t^4hHOmiF_KaO)E3?5{%6kQ$?FKIpsj#}I_wOtn_LM%GKc7EW
zC(~sM+xyrOj4s-|0LvBtx0)#_rns2Xa$Zlws!NcYcx!U*hJ3Y6ZY%d5
zl-JWQ`tycFkxE_YRy^cM)YyyQ}vD!f^73MlQT(kQ)s)F3gyfxM<(_=I6vo+7hj7zyHZ0`yxtS$xp{H&1$4*BaG%2u$S*4=`!INk-@&WoLHL=SMM?5`mM;3PW7L72q
zTRuuH#2Y}$j1d>DD1!&reRZVGxf0PwytUmHtRHS)U5IlROnOXjIyVJh;IyJwQ+D1d
z1#qk0n7;o=La0A3<(1;WoT4}QxrSTP4X@hqtbAs0BN;{vK!`JLt@^wbK=RMBQ9Z2rQp`sM)BC+RhqQ^wr8pZ`h)KuA`8X3*5Ty)@xd7b>r_2zP
zeZb0MYCYE&nJsShtYlRI!*Na*HU^O}VE93VZS7`UPqHvkrc-0hDCyBK!$4f*B#=Pa
zy#8x|b3CGYWO%sj%)HI#H;;ChD0!O-CZbrrc(LBy|CMG)8w2@X3Y&a3W^`qY^m|`F
zyNbk5*aT^f@mc=$`mN8MhX8<~YG8tTef5cBfZxqGBSIkQa)Fh65j*xNA6;1Qw;z^}
z!I4v$Mzl~L)qPwp_$O$DtR-w31^nDhF951wC*GFVy%$qbzXZWU!L{TdMbn|ONK++Q
zu=%lC!KQ?t4btB;3>2XMzt1r4Kk9gaQl~_)
zb-Xb+H8HR-GSWXjIy_z{VW1O675eJ=^_%M>l%GEi2JticgE)56yyOD~xG5zEQaJpa
z#Djx0I-H~Vsr6!NA@f_>pU_>OoR@XKgi!?KyZ_EquS&3771y!>hQbWc=;z(p_R`&I&32Os892iz
zs#9Kwz?YXP(xB8itw&{1DqDm24PPy_j3}tYp#e$DQEf{#%gdp%ZA>!#Z_rV^W=20Z
z_y|>Ua#){C`2v8{(M0Ff^OO|X%hdA=AgA}#kSSk
zz+6nVMcmjv13TuRWU(pGw;jTC*UM$B6{tZn5W*)Pd_gJA>_XHq$M0DA?AO#d_4KBo
z_?wZZBAX;=b;^&ACHl<{4j|E(`}%RaTRW%Kv9c&-Y`8!@g)T;)KaQj2P&vD#gWTaGt50f%p>aj7p#og*
z(K{s-MK;5bCbxL>y>6;EJoVDA#}k^AsngSa{A|YTh&I(1*x39iYNOGFNLHp+-s3(S
z-c3iGqLQ#Y4|ho0d}c6KD@q+aOHkUokpDe)@+%(44q-xZYU~YC0`gt!ICQ?^$`{hF
zp}tO1jv94dbsz13(ND=96aI+urogI}>V#+z>2T0?=t6HfhEPd%{zWn6g0bHieb
zjIXN#Ls9{?L|h|i5nrEw?r~lrdPv9SXsV;MPF6m7E<#ic0eUw5TsVaVAQFl-EAPY8
zqd(6#>i>R2YfSj=w30xQb4ZPfinxwd7Gmz-d3cQb&WjB;AZ$M({`71^ZyzeYkl}29
zU{ERV`aU9F<)fiT?i}tRxf%t5%o${2cr{6awm?g30IO>7{N(qZADiW<6xLUa<*mxV
z&x$Bnl;iv*+~3+LdC;fQk=#gUUZt9{p8CooRE>2R9OAdmb_3|&WuY4=F*4_`eW~sZ
zH;B_slR(HQOw7VVHb;
zl~Yf7$n@8mWSyODgFl{2cxbC-+CGJf%)BfSh?dv&jWvcuHZ`t~+
zW4^6J6Y7`~mu^N$(zFu0zpFH6YN
z>>2)S8NRq#%^6iH)toq`kEN6@tk0~-T`oGxOBu|gmHSm(#_;Zyj-xC0L2>aX`z(^qKx>?{bhlg&3I5ZkZKBV`&zkSVQqF(B^x!hz9T7{X
z#V@5yI~VW56vT4%Zn3AQFPW9!w@r&(&9&to$~GQ^Z;huEF*GvYzF8)|?&HUzvrwHY
zo@#CMt&L8F;pXmX(7#p8kP7GdK(grd_;Qq5
zxc{`Z4QUuH=)vMVb9jK1J-_)n{wdLfz~^|qd3o@rG(*7~K2WfIbEN$}mo)FR(DEj{L1^GxRN
zpX!3c4vrR4tft7C{<9Q9;@jFFaz)I&
zEj|}_+lnEJBYvz9?qpE;IP;Z*NwgOLpy8bQIo!Q#$xFS!OMG^WHylE007>ebW0%Ec
ze5Z>7kbs|20wM{S*rfOacNvzIk~jowcH{v_8p$M4Jn$f*Z3s}xYtyx|GPbwVaOCX4
zgd8rsjSWXx^2PZ>KTO9r(ELKaH2@~!_wmEy%MtBpOpL_Ld|WDl45YzT?x#)$IJP*y
z--sAv9f=!?lPuM#*zg-Ae#mVM_c`Ju6q#t#`|(J?DjVVXO)xk8<>4tR*R^>-=Xc(i
zFSZomM~8SrdeScwIfsJS*j{fxeVYZ545S=&y}3Ot`*QYU$uw@shbWtdoqmjP^ux;H
zTH=TU01V6Z6m=VSmY@tWt{g1*TE8rZApupnW}a^e&7!bz(In}WVt5_~o6~sv$2VAf
zlKR0lCxHq9e|+vNs^7x>?wJ((vwkqH=3_^`IνuB1@m0aGL{beNZ5vbLNmbdPvK
zPV=}yzPqAFX8EMYz_qg#*7wA5_vR>t^lQ|C#}tnb`Xf6z#m723(n(~aFB_}YdDJk}
zgfP0Vey-vqi;YtsVb!j4K9!Q2!es^j?=6J%r|KoiZ+e??&xgo*!~DKLckyfD5YDtI
zOgjvM?&
zYNn!R!nj%AzQx3}{*<@hll(o-h+ki%7F>GZaIx{R!}x_SjQ{r(FQulh4V`M4Yg%GO
zUf7LZd=+XZuu(|d!q+h_UY6>m`|P*a6nrcsGQv5Gg(QYiI!pJ##JINzKPQI0;@FC4
zEdnkHY7*fWA+W))Ol+En>7d!zqe|{E4p6~k*-1%=2j-@^v*_8xJry>8?9FO&_kI@C
zXXbZS!E^b9%=FGKhY@k$MFm+@T$9Hp~N^ZEUu11aT55SzNj1f)L_QccwFkDQXr3nY1q`O%qC&t1#
zZ$Ir+Gi{r&Ik
z4R1wtk^}wPuT_0{#8G2_~oFf*ZF7CS7Y
z@d97g%qz@(QXXc~x_Hm#T*3b}aWIq&b>yY8Y;%D>#pB?*rcDw@`FaxpBg1VpPAAls
zgALP)OMKu~FwNM}BzTC@EroVVM6MA+GrFgwBdo5FOG)R^wt(3}v}zuMAe
zIeeCzSS{{Z@EQ44>nBF_Cwm^EIn&W`df-psQHilpu}mf&^Iogg^Eq!zXB|pE{!*}u
zbo^-ttsD;%|Iud7Aogu(BC0?(<{F#!x2u}SRO1kU7A2Y+OS84k$gGGN%=1=P*
zm4ZBxbd_N%2wK;osMiR;+2f<0m
z{3T1JC+QJA{2Nu(l8Uy+vCAUl7!5)j}&Y{CT#XYB(RFeJeIsR28)I7l&O)I
z3}P6?>u~C+H86WbFn!hC=WR?h(FOCev7gF7WSvN4CpU>c!Slf8I6PK@=wfbrcUp*i
zvs~3=bbj>?9cZ;(99G_hq2XE&3-GKGX;=yMYZ5a^Lqhi&>yOKxn4a&RlrBGg_3MuF
zRYKh>cLYBkjV^pg_V~8&=)?E6Ow<>@w8>DTzrSyMg7ijs;7I|63ckVGPXpi=qt3=<
zM8d$RCMwW=*`yI*ilfqprJRcNrO)KGDou39BQcA}3ca7oTz_zH7IC
q$fx;(1el9PA^z;}ksD$GEU*0EO!aZ3QM7wXFfJP*EmDl*0{;(FYz5>1
literal 0
HcmV?d00001
diff --git a/modular_doppler/modular_items/tts_device.dm b/modular_doppler/modular_items/tts_device.dm
deleted file mode 100644
index b2fbbca04edb0..0000000000000
--- a/modular_doppler/modular_items/tts_device.dm
+++ /dev/null
@@ -1,36 +0,0 @@
-/obj/item/ttsdevice
- name = "TTS Device"
- desc = "A small device with a keyboard attached. Anything entered on the keyboard is played out the speaker. \nAlt-click the device to make it beep. \nCtrl-click to name the device."
- icon = 'icons/obj/device.dmi'
- icon_state = "gangtool-purple"
- lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
- righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
- w_class = WEIGHT_CLASS_SMALL
- obj_flags = UNIQUE_RENAME
- slot_flags = ITEM_SLOT_BELT
-
-/obj/item/ttsdevice/attack_self(mob/user)
- var/input = stripped_input(user,"What would you like the device to say?", ,"", 500)
- if(QDELETED(src) || !user.canUseTopic(src, BE_CLOSE))
- return
- if(input)
- src.say(input)
- input = null
-
-/obj/item/ttsdevice/AltClick(mob/living/user)
- var/noisechoice = input(user, "What noise would you like to make?", "Robot Noises") as null|anything in list("Beep","Buzz","Ping")
- if(noisechoice == "Beep")
- user.visible_message("[user] has made their TTS beep!", "You make your TTS beep!")
- playsound(user, 'sound/machines/twobeep.ogg', 50, 1, -1)
- if(noisechoice == "Buzz")
- user.visible_message("[user] has made their TTS buzz!", "You make your TTS buzz!")
- playsound(user, 'sound/machines/buzz-sigh.ogg', 50, 1, -1)
- if(noisechoice == "Ping")
- user.visible_message("[user] has made their TTS ping!", "You make your TTS ping!")
- playsound(user, 'sound/machines/ping.ogg', 50, 1, -1)
-
-/obj/item/ttsdevice/CtrlClick(mob/living/user)
- var/new_name = input(user, "Name your Text-to-Speech device: \nThis matters for displaying it in the chat bar:", "TTS Device") as text|null
- if(new_name)
- new_name = reject_bad_name(new_name)
- name = "[new_name]'s [initial(name)]"
diff --git a/modular_doppler/modular_vending/code/tg_vendors/medical.dm b/modular_doppler/modular_vending/code/tg_vendors/medical.dm
new file mode 100644
index 0000000000000..24fd85e015aff
--- /dev/null
+++ b/modular_doppler/modular_vending/code/tg_vendors/medical.dm
@@ -0,0 +1,4 @@
+/obj/machinery/vending/medical
+ products_doppler = list(
+ /obj/item/aac_device = 5,
+ )
diff --git a/tgstation.dme b/tgstation.dme
index be2a2635135e8..440850f647d56 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -6753,6 +6753,7 @@
#include "modular_doppler\modular_cosmetics\GAGS\greyscale_configs_face.dm"
#include "modular_doppler\modular_cosmetics\GAGS\greyscale_configs_head.dm"
#include "modular_doppler\modular_cosmetics\GAGS\greyscale_configs_neck.dm"
+#include "modular_doppler\modular_cosmetics\GAGS\greyscale_configs_objects.dm"
#include "modular_doppler\modular_cosmetics\GAGS\greyscale_configs_sets.dm"
#include "modular_doppler\modular_cosmetics\GAGS\greyscale_configs_storage.dm"
#include "modular_doppler\modular_cosmetics\GAGS\greyscale_configs_suit.dm"
@@ -6868,6 +6869,7 @@
#include "modular_doppler\modular_food_drinks_and_chems\food_and_drinks\datums\crafting\hemophage_recipes.dm"
#include "modular_doppler\modular_hydroponics\code\honeysuckle.dm"
#include "modular_doppler\modular_hydroponics\code\tea_coffee.dm"
+#include "modular_doppler\modular_items\aac_device.dm"
#include "modular_doppler\modular_items\bettermed_overrides.dm"
#include "modular_doppler\modular_items\conversion_kits.dm"
#include "modular_doppler\modular_items\invisible_gear.dm"
@@ -6990,6 +6992,7 @@
#include "modular_doppler\modular_vending\code\tg_vendors\clothesmate.dm"
#include "modular_doppler\modular_vending\code\tg_vendors\engivend.dm"
#include "modular_doppler\modular_vending\code\tg_vendors\games.dm"
+#include "modular_doppler\modular_vending\code\tg_vendors\medical.dm"
#include "modular_doppler\modular_vending\code\tg_vendors\megaseed.dm"
#include "modular_doppler\modular_vending\code\tg_vendors\wardrobes.dm"
#include "modular_doppler\modular_weapons\code\gunsets.dm"
From 06f30d0dc996ccc5e0bad6655a90b0a8691b0683 Mon Sep 17 00:00:00 2001
From: L <105110468+kittysmooch@users.noreply.github.com>
Date: Tue, 22 Oct 2024 14:16:27 -0700
Subject: [PATCH 3/6] borf
---
modular_doppler/modular_items/aac_device.dm | 1 -
1 file changed, 1 deletion(-)
diff --git a/modular_doppler/modular_items/aac_device.dm b/modular_doppler/modular_items/aac_device.dm
index 1f069d852f383..daccc69f63d24 100644
--- a/modular_doppler/modular_items/aac_device.dm
+++ b/modular_doppler/modular_items/aac_device.dm
@@ -6,7 +6,6 @@
icon_state = "aac_device"
w_class = WEIGHT_CLASS_SMALL
obj_flags = UNIQUE_RENAME
- slot_flags = ITEM_SLOT_BELT
flags_1 = IS_PLAYER_COLORABLE_1
greyscale_config = /datum/greyscale_config/aac_device
greyscale_colors = "#FFFFFF#FFFFFF"
From ef9e35ac3ed1797d9ee2a7f8ca48c77ba852136b Mon Sep 17 00:00:00 2001
From: L <105110468+kittysmooch@users.noreply.github.com>
Date: Tue, 22 Oct 2024 15:19:18 -0700
Subject: [PATCH 4/6] ye
---
modular_doppler/modular_vending/code/tg_vendors/medical.dm | 1 +
1 file changed, 1 insertion(+)
diff --git a/modular_doppler/modular_vending/code/tg_vendors/medical.dm b/modular_doppler/modular_vending/code/tg_vendors/medical.dm
index 24fd85e015aff..e1c6dca8ecda9 100644
--- a/modular_doppler/modular_vending/code/tg_vendors/medical.dm
+++ b/modular_doppler/modular_vending/code/tg_vendors/medical.dm
@@ -1,4 +1,5 @@
/obj/machinery/vending/medical
products_doppler = list(
/obj/item/aac_device = 5,
+ /obj/item/clothing/gloves/radio = 5,
)
From fc29e161fde9900f6c56bbcc12750fd540955816 Mon Sep 17 00:00:00 2001
From: L <105110468+kittysmooch@users.noreply.github.com>
Date: Tue, 22 Oct 2024 15:45:33 -0700
Subject: [PATCH 5/6] whar
---
modular_doppler/modular_items/aac_device.dm | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/modular_doppler/modular_items/aac_device.dm b/modular_doppler/modular_items/aac_device.dm
index daccc69f63d24..d94f9aa95b512 100644
--- a/modular_doppler/modular_items/aac_device.dm
+++ b/modular_doppler/modular_items/aac_device.dm
@@ -19,10 +19,13 @@
playsound(src, 'modular_doppler/modular_items/sounds/aac_stopped_type.ogg', 50, TRUE)
return
src.say(str)
+ SEND_SIGNAL((usr), COMSIG_MOB_POST_SAY, (str), null, null)
str = null
+
+
/obj/item/aac_device/item_ctrl_click(mob/user)
- var/new_name = reject_bad_name(tgui_input_text(user, "Name your Text-to-Speech device. This matters for displaying it in the chat bar.", "Set TTS Device Name", "", MAX_NAME_LEN))
+ var/new_name = reject_bad_name(tgui_input_text(user, "Name your Augmented and Alternative Communication device.", "Set TTS Device Name", "", MAX_NAME_LEN))
if(new_name)
name = "[new_name]'s [initial(name)]"
else
From 7a9986b6ed0fe7f712c596bd78e833e4891d58f8 Mon Sep 17 00:00:00 2001
From: L <105110468+kittysmooch@users.noreply.github.com>
Date: Thu, 24 Oct 2024 14:02:22 -0700
Subject: [PATCH 6/6] last one :3c
---
modular_doppler/modular_items/aac_device.dm | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/modular_doppler/modular_items/aac_device.dm b/modular_doppler/modular_items/aac_device.dm
index d94f9aa95b512..912ac5e709219 100644
--- a/modular_doppler/modular_items/aac_device.dm
+++ b/modular_doppler/modular_items/aac_device.dm
@@ -1,5 +1,6 @@
+//this is the tts device as seen on other codebases, renamed and reflavored to reflect its real world counterpart.
/obj/item/aac_device
- name = "AAC Device"
+ name = "AAC device"
desc = "An Augmented and Alternative Communication device designed to facilitate oral communication \
for people with communicative disabilities."
icon = 'modular_doppler/modular_cosmetics/GAGS/icons/obj/devices.dmi'
@@ -19,13 +20,11 @@
playsound(src, 'modular_doppler/modular_items/sounds/aac_stopped_type.ogg', 50, TRUE)
return
src.say(str)
- SEND_SIGNAL((usr), COMSIG_MOB_POST_SAY, (str), null, null)
+ //SEND_SIGNAL((src), COMSIG_MOB_POST_SAY, (str), null, null) ostensibly this would call the user's dopperboops, but it doesn't work :3c
str = null
-
-
/obj/item/aac_device/item_ctrl_click(mob/user)
- var/new_name = reject_bad_name(tgui_input_text(user, "Name your Augmented and Alternative Communication device.", "Set TTS Device Name", "", MAX_NAME_LEN))
+ var/new_name = reject_bad_name(tgui_input_text(user, "Name your Augmented and Alternative Communication device.", "Set AAC Device Name", "", MAX_NAME_LEN))
if(new_name)
name = "[new_name]'s [initial(name)]"
else