From a0501ae5a79a5a8548d19852a2a2e8eacc091e76 Mon Sep 17 00:00:00 2001 From: MrSnapwalk Date: Fri, 27 Feb 2015 19:04:20 -0600 Subject: [PATCH 01/14] Updates /obj/item/clothing/under/fluff/parkereliza with better sprites. --- icons/mob/collar.dmi | Bin 606 -> 777 bytes icons/mob/suit.dmi | Bin 289685 -> 289264 bytes icons/obj/custom_items.dmi | Bin 63815 -> 63779 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/collar.dmi b/icons/mob/collar.dmi index ff6be009b7533d711236c3de338438f0bedf2613..b603e5bf299525235b24c892eb0e817b704f8132 100644 GIT binary patch delta 595 zcmV-Z0<8Vs1c?TaBuhe2OjJd{z`#*gIhCGiZ+1>uSy|ZF*oQDQY;0`I%*=HvEn_1l zySuxSlaq~&jf8}Rz`(!&Ww0&U|4bVl6`cQXZ*RcBz_(E9(2-!Ef8|L;K~!jg?U(D0 zgCG!vs}9O)E3NhYpLM6K0sW<`-!i|Hjv~uw7~l+U9T# z^sa5Oc-waL0?yqVJ+mR^zZA4+J4*kN^&;pBsFC$`iH@wl%cqaLNuw>Q-x0$w48t%C z!~7-bjQ?hF9q>ODf4@)TJs|Nxp8n&o=lh5TLiGD2=!FOjP&b2!o@5ZcGzPL4Lqs=& zh@Px3zvMuSa`X&?adHYwV_wLniB$aw~*0L-(z7U*e% z+XTw_ohz8U9h~cF0LDXs(fcQ*^c3^`u}G(YTpst?)s^yef2CYK!{7^0P2yN>~Cyjv=2iD9--Y;281=Dzd+wdkFcYL233kcufFh;P(b4 z2741gxInZw$j3GTCkA0}P~xyP0n{05sUrJ32D%BLUo>_}k=~%hK?i&K0JK<<{S902 hr*{zV4H)Lbd;?v97S2oPnA89O002ovPDHLkV1i(P9wh(( delta 423 zcmV;Y0a*Tt2HpgaBs?=vOjJd{z`#*gIhCGiZ+1>uSy{}?%#)Lojg5_LY;4%r*Z^g) zE!zKtgoG8G|GT@ptgNiSz`&Ilp~#VMpnpk8L_t(&f$f*wmV+P+gbOA_Y)aq%ZHx40 zMNLt5ulCG$qnrsD(3{ES0>B^Q-1=p$7vc5jG4QT>ZuG(X+}!)YKEQW(S9UsM|Ey#S zKUn%xE{Cu?WXVqbi-!n<%II&lb8T)>C>DN~=$>`T{K-0000004%UW zeP7*XA4d)cc2eNI@PEi4PXX<^JYX918gQNh+I4v}*bV<}gPd3;wCjTOM%y~$n{78xIzq3Jjrt RbBF){002ovPDHLkV1j^8%4Prn diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index a3620a4429e4f2532f4f59cf9f4a8777fc2b0587..e8f9800334c5f7772229b9282292c2e40334dcce 100644 GIT binary patch delta 17404 zcmajG1zZ(f)INF$#Ud1uE>RJb5(T7=N-EOQ4bt7sASfv!N_Ps<-6h&Ewf0)ide)k#vFkg-*FWEZW5RIKJ7u`jombAT zM5WrRAfyC^hy2rMsvu*YGJx3q1xr9%5==n_lrhm&`=(*|RIsW_Ut&Og= z6zv?lr&ul8}*b= zE6m57L6eax_CTKRCEMhY!fAj4T|v3HMQ@_Y^0<5^N9aKSir_(pq37GHf4=_q6}92T#Y?CB#9w?L;945A_k}H`{U?wJYjYH z!{;J-AIpcKo069vl2=~uet)z5dGgC_ADOySVL2=BvR%S2o-dQHUNQ~&kc$|8gtz2) zolIrO?%}-;>@n!KWAg8)U6`DJ5jWI#Lm{X*Y`|x<$&&0^Bc$T4vFjx@zZku441dycFO!d8>SyIsq)bD(s@1|9`mux&8XHHw zq3~O`Tx_BSAJed!bX;GDak|H?3gj`dKIo0Vjc^nT5fXhN#vRHPFIiX>{ZwM%GiO}4 z67qT8dOT&)21LZ#(Q{o%w9hX)_z|X`?d&Ws6K&UYdRFBoEsbAi9wYJXG4CGVNxjF_;Ohm6lo2sVz1`zn8sxe*(?F6* z-eKa;HiW&TnYpEU%`)v0O?9Lex-QZlxzh6Z^@-Ksqjcp@SR)1g$Q$O;g7NVo_ENRw`Pc2n{A4m{fW!rki`_Horo+cXJ^v`aN4M0vrI@Ac)q4cs9KHM1J;jk>* zjN{A#VR5N~#oB-~WW zew?%UtJ-J3Z=Vj|IQU;aT-e2DK?ZYj6MQ+rXQ8kbUV3=3-aBs`dmy(a&1$9ShMyGf zV?b8XMF%}ULfn2f&P&lzTw48;=$TtsJju?>ihvd+J*~$irYA8s^5G9}tJPT2<)4YZ z^2%*uDk?`$~SH%cQ8JJN{O_#J~udd8W!+cBwyKS9`#KN zrjGhm?f59nC?5G1wQMGP?_`UvHc5L>-7~C%TPSr0EYnIQ?-JN#c>Jv~F0TeP+PU#c zPt|(^&X>tzS+9-aqz>|yLL}PZarEon#Qv1rL-ZTXy2<8D#QcPZttOa?g%K|z%<6(u z6VeglY?bchqB}~INi!2xe*Jh<1DgGQ~GV?bWgEWevpMJ&gX_Oa5e%srcu?Ye#> z+&QJudm2q}k>_V8EOWOA24jM~6o3B4EpgMI>|!94}J)$$Sx9^-GR1u6%ohS z6TPp*@2yJj(!O}{k(vJnbDQ0F9^We}PqQr83Yb)iZT#m4Y|rb;8Z9q-&aAKYyRI&dX$cC7iAhb_4rT z6Qdw{GD`q!E~uKZ(Cp2S3ZLhKc9ZZ%dq`I2S_9AOuLNwONf|^#x>*t-oSH=7NT};a z+i)0Z0lNkG0oZhYYP0eZ?o5k;(tAm4^bwl!9 z-`A?=Sz&EqwPc5f$P*5ssZXg`WN=@M8(ks6Lz_o}z8;4C9@TO=59ch}Iy$IptKek& z$EH!}L(lMbhSeXruX-T)(AN2oE7qhZU&;mQ4^e!P#&25`Rm{gnSPu@1bnRd0_mplBoVhbKpf?%(Ln{rgUE#M=lbgLy6W%^)WS4%Vw3lkxBpiBNiPg1)Hr{(_fyQte?~k{4|Uo-*M>Tt-ii5i?M|;5G7l z6#75!epM{pmuYkP({5dL-%NP@LVdHINyFRDQ__5BisK3vof{%ig}X_iHjjs>(3F=$IeQ4x5Nvs)XCX2VX_6>R&zcM!MtMT>Q^Y?{@zQCzK0E( zmcyqrDh&kg{dhVTAeJvP)R=c38wFJXA`^xtCiiR_4pq1I5+${K3@ZegR}R{KkXu{( z!10(^UFo7L8typrp8%DqU@#M9rbfT3?R^3zI`5DiQ}Np*77@@4FlabSVCUpG;|yM4 zDZ_-4nl|42;rzN!Vx{*r$Uzr5B9!BLmb|1dN(RDKjY3M)+{ zAdP0{s0f^UI`LuEK+&$E%Df8fcM>;W$ZQ$V0UMY&h4^T&M9uGrWGMQ7aTYX+aE@+g zyUCfXIIcrIDn%znv?@FldLJm0zv`USp5}~3Pa9{Ic4d^5JU^?~Q)B$F@|H67z>HP9 ze!j^DdXtUq&}M5QifyXcr(A*E@9unYbm9B`{M@!rAy;mys@y*Fdjo93dKJ0xm(WIy0YO*>($^az8Gs_Qs#~6um=? z$3%rEscIvd#${`U0CuvU$F6<(n8s)6vbQ&+=(*HgWU#OtUSfI7VD%f#1Fnl7y{K`B zhcxx6KCs!s5RComiqUI5{eb&?gzG2l7~#X1I^X>r$|@>?acAUg(3-CB?Dt(yQR8L0 zovYS(XQPTFDh_Bf06t$?@bWiipw0X;phwZYO=uXEw}6MXjJpcUdh z-RRhONBGEs}(<6DN`FM^kd$0jZ4HOwc4uao*rqqp>JzG*g}`6*S)($DMISLV3D%a>U2(*@dy+Y3xS=?auX3lwTyK+C?RNhT^N{ zO#1W?R;V0a#+mfT)j?R}5XU> z!+K8DimJ6Q_`24Katge?pN7hlS;@Hkpn@Ohi#y?!fDT)JldnQ z-5kmc-i+NJ3FJIr4XxAC5P4l{ezq>3^d^d$ip!=V;~(DY7%qbZlYpDchap@G$IL|jJ9EQ6s?4(d;o;vfLi=CyzLQ#E~xu8)&c_c{Dcbf`bF7Q_G zbBL)cour0jG@>t?Nigk$N|alw8QmwkJc-j{sy8VX2@iXa9l0ntkkaiVEL2}ccQv%$ z%`}hLajv}s66(h2vesdLq(6Gh@Ie(aP^2E+y8qaiY_^12E0VRcPl>YcVQVctcI&H# znp*ZT5U6#X%k~-`Ok%en+_iEN(P3gmy>p#nWd!!Vy31bx=g(bbU%A(p?I17dzTF9_ zMyu85FyshaOIWuIUGPZI}FudBDoLkAJ;gZ6kJ)8*=yQ^|sme$r$IxYhiR+0Q0nedAKL%9FG3Cu4D zZ21yXWjc>Zz*r;CO*?HOeefH$))}BSIb*A+_xdUBOk#KtG4pOiQ?rC?Fc=CrxvDrZ z?rTh0EjvM=tF994%3Hc)Y8+*b9+CMa$7LCPS>ivg4{E6)YkfNghZme<#qZpIKOGB-Dfu@x7qSLP9)nh z#eaX9ol0C>{N~fF<4C)U@1YM8>^NhbZboJ}Z8***?B~(=TqjM^$Fps;!Y{DjDrwzC z77R)=^6O5jkVRuW!}iJo81kiio*Nqxuy1VG;gT5HqYj;OtgK)#bbgwYruW=BMNFPC zwZ{FfU(bOTySY}_W5VZ6+x4iFNlxKD!9TM6aS9Q8M|IeB^M^TYwJFEcUo&trDL=sb ztnh?@$f##${3FNu{zmQ2ybfywor(8B%uwa)KXF>Y=Mn~+06|RCW5VaqipzER+y87d zd#X<8mlVg_z?&N`okp0o>gPh76;YMO&Ogil4hjlLq@ahCC?Be)is&}^G<>I@JwFZ& z4Xx;ysuDgO`_pWq*bFTx{o(Q_AT(_PcP^ z@2C^%&ezk{zLq`weL5sGRJMTe1cj$Rm@eU#IsbCa`qGmVSZvI@L6qZP%LoecTNO%C z^Kytl%JT{~pSA>^oVab795IRCHx#*6q3Lmo?kFu=ucI z`#nlCTU#k-XXp1?CdupTkVRAf1F#e{$PADC)mP>wS-y5cE4{6FFdG)g9$AF%8wE18mkzXUhgKW|6O%6YlmR6tgh36GMlq6@D9&mzO79cN#+=W~B;{Unc{a1d)((yC9{wR*yQ7d6; z6kp+bBUMzi@-aWPi#n~6`fN;n?Eg(!Hr0wQNW!&ubE-7eZtthk%th03tbE6RA|gU>Zf+hF9Q>|h z;km3Vac*9o?Am+X`b{Nk?}T0Vv(_Fy9>{Wq^h7WXc?QiKmv?M8949ZyybJTvF{yiB1 z4+MF-Uxr<1FSBi1=tgd0Ha~@1Nsh%=lq+Bkz2Oqr$nKJ&1M;R%eOl{H-wjdw-MX#O zXWiHI7|Wt><-&G0&U|Q&p7e8h62mePL~^dahe>*{=Nqlp43jpV@FS!*-f!&N+T`rg znw>2A@sB9}GLP@D-PLOl16EyEG zbd-3Xxop+U&l}#kbLT{t^}8snTAMR6G7`4q>`Q**M){|my6wiRi(NT1RzR86e`+^i zu*=Zp%d4B4;>N~z*&jTZbEwHgAXadH>b4DM8X5CwmoZhh8;LYDG-7#-0`Bhf^Ljq_ zBI@bVb86gl5rXM2dK;B*L0yq-oqc^j!6lhnmnjeNQVR?FY)>6MJOqLLWHiXB5?LW~ z6vs=9h+wHXIno;^c+bquzkmF~?2S1bgJK^UUx6`ka*}`vE-fwP0B7mpQ5zY5ik6X) z;n{2Cu>eS0!izK{B;;X2Q{2SWc_DpO>^mj?d-nqiPb7OW5T&Ne4&F{dpcH%Zn_e0( zm~XZNg9?L&xlQjg$t7eFUJzFXmztF6sji@_3F!=Kme{Mli56zJz0J@bMGgfR{OMtU z4N@ghTc0pJ(+4JUxHW5QWrfgXDQnDmg7Ldo@M*wt)!qte(fY@Beqi3?4QBP|hPhry zo^Em)Y*p6jj=qCO;2!3I2Rb=LsElZR^q!Z?wSX$-k+lt9K7Irf)V1W6hZtMC;c3wR z_~eZ#UA#Od+bVN%l%#;z6w;@7K9=`V5HotSRgi4*Lg&Riq9&x@-_SdFEjIV%PAE#oezPcU!dX3&H{9uU0pA9b(4{g zV!A(U6xNaK^PLDTNsf&qRLym)JCErEA`ox3c!lUlfZ5H>w)p#$;eEUj3x{oy>R?=( zLr?_V9G=WOLQF!q=9a+CO{>W0=-X^;mt|#THCOs=s*L8_f&*OfxpZB=3%c*U<$x6B zsd!C3j#mEq3bD#;ybmGKb#dW?nLU}d;s5qJF5S5+tT2xs=zcwtO&Kl93+su0auwua z5e|=Po6&eoY-}&jCJ+e1=6F;>Tm#v<5EC!XE?@M7N!*Z$>5D(9-*r@qJr|1nZW#i= z>j5`J=+6w@`m&LL`3e5pgL6|0pI4=y?QYUuKZ%D}Uzt!l@C_&&;^{lcg}4wf6*Mw^ zs&EI`9`aF;fQwp(`9?a(w!kGL455`Y&o{jbt+$$` zY#YN*&CK9bcN1~ih?q5C8hzo z_4vVydpsxH?3^S({g)>AGFJDuN%NMPTzd6ndv$Yw6-+*XqLOjvYV3>SC90^XcmflPu!aT=lJxDHzH3?! z*tY1uKqA^XenvljtGTHxYdbc1bJwuC04a4V$(c4@NDzG#5V}v=8S9|5O67=w9Hoeo^^W2XeiN)gO+=;pt~J{CA3PXl*f@S4DuyS% zQkI|JvqKW+rsu7L@mADYzUkEP=@W_7@9OKoNup4wp^Xn;K@|2rJ2F`K8CJa<&noiscg#M z)E_}SwDX-2EJ_<6SWFB%`%h6dgZ# zehev0zxM%j>^TiUkid$@rMdNfSqOJGz#FBbzrs&-wB*XekBL!QCz=HJIGO5}DNljd zd-MFkOlQF4ib&&zB(rA=)O3FcZRmZ-%{}QQ2%ihA;ySV%2KQ^Ogs`1E4gDU5_uh~1 zGp<*Au^heV*VN1rlx&-Q8&26vPcJaBu(f~4>RE5+>~2@uakV3e%G?ubA;=P37(hC{ zrFw2+s?7BUTg0VDY=8F(^IeXs;3GXk^1-65$sdz365+LEACIb4r}f|!OG``QiK_+h zKYE)>e?rHFNS;mV+BKljUQI?ey;L6u#-!!tV>EfSv1z4aaN8`j*mO*9ey!nlnfmtW zS4{9bB9UD$9i1d*&ooE^15|6x<*L^e2c=S8V{% zB@%N6T^rw*Q5Is~kvEdJ%zn9w2P2Z({H)Ye#0TLu?(21mZoVk`R>JTk>`+tI6fKQj zekX;OQ`>L3x&3>Y1UWOqaU8=2Bse)^!n4Zc6VmWw-dS?%va7TE?E0R5H^w+*RXgCe zV9LC6A!j)AA;Czc%Pgxa`u?iLHIr+X-sc?xoEnnydzXc61%3(Sz6_{oa-X8>;RUfx zP+SesjSAysJtd`i*Wgx#K*J!B0a&radf6)tjku!|?cfF^)Z?u^xP3^{K4&)@UK38M z36G4Ar%C+IVd5Y_m-GFyw@tJo1v^fm&D9T;Aa8>8JpLo$?q1^(+*(^(oBAnroPZcc z5x%Ji5&`0bc+R6-$QilP6-VM+JhcU#tT*-(7ch1Ole6A-7?%)msiS9=OZ>byleS0t z0VVaR2OSKAUAQ;njQbGUs6uFaXrX^mVR-a{KA~Yo?ZCtneAvLm(yquKdi!~B8gl+JwIMNw%?I4Tan~0^O`GJ`#~IECBl8}7lsQvMHz?KMd%Vd-PN}ZvbZ~4)y!Ux60T0?`E9SQe8)f4! z^+{a~jW(F?Vffhh@#jx9m5-~k9~!EL`7hb$9#w3t%D3|MYB|B&YJs2HXB8asqpK%)sX2M?>L;zvu$GJ z864MZ$*%wBjaNw{Jqu*$H|0NeEdih0LL^|SyHL+23q4ke9Vs_YerKU2l(~%iooR}m zd4T8%R0waM*>iNRRC~mo>%&wMsG~JNjOMD$OW?EqqR9Eso~;x3+*#AA*h+m!Ey=~>+zbX!^hrgtB0Vf-~7wP^a z&$_Avlu@Wd(9j3^P8o~mx;FPGTvzGpJ)Lm_Gt4uk6SDF}PdvI`R@AlddTF}ry)UiI<#9>mXk+@e&MnJGTissqwa=YXD@xde2V z(|vq=8riJvYqTfraS^AR@5*RzpU)LVux!k=+C&gh?7FRMP3r3C$b0l>+R}sefPPl` z#$m@NddpW@zip~qNPMNekD4clC3{_{f?B@7^>vT@utLwAL^m8Swi)qO-cMufS7Ln) zu{VE|xtH;FB_?R=_r~#LQ;)~5&(}K@4$q4poVA$joRiv%hs0shFB!rTOU&Kem&7JF z!g3kS)-&-R25BxG&p68W1~un3wot~cyeHfCUV3j(y>+YIl}&+bCq^T$g0Fx~@ax0> zYN*>fBMF+M2 zKY6O>ad@|T88`d2DZJBIpuKj$1il)bV9=NNRK3YZ#H1(IKyzhy$-z7c31E7`u<0@d z89qJShmJGm>eLe%N9?c=JM8BY{5;R8~gW<_a+>fy}Ddxck=Y zM1jF_yi4A!w&&2z2tz^EbFVLW&|u(c_-RH)M(cJxtqJ+WRdQCj$5|Zz4fkF3`c}@d zf#muGaP)U1s^vC%8<$TAYZBQiNovITw(Y+oAd(!=8@!Fs^%=a#4jY7e0aseHDSV&RCh}{D{dK?htw)qITLTtr&JtE@Pmd7)lVtqUk2H~L6(nmLM z-MY=iMGCNL4Bw$habxS;j?Ui6%|TS8jvnIH@Xq1zbZ-vhILUJ)!^D<)`37D^aj}9B zkMXRLhV$Vekrvj(gb_fu-)P5Vb_LVk_zx^n(5KYeTFttfbI}}HnX=xb`HXHTng4D$ z^MAWxr+e-*S$TQD-92Gvn8+X$jaE_9gNm1IO^)7K{ zl|c=_Su+S8u5V8^5W)P`2^y)dltSxQhL`+vA?(R*GpkdyOvc_avhMF%@?v`Dk>{!Ccf>z zGBPp}x7?2x`g@s^DAmBVAVBM+0^*Kq#(BsV1vqqZOUnm-L{%W!@yK;ojAf1B=Z0k8g-H!2`_erA~PAtn~ z4CWKB6}|q?Hi!~8*HY!5h04p#4PuxW2^f6j~l_A+3tVc^Oi5E$~xRxGE5 z2&N8hX1?M3??kRos}$!D)<3tu({W)1*TMaS0G z*0}q=-C7w_+h$-AKdF?br|0<5zuz9wgqQSwFS%Op{)5W16dWE5R99r-q~abP9tznI z)SoP()K73u#&_w#J>_L(WC&)@e$P$5_*Ycf#BLYcMC_XsDs7RUMn_e*OqOT;bGQW2 zr;du7ziX5|FiAqLrz3=3yi7d|zRZ80PcS8MM1}j}SHKD8JzFgFi>T#ksn=i(-G2ki z(RJX?G12QMjyk25`DqCSj@{Jt;+d(z_CDvCN4@!4vY&1;1oIxm=4pkcmt%@CpmB09HnJNFW#JLi=c$~;590IS{I z-N_hPX}!ekpB)_uN^n+IB9PIUS=bzDk-oG3@=`AkTtA8U{Sjmni;IiWMZJLKh9m>% zUA;QOZ79=)cIC|=zD6WqQJ4Bz*=KWRihH6vqq1dCL9 zT^%iXa#C)Hma8kjc-ja*69af(IY(c+VnKY>cGRsEcGyGa={V0kXcgqBC} z^G<$g6p*LL@B)VjKmmAhjb2QU-q>iJHxEtYT1b7G(HzlmSkMFs=h#aDy4I}GA#wsHYU-B$4_Y>lc}|K=pvk~4 z+hg4fNvXO_=abg!hv^wQIYrweBy}gfRjT)0XDz;4&uv4Nwz#^nDD&g8qF;vCTiq#B zpnrhtY~Nf-V(o>p z*6rVaG{3XhF@#G^4SWFP05c>i%D~3PW+y;5WU=uyN$$?wyUb6YQfFmlt*)={dHVEY zgd#(+&ZP*sPTqcDeja=h)bw=;&Mdnia1!w|JLu zT@Q+8&ycvr^3xysoqF7kJIrr%%7~r;A7pn@Y&#uJyW;uKM7lHb%MIwms#%Plcf*rm z(KkI*WWk7STuUuRYv~x5?9i-C+Lq~y+So(Z99@0e7XinoSwmj{3jK}6gT=tcspGcb zz;tSAYGA$vQx@Eg9`Q$B%F18MCr!I>p(8>7_bY398z?M>cUt2lSKxO@T8i;`MzXTA zS++qd1Tb_?&t;@wa?>uWYv=b*YoV_L2GGh7N5)|l%qjC${E%i z62teh;5>esxM1fMh+;PGXcvC<>0gWaC3q*jX&c}?NC5F%zDJlWMTE~K^5c+?II$ux z;w7tC#i2HFG!p0Ud{))7jYF<5-)lcs*2f->D|2R8xJ7iOOo1BlZ|uHJ<0Yi3H(+e{ ziG26=9PY5Pis4SaZV@YOXkoUST1qhlKbQOQg7(F&tRBLU(y1K_yPk4Q5AWTRwD3MF zwjF>F(LpmaHn3-6c?4ko#iVCHx1A*|t*owTs@9(h<&JGgfHls}&Yp=N&Pq?m&&~a@ zahUFQ=<3H;tza#pX4p_!RkaWy#n4i0&|1FI15)>BVT|A{xEJ{ia`M4}^{IWbHFQz+ z{1rB5v0!m*#3*uKrc;nqBB$ko{f(}1Xk3xml%><*#4ctuxtZKAy;mxN>Bh zg~U1jY4mNvUEevwtt=f{>I9etsm(nMBf_Rf|h&Y)SJ?7!agS^3g5?KHPg^Z+P+cR8bB=ORPL^~R9!7#-KJRnoa>EN7&q0PUWEk(or{pJ+uVif zX`4GjTk5q=Y{Cr7T%BF;-*Y6`?j?q+_m9vUmKXavKQklp{Z3DHw`zdTW#c7%Q6Z)$ zQ~q3@F5Lh)C2W2rh8Kc*AY>p26lHrvzP$YW}2#Vx7c$YXqWrZ7#`5l3XwcZlsbYJ%alx53E0mQ($LV9PXXFy_RymQ z_fALY_-F725*RGe^g(~O-D=vSyAWbm!jKTLaoEL9FOInK>ZJy04{{P! z6nB*NCBi^TC5qPbh;GbAMaAar+wm-C>;(*y^sFqd{#w7RX7*c?BX0**Ubz?U_u}F* zc7JC&|Hcyk-1_Iq7=ys``Jz&aP!FuT{lX2HX+G{H$7SMYOHG{bp`(KX{kEX%lV*#_ zXRgxIm##+N`VJeIo+d6DyPD9uJjURC)(IMECfk-cB#88Sf(A%mcdny}D)C^S7!H%H zUeN_y9~XUe3&_Fc&#z}n!6QTSd5KTb2`=9ZFw@9A-2i%;5iDJ4y14hh@I^hS1(}RhtPyLZD z#qm|HMyhRX+&4q7uNQ6pO!4O!>v?C16l!X7X6XRc{>50Um@^NX9K<<}_-%^CK>vTA zL7^6}-?#JEujf8KqVe$wiq-Y%mY>z}Oa{i-wRQ9PpeOt+a5&@Br%#70g_7i&`Z*@S z!p<7I=zDT2;kKL%C`Fe zoKZb>xKmqK$1^waJ-6D~)zxURGlF|V26i&)4-ioJUwe%E2Sfd9oZx_{PZWno?`ID( z?0in$LRd3vm9=W2`@Y8$5N^)_QO^B+Io9)812iq+;PB{Z8yQZ3+snd-ouiNoP)e6| z_mZ)34&LXB`bMg^Ky}rMj~37vu5fO%A?J8bBd)b2dPpqLY!1IFhAwDCwc~n;hcifDxhH zuX?)pb<-rU)wQ(YElB?9>~|tVB{?o5EZg`$ zSfXSU38nq%ejK}B)pbM)t0rvj8z$}T`Tu|u&_8&>v3YxH+aPo>LyCwaPgA?l$;m0T zv5|o@#G6wg*$OL{HMLN2Lv{IeM z5?NxSC$LaTVC+qO?Dl?a6DLk&=}~S##};I_1VjbjUJl){rs%9gr3WpN!a%hhXgUD9 z%Q^+o`ste9(ZJ!3Jz?o3B|K&tyX)IIxfA&4ko3 z>b2LXri9N-SvL10dh}8%n$b`}3C7geI4vy=kD8j=%*?DAv-?h|W^z7Ryl-2`otf5(IFa-X*&;x56 z9Gai%VZ@ul^#@{+&~Ge8!}+Y^ZjAV2TpX{dAtpcx_RPUy4@x~b<1#p!NP1s}4AlSl z7c1z{!}P(df<7?}tljB*sjZz@*`e_lEr6T?^KIrTSS~hIT0)$!Z>gx1Sd6d>Y`WC% z{J08Aq|z>vB~EJqO)})<*2hT!FGW1E^IM==N|Ij-McLthnjr2mU@6JKtu#%bKG-m3%ckd2abayo&EgvB4IaNZtfhQbAR&gixnp}N)L28-j zDS#Sg*486OZl1yn)^U&(z`-ytW$fW$J2T$AJ9TUm={~$S1hoOE=jVz&bvOC;k2}u4 z)D-)!JFaOr7UBjE(c1@2Ra%4To<9T(soxerOj~R{Rk{BN=R^98PQZ?7arbUWIum#t z1U!OWNJ!}I$^XEE?OFdiimIuw)m1ZVC{hM}<9sD(YtsP;LLyqN)y1#$7jN9XWYP+N#K6En>a<*<0AA5pD28)-VhLz`2lx$7cIKY<|HAHFo|nmS-CKOQCEDb>$Nj$m zL5uc(#((UCnhD7MW2Ff0ZpSnKcaUxOUqfS1<^qf`ru#ABvs>vb)3ARimeNlV$6>)v z2-n`FT zJLN*s1~O9BlId@(*83cVOXUBS2Pg9@y~ z58a_Em{I@$a);LaL~JJLlQ>!E!C+<>64kPOiA*m9>We50(C4t@S|;{)QVCVJGrkz8L=s14)k z%7vH&iSFG7`g1@jpAa1gAH@w7{bbyLzRM*Iy)D6B84~6ISDHty8aTY&eI2Z3teH3=R+P0EP9z>FKb`{cI^M-MR5k%I%L#pPwg1!CI=0LOr!eP12CgXsPwgQMr4q+{9E21`xt0%!?Em8GBO za-Xj>?YG}@FI(M6P?Sffk;2ZAILx<|hwk`~Zq63!$wD~pe4_2TePCK|goF|*_?A{y z06chQ`E~I8odzg{kAu|Nxd7(nPcnZI20n3HlHpU)q3X0*S&|{A^6nzpNBgYlX-oMe zE%$-fIyySK4FJ&D@pi{M2&IJQJJQ}AUQ^J182OytwHVb0pI2d~ZwcX)HZ_B7jHl<5M!Rf3u>end06&pv zST&$EZpS8 z1YHRl2ne%BY5k~-L)-~Vv!fRxmpxpyQjiLJ^5n_?&?`5?JB-u`S^)ue*Fo`?dtd28VLx zYtc|#94^UqCOA2VP9RC{xA*aM_1T}g-PMe6!?_vI?>-BS_A9I=(qeZQ3Yh4(#C)oeBo3MUPj{t=O_-m^l6Pj zQn?@g$wh-5DjV~zo{Z>eYHXxDJZxBnHmxL0O?iKY(K0s>gT|AA^^vjTRE=<&~5a(fY;)Xi0n-Oe|xVIUFxb$?3=LAD`;c)9WdkTk)Ex&4~@*v5X*$o-V6 zIq214Sw9K>4spF(14&Z~Y-hrhC@aZdpL>PNtzpmf9pNZwRlQB)(PsezeNq1ho8mLa z$H$lK*^LhxX>UJxaFv*txU;kKnV1;Cd6VbV@H1~fg!=Qx=FOWo(%)%cW$yn)G1gU?g(Xl<&9G~_4L8hSYf_2Qgd@S$;e15 zZCQvM@IXsDbDRYtY2UOH2Cwr?>G#7CR)iY2BcNBWZbFZEr83IOYWh=3P2OEQLW}iE ze$Hxa9CMh0U#GTx)>Lp6aNNKZowEk%Cl^IG*4O=X`F+rCMw*nV1qHp^rmn880}gQ= zjCr}+u3O8!2_^b7H`_W81hB#sE#L3T*%pB5ut*AVhFgtux3#wecKPMx5r3f`UQ` z5npZ?cO`c;Yo-Z`&bK*98ey^d(YRQiJ|9e^IrlOn{nn3adzQ~pQS+|G*D^4`H{=Q+ z#NN`eLw&wX=~#j6rcvv2zNOj(qW?-yL6L=FwhB0J$C|1n2I)%zzwO0Y+K&Jz5>#4G zou4qT5c|i1|0QekW8t$x*V6_1rWbb2Sf9PciuNGgdThg z=Wk4ao;1kA)AJm7fs6xOx(VsWAO^?R?-EtW{bg$c8Q7Iy(CcwNB8!WC2e7fXwa79T z(f+YB{-Z~mIk^r-{mBcH1-V^eAFtIN@D^_fwY=lU>^~CbH&6N!H*x$+gs7Df`!C1S zgVYB)qPT^hjS1~g?PvV#dHWREhyn3cgH}k#FrpD zwGngNbBE${73IJ>{+R6y?^gs!cRy0`yqKb;cKa@x!Gr5G_=m~a0@Vx^*d*hLVR%lX z(e1NvXz(ITzysl0s>nkuRP6m0L^NwL9vlE-Jk=k>of@fjV48$>r{M|>Us>fDuXezn zEnSBeNf{Z0FDSXJi0NY^!0QlUfc|MDAnVNkq^D=iT}H3khAyzqS?b5TbbCWE5Bxsg t(#u-TkH5I~3jT8p{-PYiV@W7a0T;^uMVLaCBMt-GO9?sg!Wa5}{})QDsnq}g delta 17716 zcmaL81zc3!+crA1N{fWjqJl~YNVk+piZla)bShmNK^j2>326}N?i`SmZX^fk8isCW z&f-p6x3G7#u(O51 zToaSNzp|qjq6p|eETZ_DS7km8lQ>bkbLIV0_cbrx7vY^H$0dyKGdmHDM89_*6m-W1 zC=({T1Tef0khMhGVUEw2Hja9;?BI4s`SR~4#jPbVyBnxp8S8_Dz+StfDxu`I6Zg}s z*SYm>f9j#Bklnf|`iDA#`tsP+MlI%H!UGScM+SGR z^p#&+(KG9Hn=-x2*0U;HqUQ6b!JKS@k+r&5`}G4tDYdWHK3RMfr(sLXy}@GeRgvnW z@S^ZHd6=J>y|`;mQ?lp+L`Yob|BBH5ZqQ9i-FNp|grSL_;lD%Dx>{~@Zn~c|-~X`w z=9SSJ(X@#~Apul0A+miL2+7 z5z7sWhK3o~ujJEA1&!W*=J17GP0ZS2Jh>y-#!j%3r6!i4+Sfkqb`COb@{oL|+96%fmJ@yGEbw^zZm@-~g~b{4IC)w6t3pZ{LAYQre;%hpm`Fu` zHtk%CRa&IGD2_tDe)V#PINpnc`jlEjst+km2PIzZM?*>l)KelF{iwGU0cSnq=NWpcaPWQL(=WrxXhywglBxZ{*V4AfqC?UAis@C2y;d*bGs&4evGbcIKtfka= z({UQpDu2!oGM{1Q@Ey_IflgvOU5>A(r3G*gE44+ac?mWs;PyWZrH&Yf)34St)DK8G zF%>~Q!@KWqx$gYx^fSTYB=AYs`(lg8trTZOTV#xgP`X zsvZnEr?AISKQXpvZ5E6&9oW_jzcEEh0fClOIsr3Mo}5GvW*#q4bnD zxWB!?Bp$_6#CwGDZOtKUpIsq)U1An9T7>ts0}^nakNGh3`@>Lf8B6& zD6lAsetmstD2sl|NA%tL*~ABn(W-$wSrp zKI}yt)TE3X_m>o?raBe~6ujAMn@GxAY3Y8OQ)S=aokQuik!HC(SGFvXHzK~3^6MAN zdNd^RaWhBG$KEhE`ETF+E#{ByRzsdX%DDn0KTmZAMG|-5Nrq=elr>%Y3x>1g&xVZ8 z2;7`9nKY)g;&8tzkCz_W_c1fTByFR~ziw`vavOc!e=5OWcV*Ha<(Rk5H1zx^M#Ys+ zY%KYH1IL#kA?N(jZ+(k&_a_=lO2#P3JHKs0ZsdpSUmEsLTiwk@B&g>;7U0R^@!yZy zSuwoT{}}P?#MDmz`nfaNj8dU_e*I75M2Ro1%0DW3G*YOgPgIAEPvh;zE!h%Jo%^5T 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

_x8RDl;#UPSvSXF3Yq)*)1JJV#)`+C=f}3< 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 From 00becda446f97342c09abc943c13d2d1421cfb67 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 28 Feb 2015 14:29:30 +0100 Subject: [PATCH 02/14] Few Fixes. Fixes #8304. Fixes #8306. --- code/modules/mob/new_player/sprite_accessories.dm | 2 +- maps/exodus-5.dmm | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm index 4a9f5509ca4..240093fec91 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -678,7 +678,7 @@ taj_sideburns name = "Tajara Sideburns" - icon_state = "facial_mutton" + icon_state = "facial_sideburns" species_allowed = list("Tajara") taj_mutton diff --git a/maps/exodus-5.dmm b/maps/exodus-5.dmm index 94c371d1eb0..e026786fa42 100644 --- a/maps/exodus-5.dmm +++ b/maps/exodus-5.dmm @@ -812,7 +812,9 @@ "pF" = (/obj/machinery/door_control{id = "riso3"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/research_outpost/iso3_access) "pG" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso1) "pH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/yellow,/turf/simulated/floor,/area/research_outpost/iso3_access) +"pI" = (/obj/machinery/mineral/output,/obj/machinery/conveyor{dir = 4; id = "mining_north"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/north_outpost) "pJ" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso2) +"pK" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'MOVING PARTS'."; name = "\improper MOVING PARTS"; pixel_y = 32},/obj/machinery/conveyor_switch{id = "mining_north"; pixel_x = -5},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 1},/area/mine/explored) "pM" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso3) "pN" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore2) "pO" = (/obj/structure/transit_tube{icon_state = "E-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) @@ -945,7 +947,6 @@ "sl" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored) "sm" = (/obj/structure/disposalpipe/junction/yjunction,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored) "sn" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/mine/north_outpost) -"so" = (/obj/machinery/mineral/output,/obj/machinery/conveyor{dir = 8; id = "mining_north"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/north_outpost) "sp" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal/deliveryChute{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/north_outpost) "sq" = (/obj/machinery/mineral/input,/obj/machinery/conveyor{backwards = 2; dir = 2; forwards = 1; id = "mining_north"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/north_outpost) "sr" = (/obj/machinery/mineral/unloading_machine{icon_state = "unloader-corner"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/north_outpost) @@ -958,7 +959,6 @@ "sy" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8; initialize_directions = 0; level = 1},/turf/simulated/floor/plating,/area/mine/north_outpost) "sz" = (/obj/structure/plasticflaps/mining,/obj/machinery/conveyor{backwards = 2; dir = 2; forwards = 1; id = "mining_north"},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/north_outpost) "sA" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored) -"sB" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'MOVING PARTS'."; name = "\improper MOVING PARTS"; pixel_y = 32},/obj/machinery/conveyor_switch{id = "mining_nort"; pixel_y = 10},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 1},/area/mine/explored) "sC" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 1},/area/mine/explored) "sD" = (/turf/simulated/mineral/random/high_chance,/area/mine/explored) "sE" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) @@ -1465,9 +1465,9 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLrArAqLqLqLqLqL aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLrArAqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkadadadadadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaaaaaaaaaabkbkbkbkbkbkbkababesgygygyrvgygygygyrJrKrLrMrNrOrPrQrRrIrSrTrIbkbkbkbkbkbkbkbkbkbkabababbkbkbkbkabababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLrArAqLqLqLqLqLqLqLrArArAqLqLqLqLqLqLqLqLqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkadadadbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaaaaaaaabkbkbkbkbkbkbkababesesgygyrvgygygygyrUrVrWrXrYrZsasbscsdsesfrIbkbkbkbkbkbkbkbkbkbkbkbkababbkbkbkbkababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLrArArArAqLqLqLqLqLqLqLqLqLqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaabaaaaaaaabkbkbkbkbkbkbkabababesgygyrvgygygygyrIrIrIrIrIrIsgshsirIsjskrIbkbkbkbkbkbkbkbkbkbkbkbkbkbkababbkbkbkabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLrArArArAqLqLqLqLqLqLqLqLqLqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaabkbkbkaaaabkbkbkbkbkbkbkbkbkabesgygyrFslsmxNxNsnspsosrsqstsssvrzswsxsyrIbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabababbkbkababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLqLrArArArAqLqLqLqLqLqLqLqLqLqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaabkbkbkaaaabkbkbkbkbkbkbkbkbkabesgygyrFslsmxNxNsnsppIsrsqstsssvrzswsxsyrIbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabababbkbkababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLrAqLqLqLqLqLqLqLqLqLqLqLqLqLrArArArAqLqLqLqLqLqLqLqLqLqLqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaabkbkbkaaaaaabkbkbkbkbkbkbkbkabesgygygygyxugygyrIrIrIrIszrIrIrIrIrIrIrIrIbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLrArArAqLqLqLqLqLqLqLqLqLqLqLqLqLrArArAqLqLqLqLqLqLqLqLqLqLqLqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaaaaaaaaaabkbkbkbkbkbkbkbkabesesgygygyxugygygygysAsBsCsCdXbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLrArArAqLqLqLqLqLqLqLqLqLqLqLqLqLrArArAqLqLqLqLqLqLqLqLqLqLqLqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaaaaaaaaaabkbkbkbkbkbkbkbkabesesgygygyxugygygygysApKsCsCdXbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLrArArAqLqLqLqLqLqLqLqLqLqLqLqLqLrArArAqLqLqLqLqLqLqLqLqLqLqLqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaaaaaaaaaaaabkbkbkbkbkbkbkababesgygyrJsFrigygygygygygygydXbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLqLrArArAqLqLqLqLqLqLqLqLqLqLqLrArArArArArAqLqLqLqLqLqLqLqLqLqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaaaaaaaaaabkbkbkbkbkbkbkababesgygypBsGpCgygygygygygygydXbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabaaababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqLqLqLqLqLqLqLqLrArArArAqLqLqLqLqLqLqLqLqLqLqLrArArArAqLqLqLqLqLqLqLqLqLqLqLqLqLbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkaaaaaaaaaaaaaaaabkbkbkbkbkbkbkbkabesgygygyxugygygygygygygydXdXbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkbkabababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 34e30fd76a142fa7b13e71f9bef161391d0f853d Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Sat, 28 Feb 2015 21:35:29 +0000 Subject: [PATCH 03/14] Properly fixes vines pulling through windoors --- code/modules/hydroponics/spreading/spreading_growth.dm | 2 +- code/modules/hydroponics/spreading/spreading_response.dm | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/code/modules/hydroponics/spreading/spreading_growth.dm b/code/modules/hydroponics/spreading/spreading_growth.dm index 64ef1b55c6e..804ec8f08a7 100644 --- a/code/modules/hydroponics/spreading/spreading_growth.dm +++ b/code/modules/hydroponics/spreading/spreading_growth.dm @@ -20,7 +20,7 @@ if(!isnull(seed.chems["pacid"])) spawn(rand(5,25)) floor.ex_act(3) continue - else if(!floor.Enter(src)) + if(!Adjacent(floor)) continue neighbors |= floor // Update all of our friends. diff --git a/code/modules/hydroponics/spreading/spreading_response.dm b/code/modules/hydroponics/spreading/spreading_response.dm index 1f8a0cc4688..46db4af57b4 100644 --- a/code/modules/hydroponics/spreading/spreading_response.dm +++ b/code/modules/hydroponics/spreading/spreading_response.dm @@ -60,11 +60,13 @@ if(buckled_mob) return + if(!Adjacent(victim)) + return + victim.buckled = src victim.update_canmove() buckled_mob = victim - var/turf/T = get_turf(src) - if(victim.loc != T && T.Enter(victim, get_turf(victim))) + if(victim.loc != get_turf(src)) src.visible_message("Tendrils lash out from \the [src] and drag \the [victim] in!") victim.loc = src.loc victim << "Tendrils [pick("wind", "tangle", "tighten")] around you!" From bdce7a8e413977eb6ce8021cbd3e5ccee1fdb16e Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sun, 1 Mar 2015 15:21:15 +0100 Subject: [PATCH 04/14] Fixes #8322. When copying a photo new instances are created of relevant icons, instead of referencing them. --- code/modules/paperwork/photography.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index dcd48955bf6..1b6756334ca 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -311,9 +311,9 @@ var/global/photo_count = 0 var/obj/item/weapon/photo/p = new/obj/item/weapon/photo() p.name = name - p.icon = icon - p.tiny = tiny - p.img = img + p.icon = icon(icon, icon_state) + p.tiny = icon(tiny) + p.img = icon(img) p.desc = desc p.pixel_x = pixel_x p.pixel_y = pixel_y From df689a4f72b6f633a2f57f15efbec67ebd4ecbf8 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sun, 1 Mar 2015 15:29:17 +0100 Subject: [PATCH 05/14] Increased check_rights flexibility. NanoUI interfaces no longer appear locked when admin observers look at them for too long. --- code/modules/admin/holder2.dm | 14 +++++++------- code/modules/nano/nanointeraction.dm | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/code/modules/admin/holder2.dm b/code/modules/admin/holder2.dm index 34b4cacde93..f5e2ac61cd3 100644 --- a/code/modules/admin/holder2.dm +++ b/code/modules/admin/holder2.dm @@ -50,21 +50,21 @@ proc/admin_proc() NOTE: it checks usr! not src! So if you're checking somebody's rank in a proc which they did not call you will have to do something like if(client.holder.rights & R_ADMIN) yourself. */ -/proc/check_rights(rights_required, show_msg=1) - if(usr && usr.client) +/proc/check_rights(rights_required, show_msg=1, var/mob/user = usr) + if(user && user.client) if(rights_required) - if(usr.client.holder) - if(rights_required & usr.client.holder.rights) + if(user.client.holder) + if(rights_required & user.client.holder.rights) return 1 else if(show_msg) - usr << "Error: You do not have sufficient rights to do that. You require one of the following flags:[rights2text(rights_required," ")]." + user << "Error: You do not have sufficient rights to do that. You require one of the following flags:[rights2text(rights_required," ")]." else - if(usr.client.holder) + if(user.client.holder) return 1 else if(show_msg) - usr << "Error: You are not an admin." + user << "Error: You are not an admin." return 0 //probably a bit iffy - will hopefully figure out a better solution diff --git a/code/modules/nano/nanointeraction.dm b/code/modules/nano/nanointeraction.dm index a9025ea70ed..645b5261bf8 100644 --- a/code/modules/nano/nanointeraction.dm +++ b/code/modules/nano/nanointeraction.dm @@ -13,7 +13,7 @@ return STATUS_CLOSE // By default no mob can do anything with NanoUI /mob/dead/observer/can_use_topic() - if(check_rights(R_ADMIN, 0)) + if(check_rights(R_ADMIN, 0, src)) return STATUS_INTERACTIVE // Admins are more equal return STATUS_UPDATE // Ghosts can view updates From a11c7ba1c7d6d9ba5c062cb3e5750fc215e05795 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Mon, 2 Mar 2015 11:41:14 +0100 Subject: [PATCH 06/14] Fixes #8334. Removes references to the load_speed argument in load_map as it doesn't actually exist. For some reason the dmm_suit injects itself as an argument in airlocks. Putting a band-aid on the symptom. --- code/game/machinery/doors/airlock.dm | 4 +- code/modules/awaymissions/zlevel.dm | 109 ++++++++++++++------------- code/modules/maps/dmm_suite.dm | 3 +- 3 files changed, 58 insertions(+), 58 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 815bad98052..d15d393517e 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -1002,7 +1002,7 @@ About the new airlock wires panel: if(operating || welded || locked) return if(!forced) - //despite the name, this wire is for general door control. + //despite the name, this wire is for general door control. //Bolts are already covered by the check for locked, above if( !arePowerSystemsOn() || isWireCut(AIRLOCK_WIRE_OPEN_DOOR) ) return @@ -1076,7 +1076,7 @@ About the new airlock wires panel: emitter_resistance *= 3 //if assembly is given, create the new door from the assembly - if (assembly) + if (assembly && istype(assembly)) assembly_type = assembly.type electronics = assembly.electronics diff --git a/code/modules/awaymissions/zlevel.dm b/code/modules/awaymissions/zlevel.dm index d76d9d676b3..b0ba29dcd03 100644 --- a/code/modules/awaymissions/zlevel.dm +++ b/code/modules/awaymissions/zlevel.dm @@ -1,54 +1,55 @@ -proc/createRandomZlevel() - if(awaydestinations.len) //crude, but it saves another var! - return - - var/list/potentialRandomZlevels = list() - world << "\red \b Searching for away missions..." - var/list/Lines = file2list("maps/RandomZLevels/fileList.txt") - if(!Lines.len) return - for (var/t in Lines) - if (!t) - continue - - t = trim(t) - if (length(t) == 0) - continue - else if (copytext(t, 1, 2) == "#") - continue - - var/pos = findtext(t, " ") - var/name = null - // var/value = null - - if (pos) - // No, don't do lowertext here, that breaks paths on linux - name = copytext(t, 1, pos) - // value = copytext(t, pos + 1) - else - // No, don't do lowertext here, that breaks paths on linux - name = t - - if (!name) - continue - - potentialRandomZlevels.Add(name) - - - if(potentialRandomZlevels.len) - world << "\red \b Loading away mission..." - - var/map = pick(potentialRandomZlevels) - var/file = file(map) - if(isfile(file)) - maploader.load_map(file, load_speed = 100) - - for(var/obj/effect/landmark/L in landmarks_list) - if (L.name != "awaystart") - continue - awaydestinations.Add(L) - - world << "\red \b Away mission loaded." - - else - world << "\red \b No away missions found." - return \ No newline at end of file +proc/createRandomZlevel() + if(awaydestinations.len) //crude, but it saves another var! + return + + var/list/potentialRandomZlevels = list() + world << "\red \b Searching for away missions..." + var/list/Lines = file2list("maps/RandomZLevels/fileList.txt") + if(!Lines.len) return + for (var/t in Lines) + if (!t) + continue + + t = trim(t) + if (length(t) == 0) + continue + else if (copytext(t, 1, 2) == "#") + continue + + var/pos = findtext(t, " ") + var/name = null + // var/value = null + + if (pos) + // No, don't do lowertext here, that breaks paths on linux + name = copytext(t, 1, pos) + // value = copytext(t, pos + 1) + else + // No, don't do lowertext here, that breaks paths on linux + name = t + + if (!name) + continue + + potentialRandomZlevels.Add(name) + + + if(potentialRandomZlevels.len) + world << "\red \b Loading away mission..." + + var/map = pick(potentialRandomZlevels) + var/file = file(map) + if(isfile(file)) + maploader.load_map(file) + world.log << "away mission loaded: [map]" + + for(var/obj/effect/landmark/L in landmarks_list) + if (L.name != "awaystart") + continue + awaydestinations.Add(L) + + world << "\red \b Away mission loaded." + + else + world << "\red \b No away missions found." + return diff --git a/code/modules/maps/dmm_suite.dm b/code/modules/maps/dmm_suite.dm index 87de0e758e5..c263072f999 100644 --- a/code/modules/maps/dmm_suite.dm +++ b/code/modules/maps/dmm_suite.dm @@ -53,10 +53,9 @@ dmm_suite{ */ - verb/load_map(var/dmm_file as file, var/z_offset as num, var/load_speed as num) + verb/load_map(var/dmm_file as file, var/z_offset as num) // dmm_file: A .dmm file to load (Required). // z_offset: A number representing the z-level on which to start loading the map (Optional). - // load_speed: How many tiles should be loaded per second, defaults to no pause (Optional) verb/write_map(var/turf/t1 as turf, var/turf/t2 as turf, var/flags as num){ // t1: A turf representing one corner of a three dimensional grid (Required). From 1a4cedd412fb0fa04322f54ebf824562fb84b9de Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 2 Mar 2015 13:24:52 -0500 Subject: [PATCH 07/14] Fixes #7363 --- code/modules/mob/living/carbon/human/life.dm | 69 ++++++++++---------- 1 file changed, 36 insertions(+), 33 deletions(-) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 72c281a1f2d..1aae456ae06 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -608,25 +608,28 @@ if(prob(20)) src << "You feel your face burning and a searing heat in your lungs!" - switch(breath.temperature) - if(-INFINITY to species.cold_level_3) - apply_damage(COLD_GAS_DAMAGE_LEVEL_3, BURN, "head", used_weapon = "Excessive Cold") - fire_alert = max(fire_alert, 1) - if(species.cold_level_3 to species.cold_level_2) - apply_damage(COLD_GAS_DAMAGE_LEVEL_2, BURN, "head", used_weapon = "Excessive Cold") - fire_alert = max(fire_alert, 1) - if(species.cold_level_2 to species.cold_level_1) - apply_damage(COLD_GAS_DAMAGE_LEVEL_1, BURN, "head", used_weapon = "Excessive Cold") - fire_alert = max(fire_alert, 1) - if(species.heat_level_1 to species.heat_level_2) + if(breath.temperature > species.heat_level_1) + if(breath.temperature <= species.heat_level_2) apply_damage(HEAT_GAS_DAMAGE_LEVEL_1, BURN, "head", used_weapon = "Excessive Heat") fire_alert = max(fire_alert, 2) - if(species.heat_level_2 to species.heat_level_3) + else if(breath.temperature <= species.heat_level_3) apply_damage(HEAT_GAS_DAMAGE_LEVEL_2, BURN, "head", used_weapon = "Excessive Heat") fire_alert = max(fire_alert, 2) - if(species.heat_level_3 to INFINITY) + else apply_damage(HEAT_GAS_DAMAGE_LEVEL_3, BURN, "head", used_weapon = "Excessive Heat") fire_alert = max(fire_alert, 2) + + else if(breath.temperature < species.cold_level_1) + if(breath.temperature >= species.cold_level_2) + apply_damage(COLD_GAS_DAMAGE_LEVEL_1, BURN, "head", used_weapon = "Excessive Cold") + fire_alert = max(fire_alert, 1) + else if(breath.temperature >= species.cold_level_3) + apply_damage(COLD_GAS_DAMAGE_LEVEL_2, BURN, "head", used_weapon = "Excessive Cold") + fire_alert = max(fire_alert, 1) + else + apply_damage(COLD_GAS_DAMAGE_LEVEL_3, BURN, "head", used_weapon = "Excessive Cold") + fire_alert = max(fire_alert, 1) + //breathing in hot/cold air also heats/cools you a bit var/temp_adj = breath.temperature - bodytemperature @@ -704,31 +707,31 @@ //Body temperature is too hot. fire_alert = max(fire_alert, 1) if(status_flags & GODMODE) return 1 //godmode - switch(bodytemperature) - if(species.heat_level_1 to species.heat_level_2) - take_overall_damage(burn=HEAT_DAMAGE_LEVEL_1, used_weapon = "High Body Temperature") - fire_alert = max(fire_alert, 2) - if(species.heat_level_2 to species.heat_level_3) - take_overall_damage(burn=HEAT_DAMAGE_LEVEL_2, used_weapon = "High Body Temperature") - fire_alert = max(fire_alert, 2) - if(species.heat_level_3 to INFINITY) - take_overall_damage(burn=HEAT_DAMAGE_LEVEL_3, used_weapon = "High Body Temperature") - fire_alert = max(fire_alert, 2) + + if(bodytemperature <= species.heat_level_2) + take_overall_damage(burn=HEAT_DAMAGE_LEVEL_1, used_weapon = "High Body Temperature") + fire_alert = max(fire_alert, 2) + else if(bodytemperature <= species.heat_level_3) + take_overall_damage(burn=HEAT_DAMAGE_LEVEL_2, used_weapon = "High Body Temperature") + fire_alert = max(fire_alert, 2) + else + take_overall_damage(burn=HEAT_DAMAGE_LEVEL_3, used_weapon = "High Body Temperature") + fire_alert = max(fire_alert, 2) else if(bodytemperature < species.cold_level_1) fire_alert = max(fire_alert, 1) if(status_flags & GODMODE) return 1 //godmode + if(!istype(loc, /obj/machinery/atmospherics/unary/cryo_cell)) - switch(bodytemperature) - if(species.cold_level_2 to species.cold_level_1) - take_overall_damage(burn=COLD_DAMAGE_LEVEL_1, used_weapon = "High Body Temperature") - fire_alert = max(fire_alert, 1) - if(species.cold_level_3 to species.cold_level_2) - take_overall_damage(burn=COLD_DAMAGE_LEVEL_2, used_weapon = "High Body Temperature") - fire_alert = max(fire_alert, 1) - if(-INFINITY to species.cold_level_3) - take_overall_damage(burn=COLD_DAMAGE_LEVEL_3, used_weapon = "High Body Temperature") - fire_alert = max(fire_alert, 1) + if(bodytemperature >= species.cold_level_2) + take_overall_damage(burn=COLD_DAMAGE_LEVEL_1, used_weapon = "High Body Temperature") + fire_alert = max(fire_alert, 1) + else if(bodytemperature >= species.cold_level_3) + take_overall_damage(burn=COLD_DAMAGE_LEVEL_2, used_weapon = "High Body Temperature") + fire_alert = max(fire_alert, 1) + else + take_overall_damage(burn=COLD_DAMAGE_LEVEL_3, used_weapon = "High Body Temperature") + fire_alert = max(fire_alert, 1) // Account for massive pressure differences. Done by Polymorph // Made it possible to actually have something that can protect against high pressure... Done by Errorage. Polymorph now has an axe sticking from his head for his previous hardcoded nonsense! From b0be5a90ff2141ad46368422da7e6eedfe9127d1 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 3 Mar 2015 13:37:26 +0300 Subject: [PATCH 08/14] Fixed exploit that allowed you to apply surgery step to any zone regardless of where you state it. For example it allows you to cut off heads, groins and even torsos by starting to cut off limb and then switching to other zone. Also now surgery lock is area-based, so more than one surgeon can work on different organs at same time. --- code/modules/surgery/surgery.dm | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm index 825a4c582e9..61d6688a6f4 100644 --- a/code/modules/surgery/surgery.dm +++ b/code/modules/surgery/surgery.dm @@ -82,27 +82,27 @@ proc/do_surgery(mob/living/carbon/M, mob/living/user, obj/item/tool) return 0 if (user.a_intent == "harm") //check for Hippocratic Oath return 0 - if(M.op_stage.in_progress) //Can't operate on someone repeatedly. - user << "\red You can't operate on the patient while surgery is already in progress." + var/zone = user.zone_sel.selecting + if(zone in M.op_stage.in_progress) //Can't operate on someone repeatedly. + user << "\red You can't operate on this area while surgery is already in progress." return 1 - for(var/datum/surgery_step/S in surgery_steps) //check if tool is right or close enough and if this step is possible if(S.tool_quality(tool)) - var/step_is_valid = S.can_use(user, M, user.zone_sel.selecting, tool) + var/step_is_valid = S.can_use(user, M, zone, tool) if(step_is_valid && S.is_valid_target(M)) if(step_is_valid == 2) // This is a failure that already has a message for failing. return 1 - M.op_stage.in_progress = 1 - S.begin_step(user, M, user.zone_sel.selecting, tool) //start on it + M.op_stage.in_progress += zone + S.begin_step(user, M, zone, tool) //start on it //We had proper tools! (or RNG smiled.) and user did not move or change hands. if(prob(S.tool_quality(tool)) && do_mob(user, M, rand(S.min_duration, S.max_duration))) - S.end_step(user, M, user.zone_sel.selecting, tool) //finish successfully + S.end_step(user, M, zone, tool) //finish successfully else if ((tool in user.contents) && user.Adjacent(M)) //or - S.fail_step(user, M, user.zone_sel.selecting, tool) //malpractice~ + S.fail_step(user, M, zone, tool) //malpractice~ else // This failing silently was a pain. user << "\red You must remain close to your patient to conduct surgery." - M.op_stage.in_progress = 0 // Clear the in-progress flag. + M.op_stage.in_progress -= zone // Clear the in-progress flag. return 1 //don't want to do weapony things after surgery if (user.a_intent == "help") @@ -131,4 +131,4 @@ proc/sort_surgeries() var/face = 0 var/head_reattach = 0 var/current_organ = "organ" - var/in_progress = 0 \ No newline at end of file + var/list/in_progress = list() \ No newline at end of file From 8f929331d8d3141e77f8d459fdaaa8bece307509 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 3 Mar 2015 15:33:15 +0100 Subject: [PATCH 09/14] Fixes #8343 Fuel no longer attempts to spread itself after having been deleted. --- code/game/objects/effects/decals/Cleanable/fuel.dm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/code/game/objects/effects/decals/Cleanable/fuel.dm b/code/game/objects/effects/decals/Cleanable/fuel.dm index 5162d0f6dff..9c37a643319 100644 --- a/code/game/objects/effects/decals/Cleanable/fuel.dm +++ b/code/game/objects/effects/decals/Cleanable/fuel.dm @@ -12,15 +12,20 @@ obj/effect/decal/cleanable/liquid_fuel log_game("Liquid fuel has spilled in [newLoc.loc.name] ([newLoc.x],[newLoc.y],[newLoc.z])") src.amount = amt + var/has_spread = 0 //Be absorbed by any other liquid fuel in the tile. for(var/obj/effect/decal/cleanable/liquid_fuel/other in newLoc) if(other != src) other.amount += src.amount - spawn other.Spread() - del src + other.Spread() + has_spread = 1 + break - Spread() . = ..() + if(!has_spread) + Spread() + else + del(src) proc/Spread() //Allows liquid fuels to sometimes flow into other tiles. From f8831fa51348c50f750dadfc9617a87b5e6ae20e Mon Sep 17 00:00:00 2001 From: mwerezak Date: Tue, 3 Mar 2015 18:52:35 -0500 Subject: [PATCH 10/14] Adjusts human temperature damage intervals --- code/modules/mob/living/carbon/human/life.dm | 37 +++++++++----------- 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 1aae456ae06..8657ef06a26 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -599,31 +599,31 @@ adjustOxyLoss(-5) // Hot air hurts :( - if( (breath.temperature < species.cold_level_1 || breath.temperature > species.heat_level_1) && !(COLD_RESISTANCE in mutations)) + if( (breath.temperature <= species.cold_level_1 || breath.temperature >= species.heat_level_1) && !(COLD_RESISTANCE in mutations)) - if(breath.temperature < species.cold_level_1) + if(breath.temperature <= species.cold_level_1) if(prob(20)) src << "You feel your face freezing and icicles forming in your lungs!" - else if(breath.temperature > species.heat_level_1) + else if(breath.temperature >= species.heat_level_1) if(prob(20)) src << "You feel your face burning and a searing heat in your lungs!" - if(breath.temperature > species.heat_level_1) - if(breath.temperature <= species.heat_level_2) + if(breath.temperature >= species.heat_level_1) + if(breath.temperature < species.heat_level_2) apply_damage(HEAT_GAS_DAMAGE_LEVEL_1, BURN, "head", used_weapon = "Excessive Heat") fire_alert = max(fire_alert, 2) - else if(breath.temperature <= species.heat_level_3) + else if(breath.temperature < species.heat_level_3) apply_damage(HEAT_GAS_DAMAGE_LEVEL_2, BURN, "head", used_weapon = "Excessive Heat") fire_alert = max(fire_alert, 2) else apply_damage(HEAT_GAS_DAMAGE_LEVEL_3, BURN, "head", used_weapon = "Excessive Heat") fire_alert = max(fire_alert, 2) - else if(breath.temperature < species.cold_level_1) - if(breath.temperature >= species.cold_level_2) + else if(breath.temperature <= species.cold_level_1) + if(breath.temperature > species.cold_level_2) apply_damage(COLD_GAS_DAMAGE_LEVEL_1, BURN, "head", used_weapon = "Excessive Cold") fire_alert = max(fire_alert, 1) - else if(breath.temperature >= species.cold_level_3) + else if(breath.temperature > species.cold_level_3) apply_damage(COLD_GAS_DAMAGE_LEVEL_2, BURN, "head", used_weapon = "Excessive Cold") fire_alert = max(fire_alert, 1) else @@ -695,38 +695,33 @@ //Use heat transfer as proportional to the gas density. However, we only care about the relative density vs standard 101 kPa/20 C air. Therefore we can use mole ratios var/relative_density = environment.total_moles / MOLES_CELLSTANDARD - temp_adj *= relative_density - - if (temp_adj > BODYTEMP_HEATING_MAX) temp_adj = BODYTEMP_HEATING_MAX - if (temp_adj < BODYTEMP_COOLING_MAX) temp_adj = BODYTEMP_COOLING_MAX - //world << "Environment: [loc_temp], [src]: [bodytemperature], Adjusting: [temp_adj]" - bodytemperature += temp_adj + bodytemperature += between(BODYTEMP_COOLING_MAX, temp_adj*relative_density, BODYTEMP_HEATING_MAX) // +/- 50 degrees from 310.15K is the 'safe' zone, where no damage is dealt. - if(bodytemperature > species.heat_level_1) + if(bodytemperature >= species.heat_level_1) //Body temperature is too hot. fire_alert = max(fire_alert, 1) if(status_flags & GODMODE) return 1 //godmode - if(bodytemperature <= species.heat_level_2) + if(bodytemperature < species.heat_level_2) take_overall_damage(burn=HEAT_DAMAGE_LEVEL_1, used_weapon = "High Body Temperature") fire_alert = max(fire_alert, 2) - else if(bodytemperature <= species.heat_level_3) + else if(bodytemperature < species.heat_level_3) take_overall_damage(burn=HEAT_DAMAGE_LEVEL_2, used_weapon = "High Body Temperature") fire_alert = max(fire_alert, 2) else take_overall_damage(burn=HEAT_DAMAGE_LEVEL_3, used_weapon = "High Body Temperature") fire_alert = max(fire_alert, 2) - else if(bodytemperature < species.cold_level_1) + else if(bodytemperature <= species.cold_level_1) fire_alert = max(fire_alert, 1) if(status_flags & GODMODE) return 1 //godmode if(!istype(loc, /obj/machinery/atmospherics/unary/cryo_cell)) - if(bodytemperature >= species.cold_level_2) + if(bodytemperature > species.cold_level_2) take_overall_damage(burn=COLD_DAMAGE_LEVEL_1, used_weapon = "High Body Temperature") fire_alert = max(fire_alert, 1) - else if(bodytemperature >= species.cold_level_3) + else if(bodytemperature > species.cold_level_3) take_overall_damage(burn=COLD_DAMAGE_LEVEL_2, used_weapon = "High Body Temperature") fire_alert = max(fire_alert, 1) else From 05c487ca8fbcb060dfc69215a1f63502bd6e29d9 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Wed, 4 Mar 2015 09:46:49 +0100 Subject: [PATCH 11/14] Fixes NanoUI transfer runtime. No longer unconditionally attempts to transfer NanoUIs from one mob to another. Previously caused runtimes if the source-mob was gibbed or otherwise destroyed. --- code/datums/mind.dm | 4 +-- code/modules/nano/nanomanager.dm | 56 ++++++++++++++++---------------- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index bd401c24179..f9209420880 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -72,11 +72,11 @@ datum/mind current.remove_changeling_powers() current.verbs -= /datum/changeling/proc/EvolutionMenu current.mind = null + + nanomanager.user_transferred(current, new_character) // transfer active NanoUI instances to new user if(new_character.mind) //remove any mind currently in our new body's mind variable new_character.mind.current = null - nanomanager.user_transferred(current, new_character) // transfer active NanoUI instances to new user - current = new_character //link ourself to our new body new_character.mind = src //and link our new body to ourself diff --git a/code/modules/nano/nanomanager.dm b/code/modules/nano/nanomanager.dm index da546ac66da..c1573dd4dad 100644 --- a/code/modules/nano/nanomanager.dm +++ b/code/modules/nano/nanomanager.dm @@ -21,7 +21,7 @@ "nano/js/",\ "nano/templates/"\ ) - + var/list/filenames = null for (var/path in nano_asset_dirs) filenames = flist(path) @@ -48,15 +48,15 @@ if (isnull(ui)) // no ui has been passed, so we'll search for one { ui = get_open_ui(user, src_object, ui_key) - } - if (!isnull(ui)) + } + if (!isnull(ui)) // The UI is already open if (!force_open) ui.push_data(data) return ui else //testing("nanomanager/try_update_ui mob [user.name] [src_object:name] [ui_key] [force_open] - forcing opening of ui") - ui.close() + ui.close() return null /** @@ -73,14 +73,14 @@ if (isnull(open_uis[src_object_key]) || !istype(open_uis[src_object_key], /list)) //testing("nanomanager/get_open_ui mob [user.name] [src_object:name] [ui_key] - there are no uis open") return null - else if (isnull(open_uis[src_object_key][ui_key]) || !istype(open_uis[src_object_key][ui_key], /list)) + else if (isnull(open_uis[src_object_key][ui_key]) || !istype(open_uis[src_object_key][ui_key], /list)) //testing("nanomanager/get_open_ui mob [user.name] [src_object:name] [ui_key] - there are no uis open for this object") return null for (var/datum/nanoui/ui in open_uis[src_object_key][ui_key]) if (ui.user == user) return ui - + //testing("nanomanager/get_open_ui mob [user.name] [src_object:name] [ui_key] - ui not found") return null @@ -91,21 +91,21 @@ * * @return int The number of uis updated */ -/datum/nanomanager/proc/update_uis(src_object) +/datum/nanomanager/proc/update_uis(src_object) var/src_object_key = "\ref[src_object]" if (isnull(open_uis[src_object_key]) || !istype(open_uis[src_object_key], /list)) - return 0 + return 0 var/update_count = 0 - for (var/ui_key in open_uis[src_object_key]) + for (var/ui_key in open_uis[src_object_key]) for (var/datum/nanoui/ui in open_uis[src_object_key][ui_key]) if(ui && ui.src_object && ui.user) ui.process(1) update_count++ return update_count - + /** - * Update /nanoui uis belonging to user + * Update /nanoui uis belonging to user * * @param user /mob The mob who owns the uis * @param src_object /obj|/mob If src_object is provided, only update uis which are attached to src_object (optional) @@ -118,15 +118,15 @@ return 0 // has no open uis var/update_count = 0 - for (var/datum/nanoui/ui in user.open_uis) + for (var/datum/nanoui/ui in user.open_uis) if ((isnull(src_object) || !isnull(src_object) && ui.src_object == src_object) && (isnull(ui_key) || !isnull(ui_key) && ui.ui_key == ui_key)) ui.process(1) update_count++ - + return update_count - + /** - * Close /nanoui uis belonging to user + * Close /nanoui uis belonging to user * * @param user /mob The mob who owns the uis * @param src_object /obj|/mob If src_object is provided, only close uis which are attached to src_object (optional) @@ -137,16 +137,16 @@ /datum/nanomanager/proc/close_user_uis(var/mob/user, src_object = null, ui_key = null) if (isnull(user.open_uis) || !istype(user.open_uis, /list) || open_uis.len == 0) //testing("nanomanager/close_user_uis mob [user.name] has no open uis") - return 0 // has no open uis + return 0 // has no open uis var/close_count = 0 - for (var/datum/nanoui/ui in user.open_uis) + for (var/datum/nanoui/ui in user.open_uis) if ((isnull(src_object) || !isnull(src_object) && ui.src_object == src_object) && (isnull(ui_key) || !isnull(ui_key) && ui.ui_key == ui_key)) ui.close() close_count++ - - //testing("nanomanager/close_user_uis mob [user.name] closed [open_uis.len] of [close_count] uis") - + + //testing("nanomanager/close_user_uis mob [user.name] closed [open_uis.len] of [close_count] uis") + return close_count /** @@ -189,11 +189,11 @@ ui.user.open_uis.Remove(ui) var/list/uis = open_uis[src_object_key][ui.ui_key] uis.Remove(ui) - + //testing("nanomanager/ui_closed mob [ui.user.name] [ui.src_object:name] [ui.ui_key] - user.open_uis [ui.user.open_uis.len] | uis [uis.len] | processing_uis [processing_uis.len]") - + return 1 - + /** * This is called on user logout * Closes/clears all uis attached to the user's /mob @@ -203,7 +203,7 @@ * @return nothing */ -// +// /datum/nanomanager/proc/user_logout(var/mob/user) //testing("nanomanager/user_logout user [user.name]") return close_user_uis(user) @@ -219,7 +219,7 @@ */ /datum/nanomanager/proc/user_transferred(var/mob/oldMob, var/mob/newMob) //testing("nanomanager/user_transferred from mob [oldMob.name] to mob [newMob.name]") - if (isnull(oldMob.open_uis) || !istype(oldMob.open_uis, /list) || open_uis.len == 0) + if (!oldMob || isnull(oldMob.open_uis) || !istype(oldMob.open_uis, /list) || open_uis.len == 0) //testing("nanomanager/user_transferred mob [oldMob.name] has no open uis") return 0 // has no open uis @@ -231,9 +231,9 @@ newMob.open_uis.Add(ui) oldMob.open_uis.Cut() - + return 1 // success - + /** * Sends all nano assets to the client * This is called on user login @@ -244,6 +244,6 @@ */ /datum/nanomanager/proc/send_resources(client) - for(var/file in asset_files) + for(var/file in asset_files) client << browse_rsc(file) // send the file to the client From fb0900901672b39924b1fe1a91f8a616d9c6a90c Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Wed, 4 Mar 2015 09:53:15 +0100 Subject: [PATCH 12/14] Fixes #8348. Relocates blob start to adjacent turf, allowing it to act upon (and destroy) the previously weapon blocking emergency shutter. --- maps/exodus-1.dmm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 31724b0623f..2e16bd9b359 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -60,7 +60,7 @@ "abh" = (/obj/machinery/camera{c_tag = "Armoury - Tactical Equipment "; dir = 2; network = list("SS13")},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/table/rack,/obj/machinery/door/window/brigdoor{dir = 2; name = "Weapons locker"; req_access = null; req_access_txt = "58"},/obj/item/ammo_magazine/c45m{icon_state = "45-7"},/obj/item/ammo_magazine/c45m{icon_state = "45-7"},/obj/item/weapon/storage/box/shotgunammo,/obj/item/weapon/storage/box/shotgunammo,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden) "abi" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/security/range) "abj" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/laser/practice,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor,/area/security/range) -"abk" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/laser/practice,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/security/range) +"abk" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor{dir = 1; icon_state = "loadingarea"},/area/security/range) "abl" = (/obj/structure/table/reinforced,/obj/machinery/recharger,/turf/simulated/floor,/area/security/range) "abm" = (/obj/machinery/camera{c_tag = "Firing Range"; dir = 8; network = list("SS13")},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/security/range) "abn" = (/obj/structure/closet/crate,/obj/item/clothing/glasses/meson/prescription,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/maintenance/security_starboard) @@ -681,7 +681,6 @@ "ane" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/terminal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/security) "anf" = (/obj/structure/cable/green,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Security Substation"},/turf/simulated/floor/plating,/area/maintenance/substation/security) "ang" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/substation/security) -"anh" = (/obj/effect/landmark{name = "carpspawn"},/turf/space,/area/shuttle/syndicate_elite/station) "ani" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/solar/auxstarboard) "anj" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/solar/auxstarboard) "ank" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "EVA\\Security Maintenance"; req_access_txt = "0"},/turf/simulated/floor/plating,/area/maintenance/security_port) @@ -7288,8 +7287,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaaaaaaaaaaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaacKraawaavaaacKraawaavaaacKraawaavaafaafaamaaaaaaaaaaaaaaaaafaafaahaaxaataataaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaayaayaayaayaayaayaayaayaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaauaauaauaauaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaamaaacKraazaavaaacKraazaavaaacKraazaavaafaafaafaafaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaAaaBaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaaCaaDaaEaaDaaEaaDaaFaayaayaaGaaHaayaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaaaaaaaauaaaaaaaauaauaauaauaauaauaauaaaaaaaauaaaaaaaauaaaaaaaaaaaaaaaaaaaaIaafcKraazaavaaacKraazaavaafcKraazaavaafaaaaaaaafaafaaJaaaaaaaaaaaaaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaKaaLaafaayaaMaaNaaNaaNaaNaaNaaOaaPaaQaaRaaSaayaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaaaaauaauaauaauaauaauaauaauaauaaaaauaauaauaauaaaaaaaaaaaaaaaaaaaafaaacKraazaavaafcKraazaavaaacKraazaavaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaTaaTaaTaaTaaTaaTaaTaafaaaaayaaUaaVaaEaaVaaEaaVaaWaaXaaYaaZabaaayabbabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaaaaauaauaauaauaauaauaauaauaauaaaaauaauaauaauaaaaaaaaaaamaamaaIaafaaacKraazaavaafcKraazaavaaacKraazaavaafaaaaaaaacaaaaafaafabcabdabdabdabdabeabfaaaaaaaaTabgabgabhabgabgaaTaaaaafaayabiabjaaXabkaaXabjaaXaayablaaZabmaayabnaboaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaaaaauaauaauaauaauaauaauaauaauaaaaauaauaauaauaaaaaaaaaaaaaaaaaaaafaaacKraazaavaafcKraazaavaaacKraazaavaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaTaaTaaTaaTaaTaaTaaTaafaaaaayaaUaaVaaEabkaaEaaVaaWaaXaaYaaZabaaayabbabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaaaaauaauaauaauaauaauaauaauaauaaaaauaauaauaauaaaaaaaaaaamaamaaIaafaaacKraazaavaafcKraazaavaaacKraazaavaafaaaaaaaacaaaaafaafabcabdabdabdabdabeabfaaaaaaaaTabgabgabhabgabgaaTaaaaafaayabiabjaaXabjaaXabjaaXaayablaaZabmaayabnaboaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaaaaauaauaauaauaauaauaauaauaauaaaaauaauaauaauaaaaaaaaaaamaaaaafaaaaafaafapsaafaafaafapsaafaaaaafapsaafaaaaaaaaaaaaaaaabqabrabsabtabuabvabwabxabfaafaaaaaTabyabzabAabBabCaaTaaaaaaabDabEabFabGabHaaEabFaaEabIabJabKabLappabNabOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaaaaaaaaaaaIaafaqMaqbapTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTarBaqbaqbaryabWabXabYabZacaacbaccacdaaTaaTaaTaaTaaTaceacfacgaaTaaTachaciacjackaclacmacnacmacoackackackacpacqacracsactaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaaafaaLaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaauaaaaaaaaaaamaaaaafaaaaafaafapjaafaaaaafapjaafaaaaafapjaafaaaaaaaaaaaaaaaabqabracvacwacxacyabdaczaaTaaTacBacAacDacCacEacFaaTaaTacGacHacIacJacKacLacMacNacOacPacQacQacRacSacracsabbabbabbabbabbabbaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7312,8 +7311,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaamaamaaIaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWagWagWagWagWagWaksaktakuakvakwakxakyakzakAakBakCakDakEakFakwakGakwakwakHakIakJakKakLakMajaakOakPakJakQakRakSakTakUakVakWakXakYakoalIabbamsalbactaaaaaaaaaaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaafaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWalcaldalealfagWalgalhahLalialjagWacTacuacTagWabValnabUagWalpalqalralsagDaltalualvalwalxagWabTabSabSabRagWalBalCalDalEalFalGalHakoamtanQamuanQanQaaaaaaaafaafaaaaaaaaaaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabQaafaaIaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafabMaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafabfadEabPalMalMalNalOalPalQalRahKalSaljagWalTalUalValWalXalYalZamaahKambahKamcamdameameamfamgamhamiamjamkamlammakoamnamoampamqalDalDamrakoadQanQamvawKamwaaaaaaaaLaaaaaaaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaaIaaIaaIaaIaaaaaaaaaabpaaaaaaaaaaaIaaIaamaamaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaamaaIaaIaaaaaaaaaaoXaaaaaaaaaaaIaaIaamaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWamAamBamCamDagWamEalRaljamFamGagWamHamIamJalWamKamLamMamNamOamPamQamRamSamgamgamfamgamTaoWamVamWamXamYakoamZanaalDamqalDalDanbakoancandaneanfangaafaaLaafaafaaLaafaafaafakrakranhakrakraaaaaaaaaaaaaaaaaaaaqaaaaaaaafaafaafaaaaaaaoYaafaafaaaaafaafaaaaaaaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafaaaaaaaaaaoVaafaafaaaaafaafaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfankagWagWagWagWanlanmannanoanmanmanmanmanpaoPanpanraoQaojaoRanvaoSaoTaoUanzanAamgamgamfanBanCamianDanEamXanFanGanHanIanJanKanLanManNanGanOanPawLanRanSaaaaaaaafaaaaafaaLaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamaamaaIaaIaaaaaaaaaaoXaaaaaaaaaaaIaaIaamaamaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfadEagWamAamBamCamDagWamEalRaljamFamGagWamHamIamJalWamKamLamMamNamOamPamQamRamSamgamgamfamgamTaoWamVamWamXamYakoamZanaalDamqalDalDanbakoancandaneanfangaafaaLaafaafaaLaafaafaafakrakrakrakrakraaaaaaaaaaaaaaaaaaaaqaaaaaaaafaafaafaaaaaaaoYaafaafaaaaafaafaaaaaaaamaaaaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafaaaaaaaaaaoVaafaafaaaaafaafaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfankagWagWagWagWanlanmannanoanmanmanmanmanpaoPanpanraoQaojaoRanvaoSaoTaoUanzanAamgamgamfanBanCamianDanEamXanFanGanHanIanJanKanLanManNanGanOanPawLanRanSaaaaaaaafaaaaafaaLaafaacakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafanTanTanTanTanTaafalJaafanTanTanTanTanTaafaaIaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafanVanVanVanVanVaafalkaafanVanVanVanVanVaafaaIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanXanYanZaoaagDaobaocagWaodaoealKaogaohaoibqKaokaolaomaonaooaonaopaoqaoraonaoOaotamgamgaouaovaowamiaoxanEamXaoyanGaozaoAaoBaoCaoDaoEaoFanGaoGanQanQanQanQaoIaoJaoHaoLarPaaaaafaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafanianjanjanjanjanualJansanqanqanqanqanwaafaaIaaaahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaIaafalzalyalyalyalyalAalkallaivaivaivaivagEaafaaIaaaaaaaaaaaaaaaaaaaacaaaaaaaaaanXanXapaapbagDalMapcapdapeapfaofaphapiaoMaonaonapkaplaonapmapnaoraonapoaonaoNapqapramgamfamgamTaosamYanEamXaptanGapuapvapwapxapyapzapAanGapBaoHapCapDapEapFapGaoHaoHapHaoHaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaaIaafapIapIapIapIapIaafalJaafapIapIapIapIapIaafaaIaaaaaaahzahzahzahzaaaaaaahzahzahzahzahzahzahzaaaaaaahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaafapJapJapJapJapJaafalkaafapJapJapJapJapJaafaaIaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaapKapaapbagDapLapMagWalgapNalKapOapPapQapRaokapSanWapUapVapWapXapYapZaqaanUaqcaqdaovaqeaovaqfaqgaqhaqiaqjaqkanGaqlaqmapyaqnaqoaqpaqoaqqaqraqsapFaqtaquapFaqvaoHaqwaqxaqyaoHaaaakrakrakrakrakraaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafalJaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaahzahzahzahzahzahzahzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 8feec5760fa6cead869a4a566f3519a32fdfd0cc Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Wed, 4 Mar 2015 12:28:07 +0100 Subject: [PATCH 13/14] Fixes #8342. Secbots now continually checks if their target remains in sight before bashing the head in. --- code/game/machinery/bots/secbot.dm | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/code/game/machinery/bots/secbot.dm b/code/game/machinery/bots/secbot.dm index 1dcc02fbb91..432aeb1dab7 100644 --- a/code/game/machinery/bots/secbot.dm +++ b/code/game/machinery/bots/secbot.dm @@ -266,13 +266,19 @@ Auto Patrol: []"}, src.mode = 0 walk_to(src,0) - // We re-assess human targets, before bashing their head in, in case their credentials change - if(target && istype(target, /mob/living/carbon/human)) - var/threat = src.assess_perp(target, idcheck, check_records, check_arrest) - if(threat < 4) - target = null - if(target) // make sure target exists + // We re-assess human targets, before bashing their head in, in case their credentials change + if(istype(target, /mob/living/carbon/human)) + var/threat = src.assess_perp(target, idcheck, check_records, check_arrest) + if(threat < 4) + frustration = 8 + return + + // The target must remain in view to complete the desire to bash its head in + if(!(target in view(search_range,src))) + frustration++ + return + if(!lasercolor && Adjacent(target)) // If right next to perp. Lasertag bots do not arrest anyone, just patrol and shoot and whatnot if(istype(src.target,/mob/living/carbon)) playsound(src.loc, 'sound/weapons/Egloves.ogg', 50, 1, -1) From cf0e526d9111581428563196e598150da62df61c Mon Sep 17 00:00:00 2001 From: Raptor1628 Date: Wed, 4 Mar 2015 11:18:40 -0500 Subject: [PATCH 14/14] Fixes and adjustments Moves a few things around in the armory again, tasers back in lockers, guns in officer access area of the armory. Re-adds the tacknife after it was lost in the hydro merge, gives EMTs access to medical lockers. --- code/game/objects/random/random.dm | 11 +++++++++-- .../crates_lockers/closets/secure/medical.dm | 2 +- .../crates_lockers/closets/secure/security.dm | 2 +- code/modules/hydroponics/trays/tray_tools.dm | 9 +++++++++ maps/exodus-1.dmm | 18 +++++++++--------- maps/exodus-2.dmm | 11 ++++++----- 6 files changed, 35 insertions(+), 18 deletions(-) diff --git a/code/game/objects/random/random.dm b/code/game/objects/random/random.dm index c4d0c75313d..d9a12efa6cc 100644 --- a/code/game/objects/random/random.dm +++ b/code/game/objects/random/random.dm @@ -188,10 +188,17 @@ item_to_spawn() return pick(prob(3);/obj/item/weapon/gun/projectile/shotgun/pump,\ prob(2);/obj/item/weapon/gun/projectile/automatic/wt550,\ - prob(3);/obj/item/weapon/gun/projectile/sec,\ - prob(2);/obj/item/weapon/gun/projectile/sec/wood,\ prob(1);/obj/item/weapon/gun/projectile/shotgun/pump/combat) +/obj/random/handgun + name = "Random Handgun" + desc = "This is a random security sidearm." + icon = 'icons/obj/gun.dmi' + icon_state = "secgundark" + item_to_spawn() + return pick(prob(3);/obj/item/weapon/gun/projectile/sec,\ + prob(1);/obj/item/weapon/gun/projectile/sec/wood) + /obj/random/ammo name = "Random Ammunition" diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index c242e5f8c07..9eebafacc75 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -52,7 +52,7 @@ /obj/structure/closet/secure_closet/medical3 name = "medical doctor's locker" - req_access = list(access_surgery) + req_access = list(access_medical) icon_state = "securemed1" icon_closed = "securemed" icon_locked = "securemed1" diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 4a1a31ca154..2480fff6dab 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -196,7 +196,7 @@ new /obj/item/clothing/head/soft/sec/corp(src) new /obj/item/clothing/under/rank/security/corp(src) new /obj/item/ammo_magazine/c45m/rubber(src) - new /obj/item/weapon/gun/projectile/sec(src) + new /obj/item/weapon/gun/energy/taser(src) return diff --git a/code/modules/hydroponics/trays/tray_tools.dm b/code/modules/hydroponics/trays/tray_tools.dm index 64e0fe43694..67d630119a8 100644 --- a/code/modules/hydroponics/trays/tray_tools.dm +++ b/code/modules/hydroponics/trays/tray_tools.dm @@ -248,6 +248,15 @@ icon_state = "unathiknife" attack_verb = list("ripped", "torn", "cut") +/obj/item/weapon/hatchet/tacknife + name = "tactical knife" + desc = "You'd be killing loads of people if this was Medal of Valor: Heroes of Nyx." + icon = 'icons/obj/weapons.dmi' + icon_state = "tacknife" + item_state = "knife" + attack_verb = list("stabbed", "chopped", "cut") + + /obj/item/weapon/scythe icon_state = "scythe0" name = "scythe" diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 9c9dca27e5d..f0005d86938 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -185,7 +185,7 @@ "adC" = (/obj/machinery/door/airlock/external{icon_state = "door_locked"; locked = 1; name = "External Construction Airlock"; req_access_txt = "32"},/obj/item/tape/engineering{icon_state = "engineering_door"; layer = 4},/turf/simulated/floor/plating,/area/maintenance/security_starboard) "adD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/security_port) "adE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/security_port) -"adF" = (/obj/structure/table/rack,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/weapon/gun/energy/taser,/obj/item/weapon/gun/energy/taser,/obj/item/weapon/gun/energy/taser,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden) +"adF" = (/obj/structure/table/rack,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/reagent_containers/spray/pepper,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/security/warden) "adG" = (/obj/machinery/door_control{id = "Armoury"; name = "Armoury Access"; pixel_x = -1; pixel_y = -28; req_access_txt = "3"; req_one_access = null; req_one_access_txt = "0"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) "adH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/main) "adI" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/security/main) @@ -316,8 +316,8 @@ "agd" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/seccarts{pixel_x = 3; pixel_y = 2},/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/flashbangs{pixel_x = -2; pixel_y = -2},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/warden) "age" = (/obj/structure/table/rack,/obj/item/clothing/mask/gas{pixel_x = 3; pixel_y = 3},/obj/item/clothing/mask/gas{pixel_x = 3; pixel_y = 3},/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = -3},/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = -3},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/warden) "agf" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/security/warden) -"agg" = (/obj/structure/table/rack,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/reagent_containers/spray/pepper,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/warden) -"agh" = (/obj/structure/dispenser/oxygen,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/warden) +"agg" = (/obj/structure/table/rack,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/window/brigdoor{dir = 1; name = "Weapons locker"; req_access_txt = "3"},/obj/item/clothing/suit/storage/vest/heavy/officer,/obj/item/clothing/suit/storage/vest/heavy/officer,/obj/item/clothing/suit/storage/vest/heavy/officer,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/warden) +"agh" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/table/rack,/obj/machinery/door/window/brigdoor{dir = 1; name = "Weapons locker"; req_access_txt = "3"},/obj/random/handgun,/obj/random/handgun,/obj/random/handgun,/obj/random/handgun,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/warden) "agi" = (/obj/machinery/light{dir = 8},/obj/item/device/radio/intercom{broadcasting = 1; freerange = 0; frequency = 1475; listening = 0; name = "Station Intercom (Security)"; pixel_x = -30; pixel_y = 0},/turf/simulated/floor,/area/security/main) "agj" = (/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main) "agk" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/main) @@ -3992,7 +3992,7 @@ "byN" = (/turf/simulated/wall/r_wall,/area/teleporter) "byO" = (/obj/machinery/door/airlock/maintenance{name = "Teleporter Maintenance"; req_access_txt = "17"},/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/visible/supply,/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/turf/simulated/floor/plating,/area/teleporter) "byP" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/central_two) -"byQ" = (/obj/structure/table,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/item/weapon/reagent_containers/glass/bottle/stoxin{pixel_x = -6; pixel_y = 10},/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{pixel_x = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 8; icon_state = "whiteyellow"},/area/medical/chemistry) +"byQ" = (/obj/structure/table,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/item/weapon/reagent_containers/glass/bottle/stoxin{pixel_x = -6; pixel_y = 10},/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{pixel_x = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/random/medical,/turf/simulated/floor{dir = 8; icon_state = "whiteyellow"},/area/medical/chemistry) "byR" = (/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "byS" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "byT" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 4; icon_state = "whiteyellow"},/area/medical/chemistry) @@ -4238,7 +4238,7 @@ "bDz" = (/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bDA" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay) "bDB" = (/obj/structure/table,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/mask/muzzle,/obj/machinery/light,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHWEST)"; icon_state = "whiteblue"; dir = 10},/area/medical/medbay3) -"bDC" = (/obj/machinery/computer/mech_bay_power_console,/turf/simulated/floor/bluegrid,/area/medical/sleeper) +"bDC" = (/obj/machinery/computer/mech_bay_power_console,/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/medical/sleeper) "bDD" = (/obj/structure/table,/obj/machinery/light,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/masks{pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHEAST)"; icon_state = "whiteblue"; dir = 6},/area/medical/medbay3) "bDE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2) "bDF" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) @@ -4550,7 +4550,7 @@ "bJz" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay2) "bJA" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay) "bJB" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay) -"bJC" = (/obj/structure/closet/secure_closet/medical1,/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -31},/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bJC" = (/obj/structure/closet/secure_closet/medical1,/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -31},/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/random/medical,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bJD" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{id_tag = "cmodoor"; name = "CMO's Office"; req_access_txt = "40"},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/heads/cmo) "bJE" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/medical/medbay4) "bJF" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbay4) @@ -5427,6 +5427,7 @@ "cas" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor{icon_state = "delivery"},/area/medical/sleeper) "cat" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = -22},/turf/simulated/floor,/area/medical/sleeper) "cau" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/obj/structure/bed/roller,/turf/simulated/floor,/area/medical/sleeper) +"cav" = (/obj/structure/table,/obj/machinery/vending/wallmed1{pixel_y = -32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/random/medical,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "caw" = (/obj/machinery/power/apc/high{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/turf/simulated/floor,/area/medical/sleeper) "cax" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 0; name = "Diagnostics Room"; req_access_txt = "5"},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay4) "cay" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay4) @@ -6128,11 +6129,10 @@ "cnS" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"},/area/maintenance/engineering) "cnT" = (/obj/structure/table,/obj/item/weapon/hemostat,/obj/machinery/light,/obj/item/weapon/cautery,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cnU" = (/obj/structure/table,/obj/item/weapon/bonesetter,/obj/item/weapon/bonegel,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cnV" = (/obj/structure/table,/obj/machinery/vending/wallmed1{pixel_y = -32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) +"cnV" = (/obj/structure/table,/obj/machinery/vending/wallmed1{pixel_y = -32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/random/medical,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "cnW" = (/obj/machinery/computer/med_data,/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) "cnX" = (/obj/structure/table,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/surgeryprep) "cnY" = (/obj/machinery/computer/med_data,/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) -"cnZ" = (/obj/structure/table,/obj/machinery/vending/wallmed1{pixel_y = -32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "coa" = (/obj/structure/table,/obj/item/weapon/bonesetter,/obj/item/weapon/bonegel,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "cob" = (/obj/structure/table,/obj/item/weapon/hemostat,/obj/machinery/light,/obj/item/weapon/cautery,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery2) "coc" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "bluecorner"},/area/medical/virologyaccess) @@ -7461,7 +7461,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacfQcheciqchecfQchgcirchgcfQchicischicfQaaaaaaciicgTcgUcgUcgUcjBcjCciucitchncivcixciwciWciycjbcjacjdcjccjecbBbYScjichccjycjAcjzcjDcjDcjDcjEcjGcjFcjHceCcqZceAciAbTFciGckaciIckbckcckdcubckfckgckhctQckjckkcklciSckmciUcknckockpclXclPcdHcdGcdIcdIcdJcdIcdKbVibVibVibVibYfccobYfaaaaaaaaaaaaaaaaaaaaacdLckCcmjcmWcmmckEcdOckFcdOckGckHcodcnmcopcoocgIcgIcoqcnmcnmcqtckOcdSckPckQckRcgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaacfQcjIcjKcjJcfQcjLcjNcjMcfQcjOcjQcjPcfQaaaaafciiclbcgTcgUcgUcgUcejcjScjRchnchncjTchnchnchnchncjUchHcjXcjYcbBckecjZckrckickucksckzckzckzckAckBckBckTciAckWcgqclwclxciGclyciIclzclAclBclCclDclEclFclGclHclIclJciSclKciUclLclMclNcrJcrIclQclNclRclSclTbYfceQcdIcdIcdIcdIcdIckYbYfaaaaaaaaaaaaaaaaaaaaacdLcmacmbcmccmdcdOcmecmfcmgcdScmhcmicmicrLcrKcmkcmlcsKcmicmicmicmncdScmocmpcmqcmraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafcfQckZclcclacfQcldclcclecfQcldclcclecfQaaaaafcmzcgTcgTcgUcgUcmAcejclhclgclkcljclmcllclnclnclvcltclncmscmtcbBcmvcmucmxcmwcihcmycmycmBckBcmCcmEcmDcmDciAcibceVcmFcqgciGcnbciIcnccndcmGciGcnfciNcmHcfYcmIcnicnjciScnkciUclLclMclNcnlcsNcnlclNaaaaaaaaabYfbYfbYfcnnclSclSclTbYfbYfaaaaaaaaaaaacdOcdOcdOcdOcdOcdOcdOcdOcdOcnocnpcnqcdScdScnrcnscsOcdScdScdScdScnucnscntcdScdScnvcnwcnvaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaafaafaafaaaaafcnxaafcnxaafcKBaafcKAaafcKBaafcKAaafaafaaacejcnAcnBcgUcgUcnCcnDcmKcmJcmMcmLcmOcmNcmNcmPcmNcmQcmScmRcmQcmXcngcnecnycnhcnzcnzcnzcnzcnFcnEcnGcnGcnGcgscgscgscgscnSciGcnTcnUcnccnVcnWciGcnfciNcnXciUcnYcnZcnjcoacobciUclLclMclNcocctycoeclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacdOcofcogcohcwlcojcokcolcomconcvQcvncdObqpaafaafcvWaafaaaaaaaaaaaaaaaaaaaaaaafcoscotcosaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZSaafaafaafaaaaafcnxaafcnxaafcKBaafcKAaafcKBaafcKAaafaafaaacejcnAcnBcgUcgUcnCcnDcmKcmJcmMcmLcmOcmNcmNcmPcmNcmQcmScmRcmQcmXcngcnecnycnhcnzcnzcnzcnzcnFcnEcnGcnGcnGcgscgscgscgscnSciGcnTcnUcnccavcnWciGcnfciNcnXciUcnYcnVcnjcoacobciUclLclMclNcocctycoeclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacdOcofcogcohcwlcojcokcolcomconcvQcvncdObqpaafaafcvWaafaaaaaaaaaaaaaaaaaaaaaaafcoscotcosaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafcnHcnJcnIcnKcnIcnJcnLcnKcnMcnNcnLcnPcnOcnRcnQcmMcmMcmMcmMcmMcmMcmMcmMcovcoucoxcowcoAcoycoCcoBcoDcmQcoFcoEcoGcmQcoIcoHcoJcnzcoLcoKcoNcoMcoPcoOcoRcoQcoQcoScoTcoTcoRbTFciGciGcpccpdciGciGciGcpeciNcpfciUciUciUcpgcphciUciUclLcpiclNcvmcvXcvmclNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaafcdOcplcpmcplcvlcpocppcpqcomcomcprcomcdOcdOaaaaaaaaaaafaafaaaaacaaaaaaaaaaaaaafaaacvtaaaaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaaaaaaaaaafcoUcoWcoVcoYcoXcoWcoZcpbcpacpkcpjcpscpncpucptcpwcpvcpycpxcpAcpzcpCcpBcpFcpDcpJcpHcpMcpLcpOcpNbUCcpQbTxcpUcpXcpWcoIcpYcpZcnzcoPcoPcoPcoPcoPcqacoRcqbcqbcqbcoTcoTcoRbTFcrYciGcqhcqicqjcqkciGcqlciNcqmciUcqncqocqpcqqciUcqrclLcpiclNcqscvYcquclNaaaaaaaaaaaaaaaaaacqvcqwcqxcqycqvaafaaaaaaaaaaaacdOcplcplcplcoicqAcqBcqCcqDcqEcqFcqGcqHcdOaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaacmZaaaaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafcqccptcqdcqfcqecptcqzcptcqIcqJcqzcptcqIcqJcptcptcptcptcptcqKcptcptcptcpMcqMcpHcqPcqzcpLcqRcqQcqUcqScqWcqVcqYcqXcoIcpYcJrcnzcracoPcoPcrbcoPcrccoRcrdcrfcrecrfcrgcoRbTFcrqciGcrrcrscrtcrucrvcrwcrxcrycrzcrAcrBcrCcrDciUcrEcrFcrGcrHcqvcvZcqvcrHaaaaaaaafaaaaaaaaacqvcwkcwTcwScqvaafaafaaaaaaaaacdOcomcomcomcomcrMcppcrNcrNcrNcnpcrNcrOcdOaaaaaaaaaaaaaaacrPcrPcrPbZSaafaafaafaafcnaaafaafaafaafaafaaqcrPcrPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index 01b4f044a3b..5abdbb4154e 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -1928,7 +1928,7 @@ "Ld" = (/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) "Le" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{dir = 2; id = "skipjack"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) "Lf" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/roller,/obj/item/roller,/obj/item/roller,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom) -"Lg" = (/obj/structure/table/rack,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/grenade_launcher,/obj/item/rig_module/device/drill,/obj/item/rig_module/device/healthscanner,/obj/item/rig_module/device/plasmacutter,/obj/item/rig_module/device/rcd,/obj/item/rig_module/chem_dispenser/combat,/obj/item/rig_module/chem_dispenser/injector,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"Lg" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/accessory/storage/black_vest,/obj/item/weapon/rig/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "Lh" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) "Li" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) "Lj" = (/obj/machinery/door/airlock/hatch{req_access_txt = "150"; req_one_access = null; req_one_access_txt = "0"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) @@ -1970,7 +1970,8 @@ "LT" = (/turf/space/transit/east/shuttlespace_ew3,/area/shuttle/escape_pod5/transit) "LU" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area/space) "LV" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area/space) -"LW" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/accessory/storage/black_vest,/obj/item/weapon/rig/ert,/obj/item/device/mmi/digital/posibrain,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"LW" = (/obj/structure/table/rack,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/grenade_launcher,/obj/item/rig_module/device/drill,/obj/item/rig_module/device/drill,/obj/item/rig_module/device/healthscanner,/obj/item/rig_module/device/healthscanner,/obj/item/rig_module/device/plasmacutter,/obj/item/rig_module/device/plasmacutter,/obj/item/rig_module/device/rcd,/obj/item/rig_module/device/rcd,/obj/item/rig_module/chem_dispenser/injector,/obj/item/rig_module/chem_dispenser/injector,/obj/item/rig_module/chem_dispenser/combat,/obj/item/rig_module/chem_dispenser/combat,/obj/item/rig_module/mounted/egun,/obj/item/rig_module/mounted/egun,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) +"LX" = (/obj/structure/table/reinforced,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) "MA" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns12,/area/space) "MO" = (/obj/machinery/vending/cigarette{contraband = newlist(); premium = newlist(); prices = list(/obj/item/weapon/storage/fancy/cigarettes = 15, /obj/item/weapon/storage/box/matches = 1, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 20); products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "MP" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) @@ -2178,10 +2179,10 @@ aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMuUuVuVuVuVuVuVuVuVuVuVuVuVuVwWuXuVuVuVuYwWwivavbwjoNtvoNoNoNtZoNvetZtZtZwloNwmwnwowpwpwpwpwpwpNZtvtvtvtvtvufufvVwrwsufwtwuwvufwswrueufufugugugugugugugweuNuptxurururtxwwwwuNwwwwvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvutwxvbwyoNwzwAwBoNtZoNvNvKtZtZwEoNwmvMtvwFwGwGwGwHwGwItvwJwJwJtvufufwKwLwMwNwOwPwQwRwSwLwTufuftxwUwUwUwUwUtxtxuOtxtxtxuOtxtxuNuNuNuNuNvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwVoVoVoVoVoVoVoVoVoVoVoVoVoVwhoUoVoVoVqVwhwXwYvMwZoNyQtZxboNxcoNoNoNxdoNoNoNwmwnuWxfxfxfxfxfxfxfxgxfxfxfxgufufufxhufufxiufxiufufxhufufufxjurururururxjurururururururxjwwwwwwwwwwvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMmu -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMxkoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNxlxmvMxnoNvPuhLWoNtZxqtZxrtZxsxtxttZxutvxvxwxwxxxyxzxAtvxBxBxBtvufufvBxCxDwNxEufxFwRxGxCvDufufxjurururururxjurururururururxjwwwwwwwwwwtxuOuOtxtxtxtxtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMxkoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNxlxmvMxnoNvPuhLgoNtZxqtZxrtZxsxtxttZxutvxvxwxwxxxyxzxAtvxBxBxBtvufufvBxCxDwNxEufxFwRxGxCvDufufxjurururururxjurururururururxjwwwwwwwwwwtxuOuOtxtxtxtxtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwVoVoVoVoVoVoVoVoVoVoVoVoVoVxHoUoVoVoVqVxHxIxJvMwnxKuhtZtZxLtZxMtZwmwmxNxNwmwmxutvxOxOxOxPxQxPxRtvtvtvtvtvufufvVwLxSufxiufxiufxSwLueufuftxxTxUxUxUxVtxtxxWtxtxtxuOtxtxtxxXxXxXtxtxurururxYurxZtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMxkoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNLgyaoNoNoNoNoNyboNycwmydyeyWygwmxutvtvyhyiyjykylymyhaMaMaMtxufufvVtxtxynyoufypyqtxtxueufuftxaMaMaMaMaMtxyrystxuNytuNuNyuyvywywywObtxururuQuQururyyaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNoNoNoNyzyAxowDtZoNxewmydyfyfygwmxpyEyFyhyGyHyIyByKyhaMaMaMtxufufvVtxtxvlvmvmvmvotxtxueufuftxaMaMaMaMaMtxysystxyLyLyLuNyuywywywywyMtxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMxkoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNLWyaoNoNoNoNoNyboNycwmydyeyWygwmxutvtvyhyiyjykylymyhaMaMaMtxufufvVtxtxynyoufypyqtxtxueufuftxaMaMaMaMaMtxyrystxuNytuNuNyuyvywywywObtxururuQuQururyyaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNoNoNoNyzyAxowDtZoNxewmydyfLXygwmxpyEyFyhyGyHyIyByKyhaMaMaMtxufufvVtxtxvlvmvmvmvotxtxueufuftxaMaMaMaMaMtxysystxyLyLyLuNyuywywywywyMtxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNzitZtZtZtZtZtZoNxetZtZwqwqwmwmwmwmyRyhySyIyIyIyIyhaMaMaMtxufufwKyTyTyTyTyTyTyTyTyTwTufuftxaMaMaMaMaMtxyUystxyLyVyLuNyuyuyuyuyuyutxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNzltZtZtZtZtZLfoNyXtZtZyYtZtZwCvdyJzcyhyIyIyIyIzdyhtxtxtxtxtxtxzetxtxufufufufuftxtxtxtxtxtxaMaMaMaMaMtxzfystxvFuNuNuNyuaMaMaMaMaMtxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNzgzgzhyDyZxazkoNyXzmzmoNznznoNoNoNoNyhyINbzpzqzryhzsztztzszuzvufzwtxtxtxzxtxtxtxaMaMaMaMaMaMaMaMaMaMtxtxtxtxtxtxtxtxyuaMaMaMaMaMzyuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzzmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtwgmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmt