q9rZUQ0vf%4H|3!Tk?i0#BL6Gd|)P zk`YUBUsKM&q+M7E%?{=g_7P+$#%xMTyrpX^mZ!Y+x+nk#SZ0G6aW}( zc44W~!4cFPZ0|o0p-#|KwGYw^(6A;S-cbxG#Kr}i-N9Y?L#t%=nFt`5@-kV3eF-0` z^=@ZTRzA#+q0V%cYsJIw*@^OPJx{;&Ia#U$1xAUH_xXi}hJrw(epjl^J+_f#WKE1R zI-mIH55GldRH&aIM?W|d#9xBJ7as#_|4im$8dm6)EMbvcZ`0-N_r#9`6=?j(Pgtwc z-j$oHs8SWqz~m*x6l8gq?hCDX%Tz!q$(Z`1;*pq_9b5mq!>9$v?UXbrmXVZ%iwY!d zEd3Ei1`)|pB%*e^pru?|f#QVV(BTLxQHEcsdD*)cKt3FbGsXexj}s9gDbw*{g<_I8 zw%LnPA%Sb(9Ee!8FDRwN xUdLtM~+tSJtBEHxii8ez&&W*!!e&4&ZS)bUk zA}fag)q>kcOICJC2?VO|E%$ckTQU|Tq N9=Wp@p7IxhznOJFCfHd_i6;Hv`2rkRD0J|2KJr|B5~;MNo;JNvst zqWbp&x h}G@CjYC6*5S&Y-AcBe@&b_sUVo{|ntMNs{ zT^E`|l%MaQ_~X@GaaGjp?_ot)1UL5^qm$+@8U2nn+BlcbERMEwoc{JkhNE}i_PClA zrkuPcSSX90JiT5TIJ`-|>GD%-&952UMr4+5nUNI*GU72bJq0COr3us8=;}^5b6(W! zye_A@QZ>cDUqXY1e$XrrU%G*G^>hpA$QG9vtFGLxhe%2=Ak87%^g*8xZ{ro@4=%nN zCLHe;#+xg4P^BlR?EgluF5`4j8lu$AL`s}I7FQLi+JP0Ja})r%y*-M$dw&5hmS$)! zf0#|4;tP^U;^w-R>OHHu-3~%gR(|Ktcn^v{>)7t}l<*x`;2Eb=vcD+SzKHJ^o)p5t z66WEHz6dSM(2F*?H^aRcnNjfS88k4+z(R`H{lL?9lj<=VWnL(s9%4Zr2~%47i~i*@ z>SIGQLdy+Fe?oI<_(i|?H!57Dx!>bjNpWe4`(-`#_I{0f84MJ|0sc@*psB evd_ zQ^RY5gCzR({G~)dbsk^YCG(h<9Q3VN9 z{4VojSz}Qdg1A#obq+S5RucTOKuWsR)VL+b8;^zzZyGExddLhSNl7D+dIv-Tklp<5y zv|Oz*{q2tFdf2ARI>C;=DSyZ7b}a6`5Oxf@i?;f1&dl8A5oO}*eLNgAoc2gPOcHnu zmSM@U`BtZ10zE{ozL=`()v^6twSWoHzCX}WgU;Y)d{fpxNk|)rZP1q+MJ+adA+Eh9 z)_N-8`cbCyISzwF6DWFjKo$D3Z>Lk^+gfoxf{Gseu&^^+E^Sq@JYM `4g6S-IA*u+F9 zlJ5c=I-qz}Z|=8oi70(A8Bpkrx$w4uvE&~v|G*FGfrvnyAgj!GGn|h(gmG2Ba~d&l zRiBl$zTTX@RXVz#ont0P4?}!Uq+-F)-FjHq*vCUm@|XDb8xvCBZ%$abWOa@l^{K~a zON#c!=H8DngQfJCBm)(mZ+J)Kz3x|TkZry{c_>^zPO3s`inra=pHM$M3(X4LpB=QE z;9`2b0=j)UjuhgF|7!3ZYOkcHU;QRZ^`pu=0YE<}DJjgs{G36Vq~55@4jr(t?cgN; z?UmxY!gU^epkmkZjK1 iK*PeN8eUa7nDAgPzmc`U*XacGI+I1!2~+6Wx$3BqjExIMfO# zB$&9ClABa-f0Mdee5|rxmRCia^1Jb8G^{x3klF_G6Ps=?2<=4Jgu6$_ Esq@7TVtx7P(W(yD=x1c{14bbamMS<%E)YcANRI` zUoc)j2qYcAI-z^s3vlVXzrC}w!Vr0H^%cI{*NrK6%h@9q22@su*Y_+=xm1DC;Nk^~ z&h=JAe&loUMHhKksp&i9;==MoSdri56{3I$lKgKlnk@}xrbwNmVQR1hpDPO9 #&6O2PferAw6$ z6+pf6S^Gka?nX_JeTG(jwvOwJnplVvTff(cHpPk3+`6A?=BrHV!mV!VIYoKyDWJXJ zPXr=6t9}Td4{zCcx0rWw^=b8p6bzb0^Vj+sR~!F8 DL zO{)6s)cIzov8EOn$AWbD9!z6VBDu*IrDOEjw)wxshWA@o ruM$K#J!1M+PIqVd_Y+%r(!8u8Cr0AHkqo4OEdKsIb&f p`K~bXnpCA4PUpGqDuZUtxTq4QY|b= z7{^)krnIZ!e$wLV{rQQAj(W$I= 4?BEFEpo%^B8Z=Dg9o(GVE8!xC7nQTx;hQTsSWh~yFX~7Hc8ovs_gE3*)PaR z#|O6Y;fpCyjxZONot#?iMnmWQ<>DniYw9%kS;D7-E(1-%jCGcslXDa-Qu)jiOKgob ze0V0eYqB%kyUQt6IttHI?$f^1;gOa|WcP}UVg$16cNe=#`&5zaO9w2odeW9xmRYC@ zBGIp7DW!ENBqRc~=u;UI<>Xt>?1JQED)izmWx3y>&>0XZx4P%6N6h!Xu3V+l*s6mJ z))5sZdfE$IoJiHcQd u(nNfz7A`KP9jH=zsn7^(>RA8ExvMBK_sE(M2 zEyA;=tWg(ITkJgoe~7A$|42_-Vz+f2$VT9uc;0Lz_{=Qk(?b^%#s}YYb=4AnwN@#y zlX%c< 1mXi>Qs6eUrp%SrjB-kBlHx^}Xk%p1*KGUMO zkag2%mDc6>drf^n8`WUn)Nh4?TYqW_(t73vDZifVoueRXJ^0L1G|Fjq$mMtc)U6x! z^ncfY@kN|{N)>KHv8>bY?oZ}ntxQE;**;5PSaqjc z{dG!s3s@IdOXhD72-1q*{H+WPl^I%Xyx0e3R9=qP8= $P^ zi&K_v*8p*DnXj#fnK7=et{Vj3)9*WVk}${^?dFktYL8KQ7Y{rhzg$d pZY?_6xX}O`Fg4(I5gs`q@nGgV z7~?T&b*teo+&m=I+1ul)p26EQ*wc6=zM!14vNU;`N3b?RuMDhiy%5vv^I6ODNCtO^ zKZi$?oo-Lhwqi#A4Se@` ZZxi99)7wcERsxTfMfKu8X@JKh zEmU7ytEu<0B;ccmIUiy8%ac592G~%*(0`ANM7}=>e)87Wi8xpzg(e+&zzxN<2k6e$ zpS^7C7t?cF(~C4TeI^=7CnFHRtg|1jCq8Z6Y3_dAXTh*@EI44kONt(%!VwVr=S~*o zV2MLZ`rBaky71Sks#liZn`r1?9?#B3w4ZiIgkR%!lpK;0Mg?rgcu4jIJV8h;-Lx5! zm3hie)H*> )T}U+(`fyYvM3V% |& zKduYPGdEu`j=dmIiVw*4t?+qPy^)|IuQ1_4W|Aa0J|XKf|3jS fMVSsqiVi2VycVb7Wuw7b zFpdRrKOrFj`|jBvc=bIW+yE6{-n19!mndezs7EJ5A|>6KKp+1LP$1#GZ(}8z&M+b< za%9hGO%(%}!Unx2aQ+eJF$-J1D;_^g^YI=e`>MFYU3OI1uJxp(d+UgZbYs_)bDXm= zRID`wMyT>!Pkx6AM_%D@XJgF|h;73meXB15S74E%pN@_0jDsgw`)T{(k#Kb)S%uhQ z11;T|l}hA9KGn&;(#LP^&5E+oZ9k`DyJR{?50kEm5+UyB%tFj$GW5hryJUZ}ZpNAW zYm#0-LF$9lcIsjztD}G2Ib98|HHk1DI2#}1 `0};Y>|O2mkqyC8UD@s=J`f`zmocV64LU+vA9zc4Li (Vv$XpChKkEJI3eQ91?}JsR6Fj&z#Zb`v 7-%dYGz) z2K {S5Cwa@W6O^*!YIEi}A8S f!0K-MzerV>-GNwYaT~ {Df5*s2lDah z@_-~xDF}#NCQmZDwk+TKckaW#J+$L|<8*{U+7&E(hj7{ojazVgz z)IsbxUPXQl_3D22R(2p{eW4x~U(c1F{^w6D^e}j&)rUEjjUZcxfo xgasW>^8-);HVx*v^Vo?{>s^bFj4~8+Pb)e1N5CsU z!?WW|qGTJ}dr4Np9Avu#vA1cS7Q8^*Y>u z#0g)|w`y(QN$oNjrSd}^G>2b?zHDlwgD&|8QQLOZV%3p&^ f^nG!i+=>AEo0I6$7CEi-EHCB@wZsOA>`di5Oamob1y)=TP!_~mZvM5hKA zey3&q2@hnn4dv&iWZTWD>UbP;WJ98k_!B?LoSHiOdn_vLik}!gzh;}DY7v=BIar^W z WBuF-dfrnS{nTB7N<%018@0mRwBZMqt{YbCHE0W$h%A5)YK zjaT9ai SfstYBKGjfVhmLX^c@YF%fJ9YYUYon zZj&<=06@S{P_vin1uR)s;_qxxfEm4Z>%?<@KPAZ=>QDj7m$^n3iVAJ9P=Wj+2;yqj zt9yW1l&w|Y-F@fcI>O5K`yvbM1wf-NhxhxYyLp8?v%^u9KhJmq36a_Ww)>a6EjUWy z)K%1}1b)b8ho@R>HYgXK>=e)qA%ZgEYRNa|{QZhgV@;iSvQ!B%St)ZPBG?p7vg<6$ z&nG%;*QK#`QyrH=#LLHC!PSmP?2VO6dc`9#;4{V0{iwP`i3C|)u7Nub-KD~RAG#w` z_-@^I7(3+{)+{7xt^2-?3CsL-KRf{&_!S=flo~v9BJrh8>hkigAV*H*wW%q=#CWLV zgV=2Z^Bn{!D58pOC%v|%LxYhNvZOpFy<}8_>+)Wg9FP%LdDP5tDWJw&?8vW9#zImn zOL`$!%kJ~-aZY~{yf=0KmR_wI7|%H{z3G^M?dT#iBg0x2`*8j!KsU)M)OL{V`QoVB z!Sb_wGiC0#)f%37%}?6zP@+XZj#U7M(%&W!NzbM(aD-H;%%cEiR*0FmZWTnnNJ~;R zuzuH^V`(y#-+pBO`dM}t7W9L;WZ(VdF&t2ZEeYv{d7|TJ 0AHgT%zdZdU+bDJ};dRMFDXa!?Sn zDK&7Mx--oLI6qw^xNJ7{91hC(MqY_w#C-|b*NH{KCgm5vGwGIvEp6VkuNNCX+urv> zLJ01L1w9F6?+L1)hdsd)pof@^)JeQ6n&vGEHm~Da37?^EvF|;cZbh{EXpbh{vh-Fd z>>PB*>{-4YwXEAq=SQQHhx6f(nDC;Q1Q7>4WWxnjI;n}chcG^HOmmQzSSi{YwtBg4 z)F0H2Tr}Iy`3J2Na2;l2z6VXcl%e=eN+tYQVqP3o_npDqXc@pC(B?fGWvx&W^RD;F zZWli^Kg8xkoD%o2Ukc){$_chmR7awO@IG%SY`;#<`@Ju=-ca7EPREhyk`P;RqZ$1g z9`dDlegPjcXiG0yKJlgf%zQ)>*}TN9h1Q3mKai5F^>*0BbsCb`hD*u${#`Hko;mGX z;X`JIwgO5i-_6W@OAE5Ki1T)3IHeG<#}-P*R@n?Y_J^}u#Xi@yqHD25UH%(vGA=A? zWL#yh5)C?6)E1<#S>X#=lc@cS#+_JXpXxNUd4#JQF8?$2Bd;(-%ruc|-A 2queo!rwEOG >f{J9J~9r)>i)P)m>^eRd2zHN>ptBsHOC-{po8q_PaZfz_<-4N`5@%#6n-M{YI z`NFVaJsjHnEVbzOx2oqkl%8=Fl&rPTcvJ77w*CurjfP@&YwdU><@H5T!xuQ>F-;Mn z#<6Wlfs}-p*lYPH{3YS#)|qX^N1K^+d3XI^&&2=#gQEZX5IqQKTxtH^ImYx*QGRt2 z&>=m4XSfSIIk#W-4Bhct%Phb5)55x5sg|6-Go29nY5RmhayrW;H1dBxhyU;IDdVjX zJ-JZuOCXGmg@2pl8bb+-++Pwe6>^u@{tHvMrSmJ~Za|+S8%nIZCk!QrDm+y`jSd8y zUt(^pKX97~w9oTj-m)-`9 *4#Dh)&x zq{Jl_b7_U9-St`NNt)#-Ks=$VaD&m|#h&Bi-*~S*254V>CB#yNr2R=nHt)KzfH9Mj zP#4JjJ>mPpe{+!?KqDd1S7W@X@Fb}3`=k&)2x}mq3w{6LH>bWP+=-+_-^{N@13Fv& zC8fa8@PohHpx6%o`c;J5sr3q!74RF|SeJ%MqR*7^y@b7PlNS?GXt!0so|D*quAE42 zm286Jdx~|tNFe52H{Ev_k%Ijui^5FQ9dFNE@;C9s_*hp}$vZb?B`hXt&O?+$V%>Kx z_U2f-MGu7p9%#nhTne>Glg{&0CFN`;{^mRT9oB8Qg0P})OX3ppNND%8LwcE5bCU58 zZpPZYiPsX93=%;9;B3TAJ5U)r(JILKvsF5pSDUe#n$4H;0;;@LV`o7 3IC~CNFCCoc+yGbgMrtzRwY@4jLatls^qvvJ?qT}HwvK8>f<7J zd8c+CK0>S4lQEDwEUmX@J^ym~PvL0#{mXR#Y|6mGT7k7236L?hJ8tY}nKGG>oH?JM zy(OCx0>4Ax7C-zaGVKxYV1ff8szU=oERcK1zz}tRYuY2@;CT1VB*CKDprX&yMtpFu z@9;;q+o7stigO6FiB3KJ31r=WLYBG3NNLp1#x~k>H)eZhMLD@Z@TKBCKCg%5aR(F- ziX$lrl_ggJ^eljY>}&<@{y1z4VcZMV> p~z1^`d5Aw%trRaJPze0M{$h= zH6M#(T8d8F>-=)L)G^6&IC74Q1_JPXe*^HjPTd2V$>1qeX=ap+il7qSEE}s(%2aqo ztuD?OWe(ydMyr1oo{Y^wbI} kd^e|NRUdptqwyp99!f_9iY$U*2JWe1R^6=xsj znA1*m&LMpojkA5!1R3bp(b@8(*?8YYR7c>$ef<99+P1`u?SwHEEA#OgUo*csR^+ZY z 3jfY<7&ULj^2)U2@hq^x8NSXiyjsgUEE$ !fG^~43xFW--BfY>4v4r{|ybWPz@%4DA;H6+t)Iq2nz=5f3AGTj59N4Fs5 zRX9xi&c(cjnTsRR85;lHAb7fWb@X!myvI_q)@4_WymkQBS_V~M(D`hoP_K*;v0|kl zt?nu@QZy{+;ANr%E+I1HuY;1^C+b8osa^o$>^9@vnD_V|{6(X$@%Z=t=IuRpWc>LY z-=CXTf`+hu!K%v)KN-F{zBkTs#Oy~-hknK3Wf%Hf<9e@b>SM)d^GMw 5$kB$=_%Ml%mzK!I9oJS26`)hK&L{)I@D zt Et ef^X0t`sC(ZzXbtAejk)bnM%qZuFiZ0KQ1 z#Tskkx&!4&o(O>cG03H_|C5ApEYQqvzfXafJkiiziwByV6AsFWWDMtjzCuGfI|lsX zArwAxd3m`xxBgjrEUApYdwb`It-4Gamb};=s>(radp; KS>w+t8$TKkg-=sK$~^ss?|c{ &`#ZtnZ2wHg$njS? z0K61;n|9_dD?BhTy(?4>Z8C}Z5wkZKXB$giB(OTfDuq&OPEK7&1RIS;=gO%>G>U|o z%WA5p5P`|NaW+R1BlS%}yaL};br=I4fA;h1hS#m(puzWIGtbk64bSO4de3tVc?FpV zB0Zi~GbSTOtel^bEi4gCi{#(C{K`}%{GUPS|IOy-WHoz_+Fs`R^y5=3G^>3xn-E%C z0qOZEoNxOS=YLyV0r{b+Uuo+rea6t-Z%Oz!V;b$h=6C$pZQJM)2!YcN>Z=s;P;Pm8 zbnGQ2r^gEA5(qbX*6cxq9d6(C3m3MFeEN$XC`DcH)#F1m#MG11^6RhpVXee*r_{uX z@|C|z7D}n>=FJZr5xo^ZnxYL)!G365l}1KU_{uy3dp-j3T{)$+q3#7{M-`|o^gJ#y z>rPKyPDPcXyl!<>%Bn7>BP+v5+Emw3oHQ#J4uGU^aJkDOqJUNLyQI}HxstKdFF@FV z-~tJx9`gJyDp0fOxB?R|dARbGc;PG`anLF*jJvQHC}$_yv4A*Rvnl8Wgp9J2x?7}n z@euUt0d~QUOa!zMJ-2&kNc6pnhcIUgOWtz8fd74YWkhL^ =t#N|9+&FhFS+V|0wH# J9flIbm3@<{?&j;WB!?p@ zJCaG#E>kLgO8H`ct-qe6pD()Rva0c!vbdFM>lfM(RWy$$%YEOXwXiM(%99eCt|!si z<+D^}(+Lx|dK+u-?e{5iZodT%6(9ucn}#$0kmC5SwdG-&O~VXw8`tog*YNoUudfh| zhPhF&0a0|nv|#XrCxj$mW8%gYl6${f8p&?WjOLU6b-9dT?M|)&8RQBr@8ZLL6*`sh zNv7sbU7&yK;EsX2lDbPpdnOsK*i#N)f;)80{YikG6T3G%^>~` zc1Hfw?d@A>I)Z+dij2w<5UKA$fN4K;$ZuWYUAvmNtKkeA=PV;WJ4HzrAa7uvCdHPR zT*;E%M+Ywvaxx{kO+T*W7`xrcDHDdRRZFnSd&p6B#--4Na15kxmDR=M(8ex@FE`Lf z%_P)#aq-fCNvf)5MNL7{=ck^NsS0d}C;JW8#Fzsv9MoohVd7;z@h#wG;&P#(R6$Z3 z=-lV2M*xkO#TdV>`p8s$0lvfNx2Q83njNkksO<2D{|I2KD!hSMN2Yoa2c|;xrutn* zmu1N1;50ln9aAiz? +qdX z($*bjJbMH^TTSs7@$8iX7{QdSeo5XV1yosJ{g<6p3Fhq~99z^Q845=k22BS8`5pG} z3eEs~;d=c&;X47)7nG; A7{l`SP*~?1(FWBuAy$cTef^Z1Qtdp* z2jkY3Y+KlM5YxC(FZP=RueU=tgTrC(m1vg`aP(T!ZNE7L;#snqAVpMG*gd#5qsh>d zF7bS`BAR@64Nq(zh!?OKMNQ?iHe)XWoKW{47Ayz$UgYw`UDN$N$yf0;sLTtjO~U9q zyL^XykVuhz_EZ-}Ac^*riD$OG=PC!j`}J!SF3g?H{)X=uU0!9h zH!TXFCU@e@Ic#duR399RM6gE;4;u>$K6g6PxmTM={MFo_V!(tyn;m?qTL3!U4$>(| z!TS5{^J;5rM2|T5k@#n`)NO1m`>GHJbnH3M4o50torw88I~d7cRK?K1mX_|nI$>%9 zdHZ|@o*<30Ram3X^mJm1lwRa5rEjS~Ii=pQU(-RYqqA~!>34_*i!o52v*6;p_4Nx@ zSt&7)@UO3tufmyf)%z$z(P?m^{zsXdYb&=v06lzozxt0TNb=whX;(2vbEXPIv2O+8 z8#otNCp$Z0Fmu~S8OCDY_Ul3*1-0S@3vMP0zAtDPF>S~{R4T7UcJ5-EVb95<%`Hn^ zV S9;7fUGY{ zT|gqA7pVk5?L@6LZHQYoA4*p*)Wu4AmFslBCmfvM;vT-D2{xrbVe-qjA|%jQv6L-@ z$L+H~jfG=n8H1ppC^(_=v2jw(!}Nd9)C`4@2m9s=fg-qwdT}Pl9ff;`(B8uZs_uuM zuXvRqb_l(%VbZ^_9^&g|LXyG&T11?rkcBGoF(&sKIfs7$;3aFtNF0RqF?M~wN3g?R z{7z8+;{Gy0|1X)0eI#BE$XCvNx{Kt+8psoS^T{V S%@A+sDP5R)$BjdWeub%jttn0%eRDB z%`sr2qHO#2dh`*+AczV{<%`yZEVvN^QK+2yQB>d}2Pm9xE)p>3Zu|_9)vWZp z5<*d%A!Cxvc%D=k`2CB_#*m&Cl+*URs%SIkZ{h CIhq%15hF0%M!T7V zJmVP@*yaK9^78r@EiFUgFCOC&%@s5RnOF#ejJPfvtim~R)&ETp*?AJN@$S*4 Hx`eE7rvc;+{2FiwSdVU>bRd&xC6mGS+Aw$M=k*k6P_Qk__6$(F V*} zQhoo}jO~}_+FFc=(q34w5-e@D+&vZB{@SSHPHetWM=IWJvy}15C6r|UP~aV8T-$n! z3P5GKk>4;g3^2rgL99q@1c%a$-)3s^8I(xF>wm_pcEezg3{bjOA|@wjVq=d;JM>8# zZ@#A?N1(J WVe$Yl zynoQiil>z#rP0+3{Qk}MGvV%+y(A!HMVT_rUrxzmsp_nbtI$kFq@Q>5mWBdBoU1)* zf>xa(Nws_a*H%RMDWXKAjI3BSOu|1Pc57ITrxnc8I(4Mp vI z{2u@n0N2sKH@_Zl+1(u0Rh5JQh_?IXW;G6zhFof?=|~!`FF|&xBeALQbA6pXZPcHi zl*7MWe}0HOYq|4Pd$aw@q>E~Jno&trOch4W#;TsF4er+&&R sAYmxFU_PXzgt^88~%F}6M@MxAAuCPGXL?%2eC5%Z6x9EoA#ATuJE6o(t@1E z7k^kBlRD-!gyDQdHe#mVMDV`nT42~O3Q%OGZbf_%1tPO%Tv;Pt7*D| YtJJvN<%BrXeAPBkyl4$C=JGap%qQCAw# rhw~4t!Izv_{i8dhD@v$bC6R!{aV2Jv?#OP0R7ZLPEpVm(S)i1jd#Z zNZ%l6$m)4S9O~xKGTu!82@<(WkM;!-f|-DH=D$$TlFtNbNOU={;379>CZZk;5A6Ip zKZtVr(qpy7w!Vbd98Mg*CoA!_+IC}~V{z6%0TEOBPe#*{gkjWU4}=SsYj8{yV{mRy z!3L1M%5XM=an_Kxe=4bOh!Dn9P@X%+$9Sz>wCh^-1 j$ zVzd-&|DHenUb_tq$;6Rg9I$1GQrV>2_+-i$5;6E2ocT!f{di4O 3a=6`NQtEAaC( z*>QYpxR4550EcB z9dp;3yrHCi9bx^zdq{#@yuJN064hm&zVAyY-F@rL9tmS p}71pjmZXW6m`Ad|p0(I!qD8WHvEAoQYzVO@r$0xoj-& zlt4l(u!uP`tD4K3i;MhuTGGq7JeMob =FU#)Jr2Nj94z0Lg9_1qzyp?&Nd_|V!JaBd*#}ksd4KWGpSW~B?(R}+B6QF zF_L)=TD{O%t$!x){7l*sK4&83 WM)u&4lb*DG6ucCA2r$1%+>%X66LAn7JbKCv{LMw%-~R=Wf{m2M z0Oe0 &HaHOE$8d6!?K6ampJ`Mw9z3m!3YI8Wyyk2iJI>cG=)DX)PgnVvbFaU z6h=d63OkOZr`WiNt?0~kmv4&iN>Dj*df*B;>@-m8>HCMG*I-OIDA@lqL-c 4t&7>yHZB^Z(PwbwxF~E#aU96se&EkQPdm0MbE`5_;%Gq=|qe6s0M0B!mD_ij+`- zpg}!Eq>6wVQ1D6-DFKugDFV_G3`JTH1uS@fj`!u>hx@Q!X0NsT+B5Ube6wPHE;?&K z*QYoXpW5 w#TSaoFL=d3S@==uK5Lh{2Uguui=SOz?l^wi;aw$(3KlqxX(ni`U@W7lDAb7` z#e mBk!%J1KuiBKh$ z2)1;YbPR7S;A}1lIklG@^!u}$Azhcr;lEzTjS7vEt=&z)-CiXnWza&he9Pk =7kK0l_9L4g3JrB>S$Tj8buqpY_frDEOsA}WhTGY=83rtdc0m93#4zlUcprAB z-K6#6OH_{NV@WKPmecu&uK|cJ4&7}Ykdb@VQKB1aFiHaAjbfd=D2Kn&ZPVOoAY*2+ z5t<|Cp50A+22UU6l5MQ>HJ9Q-Y|})LneF*Cdg>6SCGe>Gli3M=scdW#!&izB`QR^Q z)w2=(`mkAnUOhS;-D&XTmQf2NV7HNb=iRjTBh{qbff79n`;N`nRfoO!^Z1sivpS>R zn>|m<(bAfdvAc~QOF*D|BM%!BkBd0&e7N`uYJXpsukm2AdwaQM{)=yvX^vy6;GwBU zB`tC+_ulHczv1(1Ra_4zad{5w%JfX z4Q!|@AB;f!rXGp7nC)wcw MmTP(kg&geQMc`=6wo!)uTwrg(b6S*}c# ~QxZ ztiH^q^7CshfT<&;IXR?#=gHDe({yq`h#pJ=P%=Nd9WkYh!`#2#lmwabW#gZ6*TRA) zKAEF4A4}0QbKLC$3ex==R<`&uB&0Gal55v}$vkSFP3uY^LMWcsbiGon7!$kNXXNST zm*wXhl_J>s-014q{kKLubv*>Vb`Z#)ZgL&zd=o(yK~SQDkcDP=k5>QyuYpj~>- z_!*bx#H-beX4JQcxZ%*w1}()X^h%G6U$*B6!ub6hnm@;BmYM3X!8dt Whhtc9jmt+QYdKd1l`@Pvmf&@vQ zR%YI(-Bpi2i!C~_TVH+hAAkrD?=<;}#9rN9K=~LGxDGtjr=H-R;n$fGH+swk>&@yG z70@azjYGAL9Tn?pEB(<@MlccIPN)Z7tdyHs)TfI^rr^rt`Ce@y3P4sdl%@r1%iEGK z+L0x?WH-12BcttuM>4z0neO=~-e8#_^Hu7M>sYpLq880V{tVUSpLU)~QmDxqOz($9 z%fEk$1IIMg@zugAHgZ&21Vaja%tH(U-ml>$?eOg5&lA)9BG-$S;z=#WMLJI3c8Kpv zywp9%p83utP{&7w;RU%n93ek)RFCN`rHBZW{Sqdz_O+B39WJ+|7?h9IuPdrdQ&O}t zq!Hb(lxZsW_`XIm=!Srj(X#XA+_I^}^}ufDx}y{3b6=&oHWNlrU-p$HK mM1_wk^?e*p_(54=OB5=sZr=b*OW+5Z#@&%UqBA+fq Z|!&)$z9{wZ(tr#906z!pJ5Dju~;KpVkaa^W%;AQOTP?@OYG z^x?3sW8gn=!7!^1FSE ~K-Ktb<#Jh`?GKWMoC266(Pik Z;00+cZ(nl%dc40+0p#D^Zxu0WPi8CM*qB!Y`D5_*bvp$GM^Fi- z9MzpaA)0F>m-+^2R>;eqkk=beh0Ds6%yiX6c$kB*f g(QIL03^j!XGP@fb9N!o zDMNeBTlMD7Y#?a?M35rk7uV%sq^2ex05+>|uyQj5zx-)ka8I;QhZSV1su%#wkB!n= z)shrnWFb_bg72f9$l{^Tz{SquyI`;o#I-kH97uCJdjRm4GoF0_p`USlH92qUT9B*M znmb6eM#!A1ERDKKCEdAWmpWCO&wwtlgzmCYoeDH!X%w(Mcv7*yRh>ZVz|HH|Bltl* z>c{=FhKRyN$>4f`aIAP6TQ4WHYj1DQGq98(EPSiGugB`q$nCsj2x(wvIDg~*n!d4a z%12dxQL9^U2v5qJjURZS)=UX;6h6?F%iIZaDcKj;cz`PF6LU=}<<(Uk)?P7bt8@>I zW{OkD78*LK>FGU(#!-n-J4CRzx0_i{mw=OF06s%bLo=QI=+S?=^i@K?x7i&Z-?8Pa zczmw@*Uhuf#p? v}!zD0F>iQZ0C?%|%DjQ7;*AcrdsACi9Tt%Nan zo)WUkH_M&X4siVduH-UbF@5<=e?4)&>H?jDTxQ+~32N6)`B+_jkuBI`%%EsL8H@4} zOk&%}tsyO5wxxoSRjq5Q%506VaLLoJAZ |a0_n1HMkSpA-D%8!3h@J-QC^YodJT&4*&n&*|)oI zch9*q(_Odk?ds~fRbO}2oiIgt$@fSENB{ufy|k2=G5`QY`u0J90{{S6fn|OG0CcT~ zs;0A;sgtpzg}t+doh<<1_Oo`O)pnT`4Y0B3gGBx%qC&dbgAM}=KVAb(en;9w?lNeb zF5uys_$13^1M9myK8M=`O*m*RrfhV)UtfV`Z}Z;bF<6HJyPEx$d%ZrL&I9qQna_$1 zH CJXD^XvRfwdGt$Uym`Q zL-XsQI<+O$`XaeRuRjZ4Fk$)Lv(>+re^XrfqY;|-Jt57HF1N51Nxb7`LWA>fxLWM& zh$c*e;Gf+Ee~dqM^xBi97K>a_g|C=&^^tOQW<6CT8Zai-_^H=>K3~z6snTLY8oc5{ z8tT6RLh8iTfBIAG8d)3-h!T|CsCv_D#bDnvY((Q7YjoiAB<)t-^NuJA?Di?;?Cv{; zxBIt_c2qKtWBU)}*83Ot1ieqHA5i^>(;G}OK(8o3Nx$$eXLok{qZxcOuZ&lBpZ|5- zv>|^o4S3sWX@T2+pg(4~O}}R_s3ClwJfT4V54C=o%YV5%Ky!WS(#R(PFS)-r?xMp} z4Uw0R{kPZ;b+X{8lKCy@etP^Q_^ZdgNE8e_!+S2*gRst eC|{ECSAU{X3?L(CJFM|-os; An(b$ pv65=UJSL4nhvnAxeXl1j4c9kaDI`i _mg$5 zMCXqnWX8zN?}2wa1q6g_UID>=9rfEiksJU3DL`86ld9X#(^hvk!r9i>*9^BwBkj5! zCcP^6L0jlAq{8hS*?$bJEbNfEYhrO4PFodyR As6-XL01)YtLZ} zr6tHpky4XI822|DFGicnRxy5wsK0tN_Ug->jLeJUNaF#O?@t=vkC=lf7O$rE8J#}V zTg@}Ger3@s*O U%kvJ1KauRdFXD(L`NSH2=Vi4&)+#YM~xY~TmWx7P(fa#Boo3rz# z>#Bboi&_pG5_# |2IJIhLqY5$g&r{NMR5VnJiaB`? z&*@Ic139qRhNdJj@PN>DZjRhGe=`CjFhDrpe7RR;*-RNHA=VFtI`HJmys&ggoI)0h zonh?GvgG6B0Eg)?C? s~xxv3QU3$EI4H-~)clC@W#NuPn{Cgi962VM< z47CGOm`?8mV-Bdm?clCKDMNQarX`u|VaOE=-4}_tHIfT*6T>Wz#P~FRyS{&cNl!8# zi+X>5AO5IU;XusS NUiYp^EBFgM?>XCDey0cZIBTdlzLzxl_R90gs zT%9fTm0W7W)^9=pAhYdSc;V`-G(AimBmM^}K(k;d?{O@FQOX=9epnHOTC_`9$)i-6 zn)3GjFVl~dUP^SW>U5Z~!-^k2FCxl{AJ)pG#;%>~BhqJzBhzE`ZiC$>CTC%^n6zuM zpl8)~MYs}B)DjmDj)=uI&aVYkjP3z`O#G;ICjvDd{G3)HIhSF50xHxHmgY`~@-ES< zNjlEiuBx(viVad1Q>(_O#e-?T29toRt4uNrn0(UKUeozOl&|jnpWV#%L5y08P%-_1 zuPxpT;SosPH-vc3Tgj+`XzFuwYZ2c{a3OOd+n`Hp6&?3&}Lzrt}iLczNZLef#{r za13@OHzV{}_A|EmUzhl_mhbFa%R+iP9?c05@s~CeMny%@MYLx}00)|^pw`1a`NI3H ze_kEdW}oexZ1P`M$21F(q-On<=yiQR90Zg3_tF`4_{FN6+A)Xsu9hXlo3+wJEQVz? z;Gn)r7Hge4{JinTlH4`hoeFHM8+m;<#pw5y>Wlt;fPG8lzCOklVR?J-Kv)3;9_yj$)y4 zMR_05uX@jHv2bx=02bEPau4ha6Se*uRx0DKJX9G)>)`&w$m3g;E%aBCm>?5L5m}Yn z$UhgT-eW&`pD2u@F9ZlIOC0dypZ95d_O~L->j-`rqO52B&{@!d1E#0*!822Mc-7AG zK%P{*`B;V6@lYW@*L6>(6L50@Nk62rNyh!;BSdls9#_&;V{QRydB&YIj &ik3I{b(#syL13o1wCddwO_pSppdCox?F0tV2vON>} zrJJ%sOLgs!eahEV^tws&$V%VgnHxswCztPc#Pr+sJqzs?KT#8S*}`DA=A(u)g@=Qh zUaP6UZzJ?i-#^PXx=r)0L}|B44-E~oZJ};JbkNV$ $*`VGJ&i6CKOYvf zL5GMF96*l`+uz{?d$4d?$Uj$ fEV{EDaZ;T1yI>h_BlYZH0bSv$*{NFq zj2YGGddgMs^(_GUjP#lD=bMFhtJTHP1sr~CI3BI9ZEJegt+$|->#k^o)SB8`46WUV zRh5|SKBjfCFYdgyE0>>jTn-b9cVL7E%nRKfU<5Cs?{nIMZSAf(vS(Duq(bAv>#{%Z zemyz(3&Xl`FkTOx(gatK5rd6q?@Sx?dABH0fjmzHl)x^}(8avZY}*a5vN+N?;C-Nh zfjz0=a=L|s^AhdMXABf#bZv)tjz&T~?_bR~_qg3_!c9F+b0y_YW~~o=^;#H0y106O z*Y);_UvECvZzybnr>ICEdWew(%}`u2 ~2}?mN|8t6RU_jw6l|U;zT9luSjmFjN{AL3m)uwBlN)({c>Ud zb^fXm^OW#-Q@T!NbJ|*1Mjx`yP1(Gj5Ht|M@{FkAyUF(^P{iJnLG6KB5B@=K)c0Gp zz75~~LlR)hD3p#Xy|{X~C19kqK*DZ+tyCJnsIwZ~6A>dB>h_R?IgAdoY_nv(3iut= zYq!uX=_9+?to7QsITv$VR~I_Cv%hW^72RZ%7q+aLeL!3PoV%U7z2JK~TjlGuM92l= ziv~|F2tu99?iGaXbNPo&I=EqNO|NA^3UWQ@`g}t20`<~zkx`v)&zx0Y3%iA$1w87$ zJ|hxYJ|T!x5W;Eq*eTHY5|$b<`%6#VXz%9Ku5ZrsT$bk%$_=r0c{krX*oI0HC{tdL zsz|>B1DF@O!f=JCf&6O_Y36aJdsr?ipsNld@QEtbe} ?e_8d*)1o+7YeCqXvgM+MgGQBRPi@UAD zNl6 DQ8-tWL&T6+I6^U$1(n9itC!08!xU^08)Qq`C%y-@*l9|V{t zj}Hv*x0YYW6{Zj6hY2qrrkS-7G}^N0m-?n1lj64Ipu9RqA#r}2X-g0tDOU6PQ_h@@ zm`;^mRc!Jm)glP-;JK&{Dv*lCnz9C~(tIb6f<) dumd+z-+>Q@o>ZVuUvtqkHlW?!|lfe?T-aQ z6PzzrC1sPGFWu{Fc~)Mlixr>NFCM?WXA!CaMOC1Lb{ZVOVWI_gPW&(T`4?BSLb2hY ztcJR?r1Tn5?dGd5+O$5~qM$Z&{vzM_@$f-ejf(p{-o)D4cTOu@3xf7+7l)bK_MH4L z(|2kw&q~|%=^Do$#k&)A+Y!<)w`XBr6X&kX*XM9>+K-}-RBVgG7ll=!zA&mg?uvga z)Me#1(w3b^oVlvr!7Qb`miC6f?~Bs!IV>oRT(~*Rrsx7`Nf$!87`a{d>lI@_RJ*_J ze|dVm{oyQoFjS@=8;LExY5KmM^e|rWv5u>%h1N@cFn5^%@yEo7sFLs`#QM^f3n4fY zog+SSUET+3D%#2(Ws;?N0fG{_Ih;d!&ns`Yaw5iM=zTcu0h{OTryH7@Ui}AnW6V;v zmxbn+aeYDyd}ugAtOB9&OQvZ$kw*6;gWJgksn@}=l{vIb7#PDec9y3s=Y_b#5lL)_ zqrzCQs(O}cPy4vlE^1UR=llWrv%7}7e?yj~KVlRYYh}>_*$Bt=BTkn+E8MTt40nY* zFWBNEgJxP@>(`*UutQirJvon)N=t}XZnaPH1r4!}y=Sny-)Eql#lX;LCb`fL@X}@j zbZi4V)USk;@nvuvY8h%QuzGu`0UaBDn8CykYqNsO4Trxy$-l08T@C{C&D0{@G_^Gn zYl7l8$C}&z`3(-w$)id@sm*MqXGSct8BSFhW5Gz#|H7ECtAPW6aJxJ6TO?(emoP zd1bh4Y|3idXbSKf+B)nFXNX{61HcbC4o|d|GFjqaO}e}rS%@s!qhSae#A%b-+O+e@ zxqtjpe}kc{svK&xe4TveHyrrQiiPa)=r!9%mz7GZNnY$3KSHNkX|z#Hc-cL{r!Oa` zO5jFbN$Tb~*~ILSVBLf+ycN@LTSJf`RGc2+& TTWmH^!%J*is!z_CZ%Qmq5Kw8PBur690?m-A-TG3B{iy`Zs`J=Rg=vn z;h%G%Q)16rf_0jl`X&M{nEUCoB;)0A5W1yMI{Elq!0_^<(H0I-#}pWYs(D=MY-#Rx z9Bc>pNv8*^6rQur)hpMn{+p<~`qx`i2nKrEok(wJcBY|@_ViQUsQPt_F*f9TKT;X& zi#SR*4r|6~^unNzJ*3xu3&qGn4**=>KXg%YVC~?NxWI>0oS<*q*>mr;v!mW1pYT}y z<-BmCnVh+V4qv0|0dLx3LAl+YxrWXT0Lwe@)&ez?wBbrB0p;tD!d;mf+`@ZMny6Vg z!o$v~zZc<0-6GZCdc6xnEq$uuYkbb7WX21cEa@D01S%H&jI=>}3QWCBeVZ3q5Tb>Z zT{uJCZ+yin%5*5I2#8-J2KUZVjal~mywurrcq%rFYs?8v9zQM5zC85pG$}{5$rp;^ zk=H&{U|T#E-JO07$XM2gae#+3lNu;H2*gA@gcyk4uo78yV z!W0Xchl~ToRJ85HL~9@gLx0{yG^NFRJwcC?)`hm`#L(aa5>FQOKNC0lxi4A7(UWW^ zco$+EV*C>QiZ=3P1UL#$9rkE9FwGPMIWXOU0}M>+Zl*k#?*jpTfBs^7QNtK)w%KJn ztr~amWo>0M002MyVp~@h!8DtHU0t3Kf1Htq@`r|plnFxwhuEKGGBV!3utu_YCkamo z1u#p@4BPHr1^7Lqf}&-4&Ed(*8m=1i&sV}eKUy{R}C)dG3P+Q5sAKNq1(!7 zHvnLjDDLpO5nFfMJzHAXyBQp4ZpnwIv?jEn_>EB n}13Z1nWQ;JI`l)eM@= z^9Dtk-tOZ%8=CD){0ZX;{w2)}+OxkadPpF#L*Kq<;0e4-2ywRwT|jO=+gDMJ(SWj( z2Uz^& 1V~VEYS%sh2HJ9{PdK-j-DHBz`Mq`boBAQJ^?4n8hr%ZBWo~)B zBi-(FYpK3AF2+Ns@5`=P&chh;CRjda+t8==YPhRA yO{HAh18LDk4zlLcxbXOF=@(~L*FW;-pezw=##-@K0?p|TTUKIIA zeP(N=dVV`*IWzh=g^h-?TJw(*Vd4kw+V7lPvej9?>(&al1B^aP-AH>&&fLitQ2eR< zk_Kx7k;{z3r%Gx{t3q8O&X HiM{4W#HPzwLjOD@l22z>2g=>BQHh 6Cr!CDS6)i zm$&Cn0I{uQ_fiu*APzqotH{gz%k$=q+n6{`!L&dB`PQ_XMKFapJy7eW8XhRi^EM6# zQCMGpS#}}-9*$u0P)L&CDtn6kQ>!5Lj8BrU{uD}x*~5bJ{X|uguf*$0UfyF}IQRMz z{tf?VXkL}#1EQFW+)V-Pc3hvTDC`{ IHItzv*NRK0U65f!a}v=Dj7Mu)?HCoSsYJ`mieGAfRn*(;7IC2q>=aWdJP zf?|f7(r6A%H#inx>?~J(M^!uAU=GdpB^(V;UdNsWo(LZBh-$vx$Vwb2tBG?3C?o8s zRzU^)Ou9t;@Er?C;gU)EbI(?&%=?f>;-u}aD)XJWmEG0@JW-*x5+V2iXivJf#uEM& z1|1)z76k>x5inr`S)@v)2RS}8D>vdbestiCietP2$RB5v&z%!*?!Xa3BMduAoPfOg z&oF)FWk3maH`HaNf|u;_@2E-pr28jxKO2(gv@;|QCram2t+`TvqN3C&>%Y%S%Y(%# ziK0<&R;uc;+zy+yO<=5Ca@$#oQkMS1MRM )@F~DS27s?qxJ$ZA#}D1Nkwa{ +Cxk|MTRTxrOS=n8DA; zLQ9x%Dy-6iwb1|do0_OkF7UI=xB;tkAmaZ80c(~IGVZg)yvjkgoPFI3%D|E&9=h{) zuYaE HT7Zt13Wk5Cw3|hw%&TNZ0$`v`d UAq#D|A6@AnTc{d0akSH`dvdd7_nnrWQvT; z*Wf3kmMXr|+N2>(m{h1*Ctf7a{odzwthW2=s*m48R$Q16zWI_93GuUwx((RO2l)Gw z84do>H|dHu>+9% )7FZvbEW0gY0 zT`2=yFA_q_s~CXW&qDV0o-WZ(NKDMC7{F1-VS%hGB!2E_U&UH+b)4dN3b!*@YnOd_ z{M+;ghy7CS3*I%HLl-Ym9TSB84wU*QSrrj^+cMJ3tu5&6rrG&@Qs-tZP3*|d&>uS0 zP#|Ag5fIEX^W78KC{=>lPyjb84p}DVn4uetu?of%PLUTNtD(V9mhurw6Rt-JO1oZ= zVdfdwuw9bI9rPkOhqPE1EZI-M5p{YMvf(gXF8W(FL#D-_ts&&OYWdEQJ!_LMt5cYC z&!w79VU`UdaOui#%hi-ZnfjD0SV)_7=dZy6Pl3MkV((N1^7HdAmmlx{Hq~HEJ_|h{ z&L1Ph0@u7fd+N@8Ud?D(*evLU>l>2@M~P?-gzzeDX6m5NPI{WUwtK%0Z=dMWnCt>C z;guQ<%8u?3kq?@j)Wv@eWP$`z>M9ZTe^&F6zk~qK6tthP8JJ^2*C#G+YkJ$?fcTcs z{Z7mj-=D-G8muW7Is-t1LsjsI1{&)3@WZ}svdd=PQo2{h7x06v<953@?CtX%StynB zdJM2DwZsbCybe-eZamQ$eSs5&p^-Xlv2?3M5~Cz5bH=`8ygxX%rGV`{qRI*$f_38c zoJS;2in?~?q@00set1GMs>V~~=hkprV1)Y#Y8RQd6&?z>zmh8J^=ovx3X+8U!d~s? zQ~6j7${2mz@A%4qK|<~HK}MEbgJmM%4YP|=eb=n3k#WOH#4=i4lAXc;h9)Sm;)$^0 z1(X&d)O){j(+S3u!|la&b%{hqMjDuyh&c!~wN_N1>A%l=@!gCc9@_=2tp~7c%x|>; zh29xxfq>_B{z;cmegRvJKV26B1!O@DQ)+ *( zo>dih4}I`%_jpm$@5?$#S;*SQ83g7rcoD@hRp@zZ?1XegL7zm-%F4c54TOk3POu zud|0%g4sTaxF>l |IW-|mfe*^A%HaMh1}A;Ie9{k)<4c^ z*8O!DouqN^q^6G>|MS3bH4^HN$%MJP-a4-leMK^XaGU$I{+QtP{oZb&JJ+%E={7bT z1YG&19hi$R6PPhC(y`Hy?r}4Hb+1lBlobV%ot$ftrtk@YfhFf|OI4YwxyA1XAUHaY z5@_=QRj>HGXK3h94KI2DesV8OOj_D!ruX=Vf1fLlz+GM&F?M2aR~^YCK&K4M(d(LX zuPGQFj*GMm2hX>8%Ri0L{tu}A!1Ekg+f}E4Is*Z@S--*lhbR38tOIq==92&$R=kPj zW#qt4Kgh&n>&Oep7hq;9BESW@=x)vH`tsiP -e1T z`<0zLTBPv(-<&@5(uL@0%<}7dj$#S7sFYkJq;Yr58kuF_7+2nJk-lgUG)*xyjjk`p zSF8i+V0U-dp6?grpk-vl@_|NRfbqM$biBT~fu=qkJ8U{;ndjW5Elv@lU?-s~E;i6_ zI5JAWNrnKah?AS{_e``*%$>MpO*~XI{acwj;Cfrnq?V`U$BX2Ub0h}eyT|n|?dAIX z7Vwv7mU}JONky{Bef`T?OX7?;BUMx3($Z75cEj2yxUb;9VXuLbdZe8O2sNAc5B#t2 zLQk(;+jT&J;ACGoKTcG@z@J3x&q z|M#O5UT)O79P$J;)jUcDkGYxANy|B=LMXtB=DQiZ`~E1E&vErx5{2P{R!1PJV%h?} z;$^?3rF0&E*cmwlK}?*cb#4`Kx2^BP5+7P~5ZEuHl5}^kzv7&ET%azv%_%?KjF)e$ zzx<^acnZPYxOF!i8-=mSJ3Bs<{sMOmF(xY-o}zgzEkyM^{`&CRO6;{5ZdUeMpw`w_ zIS_kj5JC3xQhGz(&2QCA JXjv(w@hMUw=2V9y-c{XyDq-o-?(u)G63_Du4a= zy2D_DJ^fA8K9Bnv1`PCFx~MNub~fv9+DdU1t>p#q+U?Kp@1ENdzLJlpH8rlS>HX1f zCxKVjjii!IG8l}f;;A??f{-#yh1k)kNhRc-e1NxeH#Qe;!JA-|ZODvD#zu7-p!pOm zXRf%=?BNh_pm$dPwk^xfhWZc!!<>u^IUt4i@83hljOM~EK*3C)&EF8x{>oI9)q zebHlsu0e> zLG YXoHYF{TN&7T|C)lV2wiCP2qo~%5xExMhh5 w!-#UOJwO*gO+6G9!Clj#)*CZ`FbEVM#mRm_0BQ0{C$iimc78 zdG3wj`!ioJLO{jlt2Z+f+iq56`y+7uD~1f(EJe01GfPo%29WE}l@?3HbJ@YDde i(FgNeR~oI`l5u}k{Ad`VnWS~>E}HN=-!-pV&_>|360Lcq-81Xc&c)A zPRQsGI=(el68E5{zID4tJRg>2u;1;Aa{IPFR^eEheaXABf&ehLw&__)WKi_Y^9OWX z7R!7Vdd)p`f%fZr*YWzf4Z>HS0`OUFsU(1%SPeP{x1ETJ>U)~LABT^vo=L0w;-wZ3 zyzYTDf5ruURAq(hFH+=^eaQh-KYMvCUpQhxnzs(S&aZi~{gd#jqVCL|Un&}m5b>*` z()!L_;k$NJ^t8xAU597&yEgYET3&9J)1(dd&te8marHu*dWY>BQgQVq#}NV37# r4~oAa3s8F=ijSlQS|Z!q zxoJHh*S`dtnZCC#3SC3xD-Gx&>4clNR>@%_nHt~Yy)ch(SdbYCDxDm!pv zeF*)ISu|WC7!a_YI2Tq@g71b(VUGb S9ne;NURqtJPl|CnE$GW-s#v__NoPX6DZ@;g>$Py1b*uTV zi1=NahXr2L)`nT+!KT^sm4?UIBI<(atrTR-Qfpa{Ga5P`h#vT9K)9<8mWFNXid3Wf z?mEX8!kENUTT5}gww_v%yEe*bS%wF=+~iG;NhR%A4j`a+lg6+LPrlRuj`8-pFR3~U z=ZAhsG2v3Sh61I<`i}iceYg2!Fh7Ri0b`n4-KT4>h;%Ha69S-)Vd{P!nv+{+;a*7= zXWkm?KqWpdK_D+1drq#5aHp`r1Mc)Sx2{3403Jez^^ojns`w|5Yy~+vgz-~d8V(zn zoc@fI6sZXN9-h^)l;v8v*IuwJl5EiahXM*FFx?cgAO`_fh7~Whl-J3Gc`PCgY~fLG z{o-Wsknv&H`X9QHg^MHB2wuV;m$SJcNDjBxKu{g4rBL`tJUo_@^1I^T7wiF!11#9=8 z-J3lX^DND}!zb_?B?dA!a@~4DL>~(FFn;IS^_m_MAqwm`Zyro`8=6YSkjO{8d+P%- z>p^v_bXvY295V&;bNAmJ#c-H2Z>mHE+4Z97hid6vPhP z!a$0ak0q)`=iR%=#(`WGc?W|Bh7Z$1tV~zJkHimB1yw?9>)W?+=er(*5y09Cn5?KQ z+-KhRn;I{ql1&|WN%YJdZyfDY@;Q1DL9$&|%?lEAF%E{LmPAA|-{ZsoE;dN(1A^fp zac){`WCKe74Er~0KLU`~_T+;^R jA_bcXu$Ackb z)K4Z6#5XSB?7_dC8uV>F C$_Ayo`qJ3h%DdKK}?g!4;N(w3IEIlo=9 zPe7$izi8=di^9j>28&i0lw&jh5tOJ{b7~ng_(meFNs?p4h?C>cWWoD?g@qt)krl7$ zO=SPAQ%faD)}F^~$d_KPO?)}lKbz)!nQw$FozI`#$ZzBcrmA$;)x-qrZD%=O4z9+J z30`w0m%l}gfBY}Otp6H>`v3IyZ}ba851WFAkBo8LaAZvCQSSNqhghgSUx=*d6QaIU zXl9(1l;;y>+2Ocv8Pjv-YsY}|)7H=He&0J;w5|0UjXc4&dH(0y@nPBX_18XrJDO5m z`4f+q7$Si6-O#+$Xn@GmnHg&SUjfT9U1>Q9QO(880??$3E-O7rlMFe42X6J9R7_~0 z+t_d#= hA0jhhJih|0n$ypDMUfR5XlvY|E~ zrC6^qBdeHo$#PZjy8yBpkSk@`6~sDk9K0K3BaAcV`kt7K_2qEuT1*!4uL4FDtMP}u zal~@ojO4_y?H@l5ex^`r$(VQHlBd>@n=FQR4}InwX5Ay`Xt0Vkr_07HLsV9?=n1I0 z828=gV`zGSHm`?=JWd37siard5~@2P{rc?#;Uo%x)iTmaWf4?g#Gq=ZiXm%fm>$?1 zQ?8xA!BU2C*mYf96_-m?oc6rG>_0R?u3x%HEJxQ95Kt9J5Krt~c&nx1=ck!(W#dJ` zL5>-n=J*~8vRV9CRnV4W{`X^*Fi7EYEKGWITXvU%8R+`nl0=^#=-}S0`#Anjp b$`evdw$S5AP-EQlbd4aE8RjwGdVx4pxo*~ z4md%Hiu>GmQuxR?k`hSVsZ=!?n|OKWpBoZ-f9;fe_QQf9;B|Vnr{<|9q2KowhNf{V zr%~y)sF-7`wq8DV-1|4{F4(ocVPIcf;`MR78XtTX=i_K=bM*Qm3AkJvjUD%)wcU84 z5mvWU#I^!?MgGz8l$h~Giul8$?CZx^rk(QzXT}id$AcViI~~x(WEJXAT-q x#*fy);ZTE}<^YY_?^I 5=)e$J8n4O&0h7?GV!JZI?mc{Bm;So z8JM3xTH*v{idrROzPD@fBYRD$Xg^-a$P=ecLN)E#SHX%UxChX`GpXF8=(ko)7zq^$ zC8}0Zv*% qRj|$A;?7aY91I}iezza*GA4U73fH70UG#+w09bwP)ew%4Qyi^j zK&13lw(_SE0i9(VrbNO$9hF^G7PbI1R&K~8yxJO!dc12tGz*H1Yv?QZ_S{s3EAOOy zJ~%!MsZ`w)qLhw~j@oWve3@QACyH8V8%&A1ciJ qGK!10A)b>QN; 8%p1*D3exf8@ oTUu*V88Xz2#XsZs?OO+tRZ@2ls~yx*FfUH81N@r|Xg^}HF#Gsra0qP+5Q zY{r*W_bfS@@TXZ@XUA%vS#{;5fAyE*@=NYlnYobpK>JKspBsanI{tI$0U`h8n_{b1 zC3Y&St4-sbmIxNbm6w R%@<9z^t 8AuNW)e@9YM>Tc#$3_0&S2kPkT^I+b wzpX>&McLZ4?g2;pLAD?-IW`~isBtg? zLJEm>;SAvOVFjwNfD{|f v(fj@9We&=GUgCsFy z78 QJ_mzfV-YGC*_DKwG%NgYxUDZcluu-NZ);zEK2+=2tsq5);m=NvL*q z?Z9MJF#>B7-4`0iGb$j?xM#|}+#O+`g*mh^;QJuFaQ S0k0|2cf@%f5LoqryKJcNWD_`LiXBnkBhMj zpr`6cw04&o$}pH*ShP;oLgyDA1qvC5aVckvZjm0BABAV6q?YDHOLQPz3qx2R4U8+< zUef)fx)d1@lm;Kz^>QN^gHDA=MM+9eB5SjwT%!T =x7!XAU?2o@=t>Kp->C|SBU2EH+6g&8;o~7~D9E~6VZ551 z!$U$0@2+N`6JLt*yF5MRN%0Ui_vaZWRQ*teF58v1U+?^1rRdv~MV%D79cI+a&_0qE z{j_AbnlQRG$|?aSn%;LEAH0BNq>8c|OAag<`#z9S#1C0G#G#J{e!A8k6Qu&-=t hI zh2koKh0v5q+V_?c^B|)!VhSZ$*D~;5(UM^oeEIfyKYm$3M>vUzQB3Jm9wZ`A*b!-p zjO+lJ1G<=UN?@iCAc7Mp@dIl8URGmhTRCBeBHH(MPI7RoH$vIx12)56?l(IIz`#ua zR7+ksZUXd1Z*Gk~IU}AIdekmAc%OV48SWyUp4bNnU?ItW?& qgl3eZ6sdTF; 2t(UGmyq8c2zmLze5$EFl#1@JK zV>VRkd>l&5A20K5=N21be=6;Uy&^bs2RMqP*t?^#ETMuWzr4%rsA
?7J2{aVQISu!@8iNF3^?CHQarxa-T5cx29p;3#Bv`{8?WfS0DKHMDRw;Ki&T z@LHX{8ujZJrdzH<6Md3Y^Tet)P>s0#Y3umH*E8*+CwH724*?N8TZgQK2ze{YP_4*Z zjlR+?uhq!Xv$OE+vG^|}#M=OyyWY}wo3e_zRW3?FUMEb%6<9bMH-A4d(zA5b>!WnJ zw=g_3N5V9^5T(yzkiALn>kp_~6kawVeq`=+rVIC0;kN79qryfPDu0uMz}gNB2XJ#p zu;E97i<0KC{+vr_9f#!zhzp5F_QB|BFFVu;2v~UJbm3FdF+j4yJv#gbBa0bh!-21; z$EIO!cL+DJ`o5;l8R_vI44Kz{6%t3ymA(f*KMeq|i|zD% lBace zpm |bnET_?@7n9+RuC<;&u782@WtZ$sZ&fULE^`7nF#~`s*151vaOZlG(?3 zR_823Lq7I0ywPxXYu)<=;Pbpj8UXe3tUk+#HbfV#Cn hhaMAcVJOyECdMAB z0!mj&tc6VcuH0}x2t8R2fr89ukuqH$P^Z|qqG_CvH?BMk$Is ^RG7hvSH!^4mzBqRd>j-%9@P#3Ekr=_}R8tL(; zNd*`()IL?KmkDlm<+Pv0S@DUsohD}3BY(FU_If8JeNoghka+UTq85j__vhLIUR< z6;22MlM=1s9ZX|+^Ty6#z((f796EAnjtq!xFDQxd1YUUH<4!SOQOg}?4DjDJ9nMJ< zG^CuDO8hi6s!~Q6aZyXW+4&+EKSHg)cKw{_7kUw_+%qZ0m}rWyjXJIlwNmzIWD}$# zG{@`DyLPns^q(bT%NnAC P}oMFG?JL zQH(9V!$K ?)J{hJfTO}-;E0MZu#gd9FgI{LQS&k?Bx0t)S%$mUb 165}^+Kn${LMs&8Djx%4S0VkI0}+5^ zEJ+G2f#`36@nCXQ5kMwvqhufKq^8qHSoF!N7qa%^xQRbVeQ!OQeq5~u=`tPTo?)uG zBEx-uO#W>4`%Dfq%VZ6^sc$|V$*H;w{JQut$La}lk@Jlbc>5%Gt}=nG4r~1X+NLOO z-W0O=OSiV`;qkd_@2Zc(`{Jk3Q+{Tn`qiEDs5S3_*cwD=AXUVJX?5V>Fy~;|5CnEy zSd_#-mdL+RGbpIszwQjnO&%czO
vrt52Q39TM|ZxM8||Z z@l`pY^eLJkfWatdF6H>og#QgYN#mO2%FeX)i}e_YiK`3$1Apl0n1beU{pN8SFLVrg zP*tM8#Kz9!qTQ@JO?>)K_#- U+_rMeTY|u^bqMdIhK=bpii2EBBkgH z;sw|tqPyHLg 77A(oR;WT=TZ! z3_dH{e$o6Al_q)(UU?%dgA%W3cEJ3#DlrGnvyK&ZZWupn7Q7DGq3KrKf4~cdVdqAK zIb%Db-{r%CuDC|7^PM-K#Vw~a_ZO|?2hJby0Yq3kctQIR_Or;R2-^Dxhx@IuGWN9{ zKZ)mY{$M(fCt`nX7th>J`J6@0lfS)wB^r<^B*W@UXAl>M+L1i2KXjgMR9AmO`Z(~( z@$mbxQY)=82%y+%PQu)3F9
%K?t|{Gz-IdW~+0T+i z^^E9+QXg6$DditmKGRmo7yP2G#{?LhpMF|yYe)J&@RHKgC#9#zJ)wV*)S&&2B0D5I zfav9lc7V;m+=L#6aiDYkr7hhHeCfpbxOe6G^BrL1>&v+v7bM1Ur8edz%d8c{6`Qup zz!4#|c*zX)`xV&xY7ChVB2PV1Dl^~vnaI~G$uR4_AJjK-fp4HM2?6St-jCtQ|G+~; zHSeY9flEBZc7zjC<2wHxUD03=r_8+=O6zB5C>5n%Bv0VWPfM8ip%5;48s%pUjaonl z8%IEVz|RIfPsjiqP@?i`Ecftl$kyZ2i@S@y_5g*WzqHY)BloB=)q-iX*Qh97ge{A| z3i&1=;E#i;U-qB!haOQ;DT$RwK#s8!k^52g_XK_UxMdnE?WMW=XU4-{g;hoL^hy8F zW0%TM;l$Kv$l0*qCB}9iqn5~smnetzQk-I|EF()$%?RM3{7;f>-Rb^7_E!-qvFy|s zqMN#&5>cO+A1R{}qzp7iywf8z%zYA}>%bu1cGkUpR*3xA2;SrUx=k&7EFLVYZWe+B z(WTJBw5TC0Pt8k2WUf9#DS;2gBpHD+`Vm!r90{nq9cv!qP(^X5X!%GI@R;G^@5GW7 ztG3WZ|GRQ=FN~Z<{fUh(C3icTu%Z&^YHu{KwKPKPhYF)WHwfUjh@xjij{aHhE0khV z3|l{e9xIo~!ApiAaOD2GBMY)|&-iTx0fa3;ml#J{JsvOSYB;X1#NnY~yO{zp1s;ka zMAUjC2XP3m=c~Y2w=I>${2)&sDMeDc^mYzqP=C5#fXGSn$v0Jv6hluV3YH?u#kHzH z;g9+&5Mjr}juYCQ_im*jWmzy3GmMxIH{-(J%)!)F8uwVk@U>DW^RH~u)Ew)UA?wK* z^u*}MG9Tfjs>DA;h`$rAL)ME-J5m=2{kJTaGt0y~CUlMxt=^5~h(bF~<(H2!_cQ>N zY8wMQs5UkaDlcvfd6vo(EVN#OmS4$Y3`Gz&bq58*I2mwA_MtvJ7cz1OONVUX-}J7^ zCe +d;!5P%=D z>J0hpW_N!Yk0bX`qW_vS7w)|HWWZB}Wb%#_M3E*<#Q+U%gzV7K`Z+$S_C}Iw)ygCs za=1QL-alX6SFH=BSKUn(t3hTbq_;nZ-@(96(C20LE*Ppp`p^uZ-}0n$X6L(3JXa=a zN iw}V@CgwdWx@ZAK|@e5r*~=$|HyV&Ei4@t->Yu z9pRv{2U95j@_y3$=ZS$Rslf1|Rp;Km1^?%xo$5vxOd9S5G(ehmK{b({$o^IPbw3MG zxHs=Qg#W3>`XlYvPrbdpv=C>RyIxd$8uD4D+*aA6D71%?Jj0DT-%fBTt4WDp58T5} z*LuAb17BJ!G&x2Um*VjG4NOXQ`v)uU^j-JxPq5-Rm jX~4PX<0ZTZtHNK!qSo7p zPJ QEw=EvAyzli^ZjFobbyvrU@Rj7M0W5FC#A>q3x;XmAwZ?qYSgKCXL z`!+-1lYcBJMcV4SK(dCFZo|ij-EG2~d=q(dxIl*^jA|s8n_`UU8}l%B!ZdWH!-+a_ zdU|RgTp)Tx!;)X2T%PW+(I$ZL81jzP(T2 ^~Q(UDb@1TokkW(e7U;b^#D5bX=jI%#1j5T9oHTX z)z-#`l9bz!#<)!G_maChjA>?!%eaIY_jJLS+(i;24&xw%jO%fmi9|*jmvkJI#wFz* z5lS;kLYWkUN#FLJ?|HuOpYM70e)fKzwbx#2ziYqiUF&^+zxR<5j9pmfbbWN>u;WtE z7<+Jo+a#q{=_1TA303;FKt*uB%YEm+xrwCs#Eh{Uxx#t|NW@1{&`VjbpRmpPUzpq* z8S3ly%g2PC7|o+UblZX&b aKrMHQHl)HN0<0bIQ6!QLs_V3*X6&E@=(E|dA zp7F_Av%VF9MUJH3HMzyb6XkRz+Ba|l+x0{}xnsOMhs-^ESNzA<)%~D)^91F@{=>OS z9c!PK3o2UR)Qqs!zKY{a3&mpV(*geI=<;}#H|2+*#p`sxQQp*HYR5Xf%K Yo}-=DW4GXo*ag=0{WaHtw%$ zg@f-mL+s9?n+Gg=P?jovw5|2Ep`AFVj+_e9owChMR?_-pGGuBcH|NMNYlW2=H+!{( zV?y(vto|NZbe+I7Uo0htff;-e&=6f}U$}^A1g-3R%NcvTAMmaA{kO;)=VBG961fss z^fMJkM_a^g4O{C_6~n>Ad+t>s2*VfDnc92I9mfFVoYQ?@gLsu@?+xFt%~syRpm~{a ztqoSQoEdVcW98eu4&(1Mh7{xwM8ki}V>u 8UB%`hCZ>1=_Zo2ZmNV+UDCPmx3SdEs=FPr7klal$)DfNXc`vrzyEe> z^lj4Lcx|ck%P_gjwiqTv{^ZY9i$`^?InY%;+6?nS?r*S+3YmhTIi%h7_ZccM;&s#b z`~E!BE6>ZXp7*HM>I{|&&H(`+W;J|TQwecGSHVn{)-`-o$i`~=&2OtoBqocGn}OP< z>!!ASCVXvXqvJA0Dz!qr^HHS&BRUsD@${Umo=6Vx6LSzfzAp!}r=l^dAu99onDO)) z!=3XrtlS2u7-*;5!n(vO?%~!KuIpHu_}OM1fB0pEjG 3wi%4^&;0376pLebUopwTeX;s~)czUh2{6T=U-NFdbRE%3&*(#Ax)+ zlB6To8;^Kd*Qp+{H=}&ET;E%lw)zUDTOsRu`Q#T}!?|nX9#KP=-GLLNz_Y6+@n9y9 zuwLXQzV5D*CSJEb@g3V?d$xY-6r+}EWRcotu6#K+r+Lnb7lKW9GrRODhzTik_hZ>1 zNZy>Dc3%CDi;GI;uFZk-!P&>M3 s0232)G<&1lXx{EI zi5MJ_kBa4t2HG_1bM|IFAH8H>PTsS**CH XYvA~eL+!-arkxtzsFATWECLKB}^gO?Y#jPn#B%B@(5gLES{i)11 zEi3Qh@q^a5)FxG(adOgB=JDr@7zLmD*TWyVwpCbT+bUb*E2Yj^Bb*_{DE&Pxy+-R0 zXyB_^%hv7`Cl-67h+3D%zmR0GB#uT)LfZMTuccq&b35S$h5>QB>3&UB1wHw`_LQCH z1W(5z9FiqixoW{EovMO3>rghbtx5m`5zMB5bD|^+Z0rB@aCBu#NGO;4V(zz%6;aT- z7Zh$>9s&$wmJ1S5gPg#MHj Pe~B*eu}WeMgvvZ`1^u^X`%Lx*%@0JNfK@P5q_ zh{A=Iu^&vHf+y=`T!j9AS~cr#L#RmYeXl$3ZsupYhytiq?^hFaMPQ{49CpY|+&{P) zHbquwaO4lf$^D>{G9rwbpg^}n9!^0oz{dPVU KLz3^El;}Zh?#AG z2k+h=1e9|UO()$Z4J>AZe_8;mRVKK^*midP1rJ%e25?y=@{XJB?$L8?NLU9LU*gJ& zj-Nl_;0Ir}q_n*JK9F#Bj8WWI0gvhZAYmx9zr;YE5PVy~@TqRTxuJ2L2M=5!2GWHD z{VrhCqHP28r=dPrkuQ-(Lkf$YcEaHfM)>}C|LhIVT)O6fkWkvqK4Mm|nEPC70e7FG zA>FKg+5#q(-KeF1V~<+ ;BX2_*l>Afp*gO(##EF3^WMaTW-i zgu41u?`?u6< z8o+8}7K#dRYCua>7Sh&18vquO`rtv{KE#zPksiK=%4!jZiC1SlCG5>ST{gKgdsp#n zQg5F+c`>Ss!w~|6S=k?mwMBCJ1A?zO$2e@t{#lBiloPGS osBVwws)no4k5k`Y5wn^*zb#g*v&TU0<%f5+$4h_NkmjU1OD04`2?GOkaKDuv z91d2KUHW>-#^1pv!&YOIOHCKbw3p!ash>1H1^rLaV6nlEc~uIL1Z-j^=nO`Rin>W5 zzC~I{(qNy&i&PfitZ%|JxQP(8j}4^F2?pgOc}JcL&dcT>??2q0*oPjYW(`kIdmxJq zy=Xfs-6K;PZiy?kTwX+ dVg44g`Y4P7)vEr3JJ&VQh?Fn4LqimAU zg6{A80Q+Ow578b1g7y@=BHg9Q7g48Nd^BaN)ecL<>^ukqIdRX=7Mk zx=}sh;)t {vgyVATTnQL=SCs<15>U{Dlo}~5=KIBEQvA4|J!1+eZx+ rds55Qc4FF+ws>yiLEdT{)Sh~nh*qAUn$r1 zX=3>MkuO_*vCoLIIqq8B998_u&P=ko `!P@e7y1i26Rz@<>e zKvZmM*x?+?@1K~+2kPUQ?60rIE-}BL-i6)H)}_P!9iCe^$f*4kQn5IZMld$Z0~9F0 z)(p+a<}Q9;Zjpm9FH|KJMIv8_81Gl`1MmdL@!!(*)SG87pg_n1Ww!}u)e7lI -kTV0lT&A98JfPGVrsD(xWvpqQ zOg$Ei7Y4wAD3htdd;iUo_D?>C{~P`P-$W9-2^!enq)>dff`R0QAR9{ubOZ82(!T)P C=O4lV diff --git a/icons/map_icons/clothing/head/beret.dmi b/icons/map_icons/clothing/head/beret.dmi index a8df03e5b15b6d0b8a85474b567ddd6e03e564c6..1c3bbd4163e9ca1ad4c39f29be486155845e2533 100644 GIT binary patch delta 3661 zcmY+H2{_c-|Ho%Cu90Pk8rf#-C1JQJ%NScI>y1LTq>!u)Ey{cuiEd>{k?eI_2HB#x zmLV0cVUlD?MwYP-F&Jaa%>PUG_kVuB=Q+>wJ?C@2&pGG&KCkmWpYNQ~dvuyA^jNxD zt)?d=AOaFCjy@o%fq8aAxid?Hc V;Q7eh7?pO!w4!W z=a#5xbi`N_w?|$U?W%;f+AUp%R-&k@6T~E5Uxuncfz4#0`w$2O8g;_a1!6`Y2mtGe zF|O`WR_F2lmo7v^T?h|@K(6M#>bG;+fsufW>T?blL>zKWD?tii Wsezqj&aN 6y8!mP*znQY*%qev+wBF_p@IVmGYNoIlIpmR!GKeyRm{oH@%vfjQ~O>C zo?oLJ{UhW(TCi**uIa2X{O_!4>9$aY!2`pyWq%H}eyTQ=Z!%#demrcu!;byRW97kL z)hdxul^Fuj6Eek!J3qQ5(5|a*GHb)SZ*BavxND}BEnxY^OH)(HGrw4zNb-qrO3^ca zRuwH|4`hDoOPTvE4;54+`>4!7LW%Q;r>D*cer>{cyRk#vXLJALf=CYpA}Vvt%G~v8 zE+c0UFV&&YHWlA0!zc^+DA%2ssCHB4n_OrWsp`DPp1LEJiXn#aV(}UtnUiWic4ABh zl|?#hoUAj?r{BQ~{}|9TG;`-wt%N_vet*hatp?^>KAz-o9t8jSIm^^EDphvI&EErN z-r$`H9V$70P^j9i^E5Q5oW7 118n(;|6u zcnMf;%spEAl S!Wv1)YDlK9-O-pH z>PR7&U%9+2&n1@S%}*o0RI{W)&%!8gu8FCj-+Ia%B8o*kWZZnJG61hLF~-=~= 8VXB>$9W0z>K4*TfSVZ^tml=8Z4j^FhM>_G$8#U&Ag-<$Kjrr=>&FuB?@{wnjN z)o$1oTd9x ?Nm=JoJrs z?juQeHQ@yknJlHEo$oa6PR6#sB)W4v%pEU2C|a+ZLRFL)?s4G)!%RfbYaEwEbuv;n zFeIXE+h8}mccGY`xx$2fv6R++g-H7lJPda~<@Rn+*u8p(&9eEWet4!fq{G|tTbRI& z+gkg|Y71+}h+}_>oMm7wA=!0-aM*-FoS@wtIas9m$|&wzXJ%+AyR5p06@7ud+;xZ+ zZNO>Le&t?S1JLU~pQ80Y8(q7jTq`Q+wO?4 Bal4%+-GSF*PS(0flF6#p;k%9fxxH3nFl&>^;T3bCJ9@Tc}+LI}y znUh6^#&tk=Mg7pVU{-nD_x&bxkj$4Pa$g=E3pq5gjcJ@}=2k-* vbq)_*~XN8&|^IojgI 0P0FhIN{?`IFC z_IV8hOABi$3yn2(wftRJh60uojF052UH@hr!|JDx@$493ivzJ{Is=2z)1xhpjfJOy zk}gkEu2mNnXt{c&v=Li|v|p((DMH$>Rhf{G_KbjQJEbP(XH24OS4E1+ee|{Pv|&Sj zT;r0v{VJY{JL9VivIC+sP;mEyD~`1(ApX}`%=_@K6|eD#xQUGo&)B+)GO3G#X~T!? zRo9@l3$p4N9H{CQF&B~m Fl3L`rlwZN{hWLn-p2MtDumg-z2?0;g5KHanvk=8vzXXgk<)*O-WEtCafaPQ zL93vt;uwo+s+hjTN&(7m+P{|>o83Z pnay|p!3czmRne#Z@vc?(J)VAkS zob?q*)U6v=A$dSN3EMB=Z0W-HLYRp;P+7NUen?5Tj!Ws*AVH={07&!W{6&9e=ehOG z3hc*^)ByJSfTCVaAfZkk +sZB`0DQ_ZQ`|Y?&&3? Ez~4O!5WlN(HkVoH*9^__m-2; zD$eMyHE gT0!@Jpnxs+U7c{deX5a%*zZ>``PR?wx)0P>iKBYE`^ z=BpVTsxo1LEtK0ag~2hIu?wR5*%^@g_4@4rPEcmhqAdN=i}-6R;FB2$Q9X>KWkGi= zYe_tb6^Hi#itu(}A{zexl}s5uUsPU822Bdx2)Dx)R9cx zYu5!MDgj+GZ=2p(ydT~r7QFLb7X1?aS76IVp7XM412WrUn<5Pk_X%bD7Bz$B5j>0f z8a}^^WeIcmH6(n_t#%7#7ycMeP7bAjBD>~vuGZ Tx@P+G KVm$r1+OF|QmY_U;rNM5cU zh6cZQd+pw>7C-cKQ+e4+aq101mO!j_NLVpqPn-l->c3C_dkaithGZI2V=uIh#B+NL z`gf1IwV6+T0Bqu+r)aE6Bs09ZOW46Dchgwc;|r*??}b@Zv+J=8o177$$4?$Nm~frW z{9W2{;4M#ZxOfz^1$miJ;jQNz^8cxB5f9WUI=5W CHcnZh5pzYzq6~@$KwDM|P4hpm?4zskiOvC9YeZ?#ERR!{e+ZzLsB2;wTZpnM!?U zw88E1<34!>qJMMs0Bw9bIhZsBqaV0!yeNQ4XMhI)_|PHb>oh{@n%tlzl=p4q*7A?L zAo$qmw+2WSisRzqauLi6$jd8F`S!Gut`A(dy4Cfs _m5lnbH%@wZ{%_gnwv-R2M_9;_NnfpU*axI^1p24)$)t= z%gee yH;`zRWl4A9S*C;{S~KU#kE$>O(lwL9d+;BS9>#*w>@B8n+b?2kb72q%{#!K PJIJx4j#gzBXNdm?PlYpz delta 3800 zcmYLM2{=^y`=7B65=Hhf6hhgOEi+_q kbSw0 zLS)Il#GRC}j9LGO?(hDe=RD_p&pGe+dFFhU_w!DN>>51n7&IjPcmtP`Wr(Kz-SjER zBl_MM_aO1YCv|^RsWzn;h>1!{soP|5L*W^6(8KDPxh0Lw1iN@;eO-g`@o{COh?In^ zpHGB}MTnLya1}0VdPEq_FIXuHA5c(`*LQzs4V8xiQt*=pAP@*N?8;?Zh|$uRH@HrY zzG@$4dLz^mbu%RFW^fP$5}8*q`uAlv4ME6^7EM^PK|-Zx E$;~Yy<({_@i{6_TmIqj z*E>Ie7YD>Igq{sDPtbk3R3jcJe)b?KO5BW_p?(M1)D%^jt{n93$c@eOO<5=7FFSDH z&h%sfJ|(Q=>pbD_i`b;7^3`p!4@!r*O&U%6-WqVE$lN#Zg6js=zc8zL!E^6fR&}>K zDGw7@jKlOSKE=Gc+obg7N)Pv8htk$#MLpglDZnd?VHU#j;?^_6KM(6U)O&wl&qlFs z_aTy;pD9B%msiV`&UmD;**SNpjfr4?96#B4%QoifjlMy%KMcgqt=X BqB{SsO^}@MQv;;_1o6+LcI{jKH69PGq zZe?nGH8PKsI}vKzeYBg%F6#Nj^i21O`Z$hrCpabL4r_YG37!iYdgh;l5dT`U_*t0O z`mO52L6ntkhNAr89}B%OxM}dL$a%b%`4gKD1Ynqv?_4;AV~`w1KXhsB#+rwA;ev11 z%G}-wcrh*24TsHjYI3T(9Q9FlYu5jGx;3)4Ua`$Q`(Wg#LJ3bu4n5-4yE|Mn&bj&C ztv9!)v)eYZF%c=chgy>;>jP3|w4}oee#~n^3nt{M99cW?RP=_y0sAmQ=521a+T?-( zc%91D{#*`gK@?Ht=Z3;9VUlZ>TZUQnS2?jaurmZ$Tc!&(Q$MK<+CtZC9=3w kR4&e3m z^~|l++3 ~mo^2Y9wb(`rHR$N5*;ivyR``R%f~lTf>pJaY^6Bw> zqMA6ff+@!q`55G3akChi(nP-VhE6uC-?3F1@-~jml*EUksTZHiQMe=z9RLD*AIqF{ z(A4C4FeB&9;dddE8TtKly46*V_Hh;Tr`JE*zbKLY1COA`ByON9Rp{eb?4?W93d@n$ zhez5J;A4{q{QW9*T95ZZa^u~OvH7D46dSG{N`|%l-0q{BW%3|R1(&MA@jp#C+?kWN zXMF_2&Kg@B3S(mrYliCgLGl4i(L9g-gBjoP&;_O^P+Ox~CPSD6D&FZ|ANbRyu%EG9 zS8=DQ!cZ1w*U*kB!ol><308(AV)iy4h5z?3{Zmbq(B{Xa*ACU;*UNFZ5!IEtis)tM z(POX(v2H@|3N|D$gq|CB>VLQPv_r;iZ M02@uGIG9^#9j2d;u*d@d8y&eC~&MgP+IXp;85J| zg Eag9{awedHxX8Q^5njGB?k)0<6M2?fCM<_@-rw#$IcQR~=VQ`HnbSKr59e~6 zyt~N7N}s6Ds#)W$8&4e6r#d%ID=3YP?an4P${<;oOTR|ezoY$PKQf;F=q4iFLgjwT zEWoPEW51xH6tKUzv!}q5M<2q`@(KC*lF(zz3BM=`klw$y^hVUv#}3Hq>0DH(hgg2( zw=J!JJPvISi JmLM5$au4tREx-S6zf8YJwb-4HQg646`+s-W#C#{#iL%$lRlHykJ^rihV_K zY@f%JZ8eZWu=s5Zojm|Q+|DUUD%=f^-~;IaD?J%Ln$LlNlrhxO=!6Q$;J7bK9hfqR z2Wg5y3osd)O{T0K?lDvr;oB6*P(TfUXEoMGl#jK%L(~I?1jSL{l@D<}`gZ)H48sM) z-V-2=y)h_fd@K0L++i3KU%KsV+gn)FI}HA$7qFn&1&o+&uK{)lA$4<76g0idJ6ZBX zlTHnbowog555zrx>P^-UpI9`}0KhnBGid3|r&9YqZ^|s*EhTB)FU*nA#Vp7tOicj> z&|~$6gl;4}<11$}d>M4LSRykUj!}>TzgWEJu9Wx3uvTO$^FI^qS;?ch+Hg9P @kGou@dDge+k;|1%U^ZnkPlxpoR z1Ts^oFtq~i7_*c~+=rj)gO107J^D3i7eUz}N{h^!aKTtDc= el zf*f$2%>w;1vP{b=+NM02M1F0tW==*l0EkSQ{OI(~EmnH nyU6S7UY6?=z%hwahATL%VtWE(H_`I`a2!r*p^ zh#|%>GxYwRXFTKCmVAJg)Kv9cLs0rM#-}1U#7ts>vWPOAU4uv+RpCca%OIddjW2FN zujuY}RMA}~pONL||JOVy{`t;99&^i}GNN|Q#Ol4yjN~^v$gsK4nU1tKQIWBgpC+%% zs20%KbRDDsN7i1S3f#h*hdRdYXYFs;S3^^l>ZnDa+5;I{gktz!PjdXd)eGJEd=K*q zAd66J3rf0XWLe_xz%An}!raZ-MA$erlNP+vF_R=zvKm^8h~O$EmhL)SKp*TKq0SUT z-y@WETz}C;m#qs9eg{||ius~hSJHO*4<5|s%%0BHie{YeB^DS;<`f!4TqZuH%F Zz1pWC2}gRhMA~ z8v{t%M0)6+4&yaK{rlS&5<2H@x*cF>nLsX?3Ou6%PB?r8!k$B7rSRX7_#G8p4`(kV zr!|LVgUw?VSX4<)J3IaX)~jMC4v*TBXqOUjrK*J7981eQ#o}*p(p;#cy6*N(-&MI` zA{`iY#5YM|qi+O&*r_BmN0SO$Yn7$>3?bUW(GWl1G9u5vOC?bIz&_+4%3xA}udMb4 zmHmWx65Sw6mXsFRA3R<@-p3o!P4Bz09}c1^y!+vB-V6+fC%f0m_QFIRXm|ZRaD+L7 ziBLzC8gSiB*iVh;{a|Xq$aeS>bU~1&)srAieT;5qBM|nzjOz4*@Og2<)wRW?uxyJk z;kve^hiCQK{h+V)rGPJy+jbZF-|kiQjWn@ZqThj@sfs3jtBt82z<$%y2oO qKKYvU;a7fD+nx3R_2?^iP9vGy9(}t7U6alEB zm2Tl_JL%NC2qsjgPe6JFO{cRzGZW9*b3^XaM1gQ5nhCA{YeacY$D?Nw0>;D3&*6~X zz%9KX`%}}9v^+^o9Y`4kThp8!IjX?$&P;p0f%15Nx=MBd+X4$|`Mcc6#>=gZ$ dZwrwwaN4xxt1dR60sMCfu`;`CT6xY5`+sbzY9s&v diff --git a/modular_skyrat/master_files/code/datums/id_trim/jobs.dm b/modular_skyrat/master_files/code/datums/id_trim/jobs.dm index 1622ecc7e7c..030e7e6e54b 100644 --- a/modular_skyrat/master_files/code/datums/id_trim/jobs.dm +++ b/modular_skyrat/master_files/code/datums/id_trim/jobs.dm @@ -1,6 +1,8 @@ // MODULAR ID TRIM ACCESS OVERRIDES GO HERE!! //(Most) of Security has inverted IDs, with custom blue-on-black icons. This is to distinguish them from their head, who has a white-on-blue icon +// not anymore +/* /datum/id_trim/job/head_of_security subdepartment_color = COLOR_ASSEMBLY_BLACK @@ -18,7 +20,7 @@ trim_icon = 'modular_skyrat/master_files/icons/obj/card.dmi' department_color = COLOR_ASSEMBLY_BLACK subdepartment_color = COLOR_ASSEMBLY_BLACK - +*/ /datum/id_trim/job/chief_engineer/New() . = ..() @@ -80,10 +82,10 @@ /datum/id_trim/job/corrections_officer assignment = "Corrections Officer" - trim_icon = 'modular_skyrat/master_files/icons/obj/card.dmi' + trim_icon = 'modular_zubbers/icons/obj/card.dmi' // BUBBER EDIT trim_state = "trim_corrections_officer" - department_color = COLOR_ASSEMBLY_BLACK - subdepartment_color = COLOR_ASSEMBLY_BLACK + department_color = COLOR_SECURITY_RED // BUBBER EDIT + subdepartment_color = COLOR_SECURITY_RED // BUBBER EDIT sechud_icon_state = SECHUD_CORRECTIONS_OFFICER extra_access = list() minimal_access = list( diff --git a/modular_skyrat/master_files/code/game/objects/effects/decals/turfdecals/tilecoloring.dm b/modular_skyrat/master_files/code/game/objects/effects/decals/turfdecals/tilecoloring.dm index 4b49d74f431..7bf81efe489 100644 --- a/modular_skyrat/master_files/code/game/objects/effects/decals/turfdecals/tilecoloring.dm +++ b/modular_skyrat/master_files/code/game/objects/effects/decals/turfdecals/tilecoloring.dm @@ -1,6 +1,8 @@ /// To make upstream mapping easier we overwrote the color for Red to be not red but blue for our weird bluesec /// This re-adds a red coloring to be used by mappers in other areas. +// No longer needed, but w/ever + /// Real Red Tiles /obj/effect/turf_decal/tile/red/real_red diff --git a/modular_skyrat/master_files/code/game/objects/items/storage/backpack.dm b/modular_skyrat/master_files/code/game/objects/items/storage/backpack.dm index c072be9d28a..44c5dac0413 100644 --- a/modular_skyrat/master_files/code/game/objects/items/storage/backpack.dm +++ b/modular_skyrat/master_files/code/game/objects/items/storage/backpack.dm @@ -100,27 +100,6 @@ icon_state = "messenger_hydroponics" inhand_icon_state = "messenger_hydroponics" -/obj/item/storage/backpack/messenger/sec - name = "security messenger bag" - desc = "A robust messenger bag for security related needs." - icon_state = "messenger_security_black" - inhand_icon_state = "messenger_security_black" - -/obj/item/storage/backpack/messenger/sec/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/sec_messenger) - -/datum/atom_skin/sec_messenger - abstract_type = /datum/atom_skin/sec_messenger - -/datum/atom_skin/sec_messenger/black - preview_name = "Black Variant" - new_icon_state = "messenger_security_black" - -/datum/atom_skin/sec_messenger/white - preview_name = "White Variant" - new_icon_state = "messenger_security_white" - /obj/item/storage/backpack/messenger/explorer name = "explorer messenger bag" desc = "A robust messenger bag for stashing your loot, as well as making a remarkably cute accessory for your drakebone armor." diff --git a/modular_skyrat/master_files/code/modules/clothing/under/jobs/security.dm b/modular_skyrat/master_files/code/modules/clothing/under/jobs/security.dm index 8cae9eeaacb..a7d4f7eae7f 100644 --- a/modular_skyrat/master_files/code/modules/clothing/under/jobs/security.dm +++ b/modular_skyrat/master_files/code/modules/clothing/under/jobs/security.dm @@ -6,15 +6,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/under/security.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/under/security.dmi' -/obj/item/clothing/under/rank/security/head_of_security/skyrat - icon = 'modular_skyrat/master_files/icons/obj/clothing/under/security.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/under/security.dmi' - -//DEBATE MOVING *ALL* SECURITY STUFF HERE? Even overrides, at least as a like, sub-file? - -/* -* SECURITY OFFICER -*/ +// syndicate stuff uses this, gotta keep it /obj/item/clothing/under/rank/security/skyrat/utility name = "security utility uniform" @@ -54,213 +46,6 @@ armor_type = /datum/armor/clothing_under/redsec_syndicate has_sensor = NO_SENSORS -/obj/item/clothing/under/rank/security/peacekeeper/skirt - name = "security battle dress" - desc = "An asymmetrical, unisex uniform with the legs replaced by a utility skirt." - worn_icon_state = "security_skirt" - icon_state = "security_skirt" - can_adjust = TRUE - alt_covers_chest = FALSE - female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY - -/obj/item/clothing/under/rank/security/peacekeeper/skirt/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_peacekeeper_skirt) - -/datum/atom_skin/security_peacekeeper_skirt - abstract_type = /datum/atom_skin/security_peacekeeper_skirt - -/datum/atom_skin/security_peacekeeper_skirt/blue - preview_name = "Blue Variant" - new_icon_state = "security_skirt" - -/datum/atom_skin/security_peacekeeper_skirt/red - preview_name = "Red Variant" - new_icon_state = "security_skirt_red" - -/obj/item/clothing/under/rank/security/peacekeeper/skirt_redsec - name = "security battle dress" - desc = "An asymmetrical, unisex uniform with the legs replaced by a utility skirt. Now in classic security red!" - worn_icon_state = "security_skirt_redsec" - icon_state = "security_skirt_redsec" - can_adjust = TRUE - alt_covers_chest = FALSE - female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY - -/obj/item/clothing/under/rank/security/peacekeeper/skirt_redsec/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/obj/item/clothing/under/rank/security/peacekeeper/skirt_hos - name = "head of security battle dress" - desc = "An asymmetrical, unisex uniform with the legs replaced by a utility skirt. This version is specifically designed for the head of the security department!" - worn_icon_state = "security_skirt_hos" - icon_state = "security_skirt_hos" - can_adjust = TRUE - alt_covers_chest = FALSE - female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY - -/obj/item/clothing/under/rank/security/peacekeeper/skirt_hos/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/obj/item/clothing/under/rank/security/peacekeeper/trousers - name = "security trousers" - desc = "Some Peacekeeper-blue combat trousers. Probably should pair it with a vest for safety." - icon = 'modular_skyrat/master_files/icons/obj/clothing/under/security.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/under/security.dmi' - icon_state = "workpants_blue" - body_parts_covered = GROIN|LEGS - can_adjust = FALSE - supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION - female_sprite_flags = FEMALE_UNIFORM_NO_BREASTS - -/obj/item/clothing/under/rank/security/peacekeeper/trousers/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_peacekeeper_trousers) - -/datum/atom_skin/security_peacekeeper_trousers - abstract_type = /datum/atom_skin/security_peacekeeper_trousers - -/datum/atom_skin/security_peacekeeper_trousers/blue - preview_name = "Blue Variant" - new_icon_state = "workpants_blue" - -/datum/atom_skin/security_peacekeeper_trousers/white - preview_name = "White Variant" - new_icon_state = "workpants_white" - -/datum/atom_skin/security_peacekeeper_trousers/red - preview_name = "Red Variant" - new_icon_state = "workpants_red" - -/obj/item/clothing/under/rank/security/peacekeeper/trousers/shorts - name = "security shorts" - desc = "Some Peacekeeper-blue combat shorts. Definitely should pair it with a vest for safety." - icon_state = "workshorts_blue" - -/obj/item/clothing/under/rank/security/peacekeeper/trousers/shorts/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_peacekeeper_shorts) - -/datum/atom_skin/security_peacekeeper_shorts - abstract_type = /datum/atom_skin/security_peacekeeper_shorts - -/datum/atom_skin/security_peacekeeper_shorts/blue_short - preview_name = "Blue Variant, Short" - new_icon_state = "workshorts_blue" - -/datum/atom_skin/security_peacekeeper_shorts/blue_short_short - preview_name = "Blue Variant, Short Short" - new_icon_state = "workshorts_blue_short" - -/datum/atom_skin/security_peacekeeper_shorts/white_short - preview_name = "White Variant, Short" - new_icon_state = "workshorts_white" - -/datum/atom_skin/security_peacekeeper_shorts/white_short_short - preview_name = "White Variant, Short Short" - new_icon_state = "workshorts_white_short" - -/datum/atom_skin/security_peacekeeper_shorts/red_short - preview_name = "Red Variant, Short" - new_icon_state = "workshorts_red" - -/datum/atom_skin/security_peacekeeper_shorts/red_short_short - preview_name = "Red Variant, Short Short" - new_icon_state = "workshorts_red_short" - -/obj/item/clothing/under/rank/security/peacekeeper/jumpsuit - name = "security jumpsuit" - desc = "Turtleneck sweater commonly worn by Peacekeepers, attached with pants." - icon_state = "jumpsuit_blue" - can_adjust = TRUE - supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION - female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY - -/obj/item/clothing/under/rank/security/peacekeeper/jumpsuit/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_peacekeeper_jumpsuit) - -/datum/atom_skin/security_peacekeeper_jumpsuit - abstract_type = /datum/atom_skin/security_peacekeeper_jumpsuit - -/datum/atom_skin/security_peacekeeper_jumpsuit/blue - preview_name = "Blue Variant" - new_icon_state = "jumpsuit_blue" - -/datum/atom_skin/security_peacekeeper_jumpsuit/red - preview_name = "Red Variant" - new_icon_state = "jumpsuit_red" - -/obj/item/clothing/under/rank/security/officer/skirt - name = "security jumpskirt" - desc = "Turtleneck sweater commonly worn by Peacekeepers, attached with a skirt." - icon = 'modular_skyrat/master_files/icons/obj/clothing/under/security.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/under/security.dmi' - icon_state = "secskirt" - - -/obj/item/clothing/under/rank/security/peacekeeper/shortskirt - name = "security shortskirt" - desc = "Plainshirted uniform commonly worn by Peacekeepers, attached with a skirt." - icon_state = "shortskirt_blue" - icon = 'modular_skyrat/master_files/icons/obj/clothing/under/security.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/under/security.dmi' - female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY - gets_cropped_on_taurs = FALSE - -/obj/item/clothing/under/rank/security/peacekeeper/shortskirt/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_peacekeeper_shortskirt) - -/datum/atom_skin/security_peacekeeper_shortskirt - abstract_type = /datum/atom_skin/security_peacekeeper_shortskirt - -/datum/atom_skin/security_peacekeeper_shortskirt/blue - preview_name = "Blue Variant" - new_icon_state = "shortskirt_blue" - -/datum/atom_skin/security_peacekeeper_shortskirt/black - preview_name = "Black Variant" - new_icon_state = "shortskirt_black" - -/obj/item/clothing/under/rank/security/peacekeeper/miniskirt - name = "security miniskirt" - desc = "This miniskirt was originally featured in a gag calendar, but entered official use once they realized its potential for arid climates." - icon_state = "miniskirt" - female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY - gets_cropped_on_taurs = FALSE - can_adjust = TRUE - body_parts_covered = GROIN | LEGS - -/obj/item/clothing/under/rank/security/peacekeeper/miniskirt/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_peacekeeper_miniskirt) - -/datum/atom_skin/security_peacekeeper_miniskirt - abstract_type = /datum/atom_skin/security_peacekeeper_miniskirt - -/datum/atom_skin/security_peacekeeper_miniskirt/blue - preview_name = "Blue Variant" - new_icon_state = "miniskirt" - -/datum/atom_skin/security_peacekeeper_miniskirt/red - preview_name = "Red Variant" - new_icon_state = "miniskirt_red" - -/datum/atom_skin/security_peacekeeper_miniskirt/black - preview_name = "Black Variant" - new_icon_state = "miniskirt_black" - -/* -* HEAD OF SECURITY -*/ - /datum/armor/clothing_under/redsec_syndicate melee = 10 fire = 50 diff --git a/modular_skyrat/master_files/code/modules/loadout/categories/donator_personal.dm b/modular_skyrat/master_files/code/modules/loadout/categories/donator_personal.dm index 0354c799f4a..0394cbe2ba0 100644 --- a/modular_skyrat/master_files/code/modules/loadout/categories/donator_personal.dm +++ b/modular_skyrat/master_files/code/modules/loadout/categories/donator_personal.dm @@ -325,12 +325,6 @@ item_path = /obj/item/toy/plush/skyrat/tesh //ckeywhitelist = list("tobjv") -/datum/loadout_item/uniform/redhosneck - name = "Black and Red Turtleneck" - item_path = /obj/item/clothing/under/rank/security/head_of_security/alt/roselia - //ckeywhitelist = list("ultimarifox") - restricted_roles = list(JOB_HEAD_OF_SECURITY) - /datum/loadout_item/toys/plush/roselia_plush name = "Obscene Sergal Plushie" item_path = /obj/item/toy/plush/skyrat/roselia @@ -459,18 +453,6 @@ item_path = /obj/item/toy/plush/skyrat/plushie_elofy //ckeywhitelist = list("october23") // Asked it to be public. -/datum/loadout_item/suit/elofy - name = "Solar Admiral Coat" - item_path = /obj/item/clothing/suit/armor/hos/elofy -// ckeywhitelist = list("october23") - restricted_roles = list(JOB_HEAD_OF_SECURITY) - -/datum/loadout_item/head/elofy - name = "Solar Admiral Hat" - item_path = /obj/item/clothing/head/hats/hos/elofy - ckeywhitelist = list("october23") - restricted_roles = list(JOB_HEAD_OF_SECURITY) - /datum/loadout_item/pocket_items/transponder name = "Broken Helian Transponder" item_path = /obj/item/donator/transponder diff --git a/modular_skyrat/master_files/code/modules/loadout/categories/heads.dm b/modular_skyrat/master_files/code/modules/loadout/categories/heads.dm index 197834ce94b..5562acede3c 100644 --- a/modular_skyrat/master_files/code/modules/loadout/categories/heads.dm +++ b/modular_skyrat/master_files/code/modules/loadout/categories/heads.dm @@ -428,31 +428,6 @@ * JOB-LOCKED */ -/datum/loadout_item/head/cowboyhat_sec - name = "Cattleman Hat, Security" - item_path = /obj/item/clothing/head/cowboy/skyrat/cattleman/sec - restricted_roles = list(JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_OFFICER, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER) - -/datum/loadout_item/head/cowboyhat_secwide - name = "Wide-Brimmed Cattleman Hat, Security" - item_path = /obj/item/clothing/head/cowboy/skyrat/cattleman/wide/sec - restricted_roles = list(JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_OFFICER, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER) - -/datum/loadout_item/head/ushanka/sec - name = "Security Ushanka" - item_path = /obj/item/clothing/head/costume/ushanka/sec - restricted_roles = list(JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_OFFICER, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER) - -/datum/loadout_item/head/navyblueofficerberet - name = "Security Officer's Navy Blue beret" - item_path = /obj/item/clothing/head/beret/sec/navyofficer - restricted_roles = list(JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_OFFICER, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_SECURITY_MEDIC) - -/datum/loadout_item/head/navybluewardenberet - name = "Warden's Navy Blue beret" - item_path = /obj/item/clothing/head/beret/sec/navywarden - restricted_roles = list(JOB_WARDEN) - /datum/loadout_item/head/cybergoggles_civ name = "Type-34C Forensics Headwear" item_path = /obj/item/clothing/head/fedora/det_hat/cybergoggles/civilian diff --git a/modular_skyrat/master_files/code/modules/loadout/categories/suit.dm b/modular_skyrat/master_files/code/modules/loadout/categories/suit.dm index b800f0c88a4..0a719c78a33 100644 --- a/modular_skyrat/master_files/code/modules/loadout/categories/suit.dm +++ b/modular_skyrat/master_files/code/modules/loadout/categories/suit.dm @@ -575,35 +575,6 @@ item_path = /obj/item/clothing/suit/hooded/wintercoat/miner // JACKETS -/datum/loadout_item/suit/navybluejacketofficer - name = "Security Officer's Navy Blue Formal Jacket" - item_path = /obj/item/clothing/suit/jacket/officer/blue - restricted_roles = list(JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_OFFICER, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_SECURITY_MEDIC) - -/datum/loadout_item/suit/navybluejacketwarden - name = "Warden's Navy Blue Formal Jacket" - item_path = /obj/item/clothing/suit/jacket/warden/blue - restricted_roles = list(JOB_WARDEN) - -/datum/loadout_item/suit/navybluejackethos - name = "Head of Security's Navy Blue Formal Jacket" - item_path = /obj/item/clothing/suit/jacket/hos/blue - restricted_roles = list(JOB_HEAD_OF_SECURITY) - -/datum/loadout_item/suit/security_jacket - name = "Security Jacket" - item_path = /obj/item/clothing/suit/toggle/jacket/sec - restricted_roles = list(JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_OFFICER, JOB_HEAD_OF_SECURITY) //Not giving this one to COs because it's actually better than the one they spawn with - -/datum/loadout_item/suit/brit - name = "High Vis Armored Vest" - item_path = /obj/item/clothing/suit/armor/vest/peacekeeper/brit - restricted_roles = list(JOB_HEAD_OF_SECURITY, JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_CORRECTIONS_OFFICER) - -/datum/loadout_item/suit/british_jacket - name = "Peacekeeper Officer Coat" - item_path = /obj/item/clothing/suit/british_officer - restricted_roles = list(JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_OFFICER, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_SECURITY_MEDIC) /datum/loadout_item/suit/offdep_jacket name = "Off-Department Jacket" diff --git a/modular_skyrat/master_files/code/modules/loadout/categories/uniform.dm b/modular_skyrat/master_files/code/modules/loadout/categories/uniform.dm index c92f000cd17..df8af6cc5a7 100644 --- a/modular_skyrat/master_files/code/modules/loadout/categories/uniform.dm +++ b/modular_skyrat/master_files/code/modules/loadout/categories/uniform.dm @@ -52,65 +52,6 @@ name = "Shoredress Wetsuit" item_path = /obj/item/clothing/under/akula_wetsuit -/datum/loadout_item/uniform/jumpsuit/security_skirt - name = "Blue Security Battledress" - item_path = /obj/item/clothing/under/rank/security/peacekeeper/skirt - restricted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_SECURITY_MEDIC) //BUBBER EDIT: adds JOB_CORRECTIONS_OFFICER and JOB_SECURITY_MEDIC - -/datum/loadout_item/uniform/jumpsuit/security_skirt_redsec - name = "Red Security Battledress" - item_path = /obj/item/clothing/under/rank/security/peacekeeper/skirt_redsec - restricted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_SECURITY_MEDIC) //BUBBER EDIT: adds JOB_CORRECTIONS_OFFICER and JOB_SECURITY_MEDIC - -/datum/loadout_item/uniform/jumpsuit/security_skirt_hos - name = "HoS Security Battledress" - item_path = /obj/item/clothing/under/rank/security/peacekeeper/skirt_hos - restricted_roles = list(JOB_HEAD_OF_SECURITY) - -/datum/loadout_item/uniform/jumpsuit/security_trousers - name = "Security Trousers" - item_path = /obj/item/clothing/under/rank/security/peacekeeper/trousers - restricted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_SECURITY_MEDIC) //BUBBER EDIT: adds JOB_CORRECTIONS_OFFICER - -/datum/loadout_item/uniform/jumpsuit/security_shorts - name = "Security Shorts" - item_path = /obj/item/clothing/under/rank/security/peacekeeper/trousers/shorts - restricted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_SECURITY_MEDIC) //BUBBER EDIT: adds JOB_CORRECTIONS_OFFICER and JOB_SECURITY_MEDIC - -/datum/loadout_item/uniform/jumpsuit/security_jumpskirt - name = "Security Jumpskirt" - item_path = /obj/item/clothing/under/rank/security/officer/skirt - restricted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_SECURITY_MEDIC) //BUBBER EDIT: adds JOB_CORRECTIONS_OFFICER and JOB_SECURITY_MEDIC - -/datum/loadout_item/uniform/jumpsuit/security_shortskirt - name = "Security Shortskirt" - item_path = /obj/item/clothing/under/rank/security/peacekeeper/shortskirt - restricted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_SECURITY_MEDIC) //BUBBER EDIT: adds JOB_CORRECTIONS_OFFICER and JOB_SECURITY_MEDIC - -/datum/loadout_item/uniform/jumpsuit/security_miniskirt - name = "Security Miniskirt" - item_path = /obj/item/clothing/under/rank/security/peacekeeper/miniskirt - restricted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_SECURITY_MEDIC) //BUBBER EDIT: adds JOB_CORRECTIONS_OFFICER and JOB_SECURITY_MEDIC - -/datum/loadout_item/uniform/jumpsuit/security_jumpsuit - name = "Security Jumpsuit" - item_path = /obj/item/clothing/under/rank/security/peacekeeper/jumpsuit - restricted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_SECURITY_MEDIC) //BUBBER EDIT: adds JOB_CORRECTIONS_OFFICER and JOB_SECURITY_MEDIC - -/datum/loadout_item/uniform/jumpsuit/security_peacekeeper - name = "Security Peacekeeper Uniform" - item_path = /obj/item/clothing/under/rank/security/peacekeeper - restricted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY, JOB_SECURITY_MEDIC) - -/datum/loadout_item/uniform/jumpsuit/imperial_police_uniform - name = "Imperial Police Uniform" - item_path = /obj/item/clothing/under/colonial/nri_police - restricted_roles = list(JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_OFFICER, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_SECURITY_MEDIC) - -/datum/loadout_item/uniform/jumpsuit/disco - name = "Superstar Cop Uniform" - item_path = /obj/item/clothing/under/rank/security/detective/disco - /datum/loadout_item/uniform/jumpsuit/kim name = "Aerostatic Suit" item_path = /obj/item/clothing/under/rank/security/detective/kim @@ -186,11 +127,6 @@ name = "Supply Utility Uniform" item_path = /obj/item/clothing/under/rank/cargo/tech/skyrat/utility -/datum/loadout_item/uniform/jumpsuit/utility_sec - name = "Security Utility Uniform" - item_path = /obj/item/clothing/under/rank/security/skyrat/utility - restricted_roles = list(JOB_SECURITY_OFFICER, JOB_DETECTIVE, JOB_WARDEN, JOB_BLUESHIELD, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER) - /datum/loadout_item/uniform/jumpsuit/utility_com name = "Command Utility Uniform" item_path = /obj/item/clothing/under/rank/captain/skyrat/utility diff --git a/modular_skyrat/master_files/code/modules/mod/mod_theme.dm b/modular_skyrat/master_files/code/modules/mod/mod_theme.dm index 92f8cd041b9..acb86382dae 100644 --- a/modular_skyrat/master_files/code/modules/mod/mod_theme.dm +++ b/modular_skyrat/master_files/code/modules/mod/mod_theme.dm @@ -76,148 +76,6 @@ acid = 100 wound = 15 -/datum/mod_theme/security // Security Officer - default_skin = "security_blue" - variants = list( - "security" = list( - /obj/item/clothing/head/mod = list( - UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE|HEADINTERNALS, - UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT, - SEALED_INVISIBILITY = HIDEMASK|HIDEEYES|HIDEFACE, - UNSEALED_COVER = HEADCOVERSMOUTH, - SEALED_COVER = HEADCOVERSEYES|PEPPERPROOF, - UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, - SEALED_MESSAGE = HELMET_SEAL_MESSAGE, - ), - /obj/item/clothing/suit/mod = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - SEALED_INVISIBILITY = HIDEJUMPSUIT, - UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, - SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, - ), - /obj/item/clothing/gloves/mod = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - CAN_OVERSLOT = TRUE, - UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, - SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, - ), - /obj/item/clothing/shoes/mod = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - CAN_OVERSLOT = TRUE, - UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, - SEALED_MESSAGE = BOOT_SEAL_MESSAGE, - ), - ), - "security_blue" = list( - MOD_ICON_OVERRIDE = 'modular_skyrat/master_files/icons/obj/clothing/modsuit/mod_clothing.dmi', - MOD_WORN_ICON_OVERRIDE = 'modular_skyrat/master_files/icons/mob/clothing/modsuit/mod_clothing.dmi', - /obj/item/clothing/head/mod = list( - UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE|HEADINTERNALS, - UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT, - SEALED_INVISIBILITY = HIDEMASK|HIDEEYES|HIDEFACE, - UNSEALED_COVER = HEADCOVERSMOUTH, - SEALED_COVER = HEADCOVERSEYES|PEPPERPROOF, - UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, - SEALED_MESSAGE = HELMET_SEAL_MESSAGE, - ), - /obj/item/clothing/suit/mod = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - SEALED_INVISIBILITY = HIDEJUMPSUIT, - UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, - SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, - ), - /obj/item/clothing/gloves/mod = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - CAN_OVERSLOT = TRUE, - UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, - SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, - ), - /obj/item/clothing/shoes/mod = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - CAN_OVERSLOT = TRUE, - UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, - SEALED_MESSAGE = BOOT_SEAL_MESSAGE, - ), - ), - ) - -/datum/mod_theme/safeguard // Head of Security - default_skin = "safeguard_blue" - variants = list( - "safeguard" = list( - /obj/item/clothing/head/mod = list( - UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE|HEADINTERNALS, - UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, - UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, - UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, - SEALED_MESSAGE = HELMET_SEAL_MESSAGE, - ), - /obj/item/clothing/suit/mod = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - SEALED_INVISIBILITY = HIDEJUMPSUIT, - UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, - SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, - ), - /obj/item/clothing/gloves/mod = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - CAN_OVERSLOT = TRUE, - UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, - SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, - ), - /obj/item/clothing/shoes/mod = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - CAN_OVERSLOT = TRUE, - UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, - SEALED_MESSAGE = BOOT_SEAL_MESSAGE, - ), - ), - "safeguard_blue" = list( - MOD_ICON_OVERRIDE = 'modular_skyrat/master_files/icons/obj/clothing/modsuit/mod_clothing.dmi', - MOD_WORN_ICON_OVERRIDE = 'modular_skyrat/master_files/icons/mob/clothing/modsuit/mod_clothing.dmi', - /obj/item/clothing/head/mod = list( - UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE|HEADINTERNALS, - UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, - UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, - UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, - SEALED_MESSAGE = HELMET_SEAL_MESSAGE, - ), - /obj/item/clothing/suit/mod = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - SEALED_INVISIBILITY = HIDEJUMPSUIT, - UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, - SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, - ), - /obj/item/clothing/gloves/mod = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - CAN_OVERSLOT = TRUE, - UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, - SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, - ), - /obj/item/clothing/shoes/mod = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - CAN_OVERSLOT = TRUE, - UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, - SEALED_MESSAGE = BOOT_SEAL_MESSAGE, - ), - ), - ) - /datum/armor/mod_theme_prototype // Charlie Station melee = 25 bullet = 5 diff --git a/modular_skyrat/modules/aesthetics/airlock/icons/airlocks/station/security.dmi b/modular_skyrat/modules/aesthetics/airlock/icons/airlocks/station/security.dmi index 8e7094e2c72423cef2e4b06146e014b985d1a10d..a3acd4882dcec04c5d426e286c37eae78d9a635a 100644 GIT binary patch delta 1923 zcmXX{dpy&7AOHTg*~qfF6slv0m`9oBC0*D!baBb5Rg=eURFuo=k;~NfBb6SG>QP9y z^;D>1+LTM7{Z3TUc}{8~9JMYYm&cTCHXCP-{`$T?xA*1q{k~q`L86R!)`8;02xbNV z0301%R=H7g?Ch>NJ3sQJ99X)PN~MN`gpkSP^z?Kllga1v4WkvRbGu*j9k=-VGUKzy zE{eA<-$FbYZv41(G$SWQq;kz%o<)3^xR+2E8krWGizkRMUp)7iW>RaUrq_dZ*{8M# zl&m5g+1c;?X;{*fjE()j^7F>W)wjzu<@=v{D?%@(jyu^T9FUBbXC)li_i5)H?K=;B z*dRRp%dPRotgf%v6QgB1{tZ ld}-tR`kRUhENta#ni4jKN%~%L@2+i! zy#8Cns=&qROrWX<&y5aa6YXs$*EBuPl180*`G^dyMSG%=kx_oqMcCx41vHe>v zzul1Mu{bhr1V?vT@YbzR9>L@Bs*|O5njj?1(~CxWZp~@EjbXHX9foM3KHpViZc$G6 z1tC6sd!SpHQg-RZuO3MeVaVsQnKwzf7|v#>;WI{sZ_wHU1?|=QZ!5<8udbsDF@I78 zzuQ9QfgM{bFr~j6oS!LPlR2Ky2h|ya0EezHRJo1F`@w@rqePB-vX6^|dY2qw#IcU> z|9Gg7g_;67vf&E3B2Z1UG%vNNsJslX=LfJ+Mc*tYAWgniu X8Nh(wh~02dI&E9IzE<6<2~aVxN!J_!>X3STXfV$ zeUCS?GK8&g?JhTqE-{(i;B3~xC4d0})Z&Z?ivv)5R_ZU(PM|VGw(&7w=0-cL-CY9P zkoq%$JiG{sdyTFjgSd1Q=t(`NPHr1BFTR@nuT`t3gqds-Qde+2{5jeyX8{!&>aBTF z_|YPjD9~1SxP)#Ci&yXHZ2Mp_*0`OMD)U+YKfs|ddDFgNf8X|r #o{ixy44R!SZ){JY743eK7XGM_wUl1>Qr4b%ul^r}7YD!)dT;E8A*j>1 z{OiA`*}J?ualKEc7z9Bi Uw;2^LJ{`pS_X7;HIKV2AaKbhg$ZSFi6wV2|EI7>ZSW5t)~?oC)G zwsLqKiopd66woY!_UOH_G#1xw=*`h(q*fCgQ)6I6xIgd8Dy*;9jOP9UtLL8t!v<25 zwD{0iP_W4x=JK=KRXrwk+G3+E^Wyb8dP~St7ze+}*1;@^U^VjQ`#m1LDoTz)PM@1g z!3DJV^JlJWY6GpO7Anzf9V$>gov|Sj80xUokeCNKT5STK0^pdcD7w)@kHrv*Z#cC7 zl|Jva?2Ox72!>G6krLS4e; g i@_sv#UG=B)nLxK?_Pwvft@>W^h(GFVNgYFOSAY+ zUh#LW{{_ipS!&I~7p==d%-X0d9-ZZsbXJkiN!iSI>U*vBqO-mxb>QO)^-Veq-RpS% z;I-e{p >~+-A`kl zE^(m$h(BQ3OsK;c@wU5lN+#(bvP85YdjA{XJeYo!1O{gM`;&$umWXUd#5Q-{@pp4= zJB=%yCb5)5WTe(mff_biNkK?xK_uP#x~G6-Ox_vqYj^TQSuf0UH4rmfx0?lp)Iz#f z*8h~@O%7o{U?=Y`6Mfr}3p&x2mW zoXD znRZBm8ouT7tA+-Sny+2Cs;0KCkUQ;Y2Ns|@;z>cIeDq&Nc8q=JR@{CyJU`KSyv6c- z`KAW<-|Z{c?NzZ~>RMlRRZRV*%EIXGb~5aTKT&!twY9BH?Kru<*9M&|T4|zJ9=aPB z76EUP1exR|797&o^Xg((JdwWHfAJ?L446BafB1mY+h*Nx0ko-m1GTNJx94WEqveZq z|MjxP;U1$`iO!Z)vu1aLO{w2Urp24G9IqR)ihYZDR* 2}fH5-Lzng%L%U1~C^LM01b)W@v1%4CS7Iro{VMuq~!f0j?)xebK4L=VExh zAezQ{FZd3mh8P3$IPCpcXq?%!b8C(yyLJ^6B|~_rq0sCYmwRvcuWXpy;?+>!P&H2u z@9NU!JPpr4vd2e9w>T!kP#xFC&1I&%b2DG+M(CXPf}*O|nNj!dW^uQjsnB6}80D@E z_Y~Cphe(S04cSK+zXEOb?juojGQFYJj#!`8l>RqJq^>BF<&c0r1||IwBUYS8(iZ1% zVJw+`jNE5(+Jnb0DZ>5+l^l}A$UdH1x^$1^A*D;~MgDnBaM}-Uo?pQW&qQXQ+t0!X zi6-TFD$=ZvA{|0-i`UwjO04ID8>AMmu-^y3zqjvGV&|I{L*I)tD}XpRTn*GeWV+Tc z+RqvdBGIOMI-v1=`6}h}GG7Oli{o dw*8)z+jeW&;u zwqgg_-R^^*a;^AwSORJlF0@M@IC8@d_Ng`5mO fy@R;l6ej0Dbpm;fib^O8+JJ! zD4~0{7D_OI>+kPQZLZm*f*#m@c!L#FJpK{#87J0n$(gOUV6{=xFSqeF-*km}%$^Kw zoYm0$6DTy-6rbp42^+IU?XW#-$>@-Oe>OL~p28$8o+lhM+Gb-RIZYHvmPlB!v1ck8 za{=$d0r!s^u(8I7>mORVAcT=AA`n@YyUaeZ_4gxnlymvWR*t18XI6~2Lf;b0r#5pE z)0Yvc!KD m6-8$KjxyNiw+2x4ozS6M9^ zqr#lWq1VLnNt^MVXTgPi8g`mw0S-;G?wC4Pp %QO@mvQCOs1Rx3a?B7l z;CAo`C}&U$kP9PG>+h-RwjB7p_<~Y*MmjY~;Yhf@v>nHxDx%u>PVoZvtQzCpHwRJz zk*)!TNGHKG5Ij*}da56AS%m47wwu<-rzDU73RJ{!%uDh#EWD4MYqr7{%o7jeo}X2x zkNM{%A5;8tt$`6rLuVP-pm= ?KE}AM_Kh3#i|!2jXaXLT#yxaK>+%J^!poiUiXp$~;a)lP z&O7dkfG3aAuow_OiLd np5C zBiBe!hPAy^g7)Weg@z+*gO^mUTIxfeRIssqK3yU0;;ueEr|6zBZp6g^bO^s|^dy4{ yRPJ6YV4L$4t`g5;6x`S6JsvndcyaChqM5;9KyGKO?WpF*1zw(h9`)|L^#1`#4uUuU diff --git a/modular_skyrat/modules/customization/modules/clothing/suits/armor.dm b/modular_skyrat/modules/customization/modules/clothing/suits/armor.dm index a61469563db..e48a9fdff00 100644 --- a/modular_skyrat/modules/customization/modules/clothing/suits/armor.dm +++ b/modular_skyrat/modules/customization/modules/clothing/suits/armor.dm @@ -6,6 +6,7 @@ desc = "Stunning. Menacing. Perfect for the man who gets bullied for leaving the brig." icon = 'modular_skyrat/master_files/icons/obj/clothing/suits/armor.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suits/armor.dmi' + worn_icon_digi = 'modular_skyrat/master_files/icons/mob/clothing/suits/armor_digi.dmi' icon_state = "warden_syndie" supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION diff --git a/modular_skyrat/modules/customization/modules/clothing/~donator/donator_clothing.dm b/modular_skyrat/modules/customization/modules/clothing/~donator/donator_clothing.dm index 8b33e34ea61..faff26a6455 100644 --- a/modular_skyrat/modules/customization/modules/clothing/~donator/donator_clothing.dm +++ b/modular_skyrat/modules/customization/modules/clothing/~donator/donator_clothing.dm @@ -892,7 +892,7 @@ icon_state = "plasmaman_jax" // Donation reward for Raxraus -/obj/item/clothing/shoes/jackboots/peacekeeper/armadyne/rax +/obj/item/clothing/shoes/jackboots/armadyne/rax name = "tactical boots" desc = "Tactical and sleek. This model seems to resemble Armadyne's." @@ -1306,13 +1306,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/poster/contraband/korpstech, 32) worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/uniform.dmi' worn_icon_digi = 'modular_skyrat/master_files/icons/donator/mob/clothing/uniform_digi.dmi' -/obj/item/clothing/glasses/hud/security/sunglasses/gars/giga/roselia - name = "red-tinted giga HUD gar glasses" - desc = "GIGA GAR glasses with a security hud implanted in the lens. Reminds you of a time before the color blue." - icon = 'modular_skyrat/master_files/icons/donator/obj/clothing/glasses.dmi' - icon_state = "supergarsred" - worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/eyes.dmi' - //Donation reward for Konstyantyn /obj/item/clothing/accessory/badge/holo/jade name = "jade holobadge" @@ -1650,128 +1643,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/poster/contraband/korpstech, 32) base_icon_state = "digicoat_interdyne" icon_state = "digicoat_interdyne" -/obj/item/clothing/suit/armor/hos/elofy - name = "anime admiral coat" - desc = "This coat is a near perfect replica of the one worn by Admiral Yi Sun-Sin, main character from \"Heroes of the Galactic Conflict\", \ - an animated war drama set between the Free Planetary Trade Union and the Second Galactic Empire. \ - It proved to be a sensational piece among those who appreciate animated cartoons and period war dramas, \ - but hasn't had much spread outside of the Terran Government." - icon = 'modular_skyrat/master_files/icons/donator/obj/clothing/suits.dmi' - worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/suit.dmi' - icon_state = "coat_blackblue" - inhand_icon_state = "hostrench" - blood_overlay_type = "coat" - body_parts_covered = CHEST|GROIN|LEGS|ARMS - cold_protection = CHEST|GROIN|LEGS|ARMS - supports_variations_flags = NONE - -/obj/item/clothing/suit/armor/hos/elofy/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/anime_coat) - -/datum/atom_skin/anime_coat - abstract_type = /datum/atom_skin/anime_coat - -/datum/atom_skin/anime_coat/black_blue - preview_name = "Black-Blue" - new_icon_state = "coat_blackblue" - -/datum/atom_skin/anime_coat/black_red - preview_name = "Black-Red" - new_icon_state = "coat_blackred" - -/datum/atom_skin/anime_coat/white_red - preview_name = "White-Red" - new_icon_state = "coat_whitered" - -/datum/atom_skin/anime_coat/white_blue - preview_name = "White-Blue" - new_icon_state = "coat_whiteblue" - -/obj/item/clothing/suit/armor/hos/elofy/examine_more(mob/user) - . = ..() - . += "It seems particularly soft and has subtle ballistic fibers intwined with the soft fabric that is perfectedly tailored to the body that wears it. Each golden engraving seems to reflect against your eyes with a slightly blinding flare. This is part of a full set of Luna Wolves Legion battle garb." - - -/obj/item/clothing/head/hats/hos/elofy - name = "anime admiral hat" - desc = "This hat is a near perfect replica of the one worn by Admiral Yi Sun-Sin, main character from \"Heroes of the Galactic Conflict\", \ - an animated war drama set between the Free Planetary Trade Union and the Second Galactic Empire. \ - It proved to be a sensational piece among those who appreciate animated cartoons and period war dramas, \ - but hasn't had much spread outside of the Terran Government." - icon ='modular_skyrat/master_files/icons/donator/obj/clothing/hats.dmi' - worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/head.dmi' - icon_state = "hat_black" - -/obj/item/clothing/head/hats/hos/elofy/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/anime_hat) - -/datum/atom_skin/anime_hat - abstract_type = /datum/atom_skin/anime_hat - -/datum/atom_skin/anime_hat/white - preview_name = "White" - new_icon_state = "hat_white" - -/datum/atom_skin/anime_hat/black - preview_name = "Black" - new_icon_state = "hat_black" - -/obj/item/clothing/gloves/elofy - name = "anime admiral gloves" - desc = "These gloves are a near perfect replica of those worn by Admiral Yi Sun-Sin, main character from \"Heroes of the Galactic Conflict\", \ - an animated war drama set between the Free Planetary Trade Union and the Second Galactic Empire. \ - It proved to be a sensational piece among those who appreciate animated cartoons and period war dramas, \ - but hasn't had much spread outside of the Terran Government." - icon = 'modular_skyrat/master_files/icons/donator/obj/clothing/gloves.dmi' - worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/hands.dmi' - icon_state = "gloves_black" - -/obj/item/clothing/gloves/elofy/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/anime_gloves) - -/datum/atom_skin/anime_gloves - abstract_type = /datum/atom_skin/anime_gloves - -/datum/atom_skin/anime_gloves/white - preview_name = "White" - new_icon_state = "gloves_white" - -/datum/atom_skin/anime_gloves/black - preview_name = "Black" - new_icon_state = "gloves_black" - -/obj/item/clothing/shoes/jackboots/elofy - name = "anime admiral boots" - desc = "These boots are a near perfect replica of those worn by Admiral Yi Sun-Sin, main character from \"Heroes of the Galactic Conflict\", \ - an animated war drama set between the Free Planetary Trade Union and the Second Galactic Empire. \ - It proved to be a sensational piece among those who appreciate animated cartoons and period war dramas, \ - but hasn't had much spread outside of the Terran Government." - icon = 'modular_skyrat/master_files/icons/donator/obj/clothing/shoes.dmi' - worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/feet.dmi' - icon_state = "boots_blackblue" - -/obj/item/clothing/shoes/jackboots/elofy/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/anime_boots) - -/datum/atom_skin/anime_boots - abstract_type = /datum/atom_skin/anime_boots - -/datum/atom_skin/anime_boots/black_red - preview_name = "Black-Red" - new_icon_state = "boots_blackred" - -/datum/atom_skin/anime_boots/white_red - preview_name = "White-Red" - new_icon_state = "boots_whitered" - -/datum/atom_skin/anime_boots/white_blue - preview_name = "White-Blue" - new_icon_state = "boots_whiteblue" - // Donation reward for grasshand /obj/item/clothing/under/rank/civilian/chaplain/divine_archer/noble name = "noble gambeson" diff --git a/modular_skyrat/modules/mapping/code/lockers/interdyne_fob/security.dm b/modular_skyrat/modules/mapping/code/lockers/interdyne_fob/security.dm index 1d1cfc52053..69969500f06 100644 --- a/modular_skyrat/modules/mapping/code/lockers/interdyne_fob/security.dm +++ b/modular_skyrat/modules/mapping/code/lockers/interdyne_fob/security.dm @@ -26,8 +26,8 @@ new /obj/item/clothing/mask/gas/syndicate(src) new /obj/item/clothing/suit/toggle/jacket/sec/old/syndicate(src) new /obj/item/clothing/mask/gas/sechailer/syndicate(src) - new /obj/item/clothing/glasses/hud/security/sunglasses/eyepatch/redsec(src) - new /obj/item/clothing/glasses/hud/security/sunglasses/redsec(src) + new /obj/item/clothing/glasses/hud/security/sunglasses/eyepatch(src) + new /obj/item/clothing/glasses/hud/security/sunglasses(src) /obj/structure/closet/secure_closet/interdynefob/brig_officer_locker/PopulateContents() ..() diff --git a/modular_skyrat/modules/mapping/code/mob_spawns.dm b/modular_skyrat/modules/mapping/code/mob_spawns.dm index 61c7c83d70e..6a4cb823750 100644 --- a/modular_skyrat/modules/mapping/code/mob_spawns.dm +++ b/modular_skyrat/modules/mapping/code/mob_spawns.dm @@ -269,9 +269,9 @@ id_trim = /datum/id_trim/syndicom/skyrat/ds2/brigofficer gloves = /obj/item/clothing/gloves/tackler/combat/insulated suit = /obj/item/clothing/suit/armor/bulletproof/old - back = /obj/item/storage/backpack/security/redsec + back = /obj/item/storage/backpack/security head = /obj/item/clothing/head/helmet/swat/ds - glasses = /obj/item/clothing/glasses/hud/security/sunglasses/redsec + glasses = /obj/item/clothing/glasses/hud/security/sunglasses r_pocket = /obj/item/flashlight/seclite mask = /obj/item/clothing/mask/gas/syndicate ears = /obj/item/radio/headset/syndicateciv/staff @@ -301,8 +301,8 @@ id_trim = /datum/id_trim/syndicom/skyrat/ds2/masteratarms gloves = /obj/item/clothing/gloves/tackler/combat/insulated suit = /obj/item/clothing/suit/armor/vest/warden/syndicate - glasses = /obj/item/clothing/glasses/hud/security/sunglasses/redsec - back = /obj/item/storage/backpack/satchel/sec/redsec + glasses = /obj/item/clothing/glasses/hud/security/sunglasses + back = /obj/item/storage/backpack/satchel/sec head = /obj/item/clothing/head/hats/hos/beret/syndicate l_pocket = /obj/item/gun/energy/e_gun/mini r_pocket = /obj/item/flashlight/seclite diff --git a/modular_skyrat/modules/sec_haul/code/corrections_officer/corrections_officer.dm b/modular_skyrat/modules/sec_haul/code/corrections_officer/corrections_officer.dm index bdf29f503ce..4bbb08455ff 100644 --- a/modular_skyrat/modules/sec_haul/code/corrections_officer/corrections_officer.dm +++ b/modular_skyrat/modules/sec_haul/code/corrections_officer/corrections_officer.dm @@ -33,7 +33,7 @@ /obj/item/melee/baton/security/boomerang/loaded = 1 ) - family_heirlooms = list(/obj/item/book/manual/wiki/security_space_law, /obj/item/clothing/head/security_cap, /obj/item/clothing/mask/whistle) + family_heirlooms = list(/obj/item/book/manual/wiki/security_space_law, /obj/item/clothing/mask/whistle) job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN @@ -52,7 +52,7 @@ satchel = /obj/item/storage/backpack/satchel/sec duffelbag = /obj/item/storage/backpack/duffelbag/sec messenger = /obj/item/storage/backpack/messenger/sec - head = /obj/item/clothing/head/security_garrison +// head = /obj/item/clothing/head/security_garrison box = /obj/item/storage/box/survival/security belt = /obj/item/modular_computer/pda/security diff --git a/modular_skyrat/modules/sec_haul/code/misc/vending.dm b/modular_skyrat/modules/sec_haul/code/misc/vending.dm index 094b4cccc3a..b6afe11b005 100644 --- a/modular_skyrat/modules/sec_haul/code/misc/vending.dm +++ b/modular_skyrat/modules/sec_haul/code/misc/vending.dm @@ -1,8 +1,4 @@ /obj/machinery/vending/security - name = "\improper Armadyne Peacekeeper Equipment Vendor" - desc = "An Armadyne peacekeeper equipment vendor." - product_ads = "Crack capitalist skulls!;Beat some heads in!;Don't forget - harm is good!;Your weapons are right here.;Handcuffs!;Freeze, scumbag!;Don't tase me bro!;Tase them, bro.;Why not have a donut?" - icon = 'modular_skyrat/modules/sec_haul/icons/vending/vending.dmi' products = list( /obj/item/restraints/handcuffs = 18, /obj/item/restraints/handcuffs/cable/zipties = 22, @@ -36,6 +32,9 @@ /obj/item/vending_refill/security machine_name = "Armadyne Peacekeeper Equipment Vendor" +/* + +// BUBBER EDIT - useless /obj/machinery/vending/wardrobe/sec_wardrobe name = "\improper Peacekeeper Outfitting Station" @@ -47,7 +46,7 @@ vend_reply = "Good luck, Peacekeeper!" products = list(/obj/item/clothing/suit/hooded/wintercoat/security = 5, /obj/item/clothing/suit/toggle/jacket/sec = 5, - /obj/item/clothing/suit/armor/vest/peacekeeper/brit = 5, + /obj/item/clothing/suit/armor/vest/brit = 5, /obj/item/clothing/neck/security_cape = 5, /obj/item/clothing/neck/security_cape/armplate = 5, /obj/item/storage/backpack/security = 5, @@ -56,21 +55,21 @@ /obj/item/storage/backpack/duffelbag/sec = 5, /obj/item/clothing/under/rank/security/officer = 10, /obj/item/clothing/under/rank/security/officer/skirt = 10, - /obj/item/clothing/under/rank/security/peacekeeper/skirt = 10, - /obj/item/clothing/under/rank/security/peacekeeper/shortskirt = 10, - /obj/item/clothing/under/rank/security/peacekeeper/miniskirt = 10, - /obj/item/clothing/under/rank/security/peacekeeper/jumpsuit = 10, + /obj/item/clothing/under/rank/security/skirt = 10, + /obj/item/clothing/under/rank/security/shortskirt = 10, + /obj/item/clothing/under/rank/security/miniskirt = 10, + /obj/item/clothing/under/rank/security/jumpsuit = 10, /obj/item/clothing/under/rank/security/peacekeeper = 10, /obj/item/clothing/under/rank/security/skyrat/utility = 3, /obj/item/clothing/shoes/jackboots/sec = 10, - /obj/item/clothing/head/security_garrison = 10, - /obj/item/clothing/head/security_cap = 10, +// /obj/item/clothing/head/security_garrison = 10, +// /obj/item/clothing/head/security_cap = 10, /obj/item/clothing/head/beret/sec/peacekeeper = 5, /obj/item/clothing/head/helmet/sec/terra = 5, /obj/item/clothing/head/hats/warden/police/patrol = 5, /obj/item/clothing/head/costume/ushanka/sec = 10, /obj/item/clothing/gloves/color/black/security = 10, - /obj/item/clothing/head/helmet/sec/futuristic = 5, +// /obj/item/clothing/head/helmet/sec/futuristic = 5, ) premium = list( /obj/item/clothing/under/rank/security/officer/formal = 3, /obj/item/clothing/suit/jacket/officer/blue = 3, @@ -81,7 +80,11 @@ /obj/item/vending_refill/wardrobe/sec_wardrobe machine_name = "Peacekeeper Outfitting Station" + +*/ + //List for the old one, for when its mapped in; curates it nicely, adds /redsec to the items, and also prevents some conflicts with the above vendor +// antiquated, but stuff uses it /obj/machinery/vending/wardrobe/sec_wardrobe/red name = "\improper SecDrobe" desc = "A vending machine for security and security-related clothing!" @@ -89,18 +92,18 @@ vend_reply = "Thank you for using the SecDrobe!" icon = 'icons/obj/machines/vending.dmi' icon_state = "secdrobe" - products = list(/obj/item/clothing/suit/hooded/wintercoat/security/redsec = 3, - /obj/item/storage/backpack/security/redsec = 3, - /obj/item/storage/backpack/satchel/sec/redsec = 3, - /obj/item/storage/backpack/duffelbag/sec/redsec = 3, - /obj/item/clothing/under/rank/security/officer/redsec = 3, + products = list(/obj/item/clothing/suit/hooded/wintercoat/security = 3, + /obj/item/storage/backpack/security = 3, + /obj/item/storage/backpack/satchel/sec = 3, + /obj/item/storage/backpack/duffelbag/sec = 3, + /obj/item/clothing/under/rank/security/officer = 3, /obj/item/clothing/shoes/jackboots = 3, /obj/item/clothing/head/beret/sec = 3, /obj/item/clothing/head/soft/sec = 3, /obj/item/clothing/mask/bandana/red = 3, /obj/item/clothing/gloves/color/black = 3, /obj/item/clothing/under/rank/security/officer/skirt = 3, - /obj/item/clothing/under/rank/security/skyrat/utility/redsec = 3, + /obj/item/clothing/under/rank/security/skyrat/utility = 3, /obj/item/clothing/suit/toggle/jacket/sec/old = 3, ) premium = list( /obj/item/clothing/under/rank/security/officer/formal = 5, diff --git a/modular_skyrat/modules/sec_haul/code/peacekeeper/armadyne_clothing.dm b/modular_skyrat/modules/sec_haul/code/peacekeeper/armadyne_clothing.dm index 97b7ef36058..be9092add1c 100644 --- a/modular_skyrat/modules/sec_haul/code/peacekeeper/armadyne_clothing.dm +++ b/modular_skyrat/modules/sec_haul/code/peacekeeper/armadyne_clothing.dm @@ -1,4 +1,4 @@ -/obj/item/clothing/under/rank/security/peacekeeper/armadyne +/obj/item/clothing/under/rank/security/armadyne name = "armadyne corporate uniform" desc = "A sleek uniform worn by Armadyne corporate. Its metallic red belt buckle is made in the shape of the Armadyne logo." icon = 'modular_skyrat/master_files/icons/obj/clothing/under/centcom.dmi'//This can probably be moved to centcom.dm when the suits are sorted @@ -6,16 +6,16 @@ worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/under/centcom.dmi' worn_icon_state = "armadyne_shirt" //This can probably be moved to centcom.dm when the suits are sorted -/obj/item/clothing/under/rank/security/peacekeeper/armadyne/tactical +/obj/item/clothing/under/rank/security/armadyne/tactical name = "armadyne tactical uniform" desc = "A robust tactical uniform worn by Armadyne corporate." icon_state = "armadyne_tac" worn_icon_state = "armadyne_tac" -/obj/item/clothing/head/beret/sec/peacekeeper/armadyne +/obj/item/clothing/head/beret/sec/armadyne name = "armadyne corporate beret" desc = "A comfy yet robust beret worn by Armadyne corporate." - icon_state = "/obj/item/clothing/head/beret/sec/peacekeeper/armadyne" + icon_state = "/obj/item/clothing/head/beret/sec/armadyne" greyscale_config = /datum/greyscale_config/beret_badge_fancy greyscale_config_worn = /datum/greyscale_config/beret_badge_fancy/worn greyscale_colors = "#3F3C40#5B2423#491716" @@ -35,7 +35,7 @@ for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) qdel(reskin_component) -/obj/item/clothing/suit/armor/vest/peacekeeper/armadyne +/obj/item/clothing/suit/armor/vest/armadyne name = "armadyne jacket" desc = "An Armadyne branded track jacket, with a thin nanocarbon lining inside for protective purposes. Worn by Armadyne corporate, or wealthy supporters." icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' @@ -44,23 +44,23 @@ worn_icon_state = "armadyne_jacket" supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON -/obj/item/clothing/suit/armor/vest/peacekeeper/armadyne/Initialize(mapload) +/obj/item/clothing/suit/armor/vest/armadyne/Initialize(mapload) . = ..() AddComponent(/datum/component/toggle_icon, "zipper") -/obj/item/clothing/suit/armor/vest/peacekeeper/armadyne/armor +/obj/item/clothing/suit/armor/vest/armadyne/armor name = "armadyne armor vest" desc = "A nanocarbon and high-grade polymer vest, with the worn-red Armadyne logo printed on the back. Used by Armadyne corporate when they need emergency armor." icon_state = "armadyne_armor" worn_icon_state = "armadyne_armor" -/obj/item/clothing/glasses/hud/security/sunglasses/peacekeeper/armadyne +/obj/item/clothing/glasses/hud/security/sunglasses/armadyne name = "armadyne hud glasses" icon_state = "armadyne_glasses" worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/eyes.dmi' icon = 'modular_skyrat/master_files/icons/obj/clothing/glasses.dmi' -/obj/item/clothing/gloves/combat/peacekeeper/armadyne +/obj/item/clothing/gloves/combat/armadyne name = "armadyne combat gloves" desc = "Tactical and sleek. Worn by Armadyne representatives." icon = 'modular_skyrat/master_files/icons/obj/clothing/gloves.dmi' @@ -69,7 +69,7 @@ worn_icon_state = "armadyne_gloves" cut_type = null -/obj/item/clothing/shoes/jackboots/peacekeeper/armadyne +/obj/item/clothing/shoes/jackboots/armadyne name = "armadyne combat boots" desc = "Tactical and sleek. Worn by Armadyne representatives." icon = 'modular_skyrat/master_files/icons/obj/clothing/shoes.dmi' @@ -91,14 +91,14 @@ suit_store = /obj/item/modular_computer/pda/security ears = /obj/item/radio/headset/headset_cent/commander - uniform = /obj/item/clothing/under/rank/security/peacekeeper/armadyne - gloves = /obj/item/clothing/gloves/combat/peacekeeper/armadyne - head = /obj/item/clothing/head/beret/sec/peacekeeper/armadyne + uniform = /obj/item/clothing/under/rank/security/armadyne + gloves = /obj/item/clothing/gloves/combat/armadyne + head = /obj/item/clothing/head/beret/sec/armadyne neck = /obj/item/clothing/neck/tie/black - glasses = /obj/item/clothing/glasses/hud/security/sunglasses/peacekeeper/armadyne - suit = /obj/item/clothing/suit/armor/vest/peacekeeper/armadyne + glasses = /obj/item/clothing/glasses/hud/security/sunglasses/armadyne + suit = /obj/item/clothing/suit/armor/vest/armadyne suit_store = /obj/item/gun/ballistic/automatic/pistol/trappiste - shoes = /obj/item/clothing/shoes/jackboots/peacekeeper/armadyne + shoes = /obj/item/clothing/shoes/jackboots/armadyne belt = /obj/item/storage/belt/security/peacekeeper/armadyne r_pocket = /obj/item/assembly/flash/handheld backpack_contents = list( @@ -115,14 +115,14 @@ name = "Armadyne Corporate Security" ears = /obj/item/radio/headset/headset_sec/alt - uniform = /obj/item/clothing/under/rank/security/peacekeeper/armadyne/tactical - gloves = /obj/item/clothing/gloves/combat/peacekeeper/armadyne + uniform = /obj/item/clothing/under/rank/security/armadyne/tactical + gloves = /obj/item/clothing/gloves/combat/armadyne head = /obj/item/clothing/head/helmet - glasses = /obj/item/clothing/glasses/hud/security/sunglasses/peacekeeper/armadyne + glasses = /obj/item/clothing/glasses/hud/security/sunglasses/armadyne mask = /obj/item/clothing/mask/gas/sechailer - suit = /obj/item/clothing/suit/armor/vest/peacekeeper/armadyne/armor + suit = /obj/item/clothing/suit/armor/vest/armadyne/armor suit_store = /obj/item/gun/ballistic/automatic/sol_smg - shoes = /obj/item/clothing/shoes/jackboots/peacekeeper/armadyne + shoes = /obj/item/clothing/shoes/jackboots/armadyne backpack_contents = list( /obj/item/storage/box/handcuffs, /obj/item/ammo_box/magazine/c35sol_pistol/stendo, @@ -137,14 +137,14 @@ name = "Armadyne Corporate Security Commander" ears = /obj/item/radio/headset/headset_sec/alt - uniform = /obj/item/clothing/under/rank/security/peacekeeper/armadyne/tactical - gloves = /obj/item/clothing/gloves/combat/peacekeeper/armadyne - head = /obj/item/clothing/head/beret/sec/peacekeeper/armadyne - glasses = /obj/item/clothing/glasses/hud/security/sunglasses/peacekeeper/armadyne + uniform = /obj/item/clothing/under/rank/security/armadyne/tactical + gloves = /obj/item/clothing/gloves/combat/armadyne + head = /obj/item/clothing/head/beret/sec/armadyne + glasses = /obj/item/clothing/glasses/hud/security/sunglasses/armadyne mask = /obj/item/clothing/mask/gas/sechailer/swat - suit = /obj/item/clothing/suit/armor/vest/peacekeeper/armadyne/armor + suit = /obj/item/clothing/suit/armor/vest/armadyne/armor suit_store = /obj/item/gun/ballistic/automatic/sol_rifle - shoes = /obj/item/clothing/shoes/jackboots/peacekeeper/armadyne + shoes = /obj/item/clothing/shoes/jackboots/armadyne belt = /obj/item/storage/belt/security/webbing backpack_contents = list( /obj/item/storage/box/handcuffs, diff --git a/modular_skyrat/modules/sec_haul/code/peacekeeper/peacekeeper_clothing.dm b/modular_skyrat/modules/sec_haul/code/peacekeeper/peacekeeper_clothing.dm index bdc6b3988dd..b852225fb34 100644 --- a/modular_skyrat/modules/sec_haul/code/peacekeeper/peacekeeper_clothing.dm +++ b/modular_skyrat/modules/sec_haul/code/peacekeeper/peacekeeper_clothing.dm @@ -1,38 +1,4 @@ -/obj/item/clothing/head/beret/sec/peacekeeper - name = "peacekeeper beret" - desc = "A robust beret with the peacekeeper insignia emblazoned on it. Uses reinforced fabric to offer sufficient protection." - icon_state = "/obj/item/clothing/head/beret/sec/peacekeeper" - greyscale_config = /datum/greyscale_config/beret_badge - greyscale_config_worn = /datum/greyscale_config/beret_badge/worn - post_init_icon_state = "beret_badge" - greyscale_colors = "#3F3C40#375989" - supports_variations_flags = CLOTHING_SNOUTED_VARIATION_NO_NEW_ICON - armor_type = /datum/armor/head_helmet - -/obj/item/clothing/head/beret/sec/peacekeeper/white - icon_state = "/obj/item/clothing/head/beret/sec/peacekeeper/white" - greyscale_config = /datum/greyscale_config/beret - greyscale_config_worn = /datum/greyscale_config/beret/worn - greyscale_config_worn_teshari = /datum/greyscale_config/beret/worn/teshari - post_init_icon_state = "beret" - greyscale_colors = "#EAEAEA" - -/obj/item/clothing/head/hats/hos/beret/peacekeeper - name = "head of security's peacekeeper beret" - desc = "A special beret with the Head of Security's insignia emblazoned on it. A symbol of excellence, a badge of courage, a mark of distinction." - supports_variations_flags = CLOTHING_SNOUTED_VARIATION_NO_NEW_ICON - armor_type = /datum/armor/hats_hos - -/obj/item/clothing/head/beret/sec/navywarden/peacekeeper - name = "warden's peacekeeper beret" - desc = "A special beret with the Warden's insignia emblazoned on it. For wardens with class." - icon_state = "/obj/item/clothing/head/beret/sec/navywarden/peacekeeper" - greyscale_config = /datum/greyscale_config/beret_badge_fancy - greyscale_config_worn = /datum/greyscale_config/beret_badge_fancy/worn - greyscale_colors = "#3f6e9e#FF0000#00AEEF" - post_init_icon_state = "beret_badge_fancy_twist" - supports_variations_flags = CLOTHING_SNOUTED_VARIATION_NO_NEW_ICON - armor_type = /datum/armor/hats_warden +// anything here is non-sec specific or is used for armadyne, which is out-of-scope /obj/item/clothing/head/helmet/sec/terra name = "sol police helmet" @@ -44,90 +10,15 @@ supports_variations_flags = CLOTHING_SNOUTED_VARIATION_NO_NEW_ICON armor_type = /datum/armor/head_helmet -/obj/item/clothing/head/hats/warden/police/patrol - name = "police patrol cap" - desc = "A dark colored hat with a silver badge, for the officer interested in style." - icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' - icon_state = "policeofficerpatrolcap" - supports_variations_flags = CLOTHING_SNOUTED_VARIATION_NO_NEW_ICON - armor_type = /datum/armor/head_helmet - -/obj/item/clothing/head/hats/warden/police/patrol/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/police_patrol_cap) - -/datum/atom_skin/police_patrol_cap - abstract_type = /datum/atom_skin/police_patrol_cap - -/datum/atom_skin/police_patrol_cap/blue - preview_name = "Blue Variant" - new_icon_state = "policeofficercap" - -/datum/atom_skin/police_patrol_cap/black_blue - preview_name = "Black and Blue Variant" - new_icon_state = "policeofficerpatrolcap" - -/datum/atom_skin/police_patrol_cap/sillitoe - preview_name = "Sillitoe Variant" - new_icon_state = "policetrafficcap" - -/datum/atom_skin/police_patrol_cap/long_kesh - preview_name = "Long Kesh Variant" - new_icon_state = "corrections_officer" - -/datum/atom_skin/police_patrol_cap/cadet - preview_name = "Cadet Variant" - new_icon_state = "policecadetcap" - /obj/item/clothing/glasses/hud/security/sunglasses/peacekeeper name = "peacekeeper hud glasses" icon_state = "peacekeeperglasses" worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/eyes.dmi' icon = 'modular_skyrat/master_files/icons/obj/clothing/glasses.dmi' -//PEACEKEEPER UNIFORM -/obj/item/clothing/under/rank/security/peacekeeper - name = "peacekeeper uniform" - desc = "A sleek peacekeeper uniform, made to a price." - icon = 'modular_skyrat/master_files/icons/obj/clothing/under/security.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/under/security.dmi' - icon_state = "peacekeeper" - can_adjust = TRUE - sensor_mode = SENSOR_COORDS - random_sensor = FALSE - -/obj/item/clothing/under/rank/security/warden/peacekeeper - name = "peacekeeper wardens suit" - desc = "A formal security suit for officers complete with Armadyne belt buckle." - icon = 'modular_skyrat/master_files/icons/obj/clothing/under/security.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/under/security.dmi' - icon_state = "peacekeeper_warden" - -/obj/item/clothing/under/rank/security/warden - icon = 'modular_skyrat/master_files/icons/obj/clothing/under/security.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/under/security.dmi' - -/obj/item/clothing/under/rank/security/head_of_security/peacekeeper - name = "head of security's peacekeeper jumpsuit" - desc = "A security jumpsuit decorated for those few with the dedication to achieve the position of Head of Security." - icon = 'modular_skyrat/master_files/icons/obj/clothing/under/security.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/under/security.dmi' - icon_state = "peacekeeper_hos" - //PEACEKEEPER ARMOR -/obj/item/clothing/suit/armor/vest/peacekeeper - name = "peacekeeper armor vest" - desc = "A standard issue peacekeeper armor vest, versatile, lightweight, and most importantly, cheap." - icon = 'modular_skyrat/master_files/icons/obj/clothing/suits/armor.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suits/armor.dmi' - icon_state = "peacekeeper_white" - supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON -/obj/item/clothing/suit/armor/vest/peacekeeper/black - icon_state = "peacekeeper_black" - -/obj/item/clothing/suit/armor/vest/peacekeeper/brit +/obj/item/clothing/suit/armor/vest/brit name = "high vis armored vest" desc = "Oi bruv, you got a loicence for that?" icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' @@ -135,19 +26,10 @@ icon_state = "hazardbg" worn_icon_state = "hazardbg" -/obj/item/clothing/suit/armor/vest/peacekeeper/brit/Initialize(mapload) +/obj/item/clothing/suit/armor/vest/brit/Initialize(mapload) . = ..() AddComponent(/datum/component/toggle_icon, "zipper") -/obj/item/clothing/suit/armor/vest/peacekeeper/spacecoat - name = "peacekeeper sleek coat" - desc = "An incredibly stylish and heavy black coat made of synthetic kangaroo leather, padded with durathread and lined with kevlar." - icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' - icon_state = "peacekeeper_spacecoat" - worn_icon_state = "peacekeeper_spacecoat" - supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON - //PEACEKEEPER GLOVES /obj/item/clothing/gloves/combat/peacekeeper name = "peacekeeper gloves" @@ -166,20 +48,6 @@ armor_type = /datum/armor/none cut_type = null -/obj/item/clothing/gloves/tackler/peacekeeper - name = "peacekeeper gripper gloves" - desc = "Special gloves that manipulate the blood vessels in the wearer's hands, granting them the ability to launch headfirst into walls." - icon = 'modular_skyrat/master_files/icons/obj/clothing/gloves.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/hands.dmi' - icon_state = "peacekeeper_gripper_gloves" - -/obj/item/clothing/gloves/kaza_ruk/sec/peacekeeper - name = "peacekeeper kaza ruk gloves" - desc = "These gloves can teach you to perform Kaza Ruk using nanochips." - icon = 'modular_skyrat/master_files/icons/obj/clothing/gloves.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/hands.dmi' - icon_state = "peacekeeper_gripper_gloves" - //PEACEKEEPER BELTS /obj/item/storage/belt/security/peacekeeper name = "peacekeeper belt" diff --git a/modular_skyrat/modules/sec_haul/code/peacekeeper/peacekeeper_lockers.dm b/modular_skyrat/modules/sec_haul/code/peacekeeper/peacekeeper_lockers.dm deleted file mode 100644 index a2daf1e74d7..00000000000 --- a/modular_skyrat/modules/sec_haul/code/peacekeeper/peacekeeper_lockers.dm +++ /dev/null @@ -1,8 +0,0 @@ -/obj/structure/closet/secure_closet/security - icon = 'modular_skyrat/master_files/icons/obj/closet.dmi' - -/obj/structure/closet/secure_closet/warden - icon = 'modular_skyrat/master_files/icons/obj/closet.dmi' - -/obj/structure/closet/secure_closet/hos - icon = 'modular_skyrat/master_files/icons/obj/closet.dmi' diff --git a/modular_skyrat/modules/tarkon/code/misc-fluff/spawner.dm b/modular_skyrat/modules/tarkon/code/misc-fluff/spawner.dm index 32cc104c788..7b48b3a4c53 100644 --- a/modular_skyrat/modules/tarkon/code/misc-fluff/spawner.dm +++ b/modular_skyrat/modules/tarkon/code/misc-fluff/spawner.dm @@ -193,7 +193,7 @@ /datum/outfit/tarkon/sec name = "Port Tarkon Security Outfit" uniform = /obj/item/clothing/under/tarkon/sec - glasses = /obj/item/clothing/glasses/hud/security/redsec + glasses = /obj/item/clothing/glasses/hud/security gloves = /obj/item/clothing/gloves/tackler/combat neck = /obj/item/clothing/neck/security_cape/tarkon id = /obj/item/card/id/advanced/tarkon/sec diff --git a/modular_skyrat/modules/teshari/code/teshari_clothes.dm b/modular_skyrat/modules/teshari/code/teshari_clothes.dm index 64d23b3399e..6b9527df5aa 100644 --- a/modular_skyrat/modules/teshari/code/teshari_clothes.dm +++ b/modular_skyrat/modules/teshari/code/teshari_clothes.dm @@ -156,7 +156,7 @@ /obj/item/clothing/head/nanotrasen_consultant/beret greyscale_config_worn_teshari = /datum/greyscale_config/beret_badge/worn/teshari -/obj/item/clothing/head/beret/sec/peacekeeper/armadyne +/obj/item/clothing/head/beret/sec/armadyne greyscale_config_worn_teshari = /datum/greyscale_config/beret_badge_fancy/worn/teshari /obj/item/clothing/head/beret/sec/peacekeeper diff --git a/modular_skyrat/modules/vox_sprites/code/head.dm b/modular_skyrat/modules/vox_sprites/code/head.dm index 67b9ee7b904..6e7d07deb5a 100644 --- a/modular_skyrat/modules/vox_sprites/code/head.dm +++ b/modular_skyrat/modules/vox_sprites/code/head.dm @@ -73,13 +73,13 @@ /obj/item/clothing/head/nanotrasen_consultant/beret greyscale_config_worn_vox = /datum/greyscale_config/beret_badge/worn/vox -/obj/item/clothing/head/beret/sec/peacekeeper/armadyne +/obj/item/clothing/head/beret/sec/armadyne greyscale_config_worn_vox = /datum/greyscale_config/beret_badge_fancy/worn/vox /obj/item/clothing/head/beret/sec/peacekeeper greyscale_config_worn_vox = /datum/greyscale_config/beret_badge/worn/vox -/obj/item/clothing/head/beret/sec/peacekeeper/white +/obj/item/clothing/head/beret/sec/white greyscale_config_worn_vox = null /obj/item/clothing/head/beret/sec/navywarden/peacekeeper diff --git a/modular_zubbers/code/_globalvars/lists/maintenance_loot_common.dm b/modular_zubbers/code/_globalvars/lists/maintenance_loot_common.dm index a71f61dbc62..464e1e36f26 100644 --- a/modular_zubbers/code/_globalvars/lists/maintenance_loot_common.dm +++ b/modular_zubbers/code/_globalvars/lists/maintenance_loot_common.dm @@ -58,7 +58,7 @@ GLOBAL_LIST_INIT(common_loot, list( //common: basic items /obj/item/storage/belt/plant = 5, /obj/item/storage/belt/security = 1, /obj/item/storage/belt/security/peacekeeper = 1, - /obj/item/storage/belt/security/redsec = 1, + /obj/item/storage/belt/security = 1, /obj/item/storage/belt/security/webbing = 1, /obj/item/storage/belt/utility = 200, /obj/item/storage/belt/utility/full = 25, diff --git a/modular_zubbers/code/_globalvars/lists/maintenance_loot_rare.dm b/modular_zubbers/code/_globalvars/lists/maintenance_loot_rare.dm index ab052a87bb4..96ca6e8d8bb 100644 --- a/modular_zubbers/code/_globalvars/lists/maintenance_loot_rare.dm +++ b/modular_zubbers/code/_globalvars/lists/maintenance_loot_rare.dm @@ -34,7 +34,7 @@ GLOBAL_LIST_INIT(rarity_loot, list(//rare: really good items - TODO: FIND THE NE /obj/item/clothing/glasses/science = 25, /obj/item/clothing/glasses/hud/security = 10, /obj/item/clothing/glasses/hud/gun_permit = 25, - /obj/item/clothing/glasses/hud/security/redsec = 5, + /obj/item/clothing/glasses/hud/security = 5, /obj/item/clothing/glasses/meson/engine = 25, /obj/item/clothing/glasses/meson/engine/tray = 25, /obj/item/clothing/glasses/sunglasses/reagent = 1, diff --git a/modular_zubbers/code/modules/cargo/packs/security.dm b/modular_zubbers/code/modules/cargo/packs/security.dm index e8b7064303c..1763cec5a2c 100644 --- a/modular_zubbers/code/modules/cargo/packs/security.dm +++ b/modular_zubbers/code/modules/cargo/packs/security.dm @@ -95,6 +95,7 @@ /datum/supply_pack/security/armory/laser_carbine cost = CARGO_CRATE_VALUE * 7 +/* ugly takyon sprites - readd later VIROWIP /datum/supply_pack/security/combine name = "Civil Protection Uniforms" desc = "Extra supplies we got from some weird old guy in a blue suit. Contains six uniforms, \ @@ -110,3 +111,4 @@ ) crate_name = "benefactor supply crate" discountable = SUPPLY_PACK_RARE_DISCOUNTABLE +*/ diff --git a/modular_zubbers/code/modules/clothing/head/helmet.dm b/modular_zubbers/code/modules/clothing/head/helmet.dm index 0f2133072b6..89be1ab4f52 100644 --- a/modular_zubbers/code/modules/clothing/head/helmet.dm +++ b/modular_zubbers/code/modules/clothing/head/helmet.dm @@ -645,67 +645,6 @@ armor_type = /datum/armor/head_helmet strip_delay = 60 -//BEGIN HAT SPRITES BY APRIL - -/obj/item/clothing/head/security_kepi - name = "security kepi" - desc = "Bonjour, inspecteur. A kepi police cap first popularized by planetary police on Pluto. This one appears armored." - icon = 'modular_zubbers/icons/obj/clothing/head/hats.dmi' - worn_icon = 'modular_zubbers/icons/mob/clothing/head/hats.dmi' - icon_state = "kepi_sec_red" - armor_type = /datum/armor/head_helmet - strip_delay = 60 - supports_variations_flags = CLOTHING_SNOUTED_VARIATION_NO_NEW_ICON - -/obj/item/clothing/head/security_kepi/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_kepi) - -/datum/atom_skin/security_kepi - abstract_type = /datum/atom_skin/security_kepi - -/datum/atom_skin/security_kepi/red - preview_name = "Red Security Kepi" - new_icon_state = "kepi_sec_red" - -/datum/atom_skin/security_kepi/blue - preview_name = "Blue Security Kepi" - new_icon_state = "kepi_sec_blue" - -/datum/atom_skin/security_kepi/white - preview_name = "White Security Kepi" - new_icon_state = "kepi_sec_white" - -/datum/atom_skin/security_kepi/black - preview_name = "Black Security Kepi" - new_icon_state = "kepi_sec_black" - -/obj/item/clothing/head/hos_kepi - name = "HoS kepi" - desc = "Bonjour, commandante. A kepi for the Head of Security. It has a embroidered pattern going around it. This one appears well armored." - icon = 'modular_zubbers/icons/obj/clothing/head/hats.dmi' - worn_icon = 'modular_zubbers/icons/mob/clothing/head/hats.dmi' - icon_state = "kepi_sec_red_hos" - armor_type = /datum/armor/hats_hos - strip_delay = 60 - -/obj/item/clothing/head/hos_kepi/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/hos_kepi) - -/datum/atom_skin/hos_kepi - abstract_type = /datum/atom_skin/hos_kepi - -/datum/atom_skin/hos_kepi/red - preview_name = "Red HoS Kepi" - new_icon_state = "kepi_sec_red_hos" - -/datum/atom_skin/hos_kepi/blue - preview_name = "Blue HoS Kepi" - new_icon_state = "kepi_sec_blue_hos" - -// END HATS ADDED BY APRIL - /obj/item/clothing/head/helmet/elder_atmosian desc = "The pinnacle of atmospherics equipment, an expensive modified atmospherics fire helmet plated in one of the most luxurous and durable metals known to man. Providing full atmos coverage without the heavy materials to slow the user down, it also offers far greater protection to most sources of damage, even offering great protection against gases, and other nasty things that try to get into your face." icon = 'modular_zubbers/icons/obj/clothing/head/helmet.dmi' diff --git a/modular_zubbers/code/modules/clothing/head/jobs.dm b/modular_zubbers/code/modules/clothing/head/jobs.dm index 1ab32c0e799..2d59342bb63 100644 --- a/modular_zubbers/code/modules/clothing/head/jobs.dm +++ b/modular_zubbers/code/modules/clothing/head/jobs.dm @@ -40,23 +40,5 @@ greyscale_config_worn = /datum/greyscale_config/beret_badge/worn greyscale_colors = "#3E3E48#FFFFFF" -/obj/item/clothing/head/security_beanie - name = "security beanie" - desc = "A robust beanie with the security insignia emblazoned on it. Uses reinforced fabric to offer sufficient protection." - icon = 'modular_zubbers/icons/obj/clothing/head/hats.dmi' - worn_icon = 'modular_zubbers/icons/mob/clothing/head/hats.dmi' - icon_state = "beanie_sec" - armor_type = /datum/armor/beanie_sec - /obj/item/clothing/head/utility/surgerycap flags_inv = null - -/datum/armor/beanie_sec - melee = 30 - bullet = 25 - laser = 25 - energy = 35 - bomb = 25 - fire = 20 - acid = 50 - wound = 4 diff --git a/modular_zubbers/code/modules/clothing/suits/armor.dm b/modular_zubbers/code/modules/clothing/suits/armor.dm index 5fad582c855..f172920f49a 100644 --- a/modular_zubbers/code/modules/clothing/suits/armor.dm +++ b/modular_zubbers/code/modules/clothing/suits/armor.dm @@ -114,46 +114,3 @@ fire = 100 acid = 50 wound = 25 - -//MetroCop armor, by HL13 station. -/obj/item/clothing/suit/armor/vest/alt/sec/metrocop - name = "metrocop armor" - desc = "Pick up that can. Uses advanced GigaSlop brand Matrixes to allow alternative variants!" - icon = 'modular_zubbers/icons/obj/clothing/suits/armor.dmi' - worn_icon = 'modular_zubbers/icons/mob/clothing/suits/armor.dmi' - icon_state = "civilprotection" - -/obj/item/clothing/suit/armor/vest/alt/sec/metrocop/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/metrocop_armor) - -/datum/atom_skin/metrocop_armor - abstract_type = /datum/atom_skin/metrocop_armor - -/datum/atom_skin/metrocop_armor/metro_cop - preview_name = "Metro Cop" - new_icon_state = "civilprotection" - -/datum/atom_skin/metrocop_armor/metro_coat - preview_name = "MetroCop Coat" - new_icon_state = "cp_trenchcoat" - -/datum/atom_skin/metrocop_armor/medic - preview_name = "Medic" - new_icon_state = "medicalofficer" - -/datum/atom_skin/metrocop_armor/red_trim - preview_name = "Red Trim" - new_icon_state = "dv_vest" - -/datum/atom_skin/metrocop_armor/overwatch_white - preview_name = "White Overwatch" - new_icon_state = "overwatch_white" - -/datum/atom_skin/metrocop_armor/overwatch - preview_name = "Overwatch" - new_icon_state = "overwatch" - -/datum/atom_skin/metrocop_armor/overwatch_red - preview_name = "Red Overwatch" - new_icon_state = "overwatch_red" diff --git a/modular_zubbers/code/modules/clothing/under/misc.dm b/modular_zubbers/code/modules/clothing/under/misc.dm index b0f17db48ab..0951c66ab87 100644 --- a/modular_zubbers/code/modules/clothing/under/misc.dm +++ b/modular_zubbers/code/modules/clothing/under/misc.dm @@ -290,17 +290,6 @@ //SECURITY -/obj/item/clothing/under/rank/security/security_bunnysuit - desc = "The staple of any bunny themed security officers. The red coloring helps to hide any blood that may stain this." - name = "security bunnysuit" - icon_state = "bunnysuit_sec" - icon = 'modular_zubbers/icons/obj/clothing/under/security.dmi' - worn_icon = 'modular_zubbers/icons/mob/clothing/under/bunnysuits.dmi' - worn_icon_digi = 'modular_zubbers/icons/mob/clothing/under/bunnysuits_digi.dmi' - body_parts_covered = CHEST|GROIN|LEGS - alt_covers_chest = TRUE - - /obj/item/clothing/under/rank/security/security_assistant_bunnysuit desc = "The staple of any bunny themed security assistants. Can't lost respect you don't have!" name = "security assistant's bunnysuit" @@ -311,19 +300,6 @@ body_parts_covered = CHEST|GROIN|LEGS alt_covers_chest = TRUE - - -/obj/item/clothing/under/rank/security/warden_bunnysuit - desc = "The staple of any bunny themed wardens. The more formal security bunny suit for a less combat focused job." - name = "warden's bunnysuit" - icon_state = "bunnysuit_warden" - icon = 'modular_zubbers/icons/obj/clothing/under/security.dmi' - worn_icon = 'modular_zubbers/icons/mob/clothing/under/bunnysuits.dmi' - worn_icon_digi = 'modular_zubbers/icons/mob/clothing/under/bunnysuits_digi.dmi' - body_parts_covered = CHEST|GROIN|LEGS - alt_covers_chest = TRUE - - /obj/item/clothing/under/rank/security/brig_phys_bunnysuit desc = "The staple of any bunny themed brig physicians. The rejected alternative to an already discontinued alternate uniform, now sold at a premium!" name = "brig physician's bunnysuit" @@ -366,17 +342,6 @@ body_parts_covered = CHEST|GROIN|LEGS alt_covers_chest = TRUE - -/obj/item/clothing/under/rank/security/head_of_security/bunnysuit - desc = "The staple of any bunny themed security commanders. Includes kevlar weave stockings and a gilded tail." - name = "Head of Security's bunnysuit" - icon_state = "bunnysuit_hos" - icon = 'modular_zubbers/icons/obj/clothing/under/security.dmi' - worn_icon = 'modular_zubbers/icons/mob/clothing/under/bunnysuits.dmi' - worn_icon_digi = 'modular_zubbers/icons/mob/clothing/under/bunnysuits_digi.dmi' - body_parts_covered = CHEST|GROIN|LEGS - alt_covers_chest = TRUE - //SERVICE /obj/item/clothing/under/rank/civilian/hop_bunnysuit diff --git a/modular_zubbers/code/modules/clothing/under/security.dm b/modular_zubbers/code/modules/clothing/under/security.dm index 4941731266f..2f06a333f16 100644 --- a/modular_zubbers/code/modules/clothing/under/security.dm +++ b/modular_zubbers/code/modules/clothing/under/security.dm @@ -21,44 +21,6 @@ worn_icon = 'modular_zubbers/icons/mob/clothing/under/maidsec.dmi' worn_icon_digi = 'modular_zubbers/icons/mob/clothing/under/maidsec_d.dmi' -//Metro Cops - -/obj/item/clothing/under/rank/security/metrocop //Sprite done by HL13 Station - name = "civil protection uniform" - desc = "Standard issue uniforms for Civil Protection forces. Uses advanced GigaSlop brand Matrixes to allow alternative variants!" - icon = 'modular_zubbers/icons/obj/clothing/under/security.dmi' - worn_icon = 'modular_zubbers/icons/mob/clothing/under/security.dmi' - icon_state = "civilprotection" - inhand_icon_state = null - can_adjust = FALSE - -/obj/item/clothing/under/rank/security/metrocop/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/metrocop) - -/datum/atom_skin/metrocop - abstract_type = /datum/atom_skin/metrocop - -/datum/atom_skin/metrocop/metro - preview_name = "MetroCop" - new_icon_state = "civilprotection" - -/datum/atom_skin/metrocop/red - preview_name = "Red" - new_icon_state = "divisionallead" - -/datum/atom_skin/metrocop/overwatch_white - preview_name = "White Overwatch" - new_icon_state = "overwatch_white" - -/datum/atom_skin/metrocop/overwatch - preview_name = "Overwatch" - new_icon_state = "overwatch" - -/datum/atom_skin/metrocop/overwatch_red - preview_name = "Red Overwatch" - new_icon_state = "overwatch_red" - //MGS stuff sprited by Crumpaloo for onlyplateau, please credit when porting, which you obviously have permission to do. /obj/item/clothing/under/rank/security/snake name = "stealth suit" @@ -81,3 +43,10 @@ greyscale_colors = "#A53228#333333#292929" supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION can_adjust = FALSE + +/* + + // VIROSEC + +*/ + diff --git a/modular_zubbers/code/modules/goofsec/code/department_guards.dm b/modular_zubbers/code/modules/goofsec/code/department_guards.dm index bf91199dc5a..d713cb2f68c 100644 --- a/modular_zubbers/code/modules/goofsec/code/department_guards.dm +++ b/modular_zubbers/code/modules/goofsec/code/department_guards.dm @@ -8,6 +8,5 @@ /obj/item/clothing/suit/armor/vest/blueshirt/skyrat/orderly = 1, /obj/item/clothing/suit/toggle/labcoat/skyrat/security_medic/blue = 1, /obj/item/clothing/suit/toggle/jacket/sec/medical = 1, - /obj/item/clothing/under/rank/security/peacekeeper/miniskirt = 1, /obj/item/clothing/glasses/hud/medsechud = 1, ), src) diff --git a/modular_zubbers/code/modules/jobs/job_types/security_officer.dm b/modular_zubbers/code/modules/jobs/job_types/security_officer.dm index 567bf6ecfec..db3fac5ab37 100644 --- a/modular_zubbers/code/modules/jobs/job_types/security_officer.dm +++ b/modular_zubbers/code/modules/jobs/job_types/security_officer.dm @@ -4,11 +4,3 @@ family_heirlooms = list(/obj/item/book/manual/wiki/security_space_law, /obj/item/clothing/head/beret/sec/peacekeeper) - -/datum/outfit/job/security - head = /obj/item/clothing/head/security_garrison - suit_store = /obj/item/gun/energy/e_gun/advtaser - glasses = /obj/item/clothing/glasses/hud/security - backpack_contents = list( - /obj/item/evidencebag = 1, - /obj/item/flashlight/seclite = 1) diff --git a/modular_zubbers/code/modules/loadout/categories/accessories.dm b/modular_zubbers/code/modules/loadout/categories/accessories.dm index dd9b8ffecd2..c8b9cf91e0e 100644 --- a/modular_zubbers/code/modules/loadout/categories/accessories.dm +++ b/modular_zubbers/code/modules/loadout/categories/accessories.dm @@ -20,17 +20,8 @@ name = "Orange Armband" item_path = /obj/item/clothing/accessory/armband/engine/nonsec -/datum/loadout_item/accessory/armband/blue - name = "Blue Armband" - item_path = /obj/item/clothing/accessory/armband/deputy/lopland/nonsec - /datum/loadout_item/accessory/armband/security name = "Security Armband" - item_path = /obj/item/clothing/accessory/armband/deputy/lopland - restricted_roles = list(JOB_HEAD_OF_SECURITY, JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_CORRECTIONS_OFFICER) - -/datum/loadout_item/accessory/armband/security/deputy - name = "Security Deputy Armband" item_path = /obj/item/clothing/accessory/armband/deputy restricted_roles = list(JOB_HEAD_OF_SECURITY, JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_CORRECTIONS_OFFICER) diff --git a/modular_zubbers/code/modules/loadout/categories/glasses.dm b/modular_zubbers/code/modules/loadout/categories/glasses.dm index 1a7ddd48f7e..a77b80d8b81 100644 --- a/modular_zubbers/code/modules/loadout/categories/glasses.dm +++ b/modular_zubbers/code/modules/loadout/categories/glasses.dm @@ -184,12 +184,6 @@ item_path = /obj/item/clothing/glasses/hud/ar/projector/science restricted_roles = list(JOB_SCIENTIST, JOB_ROBOTICIST, JOB_GENETICIST, JOB_RESEARCH_DIRECTOR, JOB_CHEMIST, JOB_SCIENCE_GUARD) -/datum/loadout_item/glasses/hud/redgigagar - name = "Red-tinted Giga HUD Gar Glasses" - item_path = /obj/item/clothing/glasses/hud/security/sunglasses/gars/giga/roselia - //ckeywhitelist = list("ultimarifox") - restricted_roles = list(JOB_HEAD_OF_SECURITY, JOB_SECURITY_OFFICER) - /* * SHADES */ diff --git a/modular_zubbers/code/modules/loadout/categories/gloves.dm b/modular_zubbers/code/modules/loadout/categories/gloves.dm index 8cd6f7ec204..5ec0f9b1579 100644 --- a/modular_zubbers/code/modules/loadout/categories/gloves.dm +++ b/modular_zubbers/code/modules/loadout/categories/gloves.dm @@ -115,11 +115,6 @@ item_path = /obj/item/clothing/gloves/color/black/security restricted_roles = list(ALL_JOBS_SEC) -/datum/loadout_item/gloves/combat/peacekeeper/armadyne - name = "Armadyne Combat Gloves" - item_path = /obj/item/clothing/gloves/combat/peacekeeper/armadyne - restricted_roles = list(ALL_JOBS_SEC) - /datum/loadout_item/gloves/frontier_colonist name = "Frontier Gloves" item_path = /obj/item/clothing/gloves/frontier_colonist/loadout @@ -143,11 +138,6 @@ item_path = /obj/item/clothing/gloves/mikugloves //ckeywhitelist = list("grandvegeta") -/datum/loadout_item/gloves/elofy - name = "Solar Admiral Gloves" - item_path = /obj/item/clothing/gloves/elofy -// ckeywhitelist = list("october23") - /datum/loadout_item/gloves/hypnoring_sharkenning name = "Suspiciously Glossy Ring" item_path = /obj/item/clothing/gloves/ring/hypno/sharkenning diff --git a/modular_zubbers/code/modules/loadout/categories/heads.dm b/modular_zubbers/code/modules/loadout/categories/heads.dm index 375c5356a2d..82949ffe72c 100644 --- a/modular_zubbers/code/modules/loadout/categories/heads.dm +++ b/modular_zubbers/code/modules/loadout/categories/heads.dm @@ -22,21 +22,6 @@ item_path = /obj/item/clothing/head/helmet/abductor/fake donator_only = TRUE //Dono item for MyphicBowser -/datum/loadout_item/head/hats/warden/drill - name = "Warden's Campaign Hat" - item_path = /obj/item/clothing/head/hats/warden/drill - restricted_roles = list(JOB_WARDEN) - -/datum/loadout_item/head/hats/warden/police/patrol - name = "Police Patrol Cap" - item_path = /obj/item/clothing/head/hats/warden/police/patrol - restricted_roles = list(ALL_JOBS_SEC) - -/datum/loadout_item/head/helmet/sec/futuristic - name = "Futuristic Security Helmet" - item_path = /obj/item/clothing/head/helmet/sec/futuristic - restricted_roles = list(ALL_JOBS_SEC) - /datum/loadout_item/head/sombrero name = "Sombrero" item_path = /obj/item/clothing/head/costume/sombrero @@ -65,18 +50,15 @@ donator_only = TRUE restricted_roles = list(JOB_NT_REP) -/datum/loadout_item/head/security_garrison - name = "Security Garrison Cap" - item_path = /obj/item/clothing/head/security_garrison +// SECOFF + +/datum/loadout_item/head/security_helmet + name = "Security Helmet" + item_path = /obj/item/clothing/head/helmet/sec restricted_roles = list(ALL_JOBS_SEC) -/datum/loadout_item/head/security_cap +/datum/loadout_item/head/head/soft/sec name = "Security Cap" - item_path = /obj/item/clothing/head/security_cap - restricted_roles = list(ALL_JOBS_SEC) - -/datum/loadout_item/head/security_cap/soft - name = "Security Soft Cap" item_path = /obj/item/clothing/head/soft/sec restricted_roles = list(ALL_JOBS_SEC) @@ -85,64 +67,75 @@ item_path = /obj/item/clothing/head/soft/veteran restricted_roles = list(ALL_JOBS_SEC) -/datum/loadout_item/head/security_cap/colonial - name = "Imperial Police Cap" - item_path = /obj/item/clothing/head/hats/colonial/nri_police - restricted_roles = list(ALL_JOBS_SEC, JOB_CUSTOMS_AGENT) - /datum/loadout_item/head/security_beanie name = "Security Beanie" item_path = /obj/item/clothing/head/security_beanie restricted_roles = list(ALL_JOBS_SEC) -/datum/loadout_item/head/beret/sec/peacekeeper - name = "Peacekeeper Beret" - item_path = /obj/item/clothing/head/beret/sec/peacekeeper +/datum/loadout_item/head/beret/sec/viro + name = "Security Beret" + item_path = /obj/item/clothing/head/beret/sec/viro restricted_roles = list(ALL_JOBS_SEC) -/datum/loadout_item/head/beret/sec/peacekeeper/white - name = "Peacekeeper White Beret" - item_path = /obj/item/clothing/head/beret/sec/peacekeeper/white - restricted_roles = list(ALL_JOBS_SEC) +// WARDEN -/datum/loadout_item/head/helmet/sec/terra - name = "Sol Police Helmet" - item_path = /obj/item/clothing/head/helmet/sec/terra - restricted_roles = list(ALL_JOBS_SEC) +/datum/loadout_item/head/hats/warden/viro + name = "Warden's Service Cap" + item_path = /obj/item/clothing/head/hats/warden/viro + restricted_roles = list(JOB_WARDEN) -/datum/loadout_item/head/hats/warden/police/patrol - name = "Warden's Police Cap" - item_path = /obj/item/clothing/head/hats/warden/police/patrol - restricted_roles = list(ALL_JOBS_SEC) +/datum/loadout_item/head/hats/warden/viro/alt + name = "Warden's Service Cap" + item_path = /obj/item/clothing/head/hats/warden/viro/alt + restricted_roles = list(JOB_WARDEN) -/datum/loadout_item/head/helmet/sec/redsec - name = "Security Red Helmet" - item_path = /obj/item/clothing/head/helmet/sec/redsec - restricted_roles = list(ALL_JOBS_SEC) +/datum/loadout_item/head/hats/warden/drill/viro + name = "Warden's Campaign Cover" + item_path = /obj/item/clothing/head/hats/warden/drill/viro + restricted_roles = list(JOB_WARDEN) -/datum/loadout_item/head/helmet/nri_police - name = "Imperial Police Helmet" - item_path = /obj/item/clothing/head/helmet/nri_police - restricted_roles = list(ALL_JOBS_SEC, JOB_CUSTOMS_AGENT) +/datum/loadout_item/head/hats/warden/viro/beret + name = "Warden's Beret" + item_path = /obj/item/clothing/head/hats/warden/viro/beret + restricted_roles = list(JOB_WARDEN) -/datum/loadout_item/head/hats/security_kepi - name = "Security Kepi" - item_path = /obj/item/clothing/head/security_kepi - restricted_roles = list(ALL_JOBS_SEC) +/datum/loadout_item/head/hats/soft/sec/warden + name = "Warden's Cap" + item_path = /obj/item/clothing/head/soft/sec/warden + restricted_roles = list(JOB_WARDEN) -/datum/loadout_item/head/beret/sec/peacekeeper/armadyne - name = "Armadyne Corporate Beret" - item_path = /obj/item/clothing/head/beret/sec/peacekeeper/armadyne - restricted_roles = list(ALL_JOBS_SEC) +// HOS -/datum/loadout_item/head/helmet/sec/peacekeeper/security_medic - name = "Security Medic Helmet" - item_path = /obj/item/clothing/head/helmet/sec/peacekeeper/security_medic - restricted_roles = list(JOB_SECURITY_MEDIC) +/datum/loadout_item/head/hats/hos/cap + name = "Head of Security's Cap" + item_path = /obj/item/clothing/head/hats/hos/cap + restricted_roles = list(JOB_HEAD_OF_SECURITY) -/datum/loadout_item/head/beret/sec/peacekeeper/security_medic +/datum/loadout_item/head/hats/hos/cap/beret + name = "Head of Security's Beret" + item_path = /obj/item/clothing/head/hats/hos/cap/beret + restricted_roles = list(JOB_HEAD_OF_SECURITY) + +/datum/loadout_item/head/helmet/sec/hos + name = "Head of Security's Helmet" + item_path = /obj/item/clothing/head/helmet/sec/hos + restricted_roles = list(JOB_HEAD_OF_SECURITY) + +/datum/loadout_item/head/hats/soft/sec/hos + name = "Head of Security's Cap" + item_path = /obj/item/clothing/head/soft/sec/hos + restricted_roles = list(JOB_HEAD_OF_SECURITY) + +/datum/loadout_item/head/hats/hos/cap/beret + name = "Head of Security's Cowboy Hat" + item_path = /obj/item/clothing/head/hats/hos/cap/cowboy + restricted_roles = list(JOB_HEAD_OF_SECURITY) + +// + +/datum/loadout_item/head/beret/sec/security_medic name = "Security Medic Beret" - item_path = /obj/item/clothing/head/beret/sec/peacekeeper/security_medic + item_path = /obj/item/clothing/head/beret/sec/security_medic restricted_roles = list(JOB_SECURITY_MEDIC) /datum/loadout_item/head/lace_bow @@ -179,3 +172,12 @@ name = "Skull Helmet" item_path = /obj/item/clothing/head/helmet/skull/fake +/datum/loadout_item/head/security_cap/colonial + name = "Imperial Police Cap" + item_path = /obj/item/clothing/head/hats/colonial/nri_police + restricted_roles = list(JOB_CUSTOMS_AGENT) + +/datum/loadout_item/head/helmet/nri_police + name = "Imperial Police Helmet" + item_path = /obj/item/clothing/head/helmet/nri_police + restricted_roles = list(JOB_CUSTOMS_AGENT) diff --git a/modular_zubbers/code/modules/loadout/categories/neck.dm b/modular_zubbers/code/modules/loadout/categories/neck.dm index 7116ba19344..4e5a23ea57b 100644 --- a/modular_zubbers/code/modules/loadout/categories/neck.dm +++ b/modular_zubbers/code/modules/loadout/categories/neck.dm @@ -17,16 +17,6 @@ name = "Crow Feather Cloak" item_path = /obj/item/clothing/neck/binary -/datum/loadout_item/neck/security_cape - name = "Security Cape" - item_path = /obj/item/clothing/neck/security_cape - restricted_roles = list(ALL_JOBS_SEC) - -/datum/loadout_item/neck/security_cape/armplate - name = "Security Gauntlet" - item_path = /obj/item/clothing/neck/security_cape/armplate - restricted_roles = list(ALL_JOBS_SEC) - /datum/loadout_item/neck/pauldron name = "Lieutenant Commander's Pauldron" item_path = /obj/item/clothing/neck/pauldron diff --git a/modular_zubbers/code/modules/loadout/categories/shoes.dm b/modular_zubbers/code/modules/loadout/categories/shoes.dm index a0f67eded22..eb893542357 100644 --- a/modular_zubbers/code/modules/loadout/categories/shoes.dm +++ b/modular_zubbers/code/modules/loadout/categories/shoes.dm @@ -43,26 +43,10 @@ name = "High-Heel Jackboots" item_path = /obj/item/clothing/shoes/jackboots/heel -/datum/loadout_item/shoes/boots/jackboots/rax_armadyne_boots - name = "Tactical Boots" - item_path = /obj/item/clothing/shoes/jackboots/peacekeeper/armadyne/rax - //ckeywhitelist = list("raxraus") - restricted_roles = list(ALL_JOBS_SEC) - /datum/loadout_item/shoes/boots/jackboots/kneeboots name = "Knee Boots" item_path = /obj/item/clothing/shoes/jackboots/knee -/datum/loadout_item/shoes/boots/jackboots/peacekeeper - name = "Armadyne Combat Boots" - item_path = /obj/item/clothing/shoes/jackboots/peacekeeper/armadyne - restricted_roles = list(ALL_JOBS_SEC) - -/datum/loadout_item/shoes/boots/jackboots/gogo_boots - name = "Tactical Go-Go boots" - item_path = /obj/item/clothing/shoes/jackboots/gogo_boots - restricted_roles = list(ALL_JOBS_SEC) - /datum/loadout_item/shoes/boots/diesel_m name = "Male Diesel Boots" item_path = /obj/item/clothing/shoes/jackboots/diesel_m @@ -87,11 +71,6 @@ name = "Black Jackboots" item_path = /obj/item/clothing/shoes/jackboots/black -/datum/loadout_item/shoes/boots/elofy - name = "Solar Admiral Boots" - item_path = /obj/item/clothing/shoes/jackboots/elofy -// ckeywhitelist = list("october23") - /* * MISC BOOTS */ diff --git a/modular_zubbers/code/modules/loadout/categories/suit.dm b/modular_zubbers/code/modules/loadout/categories/suit.dm index d2b2a6bfb6e..53aaff530fa 100644 --- a/modular_zubbers/code/modules/loadout/categories/suit.dm +++ b/modular_zubbers/code/modules/loadout/categories/suit.dm @@ -24,76 +24,79 @@ name = "Pirate Coat" item_path = /obj/item/clothing/suit/costume/pirate -/datum/loadout_item/suit/hooded/wintercoat/security - name = "Security Winter Coat" - item_path = /obj/item/clothing/suit/hooded/wintercoat/security +// OFFICER + +/datum/loadout_item/suit/armor/vest/sec/viro + name = "Security Plate Carrier" + item_path = /obj/item/clothing/suit/armor/vest/alt/sec/viro restricted_roles = list(ALL_JOBS_SEC) -/datum/loadout_item/suit/hooded/wintercoat/security/redsec - name = "Security Red Winter Coat" - item_path = /obj/item/clothing/suit/hooded/wintercoat/security/redsec +/datum/loadout_item/suit/armor/vest/sec/viro/heavy + name = "Security Heavy Vest" + item_path = /obj/item/clothing/suit/armor/vest/alt/sec/viro/heavyvest restricted_roles = list(ALL_JOBS_SEC) -/datum/loadout_item/suit/toggle/jacket/sec/old - name = "Security Red Jacket" - item_path = /obj/item/clothing/suit/toggle/jacket/sec/old +/datum/loadout_item/suit/armor/vest/sec/viro/leatherjacket + name = "Security Leather Jacket" + item_path = /obj/item/clothing/suit/armor/vest/alt/sec/viro/leatherjacket restricted_roles = list(ALL_JOBS_SEC) -/datum/loadout_item/suit/secjacket - name = "High-Vis Security Jacket" - item_path = /obj/item/clothing/suit/armor/vest/secjacket/blue +/datum/loadout_item/suit/armor/vest/sec/viro/softshell + name = "Security Softshell" + item_path = /obj/item/clothing/suit/armor/vest/alt/sec/viro/softshell restricted_roles = list(ALL_JOBS_SEC) -/datum/loadout_item/suit/secjacket/bomber - name = "Security Bomber Jacket" - item_path = /obj/item/clothing/suit/toggle/jacket/zubber/bomber/sec - restricted_roles = list(ALL_JOBS_SEC) +// WARDEN -/datum/loadout_item/suit/jacket/officer/tan - name = "Tan Security Blazer" - item_path = /obj/item/clothing/suit/jacket/officer/tan - restricted_roles = list(ALL_JOBS_SEC) +/datum/loadout_item/suit/armor/vest/warden + name = "Warden's Jacket" + item_path = /obj/item/clothing/suit/armor/vest/warden + restricted_roles = list(JOB_WARDEN) -/datum/loadout_item/suit/armor/vest/secjacket - name = "Security Jacket" - item_path = /obj/item/clothing/suit/armor/vest/secjacket - restricted_roles = list(ALL_JOBS_SEC) +/datum/loadout_item/suit/armor/vest/warden/alt + name = "Warden's Armoured Jacket" + item_path = /obj/item/clothing/suit/armor/vest/warden/alt + restricted_roles = list(JOB_WARDEN) -/datum/loadout_item/suit/armor/vest/peacekeeper/armadyne - name = "Armadyne Jacket" - item_path = /obj/item/clothing/suit/armor/vest/peacekeeper/armadyne - restricted_roles = list(ALL_JOBS_SEC) +/datum/loadout_item/suit/armor/vest/warden/alt/winter + name = "Warden's Winter Jacket" + item_path = /obj/item/clothing/suit/armor/vest/warden/alt/winter + restricted_roles = list(JOB_WARDEN) -/datum/loadout_item/suit/armor/vest/peacekeeper/armadyne/armor - name = "Armadyne Armor Vest" - item_path = /obj/item/clothing/suit/armor/vest/peacekeeper/armadyne/armor - restricted_roles = list(ALL_JOBS_SEC) +// HEAD OF SECURITY -/datum/loadout_item/suit/armor/vest/nri_police - name = "Imperial Police Vest" - item_path = /obj/item/clothing/suit/armor/vest/nri_police - restricted_roles = list(ALL_JOBS_SEC, JOB_CUSTOMS_AGENT) +/datum/loadout_item/suit/armor/hos + name = "Head of Security's Leather Greatcoat" + item_path = /obj/item/clothing/suit/armor/hos + restricted_roles = list(JOB_HEAD_OF_SECURITY) -/datum/loadout_item/suit/jacket/fedsec - name = "Modern Security Federation Jacket" - item_path = /obj/item/clothing/suit/fedcoat/modern/sec - restricted_roles = list(ALL_JOBS_SEC) +/datum/loadout_item/suit/armor/hos/trenchcoat + name = "Head of Security's Leather Trenchcoat" + item_path = /obj/item/clothing/suit/armor/hos/trenchcoat + restricted_roles = list(JOB_HEAD_OF_SECURITY) -/datum/loadout_item/suit/jacket/corrections_officer - name = "Correction's Officer's Blazer" - item_path = /obj/item/clothing/suit/toggle/jacket/corrections_officer - restricted_roles = list(JOB_CORRECTIONS_OFFICER, JOB_WARDEN) +/datum/loadout_item/suit/armor/hos/overcoat + name = "Head of Security's Overcoat" + item_path = /obj/item/clothing/suit/armor/hos/overcoat + restricted_roles = list(JOB_HEAD_OF_SECURITY) + +/datum/loadout_item/suit/armor/hos/trenchcoat/winter + name = "Head of Security's Winter Trenchcoat" + item_path = /obj/item/clothing/suit/armor/hos/trenchcoat/winter + restricted_roles = list(JOB_HEAD_OF_SECURITY) + +/datum/loadout_item/suit/armor/hos/vest + name = "Head of Security's Plate Carrier" + item_path = /obj/item/clothing/suit/armor/hos/vest + restricted_roles = list(JOB_HEAD_OF_SECURITY) + +// /datum/loadout_item/suit/jacket/security_medic name = "Security Medic Labcoat" item_path = /obj/item/clothing/suit/toggle/labcoat/skyrat/security_medic restricted_roles = list(JOB_SECURITY_MEDIC) -/datum/loadout_item/suit/jacket/security_medic - name = "Security Medic's Blue Labcoat" - item_path = /obj/item/clothing/suit/toggle/labcoat/skyrat/security_medic/blue - restricted_roles = list(JOB_SECURITY_MEDIC) - // Silver Jacket Mk2 but for all of Command /datum/loadout_item/suit/lt3_armor/New() restricted_roles += list(JOB_HEAD_OF_SECURITY, JOB_BLUESHIELD, JOB_RESEARCH_DIRECTOR, JOB_CHIEF_ENGINEER, JOB_CAPTAIN, JOB_QUARTERMASTER, JOB_CHIEF_MEDICAL_OFFICER) diff --git a/modular_zubbers/code/modules/loadout/categories/under.dm b/modular_zubbers/code/modules/loadout/categories/under.dm index 1fa7d07e187..d1416c0c13a 100644 --- a/modular_zubbers/code/modules/loadout/categories/under.dm +++ b/modular_zubbers/code/modules/loadout/categories/under.dm @@ -1,15 +1,9 @@ //Title Capitalization for names please!!! -/datum/loadout_item/uniform/security/hecu - name = "Urban Camouflage BDU" - item_path = /obj/item/clothing/under/rank/security/officer/hecu - donator_only = TRUE - restricted_roles = list(ALL_JOBS_SEC, JOB_BLUESHIELD) - /datum/loadout_item/uniform/security/camo name = "Armored Camouflage Uniform" item_path = /obj/item/clothing/under/rank/security/camo - restricted_roles = list(ALL_JOBS_SEC, JOB_BLUESHIELD) + restricted_roles = list(JOB_BLUESHIELD) /datum/loadout_item/uniform/camo name = "Camouflage Uniform" @@ -25,44 +19,19 @@ item_path = /obj/item/clothing/under/rank/nanotrasen_consultant/stripper restricted_roles = list(JOB_NT_REP) -/datum/loadout_item/uniform/medrscrubs - name = "Security Medic's Scrubs" - item_path = /obj/item/clothing/under/rank/medical/scrubs/skyrat/red/sec - restricted_roles = list(JOB_SECURITY_MEDIC) - -/datum/loadout_item/uniform/security/officer/redsec - name = "Security Red Uniform" - item_path = /obj/item/clothing/under/rank/security/officer/redsec - restricted_roles = list(ALL_JOBS_SEC) - -/datum/loadout_item/uniform/security/peacekeeper/armadyne - name = "Armadyne Corporate Uniform" - item_path =/obj/item/clothing/under/rank/security/peacekeeper/armadyne - restricted_roles = list(ALL_JOBS_SEC) - -/datum/loadout_item/uniform/security/utility/redsec - name = "Security Red Utility Uniform" - item_path = /obj/item/clothing/under/rank/security/skyrat/utility/redsec - restricted_roles = list(ALL_JOBS_SEC) - -/datum/loadout_item/uniform/security/officer/formal - name = "Security Officer's Formal Uniform" - item_path = /obj/item/clothing/under/rank/security/officer/formal - restricted_roles = list(ALL_JOBS_SEC) - -/datum/loadout_item/uniform/security/peacekeeper/security_medic +/datum/loadout_item/uniform/security/security_medic name = "Security Medic Turtleneck" - item_path =/obj/item/clothing/under/rank/security/peacekeeper/security_medic + item_path =/obj/item/clothing/under/rank/security/security_medic restricted_roles = list(JOB_SECURITY_MEDIC) -/datum/loadout_item/uniform/security/peacekeeper/security_medic/skirt +/datum/loadout_item/uniform/security/security_medic/skirt name = "Security Medic Skirtleneck" - item_path =/obj/item/clothing/under/rank/security/peacekeeper/security_medic/skirt + item_path =/obj/item/clothing/under/rank/security/security_medic/skirt restricted_roles = list(JOB_SECURITY_MEDIC) -/datum/loadout_item/uniform/security/peacekeeper/security_medic/alternate +/datum/loadout_item/uniform/security/security_medic/alternate name = "Security Medic Jumpsuit" - item_path = /obj/item/clothing/under/rank/security/peacekeeper/security_medic/alternate + item_path = /obj/item/clothing/under/rank/security/security_medic/alternate restricted_roles = list(JOB_SECURITY_MEDIC) /datum/loadout_item/uniform/security/corrections_officer diff --git a/modular_zubbers/code/modules/loadout/overrides/loadout_items/loadout_datum.dm b/modular_zubbers/code/modules/loadout/overrides/loadout_items/loadout_datum.dm index 0a833ce991e..ec367deb287 100644 --- a/modular_zubbers/code/modules/loadout/overrides/loadout_items/loadout_datum.dm +++ b/modular_zubbers/code/modules/loadout/overrides/loadout_items/loadout_datum.dm @@ -1,51 +1,3 @@ /datum/loadout_item/accessory/armband_security/New() . = ..() restricted_roles |= JOB_SECURITY_MEDIC - -/datum/loadout_item/head/cowboyhat_sec/New() - . = ..() - restricted_roles |= JOB_SECURITY_MEDIC - -/datum/loadout_item/head/cowboyhat_secwide/New() - . = ..() - restricted_roles |= JOB_SECURITY_MEDIC - -/datum/loadout_item/head/ushanka/sec/New() - . = ..() - restricted_roles |= JOB_SECURITY_MEDIC - -/datum/loadout_item/head/navyblueofficerberet/New() - . = ..() - restricted_roles |= JOB_SECURITY_MEDIC - -/datum/loadout_item/suit/navybluejacketofficer/New() - . = ..() - restricted_roles |= JOB_SECURITY_MEDIC - -/datum/loadout_item/suit/security_jacket/New() - . = ..() - restricted_roles |= JOB_SECURITY_MEDIC - -/datum/loadout_item/suit/brit/New() - . = ..() - restricted_roles |= JOB_SECURITY_MEDIC - -/datum/loadout_item/suit/rax_peacekeeper_jacket/New() - . = ..() - restricted_roles |= JOB_SECURITY_MEDIC - -/datum/loadout_item/under/jumpsuit/rax_banded_uniform/New() - . = ..() - restricted_roles |= JOB_SECURITY_MEDIC - -/datum/loadout_item/under/jumpsuit/security_trousers/New() - . = ..() - restricted_roles |= JOB_SECURITY_MEDIC - -/datum/loadout_item/under/jumpsuit/security_peacekeeper/New() - . = ..() - restricted_roles |= JOB_SECURITY_MEDIC - -/datum/loadout_item/under/jumpsuit/utility_sec/New() - . = ..() - restricted_roles |= JOB_SECURITY_MEDIC diff --git a/modular_zubbers/code/modules/security/icons/card.dmi b/modular_zubbers/code/modules/security/icons/card.dmi new file mode 100644 index 0000000000000000000000000000000000000000..cf74d73796c8c6121c0818fdac74e4a7f0ab9a5f GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnL3?x0byx0z;m;-!5T!HlRD%)E?im@cfFPOpM z*^M-ilB$r15|`BC )e_1!5cyiE*d|0 zq;uX!^CUx2Pwx&3;~?Y9#$F0CsjT7l;v3i)KHlcf^{%~V4K$R;)5S4_V`g%K#2p}S W0R!VxY5#RV7K5j&pUXO@geCygCOLEf literal 0 HcmV?d00001 diff --git a/modular_zubbers/code/modules/security/loadouts.dm b/modular_zubbers/code/modules/security/loadouts.dm index 8163c3f1c27..658f7d03b26 100644 --- a/modular_zubbers/code/modules/security/loadouts.dm +++ b/modular_zubbers/code/modules/security/loadouts.dm @@ -1,13 +1,15 @@ /datum/outfit/job/security + uniform = /obj/item/clothing/under/rank/security/officer/viro + head = /obj/item/clothing/head/soft/sec + suit = /obj/item/clothing/suit/armor/vest/alt/sec/viro suit_store = /obj/item/flashlight/seclite backpack_contents = list( /obj/item/evidencebag = 1, /obj/item/security_voucher/primary = 1, /obj/item/security_voucher/utility = 1 ) - head = /obj/item/clothing/head/security_garrison - glasses = /obj/item/clothing/glasses/hud/security + glasses = /obj/item/clothing/glasses/hud/security/sunglasses /datum/outfit/job/corrections_officer suit_store = /obj/item/flashlight/seclite @@ -32,7 +34,8 @@ /datum/outfit/job/warden - suit = /obj/item/clothing/suit/armor/vest/warden + head = /obj/item/clothing/head/hats/warden/drill/viro + suit = /obj/item/clothing/suit/armor/vest/warden/alt suit_store = /obj/item/flashlight/seclite backpack_contents = list( /obj/item/evidencebag = 1, @@ -42,6 +45,7 @@ //Brigmed is in it's own file /datum/outfit/job/hos + head = /obj/item/clothing/head/hats/hos/cap/beret backpack_contents = list( /obj/item/evidencebag = 1, /obj/item/melee/baton/security/loaded/hos = 1, diff --git a/modular_zubbers/code/modules/security/sec_clothing_overrides.dm b/modular_zubbers/code/modules/security/sec_clothing_overrides.dm index 96a51b7d239..78a8e4e6bd2 100644 --- a/modular_zubbers/code/modules/security/sec_clothing_overrides.dm +++ b/modular_zubbers/code/modules/security/sec_clothing_overrides.dm @@ -1,138 +1,406 @@ /* -* Security clothing reskins and such. - Redsec items at the bottom tbd. + // HATS */ -/* -* ACCESSORIES -*/ +// OFFICER -/obj/item/clothing/accessory/armband/deputy/lopland/nonsec - name = "blue armband" - desc = "An armband, worn to signify proficiency in a skill or association with a department. This one is blue." +/obj/item/clothing/head/helmet/sec + icon = 'modular_zubbers/icons/obj/clothing/head/hats.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/head/hats.dmi' + icon_state = "security_helmet" + base_icon_state = "security_helmet" + worn_icon_muzzled = null + hair_mask = /datum/hair_mask/standard_hat_middle -/obj/item/clothing/accessory/armband/deputy/lopland - icon = 'modular_skyrat/master_files/icons/obj/clothing/accessories.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/accessories.dmi' - icon_state = "armband_lopland" - desc = "A Peacekeeper-blue armband, showing the wearer to be certified by Lopland as a top-of-their-class Security Officer." +/obj/item/clothing/mask/bandana/sec + name = "red bandana" + icon = 'modular_zubbers/icons/obj/clothing/head/hats.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/head/hats.dmi' + icon_state = "security_bandana" + post_init_icon_state = "security_bandana" + greyscale_config = null + greyscale_config_worn = null + greyscale_config_inhand_left = /datum/greyscale_config/bandana/inhands_left + greyscale_config_inhand_right = /datum/greyscale_config/bandana/inhands_right + greyscale_colors = "#c41521" + armor_type = /datum/armor/cosmetic_sec + +/obj/item/clothing/head/beret/sec/viro + icon = 'modular_zubbers/icons/obj/clothing/head/hats.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/head/hats.dmi' + icon_state = "security_beret" + post_init_icon_state = "security_beret" + greyscale_config = null + greyscale_config_worn = null + greyscale_colors = null + armor_type = /datum/armor/cosmetic_sec + +/obj/item/clothing/head/soft/sec + icon = 'modular_zubbers/icons/obj/clothing/head/hats.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/head/hats.dmi' + icon_state = "secsoft" + soft_type = "sec" + +/obj/item/clothing/head/security_beanie + name = "security beanie" + desc = "A robust beanie with the security insignia emblazoned on it. Uses reinforced fabric to offer sufficient protection." + icon = 'modular_zubbers/icons/obj/clothing/head/hats.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/head/hats.dmi' + icon_state = "security_beanie" + armor_type = /datum/armor/cosmetic_sec + hair_mask = /datum/hair_mask/standard_hat_low + +// WARDEN + +/obj/item/clothing/head/hats/warden/viro // too many subtypes, who would've guessed? + name = "\proper the Warden's service cap" + desc = "It's a special armored hat issued to the Warden of Nanotrasen Corporate Security. Protects the head from impacts." + icon = 'modular_zubbers/icons/obj/clothing/head/hats.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/head/hats.dmi' + icon_state = "warden_cap" + hair_mask = /datum/hair_mask/standard_hat_middle + +/obj/item/clothing/head/hats/warden/viro/alt + icon_state = "warden_cap_red" + +/obj/item/clothing/head/hats/warden/drill/viro + name = "\proper the Warden's campaign cover" + icon = 'modular_zubbers/icons/obj/clothing/head/hats.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/head/hats.dmi' + icon_state = "wardendrill" + hair_mask = /datum/hair_mask/standard_hat_low + +/obj/item/clothing/head/hats/warden/viro/beret // not greyscaled so its easier to do this then make it a subtype of regular berets + name = "\proper the Warden's beret" + desc = "A special beret with the Warden's insignia emblazoned on it. For wardens with class." + icon_state = "warden_beret" + +/obj/item/clothing/head/soft/sec/warden + name = "\proper the Warden's cap" + desc = "An armoured grey baseball cap, attached on front is the Warden's insignia, a deep-red patch emblazoned with a jailcell, with words around stating '/WARDEN CORRECTIONALS - NANOTRASEN CORPORATE SECURITY'/" + icon_state = "wardensoft" + soft_type = "warden" + armor_type = /datum/armor/hats_warden + +// HOS + +/obj/item/clothing/head/hats/hos/cap + name = "\proper the Head of Security's service cap" + icon = 'icons/obj/clothing/head/hats.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/head/hats.dmi' + icon_state = "hoscap" + hair_mask = /datum/hair_mask/standard_hat_low + +/obj/item/clothing/head/hats/hos/cap/beret // so jank + name = "\proper the Head of Security's beret" + icon = 'modular_zubbers/icons/obj/clothing/head/hats.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/head/hats.dmi' + icon_state = "hos_beret" + hair_mask = /datum/hair_mask/standard_hat_middle + +/obj/item/clothing/head/helmet/sec/hos + icon = 'modular_zubbers/icons/obj/clothing/head/hats.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/head/hats.dmi' + icon_state = "hos_helmet" + base_icon_state = "hos_helmet" + armor_type = /datum/armor/hats_hos + +/obj/item/clothing/head/soft/sec/hos + name = "\proper the Head of Security's cap" + desc = "An armoured black baseball cap, attached on front are embroided yellow letters stating '/HEAD OF SECURITY'/" + icon_state = "hossoft" + soft_type = "hos" + armor_type = /datum/armor/hats_hos + +/obj/item/clothing/head/hats/hos/cap/cowboy + name = "\proper the Head of Security's cowboy hat" + desc = "An armoured cattleman's hat, emblazoned with the Head of Security's insignia attached to a red band that goes around the hat." + icon = 'modular_zubbers/icons/obj/clothing/head/hats.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/head/hats.dmi' + icon_state = "hos_cowboy" + hair_mask = /datum/hair_mask/standard_hat_middle /* -* BACKPACKS + // UNIFORMS */ -/obj/item/storage/backpack/security - icon = 'modular_skyrat/master_files/icons/obj/clothing/backpacks.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/back.dmi' - lefthand_file = 'modular_skyrat/master_files/icons/mob/inhands/clothing/backpack_lefthand.dmi' - righthand_file = 'modular_skyrat/master_files/icons/mob/inhands/clothing/backpack_righthand.dmi' - icon_state = "backpack_security_black" - inhand_icon_state = "backpack_security_black" -/obj/item/storage/backpack/security/Initialize(mapload) +// OFFICER + +/obj/item/clothing/under/rank/security/officer/viro // theres too many subtypes so we just snowflake + name = "security uniform" + desc = "Standard-issue Security department uniform, given to members of Nanotrasen Corporate Security." + icon = 'modular_zubbers/icons/obj/clothing/under/security.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/under/security.dmi' + worn_icon_digi = 'modular_zubbers/icons/mob/clothing/under/security_digi.dmi' + icon_state = "security_uniform" + female_sprite_flags = NO_FEMALE_UNIFORM + +/obj/item/clothing/under/rank/security/officer/viro/skirt + name = "security jumpskirt" + desc = "A padded jumpskirt made out of wind-resistant, slightly water-repellent materials for Nanotrasen Corporate Security." + icon_state = "security_skirt" + body_parts_covered = CHEST|GROIN|ARMS + dying_key = DYE_REGISTRY_JUMPSKIRT + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON + gets_cropped_on_taurs = FALSE + +/obj/item/clothing/under/rank/security/officer/viro/jumpsuit + name = "security jumpsuit" + desc = "The previous standard-issue attire for officers, technically antiquated but still popular with utilitarian officers." + icon_state = "security_jumpsuit" + alt_covers_chest = TRUE + +/obj/item/clothing/under/rank/security/officer/formal + name = "security officer formals" + icon = 'modular_zubbers/icons/obj/clothing/under/security.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/under/security.dmi' + worn_icon_digi = 'modular_zubbers/icons/mob/clothing/under/security_digi.dmi' + icon_state = "security_formals" + female_sprite_flags = NO_FEMALE_UNIFORM + +/obj/item/clothing/under/rank/security/officer/formal/skirt + name = "security officer's formal skirt" + icon_state = "security_formals_skirt" + body_parts_covered = CHEST|GROIN|ARMS + dying_key = DYE_REGISTRY_JUMPSKIRT + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON + gets_cropped_on_taurs = FALSE + +/obj/item/clothing/under/rank/security/officer/viro/lowcut + name = "security summer uniform" + desc = "An alternative to the standard Security uniform, with an incredibly low-cut collar and cut sleeves." + icon_state = "security_lowcut" + +/obj/item/clothing/under/rank/security/officer/viro/bodysuit + name = "security bodysuit" + desc = "Designed out of synthetic leather that automatically seals around the user to reduce overheating and snagging issues that arise while inside a MODsuit. \ + While the bodysuit was only designed to be used while inside of and operating a MODsuit, the bodysuit found a niche with certain... eccentric officers." + icon_state = "security_bodysuit" + can_adjust = FALSE + body_parts_covered = CHEST|GROIN|LEGS|ARMS + female_sprite_flags = FEMALE_UNIFORM_FULL + strip_delay = 80 + +/obj/item/clothing/under/rank/security/officer/viro/bodysuit/equipped(mob/living/affected_mob, slot) // stolen from the lustwish catsuit lol . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_backpack) + var/mob/living/carbon/human/affected_human = affected_mob + if(src == affected_human.w_uniform) + if(affected_mob.gender == FEMALE) + icon_state = "security_bodysuit_female" + else + icon_state = "security_bodysuit_male" -/datum/atom_skin/security_backpack - abstract_type = /datum/atom_skin/security_backpack + affected_mob.update_worn_undersuit() -/datum/atom_skin/security_backpack/black - preview_name = "Black Variant" - new_icon_state = "backpack_security_black" +// WARDEN -/datum/atom_skin/security_backpack/white - preview_name = "White Variant" - new_icon_state = "backpack_security_white" +/obj/item/clothing/under/rank/security/warden + name = "\proper the Warden's uniform" + desc = "Standard-issue Security department uniform, given to the Warden of Nanotrasen Corporate Security." + icon_state = "warden_uniform" + icon = 'modular_zubbers/icons/obj/clothing/under/security.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/under/security.dmi' + worn_icon_digi = 'modular_zubbers/icons/mob/clothing/under/security_digi.dmi' + female_sprite_flags = NO_FEMALE_UNIFORM -/datum/atom_skin/security_backpack/red - preview_name = "Red Variant" - new_icon = 'icons/obj/storage/backpack.dmi' - new_worn_icon = 'icons/mob/clothing/back/backpack.dmi' - new_icon_state = "backpack-security" +/obj/item/clothing/under/rank/security/warden/skirt + name = "\proper the Warden's jumpskirt" + desc = "A padded jumpskirt made out of wind-resistant, slightly water-repellent materials for the Warden of Nanotrasen Corporate Security." + icon_state = "warden_skirt" + female_sprite_flags = NO_FEMALE_UNIFORM + gets_cropped_on_taurs = FALSE -/datum/atom_skin/security_backpack/pink - preview_name = "Pink Variant" - new_icon = 'modular_zubbers/icons/obj/clothing/back/backpack.dmi' - new_worn_icon = 'modular_zubbers/icons/mob/clothing/back/backpack.dmi' - new_icon_state = "backpack-security" +/obj/item/clothing/under/rank/security/warden/grey + icon = 'icons/obj/clothing/under/security.dmi' + worn_icon = 'icons/mob/clothing/under/security.dmi' + worn_icon_digi = 'modular_skyrat/master_files/icons/mob/clothing/under/security_digi.dmi' -/obj/item/storage/backpack/satchel/sec - icon = 'modular_skyrat/master_files/icons/obj/clothing/backpacks.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/back.dmi' - lefthand_file = 'modular_skyrat/master_files/icons/mob/inhands/clothing/backpack_lefthand.dmi' - righthand_file = 'modular_skyrat/master_files/icons/mob/inhands/clothing/backpack_righthand.dmi' - icon_state = "satchel_security_black" - inhand_icon_state = "satchel_security_black" +/obj/item/clothing/under/rank/security/warden/formal + name = "\proper the Warden's formals" + icon_state = "wardenblueclothes" -/obj/item/storage/backpack/satchel/sec/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_satchel) +/obj/item/clothing/under/rank/security/warden/formal/skirt + name = "\proper the Warden's formal skirt" + icon_state = "wardenblueclothes_skirt" + body_parts_covered = CHEST|GROIN|ARMS + dying_key = DYE_REGISTRY_JUMPSKIRT + female_sprite_flags = NO_FEMALE_UNIFORM + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON + gets_cropped_on_taurs = FALSE -/datum/atom_skin/security_satchel - abstract_type = /datum/atom_skin/security_satchel -/datum/atom_skin/security_satchel/black - preview_name = "Black Variant" - new_icon_state = "satchel_security_black" +// HOS -/datum/atom_skin/security_satchel/white - preview_name = "White Variant" - new_icon_state = "satchel_security_white" +/obj/item/clothing/under/rank/security/head_of_security + name = "\proper the Head of Security's uniform" + desc = "Standard-issue Security department uniform, given to the Head of Security of Nanotrasen Corporate Security." + icon_state = "hos_uniform" + icon = 'modular_zubbers/icons/obj/clothing/under/security.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/under/security.dmi' + worn_icon_digi = 'modular_zubbers/icons/mob/clothing/under/security_digi.dmi' + female_sprite_flags = NO_FEMALE_UNIFORM -/datum/atom_skin/security_satchel/red - preview_name = "Red Variant" - new_icon = 'icons/obj/storage/backpack.dmi' - new_worn_icon = 'icons/mob/clothing/back/backpack.dmi' - new_icon_state = "satchel-security" +/obj/item/clothing/under/rank/security/head_of_security/skirt + name = "\proper the Head of Security's jumpskirt" + desc = "A padded jumpskirt made out of wind-resistant, slightly water-repellent materials for the Head of Security for Nanotrasen Corporate Security." + icon_state = "hos_skirt" + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON -/datum/atom_skin/security_satchel/pink - preview_name = "Pink Variant" - new_icon = 'modular_zubbers/icons/obj/clothing/back/backpack.dmi' - new_worn_icon = 'modular_zubbers/icons/mob/clothing/back/backpack.dmi' - new_icon_state = "satchel-security" +/obj/item/clothing/under/rank/security/head_of_security/grey + icon = 'icons/obj/clothing/under/security.dmi' + worn_icon = 'icons/mob/clothing/under/security.dmi' + worn_icon_digi = 'modular_skyrat/master_files/icons/mob/clothing/under/security_digi.dmi' -/obj/item/storage/backpack/duffelbag/sec - icon = 'modular_skyrat/master_files/icons/obj/clothing/backpacks.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/back.dmi' - lefthand_file = 'modular_skyrat/master_files/icons/mob/inhands/clothing/backpack_lefthand.dmi' - righthand_file = 'modular_skyrat/master_files/icons/mob/inhands/clothing/backpack_righthand.dmi' - icon_state = "duffel_security_black" - inhand_icon_state = "duffel_security_black" +/obj/item/clothing/under/rank/security/head_of_security/alt + name = "\proper the Head of Security's turtleneck" + icon_state = "hosalt" + inhand_icon_state = "bl_suit" -/obj/item/storage/backpack/duffelbag/sec/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_duffel) +/obj/item/clothing/under/rank/security/head_of_security/alt/skirt + name = "\proper the Head of Security's skirtleneck" + icon_state = "hosalt_skirt" + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON + gets_cropped_on_taurs = FALSE + female_sprite_flags = NO_FEMALE_UNIFORM -/datum/atom_skin/security_duffel - abstract_type = /datum/atom_skin/security_duffel +/obj/item/clothing/under/rank/security/head_of_security/parade + icon = 'icons/obj/clothing/under/security.dmi' + worn_icon = 'icons/mob/clothing/under/security.dmi' + worn_icon_digi = 'modular_skyrat/master_files/icons/mob/clothing/under/security_digi.dmi' -/datum/atom_skin/security_duffel/black - preview_name = "Black Variant" - new_icon_state = "duffel_security_black" +/obj/item/clothing/under/rank/security/head_of_security/formal + name = "\proper the Head of Security's formals" + icon_state = "hosblueclothes" -/datum/atom_skin/security_duffel/white - preview_name = "White Variant" - new_icon_state = "duffel_security_white" - -/datum/atom_skin/security_duffel/red - preview_name = "Red Variant" - new_icon = 'icons/obj/storage/backpack.dmi' - new_worn_icon = 'icons/mob/clothing/back/backpack.dmi' - new_icon_state = "duffel-security" - -/datum/atom_skin/security_duffel/pink - preview_name = "Pink Variant" - new_icon = 'modular_zubbers/icons/obj/clothing/back/backpack.dmi' - new_worn_icon = 'modular_zubbers/icons/mob/clothing/back/backpack.dmi' - new_icon_state = "duffel-security" +/obj/item/clothing/under/rank/security/head_of_security/formal/skirt + name = "\proper the Head of Security's formal skirt" + icon_state = "hosblueclothes_skirt" + body_parts_covered = CHEST|GROIN|ARMS + dying_key = DYE_REGISTRY_JUMPSKIRT + female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON + gets_cropped_on_taurs = FALSE /* -* BELTS + // ARMORS */ + +/obj/item/clothing/suit/armor/vest/alt/sec/viro // too many subtypes + name = "security plate carrier" + icon = 'modular_zubbers/icons/obj/clothing/suits/armor.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/suits/armor.dmi' + icon_state = "sec_platecarrier" + +/obj/item/clothing/suit/armor/vest/alt/sec/viro/heavyvest + name = "security heavy vest" + desc = "An alternate armour vest for Security employees, featuring more coverage at the cost of weight." + body_parts_covered = CHEST|GROIN|ARMS + cold_protection = CHEST|GROIN|ARMS + heat_protection = CHEST|GROIN|ARMS + icon_state = "sec_heavyvest" + +/obj/item/clothing/suit/armor/vest/alt/sec/viro/leatherjacket + name = "security leather jacket" + desc = "Made out of synthetic leather materials, this jacket is designed for formal events, but is applicable for general use with it's ceramic-woven leather." + icon_state = "sec_leatherjacket" + body_parts_covered = CHEST|GROIN|ARMS + cold_protection = CHEST|GROIN|ARMS + heat_protection = CHEST|GROIN|ARMS + +/obj/item/clothing/suit/armor/vest/alt/sec/viro/softshell + name = "security softshell" + desc = "A windproof, rainproof, insulation jacket made for Security — with an internal sweater sewn into the collar of the suit, the sweater keeps the wearer insulated while allowing the jacket to be unzipped." + icon_state = "sec_softshell" + body_parts_covered = CHEST|GROIN|ARMS + cold_protection = CHEST|GROIN|ARMS + heat_protection = CHEST|GROIN|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT + +// WARDEN + +/obj/item/clothing/suit/armor/vest/warden + name = "\proper the Warden's jacket" + icon = 'modular_zubbers/icons/obj/clothing/suits/armor.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/suits/armor.dmi' + desc = "A grey armored jacket with red shoulder designations and '/Warden/' stitched into one of the chest pockets." + icon_state = "warden_alt" + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON + +/obj/item/clothing/suit/armor/vest/warden/alt + name = "\proper the Warden's armoured jacket" + desc = "A grey jacket with silver rank pips and body armor strapped on top." + icon_state = "warden_jacket" + +/obj/item/clothing/suit/armor/vest/warden/alt/winter + name = "\proper the Warden's winter jacket" + desc = "A modification of the Warden's standard armoured jacket, made out of synthetic cotton woven with ceramic, and lined with faux-fur. For the cozy Warden." + icon_state = "warden_winterjacket" + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT + +// HOS + +/obj/item/clothing/suit/armor/hos + name = "\proper the Head of Security's leather greatcoat" + icon = 'modular_zubbers/icons/obj/clothing/suits/armor.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/suits/armor.dmi' + icon_state = "hos_greatcoat" + worn_icon_digi = null + +/obj/item/clothing/suit/armor/hos/trenchcoat + name = "\proper the Head of Security's leather trenchcoat" + icon_state = "hos_leathercoat" + +/obj/item/clothing/suit/armor/hos/overcoat + name = "\proper the Head of Security's overcoat" + icon_state = "hos_overcoat" + +/obj/item/clothing/suit/armor/hos/trenchcoat/winter + name = "\proper the Head of Security's winter trenchcoat" + icon_state = "hos_wintercoat" + +/obj/item/clothing/suit/armor/hos/vest + name = "\proper the Head of Security's plate carrier" + desc = "Specially issued plate carrier for Security command staff. On the front is an embroided patch, that in big yellow letters says: \"HEAD OF SECURITY\"" + icon_state = "hos_platecarrier" + body_parts_covered = CHEST|GROIN + cold_protection = CHEST|GROIN + heat_protection = CHEST|GROIN + +/obj/item/clothing/suit/armor/hos/hos_formal // so annoying + icon = 'icons/obj/clothing/suits/armor.dmi' + worn_icon = 'icons/mob/clothing/suits/armor.dmi' + +/* + // GLOVES +*/ + +/obj/item/clothing/gloves/color/black/security + icon = 'modular_zubbers/icons/obj/clothing/gloves.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/hands.dmi' + icon_state = "sec_gloves" + +/obj/item/clothing/gloves/color/black/security/blu + icon_state = "sec_gloves" + +/obj/item/clothing/gloves/tackler/security //Can't just overwrite tackler, as there's a ton of subtypes that we'd then need to account for. This is easier. MUCH easier. + icon = 'modular_zubbers/icons/obj/clothing/gloves.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/hands.dmi' + icon_state = "sec_gloves" + +/obj/item/clothing/gloves/kaza_ruk/sec + worn_icon = 'modular_zubbers/icons/mob/clothing/hands.dmi' + icon_state = "fightgloves" + +/* + // BELTS +*/ + /obj/item/storage/belt/security - icon = 'modular_skyrat/master_files/icons/obj/clothing/belts.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/belt.dmi' - icon_state = "belt_white" - worn_icon_state = "belt_white" + icon = 'modular_zubbers/icons/obj/clothing/belt.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/belt.dmi' + icon_state = "security" + content_overlays = FALSE + alternate_worn_layer = LOW_NECK_LAYER // so it goes under things like the HOS' trenchcoats /obj/item/storage/belt/security/Initialize(mapload) . = ..() @@ -141,1350 +409,131 @@ /datum/atom_skin/security_belt abstract_type = /datum/atom_skin/security_belt -/datum/atom_skin/security_belt/black - preview_name = "Black Variant" - new_icon_state = "belt_black" - -/datum/atom_skin/security_belt/blue - preview_name = "Blue Variant" - new_icon_state = "belt_blue" - -/datum/atom_skin/security_belt/white - preview_name = "White Variant" - new_icon_state = "belt_white" - -/datum/atom_skin/security_belt/slim - preview_name = "Slim Variant" - new_icon_state = "belt_slim" - /datum/atom_skin/security_belt/red preview_name = "Red Variant" - new_icon = 'icons/obj/clothing/belts.dmi' - new_worn_icon = 'icons/mob/clothing/belt.dmi' new_icon_state = "security" -/datum/atom_skin/security_belt/armadyne - preview_name = "Armadyne Variant" - new_icon_state = "armadyne_belt" - -/datum/atom_skin/security_belt/pink - preview_name = "Pink Variant" - new_icon = 'modular_zubbers/icons/obj/clothing/belt.dmi' - new_worn_icon = 'modular_zubbers/icons/mob/clothing/belt.dmi' - new_icon_state = "security" - -/datum/atom_skin/security_belt/basic - preview_name = "Basic Security" - new_icon_state = "security" - -/datum/atom_skin/security_belt/peacekeeper - preview_name = "Peacekeeper" - new_icon = 'modular_skyrat/master_files/icons/obj/clothing/belts.dmi' - new_worn_icon = 'modular_zubbers/icons/mob/clothing/belt.dmi' - new_icon_state = "peacekeeperbelt" - -/obj/item/storage/belt/security/webbing/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_webbing) - -/datum/atom_skin/security_webbing - abstract_type = /datum/atom_skin/security_webbing -/datum/atom_skin/security_webbing/red - preview_name = "Red Variant" - new_icon_state = "securitywebbing" - -/datum/atom_skin/security_webbing/black - preview_name = "Black Variant" - new_icon = 'modular_skyrat/master_files/icons/obj/clothing/belts.dmi' - new_worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/belt.dmi' - new_icon_state = "armadyne_webbing" - -/datum/atom_skin/security_webbing/blue - preview_name = "Blue Variant" - new_icon = 'modular_skyrat/master_files/icons/obj/clothing/belts.dmi' - new_worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/belt.dmi' - new_icon_state = "peacekeeper_webbing" - -///Enables you to quickdraw weapons from security holsters -/datum/storage/security/open_storage(datum/source, mob/user) - var/atom/resolve_parent = parent - if(!resolve_parent) - return - if(isobserver(user)) - show_contents(user) - return - - if(!resolve_parent.IsReachableBy(user)) - resolve_parent.balloon_alert(user, "can't reach!") - return FALSE - - if(!isliving(user) || user.incapacitated) - return FALSE - - var/obj/item/gun/gun_to_draw = locate() in real_location - if(!gun_to_draw) - return ..() - resolve_parent.add_fingerprint(user) - attempt_remove(gun_to_draw, get_turf(user)) - playsound(resolve_parent, 'modular_skyrat/modules/sec_haul/sound/holsterout.ogg', 50, TRUE, -5) - INVOKE_ASYNC(user, TYPE_PROC_REF(/mob, put_in_hands), gun_to_draw) - user.visible_message(span_warning("[user] draws [gun_to_draw] from [resolve_parent]!"), span_notice("You draw [gun_to_draw] from [resolve_parent].")) - -/* -* GLASSES -*/ -/obj/item/clothing/glasses/hud/security - icon = 'modular_skyrat/master_files/icons/obj/clothing/glasses.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/eyes.dmi' - icon_state = "security_hud" - glass_colour_type = /datum/client_colour/glass_colour/lightblue - -/obj/item/clothing/glasses/hud/security/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_hud_glasses) - -/datum/atom_skin/security_hud_glasses - abstract_type = /datum/atom_skin/security_hud_glasses - -/datum/atom_skin/security_hud_glasses/blue - preview_name = "Blue Variant" - new_icon_state = "security_hud" - -/datum/atom_skin/security_hud_glasses/red - preview_name = "Red Variant" - new_icon = 'icons/obj/clothing/glasses.dmi' - new_worn_icon = 'icons/mob/clothing/eyes.dmi' - new_icon_state = "securityhud" - -/obj/item/clothing/glasses/hud/security/sunglasses - icon_state = "security_hud_black" - glass_colour_type = /datum/client_colour/glass_colour/blue - -/obj/item/clothing/glasses/hud/security/sunglasses/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_hud_sunglasses) - -/datum/atom_skin/security_hud_sunglasses - abstract_type = /datum/atom_skin/security_hud_sunglasses - -/datum/atom_skin/security_hud_sunglasses/dark_tint - preview_name = "Dark-Tint Variant" - new_icon_state = "security_hud_black" - -/datum/atom_skin/security_hud_sunglasses/light_tint - preview_name = "Light-Tint Variant" - new_icon_state = "security_hud_blue" - -/datum/atom_skin/security_hud_sunglasses/red - preview_name = "Red Variant" - new_icon = 'icons/obj/clothing/glasses.dmi' - new_worn_icon = 'icons/mob/clothing/eyes.dmi' - new_icon_state = "sunhudsec" - -/datum/atom_skin/security_hud_sunglasses/pink - preview_name = "Pink Variant" - new_icon = 'modular_zubbers/icons/obj/clothing/glasses.dmi' - new_worn_icon = 'modular_zubbers/icons/mob/clothing/eyes.dmi' - new_icon_state = "sunhudsec" - -/datum/atom_skin/security_hud_sunglasses/blue_goggles - preview_name = "Blue Goggles Variant" - new_icon_state = "peacekeeperglasses" - -/datum/atom_skin/security_hud_sunglasses/red_goggles - preview_name = "Red Goggles Variant" - new_icon_state = "armadyne_glasses" - -/datum/atom_skin/security_hud_sunglasses/pink_goggles - preview_name = "Pink Goggles Variant" - new_icon = 'modular_zubbers/icons/obj/clothing/glasses.dmi' - new_worn_icon = 'modular_zubbers/icons/mob/clothing/eyes.dmi' - new_icon_state = "secgogpink" - -/obj/item/clothing/glasses/hud/security/sunglasses/eyepatch - icon_state = "security_eyepatch" - base_icon_state = "security_eyepatch" - -/obj/item/clothing/glasses/hud/security/sunglasses/eyepatch/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_hud_eyepatch) - -/datum/atom_skin/security_hud_eyepatch - abstract_type = /datum/atom_skin/security_hud_eyepatch - -/datum/atom_skin/security_hud_eyepatch/red - preview_name = "Red Eyepatch" - new_icon = 'icons/obj/clothing/glasses.dmi' - new_worn_icon = 'icons/mob/clothing/eyes.dmi' - new_icon_state = "hudpatch" - -/datum/atom_skin/security_hud_eyepatch/blue - preview_name = "Blue Eyepatch" - new_icon = 'modular_skyrat/master_files/icons/obj/clothing/glasses.dmi' - new_worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/eyes.dmi' - new_icon_state = "hudpatch" - -/datum/atom_skin/security_hud_eyepatch/pink - preview_name = "Pink Eyepatch" - new_icon = 'modular_zubbers/icons/obj/clothing/glasses.dmi' - new_worn_icon = 'modular_zubbers/icons/mob/clothing/eyes.dmi' - new_icon_state = "hudpatch" - -/datum/atom_skin/security_hud_eyepatch/fake_blindfold - preview_name = "Fake Blindfold" - new_icon = 'modular_skyrat/master_files/icons/obj/clothing/glasses.dmi' - new_worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/eyes.dmi' - new_icon_state = "secfold" - -/obj/item/clothing/glasses/hud/eyepatch/sec - name = "security eyepatch HUD" - desc = "Lost your eye beating an innocent clown? Thankfully your corporate overlords have made something to make up for this. May not do well against flashes." - clothing_traits = list(TRAIT_SECURITY_HUD) - glass_colour_type = /datum/client_colour/glass_colour/blue - -/obj/item/clothing/glasses/hud/eyepatch/sec/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_hud_eyepatch_simple) - -/datum/atom_skin/security_hud_eyepatch_simple - abstract_type = /datum/atom_skin/security_hud_eyepatch_simple - -/datum/atom_skin/security_hud_eyepatch_simple/blue - preview_name = "Blue Eyepatch" - new_icon_state = "hudpatch" - -/datum/atom_skin/security_hud_eyepatch_simple/red - preview_name = "Red Eyepatch" - new_icon = 'icons/obj/clothing/glasses.dmi' - new_worn_icon = 'icons/mob/clothing/eyes.dmi' - new_icon_state = "hudpatch" - -/datum/atom_skin/security_hud_eyepatch_simple/fake_blindfold - preview_name = "Fake Blindfold" - new_icon_state = "secfold" - -/obj/item/clothing/glasses/hud/eyepatch/sec/blindfold - name = "sec blindfold HUD" - desc = "a fake blindfold with a security HUD inside, helps you look like blind justice. This won't provide the same protection that you'd get from sunglasses." - icon_state = "secfold" - base_icon_state = "secfold" - -/obj/item/clothing/glasses/hud/eyepatch/sec/blindfold/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/obj/item/clothing/glasses/hud/security/night - icon = 'icons/obj/clothing/glasses.dmi' - worn_icon = 'icons/mob/clothing/eyes.dmi' - -/obj/item/clothing/glasses/hud/security/night/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/obj/item/clothing/glasses/hud/security/sunglasses/gars/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_hud_gars) - -/datum/atom_skin/security_hud_gars - abstract_type = /datum/atom_skin/security_hud_gars - -/datum/atom_skin/security_hud_gars/red - preview_name = "Red Gars" - new_icon_state = "gar_sec" - -/datum/atom_skin/security_hud_gars/blue - preview_name = "Blue Gars" - new_icon = 'modular_skyrat/master_files/icons/obj/clothing/glasses.dmi' - new_worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/eyes.dmi' - new_icon_state = "gar_sec" - -/obj/item/clothing/glasses/hud/security/sunglasses/gars/giga/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_hud_gars_giga) - -/datum/atom_skin/security_hud_gars_giga - abstract_type = /datum/atom_skin/security_hud_gars_giga - -/datum/atom_skin/security_hud_gars_giga/red - preview_name = "Red Gars" - new_icon_state = "gigagar_sec" - -/datum/atom_skin/security_hud_gars_giga/blue - preview_name = "Blue Gars" - new_icon = 'modular_skyrat/master_files/icons/obj/clothing/glasses.dmi' - new_worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/eyes.dmi' - new_icon_state = "gigagar_sec" - -/obj/item/clothing/glasses/hud/security/sunglasses/gars/giga/roselia - -/obj/item/clothing/glasses/hud/security/sunglasses/gars/giga/roselia/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/* -* HEAD -*/ - -//Standard helmet -/obj/item/clothing/head/helmet/sec - icon = 'modular_skyrat/master_files/icons/obj/clothing/head/helmet.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head/helmet.dmi' - icon_state = "security_helmet" - base_icon_state = "security_helmet" - clothing_flags = SNUG_FIT | STACKABLE_HELMET_EXEMPT - dog_fashion = null - supports_variations_flags = CLOTHING_SNOUTED_VARIATION_NO_NEW_ICON - -/obj/item/clothing/head/helmet/sec/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_helmet) - -/datum/atom_skin/security_helmet - abstract_type = /datum/atom_skin/security_helmet - -/datum/atom_skin/security_helmet/white - preview_name = "White Variant" - new_icon_state = "security_helmet" - -/datum/atom_skin/security_helmet/red - preview_name = "Red Variant" - new_icon = 'icons/obj/clothing/head/helmet.dmi' - new_worn_icon = 'icons/mob/clothing/head/helmet.dmi' - new_icon_state = "helmet" - -/obj/item/clothing/head/helmet/sec/click_alt(mob/user) - flipped_visor = !flipped_visor - balloon_alert(user, "visor flipped") - // base_icon_state is modified for seclight attachment component - base_icon_state = "[initial(base_icon_state)][flipped_visor ? "-novisor" : ""]" - icon_state = base_icon_state - if (flipped_visor) - flags_cover &= ~HEADCOVERSEYES | PEPPERPROOF - else - flags_cover |= HEADCOVERSEYES | PEPPERPROOF - update_appearance() - return CLICK_ACTION_SUCCESS - - -/obj/item/clothing/head/helmet/sec/futuristic - icon_state = "security_helmet_future" - base_icon_state = "security_helmet_future" - supports_variations_flags = CLOTHING_SNOUTED_VARIATION_NO_NEW_ICON - -/obj/item/clothing/head/helmet/sec/futuristic/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_helmet_future) - -/datum/atom_skin/security_helmet_future - abstract_type = /datum/atom_skin/security_helmet_future - -/datum/atom_skin/security_helmet_future/white - preview_name = "White Variant" - new_icon_state = "security_helmet_future" - -/datum/atom_skin/security_helmet_future/blue - preview_name = "Blue Variant" - new_icon_state = "security_helmet_future_blue" - -/datum/atom_skin/security_helmet_future/red - preview_name = "Red Variant" - new_icon_state = "security_helmet_future_red" - -/obj/item/clothing/head/helmet/sec/futuristic/click_alt(mob/user) - flipped_visor = !flipped_visor - balloon_alert(user, "visor flipped") - // base_icon_state is modified for seclight attachment component - base_icon_state = "[initial(base_icon_state)][flipped_visor ? "-novisor" : ""]" - icon_state = base_icon_state - if (flipped_visor) - flags_cover &= ~HEADCOVERSEYES | PEPPERPROOF - else - flags_cover |= HEADCOVERSEYES | PEPPERPROOF - update_appearance() - return CLICK_ACTION_SUCCESS - -//Beret replacement -/obj/item/clothing/head/security_garrison - name = "security garrison cap" - desc = "A robust garrison cap with the security insignia emblazoned on it. Uses reinforced fabric to offer sufficient protection." - icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' - icon_state = "garrison_black" - armor_type = /datum/armor/head_helmet - strip_delay = 60 - supports_variations_flags = CLOTHING_SNOUTED_VARIATION_NO_NEW_ICON - -/obj/item/clothing/head/security_garrison/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_garrison_cap) - -/datum/atom_skin/security_garrison_cap - abstract_type = /datum/atom_skin/security_garrison_cap - -/datum/atom_skin/security_garrison_cap/black - preview_name = "Black Variant" - new_icon_state = "garrison_black" - -/datum/atom_skin/security_garrison_cap/blue - preview_name = "Blue Variant" - new_icon_state = "garrison_blue" - -/obj/item/clothing/head/security_cap - name = "security cap" - desc = "A robust cap with the security insignia emblazoned on it. Uses reinforced fabric to offer sufficient protection." - icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' - icon_state = "security_cap_black" - armor_type = /datum/armor/head_helmet - strip_delay = 60 - dog_fashion = null - supports_variations_flags = CLOTHING_SNOUTED_VARIATION_NO_NEW_ICON - -/obj/item/clothing/head/security_cap/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_cap) - -/datum/atom_skin/security_cap - abstract_type = /datum/atom_skin/security_cap - -/datum/atom_skin/security_cap/black - preview_name = "Black Variant" - new_icon_state = "security_cap_black" - -/datum/atom_skin/security_cap/blue - preview_name = "Blue Variant" - new_icon_state = "security_cap_blue" - -/datum/atom_skin/security_cap/white - preview_name = "White Variant" - new_icon_state = "security_cap_white" - -/datum/atom_skin/security_cap/sol - preview_name = "Sol Variant" - new_icon_state = "policesoft" - -/datum/atom_skin/security_cap/sillitoe - preview_name = "Sillitoe Variant" - new_icon_state = "policetrafficsoft" - -/datum/atom_skin/security_cap/cadet - preview_name = "Cadet Variant" - new_icon_state = "policecadetsoft" - -/obj/item/clothing/head/hats/warden - icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' - icon_state = "policehelm" - -/obj/item/clothing/head/hats/warden/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/warden_hat) - -/datum/atom_skin/warden_hat - abstract_type = /datum/atom_skin/warden_hat - -/datum/atom_skin/warden_hat/blue - preview_name = "Blue Cap" - new_icon_state = "policehelm" - -/datum/atom_skin/warden_hat/sol - preview_name = "Sol Cap" - new_icon_state = "policewardencap" - -/datum/atom_skin/warden_hat/red - preview_name = "Red Cap" - new_icon_state = "wardenhat" - -/obj/item/clothing/head/hats/warden/red - -/obj/item/clothing/head/hats/warden/red/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/obj/item/clothing/head/hats/warden/drill - -/obj/item/clothing/head/hats/warden/drill/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/obj/item/clothing/head/hats/hos/cap/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/hos_cap) - -/datum/atom_skin/hos_cap - abstract_type = /datum/atom_skin/hos_cap - -/datum/atom_skin/hos_cap/red - preview_name = "Red Cap" - new_icon_state = "hoscap" - -/datum/atom_skin/hos_cap/blue - preview_name = "Blue Cap" - new_icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' - new_worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' - new_icon_state = "hoscap_blue" - -/datum/atom_skin/hos_cap/sol - preview_name = "Sol Cap" - new_icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' - new_icon_state = "policechiefcap" - -/datum/atom_skin/hos_cap/sheriff - preview_name = "Sheriff Hat" - new_icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' - new_worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' - new_icon_state = "cowboyhat_black" - -/datum/atom_skin/hos_cap/wide_sheriff - preview_name = "Wide Sheriff Hat" - new_icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' - new_worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' - new_icon_state = "cowboy_black" - -/obj/item/clothing/head/hats/hos/cap/syndicate - -/obj/item/clothing/head/hats/hos/cap/syndicate/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/* -* NECK -*/ -/obj/item/clothing/neck/cloak/hos - icon = 'modular_skyrat/master_files/icons/obj/clothing/neck.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/neck.dmi' - icon_state = "hoscloak_blue" - -/obj/item/clothing/neck/cloak/hos/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/hos_cloak) - -/datum/atom_skin/hos_cloak - abstract_type = /datum/atom_skin/hos_cloak - -/datum/atom_skin/hos_cloak/blue - preview_name = "Blue Cape" - new_icon_state = "hoscloak_blue" - -/datum/atom_skin/hos_cloak/red - preview_name = "Red Cape" - new_icon_state = "hoscloak" - -//Not technically an override but oh well -/obj/item/clothing/neck/security_cape - name = "security cape" - desc = "A fashionable cape worn by security officers." - icon = 'modular_skyrat/master_files/icons/obj/clothing/neck.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/neck.dmi' - icon_state = "cape_black" - inhand_icon_state = "" //no unique inhands - ///Decides the shoulder it lays on, false = RIGHT, TRUE = LEFT - var/swapped = FALSE - -/obj/item/clothing/neck/security_cape/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_cape) - -/datum/atom_skin/security_cape - abstract_type = /datum/atom_skin/security_cape - -/datum/atom_skin/security_cape/black - preview_name = "Black Variant" - new_icon_state = "cape_black" - -/datum/atom_skin/security_cape/blue - preview_name = "Blue Variant" - new_icon_state = "cape_blue" - -/datum/atom_skin/security_cape/white - preview_name = "White Variant" - new_icon_state = "cape_white" - -/datum/atom_skin/security_cape/red - preview_name = "Red Variant" - new_icon_state = "cape_red" - -/obj/item/clothing/neck/security_cape/armplate - name = "security gauntlet" - desc = "A fashionable full-arm gauntlet worn by security officers. The gauntlet itself is made of plastic, and provides no protection, but it looks cool as hell." - icon_state = "armplate_black" - -/obj/item/clothing/neck/security_cape/armplate/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_armplate) - -/datum/atom_skin/security_armplate - abstract_type = /datum/atom_skin/security_armplate - -/datum/atom_skin/security_armplate/black - preview_name = "Black Variant" - new_icon_state = "armplate_black" - -/datum/atom_skin/security_armplate/blue - preview_name = "Blue Variant" - new_icon_state = "armplate_blue" - -/datum/atom_skin/security_armplate/capeless - preview_name = "Capeless Variant" - new_icon_state = "armplate" - -/datum/atom_skin/security_armplate/red - preview_name = "Red Variant" - new_icon_state = "armplate_red" - -/obj/item/clothing/neck/security_cape/click_alt(mob/user) - swapped = !swapped - to_chat(user, span_notice("You swap which arm [src] will lay over.")) - update_appearance() - return CLICK_ACTION_SUCCESS - -/obj/item/clothing/neck/security_cape/update_appearance(updates) - . = ..() - if(swapped) - worn_icon_state = icon_state - else - worn_icon_state = "[icon_state]_left" - - usr.update_worn_neck() - -/* -* GLOVES -*/ -/obj/item/clothing/gloves/color/black/security - name = "security gloves" - desc = "A pair of security gloves." - icon = 'modular_skyrat/master_files/icons/obj/clothing/gloves.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/hands.dmi' - icon_state = "gloves_white" - -/obj/item/clothing/gloves/color/black/security/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_gloves) - -/datum/atom_skin/security_gloves - abstract_type = /datum/atom_skin/security_gloves - -/datum/atom_skin/security_gloves/black - preview_name = "Black Variant" - new_icon_state = "gloves_black" - -/datum/atom_skin/security_gloves/blue - preview_name = "Blue Variant" - new_icon_state = "gloves_blue" - -/datum/atom_skin/security_gloves/white - preview_name = "White Variant" - new_icon_state = "gloves_white" - -/datum/atom_skin/security_gloves/armadyne - preview_name = "Armadyne Variant" - new_icon_state = "armadyne_gloves" - -/datum/atom_skin/security_gloves/red - preview_name = "Red Variant" - new_icon = 'icons/obj/clothing/gloves.dmi' - new_worn_icon = 'icons/mob/clothing/hands.dmi' - new_icon_state = "sec" - -/datum/atom_skin/security_gloves/peacekeeper - preview_name = "Peacekeeper Variant" - new_icon = 'modular_skyrat/master_files/icons/obj/clothing/gloves.dmi' - new_worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/hands.dmi' - new_icon_state = "peacekeeper_gloves" - -/datum/atom_skin/security_gloves/pink - preview_name = "Pink Variant" - new_icon = 'modular_zubbers/icons/obj/clothing/gloves.dmi' - new_worn_icon = 'modular_zubbers/icons/mob/clothing/hands.dmi' - new_icon_state = "sec_gloves" - -/obj/item/clothing/gloves/color/black/security/blu // Wait why these a subtype of black?!? Who did this - icon = 'icons/obj/clothing/gloves.dmi' - worn_icon = 'icons/mob/clothing/hands.dmi' - -/obj/item/clothing/gloves/tackler/security //Can't just overwrite tackler, as there's a ton of subtypes that we'd then need to account for. This is easier. MUCH easier. - icon = 'modular_skyrat/master_files/icons/obj/clothing/gloves.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/hands.dmi' - icon_state = "tackle_blue" - -/obj/item/clothing/gloves/tackler/security/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_tackler_gloves) - -/datum/atom_skin/security_tackler_gloves - abstract_type = /datum/atom_skin/security_tackler_gloves - -/datum/atom_skin/security_tackler_gloves/black - preview_name = "Black Variant" - new_icon_state = "combat" - -/datum/atom_skin/security_tackler_gloves/blue - preview_name = "Blue Variant" - new_icon_state = "tackle_blue" - -/datum/atom_skin/security_tackler_gloves/red - preview_name = "Red Variant" - new_icon = 'icons/obj/clothing/gloves.dmi' - new_worn_icon = 'icons/mob/clothing/hands.dmi' - new_icon_state = "gorilla" - -/obj/item/clothing/gloves/tackler/combat - icon = 'icons/obj/clothing/gloves.dmi' - worn_icon = 'icons/mob/clothing/hands.dmi' - icon_state = "gorilla" - -/obj/item/clothing/gloves/tackler/combat/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/combat_tackler_gloves) - -/datum/atom_skin/combat_tackler_gloves - abstract_type = /datum/atom_skin/combat_tackler_gloves - -/datum/atom_skin/combat_tackler_gloves/black - preview_name = "Black Variant" - new_icon = 'modular_skyrat/master_files/icons/obj/clothing/gloves.dmi' - new_worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/hands.dmi' - new_icon_state = "combat" - -/datum/atom_skin/combat_tackler_gloves/blue - preview_name = "Blue Variant" - new_icon = 'modular_skyrat/master_files/icons/obj/clothing/gloves.dmi' - new_worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/hands.dmi' - new_icon_state = "tackle_blue" - -/datum/atom_skin/combat_tackler_gloves/red - preview_name = "Red Variant" - new_icon_state = "gorilla" - -/obj/item/clothing/gloves/kaza_ruk/sec - icon = 'modular_skyrat/master_files/icons/obj/clothing/gloves.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/hands.dmi' - icon_state = "fightgloves_blue" - -/obj/item/clothing/gloves/kaza_ruk/sec/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_kaza_ruk_gloves) - -/datum/atom_skin/security_kaza_ruk_gloves - abstract_type = /datum/atom_skin/security_kaza_ruk_gloves - -/datum/atom_skin/security_kaza_ruk_gloves/black - preview_name = "Black Variant" - new_icon_state = "fightgloves_black" - -/datum/atom_skin/security_kaza_ruk_gloves/blue - preview_name = "Blue Variant" - new_icon_state = "fightgloves_blue" - -/datum/atom_skin/security_kaza_ruk_gloves/red - preview_name = "Red Variant" - new_icon_state = "fightgloves" - -/datum/atom_skin/security_kaza_ruk_gloves/white - preview_name = "White Variant" - new_icon_state = "fightgloves_white" - -/* -* SUITS -*/ -/obj/item/clothing/suit/armor/vest/alt/sec - name = "armored security vest" - desc = "A Type-II-AD-P armored vest that provides decent protection against most types of damage." - icon = 'modular_skyrat/master_files/icons/obj/clothing/suits/armor.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suits/armor.dmi' - icon_state = "vest_white" - -/obj/item/clothing/suit/armor/vest/alt/sec/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_armor_vest_alt) - -/datum/atom_skin/security_armor_vest_alt - abstract_type = /datum/atom_skin/security_armor_vest_alt - -/datum/atom_skin/security_armor_vest_alt/black - preview_name = "Black Variant" - new_icon_state = "vest_black" - -/datum/atom_skin/security_armor_vest_alt/blue - preview_name = "Blue Variant" - new_icon_state = "vest_blue" - -/datum/atom_skin/security_armor_vest_alt/white - preview_name = "White Variant" - new_icon_state = "vest_white" - -/datum/atom_skin/security_armor_vest_alt/red - preview_name = "Red Variant" - new_icon = 'icons/obj/clothing/suits/armor.dmi' - new_worn_icon = 'icons/mob/clothing/suits/armor.dmi' - new_icon_state = "armor_sec" - -/datum/atom_skin/security_armor_vest_alt/pink - preview_name = "Pink Variant" - new_icon = 'modular_zubbers/icons/obj/clothing/suits/armor.dmi' - new_worn_icon = 'modular_zubbers/icons/mob/clothing/suits/armor.dmi' - new_icon_state = "armor_sec" - -/datum/atom_skin/security_armor_vest_alt/armadyne - preview_name = "Armadyne Variant" - new_icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' - new_worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' - new_icon_state = "armadyne_armor" - -/obj/item/clothing/suit/armor/hos - supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON - -/obj/item/clothing/suit/armor/hos/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/hos_armor) - -/datum/atom_skin/hos_armor - abstract_type = /datum/atom_skin/hos_armor - -/datum/atom_skin/hos_armor/greatcoat - preview_name = "Greatcoat" - new_icon = 'icons/obj/clothing/suits/armor.dmi' - new_worn_icon = 'icons/mob/clothing/suits/armor.dmi' - new_icon_state = "hos" - -/datum/atom_skin/hos_armor/trenchcoat - preview_name = "Trenchcoat" - new_icon = 'icons/obj/clothing/suits/armor.dmi' - new_worn_icon = 'icons/mob/clothing/suits/armor.dmi' - new_icon_state = "hostrench" - -/datum/atom_skin/hos_armor/trenchcloak - preview_name = "Trenchcloak" - new_icon = 'modular_skyrat/master_files/icons/obj/clothing/suits/armor.dmi' - new_worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suits/armor.dmi' - new_icon_state = "trenchcloak" - -/datum/atom_skin/hos_armor/white - preview_name = "White" - new_icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' - new_worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' - new_icon_state = "peacekeeper_trench_hos_white" - -/obj/item/clothing/suit/armor/hos/trenchcoat/winter - -/obj/item/clothing/suit/armor/hos/trenchcoat/winter/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -//Standard Bulletproof Vest -/obj/item/clothing/suit/armor/bulletproof - desc = "A Type-III-AD-P heavy bulletproof vest that excels in protecting the wearer against traditional projectile weaponry and explosives to a minor extent." - supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON - -//Riot Armor -/obj/item/clothing/suit/armor/riot - icon_state = "riot_ad" //replaces the NT on the back - icon = 'modular_skyrat/master_files/icons/obj/clothing/suits/armor.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suits/armor.dmi' - -/obj/item/clothing/suit/armor/riot/knight //This needs to be sent back to its original .dmis - icon = 'icons/obj/clothing/suits/armor.dmi' - worn_icon = 'icons/mob/clothing/suits/armor.dmi' - -//DETECTIVE - -/obj/item/clothing/suit/cowboyvest - name = "blonde cowboy vest" - desc = "A white cream vest lined with... fur, of all things, for desert weather. There's a small deer head logo sewn into the vest." - icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' - icon_state = "cowboy_vest" - body_parts_covered = CHEST|ARMS - cold_protection = CHEST|ARMS - supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON - heat_protection = CHEST|ARMS - -/obj/item/clothing/suit/jacket/det_suit/cowboyvest - name = "blonde cowboy vest" - desc = "A white cream vest lined with... fur, of all things, for desert weather. There's a small deer head logo sewn into the vest." - icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' - icon_state = "cowboy_vest" - body_parts_covered = CHEST|ARMS - cold_protection = CHEST|ARMS - supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON - heat_protection = CHEST|ARMS - -//Warden's Vest -/obj/item/clothing/suit/armor/vest/warden/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/warden_armor) - -/datum/atom_skin/warden_armor - abstract_type = /datum/atom_skin/warden_armor - -/datum/atom_skin/warden_armor/red - preview_name = "Red Variant" - new_icon_state = "warden_jacket" - -/datum/atom_skin/warden_armor/blue - preview_name = "Blue Variant" - new_icon = 'modular_skyrat/master_files/icons/obj/clothing/suits/armor.dmi' - new_icon_state = "vest_warden" - new_worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suits/armor.dmi' - -/datum/atom_skin/warden_armor/black - preview_name = "Black Variant" - new_icon = 'modular_skyrat/master_files/icons/obj/clothing/suits/armor.dmi' - new_icon_state = "peacekeeper_trench_warden" - new_worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suits/armor.dmi' - -/datum/atom_skin/warden_armor/edgy - preview_name = "Edgy Variant" - new_icon = 'modular_skyrat/master_files/icons/obj/clothing/suits/armor.dmi' - new_icon_state = "warden_syndie" - new_worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suits/armor.dmi' - -/datum/atom_skin/warden_armor/pink - preview_name = "Pink Variant" - new_icon = 'modular_zubbers/icons/obj/clothing/suits/armor.dmi' - new_icon_state = "warden_jacket" - new_worn_icon = 'modular_zubbers/icons/mob/clothing/suits/armor.dmi' - -/datum/atom_skin/warden_armor/basic - preview_name = "Basic Warden Armor" - new_icon = 'icons/obj/clothing/suits/armor.dmi' - new_icon_state = "warden_alt" - new_worn_icon = 'icons/mob/clothing/suits/armor.dmi' - -/obj/item/clothing/suit/armor/vest/warden/alt //un-overrides this since its sprite is TG - icon = 'icons/obj/clothing/suits/armor.dmi' - worn_icon = 'icons/mob/clothing/suits/armor.dmi' - -/obj/item/clothing/suit/armor/vest/warden/alt/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -//Security Wintercoat (and hood) -/obj/item/clothing/head/hooded/winterhood/security - desc = "A blue, armour-padded winter hood. Definitely not bulletproof, especially not the part where your face goes." //God dammit TG stop putting color in the desc of items like this - icon = 'modular_skyrat/master_files/icons/obj/clothing/head/winterhood.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head/winterhood.dmi' - icon_state = "winterhood_security" - -/obj/item/clothing/suit/hooded/wintercoat/security - name = "security winter coat" //TG has this as a Jacket now, so unless we update ours, this needs to be re-named as Coat - desc = "A blue, armour-padded winter coat. It glitters with a mild ablative coating and a robust air of authority. The zipper tab is a small \"Lopland\" logo." - icon = 'modular_skyrat/master_files/icons/obj/clothing/suits/wintercoat.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suits/wintercoat.dmi' - icon_state = "coatsecurity_winter" - -/obj/item/clothing/suit/armor/hos/hos_formal - icon = 'modular_skyrat/master_files/icons/obj/clothing/suits/armor.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suits/armor.dmi' - icon_state = "hosformal_blue" - supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION - -/obj/item/clothing/suit/armor/hos/hos_formal/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/* -* UNDER -*/ -//Officer -/obj/item/clothing/under/rank/security/officer - desc = "A tactical security uniform for officers, complete with a Lopland belt buckle." - icon = 'modular_skyrat/master_files/icons/obj/clothing/under/security.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/under/security.dmi' - icon_state = "security_black" - alt_covers_chest = TRUE - -/obj/item/clothing/under/rank/security/officer/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_officer_uniform) - -/datum/atom_skin/security_officer_uniform - abstract_type = /datum/atom_skin/security_officer_uniform - -/datum/atom_skin/security_officer_uniform/black +/datum/atom_skin/security_belt/black // why doesn't this work ???? preview_name = "Black Variant" new_icon_state = "security_black" -/datum/atom_skin/security_officer_uniform/blue - preview_name = "Blue Variant" - new_icon_state = "security_blue" +/obj/item/storage/belt/security/webbing + icon = 'modular_zubbers/icons/obj/clothing/belt.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/belt.dmi' + icon_state = "security_webbing" + worn_icon_state = "security_webbing" + alternate_worn_layer = BELT_LAYER -/datum/atom_skin/security_officer_uniform/white - preview_name = "White Variant" - new_icon_state = "security_white" -/datum/atom_skin/security_officer_uniform/sol - preview_name = "Sol Variant" - new_icon_state = "policealt" +/* + // SHOES +*/ -/datum/atom_skin/security_officer_uniform/cadet - preview_name = "Cadet Variant" - new_icon_state = "policecadetalt" +/obj/item/clothing/shoes/jackboots/sec + name = "security boots" + icon = 'modular_zubbers/icons/obj/clothing/feet/feet.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/feet/feet.dmi' + worn_icon_digi = 'modular_zubbers/icons/mob/clothing/feet/feet_digi.dmi' + icon_state = "jackboots_sec" -/datum/atom_skin/security_officer_uniform/red - preview_name = "Red Variant" - new_icon_state = "rsecurity" - -/datum/atom_skin/security_officer_uniform/pink - preview_name = "Pink Variant" - new_icon = 'modular_zubbers/icons/obj/clothing/under/security.dmi' - new_icon_state = "rsecurity" - new_worn_icon = 'modular_zubbers/icons/mob/clothing/under/security.dmi' - -/datum/atom_skin/security_officer_uniform/armadyne - preview_name = "Armadyne Variant" - new_icon = 'modular_skyrat/master_files/icons/obj/clothing/under/centcom.dmi' - new_icon_state = "armadyne_shirt" - new_worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/under/centcom.dmi' - -/datum/atom_skin/security_officer_uniform/armadyne_tac - preview_name = "Armadyne Tac Variant" - new_icon = 'modular_skyrat/master_files/icons/obj/clothing/under/centcom.dmi' - new_icon_state = "armadyne_tac" - new_worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/under/centcom.dmi' - -/datum/atom_skin/security_officer_uniform/lopland - preview_name = "Lopland Variant" - new_icon = 'modular_skyrat/master_files/icons/obj/clothing/under/centcom.dmi' - new_icon_state = "lopland_shirt" - new_worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/under/centcom.dmi' - -/datum/atom_skin/security_officer_uniform/lopland_tac - preview_name = "Lopland Tac Variant" - new_icon = 'modular_skyrat/master_files/icons/obj/clothing/under/centcom.dmi' - new_icon_state = "lopland_tac" - new_worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/under/centcom.dmi' - -/obj/item/clothing/under/rank/security/officer/formal - -/obj/item/clothing/under/rank/security/officer/formal/Initialize(mapload) +/obj/item/clothing/shoes/jackboots/sec/Initialize(mapload) . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) + AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_jackboots, infinite = TRUE) -/obj/item/clothing/under/rank/security/officer/skirt - alt_covers_chest = FALSE - icon = 'modular_skyrat/master_files/icons/obj/clothing/under/security.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/under/security.dmi' - alt_covers_chest = TRUE +/datum/atom_skin/security_jackboots + abstract_type = /datum/atom_skin/security_jackboots -/obj/item/clothing/under/rank/security/officer/skirt/Initialize(mapload) +/datum/atom_skin/security_jackboots/bloused + preview_name = "Bloused" + new_icon_state = "jackboots_sec" + +/datum/atom_skin/security_jackboots/unbloused + preview_name = "Unbloused" + new_icon_state = "jackboots_sec_unbloused" + +/* + // MASK +*/ + +/obj/item/clothing/mask/gas/sechailer + worn_icon = 'modular_zubbers/icons/mob/clothing/head/mask.dmi' + worn_icon_muzzled = 'modular_zubbers/icons/mob/clothing/head/mask_muzzled.dmi' + +/obj/item/clothing/mask/gas/sechailer/swat + flags_inv = HIDEFACIALHAIR | HIDEFACE | HIDEEYES | HIDEEARS | HIDESNOUT + +/obj/item/clothing/mask/gas/sechailer/swat/spacepol + icon = 'icons/obj/clothing/masks.dmi' + worn_icon = 'icons/mob/clothing/mask.dmi' + worn_icon_muzzled = 'modular_skyrat/master_files/icons/mob/clothing/mask_muzzled.dmi' + +/* + // NECK +*/ + +// HOS + +/obj/item/clothing/neck/cloak/hos // still ugly but i tried + icon = 'modular_zubbers/icons/obj/clothing/neck/neck.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/neck/neck.dmi' + +/* + // BACKPACKS +*/ + +/obj/item/storage/backpack/security + worn_icon = 'modular_zubbers/icons/mob/clothing/back/backpack.dmi' + icon_state = "backpack-security" + +/obj/item/storage/backpack/satchel/sec + worn_icon = 'modular_zubbers/icons/mob/clothing/back/backpack.dmi' + icon_state = "satchel-security" + +/obj/item/storage/backpack/duffelbag/sec + worn_icon = 'modular_zubbers/icons/mob/clothing/back/backpack.dmi' + icon_state = "duffel-security" + +/obj/item/storage/backpack/messenger/sec + icon = 'icons/obj/storage/backpack.dmi' // yeah i dont know either + worn_icon = 'modular_zubbers/icons/mob/clothing/back/backpack.dmi' + icon_state = "messenger_security" + + + lefthand_file = 'icons/mob/inhands/equipment/backpack_lefthand.dmi' // fucking kill me + righthand_file = 'icons/mob/inhands/equipment/backpack_righthand.dmi' + + +/* + // EYES +*/ + +/obj/item/clothing/glasses/hud/security/sunglasses + icon = 'modular_zubbers/icons/obj/clothing/glasses.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/eyes.dmi' + +/obj/item/clothing/glasses/hud/security/sunglasses/Initialize(mapload) . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_officer_skirt) + AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_sunglasses) -/datum/atom_skin/security_officer_skirt - abstract_type = /datum/atom_skin/security_officer_skirt +/datum/atom_skin/security_sunglasses + abstract_type = /datum/atom_skin/security_sunglasses -/datum/atom_skin/security_officer_skirt/red +/datum/atom_skin/security_sunglasses/red preview_name = "Red Variant" - new_icon_state = "secskirt" + new_icon_state = "sunhudsec" -/datum/atom_skin/security_officer_skirt/blue - preview_name = "Blue Variant" - new_icon_state = "jumpskirt_blue" - -/datum/atom_skin/security_officer_skirt/black +/datum/atom_skin/security_sunglasses/black preview_name = "Black Variant" - new_icon_state = "jumpskirt_black" + new_icon_state = "sunhudsec_blk" -/datum/atom_skin/security_officer_skirt/pink - preview_name = "Pink Variant" - new_icon = 'modular_zubbers/icons/obj/clothing/under/security.dmi' - new_icon_state = "secskirt" - new_worn_icon = 'modular_zubbers/icons/mob/clothing/under/security.dmi' +/obj/item/clothing/glasses/hud/security/sunglasses/gars + icon = 'icons/obj/clothing/glasses.dmi' + worn_icon = 'icons/mob/clothing/eyes.dmi' -/obj/item/clothing/under/rank/security/officer/skirt/blue - name = "security jumpskirt" - desc = "Turtleneck sweater commonly worn by Peacekeepers, attached with a skirt." - icon = 'modular_skyrat/master_files/icons/obj/clothing/under/security.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/under/security.dmi' - icon_state = "jumpskirt_blue" - female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY - gets_cropped_on_taurs = FALSE - alt_covers_chest = TRUE +/* + // PRISONER (why is this here ?) +*/ -/obj/item/clothing/under/rank/security/officer/skirt/blue/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_officer_jumpskirt) - -/datum/atom_skin/security_officer_jumpskirt - abstract_type = /datum/atom_skin/security_officer_jumpskirt - -/datum/atom_skin/security_officer_jumpskirt/blue - preview_name = "Blue Variant" - new_icon_state = "jumpskirt_blue" - -/datum/atom_skin/security_officer_jumpskirt/black - preview_name = "Black Variant" - new_icon_state = "jumpskirt_black" - -/datum/atom_skin/security_officer_jumpskirt/pink - preview_name = "Pink Variant" - new_icon = 'modular_zubbers/icons/obj/clothing/under/security.dmi' - new_icon_state = "secskirt" - new_worn_icon = 'modular_zubbers/icons/mob/clothing/under/security.dmi' - -// DETECTIVE -/obj/item/clothing/under/rank/security/detective/cowboy - name = "blonde cowboy uniform" - desc = "A blue shirt and dark jeans, with a pair of spurred cowboy boots to boot." - icon = 'modular_skyrat/master_files/icons/donator/obj/clothing/uniform.dmi' //Donator item-ish? See the /armorless one below it - worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/uniform.dmi' - worn_icon_digi = 'modular_skyrat/master_files/icons/donator/mob/clothing/uniform_digi.dmi' - icon_state = "cowboy_uniform" - can_adjust = FALSE - -/obj/item/clothing/under/rank/security/detective/cowboy/armorless //Donator variant, just uses the sprite. - armor_type = /datum/armor/clothing_under - -/obj/item/clothing/under/rank/security/detective/runner - name = "runner sweater" - desc = "\"You look lonely.\"" - icon = 'modular_skyrat/master_files/icons/obj/clothing/under/security.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/under/security.dmi' - icon_state = "runner" - can_adjust = FALSE - -//Warden -/obj/item/clothing/under/rank/security/warden - icon = 'modular_skyrat/master_files/icons/obj/clothing/under/security.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/under/security.dmi' - icon_state = "warden_black" - -/obj/item/clothing/under/rank/security/warden/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/warden_uniform) - -/datum/atom_skin/warden_uniform - abstract_type = /datum/atom_skin/warden_uniform - -/datum/atom_skin/warden_uniform/black - preview_name = "Black Variant" - new_icon_state = "warden_black" - -/datum/atom_skin/warden_uniform/blue - preview_name = "Blue Variant" - new_icon_state = "peacekeeper_warden" - -/datum/atom_skin/warden_uniform/sol - preview_name = "Sol Variant" - new_icon_state = "policewardenalt" - -/datum/atom_skin/warden_uniform/red - preview_name = "Red Variant" - new_icon_state = "rwarden" - -/datum/atom_skin/warden_uniform/pink - preview_name = "Pink Variant" - new_icon = 'modular_zubbers/icons/obj/clothing/under/security.dmi' - new_icon_state = "rwarden" - new_worn_icon = 'modular_zubbers/icons/mob/clothing/under/security.dmi' - -/obj/item/clothing/under/rank/security/warden/skirt/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/warden_skirt) - -/datum/atom_skin/warden_skirt - abstract_type = /datum/atom_skin/warden_skirt - -/datum/atom_skin/warden_skirt/red - preview_name = "Red Variant" - new_icon_state = "rwarden_skirt" - -/datum/atom_skin/warden_skirt/pink - preview_name = "Pink Variant" - new_icon = 'modular_zubbers/icons/obj/clothing/under/security.dmi' - new_icon_state = "rwarden_skirt" - new_worn_icon = 'modular_zubbers/icons/mob/clothing/under/security.dmi' - -/obj/item/clothing/under/rank/security/warden/formal - -/obj/item/clothing/under/rank/security/warden/formal/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -//HoS -/obj/item/clothing/under/rank/security/head_of_security - icon = 'modular_skyrat/master_files/icons/obj/clothing/under/security.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/under/security.dmi' - icon_state = "hos_black" - -/obj/item/clothing/under/rank/security/head_of_security/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/hos_uniform) - -/datum/atom_skin/hos_uniform - abstract_type = /datum/atom_skin/hos_uniform - -/datum/atom_skin/hos_uniform/black - preview_name = "Black Variant" - new_icon_state = "hos_black" - -/datum/atom_skin/hos_uniform/blue - preview_name = "Blue Variant" - new_icon_state = "peacekeeper_hos" - -/datum/atom_skin/hos_uniform/sol - preview_name = "Sol Variant" - new_icon_state = "policechiefalt" - -/datum/atom_skin/hos_uniform/red - preview_name = "Red Variant" - new_icon_state = "rhos" - -/datum/atom_skin/hos_uniform/pink - preview_name = "Pink Variant" - new_icon = 'modular_zubbers/icons/obj/clothing/under/security.dmi' - new_icon_state = "rhos" - new_worn_icon = 'modular_zubbers/icons/mob/clothing/under/security.dmi' - -/obj/item/clothing/under/rank/security/head_of_security/skirt/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/hos_skirt) - -/datum/atom_skin/hos_skirt - abstract_type = /datum/atom_skin/hos_skirt - -/datum/atom_skin/hos_skirt/red - preview_name = "Red Variant" - new_icon_state = "rhos_skirt" - -/datum/atom_skin/hos_skirt/pink - preview_name = "Pink Variant" - new_icon = 'modular_zubbers/icons/obj/clothing/under/security.dmi' - new_icon_state = "rhos_skirt" - new_worn_icon = 'modular_zubbers/icons/mob/clothing/under/security.dmi' - -/obj/item/clothing/under/rank/security/head_of_security/parade - icon_state = "hos_parade_male_blue" - -/obj/item/clothing/under/rank/security/head_of_security/parade/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/hos_parade_male) - -/datum/atom_skin/hos_parade_male - abstract_type = /datum/atom_skin/hos_parade_male - -/datum/atom_skin/hos_parade_male/blue - preview_name = "Blue Variant" - new_icon_state = "hos_parade_male_blue" - -/datum/atom_skin/hos_parade_male/red - preview_name = "Red Variant" - new_icon_state = "hos_parade_male" - -/obj/item/clothing/under/rank/security/head_of_security/parade/female - icon_state = "hos_parade_fem_blue" - -/obj/item/clothing/under/rank/security/head_of_security/parade/female/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/hos_parade_female) - -/datum/atom_skin/hos_parade_female - abstract_type = /datum/atom_skin/hos_parade_female - -/datum/atom_skin/hos_parade_female/blue - preview_name = "Blue Variant" - new_icon_state = "hos_parade_fem_blue" - -/datum/atom_skin/hos_parade_female/red - preview_name = "Red Variant" - new_icon_state = "hos_parade_fem" - -/obj/item/clothing/under/rank/security/head_of_security/alt - icon_state = "hosalt_blue" - -/obj/item/clothing/under/rank/security/head_of_security/alt/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/hos_alt) - -/datum/atom_skin/hos_alt - abstract_type = /datum/atom_skin/hos_alt - -/datum/atom_skin/hos_alt/blue - preview_name = "Blue Variant" - new_icon_state = "hosalt_blue" - -/datum/atom_skin/hos_alt/red - preview_name = "Red Variant" - new_icon_state = "hosalt" - -/obj/item/clothing/under/rank/security/head_of_security/alt/skirt - icon_state = "hosalt_skirt_blue" - -/obj/item/clothing/under/rank/security/head_of_security/alt/skirt/Initialize(mapload) - . = ..() - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/hos_alt_skirt) - -/datum/atom_skin/hos_alt_skirt - abstract_type = /datum/atom_skin/hos_alt_skirt - -/datum/atom_skin/hos_alt_skirt/blue - preview_name = "Blue Variant" - new_icon_state = "hosalt_skirt_blue" - -/datum/atom_skin/hos_alt_skirt/red - preview_name = "Red Variant" - new_icon_state = "hosalt_skirt" - -/obj/item/clothing/under/rank/security/head_of_security/peacekeeper - -/obj/item/clothing/under/rank/security/head_of_security/peacekeeper/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/obj/item/clothing/under/rank/security/head_of_security/bunnysuit - -/obj/item/clothing/under/rank/security/head_of_security/bunnysuit/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/obj/item/clothing/under/rank/security/head_of_security/alt/roselia - -/obj/item/clothing/under/rank/security/head_of_security/alt/roselia/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/obj/item/clothing/under/rank/security/head_of_security/grey - -/obj/item/clothing/under/rank/security/head_of_security/grey/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -// PRISONER - - -/// PRISONER /obj/item/clothing/under/rank/prisoner/protcust name = "protective custody prisoner jumpsuit" desc = "A mustard coloured prison jumpsuit, often worn by former Security members, informants and former CentCom employees. Its suit sensors are stuck in the \"Fully On\" position." @@ -1569,447 +618,66 @@ greyscale_colors = "#5c0000ff" /* -* FEET + // DETECTIVE */ -//Adds reskins and special footstep noises -/obj/item/clothing/shoes/jackboots/sec - name = "security jackboots" - desc = "Lopland's Peacekeeper-issue Security combat boots for combat scenarios or combat situations. All combat, all the time." - icon_state = "security_boots" - icon = 'modular_skyrat/master_files/icons/obj/clothing/shoes.dmi' - worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/feet.dmi' - clothing_traits = list(TRAIT_SILENT_FOOTSTEPS) // We have other footsteps. -/obj/item/clothing/shoes/jackboots/sec/Initialize(mapload) - . = ..() - AddComponent(/datum/component/squeak, list('modular_skyrat/master_files/sound/effects/footstep1.ogg'=1,'modular_skyrat/master_files/sound/effects/footstep2.ogg'=1, 'modular_skyrat/master_files/sound/effects/footstep3.ogg'=1), 100) - AddComponent(/datum/component/reskinable_item, /datum/atom_skin/security_jackboots) +/obj/item/clothing/under/rank/security/detective/cowboy + name = "blonde cowboy uniform" + desc = "A blue shirt and dark jeans, with a pair of spurred cowboy boots to boot." + icon = 'modular_skyrat/master_files/icons/donator/obj/clothing/uniform.dmi' //Donator item-ish? See the /armorless one below it + worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/uniform.dmi' + worn_icon_digi = 'modular_skyrat/master_files/icons/donator/mob/clothing/uniform_digi.dmi' + icon_state = "cowboy_uniform" + can_adjust = FALSE -/datum/atom_skin/security_jackboots - abstract_type = /datum/atom_skin/security_jackboots +/obj/item/clothing/under/rank/security/detective/cowboy/armorless //Donator variant, just uses the sprite. + armor_type = /datum/armor/clothing_under -/datum/atom_skin/security_jackboots/blue_trim - preview_name = "Blue-Trimmed Variant" - new_icon_state = "security_boots" - -/datum/atom_skin/security_jackboots/white_trim - preview_name = "White-Trimmed Variant" - new_icon_state = "security_boots_white" - -/datum/atom_skin/security_jackboots/full_white - preview_name = "Full White Variant" - new_icon_state = "security_boots_fullwhite" - -/datum/atom_skin/security_jackboots/red - preview_name = "Red Variant" - new_icon = 'icons/obj/clothing/shoes.dmi' - new_icon_state = "jackboots_sec" - new_worn_icon = 'icons/mob/clothing/feet.dmi' - -/datum/atom_skin/security_jackboots/pink - preview_name = "Pink Variant" - new_icon = 'modular_zubbers/icons/obj/clothing/feet/feet.dmi' - new_icon_state = "jackboots_sec" - new_worn_icon = 'modular_zubbers/icons/mob/clothing/feet/feet.dmi' - -/datum/atom_skin/security_jackboots/armadyne - preview_name = "Armadyne Variant" - new_icon_state = "armadyne_boots" +/obj/item/clothing/under/rank/security/detective/runner + name = "runner sweater" + desc = "\"You look lonely.\"" + icon = 'modular_skyrat/master_files/icons/obj/clothing/under/security.dmi' + worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/under/security.dmi' + icon_state = "runner" + can_adjust = FALSE /* -* A bunch of re-overrides so that admins can keep using some redsec stuff; not all of them have this though! + // ANTIQUATED */ +//Not technically an override but oh well +/obj/item/clothing/neck/security_cape + name = "security cape" + desc = "A fashionable cape worn by security officers." + icon = 'modular_skyrat/master_files/icons/obj/clothing/neck.dmi' + worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/neck.dmi' + icon_state = "cape_black" + inhand_icon_state = "" //no unique inhands + ///Decides the shoulder it lays on, false = RIGHT, TRUE = LEFT + var/swapped = FALSE + +/obj/item/clothing/neck/security_cape/armplate // wanted to kill this item but stuff relies on it so i cant + name = "security gauntlet" + desc = "A fashionable full-arm gauntlet worn by security officers. The gauntlet itself is made of plastic, and provides no protection, but it looks cool as hell." + icon_state = "armplate_black" + + /* -* EYES + // ANTIQUATED GLASSES */ -/obj/item/clothing/glasses/hud/security/redsec - icon = 'icons/obj/clothing/glasses.dmi' - worn_icon = 'icons/mob/clothing/eyes.dmi' - icon_state = "securityhud" +/obj/item/clothing/glasses/hud/eyepatch/sec + name = "security eyepatch HUD" + desc = "Lost your eye beating an innocent clown? Thankfully your corporate overlords have made something to make up for this. May not do well against flashes." + clothing_traits = list(TRAIT_SECURITY_HUD) glass_colour_type = /datum/client_colour/glass_colour/red - -/obj/item/clothing/glasses/hud/security/redsec/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/obj/item/clothing/glasses/hud/security/sunglasses/redsec - icon = 'icons/obj/clothing/glasses.dmi' - worn_icon = 'icons/mob/clothing/eyes.dmi' - icon_state = "sunhudsec" - glass_colour_type = /datum/client_colour/glass_colour/darkred - -/obj/item/clothing/glasses/hud/security/sunglasses/redsec/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/obj/item/clothing/glasses/hud/security/sunglasses/eyepatch/redsec - icon = 'icons/obj/clothing/glasses.dmi' - worn_icon = 'icons/mob/clothing/eyes.dmi' - icon_state = "hudpatch" - base_icon_state = "hudpatch" - -/obj/item/clothing/glasses/hud/security/sunglasses/eyepatch/redsec/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/obj/item/clothing/glasses/hud/security/night/redsec - icon = 'icons/obj/clothing/glasses.dmi' - worn_icon = 'icons/mob/clothing/eyes.dmi' - icon_state = "securityhudnight" - -/obj/item/clothing/glasses/hud/security/night/redsec/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/* -* NECK -*/ - -/obj/item/clothing/neck/cloak/hos/redsec - icon = 'icons/obj/clothing/cloaks.dmi' - worn_icon = 'icons/mob/clothing/neck.dmi' - icon_state = "hoscloak" - -/obj/item/clothing/neck/cloak/hos/redsec/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/* -* BACK -*/ - -/obj/item/storage/backpack/security/redsec - icon = 'icons/obj/storage/backpack.dmi' - worn_icon = 'icons/mob/clothing/back/backpack.dmi' - icon_state = "backpack-security" - -/obj/item/storage/backpack/security/redsec/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/obj/item/storage/backpack/satchel/sec/redsec - icon = 'icons/obj/storage/backpack.dmi' - worn_icon = 'icons/mob/clothing/back/backpack.dmi' - icon_state = "satchel-security" - -/obj/item/storage/backpack/satchel/sec/redsec/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/obj/item/storage/backpack/duffelbag/sec/redsec - icon = 'icons/obj/storage/backpack.dmi' - worn_icon = 'icons/mob/clothing/back/backpack.dmi' - icon_state = "duffel-security" - -/obj/item/storage/backpack/duffelbag/sec/redsec/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/* -* BELT + HOLSTERS -*/ - -/obj/item/storage/belt/security/redsec - icon = 'icons/obj/clothing/belts.dmi' - worn_icon = 'icons/mob/clothing/belt.dmi' - icon_state = "security" - inhand_icon_state = "security" - worn_icon_state = "security" - -/obj/item/storage/belt/security/redsec/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/obj/item/storage/belt/holster - desc = "A rather plain but still cool looking holster that can hold a handgun, and some ammo." - -/datum/storage/holster - max_slots = 3 - max_total_storage = 16 - -/datum/storage/holster/New(atom/parent, max_slots, max_specific_storage, max_total_storage, list/holdables) - if(length(holdables)) - return ..() - - holdables = list( - /obj/item/gun/ballistic/automatic/pistol, - /obj/item/ammo_box/magazine, // Just magazine, because the sec-belt can hold these aswell - /obj/item/gun/ballistic/revolver, - /obj/item/ammo_box/speedloader/c38, // Revolver speedloaders. - /obj/item/ammo_box/speedloader/c357, - /obj/item/ammo_box/speedloader/strilka310, - /obj/item/gun/energy/e_gun/mini, - /obj/item/gun/energy/disabler, - /obj/item/gun/ballistic/revolver, - /obj/item/food/grown/banana, - /obj/item/gun/energy/dueling, - /obj/item/gun/energy/laser/thermal, - /obj/item/gun/ballistic/rifle/boltaction, //fits if you make it an obrez - /obj/item/gun/energy/laser/captain, - /obj/item/gun/energy/e_gun/hos, - ) - - return ..() - -/obj/item/storage/belt/holster/detective - name = "detective's holster" - desc = "A holster able to carry handguns and extra ammo, thanks to an additional hand-sewn pouch. WARNING: Badasses only." - -/datum/storage/holster/detective - max_slots = 4 - -/datum/storage/holster/detective/New(atom/parent, max_slots, max_specific_storage, max_total_storage, list/holdables) - if(length(holdables)) - return ..() - - holdables = list( - /obj/item/gun/ballistic/automatic/pistol, - /obj/item/ammo_box/magazine, // Just magazine, because the sec-belt can hold these aswell - /obj/item/gun/ballistic/revolver, - /obj/item/ammo_box/speedloader/c38, // Revolver speedloaders. - /obj/item/ammo_box/speedloader/c357, - /obj/item/ammo_box/speedloader/strilka310, - /obj/item/gun/energy/e_gun/mini, - /obj/item/gun/energy/disabler, - /obj/item/gun/ballistic/revolver, - /obj/item/food/grown/banana, - /obj/item/gun/energy/dueling, - /obj/item/gun/energy/laser/thermal, - /obj/item/gun/ballistic/rifle/boltaction, //fits if you make it an obrez - /obj/item/gun/energy/laser/captain, - /obj/item/gun/energy/e_gun/hos, - ) - - return ..() - -/datum/storage/holster/energy - max_specific_storage = WEIGHT_CLASS_NORMAL - -/datum/storage/holster/energy/New(atom/parent, max_slots, max_specific_storage, max_total_storage, list/holdables) - if(length(holdables)) - return ..() - - holdables = list( - /obj/item/gun/energy/e_gun/mini, - /obj/item/gun/energy/disabler, - /obj/item/gun/energy/dueling, - /obj/item/food/grown/banana, - /obj/item/gun/energy/laser/thermal, - /obj/item/gun/energy/recharge/ebow, - /obj/item/gun/energy/laser/captain, - /obj/item/gun/energy/e_gun/hos, - /obj/item/gun/ballistic/automatic/pistol/plasma_marksman, - /obj/item/gun/ballistic/automatic/pistol/plasma_thrower, - /obj/item/ammo_box/magazine/recharge/plasma_battery, - ) - - return ..() - -/* -* HEAD -*/ - -/obj/item/clothing/head/helmet/sec/redsec - icon = 'icons/obj/clothing/head/helmet.dmi' - worn_icon = 'icons/mob/clothing/head/helmet.dmi' - icon_state = "helmet" - base_icon_state = "helmet" - actions_types = null - supports_variations_flags = CLOTHING_SNOUTED_VARIATION_NO_NEW_ICON - flags_cover = HEADCOVERSEYES - flags_inv = HIDEHAIR - -/obj/item/clothing/head/hats/hos/cap/red - icon = 'icons/obj/clothing/head/hats.dmi' - worn_icon = 'icons/mob/clothing/head/hats.dmi' - icon_state = "hoscap" - base_icon_state = "hoscap" - -/obj/item/clothing/head/hats/hos/cap/red/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/* -* UNIFORM -*/ - -/obj/item/clothing/under/rank/security/officer/redsec - icon_state = "rsecurity" - -/obj/item/clothing/under/rank/security/officer/redsec/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/obj/item/clothing/under/rank/security/officer/skirt/redsec - icon_state = "secskirt" - -/obj/item/clothing/under/rank/security/officer/skirt/redsec/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/obj/item/clothing/under/rank/security/warden/redsec - icon_state = "rwarden" - -/obj/item/clothing/under/rank/security/warden/redsec/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/obj/item/clothing/under/rank/security/warden/skirt/redsec - icon_state = "rwarden_skirt" - -/obj/item/clothing/under/rank/security/warden/skirt/redsec/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/obj/item/clothing/under/rank/security/head_of_security/redsec - icon_state = "rhos" - -/obj/item/clothing/under/rank/security/head_of_security/redsec/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/obj/item/clothing/under/rank/security/head_of_security/skirt/redsec - icon_state = "rhos_skirt" - -/obj/item/clothing/under/rank/security/head_of_security/skirt/redsec/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/obj/item/clothing/under/rank/security/head_of_security/parade/redsec - icon_state = "hos_parade_male" - -/obj/item/clothing/under/rank/security/head_of_security/parade/redsec/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/obj/item/clothing/under/rank/security/head_of_security/parade/female/redsec - icon_state = "hos_parade_fem" - -/obj/item/clothing/under/rank/security/head_of_security/parade/female/redsec/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/obj/item/clothing/under/rank/security/head_of_security/alt/redsec - icon_state = "hosalt" - -/obj/item/clothing/under/rank/security/head_of_security/alt/redsec/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/obj/item/clothing/under/rank/security/head_of_security/alt/skirt/redsec - icon_state = "hosalt_skirt" - -/obj/item/clothing/under/rank/security/head_of_security/alt/skirt/redsec/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/* -* WINTER COAT -*/ - -/obj/item/clothing/head/hooded/winterhood/security/redsec - desc = "A red, armour-padded winter hood. Definitely not bulletproof, especially not the part where your face goes." - icon = 'icons/obj/clothing/head/winterhood.dmi' - worn_icon = 'icons/mob/clothing/head/winterhood.dmi' - icon_state = "hood_security" - -/obj/item/clothing/suit/hooded/wintercoat/security/redsec - name = "security winter jacket" - desc = "A red, armour-padded winter coat. It glitters with a mild ablative coating and a robust air of authority. The zipper tab is a pair of jingly little handcuffs that get annoying after the first ten seconds." - icon = 'icons/obj/clothing/suits/wintercoat.dmi' - worn_icon = 'icons/mob/clothing/suits/wintercoat.dmi' - icon_state = "coatsecurity" - hoodtype = /obj/item/clothing/head/hooded/winterhood/security/redsec - -/* -* ARMOR -*/ - -/obj/item/clothing/suit/armor/vest/alt/sec/redsec - desc = "A Type I armored vest that provides decent protection against most types of damage." - icon = 'icons/obj/clothing/suits/armor.dmi' - worn_icon = 'icons/mob/clothing/suits/armor.dmi' - icon_state = "armor_sec" - -/obj/item/clothing/suit/armor/vest/alt/sec/redsec/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/obj/item/clothing/suit/armor/hos/hos_formal/redsec - icon = 'icons/obj/clothing/suits/armor.dmi' - worn_icon = 'icons/mob/clothing/suits/armor.dmi' - icon_state = "hosformal" - supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION - -/obj/item/clothing/suit/armor/hos/hos_formal/redsec/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -/* -* FEET -*/ -/obj/item/clothing/shoes/jackboots/sec/redsec - name = "jackboots" - desc = "Nanotrasen-issue Security combat boots for combat scenarios or combat situations. All combat, all the time." - icon_state = "jackboots_sec" - icon = 'icons/obj/clothing/shoes.dmi' - worn_icon = 'icons/mob/clothing/feet.dmi' - -/obj/item/clothing/shoes/jackboots/sec/redsec/Initialize(mapload) - . = ..() - var/list/reskin_components = GetComponents(/datum/component/reskinable_item) - for(var/datum/component/reskinable_item/reskin_component as anything in reskin_components) - qdel(reskin_component) - -//Finally, a few description changes for items that couldn't get a resprite. -/obj/item/clothing/head/bio_hood/security - desc = "A hood that protects the head and face from biological contaminants. This is a slightly outdated model from Nanotrasen Securities - you can hardly see through the foggy visor's ageing red. Hopefully it's still up to spec..." - -/obj/item/clothing/suit/bio_suit/security - desc = "A suit that protects against biological contamination. This is a slightly outdated model from Nanotrasen Securities, using their red color-scheme and even outdated labelling. Hopefully it's still up to spec..." + icon = 'modular_zubbers/icons/obj/clothing/glasses.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/eyes.dmi' + +/obj/item/clothing/glasses/hud/eyepatch/sec/blindfold + name = "sec blindfold HUD" + desc = "a fake blindfold with a security HUD inside, helps you look like blind justice. This won't provide the same protection that you'd get from sunglasses." + icon_state = "secfold" + base_icon_state = "secfold" + icon = 'modular_skyrat/master_files/icons/obj/clothing/glasses.dmi' + worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/eyes.dmi' diff --git a/modular_zubbers/code/modules/security/sec_garment_overrides.dm b/modular_zubbers/code/modules/security/sec_garment_overrides.dm new file mode 100644 index 00000000000..5c1bade574a --- /dev/null +++ b/modular_zubbers/code/modules/security/sec_garment_overrides.dm @@ -0,0 +1,38 @@ +/obj/item/storage/bag/garment/warden/PopulateContents() + new /obj/item/clothing/under/rank/security/warden(src) + new /obj/item/clothing/under/rank/security/warden/skirt(src) + new /obj/item/clothing/under/rank/security/warden/formal(src) + new /obj/item/clothing/under/rank/security/warden/formal/skirt(src) + new /obj/item/clothing/head/hats/warden/viro(src) + new /obj/item/clothing/head/hats/warden/viro/alt(src) + new /obj/item/clothing/head/hats/warden/viro/beret(src) + new /obj/item/clothing/head/hats/warden/drill/viro(src) + new /obj/item/clothing/head/soft/sec/warden(src) + new /obj/item/clothing/suit/armor/vest/warden/alt(src) + new /obj/item/clothing/suit/armor/vest/warden(src) + new /obj/item/clothing/suit/armor/vest/warden/alt/winter(src) + new /obj/item/clothing/gloves/kaza_ruk/sec(src) + new /obj/item/clothing/glasses/hud/security/sunglasses(src) + new /obj/item/clothing/mask/gas/sechailer(src) + +/obj/item/storage/bag/garment/hos/PopulateContents() + new /obj/item/clothing/under/rank/security/head_of_security(src) + new /obj/item/clothing/under/rank/security/head_of_security/alt(src) + new /obj/item/clothing/under/rank/security/head_of_security/alt/skirt(src) + new /obj/item/clothing/under/rank/security/head_of_security/parade(src) + new /obj/item/clothing/under/rank/security/head_of_security/parade/female(src) + new /obj/item/clothing/under/rank/security/head_of_security/formal(src) + new /obj/item/clothing/under/rank/security/head_of_security/formal/skirt(src) + new /obj/item/clothing/head/hats/hos/cap(src) + new /obj/item/clothing/head/hats/hos/cap/beret(src) + new /obj/item/clothing/head/helmet/sec/hos(src) + new /obj/item/clothing/head/soft/sec/hos(src) + new /obj/item/clothing/head/hats/hos/cap/cowboy(src) + new /obj/item/clothing/suit/armor/hos(src) + new /obj/item/clothing/suit/armor/hos/trenchcoat(src) + new /obj/item/clothing/suit/armor/hos/trenchcoat/winter(src) + new /obj/item/clothing/suit/armor/hos/overcoat(src) + new /obj/item/clothing/suit/armor/hos/vest(src) + new /obj/item/clothing/neck/cloak/hos(src) + new /obj/item/clothing/mask/gas/sechailer/swat(src) + new /obj/item/clothing/shoes/sneakers/brown(src) diff --git a/modular_zubbers/code/modules/security/secmed/secmed_clothes.dm b/modular_zubbers/code/modules/security/secmed/secmed_clothes.dm index 22948eb2d52..4dc0b58aa3c 100644 --- a/modular_zubbers/code/modules/security/secmed/secmed_clothes.dm +++ b/modular_zubbers/code/modules/security/secmed/secmed_clothes.dm @@ -54,7 +54,7 @@ icon_state = "secmed_vest_blue" worn_icon_state = "secmed_vest_blue" -/obj/item/clothing/suit/armor/vest/peacekeeper/security_medic +/obj/item/clothing/suit/armor/vest/security_medic name = "security medic armor vest" desc = "A security medic's armor vest, with little pockets for little things." icon = 'modular_zubbers/icons/obj/clothing/suits/armor.dmi' @@ -64,7 +64,7 @@ supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight, /obj/item/reagent_containers/cup/bottle, /obj/item/reagent_containers/cup/beaker, /obj/item/reagent_containers/applicator/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/baton/telescopic, /obj/item/soap, /obj/item/tank/internals/emergency_oxygen, /obj/item/gun, /obj/item/storage/medkit) -/obj/item/clothing/under/rank/security/peacekeeper/security_medic/alternate +/obj/item/clothing/under/rank/security/security_medic/alternate name = "security medic uniform" desc = "A lightly armored uniform worn by Nanotrasen's Asset Protection Medical Corps." icon = 'modular_zubbers/icons/obj/clothing/under/security.dmi' @@ -73,7 +73,7 @@ worn_icon_state = "security_medic_jumpsuit" worn_icon_digi = 'modular_zubbers/icons/mob/clothing/under/security_digi.dmi' -/obj/item/clothing/under/rank/security/peacekeeper/security_medic +/obj/item/clothing/under/rank/security/security_medic name = "security medic turtleneck" desc = "A comfy turtleneck with a white armband, denoting the wearer as a security medic." icon = 'modular_zubbers/icons/obj/clothing/under/security.dmi' @@ -82,7 +82,7 @@ worn_icon_digi = 'modular_zubbers/icons/mob/clothing/under/security_digi.dmi' supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION -/obj/item/clothing/under/rank/security/peacekeeper/security_medic/skirt +/obj/item/clothing/under/rank/security/security_medic/skirt name = "security medic skirtleneck" desc = "A comfy turtleneck with a white armband and brown skirt, denoting the wearer as a security medic." icon_state = "security_medic_turtleneck_skirt" @@ -90,15 +90,15 @@ female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON -/obj/item/clothing/head/beret/sec/peacekeeper/security_medic +/obj/item/clothing/head/beret/sec/security_medic name = "security medic beret" desc = "A robust beret with the medical insignia emblazoned on it. Uses reinforced fabric to offer sufficient protection." - icon_state = "/obj/item/clothing/head/beret/sec/peacekeeper/security_medic" + icon_state = "/obj/item/clothing/head/beret/sec/security_medic" greyscale_colors = "#3F3C40#870E12" post_init_icon_state = "beret_badge_med" supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON -/obj/item/clothing/head/helmet/sec/peacekeeper/security_medic +/obj/item/clothing/head/helmet/sec/security_medic name = "security medic helmet" desc = "A standard issue combat helmet for security medics. Has decent tensile strength and armor. Keep your head down." icon = 'modular_skyrat/master_files/icons/obj/clothing/head/helmet.dmi' diff --git a/modular_zubbers/code/modules/security/secmed/security_medic.dm b/modular_zubbers/code/modules/security/secmed/security_medic.dm index 90183461520..4f95a52f679 100644 --- a/modular_zubbers/code/modules/security/secmed/security_medic.dm +++ b/modular_zubbers/code/modules/security/secmed/security_medic.dm @@ -53,13 +53,13 @@ suit_store = /obj/item/flashlight/seclite belt = /obj/item/modular_computer/pda/security ears = /obj/item/radio/headset/headset_medsec - uniform = /obj/item/clothing/under/rank/security/peacekeeper/security_medic + uniform = /obj/item/clothing/under/rank/security/security_medic gloves = /obj/item/clothing/gloves/latex/nitrile shoes = /obj/item/clothing/shoes/jackboots/sec glasses = /obj/item/clothing/glasses/hud/medsechud - suit = /obj/item/clothing/suit/armor/vest/peacekeeper/security_medic + suit = /obj/item/clothing/suit/armor/vest/security_medic l_hand = /obj/item/storage/medkit/brute - head = /obj/item/clothing/head/beret/sec/peacekeeper/security_medic + head = /obj/item/clothing/head/beret/sec/security_medic backpack = /obj/item/storage/backpack/security satchel = /obj/item/storage/backpack/satchel/sec duffelbag = /obj/item/storage/backpack/duffelbag/sec @@ -123,11 +123,11 @@ new /obj/item/clothing/suit/toggle/labcoat/skyrat/security_medic/blue(src) new /obj/item/clothing/suit/hazardvest/security_medic(src) new /obj/item/clothing/suit/hazardvest/security_medic/blue(src) - new /obj/item/clothing/head/helmet/sec/peacekeeper/security_medic(src) + new /obj/item/clothing/head/helmet/sec/security_medic(src) new /obj/item/clothing/under/rank/medical/scrubs/skyrat/red/sec(src) - new /obj/item/clothing/under/rank/security/peacekeeper/security_medic/alternate(src) - new /obj/item/clothing/under/rank/security/peacekeeper/security_medic(src) - new /obj/item/clothing/under/rank/security/peacekeeper/security_medic/skirt(src) + new /obj/item/clothing/under/rank/security/security_medic/alternate(src) + new /obj/item/clothing/under/rank/security/security_medic(src) + new /obj/item/clothing/under/rank/security/security_medic/skirt(src) /obj/structure/closet/secure_closet/security_medic name = "security medic's locker" diff --git a/modular_zubbers/code/modules/vending/clothesmate.dm b/modular_zubbers/code/modules/vending/clothesmate.dm index 27511fa272d..f42edcf8f47 100644 --- a/modular_zubbers/code/modules/vending/clothesmate.dm +++ b/modular_zubbers/code/modules/vending/clothesmate.dm @@ -49,7 +49,6 @@ /obj/item/clothing/glasses/welding/steampunk_goggles = 5, /obj/item/clothing/gloves/bracer/wraps = 5, /obj/item/clothing/gloves/cat = 5, - /obj/item/clothing/gloves/elofy = 5, /obj/item/clothing/gloves/fingerless/blutigen_wraps = 5, /obj/item/clothing/gloves/skyy = 5, /obj/item/clothing/mask/gas/nightlight = 5, @@ -202,7 +201,6 @@ /obj/item/clothing/shoes/horseshoe = 5, /obj/item/clothing/shoes/jackboots/diesel_f = 5, /obj/item/clothing/shoes/jackboots/diesel_m = 5, - /obj/item/clothing/shoes/jackboots/elofy = 5, /obj/item/clothing/shoes/jackboots/knee = 5, /obj/item/clothing/shoes/jackboots/netra = 5, /obj/item/clothing/shoes/jackboots/recolorable = 5, diff --git a/modular_zubbers/code/modules/vending/comdrobe.dm b/modular_zubbers/code/modules/vending/comdrobe.dm index 78b7086bb6b..e5ece901279 100644 --- a/modular_zubbers/code/modules/vending/comdrobe.dm +++ b/modular_zubbers/code/modules/vending/comdrobe.dm @@ -173,40 +173,20 @@ access_lists["[ACCESS_HOS]"] = list( /obj/item/clothing/head/hats/hos/cap = 1, - /obj/item/clothing/head/hats/hos/beret/navyhos = 1, /obj/item/clothing/head/hats/hos/beret = 1, - /obj/item/clothing/head/hats/warden/drill/hos = 1, - /obj/item/clothing/head/hats/hos/elofy = 1, - /obj/item/clothing/under/rank/security/head_of_security/peacekeeper = 1, + /obj/item/clothing/under/rank/security/head_of_security = 1, /obj/item/clothing/under/rank/security/head_of_security/alt = 1, /obj/item/clothing/under/rank/security/head_of_security/alt/skirt = 1, - /obj/item/clothing/under/rank/security/head_of_security/grey = 1, - /obj/item/clothing/under/rank/security/head_of_security/alt/roselia = 1, /obj/item/clothing/under/rank/security/head_of_security/parade = 1, /obj/item/clothing/under/rank/security/head_of_security/parade/female = 1, - /obj/item/clothing/under/rank/security/head_of_security/redsec = 1, - /obj/item/clothing/under/rank/security/head_of_security/parade/redsec = 1, - /obj/item/clothing/under/rank/security/head_of_security/parade/female/redsec = 1, - /obj/item/clothing/under/rank/security/peacekeeper/skirt_hos = 1, - /obj/item/clothing/suit/jacket/hos/blue = 1, /obj/item/clothing/suit/armor/hos = 1, /obj/item/clothing/suit/armor/hos/trenchcoat = 1, /obj/item/clothing/suit/armor/hos/trenchcoat/winter = 1, - /obj/item/clothing/suit/armor/vest/leather = 1, - /obj/item/clothing/suit/armor/hos/hos_formal = 1, + /obj/item/clothing/suit/armor/hos/overcoat = 1, + /obj/item/clothing/suit/armor/hos/vest = 1, /obj/item/clothing/neck/cloak/hos = 1, - /obj/item/clothing/neck/cloak/hos/redsec = 1, - /obj/item/clothing/neck/mantle/hosmantle = 1, - /obj/item/clothing/glasses/hud/security/sunglasses/eyepatch = 1, - /obj/item/clothing/glasses/hud/security/sunglasses/gars/giga = 1, - /obj/item/clothing/glasses/hud/security/sunglasses/gars/giga/roselia = 1, - /obj/item/clothing/gloves/elofy = 1, /obj/item/clothing/mask/gas/sechailer/swat = 1, /obj/item/clothing/shoes/sneakers/brown = 1, - /obj/item/clothing/shoes/jackboots/elofy = 1, - /obj/item/clothing/head/playbunnyears/hos = 1, - /obj/item/clothing/under/rank/security/head_of_security/bunnysuit = 1, - /obj/item/clothing/suit/armor/hos_tailcoat = 1, ) access_lists["[ACCESS_QM]"] = list( diff --git a/modular_zubbers/code/modules/vending/multisec.dm b/modular_zubbers/code/modules/vending/multisec.dm deleted file mode 100644 index 30e624d3de6..00000000000 --- a/modular_zubbers/code/modules/vending/multisec.dm +++ /dev/null @@ -1,173 +0,0 @@ -/obj/machinery/vending/wardrobe/sec_wardrobe - name = "\improper MultiSec Outfitting Station" - desc = "A vending machine stocked with a multitude of security outfits, including standardized uniforms in multiple colors and general equipment. Now with more Multi!" - icon = 'modular_zubbers/icons/obj/machines/vending.dmi' - icon_state = "multisec" - light_mask = null - products = list() // Overriding this to the default to prevent any issues when building the product menu - product_categories = list( - list( - "name" = "Blue", - "icon" = "shield-halved", - "products" = list( - /obj/item/clothing/suit/hooded/wintercoat/security = 6, - /obj/item/clothing/suit/toggle/jacket/sec = 6, - /obj/item/clothing/suit/armor/vest/secjacket/blue = 6, - /obj/item/clothing/suit/armor/vest/peacekeeper/brit = 6, - /obj/item/clothing/neck/security_cape = 6, - /obj/item/clothing/neck/security_cape/armplate = 6, - /obj/item/storage/backpack/security = 6, - /obj/item/storage/backpack/satchel/sec = 6, - /obj/item/storage/backpack/duffelbag/sec = 6, - /obj/item/storage/backpack/duffelbag/sec = 6, - /obj/item/clothing/under/rank/security/officer = 10, - /obj/item/clothing/under/rank/security/officer/skirt/blue = 10, - /obj/item/clothing/under/rank/security/peacekeeper = 10, - /obj/item/clothing/under/rank/security/peacekeeper/skirt = 10, - /obj/item/clothing/under/rank/security/peacekeeper/shortskirt = 10, - /obj/item/clothing/under/rank/security/peacekeeper/miniskirt = 10, - /obj/item/clothing/under/rank/security/officer/blueshirt = 10, - /obj/item/clothing/under/rank/security/peacekeeper/trousers = 5, - /obj/item/clothing/under/rank/security/peacekeeper/trousers/shorts = 5, - /obj/item/clothing/under/rank/security/skyrat/utility = 6, - /obj/item/clothing/shoes/jackboots/sec = 10, - /obj/item/clothing/head/security_garrison = 10, - /obj/item/clothing/head/security_cap = 10, - /obj/item/clothing/head/beret/sec/peacekeeper = 6, - /obj/item/clothing/head/beret/sec/peacekeeper/white = 6, - /obj/item/clothing/head/helmet/sec/terra = 6, - /obj/item/clothing/head/hats/warden/police/patrol = 6, - /obj/item/clothing/head/costume/ushanka/sec/blue = 10, - /obj/item/clothing/gloves/color/black/security = 10, - /obj/item/clothing/head/helmet/sec/futuristic = 6, - /obj/item/clothing/suit/armor/vest/collared_vest = 6, //added by Bangle - ), - ), - list( - "name" = "Red", - "icon" = "shield", - "products" = list( - /obj/item/clothing/suit/hooded/wintercoat/security/redsec = 6, - /obj/item/storage/backpack/security/redsec = 6, - /obj/item/storage/backpack/satchel/sec/redsec = 6, - /obj/item/storage/backpack/duffelbag/sec/redsec = 6, - /obj/item/clothing/under/rank/security/officer/redsec = 6, - /obj/item/clothing/under/rank/security/peacekeeper/armadyne = 6, - /obj/item/clothing/under/rank/security/camo = 6, - /obj/item/clothing/shoes/jackboots = 6, - /obj/item/clothing/shoes/jackboots/peacekeeper/armadyne = 6, - /obj/item/clothing/shoes/jackboots/gogo_boots = 6, - /obj/item/clothing/head/helmet/sec/redsec = 6, - /obj/item/clothing/head/beret/sec = 6, - /obj/item/clothing/head/security_kepi = 6, - /obj/item/clothing/head/beret/sec/peacekeeper/armadyne = 6, - /obj/item/clothing/head/soft/sec = 6, - /obj/item/clothing/head/security_beanie = 6, - /obj/item/clothing/head/costume/ushanka/sec = 10, - /obj/item/clothing/head/playbunnyears/security = 6, - /obj/item/clothing/under/rank/security/security_bunnysuit = 6, - /obj/item/clothing/suit/armor/security_tailcoat = 6, - /obj/item/clothing/neck/tie/bunnytie/security = 6, - /obj/item/clothing/head/playbunnyears/security/assistant = 6, - /obj/item/clothing/under/rank/security/security_assistant_bunnysuit = 6, - /obj/item/clothing/suit/armor/security_tailcoat/assistant = 6, - /obj/item/clothing/neck/tie/bunnytie/security_assistant = 6, - /obj/item/clothing/mask/bandana/red = 6, - /obj/item/clothing/neck/pauldron = 6, - /obj/item/clothing/neck/pauldron/commander = 6, - /obj/item/clothing/neck/pauldron/captain = 6, - /obj/item/clothing/gloves/color/black = 6, - /obj/item/clothing/gloves/combat/peacekeeper/armadyne = 6, - /obj/item/clothing/under/rank/security/officer/skirt = 6, - /obj/item/clothing/under/rank/security/skyrat/utility/redsec = 6, - /obj/item/clothing/under/rank/security/peacekeeper/skirt_redsec = 6, - /obj/item/clothing/suit/toggle/jacket/sec/old = 6, - /obj/item/clothing/suit/armor/vest/secjacket = 6, - /obj/item/clothing/suit/armor/vest/peacekeeper/armadyne = 6, - /obj/item/clothing/suit/armor/vest/peacekeeper/armadyne/armor = 6, - /obj/item/clothing/suit/armor/vest/caligram_parka_vest_tan = 6, - /obj/item/clothing/suit/toggle/jacket/zubber/bomber/sec = 6, - ), - ), - list( - "name" = "Medic", - "icon" = "notes-medical", - "products" = list( - /obj/item/clothing/suit/toggle/labcoat/skyrat/security_medic = 3, - /obj/item/clothing/suit/toggle/labcoat/skyrat/security_medic/blue = 3, - /obj/item/clothing/suit/hazardvest/security_medic = 3, - /obj/item/clothing/suit/hazardvest/security_medic/blue = 3, - /obj/item/clothing/head/helmet/sec/peacekeeper/security_medic = 3, - /obj/item/clothing/head/beret/sec/peacekeeper/security_medic = 3, - /obj/item/clothing/head/playbunnyears/brig_phys = 3, - /obj/item/clothing/under/rank/security/brig_phys_bunnysuit = 3, - /obj/item/clothing/suit/toggle/labcoat/skyrat/security_medic/doctor_tailcoat = 3, - /obj/item/clothing/neck/tie/bunnytie/brig_phys = 3, - /obj/item/clothing/under/rank/medical/scrubs/skyrat/red/sec = 3, - /obj/item/clothing/under/rank/security/peacekeeper/security_medic/alternate = 3, - /obj/item/clothing/under/rank/security/peacekeeper/security_medic = 3, - /obj/item/clothing/under/rank/security/peacekeeper/security_medic/skirt = 3, - ) - ), - list( - "name" = "Corrections", - "icon" = "handcuffs", - "products" = list( - /obj/item/clothing/under/rank/security/corrections_officer = 2, //If, or more likely when the Brig Officers abandon them, you can now get 'em here! Yay! Wahoo! - /obj/item/clothing/under/rank/security/corrections_officer/skirt = 2, - /obj/item/clothing/under/rank/security/corrections_officer/sweater = 2, - /obj/item/clothing/under/rank/security/corrections_officer/sweater/skirt = 2, - /obj/item/clothing/suit/toggle/jacket/corrections_officer = 2, - /obj/item/clothing/under/rank/prisoner/classic = 6, //To be given to Prisoners. - /obj/item/clothing/head/playbunnyears/prisoner = 6, - /obj/item/clothing/under/rank/security/prisoner_bunnysuit = 6, - /obj/item/clothing/neck/tie/bunnytie/prisoner = 6, - ), - ), - ) - premium = list( - /obj/item/clothing/under/rank/security/officer/formal = 6, - /obj/item/clothing/suit/jacket/officer/blue = 6, - /obj/item/clothing/head/beret/sec/navyofficer = 6, - /obj/item/clothing/suit/jacket/officer/tan = 6, - /obj/item/clothing/accessory/badge/holo = 10, //I know there's a box of them but, why not have more, eh? - /obj/item/clothing/accessory/badge/holo/cord = 10, - /obj/item/clothing/head/helmet/blueshirt = 3, - /obj/item/clothing/suit/armor/vest/blueshirt = 3, - /obj/item/riding_saddle/leather/peacekeeper = 3, - ) - -//CONTRABAND: Basically for less serious/hard to cat stuff like the Cowboy and Bluecoat stuff. And for stuff that shouldn't be easy to get like HUD varients. - - - contraband = list( - /obj/item/clothing/under/colonial/nri_police = 3, - /obj/item/clothing/suit/british_officer = 3, - /obj/item/clothing/head/cowboy/skyrat/cattleman/sec = 3, - /obj/item/clothing/head/cowboy/skyrat/cattleman/wide/sec = 3, - /obj/item/clothing/head/fedora/det_hat/cybergoggles = 3, - /obj/item/clothing/head/helmet/metrocophelmet = 6, - /obj/item/clothing/suit/armor/vest/alt/sec/metrocop = 6, - /obj/item/clothing/gloves/color/black/security/metrocop = 6, - /obj/item/clothing/under/rank/security/metrocop = 6, - /obj/item/clothing/shoes/jackboots/combine = 6, - /obj/item/clothing/glasses/hud/eyepatch/sec = 3, //No flash protection on the eyepatches, so they're worse than the sunnies. - /obj/item/clothing/glasses/hud/eyepatch/sec/blindfold = 3, //Ditto - /obj/item/clothing/glasses/hud/ar/aviator/security = 3, //Printable, but you have to choose between HUD and flash protection. - /obj/item/clothing/glasses/hud/ar/projector/security = 3, - /obj/item/clothing/mask/gas/half_mask = 3, - /obj/item/clothing/head/hats/caphat/parade/fedcap/sec = 3, - /obj/item/clothing/suit/fedcoat/modern/sec = 3, - /obj/item/clothing/head/soft/veteran = 1, - /obj/item/clothing/head/helmet/toggleable/justice = 1, //More than one of these in the Vendor and they'll get annoying fast. Hence why Justice2 isn't here. - /obj/item/clothing/head/bandana/snake/sec = 1, //There's only room for one Boss, and one Snake. - /obj/item/clothing/under/rank/security/snake = 1, - /obj/item/clothing/gloves/color/black/security/snake = 1, - /obj/item/clothing/shoes/jackboots/snake = 1, - ) - - payment_department = ACCOUNT_SEC - - -/obj/item/vending_refill/wardrobe/sec_wardrobe - machine_name = "MultiSec Outfitting Station" diff --git a/modular_zubbers/code/modules/vending/secdrobe.dm b/modular_zubbers/code/modules/vending/secdrobe.dm new file mode 100644 index 00000000000..88dc2bf4dbc --- /dev/null +++ b/modular_zubbers/code/modules/vending/secdrobe.dm @@ -0,0 +1,88 @@ +/obj/machinery/vending/wardrobe/sec_wardrobe + products = list() // Overriding this to the default to prevent any issues when building the product menu + product_categories = list( + list( + "name" = "Red", + "icon" = "shield", + "products" = list( + /obj/item/clothing/under/rank/security/officer/viro = 6, + /obj/item/clothing/under/rank/security/officer/viro/skirt = 6, + /obj/item/clothing/under/rank/security/officer/viro/jumpsuit = 6, + /obj/item/clothing/under/rank/security/officer/formal = 6, + /obj/item/clothing/under/rank/security/officer/formal/skirt = 6, + /obj/item/clothing/under/rank/security/officer/viro/lowcut = 6, + /obj/item/clothing/under/rank/security/officer/viro/bodysuit = 6, + /obj/item/clothing/suit/armor/vest/alt/sec/viro = 6, + /obj/item/clothing/suit/armor/vest/alt/sec/viro/heavyvest = 6, + /obj/item/clothing/suit/armor/vest/alt/sec/viro/leatherjacket = 6, + /obj/item/clothing/suit/armor/vest/alt/sec/viro/softshell = 6, + /obj/item/clothing/head/helmet/sec = 6, + /obj/item/clothing/head/beret/sec/viro = 6, + /obj/item/clothing/head/soft/sec = 6, + /obj/item/clothing/head/security_beanie = 6, + /obj/item/clothing/mask/bandana/sec = 6, + /obj/item/clothing/gloves/color/black = 6, + /obj/item/clothing/gloves/color/black/security = 6, + /obj/item/storage/backpack/security/ = 6, + /obj/item/storage/backpack/satchel/sec = 6, + /obj/item/storage/backpack/duffelbag/sec = 6, + /obj/item/storage/backpack/messenger/sec = 6, + /obj/item/clothing/shoes/jackboots = 6, + /obj/item/clothing/shoes/jackboots/sec = 6, + + ), + ), + list( + "name" = "Medic", + "icon" = "notes-medical", + "products" = list( + /obj/item/clothing/suit/toggle/labcoat/skyrat/security_medic = 3, + /obj/item/clothing/suit/hazardvest/security_medic = 3, + /obj/item/clothing/head/helmet/sec/security_medic = 3, + /obj/item/clothing/head/beret/sec/security_medic = 3, + /obj/item/clothing/head/playbunnyears/brig_phys = 3, + /obj/item/clothing/under/rank/security/brig_phys_bunnysuit = 3, + /obj/item/clothing/suit/toggle/labcoat/skyrat/security_medic/doctor_tailcoat = 3, + /obj/item/clothing/neck/tie/bunnytie/brig_phys = 3, + /obj/item/clothing/under/rank/medical/scrubs/skyrat/red/sec = 3, + /obj/item/clothing/under/rank/security/security_medic/alternate = 3, + /obj/item/clothing/under/rank/security/security_medic = 3, + /obj/item/clothing/under/rank/security/security_medic/skirt = 3, + ) + ), + list( + "name" = "Corrections", + "icon" = "handcuffs", + "products" = list( + /obj/item/clothing/under/rank/security/corrections_officer = 2, //If, or more likely when the Brig Officers abandon them, you can now get 'em here! Yay! Wahoo! + /obj/item/clothing/under/rank/security/corrections_officer/skirt = 2, + /obj/item/clothing/under/rank/security/corrections_officer/sweater = 2, + /obj/item/clothing/under/rank/security/corrections_officer/sweater/skirt = 2, + /obj/item/clothing/suit/toggle/jacket/corrections_officer = 2, + /obj/item/clothing/under/rank/prisoner/classic = 6, //To be given to Prisoners. + /obj/item/clothing/head/playbunnyears/prisoner = 6, + /obj/item/clothing/under/rank/security/prisoner_bunnysuit = 6, + /obj/item/clothing/neck/tie/bunnytie/prisoner = 6, + ), + ), + ) + premium = list( + /obj/item/clothing/accessory/badge/holo = 10, //I know there's a box of them but, why not have more, eh? + /obj/item/clothing/accessory/badge/holo/cord = 10, + /obj/item/riding_saddle/leather/peacekeeper = 3, + ) + +//CONTRABAND: Basically for less serious/hard to cat stuff like the Cowboy and Bluecoat stuff. And for stuff that shouldn't be easy to get like HUD varients. + + + contraband = list( + /obj/item/clothing/mask/gas/half_mask = 3, + /obj/item/clothing/head/soft/veteran = 1, + /obj/item/clothing/head/helmet/toggleable/justice = 1, //More than one of these in the Vendor and they'll get annoying fast. Hence why Justice2 isn't here. + ) + + payment_department = ACCOUNT_SEC + + +/obj/item/vending_refill/wardrobe/sec_wardrobe + machine_name = "SecDrobe Outfitting Station" diff --git a/modular_zubbers/icons/mob/clothing/back/backpack.dmi b/modular_zubbers/icons/mob/clothing/back/backpack.dmi index a25bd4750e6dd47d5d9a485cfb7ce0a4abacf0cc..4545d3cf9c30535a2576336ecd6d4a71e42352d1 100644 GIT binary patch literal 2728 zcmV;Z3Rm@sP) GBh+oaz!c)3>oFdhd+72R8(O?CL=~MDxYsXlz&!DF)lJ4 z8Zfoyii)1X!N~y3|4Bz&N5B6XiLJuI$%%`dDI^~sASN?4Iua2UMp0k}Yk-I(Dq