From 18c8e9f8f1e1464361b6c441cff8cecddfc83798 Mon Sep 17 00:00:00 2001 From: Cael Aislinn Date: Sat, 3 May 2014 18:30:52 +1000 Subject: [PATCH 01/84] adds new feature: cloning extinct animals and seeds from fossils found through xenoarchaeology, some minor tweaks to various other areas to make it work Signed-off-by: Cael Aislinn --- baystation12.dme | 3 + .../Cael_Aislinn/Jungle/jungle.dmi | Bin 64074 -> 72143 bytes code/game/dna/dna2_domutcheck.dm | 2 +- code/game/machinery/cloning.dm | 15 + code/modules/mining/mine_turfs.dm | 6 + .../xenoarchaeology/finds/finds_fossils.dm | 2 + .../genetics/prehistoric_animals.dm | 77 ++++ .../genetics/prehistoric_plants.dm | 202 +++++++++++ .../xenoarchaeology/genetics/reconstitutor.dm | 335 ++++++++++++++++++ code/modules/research/xenoarchaeology/misc.dm | 1 + .../research/xenoarchaeology/tools/tools.dm | 12 + icons/obj/hydroponics.dmi | Bin 147861 -> 157221 bytes icons/obj/xenoarchaeology.dmi | Bin 55651 -> 57033 bytes 13 files changed, 654 insertions(+), 1 deletion(-) create mode 100644 code/modules/research/xenoarchaeology/genetics/prehistoric_animals.dm create mode 100644 code/modules/research/xenoarchaeology/genetics/prehistoric_plants.dm create mode 100644 code/modules/research/xenoarchaeology/genetics/reconstitutor.dm diff --git a/baystation12.dme b/baystation12.dme index dde7faf436..580aaae68a 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1212,6 +1212,9 @@ #include "code\modules\research\xenoarchaeology\finds\finds_fossils.dm" #include "code\modules\research\xenoarchaeology\finds\finds_misc.dm" #include "code\modules\research\xenoarchaeology\finds\finds_talkingitem.dm" +#include "code\modules\research\xenoarchaeology\genetics\prehistoric_animals.dm" +#include "code\modules\research\xenoarchaeology\genetics\prehistoric_plants.dm" +#include "code\modules\research\xenoarchaeology\genetics\reconstitutor.dm" #include "code\modules\research\xenoarchaeology\machinery\artifact_analyser.dm" #include "code\modules\research\xenoarchaeology\machinery\artifact_harvester.dm" #include "code\modules\research\xenoarchaeology\machinery\artifact_scanner.dm" diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi b/code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi index 13cd5e773966535c2400640b6f65378c0afb4998..f27897881ce8a2cab1845364d0185673456235c8 100644 GIT binary patch literal 72143 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%0AW}=Lg6{pGCMoAv&gyPR{BB~s zDhv}87LlcGS~2?Rb&QK~YXJG@ttaDO6bSWltGjy!sUPgc%T2>8%fum{i_PCr5hZ`D zI5Uu>9d-Qug`IJwZzX`%^-+IM|@TLoylFL%Re|E==@s*!8WQt31JjSenjZHx8&}u)-KyUsFDTZXF3Z?6E4p zSs?Q!aU{<6Dl*5!!X&3(NGLWJk8DsJ!IxwcQ)9Yqu)|o|3uJR} z=^hiQ27<6@@BKm!)2a6$?GdO9tG7FMeU^>{KhPtOL}$`%04FQGVh(AHixxr2X~3h~ zk!lfw0%m5somq?rwvh5#o)Ux6xsAh_d>=`|-kS=C`+g#{Xi>k<$T-rkvGWarJ^YKg zjIQuReexU=frl~W`=@v6;V2Cf`{gb)|54s%0UcM~G1@c}E_Ft$SD$wiYe6Z4Ym;?b z#egbK_!Gi#_lHPz)+_>Tr0M=I#@+%dsxONFogt(o1rh0zE&-A5k`|Pbk`yVap&JQF zk?v0EkQPuWzb|NnpQzutOpy?56V?#x_=d-mC9pYQ(cbMLJX%~cx9@z=j~ z9(M;u2Lc2zoIFEltN z6>N;74@*U4`m7nJu|4leby^y)pRv_tn(&>$Z7tvjJI2)?XiYv#3t5n;NXT8p2JM#^ z1dC>iju{a`PW&E~uMcmwnx}_vL9^%=Nra*giJ-^CV^uoAiWbpNym#oS{@a#FpYuZT z@&4N^l8y?|--&_k_k*0AL(b#cU7n5=neSz}L86YwbwaSSU(x$O2&!!cg#8oc4G@Bz zAJwsAvn?i4fUcBm;TBH%c1KEp@#+2c`ZSDMAdB)OG?I$CpBX-i!CUR2A6W+;004RY zPR(a4*h|i3;&d5(@@rdN>_)~YA&6pL^vQ?qAEbGSF^68eKaRCT%5&IHly5}abo(tTO;+83W z@;}vEKix_#PW-@5JwHUBL#q6aa7jZNy1}uqA1}E4HLh$T`$PiUZ}t(V=fLExA48g_ zE=(`j0|nL5uuHM>&UFu1{ygsRoae*+in>!NrgoxibgV03tE)?aZfxa3_f3C?WMWE@ z!@FOqPSBoKO508-w@7sKog}4LJq$yEl#s9U_{((;|K(z2 z`-@R>a#e2zmFvKb{SpzjIpu9doZ)q8a)^1p?oJL`Sk%MP){rb1?Yo z7y^F12-=_^opgn(YOdcZB55A@)rA#Wn`)*sE0Fr%ra7_ zp<>!*+LQMt9+n@zV$7f6IALKaD))Hzih^vO^f$iAOkahO?kfUT{PTliK1_!qd~*!3 z@pFf*Mw`6bg)CtL2Y;vd*aUY<(5QA34L#8=$0LTMq`T$_pCfc^4DstYMb>_ccbmse zZZ!WVILXVjpBwfU)%V{0;jr>pIo?3R%geVNzLxTOl^AaMUvAHE!-oP~=&c_;QY_KC z?!NwxA36CDi2C<534I$1W|pET!w}9r_Jq!P8;(x@Y~IlW{Zn#K;RKX zE1X1bK+m^*PD1Lhl#$cb<3DHE$PghRBRYb&mZ^a_yimIIlY11*W@J$RlMff5~)3>9-%r;>@bsQ?pkpE@wRxcyBRB>P#xn zeOidF=~~N833M-(%DO5C5#Yx&q9LiY(F24K(EfhVe*0R8s?OW+drw1Jn_OlAQ3q#`Q2Be>_+a?Gog(QL+?n8;D#lZT3H5X z1`T~RUro_#RF(zqJl_2ct!73nO<2`@L^0 z?Uwh`zDDD=XDzbD&D3ImR!@`se)l@%g*46aJhfJ*lLyecHu*Ru8+SOF#cY z@2xxV&`#h=bdeSJjNE-14?f_Ck3c6l7q)Ug;xv%$UZ-ClNU(5>WhlAFd=wR4@6wha zsuFS89LsCQ_+sYTtbc;h#EpUp383aHe!RSKF!vI2s_=L}Bs$70_WLF-B*U>%2);!y zg3U4bmEDa8?WR#LpvdW%8jNm#J+yBXyM|ot&bE#>5Mk-5gK$M0?@e_8$yVBF{z_}& zx(=}a0`v+M!fJEM<&~5k`qx_I5kzR5i&&QXaw|{8^Moy0ljzW`uS|v5@4wl*+S?eS zce}~45Z<0*si9wB!~qFC4CEizYUz!zbI7n6NRP*bfY@nwoDu-KVXC2j;J~YgYlkge ztSk8whwLwYybc+d`KUOQYK}~c;khA-3%>>$mz5(dAQ?IO6Nlzj5n58iop7iR;l}3b zuF@{F+h_rS^p0*Z!Xlal`WBdY>FcD(9JwX>UrGzs0X zM;>;j_Aum+v7br#ROiWV>CsCT54M>ti5|I|UTs+<`g5E9eVtSvq(}IPj26-S z!T&j_FOrN9zfidSJk8x2w?(!~S<(93rC!yZ5Zc$Pwc{MkhujW`KPO+Ibsp#c!Ic1f(6j6>NY z)1FmUe%JMW>fV@zZqEMivFotrYY)0)J;*0f+VxY8?6p$_h1AS0oJ~h_$|84`MfvFN zC}9<;92~I~wiP_Us+5a{fx*|O9Hzo@MC=d>dENM1{n^}XbwHelJu_&9#ppr+aN}wa zG*~AUTH@Hjd*Ff^J}~`SU0_iO8rlE57fayx;lHo^{v1pgl3;o~B|bEByLOxF|9eky z35^!S?L{?ryfhDK>SceNs*aO!lIoO(qszgJrXsufDF(kXQ?&7F>YL8To5-JdR=(7F z_}R1qw6(JN0_5zG_o_Yt(gv9hT4<2p*%0OUJHKpE#zwI?O${m#LOa$wsNg#PfmZel zP5?y{#-`lo2y$qCActeKgdIFr_z8p|{du6zKF zUyo%00w*u`mGl94LP^)olC^LAn;ROY>+qWvMp1D0%AQ^CcJ1AbS$)3PHVJ z<5V&l1@zMm6((hXQgSVE8w`lLQSMH?7vg^aDava-{jB==a5@95{`H4LOhA}?-N_bj z*80vF+@kQzi4VZ^^m2dw-}aFw=PRpXZ*PP3m=Z;Ie&s|g!o~S%1Kd=`8Sx0w0fJr{ zsLY@rHQaufiSYVJ;5u~Uqjw}aI?>c*TuuXD;$GPY#x>XkB2p&ozMUj=G)%;tKs8O+pzf97EbMzZ{DBcqU!X%Fx~#dsQ?$~LxvjN1kG=5 zm_e(URXl6DmA|&cC!NP0TCz6mqW!?f6FYd86!lS2b_8SyU-Q-PLxAT>qXamPjEw8@ z5Z}0yL5G{rt>tA`6dtf3F1sAwmyU9goTeA^5Fa+%+d88)vs)E0U*cyD{R zekk|6h>p~ay!iR;uUiMXlm%;fe1uWE!VmmOJR3PDNHdB4AlA;Y{7%EsgkL1LEq0>&PclX`;r{ zTsxupz|j)?q^H{o*gkO{EnUcq4u0TacP-p{-zh15#woo9X($t&yWo)DGqI%5=gBI* zL-P;L?p)y0jG=MT*Mi<@Q|XJ5b?JgRB_i;Hsl_L7{deK?&A(=(93HA16rz4S3j(I$ zV;V<7{w>6a#GZuf3Rv zEI^`FTtdw(F#3m$aw-G{1vJ#el)`ji6TF^ZYb?g)Z|FUZ^{Nu>F^bUMG^T$|S|@VT zSeZ(3vRefPu-^7K;lqPLTEw55X`?;QX&Bou8{2bnZb?pfabB_J)4umj**82*rYsB52$#SoTXPwEiKRlyxgWuP zuS0A%3HyBzzWfcywdp9uG>;XgACOz#d76iBeGNX+C5abW32bvU2%T*jXs%70>(iA$t zVRe#f^X#8q`|x3{$S*JL_K+r;eu>ux>=6SO*5hwB!i5`ys_;D2jz2|q4ymVCq<%Y^ z0C%YB@pcj8P)nk^DZAMvel}Z=?(?$Qu)2!=m$5hPV58v0rKaFX-qFJ#)^i^t4F92@ z?kIl#e#0whPk?7as3slf+;n+n=Efe;=f4@|qIar+c& zT}*OlvH9Sm<6w5`dcy_HaGEj2aN2gbIy&@Jp)-|-I_)p7UY-5QWzng&@TI78{0qq9 z@%=p|CpXuh@=diIAjSdi{ZsQfewe+0zS2QK3#SQ;OO4dlP%lrKyKAAxNuDEuor@Qm z12`w3vc8*Dc>B;OErawc;F~9@lZ?>d*w9 zZju^pgCY?-4|%Ma;Sr9SO5(s7RX*110aPX5arFqdM1~94tFMPA^Hr^lC!RZGQuT%l z_y}maCMuNi`I+-{C@crj&(X$t-y&Nng`{EithZk8Nxt&A2^ikYyc$Dsnvrc@kozxx zC%Pdf1ZzHuKNqQ~Y6Mhm4y>F-pdIfQX{89mo<3BVXZ|`OjJS*HTEGBE+i;@b`QDu~ zrO5pvZaGLQ3ucbVL5?Y5A%_ky<=1h6-=E31U1@jnbd5G37h#07_%=8ufsvMQQ+i%6 z*QZ$LSyc78^y6P;MaD7+B|$nRNZb>N>mwkL#Rt+}Cu_Z{#syQY%SjGGSDj`&GQuz? z?>i(gN#@;5rTMU55qja`*aU$Rgm1mVuaC{q7Q|x&?>5USwef&p0Gya;-_HZb0*->H zc9Ra@1NPQcx{qeJ7bJu_46d%N+ob|^i?)^rv?L$i#Yc?s8tPpxfomi)>{h?N zFU|Psw1ZFf{Fo&jFGO|9&`5RNO+t zOk1>^8s4+J64_|f`(W@tId+AoEW(1s90qF>q(MceCslkYflGIYO1!t`uC3Hf|)`AV< zqF%!v-ldRxm& zMQRtRS~2lxS`=GHL5qeP`hrHi=bpr@h}8%h`=YfD(WfF*x@#YGNow>ysr_phxk#@> zN}patVgI6nnO6R2J6+Lq^{}Dqm$rOA_PujM=}?qf0x3C#-p{R-?3TV=a^v@`+}Ah- zO<7qHiejx1>7_&b)x35y_)<&3 zaV!hsGzj+(ElMAm3Bu>aUt1_@rm6}CN>i~4VXDnHB1hf$5Y{Tb%;EKPKz&gB0TM>d z$mB`nTiRXtX8DzRP#&ZX1Ks<0`S1idq8YK@=z2VY3SZo<6a5<-#`u@Q)&B#?qUW>O zPn6>)W4FZumz9Ip)X>w|!wCKOu5n%i=0!~|n6a|Q;WY90Y)8AX>DPh8yo%5NS_=>% zA~8jY>Dqq(GAZtcyMqi3KdLpoQ6_-!u!ppb);)fdP7H! zgpIWd=F9-PtlWtn5%qH>gP*b~^n}CscTt)i0YpC6-ylbU<=`cRtnI7yy(^BAdR42g zbivLy6%ZP&u4jR8-$VUfo`|9Gd&z3MgDi>eU7_A9dH+mcVVk@fm?ZBHBgHQ1I?{&I@Ak^cePMcx+iIriKT>M3VXi5C|&V&ivo?(w<-G__J>Yn;~JH ztgRx#VR5rV0z7AMu)t#$MGAq*5gW(W4BG#C@tgcg$Xtco?-+(&lF1zDD*Rj`2#j0= zKL5meL5zUxN7y3xQ2{)~X8^iEARx)cBOk`a7<{gaaoctxN>g@)-Vopz6Q9d7N61># zesRfD{xxoJcNlQu1Wx-k#ZO%kru`RJs3<5lA6!!Xs2LK}e}n`2g+M9dQ1T=29natY zkFR3PKn7pcQ5cE@a(~jd=ep?>XII7}f71ncs=;y@fZF~m3|;@ue;x&x2f7WZPs^^^ z3P8_*kyDjj$=wOMg#fy&sJ!UJjX(Da5=(qL8ORQBzOdkYd&H$jKZjyGAk>dx0X*bI zClcWjUh9F+CG%VPB^|1~jRS(ccvv?)o8_Ynpiquwb<8}@{O4cdAPA@m{!Z^90IOg@ z;ro9f^_Q844NQtM02nKxd1rycRQ^bH#94~J9Z{c(xo6Lc$vTcsKPxCHXg_&3UE@%> zF3W8@6&H@85MZ!&Y7uc^TZC7b(on8rDq&moDgO%bM|F`WmFA($O#lk>x!}F8+cE;djA6%Hq?ChRSURm}(8HxKC;?^S zS9>w!5TBBsz9HDWA_C#gw$79`eh=6;u$BdUcc@g_-9$}}Z+1|5kB?>P@~BNtsFK~T-SNQV^H2g{BEZWb-JVO_`|H2gOkby3 zwjEcl%DH;i9(&c#TbU# z0E`oQD1?9HUyf69zIm8mgN&H( zX+i2whMQ{w`cIDwNnuV$L8ag%ct^RG_hWH4R(gWU%BQXJtam4~*YeX5{Zrh20RdlNW0^&7DgDbTu2SAnTk@ZY6;mtM^fC5ESlpb_hO72fq{$+-RZBeHW zeb_%#MAO_QrMZ^C(fU?$ML>OIW}r`;P4nbn>#yx<|CcDq)sTRCbCrNO;m12$Xhv-@ zgGTH=6Q~SCH$yHh1kljDurwZwPpe;Pog5zN#=o+8O-mu;ry>p^B!9+kBJ7AljlrSBq)nfOSn9L@k#bz@EOTyO+?9X%nM!@oh_NK zvrGvfTy7B{fgS;MF6m$OjWlc-=Lv?izxy%;fe_GRz3V}a_A6~_&8*UTTqbO2T{qJ zxHN~`c%~5~$cq^HXtONi$=w7DDR!4>deOTas=RweX1SLk)9SgLkp}^O( zIc1g6jySS2<1_&+PO;V~Nx@|LS9np#fySR?=Rh@6%~!FC$&Hr5nV-}QVQc|~g2V{W zBs?3OGiLfFMK2)49XudYiqAqDhFp){wdllen0d1uF)@n0kN_jX$?E&<6@*Sy`sl^ zFp>j9mtMukDv2T0UpkAdn5LB>O|+!xHNhl>Sj9*5cc1b*9dcw*Nf7AUThJV z4F|p>lb@BuJXZv*2Spi;5?WL)?_--av)J)3-M|E2zh=~dbllPvBpcvOqyHc=ku<6Y zbX*7YqY<3hwE=Zp5MpTJzW^lsKYlg?Q}dJNa4Cx(+tGzTWb=O=2<$^E6Un>)F>&RQ zy_rO#A(uJ>DEb-HA;<5Gn%XIg@-t6u&#-=JkX23gX8g9e+fGcG{)VMTel!hvx%HhJ z7`#3oNe=0thJVV@JlL;Ga6O&}!`!H0xZF|{xm05Vmv8Hm|Fgx%DdcBqFP{j)JTr$d z>{8M}J0}$+5CcCNh3%xmVUif}G3{4jA5;|)%^*k9{n;RJ%|j`x~?nt21ogkjg((RWd^%uhPagVp7Pe{b$QaHVm9?vFO6pX^5~ zT!cCOQut}92fCrrWM1y)uj%|%P7BU6_dThp3E|yZ)sGPdq@pZL=8medO_$gJvj$;K z%p^$^tyr3rZ_<-F8mik=atKOLwedhul3Hx+m|;h)mH(I{;@6MZF~%fS@E+CcoKy+f z<`F2*z=cNgCqTBdOLD%>J0TlJ`&1H4GZoT8T6Qwyyg@Chl7Ro^OS5X}<9T%W?K2>8 z2eOEylr83O|285_F{^I+k2`J1yg=Sm=IR5_(#gi)U#!Y;8M1nO`bNmi5YKTuO7I(RUj12CQs9DNBT&u6%>TkUf*t_i_sI_{~Hk=3}rc-gU|K_7Amz?rg z$sJ`2XR2Z!h&k>x{Oz-?%l}EnfhT2DW`)kf-%3gREUvSAh2xoz4rwl~JAH?1egh)x zI=FAw^z_K(+p3lmz3_33{W4y6iw|A%VzN|%N0D0uZ$skE1v}&9Rju1T$n&P{oeB@3 zO?h0D3K;is7a%p$SO_|^ayMTKqAf4Wcg??92=PX)q`hdv_{@LTNKAp$FxlI^xdz*G z{@{ZC;Pr*-ruPYnK~ML*Fqzcm;;sF6aPi1s-z6&HN6o=K$eIO2bpJ=Kx=MKN`mIZv zk6AioMqP>NdU=mMHH&B=DiTB-23e}Nstl;&FgOq~+R(hD47$z>vFE?#0`l#oMZgqo z%5C_@>l#D*=7MS9CSop~3n((~l{IirEgjV-a-p0ENrRZX-DKX%Svx9Dywj%5c|o1x zMe!ut_0T5nAh89-*sX674Td6f+v$*hi1nXuhM*bQ$r^5By249HIOGm?R$rpVfco^- z0ghcj9lY^=Dasir|BtZDvC=v8p{X%w%s~qiLEG*#;JhcR$W1ujr>o#{;iE2v20V+2 z;Omra`t%*FZj2Gwj6Me_nag{5Kx${dk*40&&3?-~*F8reY|EI8@m#a$YPWT-VmN*a zWzY3xypxe~oF9A|*aFm&9J`)xy{2f}5XXkwyM*2tTrqip7YoI7f-nvtx)@Z-HuMgS zF_OcBgY)jg~QO88?*Sq!#=dW}MfZun# zRTI+pwoKVhe#e1uPe`{~Q0jx0ANYr4FhX_kaiKApo`&RRP$2F!9hw;Yt5~6#m&!vV z8ST)=UvkC>1UD8kAABmbU)LRn_+%r>naH>!lbU)KWG!$lP*tDZ{~P)|3c>SPcg8bi zXm8!-;v?n3^?;(QJNxY3QSa~_)I-VnFO0iuGdx59C5LQd2# zM2X&E+yACDZkX7PJicyTRl0R!Q@vFGxj)ie@Eb^^#CZq}J?nOyr%p@6YLzz9$JlZTDecZ78g5bq`C)o=NH-9qE)Y-VtC`A$#>hA@*{sE;b?6{xaieMHv&Q=}lr7tkpMg-qnNejD(QWSrS- z#Hz`5GItjq{;+(KSfE2EE1c&)VVEb`=Xv&Vo!CAqphF${NC$ z1qpMp9x&vkb!7kGYsmrPl=RL4$(@bIRx?{$ zp6w4fE-p!a_K)n(q(rVGo`37P3^&}}Zmf@Q`MC|>3eq7yzszNc>t@Q@R*0&wVLBRn z9dA6TAXd%3=ExxD1Zi4zxXfrmJ#>VY)BMJst#pbnqfo)wr!3@NmAdzm!oQyEJD!Zi zRf2oa@-(jrj^;AWq+_bO(kQ557okFZ+Blvf+bK%FcqwtCbg)y!=bro4`l$uY&CXVx?mRGf6L((YE`A4vkAU9q)=_6d)T0SF)SlVo zkC~}j_IoI6n>MvoXO?Mbey1B&l2LZ-$WkgRzYz@?h(Qg~fAm{nO`m|Sh`Y)&(^1xA zQChXyh;Cf6{#goN9^`9{=N?X+VT4+7Ey`UCRAxg(z*Bmi73(T?Czesy#IIYd$f8S zSO6kWdkiIVv`@XHQUp3O;+Gsbl7_|)TBqP!J=>=HvDfMz!5E7r-_==sP6cp7{qWSj z<$KWulGMPsZ@ z1aT+}KC@8;Gg_`|t~fAPNG<#YmR?jnGHYODF?==_;Q~Oy1b&Q85qyZQQj?G&Q>2|oh9$Ut)BhNQihbQegfm; zRjHexuuj(Lyqaq&1b#bIQ8c^SIHHF|@-2?5U7Q1>K$4(#Eyb|1`w?Lwf0N9Md_iLN zzXO2^iK)TCQKh&4a-#Kl=x3AI^7&6L%naLL5&BFoVqRiqGF-_$3ctHQrH%U0fPN?{ ziZl$v>AD$=R4svNqD4NB#&^j#mfGncS7j6d!qQ1%Q$~_afrWYa!x|s&O>yL3Z4K$v z?<@0}2<0G(%bnd8B}l@$NQ$rae@B!La^LeUNJ4z#z;MbiTuK`S9CW_!T6@6 z+UH;jamv8xT$g=%m8*P-YYh>B3e)EH9Zh#mf|ESo;dcKyiBAE z{TMX|Yy$BjNq`F64I%E`n5WomaariK`LMq<4}Xudv=CzF;@Wl%Pk6lrKe?T9X{Zo~+}j z!THPEAC1}0l(r+ZC@|REvNS$(u7KC2s318$J_Pj>Q&`H-E1z8w#s#X~S&ryBK7VO3 zm&#$-m{v}Ht_x2ZqS?1AteGWf$V8CqK8)kQsQ;~C6!JckK{z>}mRkbt`(Y6}xJuJf z7^G>tw2#Kp$RP`Y%)8&g5*RSXSIaP~BA>{h){L4fwBYT9LQ5@lWu2GvFJ^+>O|R}V zwrJeAWh{scRQJ&gh#sE0EF=p&KKn2^8ytqFcU8C?)3BN&YCqp}O05c09qA8#q~Tbn zM76nMnF=lr#V+59SR5BQ(`g`iM6L42B;NtEk0>qcXIEZQ`0TolE2W;-cyx)%k0 zF-tk-%N@(a8>Can^qmLc988#xF&ISQKz;MDVdx=sCfW6Ev`92mR7)arAw}q5M;Oh2DF!wiPU1n?<%B>j~4(>-n~(Go_HKVw_h$p7Q(@lc@kzG7;) zkSXu?^)}m>iBWUho*1=e$T!S%9dg}2ez+23%&&EhgR3PGn;#VwA3Ea+l(7fx!F4;7 zK7m*A1+|RPn_i*9!-9(L>x(`CH+&GPirq;K5y$)Hp{fPAAsZr2G?(Q^bmY(Jh;!Yl z*hLKR{YrirX#bj5w57g!C%XS7rB+51;xafg!PXbB4TETtKRkDWOH-DI4wtAEL|Vq&H2I+Wg5C!SLVZH0W~K zkH&RPN^~)Q^G`2Pw*50cP>rD>SjGY}zmVqPF)bzGohosMO@CZA6%pJ#DlP8gl{)L@ zf28Dn@w*WL;+8C6k8+)#-*wUs{Dh>8N2I|S{(cfns7TudVo~Lw6c30`U>+*~>&S2K zHf75-9=EnGP@RY$UMd>+*}iY~;i@U5$?irwv|?gIg&b4Apvz^KaMQtrESiJIe1OJ8 zfpH$rCXZtvy28g%&T+rfys~#?-XG z%ke`~c@_NQ$OX(La&Po?C}MgcMF5-ZuT} z5jncd*2g~yem*=O*Y^7jrPFor!6VcPiFM-A;`~5R9?Hd`HJ*PvVJxL206fmvjiqj~ z3Nm3?^QMDg&|Y5X#UdYKhL?36#`q(8g0dp1$f|etNQjnNN<=@2AI*nMJH&ep;|Fo7 z*jZ`^*Z;^z1_W-Ry%48vTB2K|i_)FCy6KeQv52lHKh2OQjx~2QWbZcmBBCtWhHRnQ z=?KNrlL6QX@|*a?@K1sd@b1S2hcb(5#=Je~tzosi1f}SmbD1w#uav)k)=Yc8S@RfF zUZ93j5^OPYxcC9=b!TcNk+@vq-|3oo9B>|SB={##(|*V^VO;;-XwGnv9=rQN@rCOs zIL>G_-Ka@G1p;}xB`+neaeZ9iw^VSh)9?{PbvFFzkqFWH!SP_yGUI)}Rvn>y;kVlp zQZRy_Qz|WfTuGg;4q46Rqi9g7=pQu=8lukT<(zjRhh#{~d@caNDE|K3pIX2oIu#}| zvo^u|*B~0t)`<`dhIU{}tde&`Ff^%`JgV! zm*b4*voJ?vT?=`futMH!J_At|2n=_%0kT8B;vZF3ExsRMZ)eYmjw6NICWc?e$iKk6 z8SMSjZt~Jdc_w)zxzK?Sb3oo*y>~VlD*s(8G_bp?1rx*j&HYc~y_rNYLhK^{84aTC zLni#=vn!^TSupG{A2DMHe`8270lm4}*U7YcBG4`Ib58#jc8+Ggs}VeU|JlZvLMwbS zF6_I$>$2{=;}FdUj=Np7zz&%6KeuRHFS7fpB*%ht$1VyG<{(p-+i3slncrfO;V+M( zg6NWReav{_dF{)7k`Jbi?{A5@UP`UefGNWcZcjo>zgXf1CE1PZWs1@nS+kZMLtPwq zI@+nmT?$6R)26*GbS7zKv#gu1JAd#QtNXV;XWiJ%KN?#E zRT>|I2HkRg&NshHW%0bo7az|;(Z#xlar-@F^y}k4qd~aKKg)d~Yg=6>_jSmeUm*p@ zd%Ju_@TR_BA6ve@r*Hk(SC&u)g`c>kjLJ?R`gu?NUD9s%^r^{OYUHcLuoB743fGmk z-AtK_!Xh{M;7JrI;r&Psx6zvch0j8oCwEZq?!_~6c&Q+0TlwKAZuxnAYu{r17?Q6F zu~olwR2=B!-<`)qQhr&7WD!H%6p#!#cRV;Fhd|qeJ92WrS<*>U3VWsw)=!%Mw+3uiiJGN%drkC48pE{ent<#Dha!nt?oot<}gyseW)cP|J;p z=x>_r8E9%>s!f%pjvyh?HAToWEv4qaNy07*(Dg*{o6n+x7xKx%;u3uDDm5uO>kE{g zf6_iK!ll4uc2ldT+mcfiuLUV7@bS*iM0ZfRR`?=%-OsBe&X68F@b5#)eLN=LaN|K% z&8Z;+kp{T@AUMxdnd5$aOwt~whT?aS$5g}lE8F8%O2k4~6xnPspEAQ)D1DT3U7A5F znk8JN;n;~0?C*@3{QAbkbV^6VIna$nWcpn_Z|gBWN?I`91`e+gdo_71kfCZtQlAaH zK2##(hih}|8#e1Cl+3`M_l?qMsYIl!j2<6VKk9r^kV>&6+GP&b2uvG{TN|0w=s3Aw zWj$?!o4w=AYA3hPA5ZiDYJX+o4|_XPX&RV2iA`&ct>l=8P12n*o1`IFnvLWMRg~Y2 zs3AS&+Q0X8Ss&t(bV{)IhLy}0G?%V#t18yF3hHZbC*uggU2cAV0WaNuen7);y*LMD zTGn(};?LFHcW3Q?-i3@HJo3&LcJbqLFWL{2qkZJA<1X>$qfW^>etK$~CwTX+bbB@> z7wnOJ;tB(1pSPfvkECJFw+?DojmpjW-be@Jt!ef_k4ca;>7;~r0}d9(r66LdUzz|5 zhP^EGccB7x)pNaoPtDgz%1re4g44cA{Ext} zOx*aT@mt5hWN3DE^K;--g}WB=Du#YyEaS0qB&YTJER$+=niDncx3KxWGM%kA65kg; z`<8xr@mK`!PaIL4zBygMK-*7&UPofk%>oyRC)()1fY5F!49EqpKx8^MeTmmegXU^+ zJTDK_-E^HxN(R+Xsfb*Cl+_9jY^!7S_;~u5@6`t`gJMY`NMbNsI!vx&znU7EXmJ%& zU@K4dgE*Rr^UYscc+M#iqxw6`UrJ&KtjZ+vhfZynIxuxS!fr@QR!1zdoI_f};)7Ew zR*TpnY4;}xE&HPbGSTyvjEl_$3c+nrlWshv7meG4t$(4Vj6_kp;wk61&t94Y+ib3l zMamAZ$BFEvF0mZ1-Pqt=9m9=!y~ zVG%03-pjkkr^A%LPoF=7Er)qPDkWci4*+*s0ob>#d(jiS=hJ5NZCVFOsn?0X`}{}C z$?sZ6Vgqhdn4tax+yp1C$;>EdNUdc!X0v2BCB~_%8`-D}X}IRbO)pt0aNt+EhV;y{ zkk*zd93Ov=E5A;u-!?ny{(Z8@fJ#2mf!wtP%S{A44PLF~ev3vUK5*3AYb>&RG$5O- z_^FCPPH1~6x^_MS9Ns1?4_TV-0C&Y=J@giw@c1aJbBn^{bj%(01p*PtWmd}TW==a95mVVL>VRg7(6Z6ZYv}KYq?c zvMLT2PGQSk2&ffE)savN%?aOsU%koD#OwvjJV2$C=f1v`+ZAXwt)HkM)T<3|AN5o{ z*GZ+l4*Azksid}xbbz07@-CjzX^1aE$d$?zw;{7k^@;kc+2MJ)U_#y-u}$rA5- zx)8X%q%!u~l1m~JhqN_3W(A-2Z!?>aC=5ReIz=UclyGe=H}Y8P>MpIjHK+7@tOWv2 zS~2N3ddYmlGw-stF&?amoEf!~R&}FJ9gk|4Z`&%TvZU8?eqiP|8QFs(WfYV@I`pWP zCnkSO?EUc#2%TOyQ(pX)4Nl%9wFexMtpRb}BJTnX%4Yn%Fxc=T@E~IGi*;?6{H?z5 z#u}|Ovo@Wzo1#Y$LrXR|BZ&Yi^2Z10)cSfEg`f}ZY#9>d`utN!^}aLNw0G=wFXgwY zig_BUrqgwI4m?JB3F11SB{&n;G<-PJ@ETa?PC)O-A5-zLk=L3@PJYVwx#?0Fr3!zf zN46?@2RSyr|JJ_*7P!2iO~;T3A4cC{M1Po%*)YGI7vDNp{e zUs{YaAQ!x#?$h%net?oKx8*jZusUukEM+cf`y?Npoja0&S$HaP2%gI9`gvx79LSmC zuGM0`s*6&*llq$?Em0leJv7C?$43EFUKpe(axwM!vxbicM=M(6yinWQpN}~1M1F6> znzO0s(k(?J7T<;IH%ow=T2{b)AyUEgBw+6$b zMky~px7pF!1lmxA>tBDU(NCJih~lt(C5Yvg<+`U!7F6~hybhZEXj zaIagCv$gZJ1Ss8H?)GU!lGyX>$J{KoS8;#|K^x3*Um<4{+-v63TReRfcxd5m zASRs;IF1Rq<#$!m^CfvS6%jd=oo`DlLi}Dd%x<|EFS)sM&C^^TL8w~G{%{WpA%i60 zz0Tk7Cowvjev7v2y|HgUd`M9dmC=7nWO|}1%PQ1-GKg;$FE{Q-B)dSzba3!lYcgLy-F5cV$J%^!MEa3&{e`wxh#*;ZBjLzQkpZz zlV(FsE&ahKMgk>R)g#zFmVG2qL5C}b+CQBx!*5#ORHk& zVLe)oz!-DQBvZ?O1F5*V)f-kL1nrKN#E%XK%xY90@XjyLa47=HP^1*%1c)Tlo9nmK zqRkf;9{+XJf_3KZd(^-@m%MQgwz4O5cb~yMt0xM3!pi=%CofWOXQbt&l;6{AXaubG zN4>R5r_&TKsv8!>t`gua7fPlN?;5z-0Z2q7iYrZ?S2ot+!b1iD*`y;7iyNSBT!_%s5IR^RN*X zTKyXNaBiDhr4}eXXd2blJfYGzkE0X#Sy)o=71FhyR~7TK;!LubI_P%nt^PNG|4!v> z2HOss;7Ig?jM)Ft+nIl}o%I1YBqd5KmU*Z4NLr2BwNgb?CHC58j3Aa+UTdwjl%g$4 zhT17!9gU(LyDC*`iM=R|ZPG~_OX=8`#u_E&8#8~ydw;s;o^#h9?)f~=xyu9@mGG+T zddR-v)Pn1piNlx7=~OMxh`y_rnELJ&>3>e5ql962cL{%9am%=pDN?)06F#?x zAIw+j7s-M;2>7tj)MtM!?9bmtm=K66+g_4;r1RLKkiKz~98CG-SG@{T#h4$6(7k^y^kraJCEko3Tmd)2G|T0n@eER@741=95Y zAv-I?RRC7V*`9`tUMMk7?pL#P%tggqiAixy_YM%y$`H_#JH5SL>4@z6$5ndY+|0ip`p!Gm zCDEme;0pd>=!LnYO54_`TsA#Y{J~kV>Tdv+Oxo-Ef4Q@iH=Fk{qAfJYAlx{y2+~=o z#*p>+r{C05(n1+NBK>BynA-|Pn8T-9E3sm+11dsE9FOoG+(;|nwe5C1)5`2>YFSbR z8Z$8ucRrvAo=!UE1ggAV%3biay` zFBl4*(hZU=)2j}{xgnvK32mk`iyT+JUQ%0X#E2p4J_E^OEms~ZE={!ieDQ4B=D$}k>vs{cjC zVP=*HMC|Yr#L6{dPC#xA9x+y)@P<|R0cPfwlqDMX@7)l7;K2j{bGmiC%rhbg z*}nK_eBj>k8bi%kB3P7XbHmgsbB1_ht#quIDw`ait0*np0xh%i<`2*0`Em4?R%xm5 zJ0iO5IfCm&90c-fs2YM+_6Ny!g{TdEhILE6K^Jw0)pkeH%ryOOUxO5G@X8Jpywzc+ z$ZSkGRoMm~&kts79SmCxXxtoDhWhSNjERxpUw3>3(2eeOn-W2P{I zACHvcdd1ys`E_gZN*}?YaSm+SWOT&tiPGR6lE{;uTcg*M7hA`G#((CvQr>VCrA$2d z?ADP-BC+oo{1#X6KPT90iS*2%mPX}w4H00z7ZRUR`)MKn?U`7O3#tp0R6VG>kRW`AUKtick&WGkFw*pKh}ELQ4wEhT#SU9QF2RIv3VbO?pUnhfv7 z%CXn!>s7^GA*Ys~^u5A=Yjv1BXzMh#_H#1;5u#ZiH**ApgoKDpLyu+_ENy)fF3IS& zCTN6g$&xL61}yg<*IYCzyMvyBh*T)wK-b5Hg3}_+{1Z!0gk_S%pG`!;` zb&CfXCk}V}COWZTr*q0E&zzr_rYx~+&9BEteA>}Q`7PbmA7$T=Qhx>hl3yQ(i-eeD zB~O)aPKkaE${UgGFthD8nw`#pg(Od`5rEn1hsgP{-gj>eB-OJ&8t(iaW+%pN@D`<= z=)VXpnjNpp!fW4E2&OanK@I*p1rE_N!){@#yy7dD8pQJLjQLc4>eEahJ@fvh9ES^y z&u42mHkLVCREL#p7EkMH*P+gP)q|>>e%!Hp*!jG!XlPksGH<3}*Fi>iVh==>G?l%U z-5Z}Nz814(un$KdE_qad^}k{pQq)1)*ro8$#V(R*2S#gmVL9IjdF`f4t0!*)iL`xA zZ_)Gs_LCwH41rL0^M&RPrsQNoMwJK0@%OgJj+B&0BvOFR_+_|_^ZNv-Jd#g928Z)V zkb)g}8M^9YFx})EI9x9gRGg)H2PTv$*1`4a_EY)C8tK6Q>L8Gbfd#HcpBVQyU?b(X literal 64074 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 1) + user.unset_machine(src) + return + + var/dat = "Garland Corp genetic reconstitutor
" + dat += "


" + if(!pod1) + pod1 = locate() in orange(1, src) + + if(!pod1) + dat += "Unable to locate cloning pod.
" + else + dat += "Cloning pod connected.
" + + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + + //WIP gene sequences + for(var/sequence_num = 1, sequence_num <= discovered_genesequences.len, sequence_num += 1) + var/datum/genesequence/cur_genesequence = discovered_genesequences[sequence_num] + dat += "" + var/num_correct = 0 + for(var/curindex = 1, curindex <= 7, curindex++) + var/bgcolour = "#ffffff"//white ffffff, red ff0000 + + //background colour hints at correct positioning + if(manually_placed_genomes[sequence_num][curindex]) + //green background if slot is correctly filled + if(manually_placed_genomes[sequence_num][curindex] == cur_genesequence.full_genome_sequence[curindex]) + bgcolour = "#008000" + num_correct += 1 + if(num_correct == 7) + discovered_genesequences -= cur_genesequence + completed_genesequences += cur_genesequence + manually_placed_genomes[sequence_num] = new/list(7) + interact(user) + return + //yellow background if adjacent to correct slot + if(curindex > 1 && manually_placed_genomes[sequence_num][curindex] == cur_genesequence.full_genome_sequence[curindex - 1]) + bgcolour = "#ffff00" + else if(curindex < 7 && manually_placed_genomes[sequence_num][curindex] == cur_genesequence.full_genome_sequence[curindex + 1]) + bgcolour = "#ffff00" + + var/this_genome_slot = manually_placed_genomes[sequence_num][curindex] + if(!this_genome_slot) + this_genome_slot = "- - - - -" + dat += "" + dat += "" + //dat += "" + dat += "" + + //completed gene sequences + for(var/sequence_num = 1, sequence_num <= completed_genesequences.len, sequence_num += 1) + var/datum/genesequence/cur_genesequence = completed_genesequences[sequence_num] + dat += "" + for(var/curindex = 1, curindex <= 7, curindex++) + var/this_genome_slot = cur_genesequence.full_genome_sequence[curindex] + dat += "" + dat += "" + dat += "" + dat += "" + + dat += "
GENE1GENE2GENE3GENE4GENE5GENE6GENE7
[this_genome_slot]ResetClone
[this_genome_slot]WipeClone
" + + dat += "
" + dat += "
" + dat += "Close" + user << browse(dat, "window=reconstitutor;size=600x500") + user.set_machine(src) + onclose(user, "reconstitutor") + +/obj/machinery/computer/reconstitutor/animal/Topic(href, href_list) + if(href_list["clone"]) + var/sequence_num = text2num(href_list["sequence_num"]) + var/datum/genesequence/cloned_genesequence = completed_genesequences[sequence_num] + if(pod1) + if(pod1.occupant) + visible_message("\red \icon[src] The cloning pod is currently occupied.") + else if(pod1.biomass < CLONE_BIOMASS) + visible_message("\red \icon[src] Not enough biomass in the cloning pod.") + else if(pod1.mess) + visible_message("\red \icon[src] Error: clonepod malfunction.") + else + visible_message("\blue \icon[src] [src] clones something from a reconstituted gene sequence!") + playsound(src.loc, 'sound/effects/screech.ogg', 50, 1, -3) + pod1.occupant = new cloned_genesequence.spawned_type(pod1) + pod1.locked = 1 + pod1.icon_state = "pod_1" + //pod1.occupant.name = "[pod1.occupant.name] ([rand(0,999)])" + pod1.biomass -= CLONE_BIOMASS + else + usr << "\red \icon[src] Unable to locate cloning pod!" + else + ..() + +/obj/machinery/computer/reconstitutor/Topic(href, href_list) + if(href_list["insertpos"]) + //world << "inserting gene for genesequence [href_list["insertgenome"]] at pos [text2num(href_list["insertpos"])]" + var/sequence_num = text2num(href_list["sequence_num"]) + var/insertpos = text2num(href_list["insertpos"]) + + var/old_genome = manually_placed_genomes[sequence_num][insertpos] + discovered_genomes = sortList(discovered_genomes) + var/new_genome = input(usr, "Which genome do you want to insert here?") as null|anything in discovered_genomes + if(new_genome == "! Clear !") + manually_placed_genomes[sequence_num][insertpos] = null + else if(new_genome) + manually_placed_genomes[sequence_num][insertpos] = new_genome + discovered_genomes.Remove(new_genome) + if(old_genome) + discovered_genomes.Add(old_genome) + updateDialog() + + else if(href_list["reset"]) + var/sequence_num = text2num(href_list["sequence_num"]) + for(var/curindex = 1, curindex <= 7, curindex++) + var/old_genome = manually_placed_genomes[sequence_num][curindex] + manually_placed_genomes[sequence_num][curindex] = null + if(old_genome) + discovered_genomes.Add(old_genome) + updateDialog() + + else if(href_list["wipe"]) + var/sequence_num = text2num(href_list["sequence_num"]) + var/datum/genesequence/wiped_genesequence = completed_genesequences[sequence_num] + completed_genesequences.Remove(wiped_genesequence) + discovered_genesequences.Add(wiped_genesequence) + + discovered_genomes.Add(wiped_genesequence.full_genome_sequence) + discovered_genomes = sortList(discovered_genomes) + updateDialog() + + else if(href_list["clone"]) + var/sequence_num = text2num(href_list["sequence_num"]) + var/datum/genesequence/cloned_genesequence = completed_genesequences[sequence_num] + visible_message("\blue \icon[src] [src] clones a packet of seeds from a reconstituted gene sequence!") + playsound(src.loc, 'sound/effects/screech.ogg', 50, 1, -3) + new cloned_genesequence.spawned_type(src.loc) + + else if(href_list["close"]) + usr.unset_machine(src) + usr << browse(null, "window=reconstitutor") + + else + ..() + +/obj/machinery/computer/reconstitutor/proc/scan_fossil(var/obj/item/weapon/fossil/scan_fossil) + //see whether we accept these kind of fossils + if(accepted_fossil_types.len && !accepted_fossil_types.Find(scan_fossil.type)) + return 1 + + //see whether we are going to discover a new sequence, new genome for existing sequence or nothing + var/new_genome_prob = discovered_genesequences.len * 50 + + if( (new_genome_prob >= 100 || prob(new_genome_prob)) && undiscovered_genomes.len) + //create a new genome for an existing gene sequence + var/newly_discovered_genome = pick(undiscovered_genomes) + undiscovered_genomes -= newly_discovered_genome + discovered_genomes.Add(newly_discovered_genome) + + else if(undiscovered_genesequences.len) + //discover new gene sequence + var/datum/genesequence/newly_discovered_genesequence = pick(undiscovered_genesequences) + undiscovered_genesequences -= newly_discovered_genesequence + discovered_genesequences += newly_discovered_genesequence + //add genomes for new gene sequence to pool of discoverable genomes + undiscovered_genomes.Add(newly_discovered_genesequence.full_genome_sequence) + manually_placed_genomes.Add(null) + manually_placed_genomes[manually_placed_genomes.len] = new/list(7) + + else + //there's no point scanning any more fossils, we've already discovered everything + return 2 + + return 4 diff --git a/code/modules/research/xenoarchaeology/misc.dm b/code/modules/research/xenoarchaeology/misc.dm index 6b95d6dfc8..c50efb04fd 100644 --- a/code/modules/research/xenoarchaeology/misc.dm +++ b/code/modules/research/xenoarchaeology/misc.dm @@ -152,6 +152,7 @@ proc/SetupXenoarch() new /obj/item/weapon/pickaxe(src) new /obj/item/device/measuring_tape(src) new /obj/item/weapon/pickaxe/hand(src) + new /obj/item/weapon/storage/bag/fossils(src) return //---- Isolation room air alarms diff --git a/code/modules/research/xenoarchaeology/tools/tools.dm b/code/modules/research/xenoarchaeology/tools/tools.dm index 889e833259..479d0240fa 100644 --- a/code/modules/research/xenoarchaeology/tools/tools.dm +++ b/code/modules/research/xenoarchaeology/tools/tools.dm @@ -22,3 +22,15 @@ w_class = 2 //todo: dig site tape + +/obj/item/weapon/storage/bag/fossils + name = "Fossil Satchel" + desc = "Transports delicate fossils in suspension so they don't break during transit." + icon = 'icons/obj/mining.dmi' + icon_state = "satchel" + slot_flags = SLOT_BELT | SLOT_POCKET + w_class = 3 + storage_slots = 50 + max_combined_w_class = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * ore.w_class + max_w_class = 3 + can_hold = list("/obj/item/weapon/fossil") diff --git a/icons/obj/hydroponics.dmi b/icons/obj/hydroponics.dmi index 435c41f385d957a3cc194743a47fe349f6fde7d7..88da7ea18eb9ba1149420bc0aed8484000eb8c12 100644 GIT binary patch literal 157221 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 C7uZq& literal 147861 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�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

O00j) zm7ws}L${j$yqWM;g#BR|B^{a12wgsK{SsdH{X_8=N0i^j5?ylI&gu{0HJTCLih$83 z3$94c!r?0-1Y_Seh}Q0s{aDcM+`Qu)ZXPOp_%iz-QM-C(A>jHoNr0PU^jS+oNy5m- zb(d$Uid3q(sMexa`mbMdDYXK(egRA3VDCmC~GX)Z$vaKuHOZZ1I~SI^w~a}%98(L3Bsu+$H~`(g2jCS`_j*1`_v5lS6uENr+f z$BRbe`>i)O$IX+{KgP7$URlugr@pd!P{aTQef!<6uRt( zKb;t-j_X!4`bsAiSBqc)){9A+s+X#=uO*`Bn<-dQs1cK_Y&Qe+t6S6-~}kp=}@Bq1ajm z1vry_i_+{HUB!kI)KKSTJ~!3`vn|8}2vd&tf9&`5Ht;6}(LJDr|9IJyDwmHyd(ot! zI4s;WOqdG#ZYak#$}gP5jOH?=LX%)2uRx#@ff6HKk+fah$f*d;=l<&tCdJm)}{GM;} zg?m4kh4Xed04WkwOTwm-Ug|rx6gjj7>`?9)VN!OkuE5_5T`at4YrVfw+tN(ouepmL zhPpc@QhSw4Q`Nuzrz4AT9E^1Dc$Ss7fW+W5Cgb4`v_FuXM zXfDl;UV6^{(+@JZ%gQ@|2|;CYln|FDI9bc(SvUnhn;r0NRLiVkG+{>NW%Uvhv6G|V z5>gKQ%fumYnbP%Ov|P@=JE!}GXKY%fD=PE?e#IGQ{7mFV-MG|~49$(d!Kj)L<(nU= z1KR?LZ#hRBk4}5-Ak?d=i=02{EVYA*qN)Asw|{p{ApMOxv~nV1<*oO7z1YZeH#|4) z@)|(UcqR7)G&8qmVW{hc{TYuY%ENK^0a?+PWA?J;zwJGJ9DvYw%9mz~nuMD(Se68l zhDHag`kz^#Z| z>E5WZmuisCzX|J*q}!{O!ih_xTTrrk=Y}OhIdT&78Y5T0gE+KW<@25v@Lzg1q`b~f z8x`A9^MFxRH3uvPptR79U4 z!PKiXyGiEOW3b-G_Wt*td5+*?mdbhP`=9q6jt#9QMPO^j7*D%}5W4+x94SOt_K{|guN6Kh_8^yIcSJ^*5e03$XtlsdvV0=Desn~YkrI_LXQoSzW z^GD7UrF^`v#|Y+b2qdjLZ;a`BkJcx1a8b}*ygra_$8F*ls9*=k#0@E_vJT@{Qte$i zBD*8FB)b5m(;H0uC1&mtq0R6i!RDS-i=lO$Cak~0T%r8zTrA6ny^w*)sQu@jRT1z7 z{ZjVQKm6UOz$j&yTZ|;IZZT=@fWfTQswUT-7Fc&ju?s`(u7~2%P*&zs8APBYxfdF* z3Yw{D;V_9RWvdYn8sL2U5@uV-H3qS$f@fBW|Mu3jBa?YDX~d_DmFL75>QfjLa{pm0 zRjXmZ(9boga^>RrBOb;>t@AK_0NzLhTXCY%kv#BGlrZk?R3z!mwdnnuz%G?UbN0NR zMZ75)9^uFr?OM##0C|d|gfpg8iB#PNXO9mX0N;<=K#z_8h=3*i9Oi5dzzSAA!}>5R z&j6OyY}P3|V=3YkEK9<9#O|ZeRA-M&$kCkA=3{Y8xXXHr_3?3!I2DGF-s*Xp;e0v(Kf=sM0A8f*&=1BHpm*oyfbN&G zFX`rs6U0{b?`iJr1BL#&-*se9uOdxgyFq1LEJ9Gv7(9 zyZz8#!z2VW+f4>_K8p()tg^j2DE#{c#?evfX-9PFniOWV+wF1gdT`w(7bA`W_?|_J zjokU_{QfYOVHyr^gijt@rx2iihU0pa!x(8&)E$j?dYgvSm`rCelS$ z(=L!rBfc_G(n~WYB36wmFBt#GZ>Rk4z^AZVIi*v%hCwc=A&-uIYD>E9GVZKUAtO%@ zH1~X>f6Yd4SZB046O{k}SJ3LakZK zA7fFbwXcmn3%K72D#Tro$}^#wL)0g}V&Dt}DSw`DH2-ww`vW(|`X{VYr4>BL3IoTD zb!Iuz0zYsHx4X3vQ;7Lj7hw3(DQjhE?8#Q1rPM`WsI>NN(pjY8jXXC{$a$k*eJ47V z9x;$9R-3jL_`+wsfXKvDRYq{8xeZsvCSyPK*#EQzl>@AmUS&g~*TjJI3)RrUud;c{ zh#-Fz+Qwa9{IPRQ-L-LXNJP?SYbpALdG;rC@6->7`o|TW!u=A?ia(p*jQ&M^B2n9l z=O*d6y#qdo$kEFu=??CSgI@RoV_&}od;W6?S@*;9VXVWTUf>&ZmN{4I5aYJ$+1~Kn zyf_m-KTW;<>G_q#Xzp|kP8GrtOe6VCCP^jQUGRAdZwCu>@?V8qi&y|vb<%2#o%kB_ zDtzAPEhzj#yG;@*U5^AIiCfXa^WS)9OZ?}*Cvm7Hq?pja_MVJrp;k?QPa#N`NY913 zVRRMDZfD0vnIjUsOi|Li>Pf_RNm#_9bYr6}&c9s@RvyGTc z@`|mVv00*HVb4c7qQ&aquq~wBmGV&7bR%%s(s{$t@`pzq1_%G)$!EP--c}X{dW&M0 zb=~GvK^K+84gEpdnO5KN+~}up38#eGBrw8tFrB|CvSKKBS{6A3Zf)Yy--)=@2f9M4Nemb?syf5~C5I_* z4!H3YUOR;UATeU*=rp#?KixdGC61~57*=9w;kVnN^`fQD&QgSy$VU_t=HGE@#_pj6 z0UPtfUm6BBkr@?m42#bMmK6djJE*f?%WIU?u$ns;R0~MI!48!9BRsOcF(n^l`4btH@OsaUQsABMGTylLvAJFFe&24p?6 zXNZd-%vOqjy{rqHrqIqY_~=k43E_fs77fzE1J2lp~rDzwv39;VZx5O(~E$5i7N8Ec&_W{P8}y=o(l=SGH7 z0)=sXCv9J0BVQH*ZW}Tj9ze1ZqA`QrinJKYUw?%~=zn##9-F67!-|w?n!4I4)CjrM zN8dO8w0eyGO&6$zwq-nBzGo(cRTqGqL?bp|<4jn51)>RIX!yqBZ2j;~$_hzJ{qkeu zEGxFxEP6!;9$4lkgSV&Lu25Ylf^_SBbz#JL#r~Wy{O|8KuK2Jy11Cmgl&2~+kfKq9 zI-HAQE2MgQ=lhz-RP7u2LWI-afPut4iKaf1=A6{tq0f>be7ubVH=_eEACvG$ zR~QTQ$Ph(I#<9L8p)#4c>x)y{eKI!YC+Y?Pc^lV?)>`i`z!>aH6I~`!t%qotg&NJ6 zLAN@Z#EvCp#Gd-Sx7&8u?bVv+PsG6#T;lOCj1KM$)`p^NEG76x^o##q2vmW5=)^=0 zN5ZOzcdbvWL3hE8IyrIu0_$lb?P3<@k#*t*l6siSFBky7Ja+Cc7uBl@yD4gaZS2kS zpTf4!TdtXS-H#ylb7R*CPhTS^B2-w(WB4-kT8Wr{!3Nef*v|aEiy;eNx3AG%QR7r1 z6VUw?$8Nvq>xuK)cEn4dm>TTcDR(1dQq|9!RcgIp;PJE6%qU(ciis@NT;SOO>e0gq z=$TX~Lx9_1;dI_h%qgokq65B$!YKU4Jne{fuf+B4tTtp5gbK)A_~>DPO4;g9Z*m^| z3g*$U&u<0k_pOr#_U76#v4Qkgp^aE$CqoL(yHXnQqy3O^brL|3#~|Ko zq-}FSJMS$hN3fyWG`)>2?ndSOO@5?~o`-6VdT9i`L8=3KA`$R>GplxrBVQKh(oj#E zRA7&BqJ+JIfajZP!?v~n*A$}swE$?c2G2j-i3{V>^;A;AEKkrkJ2IgL+^OZ6Z(7Qq z{XN45dK>W$l*QNFmG@T?P}^_9Hkh}k>+k3*YJy{h;?0WPRAUi703*uX)7`>8q{Euv z=<(HL`72<7W-?){tQPI#a6rsIfg{Q@2Xa(W&YBUz`t3?PBR;P9wQkB5*nqi^KW)e` zedNIofD9;o-#=PzBQkL8{uhx>Jk=`tr8%7$ICS&Et4Cp@Mx^Sz;(#kCmm~+@z6NuF z>xP|dVCq%-i9+=VzcIMJ&1kN9lI}Sr9MPGc2%?;s+}CANcDZ6Fn(%$Y*#QI+cg`$V z!&u}v`qJ+Bq~JH^15;3j)gIx7)s5rBDCjHufLTx2zH1BYWL^p`*SP6&A${6&S{S&o z+Ku&>fv>ru3lYov`TSfpH_S7gRphuZsuZEa9wdIIxKy%RUI{r(q4pb}9>xLq!8+u5 z$A&Q&U;AS37jcg8--hIQ2l<} zn*!o+cI2CA(dl>ZKVGnF0-n3vhe}A*qegOCI6c!9oXo^sDyp)M%q=2%w)U*&bFIeD zgAcVF!;>)HdJ4ZG)r~sgg70HD@(!ViTrlG<(VQF$9%UPqZ3(hd}j7gmRCd5Pr1O zAUS4Mv2M==F!BiCnG1XpnvN+&!#*h(ogEpA=Dd9S_OjwtkKQ%w*PcQC4&&`~>f=hBbOZl!yDtyu8OuRfYl$PqQM!&~yP= zq3y_wWzO@nJcfvmM1(&IcMzq`%?$aPG0pS7;guKj^0uSSAodzBk^s5g zcU(grGqYLN`S;D8E*cd(E!hF6^!EW603@wwzRBCcrGaaC34_8h3upCJGY^^s-i{u3 zDZ;+ctpSU4W$OHa6>r3GjmBsZlLVR*%^6MuU5`mPwp5H-erAP zQIwsLzq}iWf5Ex)^T|v16I>6ejNd}cGld+(fLWLk?l!d;E=D5#yVN> zo6CW4ZiEx{gQRKwqm)KzR(0}jN~U}h=eV6${B2@R)|=j~dOO4mHaE; zAgYV9NMY|yF>$~~0UaKu* zsn_z(w|0?_?i;X@q)huu2q+E9yw4b%Q6pehinJT}W~r?ZYDpyE8}tWh|LMkx4KoJn zI%IoqiM&SAb#07xwD=mJF~TL4#zb&Cx1v;5czJo(qGIa4x9?M=o&|xkU$GZeZLRh0 zPX!r#%ulQM1#NqfvXXpx1Ww1C1(-P50(1>JKeWSznFcP8?t(qSD=Hy9d2hrLMq!vb z7bQIM67ctjbI}V*@_WMKLl;psV|lKfD44$(ddplCU=)nfh7zSmI6pnq5O1rvLaMmZ|IjC83K(T42xL!b669OX*jzUCa(8RS_?@8A{1k zu)%J}n{;pwmr^q15XuMhKFN9cdf@|fais$yY4?J01Ez&E`qP_1eA5gdt!m(D_%`~z z2!UGl0gu$xNkTn|w*q{MTp5LUY^8}!!;`D>{QJwj z%cqQ`bR6!DoA?jefrM!vjZ?d>CrSWfBW+3pmClOdI=W&9u5ZyLc3l&yN@9pCkBuua z*^X|Yy>_a#UX~E@b`kAY)AkrElq%E@V~P{4OkcMqCIyX}F);V62~$Uh&GC zID7r0;UEe?^x(eWEI{nt%#El(57dlvWDQ-}Ej$(FUC#Ja_M2DMj?Jlg8+L-Wm&-%C z3@Dgfp2%bkpnoT2Lxb!$6gsKfea`l)ZSS=6M?R32I>l87bV`6xWpVbb4HKcoLtP@X zmhesuoKYZd;Raa)Y9|?HKBgW^d$&XSUl^8%73s zsg`yXH{7nht#b2$#d7&I=uh&&1yW4f#4uUk`S%)D?1@>2#Pls%`}3zKji*1bSQ8 zB@TR^VcLP2LkwW5x<%CLWCRyM+PwDMM7}N*;bACriI1osiW@tyYi6zzl6bA%O8emq zsR_hSdCfAqZR3dAi>SFYfy-g2d!eWMi=0DaPoRQHWdQta-{)2O+XT)_ygdSeVT5QZ zm^Tzgp;kbY?_cB*T7_%H4Av`~NwYGXYd`%%e11Le z7;M9RQiDq~OHGWY+;BM-kvlFra-Gk4O!>bxexWh+e$i6!3)`E)kj)fdcv1!)@pKoz z4C=^+R}QXlLDj<*C(+2CdWKgd%?`kRJDJ1_essMxjrIRF>lKpl^tfddPrG<40Wy=qwa5agkb_vtVR96(t2-J ztTcaxP|5n*@;ly`Se8LDS=F5;nk?>70hoWV&LPst7StOh`DXRep-$&^?+$uXYg!^NDp(b*C{_Ea* zNvs%C=zv?SW+>ra9v?=xTOeHPXbJj_Ot4PP|30*`1PM+aScsT*CJIdtUGoMLR`R;a zE6By+em9_ zIK_9l+F?LB|G~_`AqQCanm$=!3YRyWO0g{YclQC4HE|Bv_`7UtDY6ckcNi})g9fwk z3(&8MBWxn#XP^Z0fa63a*F2(p6$wr;;caU&U{U-d<$>>!a{f}iywsC}|FtF$gKe(V zlfn|@Xj*iimSHl7#G_lWWC~_rHJ5W|@pY2N@9#ng=w=!+%(F|~|5hoFC<_@RoYUDN z>SfZ?I}PZKU9HSj`lc=wTNH(I8gM;7-iH4Z(8Atk!-OR2tg5`tvO>vzvt&J`#^Q(Q z-;Dv&RABH+g3}TGfm2YW?ygQ6n4k8i0zT6D(4|_9J|udpCtjNLg%Jes=zaM)LLgN$ zKc$!)&mi0YlUMZ+4{LKqs)i$L`F#TzT-dwT& z3DO!%S|mSn)@+hjsP1IixFcxc0f*ws?CVzTyMB9QoJyy$b>WIqM9*lnAW*)j}4*S1%tya)058ShB6{;Kz=pB{@*F6%a~&1Ru{SqbQLw$+~7#qe5}SG7p$%Un*U@yCjqf!E{FxQ1&PaC69OmiU#KEyAnkL2K^?c;?>c|G^yZuQ6jyOf13 z+qO_RC|c%VHK&42E5`+2SbSH^@YYUuB7Rla5^nwd?Y&WSp9ZT2>>R>r8Bf?tMQx^lx; zlOnpRK0*V~(Ol1~ZzW8*moUgXH&0)UU*`a#2?rbawY(A@`@G<-VbED8 zzmuQLxzc4CS3MWgqg-}jD262Kwb@?oV2XD}G^U7qYEse_e99k!TB_D43Wc0KnL3`z zYx$Cz{7EW7rm|@Ky)p@l*k|F1UWXl6tab1Su{PFC6%yH3SF=SJ5{N7Rmd3@XFVpbJ z08hL`sN?|p_p6dkRp;=#y|T|`IjD@dn2sXABqhnspffo~|nT{NyvFy2>^WX{@3};&$8-1lO zXuU2mGVYROi}GJ#Ez8{`t7c~|BEWOK#&g&mo&Tp6ASd``Z<=ZtM4B}e?!paUj_HkE z6D|QDNJ8La7SUC=x8-X}BJb3ltUcEYe=tlu0JA=|{BJjPLW_8of9BhSeK_qrl6a43 zV1uIw7-B@q&hc{D#eFQD(MaGH;OGaYhVz^dnj`*xSc2fWtBWW^j#QbGnX>{LY3N1z zH40cKa?Sx#Z9SsrH0HXiN-oEk&e9z?oAD3wc9CysP^^J8O6xB{S!=2cosB=i5uZOs zd9z|Pr9OMfaybOk`LK`S;;2>H04;i5^aV}0TL!){xiMyhAscKI)Q6zw>eV_YGDh*1 zisrTPJmQ(c1KfWnA32?g>NVG_Cop{BR)tU`>p2=*;#2`5Y8vwy9tb|c%GW-k_4?Np zJvJ{>T%`=+L#c)U=}QWOEJ*q73s={Ne5-S4?Iu$rh$Je|xKhMOrLlGOB00_AV|jzx zyhHt|1{^z;7{=kcNbJp%s=&Elay&BDAozp(P?9uNG@>O703fwOZ5F0x+$UP6G)O=%2W)P$K^eq;4v6X< z>kbRoVY*-~4Q|R&T&Jgzd{wj4&W(D3p%`MB^OgJWX{uUeZWX`kJM;egV#=nM;|+G3 zk2^4*=V3^_xJOy~C%hOy$hDVS9C-()=MpMtKV|{DsX`-l6#lVcB%u=vYu?t{Os?ZC z)v$Ihqx=y%a!u4EZV15DU%it?F(=zbW5e0GAJh&1@?xV;*R2<+Wt=SyX0;@z4&(b^O@kgr2grmcNan332PDwsheK-mm%ruMiMrHV?r4 zN{rz|nh%vrVY-KmXwBK3SW$S7U5utcBm0#)g?aXA_|6!G%&i|u{*^#NchW7B(px4|tR9-sJ3ubvTIuTAEP#M<%ATk?6Np_-+^8qM*J z{Nrd5sfI536tz|wuN{#6RdV9Rd+jVM_I=^sl5J@JqTs~1iHUR{z?t8GY z8Il_UX!w^JVjgQ$Oq{2yx=p}?)4i=-J?0Q<*mzhA?cFk_lxp7gD;5XZkQFO4-Wo(< zr6=z7qZ1djC+jsfG7^f*rv3BU#@rld#nE1&`j)Jyg#U-z*1TFOxe2Jq{;Wm9<~&o) z5H+b7U8n_npGYV(_|o+!QOoGd4`%n^{I1N10%``-p)AV7z$1+x`c#TloFB}0B2-%0 zzeSt4hjAx-U&6B>to{QqH8<)}LUWr^QM%9AUe`=2E4xD5$Lsd->d(-S_iB>s`zD!M zEC@&|5jvx@MxH!UwY(H$iYokL5{u$$P(PXbdaQuUqbqXqs7*`axv=H}|Co?S-}M9* zzAxzTJq|;_2;(@|aaqP%u-Jz*^AU3cPu?w&lKBnN>ezo$P&o0f6~~vL*U;g_f0~88 z;ZTPO`*52szRjOTB`bRM9n=Y8;1Bh9RkY^F0qAxjh-) zK15?pMAL8aqDz$ z|5&w@hxz?i*HrZ1cX%Ve;<<#sNvmN2DKML?Jh1BS$W=9pV3?A>3Pey@F8^M5_TLjV z$l*_ujpQ~Ie?hCcwzg`rFN>?JP7P%EOb=i~mbN?Y; zQ-b$e0(?NOErfkg0^d$Ow>8CLyI(U@=UE~jCTo8h>jG^fOjpEKwmB_QU8K|80ss02tlWDb8 z?J&+F>M_@+XMa8Rnkm^QARUitg!3Mnf=X!@UDnJ>!f;`obDiimaHZBB6)62Wngfcv>dz?O zHY3@*MlSh8e;Co||8tVG$sQ+_icXd)?V`54c_W)oxKQ4_aeO|R<>AU|U-iCRV}wJQ ztmCxf4CVLQgFBEOdH+DRYKC;60SV#;W4daHgtE7`15y+P{mg{)>5v{v4cD+3b+Jfo zoWL?9&=OKT)qol24ZE>Pw7yF=@S!YoQ?> z-udlQ&Cw4F9YPshbj^(NpV0hS7)l4lYBdo@-FRLubwmz-=g+KfsNU?S$6k3j&izz2 zX%8P|^jYc2D`v;VTl~oUUDJJLX6Bh`ROMks)ekdEbjjMNcvw6B`RdHb9<7n5^;Vqg zZ9+2b?3sVPoVEFR1XEWwt?Qs~IL1-k?XW=xPWAk2f#26%ymeQtLS!=e&E-QyL6s5P zD6#HnuwPT^HrKK)5LI>q`208ygB*1pc5AqNGO66dku25|0-h|gkq0%!{!>tDC(bA9 zaA|C|VPAV@VgtL4OjVdoED43E`9cGh*luzzpLCO*EM#_Ge?~aDtDesf~UFnxBmdKGclibFs3$ zxq28D1#cemm;G>U$}^SM1q^Vav%T9-d(Ukv3~O^`IzF@qmX)QhjV)xEc5Mb2l`*;D zjFpFX`_bFT470%UBLiHxGOV5U(FS4`=`j+cOMSu}YNWylk9O$7-A|PU|L2TS*d*S_ zQz;0jDW^VOeJmII_Z*}I6d>4}Q=Hepc{X<~8leb7wYF9fN#1oCBw=5SnD& z55r!LXCCtlf#c9nnG$xmv{fWWp%_|fV`!;LuNVJa8o_Aa*nWCAw-qSn{0$u4qdk&W zffXYSb(!@91LmKt;LSRQqAM(47woa_Ow0$RG~cybl+L?=w7Vp^(tKcj%aeO;4v~Z@ z%tHNHsRJtiGO{9ITRnkf6EMhlbd)AsGR@VMFGiu`lQ!o;1v+C&8^P~1#jst%Fsp2L zpZcc~I;`O+y^A;U==`8zN7%6or#Yen=dCG;`DH_;Cg>B*TmpWj$c=HxSV4}h_s=)> za|=p>zWV0p!K(#A8rNGRyTr8HGYMCVjiOXQibLA%^@N*7w%Hl?MEWAD$yLbDyY`(i zqvDz>s_r@rld*hDLkh{@*f?yZuxZ5e9CYG0JYd8!rfP{H((~Ff{pO`8>+)g#W>W;^P%ZLexi?&n9=rfb| zhiFTJyuY7Mnwq8D^%()Q-6c0cc)o!sKIlBC8-E@ku>?khPiW3Nl>Q)XOmVgQwcB-^ z77VHP>!@kwDlNO*5#SrbvtF5U{O0~X#anox##zAyBA6$pxKt_RCkvsyxW)%)01oJnWA$4|i~)rc>J!uU;d zd&b2zjS|AB++yLg`gy91IV3nFAozSq>g5%R!bac!_H>iO;dPi)5}nqM{d97XlPv2n z?M_5p{{+7u3G5_Ee}Yb{?5v^Z4ErVblk#QM@E~vpk&GE8sMvVIgS;qRccJHMK;B3xQSuVN*XNu@@jawS)8i=YBC+T zn_E#cwDE*bU*Ph^L#?d6=SP8Rq(yJ-OR-POsS+^SiRiaL<13N>up4{K1Y|M#jirwc zSdb`Y+=o>7NpBLJ@fSa%5o<#9lPmk$CUy}e$`uv}9?i}#jw9ndbYKt#NlTz)KfE1= z)_B0&d5RwkB=}FT|Br|Ui2vLaiVTAbF}EU5>;I>bB1fJ6tK@&}AWspku|iz&|8tS^ z4&(pN$Gh@9D;?KY=Z2$uh`aHhgkT=4;o}o}X3~CNYPJiy-MW4IGe@^?eUP?Lxk6te2*xGHXZr4P*+V+X2 z*zOe3QPQW(+dh2EW-)gDtEnQk?${XN!89?m`fp!d;i(y-A(Oa1|5sgK8P-MT@ zaraUvrA3N6l%hpi+zG`UN^l5LyjUs49SRh8cc&D$;O@a8NPzH#=ly=Xf8M=vUD?^) zNoMbJ&VA0#nVlJvTFu+f{|Ghc*_dnanodFf9XrYsMguQ04OT*t?_77fyUxusHcwVC zKg_vhs^IJPE)aS%&11qmd^Wwi$?ofpKH+uDB&_^Al3QlxkBiHQ&ZQ-&Jya)|PpV+r znaQ9eIwM91@}a^$E|1eUoi-W<=bR|_R@S_~936`@v794bDtE}H_z51r%nD7e$<&z zEp+=ZuHzo3U(^go&%26?I6bfY^N2taC zHHkV;i^{(sXWl4Lh`PP8YSmZA^b%jhY*o#~CsWdyr zM#Xy8Xs}h2JoBa9F}<(KX-YipG2m01i1l)jDETFFNdVwecPz$#-L6CVyRDx^+=5^M zV}W=KnxfTbP}Un;f-!Uep3fE7{N5d->AUihL_EMt!44h0rRTwqd8tB!W}*hdWUe4+ zZkZ_+K}yj zuKjf==fOvhVe$9L^WrzMJlGk(vtO^4435hh*(9B6C-a(=1-{Olx&=7~3)9l@_&X#Y z8zd628ZstkZi=-&-RM0gmAgQ=Y8D^K#K0#r?DiTc&GDfD4*c8&!w+$Y9p!NnZnT2? z^++0&e#4Anl=Xa|Y?UW&>V%!#(K_M~m?d|4HpMpluX5pZgtcss*xMLlRpt+fZW$;4 zlqeBWTIwV8nKF8%{G0fXFnRmB(k&?Z4w7IU@IA3|nzMO#khzjU+Fp zY-@QG>glVlx#txI;OL<#NjTicGsnDK?}33hAaAt|>$<~ee7ul8(^jN@vO?{oL4Vwj zIjcW?G%G#<+iB8)#$$7h;xBULvEx-tKUuX*JbCg0LO^)(^3S0eO-N|Zx@PpPUC*8e z?g<(orWYW2T$az3+BBZXdz<6Zk7ca}B-VsD-K13J?H*)Z6}E1$AXw^zHHHNZeC5 zZqBK5wN{m&yiodeQ$C~c%f2n5;f3T&ALxAm)4MO)Mhr!M*Z7j_*P&d@9?Jp%sft5_ zp&3ar7a?02iZ7-&H0HSNQb?^S^#hX+w5w!gQvKoWXj`>?@3hhq83cS8zv5Jv{f1=a zHxy#ujqp&90HS%w3_B{Ktd0MS{H>TKH#>wRNgN^fa+h5pf>%#@jeGe$ip984!Inr4 z!5M3vB*qC~P?Gs3GKWRBSRIp10_&XBek~9yb{To3@WFtuJFA#?4_r;f32YDf@#C2_ zH#ffg;}|Xz6TWlhKYnFv!Dk^28edgF*lEyy9WQz=i-y9HHqmV3Dbhg&`ts5-*~}{ro)ZM{_%0*E3S@SAflSKU662jt183W3neoat0}Pm|N77jGgyP(I?>$ zEbKTNL_1u9HL5-i&(t)6N*krYcKZ+7xX4M%&AZhZl{5Tp53z<1xU*_gOS5-%N)$@| z;)q;rt0f~%gh@Pi%xrC+kXCg&xz2;N&2!%+A6{=y|1BS!boS^&@a`$~^oUZhi~qYF z)?FoFL)U-D*WKJAIN=$O$s?bTt(C*IBJ{E+N6=@J;irbE52$%(^wX;)KxJ&#I0FXGZ zSBOxR3QMVrYdoYkXCieAGF(p~42RC!Sc`I_V<7Yt?#cn5F85K!UZlMDv$ufhJWOIg z{JiRXXrh;cKYXItRGyl3pJM0`_*tGt_+d`K)LltrD`dCIY>{=DpZ-=$(py|qrC}9h z%m&W=L@<2P7UPe+$pjO`0ylgT_j;nf05MlQ!=ntAXBI;!Kk7C}>UH?TQ@<3W@2&?G zN+FX|DB7MUtn(hkbEDCq=n>cl_}mVQWD zRr}N-eNXQd=<9)ycp*>Qvqs=81)iWN@8hXun5FfY`WUAsN(OMYytY7}&i7nzDm=Yz z&ud)eT{*bKd>3(2o0I7m(s(yXz0uJatN75d;Pa~lm~x2;(4`d*L~aA&Ny;@?p=+Y`~v;n3vYkpI_=mGzSm>T=+e2|GY!qm~p=(b?pMYX&t1axfOcVS*9WhPmz1)eGjhE-ES-UWpm58laQeM}waAvbr%tt?@;n$ru7<*s=OIV12zJn_k_m%V9&dVdzMt*<)R%f5K)bdnOTQ{V)%a$dJ!a$DLkU_#mO7kq|@J9Mq{sT%CHa?|$-*Nvm zm#?r}gr24PDsty(;x9&z)2cj>P3b$7*(cGMB0t@brw)&Ukl*eckt~rka z5bffpw>c$@T^63I8VryznY@uE#~-`mm1$QvC(GtDniO~`{OAv0pS9I;9alIr&<7Vb zfRR&BARzZvv9_uHQ%9uGAvrEUh;N-oQ6HRfS(*`X!!d9M={7ST=#BO)*5O*>Dn{1ZKS9I0=|6G0I-RQQE^x^cali<8qU%)*cJ=h$IY_Qlx-+y-1r;Un2t=_ zza>kYp0~f=P5SAJhSKK|=lhRt6Eik!aRv`PBzWx~1Y&ycQKS&{xA*M{#lHG{tb5A8 zC*i@j1Nk1c0|OEC)#P3H>Sx~%3A^kUp`13^FRZgypXiTX^k=NnYKcOa&Ijv=P}9+X zI`f#{t9KZ$(N_c}ABWH2AQ6AnalPmWk``N&rxTIk-&rywB2C!0{}jv_J+Y7ned0_(5Gz;V56Qu*#&0GMlBLE{IA@m5m) z^~vCMvhyna$_01YS!Zvv(zJ<^0Py4p7QF(XOL6z6jLZ9#MF5m`x3QV@xi;c%NJ8>a z6k;*)T1?$Yf2E97_kh&gJOdlgkcr47>8Z}2`~YF$W*Fc?bG9!&gvr5`zlkYd*%@1OaFmX zVZO<2cL%gK=XJd9mhDaD`wnYOD4^bwuHP{BbIYh1^0|mE&F%+u1uwRZqo;xd^1eVU zi~(_rKeE8r`LLC0y-+N8XyHforqv^!VPJr;fT7KWAhpgWK*y26C3#(6kSWx25KEi2 zRgvcQX5;?A?m53t%rpbiLXLzh84&uOQ2=T4MzM!qCtAOivIbmldywz)pVvCQpq#fn zC$4SBKsTCN^ZT=(m2D^O=gjMcok^t|bw!sh=4CfXE|BmyFCj)Pzg=;`LFex+Z>T{~ zRf^3h#8Hnrq;RX1FBOl5%H+yT(#O7}Vr5=vJDQC9@H;2Il)W}us8NnZ*lstAWr~`& zlq@$Ia{U|=_IVJ`jJEa^{`xB`fSCu1nMclB7gj^mEI|Kp_r7Eu%2hS$zpPqpaO1R$ z-j;Iu>Tc+_He04@A77@S7gh_h9kSMdA@xnQdU1M;cXm=+na)l%U2C_i60NBG%&(-6 z_rE(XvTo`|7rxtDW@CG%`o63{oapMnTP!@z%t2Y;#Uh07mDX#7M=2GZMwY45x!dK@ z#S7LJ{WFHL@2;_W0sSL5pIssN5wDZh)R(X-8njIG@{E%I9NRQ_z3uXNi6DMo)QtXV zt1YH}IrYmxwLxP$f}HhjW=wCgGWu=7THW0z;Vpgchxo$sFH?JY&tnB*sNpXK?B@e7 z50&MWL^b^fmPllLp=L^#yRL|I&ARho{$WwUzO9p`OJ?Sh%NA=#!~L`3dfu?6TM&3) zZ%mwf)clSGd&S@0lAqmunE+*8N{Bw& zsn>l!6-s}Ej?-ZH%y?Fw6aMfr^iZV@A!DcrFAb)8`R2(U1m%HRj*L*yU?`@lAB~2F)Ul7j`j|dV8Kbw7nmel^&Q1-iE*9jqSO( z>u@M001%Agc$A5Nbn#!J?sm|}U>2iiV7DV}jhrm$1$0TR*Tb8<_**m9PoUKN@%*2e z+EYLosNsNQ`zx*+@sCzG+g~QUv+C4;zuGmi8YasC zgZ5-1drM=B%q~V%a&QggQ__3BXQusa1!?@rm(yJuoo*bK;;^Ta)iuyKnrjLv%fq|u zdtjf;@-u%~W>hG!laVH!!s%nLnnlN(&vj&_3KR={{je`DmpV-$IrdnLSVG%m<81>G zMCBn6=t{%|8kUAStg(ep2WonB2xlEF&OJp$eKGWYaxZ6d0m5Us6q6mt$EYn&h)@-2 zoo(;xSE0LmprnfIEHJM8EtbCdW$ zUV{iGvNXMAGaG|_ufJ!-do<%S$_B61Kj7iwJ0ru3>56r>__#UfVj7V-Jp~>cI+{-P zHnriPQO#{lqA4kMg6-ocI7wAW=i- zLSqu;$8BL(8};z59>K4bU1@`j-dHWq(m{j&MVX0wpX2n~>2=rJ(hiHdN63q%Ie@X> zX}*G6xC<|Kdo$s0yd4F2-W0^V8>SPqipfWscu4tP(O90c(PsZlJJqmm!=jS+$ zfS))FlJF8RT{#Gko`8Bv8JS)QBKMJw+?Z;X0a@vDkqtkF!Q2kS`Ip|q>s9dcLkKY5 z_>&)Y0Ye>TGMVPLKjMFWA?AN&UY^iJ{P7nJAJwCglh4#-LXeLOjo@;2(Y^D$97u+J zqCCoH3uey*L`Xe$;d1Y$^;ml~Q3;&<>yd7FYrm2d#`|WvvFezmRm`3+(|}eQ*L0TA zYZLpv`GL{TxG6g~DMwm+c3Guc^pRk7I?_G)_HO=!a(?pS`memuHmAV*N~mbOyj~Vn)Axnte{GoAzMx@c122UUj!3@LDc-`dowu2y zQ(Py)DN|2`LS~mbg^8z9dLwL**O9wx$>T6)V*3$zpX`ZkW6@NsoH3tXZ&ewHKsuWJ zAwN+?I$5)&e{DKBh+6R=8{J3&woh3ZNe5wd)M=r-p{BvV%4vi<; zJ@}S!sWM0Phs-+h0~Tuike6nLFYJz_2^|0Axr45M+qLHv0VA;aI6g$6o5$H@w?ZxB zS0bnQCOd)QvViQHjbQ%cLRwbd+geP+_8IxKe7NIopkuc;<=aSY=2i!)WC=!VqguBOS`23AKwR|g0)6@-P=RWc9n11PUU%AVfif&D~Fi6Hgwu%Y} z7I5iHm{j-G^u=Y?DfzshDWvWC5p6~THr zeV;k3CbxqisGXXHOmG8E&V+!|jMIGFhpfIW3xvJ1u@r-&bHe4f$lLDcwW>8#*WS9k?)e-6QSih16* z+UB}vEHozh5cHO?&I!FeAG)&fL$QSvMI&oy6ug>wWz0|HFZ7JgM>chu;A9;8EX=HP zXW+6&)U`WgtA>q}y&vfzt&!CBg<}CZuL6&km<20;whajIEysdr6{%5$Z-2J%c(rmi zzX9QgbV$B;RHZjB&(TG4-pHHS;aECK_8pVK_ zE&HPFPfm1e5-HB(u6Wz!>SpYuocHpyblRhh3ST5vO_lCy(x(`1zvE$2+kbI0_aBq% z(`8NS2JHNqhCf|oA{JlyJN&L2Rrkml`? ze%?>5yj(UbE1&Nm(4O}K;LN1SZ9pLn8z}D1h2eNhC^_8#%+Q+8=*Wb#FoGL6khHdr zk%{E0(|U_%p#P{;+9#RcKVao16bpmAbJ)4T3_XkwPC&CyJ8FeeCjaY;9o@QJtPBH1 z#=Exr24@NPSlW!cqO&2Vojifvnt)f9^xf0Twl(m>Ci=-=dzbe4{txBPE(n@UyY$wR z-qyywQFr`hI)`}MOOEAq`daYgL~#>d6~=X?5(2;_2_cJIr41Nw=Q;d|>qNdQ&SyPi z7&O)riuveE5d-A5EaW zzrc>Soy}f`0Th)gYZO>&9TAFnB{tqwvE8 z?vIionIn<9t`~*FH#{|IC6ipfq$iOKNX343R$N3ADb8xl@3xsbi5YOy^A77|{I67p zS%pHzEg6(o!_ZK(bc%w;M(GksdM5gjZoR8nQb>)1>Tq?fW@S5~vABTFvtO%pfu|uU z%gCcBfa5%ggBwri)x!gJ`7-fr&=V;xluI{il%^l?$8KD?Et2G+ASil{oiaPfSe}<=-)LF+TXq2cLv9^Ou!u zuK>ezI&Nlm_@+HziGSW^Bg(G2AN%^#>n!@?#jVyJ7h526Y~{RoohK$yCfe(R}qxfXENW4rpCq{z_)q|85oZd(Ha$n z29FdiI%&&~Y1Q9OC>#f)%Y00!n?jOG?OYzM63ncZb)r^g;<9mNzFkbKNUg5V>C?!O zZ)T)(&z7c!t&Vh`$N}%nLz;v-@JKe%ZgwLB->ihRLjU4`zP3}4Y`(vbgz>5aNA>*O zp-S8nK?U^p0dqkX#N@EB?&%)~n*a8{G|ZQBnazkCh&`lgfMGSpkA{2cGtqU>&xOTY z%NlJxIGy?sF-dv|4CBS!R~F4;Ce4gO`VVM9)(d-rOVdEj=4qS;M`&2j7iHt*+HV(C zoAPB)FE6jJus7sMx_7==l2?uM{>2P$%7G|=J;|9^mZphgW3?Qz(A{mnE;ydd6gjp8}f8@L9}1bQDXQJ5+VXfv(u7t)-!}}WvAOU1%N%q zbEH$}n_Tn2zl^jam=VUBT?V?Q;JOiN13hDiMnGbDC4KM=h!N)DTwD?QMf~L=ot6H7 zU;~IzOOFdG z>awArlW8SxljFf6#^*w~`|=k-SbWHtIf^GMY@3ZBRT#rb7$Vy2-C(%$sW4^D4gQEn?VwmVp` z{Wz#KW_2z_3r6^I`jOBQ5sf@AJT2-dR_d^#a9tJy2u{I^x+{!<%N}WmBc!T<5EXEX zog?(00qxciwl|~Eh8{6RILr7@kCW}1*0sjJn?`Vh01S5e#>Zy{llakf*Z9NLO}oen z;kA`kPX!#19Spq9RE5EuOE5PI%FANbbygU2+E1=;&0^D#*i?1bHlIMC7FR6KOkTWD zZv<;4`*AJ9f)_c+-3iM7HX*#L&F%K=@-=|?7w#4E8W5E$YQYvbF|9@EGFrreht~DW z#j+Ch50x6=x*EeIpwpm)X$xG1<{>oLq zPNka%t~i#rFG~THzNPtE*!VB~4fo z-J&I+6YNxrqCoFrp)3N^sc2_81}Q2kb|-5kl%y9dmgo4beBDYaSf+exdvmoZ-I}#! z?YBMeqZ;RCM_$N&^YW4_bXAZvg|TbSv3v=n@i<-d1yGgk4ZqwEu3$4u-@Bd}Biptp zpJjY%ND~=uC$at`ow%)vW{HmoQ5$#8(uH-Px>M&t)~g?EJuoFDW;!5tu{)g!RbIRU zz6(&gRs?aVz_w5Q>rd;b9X*GHDSa=>#mG8jYC%NZc$a?!mZS`N$ft4=o|kMITdKCJ zx%GSB(qsYIshypFD(##?ZN`u&5$?Vge*M7 z+P5o)LJ0`uMcRoqXP%$N5cpXXo4Hn(y+2k8*B+pt@FFgct2q~`n4h1I=<0e;N=lmD z+)VA*WA2p!vA4DDo|~iWUay3D6+gt^4e#t&-uO!J2?(GDK;7yO7wollbOykx4H8Ht z8Oi8@Yn{8V1AlQZ{C zH=aVT?@${x!+LN zCQNKry0;pM7T;M*%7{@hgD7kuT%CHM2U)@(awOn>=ZdjzpUT}b!qJzCt3;z$X}u?L zc>j~WNv1$y8UME|zf|2zc9!=pQw1u3fX{5`u>(P=sj0u1%J=S+hS4yen>@e=S9z4D zdY3&`qZb`pM%(~~?Y_e7?Cit`v9Ym*=>}R_7=>_0K0!fdE-nJV_`(8C))*$>>ldMv zg9BU7Hsk5pSyTY|Tit-fL~;lWY3kO;eW<5rdsWlxe=yZ&j-H#jc{6HRG$JltUzTRl zhPzU$@Fvc@98Y}9QD45jyKAufKMfvDNivJ3qN4-dsE-aoTP=~e-!HZX@h-?QKIV&Z z5n^RmR}+tnj8IZic8+F!G!W6 zF(~07wlh~Pz$hsFV%!=vP6#0uy7Nif^@h{M^XBK>)dck|Ei?`e4%j}4@xr&Z>yibMtP~t}wZcS?XV76T1>^(5hj;tRk21Hh* z#TIkU@$MU30CQfVif;iWkw1~0&MaX;d{%KlfDnt35-+!;1lP#Oh?1HbHQ?9XXO{ab z7%Zovf}pRjkCKkAZ*kY4;s!C*u;Ptt2Ptoxw6H4kdd!t3GAAKfh5}~Z%eTx_)zgs zbKuTPv`w6L5#=Z7B(sCA52K@x8;c%*&CR$%sEA06*(TjJTDV)-SVrX0rqhuv*#->?en~{vXPlLjphjHxBUuT;d=Vi zw+11LP424cLhtgt&SyjaCH#e-1JX-jNRPAgkWbJI*Wewi`ac#lMW~LLdg3VL$ph<|I0Pmu29yeI@LMta8so!I);_h=7r3RDHMwV2 zJcOOyG5Fcv!=!PIZ`3N{R0DiA_fa-O7+};uMAzTiUDPUopg0(tBRUohkm%)d))`a% z+h5TW+0fS@6kX8vN}aAh;?zg`;kM_5<>>GL_HXxk^v{28kD~-lSw@Fm^eOz&G2YCuMNRbjEC?E)t zA|NdwV(6ilK*DeRe9!v_ym0m$&L(?z?wz^M^UT~~v7X{v2Sth?K*1mK*wjzc!Pm~m z#oN!t%M$_#dQ+P9z+h35DF(YyQ#)UO!@;C3_v7A=f%8$fPzUhG`chZsS_1wg*KVyH zs)jdR$>YBvem7(;*h!I`ZC-CB-yF!eP9%HIMeg=KUOFgCl|&V^u=R6;KIuJ5CJU)?TXHbeB)3mrK-*IA@>KP zWl`#AXqEP%xm_f|-J0tfYkc2@n#!K$=dXS0Yez>YPx}I%zUFhDjEHd%W<}7I+~rBv zN1Z>3(irBL5$gk(_$kBKgcl=UDo8@*<*MoosJ*&*zi`#jY#XnuwR1ewR*wL$0Pu2s zsBLR`L>qhO_0{{S_pdzBxt{Xa%I2*2dliMGUav)LaVOWY?Y4)d+{oCx`>)?Z>J_}) zXwMpMv>$kdDBp5%?egG8(Dd90olIRv4bo^$@PA?lG8yZ`67p^bJ$lDETKc~C!rNs1 z98R&*VQ4$5p;aAU;GZw{==rVZ8HN5f8ntbPq~G?lF<(?#r4O{jYG*T(yMC4NA|9P3 zXJ)>WD7`s9^fn&h*l|}!B;Z1rcOCt7JkF0mtQqQz_V@p#V-l&`X=Z`w-3xm-fOTdJ zsn-kY0@9ZHzWspkv{V)Pv2pY%JZXx$r=1~Y^TW_VH{18|uix@vW&Nzc=Q~fDj_Afe z)X&O|%(qn-IkbtH?=kq}(y+0jk*nI`e|>S;$xn&zlI&`XLO$X~ql5$uf?f$JGP`u8 zMHBdL<2JgxdcE2u}mNcor{!if2`{ZZ6zMn z8P3wNb8`r|rm>eNB1TacFaEy4eXcnvx368er7!+;mteC+=X;i|R3hCV-6q|zTR%lY@B5=ny(NflcqirP;}&q_Jg2^8MsQ2BSe z;j1|A&b5NFu~l3EY|35Dr{+4!D=w#Ph|?O$3uG1xvvYHgDWz@|B*RrKEzbFzZo%V6 zzqUX_r^D;Y1}JDQnC9D=pC8%`uy$Na*-?>0T2rRnp2w`mu6#{q@-{hhWVAMB$Ilv) zDiZz>n?oSd@hIWraTP1Vy3Rh_6EtN|xRHo;MVa*+KkR8EpkFTbCR4Cq5Lw4{!Xp5_ z`JJT!CQ7K=cqQ}Gr%%(}`C%2xd=*060od?xC@ca+IyuxZWTB_0S2bkmwepdheB^C; z0G+frpM=wUy`fEOFYepJm>_w8t@Xtr4lQQS-_i%7)P8oFQAVll*GRou!?j%Gj6|O0 zu-K8L*P{w`tH=)+ytTEpd(_A1n}Boo92~CNn~ftD^z%_Z(S;lVH~uUSm%O9;GmySd znN-_Eu?U1|eP<=gajoEl%uu2SQ(chr+d zvDP!#lzoF*A@?*yCm=>3^{`csk<`@Ff8a_C@w zO8>xsKV6)(E;e7Fa>VgZYfPz`X=!^qw?zAvdXJ*KT=LLStW)#F^*yMhDI8Oz5ql)m zlTfBDgiu{qz#d$2%}PoFF3bj|zN}pZ?mLw|w6v^dxkqwR-M4zw35?bol8i`PIJV#0 zEt$2uOS`v}RIDQUt#ox?{?>+LE*U7MKFNZIE$jz6l~J-NXM(A%%sMaA3r>@PX4QS{06 zMX}$mMY=S!N>>2o_>s>w%GS2_^G`@tOa47Cs48O8tz_nVRnQ4F0I9~uQa5p@FRGxV ze?pk6>OBg&1$q{Azz~sy8chhgTjT@+Ujnr&W;G$5d1qt-s!{ zCJMdal2`>)Bq;O%R4Kzxl?Ap34<6hnyt%FFA%E8o)uM?U-1pnqtE`Z){+tpXp?tM{G*7~0vNZW z`wY^OeoWoVJ<-Kh(~JKckIh%=-1(`T@WKe|)A{_(w`kjYF`6Eq~yKkYdS) z4t0v@>Bw`hUlwf zqJ*}zY66G2r|}^U38XQ3S&aM5)#r;nMa9MEE?>SpwPskNwE*t66bCbfotmmSU#XgY zVDqA_@uezK58?E-ncSdw03LGg@tL3!5S1Lob1qv*-UTr+PEVs^sjf2}lYkm33J^(J;8TW%EVKRENr_xZ}m)i<|& zsV`mAgXl__)ob1qKiCMk%xag@@$^MfXCNT{p4?q=milF`BQ!&S&@O$nlkN(;mDOya zIoBcwqwkXmG4{{p!pmVL%lxpNqP}sl~|usCwAG+To^I0)-@%Dv{$gwCl?7W z5(-)Sm z_0P`UT%4SGSm{ulbGnjr-_<|Ri`s%H9b^{^pVu^uDi*drUXrijRS2l8*82o-+LRn-(JjWz z^gL(_eiLN#`0UdtatxT<(rT`*)^BdEyp*7oBi|Ryv8cWc(Uqmtw}0g{%k~&vo2szc z(!JBbW*Gzpg9}9Pz?tVX0ff1Y7B#u<{zV%GPct(Pmb=3;zwn@8&R$;f9rzdqE}vDY zAVG68vkz`Rf-QrWfXh{iHSIg+H(S@lM<297@%#_V&%S@mBRV~+ziEn?@fi@i?ceQ4 znCm!ylKb2(sA`^JXDCmhdqw`>JSWuyNyYb}&k&eOwZ#wB)zmnepxtm1PRkF=V1l;F7-(At}0YjnZX;qW*rU8c?058?;FGK4vMy#8M3e zfbr0&pJl|r0^XGbkPc6>63Jxbtn5{a#0YWNyV(<#5TNPKB6|yY?{v?fI$M_L?k5D& zlSMc6`=Tau#0xPov8UY@mX=9~lLP3Mr{s&#l#(odoeIC{{es?pDom7zL@}DYJK2E$ z`sTIcBnJQ;R3G|2TEBzZK;j;s*`qdo;BYn47*wEEOLe4DkbZ;mw_c`NF$DZuIb0PU zG`Z9qIke0>h=cttEx>E2svSV59md`p2A2-jD!_V0XUE5>3t4loLq9eaRaLR7=89nl zUeww3uF|{7)$cfB*V^mz< zQBZT*i;zLD&?wa;NLbsV+}zxxiS^$V`3{hBM{YxJZrg?OUbpK>;DC(5<+!|MBqa+G zp62In zv~SCTvsDl@pI|of8`Y~{(11;*q8a(EwTa41O=zR`JynlxrRC#Is6ntVT1OHgb>~ z&(3OwkDhW^^R+QM`o{iJ6|LGfkU!1S9dTIhNB^xhxixagPq|)x${RD^4Uow^3z0Og zT$>6zKPmLDT+CJo6n7ka9i5rUde<;LAtp~{VqMk%B;77!VOs=Bf1b-q`Af*opL^!$ zFpd|+)(7jqK(K4w1KC|BxmT35UvqZ3$E)-*bT!xaEH zuU4B;PIBS%VuCho^1*R~nC9>F+D@SD=udd-XL-i#L^O#+0Foub7U(2!4@OuNn( z;L7U)vxBoPbdE!(Lfp5!Roxys4ZX=pMehGJ5gWC{aGC%}&WF{K5|Gg?$+k>Hz~}?{ zC7G^&P<*CiH}%oQOvwf-8S`c%f9>bgbZIpXyYV#F&C8lRldQj|1>YK^@Q*Ad5C2Sp zW26+V$6>qFe9tHf=mIvtz%Z9Z2hRFu{iWid5v-%m2$s_y8OYq`?_0Vb*sA21{~(aa zpezOh&h_{A^TE`$rm~wsy=gLM;NcO$=P{nO+)5fq#eYogPpk?2S zrfJC|CBG)8YyivEq<|2ipd;MiDW`62rC0dzr&e_aclfbde8ciB;SoG$5Jog`oWLhk ziy_!pDrppFOO!!7O^l6giF+#?bOJyvb!q{%w4@{o47AlDE_qMxBwnS})@_Gctx1@h z>5UsV8kw#@JoK;s$DX(RmQ%XQj!$a;`J3hMaIKr^>)EtY@LSK9fAEV9GG4F^4xpPh zMLk&j)e+jf^r;3-yiTds$L{c*UWg9bz(BdK`k!lU?E=zG{>b53Ry5;3VX;ggOt8M3XG`@y*I9?kLSRs>;V6rlaTS$_ z*H#t3nk2PF#sNTlGLR$cvuvb%y%xoKR+7!ts>+FN{LZm2=XD{H_kLBM>uH!A`VJ!P zxHmsBLay6WV{V-0b$!?2X5%qTB}c6t*Kf-)jvklYWQ;RBAr5 zv1dj2NzKM~#sIj%M=6S)^!L#FUT-dZwO%-|tvXZh1zPM&;Wuo|7`FN^56KLq<@OZp zb^mPca$_88L`QG$f2a71FFHpw%om+;92c%Jhgd)R+c6WO=6>}9?X;!l$!(GoGDx-O zVezP+vMEB_SXXTafdTWil_ql4=2EY5*jM8-LE6p)kibGS!i;~};&%?MN8hbSsohgC zCz%HU8{w_vhrYbEzwUeqvm0PcfX2|gS)c3Ry3~{-(Xp&8xUNm%{w8ps?DE~u^Yev6 zf=eoRjpwJsE9&$CO%(QXOW_nWqS%|_R4#!En6OoqX{8Tjx-?Ko8A(nPCK&H1DAZM# z^DH}?B#@F%W0*YIh}IJv43LUkcP-Svi2{)myzku*4U4Xfiq=T!=S>A7DWAUct4PMc zy}N1v#ej9w+4DO3TsGse?lZqVW?G*A!%OuSCx?VsK3GfGu@t2m=C!O_6o^+}AHYWX zyKN4++1XKiu*pt9h2`#N5L#I7ZhuU5&{YfhMdKbQ(g&ujLO7yR8!X3T+XVQ&50^t5 zh~1ZX|8RnNK(fm+Nq-i4kx&&QLH+fkJC7ZwKj)L!R0;QtjsmL zM+UdKLAe;hpQ}6@SNWz0CU)s;k>2&ue8>MKcIAm+ViyDisDI_*;W>|^aewo4F*9rp z=e|f=4&dj2AC#A492c|)VFts%Q0$Gt+O^L)iQ`RnIyx$VIYJ?5CH&4c=!4#75E|wk zb~V>WhKGwhB)y!J=FJl&LI-!AfQi|(Dk?bS`^%5_b5qwiGaYSy?(F!qZ*|de?3({l zd|I+lHw~L!p>V8Kp4W)I;7}zbguwi#XxS&t7^mot{0kEooE9}uxr+8&(bG6wvO6jH zExZ~HSg1dX671l1^r{LZsw?tNTs)oUs^L1XaM(0@^w$@Orp)O4=h|fDd7=CufeP`T zK)`t=;MiIQgBC8a2oxS=6fL#t6zl2 zGN?rrhK7cE$aby2aX+qGEtBD*{4=&D0K$UU&23dEB_3LKb2a!c^pYS=ClM7t5?v7U zo8~x*FR_PjLX{uOi5OwLt0K%OV@`J@s--*06AijksDRWpyz*0>`->v^@paInq z6qT@;C_nc;&#h6S;nLL96j1B8@<=aV(X0)=lBT>8TSB-+IXgC%z8^p9;w1m?7KN|R zdPDzsfpWllcJ4F<u{PiShq1|YkM`qd0M$G#n|^!Ez(bk%{JuP4u9t@QI1 ze+`R)ckbbM&%5%A>Z<-KS0R2V_z7v~(VSTRV>lezDPtb|lD*Iv# zwQ`K-``q^`r!Y}u^Ko`LSy_>4yiF=Nn<_7v*2S7^t1%#B(>$Q#66uT2{}`hW@OfD@gx>*RO;rv2uI{V4DAfGeW&&bNZ%JZ_?g#Khcy^ z=1mS-06^DY)`8Jpp+qeIlJMcO#61lRIp1{?Zh&}D5rKIu0UCy$@>ls9> zqhCjR4@NClIdocLVl@f5T7Bwr=?=i&jG#mfU4348s&na%#FyQ1`R=tHg{yr86&RxI z7}?deG@28HBf*s|C@J9HCb)o2;tup0G_o8z?^l&+~*5=PN}Gdmi8> z<1$n{>cK%Xlpaj(EofD?SBVhXIkrnqQPPW-{u~mTk^HBmjEh6`-bM1L=zNu$=c|`P zicI=gLdfp(S19}Bk+=%k*#O5XB zs?%L#4#9>9}#i z`Z}c}?XsTR(j6&8qlqc|_L4*}Vv(enaEb0Ao?KsYz}pKZzdX3CPRGv?RIS*VP)r3~ zE#ssCDRti85Ek?W%xI#ktHrr*`%r2pajQw?XiDXP8UK{}7UVHwN!5cud%`m$`Ytrn zfsiYRI3fB2{{BPBcOR2$_cvy+A_4ngsll9d^0M=Y&d4H=*Za;4cR3BWAKb4f)M6dV zAE!wDVJS*dkVS1_jN9VwdsAdf3JRQg`52_W810CT5LQQ<1MaDMQgf6F7R1v z_{XcIQdd7P!L_v1qq^wAc2sq6XmWqXjXe0v_osl(+Q|ZR`l=t}t!GE_FoRp}2;GQ- z^SYm>ebxDuS#DuAk#CW~d~dz1fJ+efsXy!4WE>r-b^zXlhEM)HoT3PDM|H~~jS<)) zPAk4QcW<5_oTuD=`0xuOudzbaGIGyxSF~ZU+pm_3VI`TK)aupyVAmzKr_KrNeC`8bc*&79brEag$zKZ4!}4Q2IFa4D$~ zoooUkdpjqIi#V(NpfxDXe0WS1W1%;L+C#xYS{(axUY)uXwjjzbLbQ&SIc1k!#CTvk z*Q=lBABXQl*&=An5Y{Oo5ShX-I0*e}| zMT#szUy|~KBt6TBV~DQx6@||vyGX;zB=OZ3d-qgw$^8X#9}xX=$*6ASW%H%OoWgwz zu`kT!G*4fCcMvXPL(y=L_5A?^c&Xg!z~T78;re_a&mf}pcRoKb<1yDDzAbnFjK*@s zo}_PZ+pI_O7G$AEcWzzHB7>;E80y&8L%MI;b64`b&DBatrFlMjwIV$gDP_uZqDFWu zz1(9r6|!r?Ru+~)5~Mge66k05RwnIP=TL3yOaGuQ)AOW#ACS4CK-3>tOgASw8pZph zZgAqMCvRQuvp2inN&Az6adeU;qS+}7CY&A{A%Gdbau)THe3$%M^yLCb!1&^ZhD(^O zzpS5<^sIF8&&Ycu_5tnymBz-UGT>;-#wjAkEg|>jEqP4L2US(aDKEc}c*y>@Nft|3 zi%vTM+^7%$lYP_9ub0cK-7qlU(;d1onp%v-# z6vNw#z5iIfQ)h2?j&V|SL%t{&6Ag(*#fqfU6hm^P9M1of25j-@8x-``lar+#HHC=< zhBa3bBvkq51>U03a|fTcgA{8rE*xymRwx38GrrDv)^9?H5ir}@qk<$wOj+7PP@8mo zpm@^7eIvcj&GjG|%ehac;Cxg;yEO0dK^}rthqU2i_i@_1s!P-29v&X1t$rfc4Du^y zlR@8$BHE~fcK;5x_QmbD7(3NN6A{=A50@}*$ z#NNf_HC+znL<$Iz_^1`YY8rk4D@95!QNg55G)r;XHMImyKEdK(i&=z7p%ATECjWpG z-$1s!m)r_lxU%7lJ$;vLkG2!!7^?)MaO}P>4?~nRnOR1RP0TIQKm0+2oEvS{NFi2k z&o;WTJrdzSaeCVC?Olc@FDjU$_tyh_RleUMocXS%0Kh_2fIzso?rEw$zRS!6 z6}hT@jwxP~@7}9&Mpf#tQ8qzlO+n_kddk~WeNs&EaXJGu#c=R*b?R4Ae7f1!&)wV4 z!|Xv-??a2P*u=oz+Vg!?AK_iO^fmcd*m->Zb$D1epev&kx03ZL~_>d#2p@m(Dg(Z;_lj{EwO&F6w3 z*qb;Ey9PyFfxd!?TnvBnitnYZH8EA^ag|#iN>qS$A0Y6HyvSd@^z}iHr%vUzEc!x1 zm1@_hP0HfpIQx1=pX*d2SJhr!)f5m= z_-cYMe4NO1h4#bai}hDZ;ddhbt(Z_+egatuuEVYkg;@5~0eUW{~@IAx(v6zl=@Nj8@?m3gD2u6Lt z(;5+NxjInH8IXDRCXbH;1rRYz^B585x@__aaL|!D_cM!MkV@4NQ76Ustq1BuUIimA zzW6oGJ@xyKPZmEb6$Td>u*h@pO5zAk<21_(1E{DJRdt=HhGC+VI3@2Z^vW7aIEpBb z;JJ7lmD#a_3HqW#8COo~ya$f(itpY<&6}g9M=zH$@Zw@6}}Q*erazB;+7<}+Av?`x~71u z#(;daBjGq)_(jTSe%5MEX@|5K5R;CSNRGR`!q%c}7-oL}jpaGG@tpLq3r+PFesJie zndvaAXnpTh?Lyl<86fagz=gAX;TJ6i>D%ss^6&KXR`bwT1TUsCg}bhQb!JI%@W0Na z`SyzcqiWFsoo}l0D{Rr=T$UBBo6bL}K0MX@^|XRS7g^hw*vq%uwH9r`2t-F5^Sx!r zB#7zlTQ|H7>B_%w?&4h!RI=zm$|$1q)mwcH+k$vr#&iFY&iLP2cqm;TecSn%j?IA0 znHAHh|Ag4Mkf-c&P81)-Xfq5Te!!xESui>VOl%s*9Ms4CEE<(}&!K>15h#e(@7zWIbhp8pa4yNIj`6q|6y7B+th!ORR8-KZ9?UvJ@HhBx#>B*I)tnJ)G7CWDR~W|ntJKV!biEE& zc2Cy(nxLIK%$DKxDRVR+offU^?%mx(giQ+?)!q6T z8Dt+L5mL{tc16II*Yt{jdM3n!x{_7=(CLZz2%|BuHeU5E#s)kycv^xxX(+i(81*Cg zZG;I~=J5ceof5gdvXiniX)fX+@qK~UF%Oq@ry}2o5JHHk7L0Lc8dAR<%`nW7vzZib zG0fq7V8fJ|ZW$Xd_DOg^>XFF3EV#cQj8^2^iJH#8gxdgtP=bVNWyPu#aM;N&JbCBU zyS%l9m$pk!M)Q;mbQb_MG(^ix+%^*PPger}Smzo4xi|=u1K&B0R}2Kl29|K){yF-t zVW~n#0g+Nkkvrcc;j$f4m!_HTJx0ikNQ99XxMFDb8XFtU@=dI)3P!i|+XC-|00AElq=UHaUxH_ zZ2VmbdF$S!OE4cg(+33uu}p=dX+`jW<9jL(5xmS&#^0aC9aV2keq~)`3(xPn!rt2) zP<9gev&qz>up|}s=s4laWd~8qcBbjjCc&%ys5hGR3bb!ERr^P3%ao)?B!Do)90dgm zEHOb`&+Mq${gh;CU!I~U8*G_6BSv9Z+gV}XK z(XEH>S6NHfI#j60Z4vTDr|f=LzBerRM=a%;4pdbQ@S;vH3K ztxWAryu!wZmEbj@TgmzIJ;vH|5dAiJ03k8pwE@j~PxB>|T$EV=2rw0eVvNePhG!=z zZr-8&oxmPKe3hcf{OUdLuY@1zZ<8V&rhncOX=Kj4%XhsM&a5EFc^5p`d}n*n-Y}0K za9<$he!2Dte4D7nnBeqFid63%da!O&;@x<-*E7lO=m%|Fz*+&sTJq{TsTfl`yse>P zW2ed~-HKesKSR0!j4hfweW?Xk$Y&ph4RC-l+Pw^3wz7LES02A8Zftxe{?=JVV2$ zG^oi^hnNuGd)uOALU}Fz2dkA%>7yKZ-<c`3SzcSyxSrAV`zsy) z0Or66K9P6BHi%dF8P|ulw$LNrru)X_TxrE=03>dT)a-?v8DmO8uB<5RqXxY%#yH}^ z+Om#{IU*0*)X?`CY;)joO6j~dZF>r;WPO4Yw{Yr9_p}XYy7a{mDOsGwE26V#yh1vukvA6 zyhki8EvTV!WV7oALB5C(Bu(8UkjfP$+HD4A8r@?~is9J?wdVubgHqYaRLp_Nbn|@6!qOz0Qw&9b1@n>&88SmDmbG zkk~TV`h_pZRRnX3L%N0^Z&@<|^KD_vkd>?7bLAN&IzG}Fl?|y{Suujl9-fcp)f8af z^9!t4$>-fGeYL7oFzX(A@$yPmK9cF#97tBH3UU~ucY51`aBx|uK43W=#+eS?H=&Td zD<^*1kku}RM;GgzXR$h9KE*^2MU`Y*D)M627~TH06F|U&qqbHcAFPn-lEMhuOq2_( z{JhDrc{CAxun6JX+_8nU5quHzlg-IWU&_i(z55v_*Cy*GHF|azjee`lkNTI`G5TA^ zofUe14DrNMk?_cs-4M^ljA z2X~mG&_gG(f5N+l4)_?e`Qn&k|L&J2J8JbUQ_*AyNi+h%5;D2@Ip~{k%hlbUiEKuR z{g*sDDB1}2=Ue$%!zT_w3sg?s?{nW@{+K7-F(S9C=pSOP{C#g%tT_Xz^@$;<)M`D2 zMvv)B9KZ5aa^x3dQmA7j>U1^o&we6rA!vRqoJe1>v#Tw?Me1B{G%Pqoc7TOHXBHW? z7QT%8E5L8hVdr$#Js6Y1Xo^l}(Edv*DGcQTq+~%>J?2(eWqUPWSCOMHDsn__lrcoy zbCTG=i!?pXny~B!PWEdwj(P6<6r#{$lDo-?o13%TJ2)sVDpCvN<*<(rCTZhLe8 zdDP&!=fcFQHi?o)f5#jg99$23otJjMG~HIZ3#h89+B^)WtVNQD?P$gk2@izzB*x-o z-W-BaFxVXJ$X5ZBA%*4T_X876v?du5pmjDB3e=603F0M6mE2ksxM zEnco&2)hLFUcqbEp6DKPob>=bTJE=eCtcb_Vkn$||QUVad>wP`rQAlWL9hjju zH}}!~#|Lx_P1rgUdl|Ic0+-eE^WLWom_Jz{8s%LAn=M3|vD$WaC64o8PlE>$3zJ6o zOsK6$FS>sK z+MTEQoP$Ti5pc6;ZdE>QydOkdDZ32FowXDdeQpT1c5l5WkXoyVZ;#gY3$@^Z%ul)1 zJUKZ@8~O;aIr;nkD5$ReZGf-gL!OI7{vIw}j3P1P=;WGQFInSU%Mm zmrkULQZMh|5rRZ*Q~k4VIqqvZB?=y*2&q7$Ewj)rU6iN4Cp!N%-Q7f<22~X`{>}@W z`xZplXvX!l`meb!rS0jO;Mj>&dojrz4d9`dqLm@^l!UwC$iHCH)@EpBm8=wc@aGl% zlLAHS2tL2>pGX0~hW~^YvZTWk*fTsmDpUFDb!R`h{S)V(W*m~sq}rSxG146UtMFP0 z+qW`!@E>N6)P!)J-G_C{S06ulk~7!qMdG2LFnw%j^Q?egQjO`3obqnMLF)?nq;5OM zX=@3KxNym{1**D9orMR@1Y6-+g0=-fw$=x`S}_SZvjEgU@$yT{5lgy=UCcu?@#XdF z+$(9&YcTcR4@PBM9sXbKWK_17paPt{S#j+`Ypa zwzvjdIR)8?@qNrolCN*#s9X0)*=!0d;)k<`$CI8U9y-V^fE?C?cc)wzBClg15U_pb zW=C?}HsXwQ=pm+|LoBVba{ZU9$I(}#iLSLV*#LpKR@3|5u;k<6^&2-H)DQ@Sz@_69 z<&~_9_8_iHF0EG73a1R4ne_xmO zzh$`4#Otm6XY}Y5h=%`rJ0DDd@;%5yun0bN)IWy-lxk5B@Q@U|1A~Its>VdgeD0r} z|GwD=xdh(Ogr$J~h~SH3;sb#myutsUo!|%YzDt$*`Kfn?npYLvxP(} zx~i~fO}CTL`{312!Pq3is5oi-2={HqtXbICX|~w3lr}V|mBm36U>$gm3R2{qd|e2- z^DR7q+}e4f>#z|>ZVn)Hp5YyrQfoYfM1gH!^M-Y<8m~y;wYsNtj_zopl=IMx-wk zLQwoY$KyAB)iS)Q%$GLEWjrhE1-_v^K+PcC~%zy9uWUy(JC?!XG>qu+Tj6VJBWJ+`i z>!p-!VljO|t=INuGzsHni9_X1$j`S@;Kl$;u20W@Yl1W(R?u#?nuRlp1i8o?w6SqQ zZPn=b!)d88Qt%mk?&|5jhLtg7UZodJ$W6NJ@9%#eGLxxH4V6ZZ95+jDCJU`9+pY9X zu0{0g&zsAJDE5Feq?7M#@=NnxQdg-qU#2Mx`CNK2M!fA{wBHGDo>(d-kADJKKI8Qk zWi;2Y`Su^!N!D(LL# z{-w!)qS zE=s!wu-uK3_&AsN&zn`)*{XzKp904OlA~T&g5!}EPLgx!QvdeJ4vvO1IOvn^tbDM` zz+k_x!Rb&&fIh|Pep~EGhU;r98iF9i!vCWj2lD#4+s2y2(NNUi}XNF=Mj#ZywEbLkLR6eBTq@JoK$p zKAEnanQSk}cT!y*8{CSU+Eqk82IL{mHp|J-t+Qtj&02$k_-1^k&u%kyH*^x-ph|PS z-6~w&y%65jJ5#{OgDxI6V#e@V0b}J^AUGc>^1(I)rRyX?#s6V(^YX)f?E;g1iBs{K zPzPCz=(@ktlgmvW(=k0gT5psQQ{#zdi`|xI;?YJq0uTw=2xa z?r)Ujy|))NObX3ey$|-H0d|Ea$7{#CEMm{rF9jJKK}uA} z+sWpq-SDl{{`*T`wtZV{fW6r8Ae--7^%L;vdJffE1g2AoyVpb7E_?+9iIurJaxfLd z@>%OW9$M18xx*e2kN63{1TUEnAceA#*UrV*YJ^7@NLU>4%yALr&6WO23&Ro8nP*GA z=C~X9Zo$ys%Ah{!Nj}S|mojhJkehuR3sP|%a`sO9{)Ym-V}SVlpGf%^cg+hmVSB$I z8MS*KP9Kv~Es@f{w~sc_o4Z!0%TCHk190=4AdgkS?4wV88pzO2h$QiM;a1(tNcG|d zqaz6X>ymDk_fj%>Ig&4-#*ZupZXdn1GpfSfFdBorJtO7F!bAcHgs^|m=wADijP^Z8 z*gyjyK49KmJ^uR8U1#}h&|5`1)Z*CDp)j(u=gAqQ+AgSbWo2L#^NTM7n{=W_N|t zU+Qt1@9Z7q;MqQWA^z;b*O(}NdK++ybSdKa>8Y;P+(h&XfB)o>>9$ChE&9cV9swo7 zl}~Q&jtWfTMXP4bnQEP|yxI(q|2lih2vMe@O=#DJY{Hv4*}Xu3xKf9s1-d9M6a;Z6>P0Na-E%h7UCEazDC{ z1pkgEEAGTK>0mHP!S7A?E`r_e?u_i)kAPkbg!ReesQ+Lwd2eTW$v{QvKml)=+R2^V z8whpYe^RNM0{%1KS^Nxi@A;isL&P;)IIQ@Tq&V?iLt67eHet|96yO6?2X;*g z^O0q?!@5&$YTo(1Vf$?0=;i-FH}(TqvCVsUp0|eC(fZkRfwAPlo%vz8^gKZK(2R*C zV*Bb&uaB7XI1F-dl5*ts#!~m+*=BT!!DLAz$)$ACeFAmuw0m@r9VGbs@wS#HIa~1m pCj->P1T_BfJtfWmuRz#3gW5^op+Y}Daf5(A_wMRzR;yb_{2zhH7r_7k delta 13767 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 N&lOak7C$ld{XY@0jF|uc From 8bb32e00fab1306219a3c3bee5ba59a9f85e351f Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Mon, 16 Jun 2014 21:32:58 +0100 Subject: [PATCH 02/84] Fixes ID computer's missing Security section --- code/game/machinery/computer/card.dm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index fcf525cc36..8c86629de3 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -115,6 +115,15 @@ jobs_all += "Captain" jobs_all += "Custom" + counter = 0 + jobs_all += "Security"//Red + for(var/job in security_positions) + counter++ + if(counter >= 6) + jobs_all += "" + counter = 0 + jobs_all += "[replacetext(job, " ", " ")]" + counter = 0 jobs_all += "Engineering"//Orange for(var/job in engineering_positions) From 5d2bba343475ae499404622b53768a28511e1cf9 Mon Sep 17 00:00:00 2001 From: Jarcolr Date: Tue, 17 Jun 2014 14:53:18 +0300 Subject: [PATCH 03/84] Adds paths for therapy dolls http://puu.sh/9xlQu/53016923a6.dmi for the dolls that are already in the code but unused. --- code/game/objects/items/toys.dm | 56 ++++++++++++++++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 852072769a..d8053d8fc1 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -1,14 +1,18 @@ /* Toys! - * ContainsL + * Contains: * Balloons * Fake telebeacon * Fake singularity * Toy gun * Toy crossbow * Toy swords + * Toy mechs * Crayons * Snap pops * Water flower + * Therapy dolls + * Toddler doll + * Inflatable duck */ @@ -577,6 +581,55 @@ w_class = 3 attack_verb = list("attacked", "slashed", "stabbed", "sliced") +/obj/item/toy/therapy_red + name = "red therapy doll" + desc = "A toy for therapeutic and recreational purposes. This one is red." + icon = 'icons/obj/weapons.dmi' + icon_state = "therapyred" + item_state = "egg4" // It's the red egg in items_left/righthand + w_class = 1 + +/obj/item/toy/therapy_purple + name = "purple therapy doll" + desc = "A toy for therapeutic and recreational purposes. This one is purple." + icon = 'icons/obj/weapons.dmi' + icon_state = "therapypurple" + item_state = "egg1" // It's the magenta egg in items_left/righthand + w_class = 1 + +/obj/item/toy/therapy_blue + name = "blue therapy doll" + desc = "A toy for therapeutic and recreational purposes. This one is blue." + icon = 'icons/obj/weapons.dmi' + icon_state = "therapyblue" + item_state = "egg2" // It's the blue egg in items_left/righthand + w_class = 1 + +/obj/item/toy/therapy_yellow + name = "yellow therapy doll" + desc = "A toy for therapeutic and recreational purposes. This one is yellow." + icon = 'icons/obj/weapons.dmi' + icon_state = "therapyyellow" + item_state = "egg5" // It's the yellow egg in items_left/righthand + w_class = 1 + +/obj/item/toy/therapy_orange + name = "orange therapy doll" + desc = "A toy for therapeutic and recreational purposes. This one is orange." + icon = 'icons/obj/weapons.dmi' + icon_state = "therapyorange" + item_state = "egg4" // It's the red one again, lacking an orange item_state and making a new one is pointless + w_class = 1 + +/obj/item/toy/therapy_green + name = "green therapy doll" + desc = "A toy for therapeutic and recreational purposes. This one is green." + icon = 'icons/obj/weapons.dmi' + icon_state = "therapygreen" + item_state = "egg3" // It's the green egg in items_left/righthand + w_class = 1 + + /* NYET. /obj/item/weapon/toddler icon_state = "toddler" @@ -588,6 +641,7 @@ */ //This should really be somewhere else but I don't know where. w/e + /obj/item/weapon/inflatable_duck name = "inflatable duck" desc = "No bother to sink or swim when you can just float!" From 3dfc20eebee93abcd91e37069535b0fb5b3a3cd1 Mon Sep 17 00:00:00 2001 From: Boop Date: Tue, 17 Jun 2014 16:29:37 +0100 Subject: [PATCH 04/84] Fix a runtime for Mloc (mloc is so lazy) Also makes custom item spawning a tiny bit nicer! file will only be loaded once, instead of every time someone spawns --- code/modules/customitems/item_spawning.dm | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/code/modules/customitems/item_spawning.dm b/code/modules/customitems/item_spawning.dm index 8682f6f69e..38f50bf742 100644 --- a/code/modules/customitems/item_spawning.dm +++ b/code/modules/customitems/item_spawning.dm @@ -4,12 +4,15 @@ //for multiple items just add mutliple entries, unless i change it to be a listlistlist //yes, it has to be an item, you can't pick up nonitems -/proc/EquipCustomItems(mob/living/carbon/human/M) - // load lines - var/file = file2text("config/custom_items.txt") - var/lines = text2list(file, "\n") +/var/list/custom_items = list() - for(var/line in lines) +/hook/startup/proc/loadCustomItems() + var/custom_items_file = file2text("config/custom_items.txt") + custom_items = text2list(custom_items_file, "\n") + return 1 + +/proc/EquipCustomItems(mob/living/carbon/human/M) + for(var/line in custom_items) // split & clean up var/list/Entry = text2list(line, ":") for(var/i = 1 to Entry.len) @@ -24,6 +27,8 @@ var/ok = 0 // 1 if the item was placed successfully P = trim(P) var/path = text2path(P) + if(!path) continue + var/obj/item/Item = new path() if(istype(Item,/obj/item/weapon/card/id)) //id card needs to replace the original ID From d2e81da90c4bbfdba45e5ff939a79bb691d10e4c Mon Sep 17 00:00:00 2001 From: Boop Date: Tue, 17 Jun 2014 17:25:57 +0100 Subject: [PATCH 05/84] Fixes #4756 removes the getrev stuff because it's svn and old and I couldn't get tg's stuff to work :c --- baystation12.dme | 1 - code/datums/helper_datums/getrev.dm | 96 ----------------------------- code/game/gamemodes/game_mode.dm | 2 - code/world.dm | 17 +++-- 4 files changed, 8 insertions(+), 108 deletions(-) delete mode 100644 code/datums/helper_datums/getrev.dm diff --git a/baystation12.dme b/baystation12.dme index 29c3bf3a45..3b378a6e61 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -138,7 +138,6 @@ #include "code\datums\diseases\advance\symptoms\weight.dm" #include "code\datums\helper_datums\construction_datum.dm" #include "code\datums\helper_datums\events.dm" -#include "code\datums\helper_datums\getrev.dm" #include "code\datums\helper_datums\global_iterator.dm" #include "code\datums\helper_datums\teleport.dm" #include "code\datums\helper_datums\topic_input.dm" diff --git a/code/datums/helper_datums/getrev.dm b/code/datums/helper_datums/getrev.dm deleted file mode 100644 index 6d81631890..0000000000 --- a/code/datums/helper_datums/getrev.dm +++ /dev/null @@ -1,96 +0,0 @@ -/* - * This datum gets revision info from local svn 'entries' file - * Path to the directory containing it should be in 'config/svndir.txt' file - * - */ - -var/global/datum/getrev/revdata = new("config/svndir.txt") - -//Oh yeah, I'm an OOP fag, lalala -/datum/getrev - var/revision - var/commiter - var/svndirpath - var/revhref - - proc/abort() - spawn() - del src - - New(filename) - ..() - var/list/Lines = file2list(filename) - if(!Lines.len) return abort() - 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) - name = lowertext(copytext(t, 1, pos)) - value = copytext(t, pos + 1) - else - name = lowertext(t) - if(!name) - continue - switch(name) - if("svndir") - svndirpath = value - if("revhref") - revhref = value - - if(svndirpath && fexists(svndirpath) && fexists("[svndirpath]/entries") && isfile(file("[svndirpath]/entries"))) - var/list/filelist = file2list("[svndirpath]/entries") - var/s_archive = "" //Stores the previous line so the revision owner can be assigned. - - //This thing doesn't count blank lines, so doing filelist[4] isn't working. - for(var/s in filelist) - if(!commiter) - if(s == "has-props")//The line before this is the committer. - commiter = s_archive - if(!revision) - var/n = text2num(s) - if(isnum(n)) - if(n > 5000 && n < 99999) //Do you think we'll still be up and running at r100000? :) ~Errorage - revision = s - if(revision && commiter) - break - s_archive = s - if(!revision) - abort() - log_misc("Revision info loaded succesfully") - return - return abort() - - proc/getRevisionText() - var/output - if(revhref) - output = {"[revision]"} - else - output = revision - return output - - proc/showInfo() - return {" - - - -

Server Revision: [getRevisionText()]
- Author: [commiter]

- - "} - -client/verb/showrevinfo() - set category = "OOC" - set name = "Show Server Revision" - var/output = "Sorry, the revision info is unavailable." - output = file2text("/home/bay12/live/data/gitcommit") - output += "Current Infomational Settings:
" - output += "Protect Authority Roles From Traitor: [config.protect_roles_from_antagonist]
" - usr << browse(output,"window=revdata"); - return diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 14c8b67f2b..45a4ca2ef5 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -111,8 +111,6 @@ Implants; feedback_set_details("round_start","[time2text(world.realtime)]") if(ticker && ticker.mode) feedback_set_details("game_mode","[ticker.mode]") - if(revdata) - feedback_set_details("revision","[revdata.revision]") feedback_set_details("server_ip","[world.internet_address]:[world.port]") return 1 diff --git a/code/world.dm b/code/world.dm index b3fe9940a8..b74a1abccd 100644 --- a/code/world.dm +++ b/code/world.dm @@ -71,7 +71,7 @@ var/world_topic_spam_protect_time = world.timeofday /world/Topic(T, addr, master, key) diary << "TOPIC: \"[T]\", from:[addr], master:[master], key:[key][log_end]" - + if (T == "ping") var/x = 1 for (var/client/C) @@ -108,7 +108,6 @@ var/world_topic_spam_protect_time = world.timeofday n++ s["players"] = n - if(revdata) s["revision"] = revdata.revision s["admins"] = admins return list2params(s) @@ -127,7 +126,7 @@ var/world_topic_spam_protect_time = world.timeofday var/input[] = params2list(T) if(input["key"] != config.comms_password) if(world_topic_spam_protect_ip == addr && abs(world_topic_spam_protect_time - world.time) < 50) - + spawn(50) world_topic_spam_protect_time = world.time return "Bad Key (Throttled)" @@ -136,9 +135,9 @@ var/world_topic_spam_protect_time = world.timeofday world_topic_spam_protect_ip = addr return "Bad Key" - + var/client/C - + for(var/client/K in clients) if(K.ckey == input["adminmsg"]) C = K @@ -155,7 +154,7 @@ var/world_topic_spam_protect_time = world.timeofday C << 'sound/effects/adminhelp.ogg' C << message - + for(var/client/A in admins) if(A != C) A << amessage @@ -182,9 +181,9 @@ var/world_topic_spam_protect_time = world.timeofday return "Bad Key" return show_player_info_irc(input["notes"]) - - + + /world/Reboot(var/reason) @@ -271,7 +270,7 @@ var/world_topic_spam_protect_time = world.timeofday var/title = "Moderator" if(config.mods_are_mentors) title = "Mentor" var/rights = admin_ranks[title] - + var/ckey = copytext(line, 1, length(line)+1) var/datum/admins/D = new /datum/admins(title, rights, ckey) D.associate(directory[ckey]) From 8cc14a2ac3c1457a15b36bc48963b752cbc2529b Mon Sep 17 00:00:00 2001 From: Boop Date: Tue, 17 Jun 2014 17:40:29 +0100 Subject: [PATCH 06/84] Fixed #4697 while still trying to make it work a bit messy but I don't know a better way to do this --- code/game/gamemodes/events/ninja_equipment.dm | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/code/game/gamemodes/events/ninja_equipment.dm b/code/game/gamemodes/events/ninja_equipment.dm index d9f3801902..2a7d35b4a5 100644 --- a/code/game/gamemodes/events/ninja_equipment.dm +++ b/code/game/gamemodes/events/ninja_equipment.dm @@ -1367,17 +1367,20 @@ It is possible to destroy the net by the occupant or someone else. playsound(M.loc, 'sound/effects/sparks4.ogg', 50, 1) anim(M.loc,M,'icons/mob/mob.dmi',,"phaseout",,M.dir) - M.loc = pick(holdingfacility)//Throw mob in to the holding facility. - M << "\red You appear in a strange place!" + if(holdingfacility.len) + M.loc = pick(holdingfacility)//Throw mob in to the holding facility. + spawn(0) + var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread() + spark_system.set_up(5, 0, M.loc) + spark_system.start() + playsound(M.loc, 'sound/effects/phasein.ogg', 25, 1) + playsound(M.loc, 'sound/effects/sparks2.ogg', 50, 1) + anim(M.loc,M,'icons/mob/mob.dmi',,"phasein",,M.dir) + del(src)//Wait for everything to finish, delete the net. Else it will stop everything once net is deleted, including the spawn(0). + else + M.loc = null - spawn(0) - var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread() - spark_system.set_up(5, 0, M.loc) - spark_system.start() - playsound(M.loc, 'sound/effects/phasein.ogg', 25, 1) - playsound(M.loc, 'sound/effects/sparks2.ogg', 50, 1) - anim(M.loc,M,'icons/mob/mob.dmi',,"phasein",,M.dir) - del(src)//Wait for everything to finish, delete the net. Else it will stop everything once net is deleted, including the spawn(0). + M << "\red You appear in a strange place!" for(var/mob/O in viewers(src, 3)) O.show_message(text("[] vanished!", M), 1, text("You hear sparks flying!"), 2) From fc4c918eda445799f450ff88beb901036f1e184c Mon Sep 17 00:00:00 2001 From: Jarcolr Date: Tue, 17 Jun 2014 20:09:19 +0300 Subject: [PATCH 07/84] Fixes #5255 and walking over edges Before walking over an asteroid edge would have put the mob under the sprite, as if the mob crawled under it. --- code/modules/mining/mine_turfs.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index 88363da800..8dee51879c 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -38,19 +38,19 @@ var/list/artifact_spawn = list() // Runtime fix for geometry loading before cont if((istype(get_step(src, NORTH), /turf/simulated/floor)) || (istype(get_step(src, NORTH), /turf/space)) || (istype(get_step(src, NORTH), /turf/simulated/shuttle/floor))) T = get_step(src, NORTH) if (T) - T.overlays += image('icons/turf/walls.dmi', "rock_side_s") + T.overlays += image('icons/turf/walls.dmi', "rock_side_s", layer=2) if((istype(get_step(src, SOUTH), /turf/simulated/floor)) || (istype(get_step(src, SOUTH), /turf/space)) || (istype(get_step(src, SOUTH), /turf/simulated/shuttle/floor))) T = get_step(src, SOUTH) if (T) - T.overlays += image('icons/turf/walls.dmi', "rock_side_n", layer=6) + T.overlays += image('icons/turf/walls.dmi', "rock_side_n", layer=2) if((istype(get_step(src, EAST), /turf/simulated/floor)) || (istype(get_step(src, EAST), /turf/space)) || (istype(get_step(src, EAST), /turf/simulated/shuttle/floor))) T = get_step(src, EAST) if (T) - T.overlays += image('icons/turf/walls.dmi', "rock_side_w", layer=6) + T.overlays += image('icons/turf/walls.dmi', "rock_side_w", layer=2) if((istype(get_step(src, WEST), /turf/simulated/floor)) || (istype(get_step(src, WEST), /turf/space)) || (istype(get_step(src, WEST), /turf/simulated/shuttle/floor))) T = get_step(src, WEST) if (T) - T.overlays += image('icons/turf/walls.dmi', "rock_side_e", layer=6) + T.overlays += image('icons/turf/walls.dmi', "rock_side_e", layer=2) ex_act(severity) From 161b37fca0b3a988ece547a8cf687e86b6c62ff9 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 17 Jun 2014 22:35:23 +0400 Subject: [PATCH 08/84] Got vgstation13 colored lights rewrite working here. --- code/__HELPERS/game.dm | 32 ++ code/__HELPERS/logging.dm | 5 +- code/__HELPERS/maths.dm | 5 + code/controllers/_DynamicAreaLighting_TG.dm | 472 ++++++++++++++------ icons/effects/effects.dmi | Bin 199964 -> 199976 bytes 5 files changed, 363 insertions(+), 151 deletions(-) diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index e2c04299f1..448726bf0d 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -366,3 +366,35 @@ datum/projectile_data var/dest_y = src_y + distance*cos(rotation); return new /datum/projectile_data(src_x, src_y, time, distance, power_x, power_y, dest_x, dest_y) + +/proc/GetRedPart(const/hexa) + var/hex = uppertext(hexa) + var/hi = text2ascii(hex, 2) + var/lo = text2ascii(hex, 3) + return (((hi >= 65 ? hi - 55 : hi - 48) << 4) | (lo >= 65 ? lo - 55 : lo - 48)) + +/proc/GetGreenPart(const/hexa) + var/hex = uppertext(hexa) + var/hi = text2ascii(hex, 4) + var/lo = text2ascii(hex, 5) + return (((hi >= 65 ? hi - 55 : hi - 48) << 4) | (lo >= 65 ? lo - 55 : lo - 48)) + +/proc/GetBluePart(const/hexa) + var/hex = uppertext(hexa) + var/hi = text2ascii(hex, 6) + var/lo = text2ascii(hex, 7) + return (((hi >= 65 ? hi - 55 : hi - 48) << 4) | (lo >= 65 ? lo - 55 : lo - 48)) + +/proc/GetHexColors(const/hexa) + var/hex = uppertext(hexa) + var/hi1 = text2ascii(hex, 2) + var/lo1 = text2ascii(hex, 3) + var/hi2 = text2ascii(hex, 4) + var/lo2 = text2ascii(hex, 5) + var/hi3 = text2ascii(hex, 6) + var/lo3 = text2ascii(hex, 7) + return list( + ((hi1 >= 65 ? hi1 - 55 : hi1 - 48) << 4) | (lo1 >= 65 ? lo1 - 55 : lo1 - 48), + ((hi2 >= 65 ? hi2 - 55 : hi2 - 48) << 4) | (lo2 >= 65 ? lo2 - 55 : lo2 - 48), + ((hi3 >= 65 ? hi3 - 55 : hi3 - 48) << 4) | (lo3 >= 65 ? lo3 - 55 : lo3 - 48) + ) diff --git a/code/__HELPERS/logging.dm b/code/__HELPERS/logging.dm index b551d86c75..69d01e3d35 100644 --- a/code/__HELPERS/logging.dm +++ b/code/__HELPERS/logging.dm @@ -6,11 +6,12 @@ // in the logs. ascii character 13 = CR /var/global/log_end= world.system_type == UNIX ? ascii2text(13) : "" - + /proc/error(msg) world.log << "## ERROR: [msg][log_end]" +#define WARNING(MSG) warning("[MSG] in [__FILE__] at line [__LINE__] src: [src] usr: [usr].") //print a warning message to world.log /proc/warning(msg) world.log << "## WARNING: [msg][log_end]" @@ -79,4 +80,4 @@ diary << "\[[time_stamp()]]PDA: [text][log_end]" /proc/log_misc(text) - diary << "\[[time_stamp()]]MISC: [text][log_end]" + diary << "\[[time_stamp()]]MISC: [text][log_end]" diff --git a/code/__HELPERS/maths.dm b/code/__HELPERS/maths.dm index b174147d58..d36551f1d6 100644 --- a/code/__HELPERS/maths.dm +++ b/code/__HELPERS/maths.dm @@ -3,6 +3,11 @@ var/const/E = 2.71828183 var/const/Sqrt2 = 1.41421356 +// List of square roots for the numbers 1-100. +var/list/sqrtTable = list(1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10) /proc/Atan2(x, y) if(!x && !y) return 0 diff --git a/code/controllers/_DynamicAreaLighting_TG.dm b/code/controllers/_DynamicAreaLighting_TG.dm index 5f87620780..c7000425f1 100644 --- a/code/controllers/_DynamicAreaLighting_TG.dm +++ b/code/controllers/_DynamicAreaLighting_TG.dm @@ -5,9 +5,10 @@ ShadowDarke's respective lighting libraries. Credits, where due, to them. Like sd_DAL (what we used to use), it changes the shading overlays of areas by splitting each type of area into sub-areas - by using the var/tag variable and moving turfs into the contents list of the correct sub-area. + by using the var/tag variable and moving turfs into the contents list of the correct sub-area. This method is + much less costly than using overlays or objects. - Unlike sd_DAL however it uses a queueing system. Everytime we call a change to opacity or luminosity + Unlike sd_DAL however it uses a queueing system. Everytime we call a change to opacity or luminosity (through SetOpacity() or SetLuminosity()) we are simply updating variables and scheduling certain lights/turfs for an update. Actual updates are handled periodically by the lighting_controller. This carries additional overheads, however it means that each thing is changed only once per lighting_controller.processing_interval ticks. Allowing for greater control @@ -15,50 +16,40 @@ setting lighting_controller.processing = 0 at say, the start of a large explosion, waiting for it to finish, and then turning it back on with lighting_controller.processing = 1. - Unlike our old system there is a hardcoded maximum luminosity. This is to discourage coders using large luminosity values - for dynamic lighting, as the cost of lighting grows rapidly at large luminosity levels (especially when changing opacity - at runtime) + Unlike our old system there are hardcoded maximum luminositys (different for certain atoms). + This is to cap the cost of creating lighting effects. + (without this, an atom with luminosity of 20 would have to update 41^2 turfs!) :s Also, in order for the queueing system to work, each light remembers the effect it casts on each turf. This is going to - have larger memory requirements than our previous system but hopefully it's worth the hassle for the greater control we - gain. Besides, there are far far worse uses of needless lists in the game, it'd be worth pruning some of them to offset - costs. + have larger memory requirements than our previous system but it's easily worth the hassle for the greater control we + gain. It also reduces cost of removing lighting effects by a lot! Known Issues/TODO: - admin-spawned turfs will have broken lumcounts. Not willing to fix it at this moment - mob luminosity will be lower than expected when one of multiple light sources is dropped after exceeding the maximum luminosity Shuttles still do not have support for dynamic lighting (I hope to fix this at some point) - No directional lighting support. Fairly easy to add this and the code is ready. + No directional lighting support. (prototype looked ugly) */ -#define LIGHTING_MAX_LUMINOSITY 12 //Hard maximum luminosity to prevet lag which could be caused by coders making mini-suns -#define LIGHTING_MAX_LUMINOSITY_MOB 7 //Mobs get their own max because 60-odd human suns running around would be pretty silly -#define LIGHTING_LAYER 10 //Drawing layer for lighting overlays -#define LIGHTING_ICON 'icons/effects/ss13_dark_alpha7.dmi' //Icon used for lighting shading effects +#define LIGHTING_CIRCULAR 1 //comment this out to use old square lighting effects. +#define LIGHTING_LAYER 10 //Drawing layer for lighting overlays +#define LIGHTING_ICON 'icons/effects/ss13_dark_alpha6.dmi' //Icon used for lighting shading effects datum/light_source var/atom/owner var/changed = 1 - var/mobile = 1 var/list/effect = list() - var/__x = 0 //x coordinate at last update var/__y = 0 //y coordinate at last update + var/l_color New(atom/A) if(!istype(A)) CRASH("The first argument to the light object's constructor must be the atom that is the light source. Expected atom, received '[A]' instead.") - ..() owner = A - - if(istype(owner, /atom/movable)) mobile = 1 //apparantly this is faster than type-checking - else mobile = 0 //Perhaps removing support for luminous turfs would be a good idea. - + l_color = owner.l_color __x = owner.x __y = owner.y - // the lighting object maintains a list of all light sources lighting_controller.lights += src @@ -69,12 +60,14 @@ datum/light_source remove_effect() return 1 //causes it to be removed from our list of lights. The garbage collector will then destroy it. - if(mobile) - // check to see if we've moved since last update - if(owner.x != __x || owner.y != __y) - __x = owner.x - __y = owner.y - changed = 1 + // check to see if we've moved since last update + if(owner.x != __x || owner.y != __y) + __x = owner.x + __y = owner.y + changed = 1 + + if (owner.l_color != l_color) + changed = 1 if(changed) changed = 0 @@ -85,197 +78,282 @@ datum/light_source proc/remove_effect() // before we apply the effect we remove the light's current effect. - if(effect.len) - for(var/turf in effect) // negate the effect of this light source - var/turf/T = turf - T.update_lumcount(-effect[T]) - effect.Cut() // clear the effect list + for(var/turf/T in effect) // negate the effect of this light source + T.update_lumcount(-effect[T], l_color, 1) + effect.Cut() // clear the effect list proc/add_effect() // only do this if the light is turned on and is on the map if(owner.loc && owner.luminosity > 0) - effect = new_effect() // identify the effects of this light source - for(var/turf in effect) - var/turf/T = turf - T.update_lumcount(effect[T]) // apply the effect + l_color = owner.l_color + effect = list() + for(var/turf/T in view(owner.get_light_range(),owner)) + var/delta_lumen = lum(T) + if(delta_lumen > 0) + effect[T] = delta_lumen + T.update_lumcount(delta_lumen, l_color, 0) + return 0 else owner.light = null return 1 //cause the light to be removed from the lights list and garbage collected once it's no //longer referenced by the queue - proc/new_effect() - . = list() - - for(var/turf/T in view(owner.luminosity, owner)) -// var/area/A = T.loc -// if(!A) continue - var/change_in_lumcount = lum(T) - if(change_in_lumcount > 0) - .[T] = change_in_lumcount - - return . - - proc/lum(turf/A) - return owner.luminosity - max(abs(A.x-__x),abs(A.y-__y)) -// var/dist = cheap_hypotenuse(A.x,A.y,__x,__y) //fetches the pythagorean distance between A and the light -// if(owner.luminosity < dist) //if the turf is outside the radius the light doesn't illuminate it -// return 0 -// return round(owner.luminosity - (dist/2),0.1) + if (owner.trueLuminosity < 1) + return 0 + var/dist + if(!A) + dist = 0 + else +#ifdef LIGHTING_CIRCULAR + dist = cheap_hypotenuse(A.x, A.y, __x, __y) +#else + dist = max(abs(A.x - __x), abs(A.y - __y)) +#endif + if (owner.trueLuminosity > 100) // This will never happen... right? + return sqrt(owner.trueLuminosity) - dist + else + return sqrtTable[owner.trueLuminosity] - dist atom var/datum/light_source/light + var/trueLuminosity = 0 // Typically 'luminosity' squared. The builtin luminosity must remain linear. + // We may read it, but NEVER set it directly. + var/l_color //Turfs with opacity when they are constructed will trigger nearby lights to update -//Turfs atoms with luminosity when they are constructed will create a light_source automatically -//TODO: lag reduction +//Turfs and atoms with luminosity when they are constructed will create a light_source automatically turf/New() ..() - if(opacity) - UpdateAffectingLights() if(luminosity) - world.log << "[type] has luminosity at New()" - if(light) world.log << "## WARNING: [type] - Don't set lights up manually during New(), We do it automatically." + if(light) WARNING("[type] - Don't set lights up manually during New(), We do it automatically.") + trueLuminosity = luminosity * luminosity light = new(src) //Movable atoms with opacity when they are constructed will trigger nearby lights to update //Movable atoms with luminosity when they are constructed will create a light_source automatically -//TODO: lag reduction atom/movable/New() ..() if(opacity) - UpdateAffectingLights() + if(isturf(loc)) + if(loc:lighting_lumcount > 1) + UpdateAffectingLights() if(luminosity) - if(light) world.log << "## WARNING: [type] - Don't set lights up manually during New(), We do it automatically." + if(light) WARNING("[type] - Don't set lights up manually during New(), We do it automatically.") + trueLuminosity = luminosity * luminosity light = new(src) -//Turfs with opacity will trigger nearby lights to update at next lighting process. -//TODO: is this really necessary? Removing it could help reduce lag during singulo-mayhem somewhat -turf/Del() - if(opacity) - UpdateAffectingLights() - ..() - //Objects with opacity will trigger nearby lights to update at next lighting process. atom/movable/Del() if(opacity) - UpdateAffectingLights() + if(isturf(loc)) + if(loc:lighting_lumcount > 1) + UpdateAffectingLights() + ..() -//Sets our luminosity. Enforces a hardcoded maximum luminosity by default. This maximum can be overridden but it is extremely -//unwise to do so. +//Sets our luminosity. //If we have no light it will create one. -//If we are setting luminosity to 0 the light will be cleaned up and delted once all its queues are complete -//if we have a light already it is merely updated -atom/proc/SetLuminosity(new_luminosity, max_luminosity = LIGHTING_MAX_LUMINOSITY) +//If we are setting luminosity to 0 the light will be cleaned up by the controller and garbage collected once all its +//queues are complete. +//if we have a light already it is merely updated, rather than making a new one. +atom/proc/SetLuminosity(new_luminosity, trueLum = FALSE) if(new_luminosity < 0) new_luminosity = 0 -// world.log << "## WARNING: [type] - luminosity cannot be negative" - else if(max_luminosity < new_luminosity) - new_luminosity = max_luminosity -// if(luminosity != new_luminosity) -// world.log << "## WARNING: [type] - LIGHT_MAX_LUMINOSITY exceeded" + if(!trueLum) + new_luminosity *= new_luminosity + if(light) + if(trueLuminosity != new_luminosity) //non-luminous lights are removed from the lights list in add_effect() + light.changed = 1 + else + if(new_luminosity) + light = new(src) + trueLuminosity = new_luminosity + if (trueLuminosity < 1) + luminosity = 0 + else if (trueLuminosity <= 100) + luminosity = sqrtTable[trueLuminosity] + else + luminosity = sqrt(trueLuminosity) - if(isturf(loc)) - if(light) - if(luminosity != new_luminosity) //TODO: remove lights from the light list when they're not luminous? DONE in add_effect - light.changed = 1 - else - if(new_luminosity) - light = new(src) +atom/proc/AddLuminosity(delta_luminosity) + if(delta_luminosity > 0) + SetLuminosity(trueLuminosity + delta_luminosity*delta_luminosity, TRUE) + else if(delta_luminosity < 0) + SetLuminosity(trueLuminosity - delta_luminosity*delta_luminosity, TRUE) - luminosity = new_luminosity +area/SetLuminosity(new_luminosity) //we don't want dynamic lighting for areas + luminosity = !!new_luminosity + trueLuminosity = luminosity -//Snowflake code to prevent mobs becoming suns (lag-prevention) -mob/SetLuminosity(new_luminosity) - ..(new_luminosity,LIGHTING_MAX_LUMINOSITY_MOB) //change our opacity (defaults to toggle), and then update all lights that affect us. -atom/proc/SetOpacity(var/new_opacity) - if(new_opacity == null) new_opacity = !opacity - else if(opacity == new_opacity) return - opacity = new_opacity +atom/proc/SetOpacity(new_opacity) + if(new_opacity == null) + new_opacity = !opacity //default = toggle opacity + else if(opacity == new_opacity) + return 0 //opacity hasn't changed! don't bother doing anything + opacity = new_opacity //update opacity, the below procs now call light updates. + return 1 - UpdateAffectingLights() +turf/SetOpacity(new_opacity) + if(..()==1) //only bother if opacity changed + if(lighting_lumcount) //only bother with an update if our turf is currently affected by a light + UpdateAffectingLights() -//set the changed status of all lights which could have possibly lit this atom. -//We don't need to worry about lights which lit us but moved away, since they will have change status set already -atom/proc/UpdateAffectingLights() - var/turf/T = src - if(!isturf(T)) - T = loc - if(!isturf(T)) return - for(var/atom in range(LIGHTING_MAX_LUMINOSITY,T)) //TODO: this will probably not work very well :( - var/atom/A = atom - if(A.light && A.luminosity) - A.light.changed = 1 //force it to update at next process() +/atom/movable/SetOpacity(new_opacity) + if(..()==1) //only bother if opacity changed + if(isturf(loc)) //only bother with an update if we're on a turf + var/turf/T = loc + if(T.lighting_lumcount) //only bother with an update if our turf is currently affected by a light + UpdateAffectingLights() -// for(var/light in lighting_controller.lights) //TODO: this will probably laaaaaag -// var/datum/light_source/L = light -// if(L.changed) continue -// if(!L.owner) continue -// if(!L.owner.luminosity) continue -// if(src in L.effect) -// L.changed = 1 turf var/lighting_lumcount = 0 var/lighting_changed = 0 + var/color_lighting_lumcount = 0 + var/list/colors = list() turf/space lighting_lumcount = 4 //starlight -turf/proc/update_lumcount(amount) +turf/proc/update_lumcount(amount, _lcolor, removing = 0) lighting_lumcount += amount -// if(lighting_lumcount < 0 || lighting_lumcount > 100) -// world.log << "## WARNING: [type] ([src]) lighting_lumcount = [lighting_lumcount]" + var/blended + + if (_lcolor) + if (l_color && _lcolor && l_color != _lcolor && !removing) // Blend colors. + var/redblend = min((GetRedPart(l_color)) + (GetRedPart(_lcolor)), 255) + var/greenblend = min((GetGreenPart(l_color)) + (GetGreenPart(_lcolor)), 255) + var/blueblend = min((GetBluePart(l_color)) + (GetBluePart(_lcolor)), 255) + blended = "#[add_zero2(num2hex(redblend), 2)][add_zero2(num2hex(greenblend),2)][add_zero2(num2hex(blueblend),2)]" + + if (removing) + colors.Remove(_lcolor) // Remove the color that's leaving us from our list. + + if (colors && !colors.len) + l_color = null // All our color is gone, no color for us. + else if (colors && colors.len > 1) + var/maxdepth = 3 // Will blend 3 colors, anymore than that and it looks bad or we will get lag on every tile update. + var/currentblended + + for (var/i = 0, ++i <= colors.len) + if (i > maxdepth) + //world << "Maxdepth reached, breaking loop." + break + + if (!currentblended) + //world << "First iteration, currentblended = [colors[i]]." + currentblended = colors[i] // Start with the first of the remaining colors. + continue + + var/redblend = min((GetRedPart(currentblended)) + (GetRedPart(colors[i])), 255) + var/greenblend = min((GetGreenPart(currentblended)) + (GetGreenPart(colors[i])), 255) + var/blueblend = min((GetBluePart(currentblended)) + (GetBluePart(colors[i])), 255) + currentblended = "#[add_zero2(num2hex(redblend), 2)][add_zero2(num2hex(greenblend), 2)][add_zero2(num2hex(blueblend), 2)]" + //world << "Finished [i] [currentblended]." + + if (currentblended) + //world << "Ended up with [currentblended]" + l_color = currentblended // blended the remaining colors so apply it. + else + l_color = null // Something went wrong, no color for you. + else + l_color = colors[colors.len] + else // we added a color. + colors.Add(_lcolor) // Add the base color to the list. + + if (blended) + l_color = blended // If we had a blended color, this is what we get otherwise. + else + l_color = _lcolor // Basecolor is our color. + + // if ((l_color != LIGHT_WHITE && l_color != "#FFF") || removing) + color_lighting_lumcount = max(color_lighting_lumcount + amount, 0) // Minimum of 0. + if(!lighting_changed) lighting_controller.changed_turfs += src lighting_changed = 1 +turf/proc/lighting_tag(const/level) + var/area/A = loc + return A.tagbase + "sd_L[level]" + +turf/proc/build_lighting_area(const/tag, const/level, const/color_light) + var/area/Area = loc + var/area/A = new Area.type() // create area if it wasn't found + // replicate vars + for(var/V in Area.vars) + switch(V) + if ("contents","lighting_overlay", "color_overlay", "overlays") + continue + else + if(issaved(Area.vars[V])) A.vars[V] = Area.vars[V] + + A.tag = tag + A.lighting_subarea = 1 + A.lighting_space = 0 // in case it was copied from a space subarea + + if (l_color != A.l_color) + A.l_color = l_color + //color_light = min(max(round(color_lighting_lumcount, 1), 0), lighting_controller.lighting_states) + //world << "[color_light] [color_lighting_lumcount]" + + A.SetLightLevel(level, color_light) + Area.related += A + return A + turf/proc/shift_to_subarea() lighting_changed = 0 var/area/Area = loc if(!istype(Area) || !Area.lighting_use_dynamic) return - // change the turf's area depending on its brightness - // restrict light to valid levels - var/light = min(max(round(lighting_lumcount,1),0),lighting_controller.lighting_states) + var/level = min(max(round(lighting_lumcount,1),0),lighting_controller.lighting_states) + var/new_tag = lighting_tag(level) - var/find = findtextEx(Area.tag, "sd_L") - var/new_tag = copytext(Area.tag, 1, find) - new_tag += "sd_L[light]" + // pomf - If we have a lighting color that is not null, apply the new tag to seperate the areas. + if (l_color) + new_tag += "[l_color][color_lighting_lumcount]" // pomf - We append the color lighting lumcount so we can have colored lights. if(Area.tag!=new_tag) //skip if already in this area - var/area/A = locate(new_tag) // find an appropriate area + var/color_light = min(max(round(color_lighting_lumcount,1),0),lighting_controller.lighting_states) - if(!A) - - A = new Area.type() // create area if it wasn't found - // replicate vars - for(var/V in Area.vars) - switch(V) - if("contents","lighting_overlay","overlays") continue - else - if(issaved(Area.vars[V])) A.vars[V] = Area.vars[V] - - A.tag = new_tag - A.lighting_subarea = 1 - A.SetLightLevel(light) - - Area.related += A + if (!A) + A = build_lighting_area(new_tag, level, color_light) + else if (l_color != A.l_color) + A.l_color = l_color + //color_light = min(max(round(color_lighting_lumcount, 1), 0), lighting_controller.lighting_states) + A.SetLightLevel(level, color_light) A.contents += src // move the turf into the area +// Dedicated lighting sublevel for space turfs +// helps us depower things in space, remove space fire alarms, +// and evens out space lighting +turf/space/lighting_tag(var/level) + var/area/A = loc + return A.tagbase + "sd_L_space" +turf/space/build_lighting_area(var/tag,var/level) + var/area/A = ..(tag,4) + A.lighting_space = 1 + A.SetLightLevel(4) + A.icon_state = null + return A + + area var/lighting_use_dynamic = 1 //Turn this flag off to prevent sd_DynamicAreaLighting from affecting this area var/image/lighting_overlay //tracks the darkness image of the area for easy removal var/lighting_subarea = 0 //tracks whether we're a lighting sub-area + var/lighting_space = 0 // true for space-only lighting subareas + var/tagbase + var/image/color_overlay //Tracks the color image. - proc/SetLightLevel(light) + proc/SetLightLevel(light, color_light = 0) if(!src) return if(light <= 0) light = 0 @@ -291,17 +369,113 @@ area else lighting_overlay = image(LIGHTING_ICON,,num2text(light),LIGHTING_LAYER) - overlays += lighting_overlay + if (color_overlay) + overlays.Remove(color_overlay) + color_overlay.icon_state = "white" + else + if (l_color) + color_overlay = image('icons/effects/effects.dmi', ,"white", 10.1) + + if (istype(color_overlay)) + color_overlay.color = l_color + + /* + if (light < 6) + switch (level) + if (6) + color_overlay.alpha = 140 + if (5) + color_overlay.alpha = 120 + if (4) + color_overlay.alpha = 100 + if (3) + color_overlay.alpha = 80 + if (2) + color_overlay.alpha = 60 + if (1) + color_overlay.alpha = 40 + if (-INFINITY to 0) + //world << "Zero or below, [color_light]." + color_overlay.alpha = 0 + else + //world << "Setting the alpha to max... color_light [color_light]." + color_overlay.alpha = 140 + + color_overlay.blend_mode = BLEND_MULTIPLY + */ + + if (1) + switch (color_light) + if (6) + color_overlay.alpha = 140 + if (5) + color_overlay.alpha = 120 + if (4) + color_overlay.alpha = 100 + if (3) + color_overlay.alpha = 80 + if (2) + color_overlay.alpha = 60 + if (1) + color_overlay.alpha = 20 + if (-INFINITY to 0) + //world << "Zero or below, [color_light]." + color_overlay.alpha = 0 + else + //world << "Setting the alpha to max... color_light [color_light]." + color_overlay.alpha = 180 + color_overlay.blend_mode = BLEND_MULTIPLY + if (color_overlay.color) + overlays.Add(color_overlay) + + if (isnull(color_overlay)) + overlays.Add(lighting_overlay) + else if (light < 6) + overlays.Add(lighting_overlay) + + proc/SetDynamicLighting() + + src.lighting_use_dynamic = 1 + for(var/turf/T in src.contents) + T.update_lumcount(0) proc/InitializeLighting() //TODO: could probably improve this bit ~Carn - if(!tag) tag = "[type]" + tagbase = "[type]" + if(!tag) tag = tagbase if(!lighting_use_dynamic) if(!lighting_subarea) // see if this is a lighting subarea already //show the dark overlay so areas, not yet in a lighting subarea, won't be bright as day and look silly. SetLightLevel(4) +//#undef LIGHTING_LAYER +#undef LIGHTING_CIRCULAR +//#undef LIGHTING_ICON -#undef LIGHTING_MAX_LUMINOSITY -#undef LIGHTING_MAX_LUMINOSITY_MOB -#undef LIGHTING_LAYER -//#undef LIGHTING_ICON \ No newline at end of file +#define LIGHTING_MAX_LUMINOSITY_STATIC 8 //Maximum luminosity to reduce lag. +#define LIGHTING_MAX_LUMINOSITY_MOBILE 5 //Moving objects have a lower max luminosity since these update more often. (lag reduction) +#define LIGHTING_MAX_LUMINOSITY_TURF 1 //turfs have a severely shortened range to protect from inevitable floor-lighttile spam. + +//set the changed status of all lights which could have possibly lit this atom. +//We don't need to worry about lights which lit us but moved away, since they will have change status set already +//This proc can cause lots of lights to be updated. :( +atom/proc/UpdateAffectingLights() + for(var/atom/A in oview(LIGHTING_MAX_LUMINOSITY_STATIC-1,src)) + if(A.light) + A.light.changed = 1 //force it to update at next process() + +//caps luminosity effects max-range based on what type the light's owner is. +atom/proc/get_light_range() + return min(luminosity, LIGHTING_MAX_LUMINOSITY_STATIC) + +atom/movable/get_light_range() + return min(luminosity, LIGHTING_MAX_LUMINOSITY_MOBILE) + +obj/machinery/light/get_light_range() + return min(luminosity, LIGHTING_MAX_LUMINOSITY_STATIC) + +turf/get_light_range() + return min(luminosity, LIGHTING_MAX_LUMINOSITY_TURF) + +#undef LIGHTING_MAX_LUMINOSITY_STATIC +#undef LIGHTING_MAX_LUMINOSITY_MOBILE +#undef LIGHTING_MAX_LUMINOSITY_TURF \ No newline at end of file diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi index fa6e8649ec4a5777c7cd39be27db060616c9d26a..1b986b698585c80c7d6f5f0a079b403f838a29cc 100644 GIT binary patch delta 16122 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 SdkqI7e4eW7s8y&~h5dgLl&&uT delta 16094 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 y@N6=1U&8JJJ4t?ZH67e Date: Tue, 17 Jun 2014 20:35:48 +0100 Subject: [PATCH 09/84] Fixes #5088 also fixes more runtimes that mloc gave me --- code/WorkInProgress/buildmode.dm | 3 +- code/_onclick/click.dm | 6 ++-- code/game/objects/effects/effect_system.dm | 18 ---------- .../objects/items/weapons/extinguisher.dm | 1 + code/modules/admin/verbs/adminpm.dm | 2 +- code/modules/mob/living/say.dm | 5 +-- code/modules/mob/living/silicon/ai/ai.dm | 34 ++++++------------- 7 files changed, 22 insertions(+), 47 deletions(-) diff --git a/code/WorkInProgress/buildmode.dm b/code/WorkInProgress/buildmode.dm index ceb1954a5d..d93d45fec5 100644 --- a/code/WorkInProgress/buildmode.dm +++ b/code/WorkInProgress/buildmode.dm @@ -259,7 +259,8 @@ if(4) if(pa.Find("left")) - holder.throw_atom = object + if(istype(object, /atom/movable)) + holder.throw_atom = object if(pa.Find("right")) if(holder.throw_atom) holder.throw_atom.throw_at(object, 10, 1) diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 093899c5c4..147d790919 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -16,9 +16,11 @@ Note that this proc can be overridden, and is in the case of screen objects. */ /atom/Click(location,control,params) - usr.ClickOn(src, params) + if(src) + usr.ClickOn(src, params) /atom/DblClick(location,control,params) - usr.DblClickOn(src,params) + if(src) + usr.DblClickOn(src,params) /* Standard mob ClickOn() diff --git a/code/game/objects/effects/effect_system.dm b/code/game/objects/effects/effect_system.dm index 5585c033c1..0eb8685aec 100644 --- a/code/game/objects/effects/effect_system.dm +++ b/code/game/objects/effects/effect_system.dm @@ -27,24 +27,6 @@ would spawn and follow the beaker, even if it is carried or thrown. reagents.delete() return - -/obj/effect/effect/water/New() - ..() - //var/turf/T = src.loc - //if (istype(T, /turf)) - // T.firelevel = 0 //TODO: FIX - spawn( 70 ) - delete() - return - return - -/obj/effect/effect/water/Del() - //var/turf/T = src.loc - //if (istype(T, /turf)) - // T.firelevel = 0 //TODO: FIX - ..() - return - /obj/effect/effect/water/Move(turf/newloc) //var/turf/T = src.loc //if (istype(T, /turf)) diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm index 0db404c021..1dd2832fd9 100644 --- a/code/game/objects/items/weapons/extinguisher.dm +++ b/code/game/objects/items/weapons/extinguisher.dm @@ -123,6 +123,7 @@ W.reagents.reaction(atm) if(W.loc == my_target) break sleep(2) + W.delete() if((istype(usr.loc, /turf/space)) || (usr.lastarea.has_gravity == 0)) user.inertia_dir = get_dir(target, user) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index efea3d1609..bdc93347ff 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -114,7 +114,7 @@ //play the recieving admin the adminhelp sound (if they have them enabled) //non-admins shouldn't be able to disable this - if(C.prefs.toggles & SOUND_ADMINHELP) + if(C.prefs && C.prefs.toggles & SOUND_ADMINHELP) C << 'sound/effects/adminhelp.ogg' log_admin("PM: [key_name(src)]->[key_name(C)]: [msg]") diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 89d6302597..98d64231ec 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -103,7 +103,7 @@ var/list/department_radio_keys = list( var/obj/O = I hearturfs += O.locs[1] objects |= O - + for(var/mob/M in player_list) if(M.stat == DEAD && M.client && (M.client.prefs.toggles & CHAT_GHOSTEARS)) listening |= M @@ -113,7 +113,8 @@ var/list/department_radio_keys = list( for(var/obj/O in objects) spawn(0) - O.hear_talk(src, message, verb, speaking) + if(O) //It's possible that it could be deleted in the meantime. + O.hear_talk(src, message, verb, speaking) var/speech_bubble_test = say_test(message) var/image/speech_bubble = image('icons/mob/talk.dmi',src,"h[speech_bubble_test]") diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 77ec775059..3248f9dcfa 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -241,13 +241,13 @@ var/list/ai_list = list() for (var/area_name in alarmlist) var/datum/alarm/alarm = alarmlist[area_name] dat += "" - + var/cameratext = "" if (alarm.cameras) for (var/obj/machinery/camera/I in alarm.cameras) cameratext += text("[][]", (cameratext=="") ? "" : " | ", src, I, I.c_tag) dat += text("-- [] ([])", alarm.area.name, (cameratext)? cameratext : "No Camera") - + if (alarm.sources.len > 1) dat += text(" - [] sources", alarm.sources.len) dat += "
\n" @@ -398,23 +398,11 @@ var/list/ai_list = list() if (href_list["track"]) var/mob/target = locate(href_list["track"]) in mob_list -/* - var/mob/living/silicon/ai/A = locate(href_list["track2"]) in mob_list - if(A && target) - A.ai_actual_track(target) -*/ - //Strip off any "(as Derplord)". - //If there's a way to do this via a var that doesn't give the AI extra info, please let me know. - var/seeking = target.name - var/index = findtext(seeking, "(as ") - if(index) - seeking = copytext(seeking, 1, index-1) - - if(target && html_decode(href_list["trackname"]) == seeking) + if(target && (!istype(target, /mob/living/carbon/human) || html_decode(href_list["trackname"]) == target:get_face_name())) ai_actual_track(target) - else - src << "\red System error. Cannot locate [html_decode(href_list["trackname"])]." + + src << "\red System error. Cannot locate [html_decode(href_list["trackname"])]." return else if (href_list["faketrack"]) @@ -530,24 +518,24 @@ var/list/ai_list = list() /mob/living/silicon/ai/triggerAlarm(var/class, area/A, list/cameralist, var/source) if (stat == 2) return 1 - + ..() - + var/cameratext = "" for (var/obj/machinery/camera/C in cameralist) cameratext += "[(cameratext == "")? "" : "|"][C.c_tag]" - + queueAlarm("--- [class] alarm detected in [A.name]! ([(cameratext)? cameratext : "No Camera"])", class) - + if (viewalerts) ai_alerts() /mob/living/silicon/ai/cancelAlarm(var/class, area/A as area, var/source) var/has_alarm = ..() - + if (!has_alarm) queueAlarm(text("--- [] alarm in [] has been cleared.", class, A.name), class, 0) if (viewalerts) ai_alerts() - + return has_alarm /mob/living/silicon/ai/cancel_camera() From b784730ec04e6ab36cc551583b9572e8ad7e2ab5 Mon Sep 17 00:00:00 2001 From: Boop Date: Tue, 17 Jun 2014 22:41:25 +0100 Subject: [PATCH 10/84] Fixes #5285 will it never end ;~; --- code/modules/recycling/sortingmachinery.dm | 12 ------ maps/tgstation2.dmm | 43 +++++++++++----------- 2 files changed, 21 insertions(+), 34 deletions(-) diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index ebd243da9d..fb7e38a392 100755 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -234,20 +234,8 @@ flush() flushing = 1 flick("intake-closing", src) - var/deliveryCheck = 0 var/obj/structure/disposalholder/H = new() // virtual holder object which actually // travels through the pipes. - for(var/obj/structure/bigDelivery/O in src) - deliveryCheck = 1 - if(O.sortTag == 0) - O.sortTag = 1 - for(var/obj/item/smallDelivery/O in src) - deliveryCheck = 1 - if (O.sortTag == 0) - O.sortTag = 1 - if(deliveryCheck == 0) - H.destinationTag = 1 - air_contents = new() // new empty gas resv. sleep(10) diff --git a/maps/tgstation2.dmm b/maps/tgstation2.dmm index a97e0c5977..9330039a8b 100644 --- a/maps/tgstation2.dmm +++ b/maps/tgstation2.dmm @@ -2963,7 +2963,7 @@ "beY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/sortjunction/flipped{dir = 2; name = "Engineering Break Room"; sortType = "Engineering Break Room"},/turf/simulated/floor,/area/hallway/primary/aft) "beZ" = (/obj/structure/closet/wardrobe/chemistry_white,/turf/simulated/floor{dir = 2; icon_state = "whiteyellowcorner"},/area/medical/chemistry) "bfa" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/port) -"bfb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/weapon/cigbutt,/obj/structure/disposalpipe/tagger/partial{name = "Sorting Office"; sort_tag = "Disposals"},/turf/simulated/floor/plating,/area/maintenance/port) +"bfb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/weapon/cigbutt,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/port) "bfc" = (/obj/machinery/camera{c_tag = "Cargo Delivery Office"; dir = 4; network = list("SS13")},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office) "bfd" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/crew_quarters/fitness) "bfe" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/floor{icon_state = "arrival"; dir = 4},/area/quartermaster/office) @@ -3290,7 +3290,7 @@ "bln" = (/obj/structure/closet/secure_closet/cargotech,/turf/simulated/floor,/area/quartermaster/storage) "blo" = (/obj/machinery/light{dir = 1},/obj/machinery/alarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/quartermaster/storage) "blp" = (/turf/simulated/floor,/area/quartermaster/storage) -"blq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/port) +"blq" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall,/area/quartermaster/office) "blr" = (/obj/structure/sign/poster{pixel_x = 0; pixel_y = 0},/turf/simulated/wall,/area/quartermaster/storage) "bls" = (/obj/machinery/photocopier,/turf/simulated/floor,/area/quartermaster/office) "blt" = (/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; sortType = "QM Office"; name = "QM Office"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/quartermaster/miningdock) @@ -4604,7 +4604,7 @@ "bKB" = (/obj/structure/table,/obj/item/weapon/folder/white{pixel_y = 10},/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/item/weapon/stamp/cmo,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/cmo) "bKC" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/cmo) "bKD" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/aft) -"bKE" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/wall,/area/quartermaster/office) +"bKE" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/sortjunction/untagged{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) "bKF" = (/obj/machinery/sparker{id = "Xenobio"; pixel_x = -25},/turf/simulated/floor/engine,/area/rnd/misc_lab) "bKG" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/hallway/primary/aft) "bKH" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) @@ -5071,21 +5071,21 @@ "bTA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/port) "bTB" = (/turf/simulated/wall,/area/maintenance/incinerator) "bTC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door_control{id = "qm_warehouse"; name = "Warehouse Door Control"; pixel_x = -1; pixel_y = -24; req_access_txt = "31"},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) -"bTD" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) +"bTD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/quartermaster/storage) "bTE" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plating,/area/storage/emergency) "bTF" = (/obj/machinery/light{dir = 1},/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) "bTG" = (/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 = 21},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) "bTH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/port) "bTI" = (/obj/machinery/light/small{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/crew_quarters/captain) -"bTJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/port) -"bTK" = (/obj/structure/disposaloutlet{dir = 1},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plating,/area/quartermaster/office) +"bTJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/disposalpipe/junction{dir = 8},/turf/simulated/floor/plating,/area/maintenance/port) +"bTK" = (/obj/structure/disposaloutlet{dir = 1},/obj/structure/disposalpipe/trunk,/turf/simulated/floor/plating,/area/quartermaster/office) "bTL" = (/obj/structure/stool/bed/chair{dir = 4},/obj/effect/landmark/start{name = "Cargo Technician"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/quartermaster/office) "bTM" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/port) "bTN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/quartermaster/storage) -"bTO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/sortjunction/untagged{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) -"bTP" = (/obj/structure/closet/crate/medical,/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) -"bTQ" = (/obj/structure/closet/crate,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) -"bTR" = (/obj/item/stack/sheet/cardboard,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) +"bTO" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) +"bTP" = (/obj/structure/closet/crate/internals,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) +"bTQ" = (/obj/structure/closet/crate/medical,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) +"bTR" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/port) "bTS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/port) "bTT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/flashlight,/turf/simulated/floor/plating,/area/maintenance/port) "bTU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/port) @@ -5102,15 +5102,15 @@ "bUf" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bUg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "bUh" = (/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/atmos) -"bUi" = (/obj/machinery/camera{c_tag = "Cargo Bay Storage"; dir = 8; network = list("SS13")},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) +"bUi" = (/obj/item/stack/sheet/cardboard,/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) "bUj" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "virology_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bUk" = (/obj/structure/closet/crate/internals,/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) +"bUk" = (/obj/machinery/camera{c_tag = "Cargo Bay Storage"; dir = 8; network = list("SS13")},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) "bUl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/port) "bUm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/crew_quarters/locker) "bUn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/port) "bUo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall,/area/maintenance/port) "bUp" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/wall,/area/maintenance/port) -"bUq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/port) +"bUq" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) "bUr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall,/area/crew_quarters/locker/locker_toilet) "bUs" = (/obj/machinery/camera{c_tag = "Locker Room Toilets"; dir = 8; network = list("SS13")},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet) "bUt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/locker/locker_toilet) @@ -5118,7 +5118,7 @@ "bUv" = (/obj/item/weapon/stock_parts/console_screen,/obj/structure/table,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/matter_bin,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) "bUw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/storage/emergency) "bUx" = (/obj/structure/rack{dir = 1},/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/device/flashlight,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bUy" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) +"bUy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/tagger/partial{name = "Sorting Office"; sort_tag = "Sorting Office"},/turf/simulated/floor/plating,/area/maintenance/port) "bUz" = (/turf/simulated/floor{icon_state = "warnwhite"; dir = 1},/area/rnd/lab) "bUA" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "warnwhite"; dir = 1},/area/rnd/lab) "bUB" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/quartermaster/storage) @@ -5127,7 +5127,7 @@ "bUE" = (/obj/machinery/newscaster{pixel_x = -27; pixel_y = 1},/turf/simulated/floor{icon_state = "warnwhite"; dir = 1},/area/rnd/lab) "bUF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/captain) "bUG" = (/obj/machinery/door/airlock/command{name = "Head of Personnel"; req_access = null; req_access_txt = "57"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/crew_quarters/heads) -"bUH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor/plating,/area/maintenance/port) +"bUH" = (/obj/structure/disposalpipe/tagger/partial{name = "Sorting Office"; sort_tag = "Sorting Office"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor,/area/quartermaster/office) "bUI" = (/obj/structure/table,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/micro_laser,/obj/item/weapon/stock_parts/micro_laser,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/rnd/lab) "bUJ" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 8; icon_state = "warnwhite"},/area/rnd/lab) "bUK" = (/obj/machinery/atmospherics/valve,/turf/simulated/floor/plating,/area/maintenance/asmaint2) @@ -10670,7 +10670,6 @@ "dXm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/medical/virology) "dXn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "virologyq_airlock_exterior"; locked = 1; name = "Virology Quarantine Airlock"; req_access_txt = "39"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "virologyq_airlock_control"; name = "Virology Quarantine Access Button"; pixel_x = -24; pixel_y = 0; req_access_txt = "39"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "dXo" = (/turf/unsimulated/wall{icon_state = "phoron10"},/area/alien) -"dXp" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/tagger/partial{name = "Sorting Office"; sort_tag = "Disposals"},/turf/simulated/floor,/area/quartermaster/office) "dXq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "dXr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "dXs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -10992,16 +10991,16 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVlaVlaVlaVlaVlaVlaVlaVlaVlaVlaVlaVlaVlaYnavtaYnaxTaYoaBgaYpaYqaYraYraYraYraYsaYtaTSaYuaYvaOlaCSaYyaYyaYyaYzaYyaOsaRnaTWaUKaWZaWZaPDaSGaFOaFPaFEaFDaFJaFFaFAaIgaFCaFBaFLaFKaFMaYSaYSaYSaYTaUnaHhaIOaYVaYWaYXaYYaYZaZaaPWaHkaHiaZeaZfaPWaPWaPWaPWaPWaPWaPWaPWaPWaHeaXwaZkaZlaPWaZaaYZaZmaGTaYWaZoaIOaIOaThaQoaZpaQoaQoaQoaFHaQoaQoaFUaQoaZraZraZraZraZsaZtaKAaRXaRXaRXaZvaZwaZxaJdaZyaZzaSgaZAaZAaZBaZzaZCaJjaFWaBDaZFaZGaPgaPgaPgaPgaZHaPgaPgaPgaFVawKaIbaPoaPraSoaPoaPraIbasHawKaYjaSsaSsaZJaSsaSsaZKaYmaafaaaaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVlaVlaVlaVlaVlaVlaVlaVlaVlaVlaVlaVlaVlaZLaZMaWGayWaZNaBWaZPaZQaZRaZSaZTaYraZUaZVaTSaZWbaEaOlaCSaZYaZZbaaaCLaYybacbadbaeaPEbafbagbahaOnaPEaCRaBtbalbalbalbalaHubalbalbanbaobaobaobapbaobaqaUnbasbatbauawGawGawGbaAaFTbaAbayaFQbaybaAbaBbaBbaBbaBbaBbaBbaBbaBbaBaCVbaDbbubaDaPWaPWaPWawGawGawGaZoaIOaIOaUnbaFbaGaBlbaHaQobaIaQobaJbaKbaLaZrbaMaFRbaOaJdaJdaJdbaPbaQbaQbaQaJdaJdaJdbaRaSgaSgaLeaFNbaUbaVaGwaJjaBEaBDbaYaEsbaZbbabbbaWmbbcbbabbdaWmbbeaEybbfaQMaQNbbgaQMaQNaIbbbhaEyaDkbbjbbkaSsaSsbblbbmaYmaafaafaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVlaVlaVlaVlaVlaVlaVlaVlaVlaVlaVlaVlaafaxRbbnaPybboaBgbbpbbpbbqaAMbbsbbqbbtbbpaTSaQpaOTaGHaByaBzaBzaBAaBBaBzbbBbadbbCaPEbafbagbbDaGPaPEaBxbfabalbbGbbHbbHazqbbIbalbbJbbKbbLbbMbarbarbaraUnaIOaIOaYVawGbbPbbQbbRbbSaBRaFraFlbbWbaAbaBbbXbbYbbZbcaaBhbccbcdbaBaCVbcebcfbcgbchbcibcjaAVbdsawGbcmbcnbcnaUnbcqbcqaBoaBobcoaThbcobcpaBoaBoaRRaBoaBoaBobcqbcrbcrbcrbcrbcrbcrbcsbcrbcqazGbctbctaCKaZFaZFaZFaZFbcqaBEaBDbaYaEsaEsaEsaEsaEsarZaEsaEsaEsaEsaEyaBCbcAawKavUawKbcybcAaEyaEybcBaSsbcCaSsaSsaWAbcDbcEaTMaWDaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazQasSbcFaAFaWGatHatHatHatHatHatHbcGbboaBgaTSaTSaTSaTSaTSaTSaTSaTSaTSbcHaReaOlaCSaZYbcIbcJbcKaYybcLbcMaDEaPEbafbagbcOaOpaPEblqaFSbalbbHbcQbcQbbHbcQbalbbJbcRbcSbcSbcTbcUbcVbarbcWaIOaYVaGpbcYbgCbdabdbbdbbdaaGibddbaAbaBbdebdfbdgbdhbdibdjbdkaGYaHabdnbdobclbdpbdqbdrbclaLgawGaZobdtaIOaNsbdubdvaZFaZFaZFaZFaZFaZFaZFbdwaZFaZFaZFaZFbdxaZFaZFaZFaZFaZFaZFaZFaZFbdyaZFaZFaZFaZFaZFaZFaZFaZFbdzaDPaDTaCYaDUaCYaDVaCYaDXaDWaDYaCYaDZaCYaEaaEbaCYaCYaCYaCYaCYaCYaEcaEdaEebdObcCaSsaSsaSsaVkbdPaVjaVkaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQaaaaafbdRazTaxVbdSaCTbdUbdUbdUbdUbdUbdUbdVbdWaPBaXiaReaOlaCSaYyaYybdXbdYaYyaPEaPEaCUaPEbafbeabcOaOoaPEbfbbfabalbecbedbbHbcQbeebalbbJbefbcSbcSbcSbegbehbarbeiaIOaYVaGkbekbgCbembenbeobepaGibeqbaAbaBberbesbetbetbetbeubevbaBaCVbexbclbclbdpbeybdrbclaLfawGbeAaIOaIOaNsbdubdvaZFaZFaZFaZFaZFaZFaZFbeBaZFaZFaZFaZFaZFaZFbeCaCYaCYaCYaCYaCYaCYaCZaCYaCYaCYaCYaCYaCYaCYaDlaDDaDCaDtaZFaZFaZFaZFaZFaBDaZFaZFaZFaZFaZFaZFaZFaZFaZFaZFaZFaZFbeIbdzbeJaSsaSsbcCaSsaSsbeKbeLaTMaTMaTNaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQaWEaWFbeMayWbeNbUVbePbePbeQbePbePbePbeRaPBaPBaPBaPBaOlaCSaZYbeSbeTbeUaYybeVbeWbUWaPEaPEaPEaPEbUmaPEbUHbUqbUCbUybUBbTQbTRbUibalbbJbarbfcbcSbcSbPhbfebarbULaIOaYVbTrbfhbgCbembfibfjbepaGibfkbaAbflbfmbfnbetbfobetbdfbfpbfqaCVbfrbfsbftbfubfubfvbclbfwawGcuRcuSaXNcvvcxRdPwdPxdTPdPxdPxdPxdPxdTQbTtdTSctbctbctaaZFaZFaZFaZFbfDaZFbfybfOaZFctcctectdbfIbWUbfIbfIbfKdTUdTVdTWaZFaZFaZFaZFaZFbfObfPbfDaZFaZFaZFaZFaZFaZFaZFaZFaZFaZFaZFaZFbdzbfQbfRbfSbfTbfUbfVbbmbfWaafaaaaafaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQaYnavtaYnaxTbfXbePbfYbfZbgabgabgbbgcbgdbgebgebgebgebPBbUubUrbUrbUtbUsbUrbUobUobUpbUobUnbUlbUlbSbbRubTJaBtbalbTPbbHbbHbUkbTObUCbTKbarbgybcSbcSbPhbgzbgAbffaIOaYVbaAbgCbTpbdabdabdabdaaGibgEbaAbaBbgFbgGbWJbgIbgJbgGbgKbaBaCVbURbUQbgNbgObgPbgQbgRbgSawGcsoaHfaHfawGbTqbTqbgUbgUbgUbgUcmTcmTcsUcsVcsrcsscsVcsUcmTcmTcmTckbckbckbckbckbbhbbhbbRqbhbbhbbhbbhbbhbbktcsXbxbcsYcsZaZFbhkbhkbhlbhlbhlbhlbhlbhmbhnbhnbhobhnaZFbhnbhobhnbhnbhpbNtbNtbNtbNtbhrbhgaPtaPtaPtaaaaaaaaaaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQaZLaZMbeMayWbhsbePbhtbePbhubhvbePbePbePaRebhwbhxbhxbTHaYyaZYbhzbcJbhAaYybUabTZbTTbTSbTVbTUbTXbTWbTYbTXbTMbTNbLkbTCbLkbLkbTDbTNbKEbTbbhSbcSbcSbTLbhUbhVbffaIObhWbaAbhXbaAbhZbVnbibbSOaGibaAbaAbaBbiebifbigbihbiibijbikbaBaCVbTybimckrbiobipbgQbclbiqawGbToaIObirawGcqlcqncqSbTncrDcrGcrMcsncqUcqVcrAcrBcogcofcpscoYcmTcmIbVecmUcpMckbcqkcpNcpzcptbVUcktcktclSbktcggbiSbiScksbiSbiUbiUbhlbiVbiWbiXbhlbiYbiZbiYbhlbhmbhnbhpbNtbSQbTibSQbNtbThbTgbNtbjebTEbjgbhgaaaaaaaaaaaaaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazQasSbcFaAFaWGatHatHatHatHatHatHbcGbboaBgaTSaTSaTSaTSaTSaTSaTSaTSaTSbcHaReaOlaCSaZYbcIbcJbcKaYybcLbcMaDEaPEbafbagbcOaOpaPEaBxbfabalbbHbcQbcQbbHbcQbalbbJbcRbcSbcSbcTbcUbcVbarbcWaIOaYVaGpbcYbgCbdabdbbdbbdaaGibddbaAbaBbdebdfbdgbdhbdibdjbdkaGYaHabdnbdobclbdpbdqbdrbclaLgawGaZobdtaIOaNsbdubdvaZFaZFaZFaZFaZFaZFaZFbdwaZFaZFaZFaZFbdxaZFaZFaZFaZFaZFaZFaZFaZFbdyaZFaZFaZFaZFaZFaZFaZFaZFbdzaDPaDTaCYaDUaCYaDVaCYaDXaDWaDYaCYaDZaCYaEaaEbaCYaCYaCYaCYaCYaCYaEcaEdaEebdObcCaSsaSsaSsaVkbdPaVjaVkaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQaaaaafbdRazTaxVbdSaCTbdUbdUbdUbdUbdUbdUbdVbdWaPBaXiaReaOlaCSaYyaYybdXbdYaYyaPEaPEaCUaPEbafbeabcOaOoaPEbfbaFSbalbecbedbbHbcQbeebalbbJbefbcSbcSbcSbegbehbarbeiaIOaYVaGkbekbgCbembenbeobepaGibeqbaAbaBberbesbetbetbetbeubevbaBaCVbexbclbclbdpbeybdrbclaLfawGbeAaIOaIOaNsbdubdvaZFaZFaZFaZFaZFaZFaZFbeBaZFaZFaZFaZFaZFaZFbeCaCYaCYaCYaCYaCYaCYaCZaCYaCYaCYaCYaCYaCYaCYaDlaDDaDCaDtaZFaZFaZFaZFaZFaBDaZFaZFaZFaZFaZFaZFaZFaZFaZFaZFaZFaZFbeIbdzbeJaSsaSsbcCaSsaSsbeKbeLaTMaTMaTNaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQaWEaWFbeMayWbeNbUVbePbePbeQbePbePbePbeRaPBaPBaPBaPBaOlaCSaZYbeSbeTbeUaYybeVbeWbUWaPEaPEaPEaPEbUmaPEbUybfabalbUqbbHbcQbUibUkbalbbJbarbfcbcSbcSbPhbfebarbULaIOaYVbTrbfhbgCbembfibfjbepaGibfkbaAbflbfmbfnbetbfobetbdfbfpbfqaCVbfrbfsbftbfubfubfvbclbfwawGcuRcuSaXNcvvcxRdPwdPxdTPdPxdPxdPxdPxdTQbTtdTSctbctbctaaZFaZFaZFaZFbfDaZFbfybfOaZFctcctectdbfIbWUbfIbfIbfKdTUdTVdTWaZFaZFaZFaZFaZFbfObfPbfDaZFaZFaZFaZFaZFaZFaZFaZFaZFaZFaZFaZFbdzbfQbfRbfSbfTbfUbfVbbmbfWaafaaaaafaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQaYnavtaYnaxTbfXbePbfYbfZbgabgabgbbgcbgdbgebgebgebgebPBbUubUrbUrbUtbUsbUrbUobUobUpbUobUnbUlbUlbSbbRubTJbTRbUCbTQbUBbUBbTPbTObalbTKbarbgybcSbcSbPhbgzbgAbffaIOaYVbaAbgCbTpbdabdabdabdaaGibgEbaAbaBbgFbgGbWJbgIbgJbgGbgKbaBaCVbURbUQbgNbgObgPbgQbgRbgSawGcsoaHfaHfawGbTqbTqbgUbgUbgUbgUcmTcmTcsUcsVcsrcsscsVcsUcmTcmTcmTckbckbckbckbckbbhbbhbbRqbhbbhbbhbbhbbhbbktcsXbxbcsYcsZaZFbhkbhkbhlbhlbhlbhlbhlbhmbhnbhnbhobhnaZFbhnbhobhnbhnbhpbNtbNtbNtbNtbhrbhgaPtaPtaPtaaaaaaaaaaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQaZLaZMbeMayWbhsbePbhtbePbhubhvbePbePbePaRebhwbhxbhxbTHaYyaZYbhzbcJbhAaYybUabTZbTTbTSbTVbTUbTXbTWbTYbTXbTMbTNbLkbTCbLkbLkbKEbTDblqbTbbhSbcSbcSbTLbhUbhVbffaIObhWbaAbhXbaAbhZbVnbibbSOaGibaAbaAbaBbiebifbigbihbiibijbikbaBaCVbTybimckrbiobipbgQbclbiqawGbToaIObirawGcqlcqncqSbTncrDcrGcrMcsncqUcqVcrAcrBcogcofcpscoYcmTcmIbVecmUcpMckbcqkcpNcpzcptbVUcktcktclSbktcggbiSbiScksbiSbiUbiUbhlbiVbiWbiXbhlbiYbiZbiYbhlbhmbhnbhpbNtbSQbTibSQbNtbThbTgbNtbjebTEbjgbhgaaaaaaaaaaaaaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQaaaaaaaMYbbnaPybjhbePbjibePbjjbjkbjlbQYbePbjnaRebjoaRebTjaYyaYyaYyaYyaYyaYybTAbjrbjsaRebjtbalbalbalbTzbalbalbalbrnbalbalbalbMVbalblubRFbjzbcSbcSbPhbjAbgAbSwaIObSybaAbjCbaAbaAbaAbaAbxBbTkbaAbTmbTlbjGbjHbbXbjIbbXbjJbjKbTvbTxbTybjNbclbjObjPbgQbjQbjRbaDbSNaIOaIOcgQcglcgPcgjcgkchOciichMchNchochocgRcgScjtcjpciHciEciDciCciBciAckcckbcjDcgecjwcgecjvcjucgecgfbktcggbiSbkwcfKcgdbkzbkAbkBbkCbkDbkCbSjbkFbkGbkHbhlbkIbkJbkKbNtbSzbSEbSDbSMbNHbSAbNtbkRbkSbkTbhgaaaaaaaaaaaeaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazQasSbcFaAFaZMaTPaTPaTPbkUaTPbkVayWaxTaxTbePbkWbkXbkYbkZblablbblcbldbldbldbldbXnbWDbWDbWDbTXbTXbTXbWCblhblhblhblibalbljblkbWEblmblnbloblpblpblrblschfckRcnZbgAbjzbcSbXvbWwbWxbWxbWRbEvbWMbXmbWXbWLbZTbWIbXmbWTbXkbXjbXibTvbTvbTvbTvbWHbTvbTvbTvbTvbWjbWGbWQbWSbWObWPbWKbWNbWsbWFbWVaIOaIObgUdVHdVIdVJdVKdVEbOIdVFdVGcjtcjtcjtcjtcjtcjpdVzdVydVBdVAdVDdVCdVuckbdVwdVvdVxcgecjvcjucgedVLbktcggdVNbYedVMbYbbXHbXMbXFbXGbXGbXGbXUbXWbXAbXzbXybXxbXEbXDbXhbXgbXebNHbXcbXbbXfbNtbmPbkSbmsbhgaaaaaaaaaaaaaaaaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmQbmRavtaYnawYawYawYaPyaxTaxTbePbmSbmTbkZbmUbePbePbePaPBbmVbmWbmXbmYbmXbmXbmXbmYbmXaPBaPBbalbalbalbmZbalblpblpbnablpblpblpblpblpbnbbVobndbcSbWebWdbWdbWdbWabWcbVYbVcbVgbWibWncrRbWfbWfbWhbWgbWqbWpbVsbWrbWobnxbnybnzbnAbnBbnCbnzbnDbnxbPVbTybnFbnGbnFbaDbaDbaDbWAbaDdUZaIOaIOcgQcglcgPdVadVbbWBbgUdUSdUTdUXdUYdUVdUWdVndVmdVldVkcmTdVpdUEdVodVfdVedVddVcdVjdVidVhdVgdVidVqbUedVrdVsdTXbnYdTYboabobbocbodboebofbofbogbkCbohbhlbWvbojbokbNtbVZbVAbVzbUJbVVbVXbNtbmPbkSborbhgaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaabmQavtavtaYnaxSaxSaxSbosaxSaxSbePbotboubovbkZbePaaaaaaaaaaafaafbowbowbowbowbowbowbowaaaaaaboxboybozboAboBblpblpblpblpblpblpblpblpbUNbjzbUOdYAboEboFbarbarbVGbVHbaraUnboHboIbVEaUnboLboMboMbNsboMbVFbUGboMabLboQboRbnzboSbnBboSbnzboTboQbPVbVkboVbfuboWbVybVBbVDbUFbnFbpcaIOaIObgUbWmcqndUQdURdUNbixdUOdUPdUJdUKdULbVWdUGdUFdUIdUHcmTckbdUEdUDdUAckbdUCdUBdUydUxdUzdUzdUvdUwbktcggbiSdUubkxbkxboabpybpzbpAbpBbpCbpCbpDbpEbpFbhlbpGbojbpHbNtbUYbUTbUPbUJbNHbUIbNtbkRbkSbpMbhgaaaaaaaaaaaaaafbpNbpObMebpObMebpObpQaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxRaYnaYnbpRaTPbpSazQasSbpTbpSbePbpUbpVbpWbpXbePaaaaaaaaaaaaaaabowbowbowbowbowbowbowaaaaaabpYbpZblpbqabqbbqbbqbbqbbqbbqcbqbbqbbqbbqdbqebqfdXpbqhbqibarbqjbPhbqkbqlbtfbffbqnbqoaUnaUnboMbqpbVdbqrbXdbTuboMbTwbVfbVhbqxbqybqzbqybqAbVibVjbTxbVkbqEbfubqFbaDbqGbnFbTIbnFbpcaIOaIObgUdUjdUkdUhdUidUgbixdUedUfdUcdUddUadUbbZzdUsdUrdUqdUpbPZdUodUnbPZbPZbPZbPZdUmdUlbPZbPZbktdTZbktcggbiSdTXbnYdTYbrabrbbrcbrdbrebrebrebpDbkCbrfbrgbrhbkJbVlbNtbUEbUAbUzbUDbNHbUvbNtbUwbmrbhgbhgaaaaaaaaaaaaaafbrobrpbrqbrrbrrbrsbroaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxRaYnaYnbpRaTPbpSazQasSbpTbpSbePbpUbpVbpWbpXbePaaaaaaaaaaaaaaabowbowbowbowbowbowbowaaaaaabpYbpZblpbqabqbbqbbqbbqbbqbbqcbqbbqbbqbbqdbqebqfbUHbqhbqibarbqjbPhbqkbqlbtfbffbqnbqoaUnaUnboMbqpbVdbqrbXdbTuboMbTwbVfbVhbqxbqybqzbqybqAbVibVjbTxbVkbqEbfubqFbaDbqGbnFbTIbnFbpcaIOaIObgUdUjdUkdUhdUidUgbixdUedUfdUcdUddUadUbbZzdUsdUrdUqdUpbPZdUodUnbPZbPZbPZbPZdUmdUlbPZbPZbktdTZbktcggbiSdTXbnYdTYbrabrbbrcbrdbrebrebrebpDbkCbrfbrgbrhbkJbVlbNtbUEbUAbUzbUDbNHbUvbNtbUwbmrbhgbhgaaaaaaaaaaaaaafbrobrpbrqbrrbrrbrsbroaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowbrubrvbrwbrxblpblpblpbrybrybrybryboAblpblpblpbnbbqgbqTbrzboZbrCbrDbrEbPhbcSbrFbRgbffbqnbrHbrIbrJbNNbrLbPPbrNbPObNMboMaafbrQbrRbnzbqybrSbqybnzbrTbrUbPVbPWbrWbrXbrYbaDbrZbnFbOlaUnbpcaIObNybNzbNAbNCbNDbPKbIibixbPMbPQbLDbPRbPubPSbLDbLDbPYbPUbPZbPZbQxbQpbQFbIrbQIbQHbQSbQJbQVbPZbJqbRabQWbQXbRfbRhbRbbRbbPGbsEbkBbsFbrebrebrebsGbkCbsHbhlbsIbsIbPHbNtbNEbNKbNJbNIbNHbNLbNtbmPbsPbhgaaaaaaaaaaaaaaaaafbsQbsRbrqbrrbrqbsSbMeaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowbsTbsUbsTbsVbsWblpblpblpblpblpblpboAblpbsXbalbalbsYbcSbndboCbtabtbbtcbPhbcSbcSbtdaIObqnbtebtfbtgbPrbtibtjbtkbPqbNxboMaafbrUbrUbIgbtobtpbnzbtqbOvbNgbPpbNqbtvbtvbtvbtvbtvbtvbXJawGbLTaHfaHfawGbMcbMmbLUbMbbPfbixbOUbOYbPubPvbPsbPtbOibOhbOgbNUbOybOubOkbOjbOCbOBbOAbOzbOGbOFbOEbODbNubPAbPAboDbPCbPDbPDbPDbtZbHWbkBbubbkCbkCbucbPgbkCbuebkBbufbugbORbMubMtbMCbMvbNdbMNbNtbNtbuobhgbhgbupbuqbuqbuqburbkIbrobrrbrqbrrbrrbrsbroaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaeaaaaaaaaabowbowbowbowbowbowbowbusbutbusbuublpblpblpbrybrybrybryboAblpbuvbuwbalbuxbcSbndboCbuybuzbtcbOxbuBbqfbuCbuDbuEbpcbuFbtgbuGbuHbuIbuJbOmbMfboMbOpbOobNBbOnbuRbrSbuRbOvbOwbuTbuTbNqbuUbuVbuWbuXbuYbuZbMkawGbvcaIOaIOawGbLSbMnbMrbMBbMSbMTbMUbnebMLbMPbMQbMRbNabMZbNcbNbbApbHvbMYbMWbNlbNkbNGbNobNfbNebNibNhbMjbMlbMhbMibiSbvybvzbMgbvBbvBbkBbvCbvDbvEbkBbNVbkCbvGbvHbvIbvJbOebvLbvMbOfbvObvPbvQbsIbkJbvRbvSbvTbvUbvVbvVbvVbvVbvWbvXbpObMebvYbMebpObvZaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From c7d745e9c1200580e9b6ecc6e5adaa61611bf10a Mon Sep 17 00:00:00 2001 From: Boop Date: Tue, 17 Jun 2014 23:30:25 +0100 Subject: [PATCH 11/84] fixed some weird slime runtime that's been around forever apparently --- code/modules/surgery/appendix.dm | 2 ++ code/modules/surgery/bones.dm | 8 +++++++ code/modules/surgery/generic.dm | 32 ++++++++++++++++------------ code/modules/surgery/headreattach.dm | 25 +++++++++++++--------- code/modules/surgery/implant.dm | 22 ++++++++++--------- code/modules/surgery/other.dm | 3 +++ code/modules/surgery/ribcage.dm | 8 ++++++- code/modules/surgery/robolimbs.dm | 28 +++++++++++++----------- 8 files changed, 81 insertions(+), 47 deletions(-) diff --git a/code/modules/surgery/appendix.dm b/code/modules/surgery/appendix.dm index ede75704ee..91332eab06 100644 --- a/code/modules/surgery/appendix.dm +++ b/code/modules/surgery/appendix.dm @@ -8,6 +8,8 @@ can_infect = 1 blood_level = 1 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + if (!hasorgans(target)) + return 0 if (target_zone != "groin") return 0 var/datum/organ/external/groin = target.get_organ("groin") diff --git a/code/modules/surgery/bones.dm b/code/modules/surgery/bones.dm index d0d30cfd20..0bc1407567 100644 --- a/code/modules/surgery/bones.dm +++ b/code/modules/surgery/bones.dm @@ -15,6 +15,8 @@ max_duration = 60 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + if (!hasorgans(target)) + return 0 var/datum/organ/external/affected = target.get_organ(target_zone) return affected.open == 2 && affected.stage == 0 @@ -47,6 +49,8 @@ max_duration = 70 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + if (!hasorgans(target)) + return 0 var/datum/organ/external/affected = target.get_organ(target_zone) return affected.name != "head" && affected.open == 2 && affected.stage == 1 @@ -84,6 +88,8 @@ max_duration = 70 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + if (!hasorgans(target)) + return 0 var/datum/organ/external/affected = target.get_organ(target_zone) return affected.name == "head" && affected.open == 2 && affected.stage == 1 @@ -118,6 +124,8 @@ max_duration = 60 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + if (!hasorgans(target)) + return 0 var/datum/organ/external/affected = target.get_organ(target_zone) return affected.open == 2 && affected.stage == 2 diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm index 1ee3408b41..0114ea0865 100644 --- a/code/modules/surgery/generic.dm +++ b/code/modules/surgery/generic.dm @@ -35,8 +35,9 @@ max_duration = 110 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - var/datum/organ/external/affected = target.get_organ(target_zone) - return ..() && affected.open == 0 && target_zone != "mouth" + if(..()) + var/datum/organ/external/affected = target.get_organ(target_zone) + return affected.open == 0 && target_zone != "mouth" begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) @@ -74,8 +75,9 @@ max_duration = 120 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - var/datum/organ/external/affected = target.get_organ(target_zone) - return ..() && affected.open == 0 && target_zone != "mouth" + if(..()) + var/datum/organ/external/affected = target.get_organ(target_zone) + return affected.open == 0 && target_zone != "mouth" begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) @@ -114,10 +116,9 @@ max_duration = 110 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - if(isslime(target)) - return 0 - var/datum/organ/external/affected = target.get_organ(target_zone) - return ..() && affected.open == 0 && target_zone != "mouth" + if(..()) + var/datum/organ/external/affected = target.get_organ(target_zone) + return affected.open == 0 && target_zone != "mouth" begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) @@ -153,8 +154,9 @@ max_duration = 60 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - var/datum/organ/external/affected = target.get_organ(target_zone) - return ..() && affected.open && (affected.status & ORGAN_BLEEDING) + if(..()) + var/datum/organ/external/affected = target.get_organ(target_zone) + return affected.open && (affected.status & ORGAN_BLEEDING) begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) @@ -187,8 +189,9 @@ max_duration = 40 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - var/datum/organ/external/affected = target.get_organ(target_zone) - return ..() && affected.open == 1 && !(affected.status & ORGAN_BLEEDING) + if(..()) + var/datum/organ/external/affected = target.get_organ(target_zone) + return affected.open == 1 && !(affected.status & ORGAN_BLEEDING) begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) @@ -242,8 +245,9 @@ max_duration = 100 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - var/datum/organ/external/affected = target.get_organ(target_zone) - return ..() && affected.open && target_zone != "mouth" + if(..()) + var/datum/organ/external/affected = target.get_organ(target_zone) + return affected.open && target_zone != "mouth" begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) diff --git a/code/modules/surgery/headreattach.dm b/code/modules/surgery/headreattach.dm index eb5c696426..c808fa200e 100644 --- a/code/modules/surgery/headreattach.dm +++ b/code/modules/surgery/headreattach.dm @@ -28,8 +28,9 @@ max_duration = 100 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - var/datum/organ/external/affected = target.get_organ(target_zone) - return ..() && !(affected.status & ORGAN_CUT_AWAY) + if(..()) + var/datum/organ/external/affected = target.get_organ(target_zone) + return !(affected.status & ORGAN_CUT_AWAY) begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) user.visible_message("[user] starts peeling back tattered flesh where [target]'s head used to be with \the [tool].", \ @@ -61,8 +62,9 @@ max_duration = 100 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - var/datum/organ/external/affected = target.get_organ(target_zone) - return ..() && affected.status & ORGAN_CUT_AWAY && affected.open < 3 && !(affected.status & ORGAN_ATTACHABLE) + if(..()) + var/datum/organ/external/affected = target.get_organ(target_zone) + return affected.status & ORGAN_CUT_AWAY && affected.open < 3 && !(affected.status & ORGAN_ATTACHABLE) begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) @@ -94,8 +96,9 @@ max_duration = 100 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - var/datum/organ/external/affected = target.get_organ(target_zone) - return ..() && affected.open == 3 + if(..()) + var/datum/organ/external/affected = target.get_organ(target_zone) + return affected.open == 3 begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) user.visible_message("[user] is stapling and suturing flesh into place in [target]'s esophagal and vocal region with \the [tool].", \ @@ -128,8 +131,9 @@ max_duration = 70 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - var/datum/organ/external/affected = target.get_organ(target_zone) - return ..() && affected.open == 4 + if(..()) + var/datum/organ/external/affected = target.get_organ(target_zone) + return affected.open == 4 begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) user.visible_message("[user] starts adjusting area around [target]'s neck with \the [tool].", \ @@ -162,8 +166,9 @@ max_duration = 100 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - var/datum/organ/external/head = target.get_organ(target_zone) - return ..() && head.status & ORGAN_ATTACHABLE + if(..()) + var/datum/organ/external/head = target.get_organ(target_zone) + return head.status & ORGAN_ATTACHABLE begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) user.visible_message("[user] starts attaching [tool] to [target]'s reshaped neck.", \ diff --git a/code/modules/surgery/implant.dm b/code/modules/surgery/implant.dm index a57d1d89ca..c3f4f3298a 100644 --- a/code/modules/surgery/implant.dm +++ b/code/modules/surgery/implant.dm @@ -7,6 +7,8 @@ /datum/surgery_step/cavity priority = 1 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + if(!hasorgans(target)) + return 0 var/datum/organ/external/affected = target.get_organ(target_zone) return affected.open == 2 && !(affected.status & ORGAN_BLEEDING) && (target_zone != "chest" || target.op_stage.ribcage == 2) @@ -41,8 +43,9 @@ max_duration = 80 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - var/datum/organ/external/affected = target.get_organ(target_zone) - return ..() && !affected.cavity && !affected.hidden + if(..()) + var/datum/organ/external/affected = target.get_organ(target_zone) + return !affected.cavity && !affected.hidden begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) @@ -76,8 +79,9 @@ max_duration = 80 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - var/datum/organ/external/affected = target.get_organ(target_zone) - return ..() && affected.cavity + if(..()) + var/datum/organ/external/affected = target.get_organ(target_zone) + return affected.cavity begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) @@ -106,11 +110,9 @@ max_duration = 100 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - if(isslime(target)) - return 0 - var/datum/organ/external/affected = target.get_organ(target_zone) - var/can_fit = !affected.hidden && affected.cavity && tool.w_class <= get_max_wclass(affected) - return ..() && can_fit + if(..()) + var/datum/organ/external/affected = target.get_organ(target_zone) + return !affected.hidden && affected.cavity && tool.w_class <= get_max_wclass(affected) begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) @@ -185,7 +187,7 @@ affected.implants -= obj target.hud_updateflag |= 1 << IMPLOYAL_HUD - + //Handle possessive brain borers. if(istype(obj,/mob/living/simple_animal/borer)) var/mob/living/simple_animal/borer/worm = obj diff --git a/code/modules/surgery/other.dm b/code/modules/surgery/other.dm index 55fc59dd35..bd1002b06d 100644 --- a/code/modules/surgery/other.dm +++ b/code/modules/surgery/other.dm @@ -17,6 +17,9 @@ max_duration = 90 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + if(!hasorgans(target)) + return 0 + var/datum/organ/external/affected = target.get_organ(target_zone) var/internal_bleeding = 0 diff --git a/code/modules/surgery/ribcage.dm b/code/modules/surgery/ribcage.dm index 7515fa0529..7bbad9b5b1 100644 --- a/code/modules/surgery/ribcage.dm +++ b/code/modules/surgery/ribcage.dm @@ -19,7 +19,7 @@ max_duration = 70 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - if (!istype(target)) + if (!hasorgans(target)) return var/datum/organ/external/affected = target.get_organ(target_zone) return ..() && target.op_stage.ribcage == 0 && affected.open >= 2 @@ -197,6 +197,9 @@ max_duration = 90 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + if(!hasorgans(target)) + return 0 + var/is_chest_organ_damaged = 0 var/datum/organ/external/chest/chest = target.get_organ("chest") for(var/datum/organ/internal/I in chest.internal_organs) if(I.damage > 0) @@ -278,6 +281,9 @@ max_duration = 90 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + if(!hasorgans(target)) + return 0 + var/is_chest_organ_damaged = 0 var/datum/organ/internal/heart/heart = target.internal_organs["heart"] var/datum/organ/external/chest/chest = target.get_organ("chest") diff --git a/code/modules/surgery/robolimbs.dm b/code/modules/surgery/robolimbs.dm index 3be16401be..d201d62754 100644 --- a/code/modules/surgery/robolimbs.dm +++ b/code/modules/surgery/robolimbs.dm @@ -30,8 +30,9 @@ max_duration = 100 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - var/datum/organ/external/affected = target.get_organ(target_zone) - return ..() && !(affected.status & ORGAN_CUT_AWAY) + if(..()) + var/datum/organ/external/affected = target.get_organ(target_zone) + return !(affected.status & ORGAN_CUT_AWAY) begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) @@ -64,8 +65,9 @@ max_duration = 100 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - var/datum/organ/external/affected = target.get_organ(target_zone) - return ..() && affected.status & ORGAN_CUT_AWAY && affected.open < 3 && !(affected.status & ORGAN_ATTACHABLE) + if(..()) + var/datum/organ/external/affected = target.get_organ(target_zone) + return affected.status & ORGAN_CUT_AWAY && affected.open < 3 && !(affected.status & ORGAN_ATTACHABLE) begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) @@ -100,8 +102,9 @@ max_duration = 70 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - var/datum/organ/external/affected = target.get_organ(target_zone) - return ..() && affected.open == 3 + if(..()) + var/datum/organ/external/affected = target.get_organ(target_zone) + return affected.open == 3 begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) @@ -134,12 +137,13 @@ max_duration = 100 can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - var/obj/item/robot_parts/p = tool - if (p.part) - if (!(target_zone in p.part)) - return 0 - var/datum/organ/external/affected = target.get_organ(target_zone) - return ..() && affected.status & ORGAN_ATTACHABLE + if(..()) + var/obj/item/robot_parts/p = tool + if (p.part) + if (!(target_zone in p.part)) + return 0 + var/datum/organ/external/affected = target.get_organ(target_zone) + return affected.status & ORGAN_ATTACHABLE begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) From 2bc4c0e90fef15e5a4f1966ecfa8d1a3c97bfb01 Mon Sep 17 00:00:00 2001 From: Wouter Date: Wed, 18 Jun 2014 03:35:57 +0200 Subject: [PATCH 12/84] Returns ..() on Microwaves If you want this to use power, whatever asshat commented that out broke it. Adapting my code, figured out that this was what broke it only days after trying to locate the issue, thinking it was related to my own code. Probably quite minor, but this is what it is supposed to be functioning like. Right now it's just some powerless machine and whatever you do on /obj/machinery/New() is not working here without it. --- code/game/machinery/kitchen/microwave.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/kitchen/microwave.dm b/code/game/machinery/kitchen/microwave.dm index 0c45afb409..8113cf5985 100644 --- a/code/game/machinery/kitchen/microwave.dm +++ b/code/game/machinery/kitchen/microwave.dm @@ -26,7 +26,7 @@ ********************/ /obj/machinery/microwave/New() - //..() //do not need this + ..() reagents = new/datum/reagents(100) reagents.my_atom = src if (!available_recipes) From 580547f92422e2a00c43efda485971d654830df0 Mon Sep 17 00:00:00 2001 From: Wouter Date: Wed, 18 Jun 2014 03:46:31 +0200 Subject: [PATCH 13/84] Adds ..() on Chem Masters This makes sure they use power, and don't work when the power is out, beside making sure functions work correctly. As they didn't on my (adapted) code. --- code/modules/reagents/Chemistry-Machinery.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 87fb193bed..7d8c641100 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -293,6 +293,7 @@ var/max_pill_count = 20 /obj/machinery/chem_master/New() + ..() var/datum/reagents/R = new/datum/reagents(100) reagents = R R.my_atom = src From 83abddd8a887532b2f10eeb1cd41c7cea9b0e55a Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 16 Jun 2014 02:03:59 -0400 Subject: [PATCH 14/84] Fixes tails not rendering in record photos --- code/datums/datacore.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index c51528eb6e..6d578e585e 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -146,6 +146,11 @@ proc/get_id_photo(var/mob/living/carbon/human/H) if(E.status & ORGAN_ROBOT) temp.MapColors(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0)) preview_icon.Blend(temp, ICON_OVERLAY) + + //Tail + if(H.species.tail && H.species.flags & HAS_TAIL) + temp = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[H.species.tail]_s") + preview_icon.Blend(temp, ICON_OVERLAY) // Skin tone if(H.species.flags & HAS_SKIN_TONE) From 0a394fb59ff8b7b159c6a63fed86225b0267be64 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 18 Jun 2014 00:23:58 -0400 Subject: [PATCH 15/84] Fixes tails not rendering on the player preview --- code/modules/mob/new_player/preferences_setup.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index 108e6e5ca9..b32a4780b0 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -212,6 +212,11 @@ datum/preferences preview_icon.Blend(temp, ICON_OVERLAY) + //Tail + if(current_species && (current_species.flags & HAS_TAIL)) + var/icon/temp = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[current_species.tail]_s") + preview_icon.Blend(temp, ICON_OVERLAY) + // Skin color if(current_species && (current_species.flags & HAS_SKIN_COLOR)) preview_icon.Blend(rgb(r_skin, g_skin, b_skin), ICON_ADD) From f79e151ba7de7d9e3df3fb92ab11fefd639cc337 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Wed, 18 Jun 2014 10:55:38 +0400 Subject: [PATCH 16/84] Shortened helper procs a little. --- code/__HELPERS/game.dm | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index 448726bf0d..a3bec954c4 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -368,22 +368,13 @@ datum/projectile_data return new /datum/projectile_data(src_x, src_y, time, distance, power_x, power_y, dest_x, dest_y) /proc/GetRedPart(const/hexa) - var/hex = uppertext(hexa) - var/hi = text2ascii(hex, 2) - var/lo = text2ascii(hex, 3) - return (((hi >= 65 ? hi - 55 : hi - 48) << 4) | (lo >= 65 ? lo - 55 : lo - 48)) + return hex2num(copytext(hexa,2,4)) /proc/GetGreenPart(const/hexa) - var/hex = uppertext(hexa) - var/hi = text2ascii(hex, 4) - var/lo = text2ascii(hex, 5) - return (((hi >= 65 ? hi - 55 : hi - 48) << 4) | (lo >= 65 ? lo - 55 : lo - 48)) + return hex2num(copytext(hexa,4,6)) /proc/GetBluePart(const/hexa) - var/hex = uppertext(hexa) - var/hi = text2ascii(hex, 6) - var/lo = text2ascii(hex, 7) - return (((hi >= 65 ? hi - 55 : hi - 48) << 4) | (lo >= 65 ? lo - 55 : lo - 48)) + return hex2num(copytext(hexa,6,8)) /proc/GetHexColors(const/hexa) var/hex = uppertext(hexa) From cf53a4d6fb02caef6f157ec78cedb0076640dd40 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Wed, 18 Jun 2014 10:56:01 +0400 Subject: [PATCH 17/84] Made lights look fancier with blend modes --- code/controllers/_DynamicAreaLighting_TG.dm | 74 ++++++++------------ icons/effects/effects.dmi | Bin 199976 -> 196425 bytes 2 files changed, 29 insertions(+), 45 deletions(-) diff --git a/code/controllers/_DynamicAreaLighting_TG.dm b/code/controllers/_DynamicAreaLighting_TG.dm index c7000425f1..1153190375 100644 --- a/code/controllers/_DynamicAreaLighting_TG.dm +++ b/code/controllers/_DynamicAreaLighting_TG.dm @@ -371,60 +371,44 @@ area if (color_overlay) overlays.Remove(color_overlay) - color_overlay.icon_state = "white" + color_overlay.icon_state = "5" else if (l_color) - color_overlay = image('icons/effects/effects.dmi', ,"white", 10.1) + color_overlay = image('icons/effects/effects.dmi', ,"5", 10.1) + //color_overlay = image('icons/effects/effects.dmi', ,"white", 10.1) if (istype(color_overlay)) color_overlay.color = l_color - /* - if (light < 6) - switch (level) - if (6) - color_overlay.alpha = 140 - if (5) - color_overlay.alpha = 120 - if (4) - color_overlay.alpha = 100 - if (3) - color_overlay.alpha = 80 - if (2) - color_overlay.alpha = 60 - if (1) - color_overlay.alpha = 40 - if (-INFINITY to 0) + + switch (color_light) + if (6) + color_overlay.icon_state = "5" + //color_overlay.alpha = 180 + if (5) + color_overlay.icon_state = "4" + //color_overlay.alpha = 150 + if (4) + color_overlay.icon_state = "3" + //color_overlay.alpha = 120 + if (3) + color_overlay.icon_state = "2" + //color_overlay.alpha = 90 + if (2) + color_overlay.icon_state = "1" + //color_overlay.alpha = 60 + if (1) + color_overlay.icon_state = "1" + color_overlay.alpha = 200 + //color_overlay.alpha = 30 + if (-INFINITY to 0) //world << "Zero or below, [color_light]." color_overlay.alpha = 0 - else - //world << "Setting the alpha to max... color_light [color_light]." - color_overlay.alpha = 140 + else + //world << "Setting the alpha to max... color_light [color_light]." + color_overlay.alpha = 180 - color_overlay.blend_mode = BLEND_MULTIPLY - */ - - if (1) - switch (color_light) - if (6) - color_overlay.alpha = 140 - if (5) - color_overlay.alpha = 120 - if (4) - color_overlay.alpha = 100 - if (3) - color_overlay.alpha = 80 - if (2) - color_overlay.alpha = 60 - if (1) - color_overlay.alpha = 20 - if (-INFINITY to 0) - //world << "Zero or below, [color_light]." - color_overlay.alpha = 0 - else - //world << "Setting the alpha to max... color_light [color_light]." - color_overlay.alpha = 180 - color_overlay.blend_mode = BLEND_MULTIPLY + color_overlay.blend_mode = BLEND_ADD if (color_overlay.color) overlays.Add(color_overlay) diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi index 1b986b698585c80c7d6f5f0a079b403f838a29cc..7c86950ba63f30dcfbeab3ff36508b48620465a8 100644 GIT binary patch literal 196425 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 z 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�TV};^xQroECIq0{aUu>Nq(h1<4TAWCLx@X-(* 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�h?2Z(86=t%MgboQXI`a^^5 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 H3j6;6whlY; From 1b7acdb1471f8396b49236f64765209948b733b6 Mon Sep 17 00:00:00 2001 From: Boop Date: Wed, 18 Jun 2014 12:31:53 +0100 Subject: [PATCH 18/84] Fix runtime with brains and throwmode --- code/modules/mob/living/carbon/carbon.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 0e6d130a56..1fed0f1854 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -252,11 +252,13 @@ /mob/living/carbon/proc/throw_mode_off() src.in_throw_mode = 0 - src.throw_icon.icon_state = "act_throw_off" + if(src.throw_icon) //in case we don't have the HUD and we use the hotkey + src.throw_icon.icon_state = "act_throw_off" /mob/living/carbon/proc/throw_mode_on() src.in_throw_mode = 1 - src.throw_icon.icon_state = "act_throw_on" + if(src.throw_icon) + src.throw_icon.icon_state = "act_throw_on" /mob/proc/throw_item(atom/target) return From 5b1949fb12a9de74ae81674eaae8c401d8b23200 Mon Sep 17 00:00:00 2001 From: Boop Date: Wed, 18 Jun 2014 12:44:08 +0100 Subject: [PATCH 19/84] Fixes #5291 and another wound runtime --- code/modules/organs/organ_external.dm | 41 ++++++++++++++------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index acd9efcb65..c51d516715 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -239,28 +239,31 @@ This function completely restores a damaged organ to perfect condition. for (var/datum/wound/W in wounds) if (W.can_worsen(type, damage)) compatible_wounds += W - - var/datum/wound/W = pick(compatible_wounds) - W.open_wound(damage) - if(prob(25)) - //maybe have a separate message for BRUISE type damage? - owner.visible_message("\red The wound on [owner.name]'s [display_name] widens with a nasty ripping voice.",\ - "\red The wound on your [display_name] widens with a nasty ripping voice.",\ - "You hear a nasty ripping noise, as if flesh is being torn apart.") - return + + if(compatible_wounds.len) + var/datum/wound/W = pick(compatible_wounds) + W.open_wound(damage) + if(prob(25)) + //maybe have a separate message for BRUISE type damage? + owner.visible_message("\red The wound on [owner.name]'s [display_name] widens with a nasty ripping voice.",\ + "\red The wound on your [display_name] widens with a nasty ripping voice.",\ + "You hear a nasty ripping noise, as if flesh is being torn apart.") + return //Creating wound var/wound_type = get_wound_type(type, damage) - var/datum/wound/W = new wound_type(damage) - //Check whether we can add the wound to an existing wound - for(var/datum/wound/other in wounds) - if(other.can_merge(W)) - other.merge_wound(W) - W = null // to signify that the wound was added - break - if(W) - wounds += W + if(wound_type) + var/datum/wound/W = new wound_type(damage) + + //Check whether we can add the wound to an existing wound + for(var/datum/wound/other in wounds) + if(other.can_merge(W)) + other.merge_wound(W) + W = null // to signify that the wound was added + break + if(W) + wounds += W /datum/organ/external/proc/get_wound_type(var/type = CUT, var/damage) //if you look a the names in the wound's stages list for each wound type you will see the logic behind these values @@ -279,7 +282,7 @@ This function completely restores a damaged organ to perfect condition. if (damage <= 15) return /datum/wound/burn/large if (damage <= 30) return /datum/wound/burn/severe if (damage <= 40) return /datum/wound/burn/deep - if (damage <= 50) return /datum/wound/burn/carbonised + return /datum/wound/burn/carbonised /**************************************************** PROCESSING & UPDATING From 4b7a8610b83b0b0416c4f7ce312bb5c60262f3ad Mon Sep 17 00:00:00 2001 From: Boop Date: Wed, 18 Jun 2014 13:32:10 +0100 Subject: [PATCH 20/84] Fix latex gloves box not having the right sprite --- code/game/objects/items/weapons/storage/boxes.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index c0f83006fd..2d4969c0d1 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -48,6 +48,8 @@ /obj/item/weapon/storage/box/gloves name = "box of latex gloves" desc = "Contains white gloves." + icon_state = "latex" + New() ..() new /obj/item/clothing/gloves/latex(src) From a54d9cfd3baa4e25fbe2fa7f84f677c070820bc5 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Wed, 18 Jun 2014 19:52:19 +0400 Subject: [PATCH 21/84] Nextgen lights #1: supermatter Now it glows with yellowish tint, getting brighter as damage level rise. --- code/modules/supermatter/supermatter.dm | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/code/modules/supermatter/supermatter.dm b/code/modules/supermatter/supermatter.dm index df4516a19f..122da9f236 100644 --- a/code/modules/supermatter/supermatter.dm +++ b/code/modules/supermatter/supermatter.dm @@ -44,6 +44,10 @@ var/emergency_alert = "CRYSTAL DELAMINATION IMMINENT." var/explosion_point = 1000 + l_color = "#8A8A00" + var/warning_color = "#B8B800" + var/emergency_color = "#D9D900" + var/grav_pulling = 0 var/pull_radius = 14 @@ -99,6 +103,13 @@ del src return +//Changes color and luminosity of the light to these values if they were not already set +/obj/machinery/power/supermatter/proc/shift_light(var/lum, var/clr) + if(l_color != clr) + l_color = clr + if(luminosity != lum) + SetLuminosity(lum) + /obj/machinery/power/supermatter/process() var/turf/L = loc @@ -109,12 +120,15 @@ if(!istype(L)) //We are in a crate or somewhere that isn't turf, if we return to turf resume processing but for now. return //Yeah just stop. + if(damage > warning_point) // while the core is still damaged and it's still worth noting its status + + shift_light(5, warning_color) if((world.timeofday - lastwarning) / 10 >= WARNING_DELAY) var/stability = num2text(round((damage / explosion_point) * 100)) if(damage > emergency_point) - + shift_light(7, emergency_color) radio.autosay(addtext(emergency_alert, " Instability: ",stability,"%"), "Supermatter Monitor") lastwarning = world.timeofday @@ -135,7 +149,8 @@ mob.apply_effect(rads, IRRADIATE) explode() - + else + shift_light(4,initial(l_color)) if(grav_pulling) supermatter_pull() From fc73c8de2243292c3a23bb7647fe93bcface3436 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Wed, 18 Jun 2014 20:20:18 +0400 Subject: [PATCH 22/84] Changes paint tile coloring to use color var, less icon procs. --- code/game/objects/items/weapons/paint.dm | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/code/game/objects/items/weapons/paint.dm b/code/game/objects/items/weapons/paint.dm index 96e66d7bee..00573fcecc 100644 --- a/code/game/objects/items/weapons/paint.dm +++ b/code/game/objects/items/weapons/paint.dm @@ -182,16 +182,7 @@ datum/reagent/paint reaction_turf(var/turf/T, var/volume) if(!istype(T) || istype(T, /turf/space)) return - var/ind = "[initial(T.icon)][color]" - if(!cached_icons[ind]) - var/icon/overlay = new/icon(initial(T.icon)) - overlay.Blend(color,ICON_MULTIPLY) - overlay.SetIntensity(1.4) - T.icon = overlay - cached_icons[ind] = T.icon - else - T.icon = cached_icons[ind] - return + T.color = color red name = "Red Paint" From 2396c6d88228986d05093e70d9dd72afc9fcda82 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Wed, 18 Jun 2014 20:38:33 +0400 Subject: [PATCH 23/84] Nextgen lighting #2: Lights Can paint light tubes and bulbs with paint and stick in sockets to get colored lights. --- code/game/objects/items/weapons/paint.dm | 5 +++++ code/modules/power/lighting.dm | 3 +++ 2 files changed, 8 insertions(+) diff --git a/code/game/objects/items/weapons/paint.dm b/code/game/objects/items/weapons/paint.dm index 00573fcecc..2c0e1d812d 100644 --- a/code/game/objects/items/weapons/paint.dm +++ b/code/game/objects/items/weapons/paint.dm @@ -184,6 +184,11 @@ datum/reagent/paint return T.color = color + reaction_obj(var/obj/O, var/volume) + ..() + if(istype(O,/obj/item/weapon/light)) + O.color = color + red name = "Red Paint" id = "paint_red" diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 324492a3bd..3ebe3cd7c0 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -356,6 +356,7 @@ switchcount = L.switchcount rigged = L.rigged brightness = L.brightness + l_color = L.color on = has_power() update() @@ -514,6 +515,7 @@ L.status = status L.rigged = rigged L.brightness = src.brightness + L.color = l_color // light item inherits the switchcount, then zero it L.switchcount = switchcount @@ -539,6 +541,7 @@ L.status = status L.rigged = rigged L.brightness = brightness + L.color = l_color // light item inherits the switchcount, then zero it L.switchcount = switchcount From 9e3ad09b8c5d4fcfce576dde2556108c8b3eb7d7 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Wed, 18 Jun 2014 22:06:44 +0400 Subject: [PATCH 24/84] Shortened helper. Added new helper for alternative mixing. --- code/__HELPERS/game.dm | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index a3bec954c4..77ed7f308e 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -377,15 +377,25 @@ datum/projectile_data return hex2num(copytext(hexa,6,8)) /proc/GetHexColors(const/hexa) - var/hex = uppertext(hexa) - var/hi1 = text2ascii(hex, 2) - var/lo1 = text2ascii(hex, 3) - var/hi2 = text2ascii(hex, 4) - var/lo2 = text2ascii(hex, 5) - var/hi3 = text2ascii(hex, 6) - var/lo3 = text2ascii(hex, 7) return list( - ((hi1 >= 65 ? hi1 - 55 : hi1 - 48) << 4) | (lo1 >= 65 ? lo1 - 55 : lo1 - 48), - ((hi2 >= 65 ? hi2 - 55 : hi2 - 48) << 4) | (lo2 >= 65 ? lo2 - 55 : lo2 - 48), - ((hi3 >= 65 ? hi3 - 55 : hi3 - 48) << 4) | (lo3 >= 65 ? lo3 - 55 : lo3 - 48) + GetRedPart(hexa), + GetGreenPart(hexa), + GetBluePart(hexa) ) + +/proc/MixColors(const/list/colors) + var/list/reds = list() + var/list/blues = list() + var/list/greens = list() + var/list/weights = list() + + for (var/i = 0, ++i <= colors.len) + reds.Add(GetRedPart(colors[i])) + blues.Add(GetBluePart(colors[i])) + greens.Add(GetGreenPart(colors[i])) + weights.Add(1) + + var/r = mixOneColor(weights, reds) + var/g = mixOneColor(weights, greens) + var/b = mixOneColor(weights, blues) + return rgb(r,g,b) \ No newline at end of file From ceecd7abc9f135d1a9944b9e9ce30c904e13bcc2 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Wed, 18 Jun 2014 23:45:25 +0400 Subject: [PATCH 25/84] Changed color mixing to use weighted average instead of addition. Should help against values reaching FF too fast. Adjusted color mixing helper to use inbuilt procs. --- code/controllers/_DynamicAreaLighting_TG.dm | 26 +++------------------ code/modules/reagents/Chemistry-Colours.dm | 13 +++++------ 2 files changed, 9 insertions(+), 30 deletions(-) diff --git a/code/controllers/_DynamicAreaLighting_TG.dm b/code/controllers/_DynamicAreaLighting_TG.dm index 1153190375..9e90fc0ec6 100644 --- a/code/controllers/_DynamicAreaLighting_TG.dm +++ b/code/controllers/_DynamicAreaLighting_TG.dm @@ -224,12 +224,6 @@ turf/proc/update_lumcount(amount, _lcolor, removing = 0) var/blended if (_lcolor) - if (l_color && _lcolor && l_color != _lcolor && !removing) // Blend colors. - var/redblend = min((GetRedPart(l_color)) + (GetRedPart(_lcolor)), 255) - var/greenblend = min((GetGreenPart(l_color)) + (GetGreenPart(_lcolor)), 255) - var/blueblend = min((GetBluePart(l_color)) + (GetBluePart(_lcolor)), 255) - blended = "#[add_zero2(num2hex(redblend), 2)][add_zero2(num2hex(greenblend),2)][add_zero2(num2hex(blueblend),2)]" - if (removing) colors.Remove(_lcolor) // Remove the color that's leaving us from our list. @@ -237,23 +231,7 @@ turf/proc/update_lumcount(amount, _lcolor, removing = 0) l_color = null // All our color is gone, no color for us. else if (colors && colors.len > 1) var/maxdepth = 3 // Will blend 3 colors, anymore than that and it looks bad or we will get lag on every tile update. - var/currentblended - - for (var/i = 0, ++i <= colors.len) - if (i > maxdepth) - //world << "Maxdepth reached, breaking loop." - break - - if (!currentblended) - //world << "First iteration, currentblended = [colors[i]]." - currentblended = colors[i] // Start with the first of the remaining colors. - continue - - var/redblend = min((GetRedPart(currentblended)) + (GetRedPart(colors[i])), 255) - var/greenblend = min((GetGreenPart(currentblended)) + (GetGreenPart(colors[i])), 255) - var/blueblend = min((GetBluePart(currentblended)) + (GetBluePart(colors[i])), 255) - currentblended = "#[add_zero2(num2hex(redblend), 2)][add_zero2(num2hex(greenblend), 2)][add_zero2(num2hex(blueblend), 2)]" - //world << "Finished [i] [currentblended]." + var/currentblended = MixColors(colors.Copy(1,maxdepth+1)) if (currentblended) //world << "Ended up with [currentblended]" @@ -264,6 +242,8 @@ turf/proc/update_lumcount(amount, _lcolor, removing = 0) l_color = colors[colors.len] else // we added a color. colors.Add(_lcolor) // Add the base color to the list. + if (l_color && _lcolor && l_color != _lcolor) // Blend colors. + blended = MixColors(list(l_color,_lcolor)) if (blended) l_color = blended // If we had a blended color, this is what we get otherwise. diff --git a/code/modules/reagents/Chemistry-Colours.dm b/code/modules/reagents/Chemistry-Colours.dm index 55e76a07b8..a59147e85f 100644 --- a/code/modules/reagents/Chemistry-Colours.dm +++ b/code/modules/reagents/Chemistry-Colours.dm @@ -34,7 +34,7 @@ var/blue = mixOneColor(weight,bluecolor) //assemble all the pieces - var/finalcolor = "#[red][green][blue]" + var/finalcolor = rgb(red, green, blue) return finalcolor /proc/mixOneColor(var/list/weight, var/list/color) @@ -58,10 +58,9 @@ mixedcolor = round(mixedcolor) //until someone writes a formal proof for this algorithm, let's keep this in - if(mixedcolor<0x00 || mixedcolor>0xFF) - return 0 +// if(mixedcolor<0x00 || mixedcolor>0xFF) +// return 0 + //that's not the kind of operation we are running here, nerd + mixedcolor=min(max(mixedcolor,0),255) - var/finalcolor = num2hex(mixedcolor) - while(length(finalcolor)<2) - finalcolor = text("0[]",finalcolor) //Takes care of leading zeroes - return finalcolor + return mixedcolor From ded321d5c1dbb6c6540e3f043ea43d7f58610f78 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Thu, 19 Jun 2014 00:16:19 +0400 Subject: [PATCH 26/84] Nextgen lights #3: Fire Fire now emites colored light, pretty rad. --- code/ZAS/Fire.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/ZAS/Fire.dm b/code/ZAS/Fire.dm index 8b692c5b13..a09b00bb28 100644 --- a/code/ZAS/Fire.dm +++ b/code/ZAS/Fire.dm @@ -50,7 +50,7 @@ turf/simulated/hotspot_expose(exposed_temperature, exposed_volume, soh) icon = 'icons/effects/fire.dmi' icon_state = "1" - + l_color = "#ED9200" layer = TURF_LAYER var/firelevel = 10000 //Calculated by gas_mixture.calculate_firelevel() From 100b107fbb3007e92a64ea994f1089362644e2ee Mon Sep 17 00:00:00 2001 From: Chinsky Date: Thu, 19 Jun 2014 00:26:30 +0400 Subject: [PATCH 27/84] Forgot to commit the icon file. --- icons/effects/ss13_dark_alpha6.dmi | Bin 0 -> 503 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 icons/effects/ss13_dark_alpha6.dmi diff --git a/icons/effects/ss13_dark_alpha6.dmi b/icons/effects/ss13_dark_alpha6.dmi new file mode 100644 index 0000000000000000000000000000000000000000..742337358daaf170b122e8eb961f94933c1eee20 GIT binary patch literal 503 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGobyXn|B`&GO$wiq3C7Jno3=9=> zT2EPXH5drEUbNcW)&A|#es5(#&xO?jJ!-97o)_LmbCem~-CGb;@^^vyionaMH3iQZ zJFQN8-pT6}6AJY_B(?qK55JCLlL;QTT8=!bX>f5&`uaKV-anVaU9&_*wY|bb)|~k7 z(p47}uy`5!Ss`DQy?>T3U|?W0@pN$vshIQj&c@us4gw4Z7cUf&(JT<`6WzdaeBIfj zHIl1bCu$k2XqlCwUi;vE11qP&!)@23GVg!a-*tdz?tjJh58<-MU4{$YzGH5e| zF|1*TAVuJI+B5O@1&2THfBIn_sd_Q20~*#?zC&(K{l3)h`ZZhMrQf?RjOnbesx@z} x{G4vAUw`rZ!JYr69=tzu`gg8F#CqTx%b^^_hx^(~m literal 0 HcmV?d00001 From ce69599a3ad8440e95f99dc8d9b9e91d10ce9519 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Thu, 19 Jun 2014 08:48:58 +0930 Subject: [PATCH 28/84] Whitelists diona nymphs. Forces them not to have universal_speak. --- code/game/machinery/podmen.dm | 4 ++-- code/modules/mob/living/carbon/monkey/diona.dm | 7 ++----- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/code/game/machinery/podmen.dm b/code/game/machinery/podmen.dm index 041a03348c..980596e91b 100644 --- a/code/game/machinery/podmen.dm +++ b/code/game/machinery/podmen.dm @@ -92,7 +92,7 @@ Growing it to term with nothing injected will grab a ghost from the observers. * /obj/item/seeds/replicapod/proc/request_player() for(var/mob/dead/observer/O in player_list) - if(jobban_isbanned(O, "Dionaea")) + if(jobban_isbanned(O, "Dionaea") || (!is_alien_whitelisted(src, "Diona") && config.usealienwhitelist)) continue if(O.client) if(O.client.prefs.be_special & BE_PLANT) @@ -101,7 +101,7 @@ Growing it to term with nothing injected will grab a ghost from the observers. * /obj/item/seeds/replicapod/proc/question(var/client/C) spawn(0) if(!C) return - var/response = alert(C, "Someone is harvesting a replica pod. Would you like to play as a Dionaea?", "Replica pod harvest", "Yes", "No", "Never for this round.") + var/response = alert(C, "Someone is harvesting a diona pod. Would you like to play as a diona?", "Dionaea harvest", "Yes", "No", "Never for this round.") if(!C || ckey) return if(response == "Yes") diff --git a/code/modules/mob/living/carbon/monkey/diona.dm b/code/modules/mob/living/carbon/monkey/diona.dm index cf1ea1ccb6..741b5762b2 100644 --- a/code/modules/mob/living/carbon/monkey/diona.dm +++ b/code/modules/mob/living/carbon/monkey/diona.dm @@ -10,6 +10,8 @@ icon_state = "nymph1" var/list/donors = list() var/ready_evolve = 0 + universal_understand = 0 // Dionaea do not need to speak to people + universal_speak = 0 // before becoming an adult. Use *chirp. /mob/living/carbon/monkey/diona/attack_hand(mob/living/carbon/human/M as mob) @@ -245,14 +247,11 @@ message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN)) - if(stat == 2) return say_dead(message) var/datum/language/speaking = null - - if(length(message) >= 2) var/channel_prefix = copytext(message, 1 ,3) if(languages.len) @@ -270,6 +269,4 @@ if(!message || stat) return - - ..(message, speaking, verb, null, null, message_range, null) From 0e1c367012473ade78b5fed37c7c5a8f7898df2c Mon Sep 17 00:00:00 2001 From: Cael Aislinn Date: Thu, 19 Jun 2014 10:56:23 +1000 Subject: [PATCH 29/84] reconstitutor has a chance to extract multiple genomes per fossil (50% for two genomes, 37.5% chance for three genomes), moved xenoarchaeology initialisation code into the master controller, added upper and lower spawn vals for digsite turf number and artifact machine number, added circuitboards for the reconstitutors, fixes missing clonepod for flora reconstitutors Signed-off-by: Cael Aislinn --- code/global.dm | 3 + code/modules/mining/mine_turfs.dm | 3 - .../xenoarchaeology/genetics/reconstitutor.dm | 132 ++++++++---------- code/modules/research/xenoarchaeology/misc.dm | 132 +++++++++++++++--- 4 files changed, 175 insertions(+), 95 deletions(-) diff --git a/code/global.dm b/code/global.dm index ef34efdf15..1eb82f08cd 100644 --- a/code/global.dm +++ b/code/global.dm @@ -252,3 +252,6 @@ var/DBConnection/dbcon_old = new() //Tgstation database (Old database) - See the // Reference list for disposal sort junctions. Filled up by sorting junction's New() /var/list/tagger_locations = list() + +//added for Xenoarchaeology, might be useful for other stuff +var/global/list/alphabet_uppercase = list("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z") diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index eb9a5c8c04..c868c9a779 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -1,9 +1,6 @@ /**********************Mineral deposits**************************/ -datum/controller/game_controller/var/list/artifact_spawning_turfs = list() -var/list/artifact_spawn = list() // Runtime fix for geometry loading before controller is instantiated. - /turf/simulated/mineral //wall piece name = "Rock" icon = 'icons/turf/walls.dmi' diff --git a/code/modules/research/xenoarchaeology/genetics/reconstitutor.dm b/code/modules/research/xenoarchaeology/genetics/reconstitutor.dm index 6bd699483d..b4afc4ff0c 100644 --- a/code/modules/research/xenoarchaeology/genetics/reconstitutor.dm +++ b/code/modules/research/xenoarchaeology/genetics/reconstitutor.dm @@ -1,69 +1,14 @@ -var/global/list/alphabet_uppercase = list("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z") -var/list/genome_prefixes = list("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z") - -var/list/spawn_types_animal = list("/mob/living/carbon/slime",\ -"/mob/living/simple_animal/hostile/alien",\ -"/mob/living/simple_animal/hostile/alien/drone",\ -"/mob/living/simple_animal/hostile/alien/sentinel",\ -"/mob/living/simple_animal/hostile/giant_spider",\ -"/mob/living/simple_animal/hostile/giant_spider/hunter",\ -"/mob/living/simple_animal/hostile/giant_spider/nurse",\ -"/mob/living/simple_animal/hostile/creature",\ -"/mob/living/simple_animal/hostile/samak",\ -"/mob/living/simple_animal/hostile/diyaab",\ -"/mob/living/simple_animal/hostile/shantak",\ -"/mob/living/simple_animal/tindalos",\ -"/mob/living/simple_animal/yithian") - -var/list/spawn_types_plant = list("/obj/item/seeds/walkingmushroommycelium",\ -"/obj/item/seeds/killertomatoseed",\ -"/obj/item/seeds/shandseed", -"/obj/item/seeds/mtearseed", -"/obj/item/seeds/thaadra",\ -"/obj/item/seeds/telriis",\ -"/obj/item/seeds/jurlmah",\ -"/obj/item/seeds/amauri",\ -"/obj/item/seeds/gelthi",\ -"/obj/item/seeds/vale",\ -"/obj/item/seeds/surik") - -var/list/all_animal_genesequences = list() -var/list/all_plant_genesequences = list() - +//gene sequence datum datum/genesequence var/spawned_type var/spawned_type_text var/list/full_genome_sequence = list() -/proc/create_all_genesequences() - //create animal gene sequences - while(spawn_types_animal.len && genome_prefixes.len) - var/datum/genesequence/new_sequence = new/datum/genesequence() - new_sequence.spawned_type_text = pick(spawn_types_animal) - new_sequence.spawned_type = text2path(new_sequence.spawned_type_text) - spawn_types_animal -= new_sequence.spawned_type - - var/prefixletter = pick(genome_prefixes) - genome_prefixes -= prefixletter - while(new_sequence.full_genome_sequence.len < 7) - new_sequence.full_genome_sequence.Add("[prefixletter][pick(alphabet_uppercase)][pick(alphabet_uppercase)][pick(1,2,3,4,5,6,7,8,9,0)][pick(1,2,3,4,5,6,7,8,9,0)]") - - all_animal_genesequences.Add(new_sequence) - - //create plant gene sequences - while(spawn_types_plant.len && genome_prefixes.len) - var/datum/genesequence/new_sequence = new/datum/genesequence() - new_sequence.spawned_type = pick(spawn_types_plant) - spawn_types_plant -= new_sequence.spawned_type - - var/prefixletter = pick(genome_prefixes) - genome_prefixes -= prefixletter - while(new_sequence.full_genome_sequence.len < 7) - new_sequence.full_genome_sequence.Add("[prefixletter][pick(1,2,3,4,5,6,7,8,9,0)][pick(1,2,3,4,5,6,7,8,9,0)][pick(alphabet_uppercase)][pick(alphabet_uppercase)]") - - all_plant_genesequences.Add(new_sequence) +#define SCANFOSSIL_RETVAL_WRONGTYPE 1 +#define SCANFOSSIL_RETVAL_NOMOREGENESEQ 2 +#define SCANFOSSIL_RETVAL_SUCCESS 4 /obj/machinery/computer/reconstitutor name = "Flora reconstitution console" @@ -71,7 +16,7 @@ datum/genesequence icon_state = "dna" circuit = "/obj/item/weapon/circuitboard/reconstitutor" req_access = list(access_heads) //Only used for record deletion right now. - var/obj/machinery/clonepod/pod1 = null //Linked cloning pod. + var/obj/machinery/clonepod/pod1 = 1 //Linked cloning pod. var/temp = "" var/menu = 1 //Which menu screen to display var/list/records = list() @@ -86,19 +31,20 @@ datum/genesequence var/list/discovered_genomes = list("! Clear !") var/list/accepted_fossil_types = list(/obj/item/weapon/fossil/plant) + /obj/machinery/computer/reconstitutor/New() - create_all_genesequences() if(!undiscovered_genesequences) - undiscovered_genesequences = all_plant_genesequences.Copy() + undiscovered_genesequences = master_controller.all_plant_genesequences.Copy() ..() /obj/machinery/computer/reconstitutor/animal name = "Fauna reconstitution console" accepted_fossil_types = list(/obj/item/weapon/fossil/bone,/obj/item/weapon/fossil/shell,/obj/item/weapon/fossil/skull) + pod1 = null + circuit = "/obj/item/weapon/circuitboard/reconstitutor/animal" /obj/machinery/computer/reconstitutor/animal/New() - create_all_genesequences() - undiscovered_genesequences = all_animal_genesequences.Copy() + undiscovered_genesequences = master_controller.all_animal_genesequences.Copy() ..() /obj/machinery/computer/reconstitutor/attackby(obj/item/W, mob/user) @@ -109,9 +55,9 @@ datum/genesequence if(1) src.visible_message("\red \icon[src] [src] scans the fossil and rejects it.") if(2) - visible_message("\red \icon[src] can not extract any more genetic data from new fossils.") + visible_message("\red \icon[src] [src] can not extract any more genetic data from new fossils.") if(4) - src.visible_message("\blue \icon[src] [user] inserts [W] into [src], the fossil is consumed.") + src.visible_message("\blue \icon[src] [user] inserts [W] into [src], the fossil is consumed as [src] extracts genetic data from it.") del(W) updateDialog() else if (istype(W, /obj/item/weapon/storage)) @@ -122,18 +68,18 @@ datum/genesequence var/full = 0 for(var/obj/item/weapon/fossil/F in S.contents) switch(scan_fossil(F)) - if(1) + if(SCANFOSSIL_RETVAL_WRONGTYPE) numrejected += 1 - if(2) + if(SCANFOSSIL_RETVAL_NOMOREGENESEQ) full = 1 - if(4) + if(SCANFOSSIL_RETVAL_SUCCESS) numaccepted += 1 S.remove_from_storage(F, src) //This will move the item to this item's contents del(F) updateDialog() var/outmsg = "\blue You empty all the fossils from [S] into [src]." if(numaccepted) - outmsg += " \blue[numaccepted] fossils were accepted." + outmsg += " \blue[numaccepted] fossils were accepted and consumed as [src] extracts genetic data from them." if(numrejected) outmsg += " \red[numrejected] fossils were rejected." if(full) @@ -159,7 +105,7 @@ datum/genesequence if(!pod1) dat += "Unable to locate cloning pod.
" - else + else if(istype(pod1)) dat += "Cloning pod connected.
" dat += "" @@ -307,7 +253,7 @@ datum/genesequence /obj/machinery/computer/reconstitutor/proc/scan_fossil(var/obj/item/weapon/fossil/scan_fossil) //see whether we accept these kind of fossils if(accepted_fossil_types.len && !accepted_fossil_types.Find(scan_fossil.type)) - return 1 + return SCANFOSSIL_RETVAL_WRONGTYPE //see whether we are going to discover a new sequence, new genome for existing sequence or nothing var/new_genome_prob = discovered_genesequences.len * 50 @@ -318,6 +264,17 @@ datum/genesequence undiscovered_genomes -= newly_discovered_genome discovered_genomes.Add(newly_discovered_genome) + //chance to discover a second genome + if(prob(75)) + newly_discovered_genome = pick(undiscovered_genomes) + undiscovered_genomes -= newly_discovered_genome + discovered_genomes.Add(newly_discovered_genome) + //chance to discover a third genome + if(prob(50)) + newly_discovered_genome = pick(undiscovered_genomes) + undiscovered_genomes -= newly_discovered_genome + discovered_genomes.Add(newly_discovered_genome) + else if(undiscovered_genesequences.len) //discover new gene sequence var/datum/genesequence/newly_discovered_genesequence = pick(undiscovered_genesequences) @@ -330,6 +287,33 @@ datum/genesequence else //there's no point scanning any more fossils, we've already discovered everything - return 2 + return SCANFOSSIL_RETVAL_NOMOREGENESEQ - return 4 + return SCANFOSSIL_RETVAL_SUCCESS + +#undef SCANFOSSIL_RETVAL_WRONGTYPE +#undef SCANFOSSIL_RETVAL_NOMOREGENESEQ +#undef SCANFOSSIL_RETVAL_SUCCESS + + +/obj/item/weapon/circuitboard/reconstitutor + name = "Circuit board (Flora Reconstitution Console)" + build_path = "/obj/machinery/computer/reconstitutor" + origin_tech = "programming=2;biotech=4;materials=6" + frame_desc = "Requires 2 Advanced Scanning Module, 1 Nano Manipulator, 1 Matter Bin and 1 Advanced Capacitor." + req_components = list( + "/obj/item/weapon/stock_parts/scanning_module/adv" = 2, + "/obj/item/weapon/stock_parts/manipulator/nano" = 1, + "/obj/item/weapon/stock_parts/matter_bin" = 1, + "/obj/item/weapon/stock_parts/capacitor/adv" = 1) + +/obj/item/weapon/circuitboard/reconstitutor/animal + name = "Circuit board (Fauna Reconstitution Console)" + build_path = "/obj/machinery/computer/reconstitutor/animal" + origin_tech = "programming=2;biotech=4;materials=6" + frame_desc = "Requires 2 Advanced Scanning Module, 1 Nano Manipulator, 1 Matter Bin and 1 Advanced Capacitor." + req_components = list( + "/obj/item/weapon/stock_parts/scanning_module/adv" = 2, + "/obj/item/weapon/stock_parts/manipulator/nano" = 1, + "/obj/item/weapon/stock_parts/matter_bin" = 1, + "/obj/item/weapon/stock_parts/capacitor/adv" = 1) diff --git a/code/modules/research/xenoarchaeology/misc.dm b/code/modules/research/xenoarchaeology/misc.dm index c50efb04fd..6761d58c41 100644 --- a/code/modules/research/xenoarchaeology/misc.dm +++ b/code/modules/research/xenoarchaeology/misc.dm @@ -1,30 +1,78 @@ -#define XENOARCH_SPAWN_CHANCE 0.5 -#define XENOARCH_SPREAD_CHANCE 15 -#define ARTIFACT_SPAWN_CHANCE 20 -proc/SetupXenoarch() +/datum/controller/game_controller + var/list/all_animal_genesequences = list() + var/list/all_plant_genesequences = list() + var/list/genome_prefixes = null + var/list/artifact_spawning_turfs = list() + var/list/digsite_spawning_turfs = list() + + var/list/spawn_types_animal = list("/mob/living/carbon/slime",\ + "/mob/living/simple_animal/hostile/alien",\ + "/mob/living/simple_animal/hostile/alien/drone",\ + "/mob/living/simple_animal/hostile/alien/sentinel",\ + "/mob/living/simple_animal/hostile/giant_spider",\ + "/mob/living/simple_animal/hostile/giant_spider/hunter",\ + "/mob/living/simple_animal/hostile/giant_spider/nurse",\ + "/mob/living/simple_animal/hostile/creature",\ + "/mob/living/simple_animal/hostile/samak",\ + "/mob/living/simple_animal/hostile/diyaab",\ + "/mob/living/simple_animal/hostile/shantak",\ + "/mob/living/simple_animal/tindalos",\ + "/mob/living/simple_animal/yithian") + + var/list/spawn_types_plant = list("/obj/item/seeds/walkingmushroommycelium",\ + "/obj/item/seeds/killertomatoseed",\ + "/obj/item/seeds/shandseed", + "/obj/item/seeds/mtearseed", + "/obj/item/seeds/thaadra",\ + "/obj/item/seeds/telriis",\ + "/obj/item/seeds/jurlmah",\ + "/obj/item/seeds/amauri",\ + "/obj/item/seeds/gelthi",\ + "/obj/item/seeds/vale",\ + "/obj/item/seeds/surik") + +#define XENOARCH_SPAWN_CHANCE 0.5 +#define DIGSITESIZE_LOWER 4 +#define DIGSITESIZE_UPPER 12 +#define ARTIFACTSPAWNNUM_LOWER 6 +#define ARTIFACTSPAWNNUM_UPPER 12 + +datum/controller/game_controller/proc/SetupXenoarch() + //create digsites for(var/turf/simulated/mineral/M in block(locate(1,1,1), locate(world.maxx, world.maxy, world.maxz))) - if(!M.geologic_data) + if(isnull(M.geologic_data)) M.geologic_data = new/datum/geosample(M) if(!prob(XENOARCH_SPAWN_CHANCE)) continue + digsite_spawning_turfs.Add(M) var/digsite = get_random_digsite_type() + var/target_digsite_size = rand(DIGSITESIZE_LOWER, DIGSITESIZE_UPPER) var/list/processed_turfs = list() var/list/turfs_to_process = list(M) - for(var/turf/simulated/mineral/archeo_turf in turfs_to_process) + while(turfs_to_process.len) + var/turf/simulated/mineral/archeo_turf = pop(turfs_to_process) - for(var/turf/simulated/mineral/T in orange(1, archeo_turf)) - if(T.finds) - continue - if(T in processed_turfs) - continue - if(prob(XENOARCH_SPREAD_CHANCE)) - turfs_to_process.Add(T) + if(target_digsite_size > 1) + var/list/viable_adjacent_turfs = orange(1, archeo_turf) + for(var/turf/simulated/mineral/T in orange(1, archeo_turf)) + if(T.finds) + continue + if(T in processed_turfs) + continue + viable_adjacent_turfs.Add(T) + + for(var/turf/simulated/mineral/T in viable_adjacent_turfs) + if(prob(target_digsite_size/viable_adjacent_turfs.len)) + turfs_to_process.Add(T) + target_digsite_size -= 1 + if(target_digsite_size <= 0) + break processed_turfs.Add(archeo_turf) - if(!archeo_turf.finds) + if(isnull(archeo_turf.finds)) archeo_turf.finds = list() if(prob(50)) archeo_turf.finds.Add(new /datum/find(digsite, rand(5,95))) @@ -42,11 +90,59 @@ proc/SetupXenoarch() archeo_turf.archaeo_overlay = "overlay_archaeo[rand(1,3)]" archeo_turf.overlays += archeo_turf.archaeo_overlay - //dont create artifact machinery in animal or plant digsites, or if we already have one - if(!M.artifact_find && digsite != 1 && digsite != 2 && prob(ARTIFACT_SPAWN_CHANCE)) - M.artifact_find = new() - artifact_spawn.Add(src) + //have a chance for an artifact to spawn here, but not in animal or plant digsites + if(isnull(M.artifact_find) && digsite != 1 && digsite != 2) + artifact_spawning_turfs.Add(archeo_turf) + //create artifact machinery + var/num_artifacts_spawn = rand(ARTIFACTSPAWNNUM_LOWER, ARTIFACTSPAWNNUM_UPPER) + while(artifact_spawning_turfs.len > num_artifacts_spawn) + pick_n_take(artifact_spawning_turfs) + + var/list/artifacts_spawnturf_temp = artifact_spawning_turfs.Copy() + while(artifacts_spawnturf_temp.len > 0) + var/turf/simulated/mineral/artifact_turf = pop(artifacts_spawnturf_temp) + artifact_turf.artifact_find = new() + + //make sure we have some prefixes for the gene sequences + if(!genome_prefixes) + genome_prefixes = alphabet_uppercase.Copy() + if(!genome_prefixes.len) + del genome_prefixes + genome_prefixes = alphabet_uppercase.Copy() + + //create animal gene sequences + while(spawn_types_animal.len && genome_prefixes.len) + var/datum/genesequence/new_sequence = new/datum/genesequence() + new_sequence.spawned_type_text = pick(spawn_types_animal) + new_sequence.spawned_type = text2path(new_sequence.spawned_type_text) + spawn_types_animal -= new_sequence.spawned_type_text + + var/prefixletter = pick(genome_prefixes) + genome_prefixes -= prefixletter + while(new_sequence.full_genome_sequence.len < 7) + new_sequence.full_genome_sequence.Add("[prefixletter][pick(alphabet_uppercase)][pick(alphabet_uppercase)][pick(1,2,3,4,5,6,7,8,9,0)][pick(1,2,3,4,5,6,7,8,9,0)]") + + all_animal_genesequences.Add(new_sequence) + + //create plant gene sequences + while(spawn_types_plant.len && genome_prefixes.len) + var/datum/genesequence/new_sequence = new/datum/genesequence() + new_sequence.spawned_type = pick(spawn_types_plant) + spawn_types_plant -= new_sequence.spawned_type_text + + var/prefixletter = pick(genome_prefixes) + genome_prefixes -= prefixletter + while(new_sequence.full_genome_sequence.len < 7) + new_sequence.full_genome_sequence.Add("[prefixletter][pick(1,2,3,4,5,6,7,8,9,0)][pick(1,2,3,4,5,6,7,8,9,0)][pick(alphabet_uppercase)][pick(alphabet_uppercase)]") + + all_plant_genesequences.Add(new_sequence) + +#undef XENOARCH_SPAWN_CHANCE +#undef DIGSITESIZE_LOWER +#undef DIGSITESIZE_UPPER +#undef ARTIFACTSPAWNNUM_LOWER +#undef ARTIFACTSPAWNNUM_UPPER //---- Noticeboard From f3ab8b0748cd0da083af9e8a59475f9eafe86b44 Mon Sep 17 00:00:00 2001 From: Cael Aislinn Date: Thu, 19 Jun 2014 11:07:12 +1000 Subject: [PATCH 30/84] moved xenoarchaeology master controller code into a separate file Signed-off-by: Cael Aislinn --- baystation12.dme | 1 + .../xenoarchaeology/master_controller.dm | 145 ++++++++++++++++++ code/modules/research/xenoarchaeology/misc.dm | 145 ------------------ 3 files changed, 146 insertions(+), 145 deletions(-) create mode 100644 code/modules/research/xenoarchaeology/master_controller.dm diff --git a/baystation12.dme b/baystation12.dme index 99771f05d4..0de6d131ab 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1214,6 +1214,7 @@ #include "code\modules\research\xenoarchaeology\chemistry.dm" #include "code\modules\research\xenoarchaeology\geosample.dm" #include "code\modules\research\xenoarchaeology\manuals.dm" +#include "code\modules\research\xenoarchaeology\master_controller.dm" #include "code\modules\research\xenoarchaeology\misc.dm" #include "code\modules\research\xenoarchaeology\artifact\artifact.dm" #include "code\modules\research\xenoarchaeology\artifact\artifact_autocloner.dm" diff --git a/code/modules/research/xenoarchaeology/master_controller.dm b/code/modules/research/xenoarchaeology/master_controller.dm new file mode 100644 index 0000000000..9d347e19c6 --- /dev/null +++ b/code/modules/research/xenoarchaeology/master_controller.dm @@ -0,0 +1,145 @@ + +/datum/controller/game_controller + var/list/all_animal_genesequences = list() + var/list/all_plant_genesequences = list() + var/list/genome_prefixes = null + var/list/artifact_spawning_turfs = list() + var/list/digsite_spawning_turfs = list() + + var/list/spawn_types_animal = list("/mob/living/carbon/slime",\ + "/mob/living/simple_animal/hostile/alien",\ + "/mob/living/simple_animal/hostile/alien/drone",\ + "/mob/living/simple_animal/hostile/alien/sentinel",\ + "/mob/living/simple_animal/hostile/giant_spider",\ + "/mob/living/simple_animal/hostile/giant_spider/hunter",\ + "/mob/living/simple_animal/hostile/giant_spider/nurse",\ + "/mob/living/simple_animal/hostile/creature",\ + "/mob/living/simple_animal/hostile/samak",\ + "/mob/living/simple_animal/hostile/diyaab",\ + "/mob/living/simple_animal/hostile/shantak",\ + "/mob/living/simple_animal/tindalos",\ + "/mob/living/simple_animal/yithian") + + var/list/spawn_types_plant = list("/obj/item/seeds/walkingmushroommycelium",\ + "/obj/item/seeds/killertomatoseed",\ + "/obj/item/seeds/shandseed", + "/obj/item/seeds/mtearseed", + "/obj/item/seeds/thaadra",\ + "/obj/item/seeds/telriis",\ + "/obj/item/seeds/jurlmah",\ + "/obj/item/seeds/amauri",\ + "/obj/item/seeds/gelthi",\ + "/obj/item/seeds/vale",\ + "/obj/item/seeds/surik") + +#define XENOARCH_SPAWN_CHANCE 0.5 +#define DIGSITESIZE_LOWER 4 +#define DIGSITESIZE_UPPER 12 +#define ARTIFACTSPAWNNUM_LOWER 6 +#define ARTIFACTSPAWNNUM_UPPER 12 + +datum/controller/game_controller/proc/SetupXenoarch() + //create digsites + for(var/turf/simulated/mineral/M in block(locate(1,1,1), locate(world.maxx, world.maxy, world.maxz))) + if(isnull(M.geologic_data)) + M.geologic_data = new/datum/geosample(M) + + if(!prob(XENOARCH_SPAWN_CHANCE)) + continue + + digsite_spawning_turfs.Add(M) + var/digsite = get_random_digsite_type() + var/target_digsite_size = rand(DIGSITESIZE_LOWER, DIGSITESIZE_UPPER) + var/list/processed_turfs = list() + var/list/turfs_to_process = list(M) + while(turfs_to_process.len) + var/turf/simulated/mineral/archeo_turf = pop(turfs_to_process) + + if(target_digsite_size > 1) + var/list/viable_adjacent_turfs = orange(1, archeo_turf) + for(var/turf/simulated/mineral/T in orange(1, archeo_turf)) + if(T.finds) + continue + if(T in processed_turfs) + continue + viable_adjacent_turfs.Add(T) + + for(var/turf/simulated/mineral/T in viable_adjacent_turfs) + if(prob(target_digsite_size/viable_adjacent_turfs.len)) + turfs_to_process.Add(T) + target_digsite_size -= 1 + if(target_digsite_size <= 0) + break + + processed_turfs.Add(archeo_turf) + if(isnull(archeo_turf.finds)) + archeo_turf.finds = list() + if(prob(50)) + archeo_turf.finds.Add(new /datum/find(digsite, rand(5,95))) + else if(prob(75)) + archeo_turf.finds.Add(new /datum/find(digsite, rand(5,45))) + archeo_turf.finds.Add(new /datum/find(digsite, rand(55,95))) + else + archeo_turf.finds.Add(new /datum/find(digsite, rand(5,30))) + archeo_turf.finds.Add(new /datum/find(digsite, rand(35,75))) + archeo_turf.finds.Add(new /datum/find(digsite, rand(75,95))) + + //sometimes a find will be close enough to the surface to show + var/datum/find/F = archeo_turf.finds[1] + if(F.excavation_required <= F.view_range) + archeo_turf.archaeo_overlay = "overlay_archaeo[rand(1,3)]" + archeo_turf.overlays += archeo_turf.archaeo_overlay + + //have a chance for an artifact to spawn here, but not in animal or plant digsites + if(isnull(M.artifact_find) && digsite != 1 && digsite != 2) + artifact_spawning_turfs.Add(archeo_turf) + + //create artifact machinery + var/num_artifacts_spawn = rand(ARTIFACTSPAWNNUM_LOWER, ARTIFACTSPAWNNUM_UPPER) + while(artifact_spawning_turfs.len > num_artifacts_spawn) + pick_n_take(artifact_spawning_turfs) + + var/list/artifacts_spawnturf_temp = artifact_spawning_turfs.Copy() + while(artifacts_spawnturf_temp.len > 0) + var/turf/simulated/mineral/artifact_turf = pop(artifacts_spawnturf_temp) + artifact_turf.artifact_find = new() + + //make sure we have some prefixes for the gene sequences + if(!genome_prefixes) + genome_prefixes = alphabet_uppercase.Copy() + if(!genome_prefixes.len) + del genome_prefixes + genome_prefixes = alphabet_uppercase.Copy() + + //create animal gene sequences + while(spawn_types_animal.len && genome_prefixes.len) + var/datum/genesequence/new_sequence = new/datum/genesequence() + new_sequence.spawned_type_text = pick(spawn_types_animal) + new_sequence.spawned_type = text2path(new_sequence.spawned_type_text) + spawn_types_animal -= new_sequence.spawned_type_text + + var/prefixletter = pick(genome_prefixes) + genome_prefixes -= prefixletter + while(new_sequence.full_genome_sequence.len < 7) + new_sequence.full_genome_sequence.Add("[prefixletter][pick(alphabet_uppercase)][pick(alphabet_uppercase)][pick(1,2,3,4,5,6,7,8,9,0)][pick(1,2,3,4,5,6,7,8,9,0)]") + + all_animal_genesequences.Add(new_sequence) + + //create plant gene sequences + while(spawn_types_plant.len && genome_prefixes.len) + var/datum/genesequence/new_sequence = new/datum/genesequence() + new_sequence.spawned_type = pick(spawn_types_plant) + spawn_types_plant -= new_sequence.spawned_type_text + + var/prefixletter = pick(genome_prefixes) + genome_prefixes -= prefixletter + while(new_sequence.full_genome_sequence.len < 7) + new_sequence.full_genome_sequence.Add("[prefixletter][pick(1,2,3,4,5,6,7,8,9,0)][pick(1,2,3,4,5,6,7,8,9,0)][pick(alphabet_uppercase)][pick(alphabet_uppercase)]") + + all_plant_genesequences.Add(new_sequence) + +#undef XENOARCH_SPAWN_CHANCE +#undef DIGSITESIZE_LOWER +#undef DIGSITESIZE_UPPER +#undef ARTIFACTSPAWNNUM_LOWER +#undef ARTIFACTSPAWNNUM_UPPER diff --git a/code/modules/research/xenoarchaeology/misc.dm b/code/modules/research/xenoarchaeology/misc.dm index 6761d58c41..3cfa9d10a5 100644 --- a/code/modules/research/xenoarchaeology/misc.dm +++ b/code/modules/research/xenoarchaeology/misc.dm @@ -1,149 +1,4 @@ -/datum/controller/game_controller - var/list/all_animal_genesequences = list() - var/list/all_plant_genesequences = list() - var/list/genome_prefixes = null - var/list/artifact_spawning_turfs = list() - var/list/digsite_spawning_turfs = list() - - var/list/spawn_types_animal = list("/mob/living/carbon/slime",\ - "/mob/living/simple_animal/hostile/alien",\ - "/mob/living/simple_animal/hostile/alien/drone",\ - "/mob/living/simple_animal/hostile/alien/sentinel",\ - "/mob/living/simple_animal/hostile/giant_spider",\ - "/mob/living/simple_animal/hostile/giant_spider/hunter",\ - "/mob/living/simple_animal/hostile/giant_spider/nurse",\ - "/mob/living/simple_animal/hostile/creature",\ - "/mob/living/simple_animal/hostile/samak",\ - "/mob/living/simple_animal/hostile/diyaab",\ - "/mob/living/simple_animal/hostile/shantak",\ - "/mob/living/simple_animal/tindalos",\ - "/mob/living/simple_animal/yithian") - - var/list/spawn_types_plant = list("/obj/item/seeds/walkingmushroommycelium",\ - "/obj/item/seeds/killertomatoseed",\ - "/obj/item/seeds/shandseed", - "/obj/item/seeds/mtearseed", - "/obj/item/seeds/thaadra",\ - "/obj/item/seeds/telriis",\ - "/obj/item/seeds/jurlmah",\ - "/obj/item/seeds/amauri",\ - "/obj/item/seeds/gelthi",\ - "/obj/item/seeds/vale",\ - "/obj/item/seeds/surik") - -#define XENOARCH_SPAWN_CHANCE 0.5 -#define DIGSITESIZE_LOWER 4 -#define DIGSITESIZE_UPPER 12 -#define ARTIFACTSPAWNNUM_LOWER 6 -#define ARTIFACTSPAWNNUM_UPPER 12 - -datum/controller/game_controller/proc/SetupXenoarch() - //create digsites - for(var/turf/simulated/mineral/M in block(locate(1,1,1), locate(world.maxx, world.maxy, world.maxz))) - if(isnull(M.geologic_data)) - M.geologic_data = new/datum/geosample(M) - - if(!prob(XENOARCH_SPAWN_CHANCE)) - continue - - digsite_spawning_turfs.Add(M) - var/digsite = get_random_digsite_type() - var/target_digsite_size = rand(DIGSITESIZE_LOWER, DIGSITESIZE_UPPER) - var/list/processed_turfs = list() - var/list/turfs_to_process = list(M) - while(turfs_to_process.len) - var/turf/simulated/mineral/archeo_turf = pop(turfs_to_process) - - if(target_digsite_size > 1) - var/list/viable_adjacent_turfs = orange(1, archeo_turf) - for(var/turf/simulated/mineral/T in orange(1, archeo_turf)) - if(T.finds) - continue - if(T in processed_turfs) - continue - viable_adjacent_turfs.Add(T) - - for(var/turf/simulated/mineral/T in viable_adjacent_turfs) - if(prob(target_digsite_size/viable_adjacent_turfs.len)) - turfs_to_process.Add(T) - target_digsite_size -= 1 - if(target_digsite_size <= 0) - break - - processed_turfs.Add(archeo_turf) - if(isnull(archeo_turf.finds)) - archeo_turf.finds = list() - if(prob(50)) - archeo_turf.finds.Add(new /datum/find(digsite, rand(5,95))) - else if(prob(75)) - archeo_turf.finds.Add(new /datum/find(digsite, rand(5,45))) - archeo_turf.finds.Add(new /datum/find(digsite, rand(55,95))) - else - archeo_turf.finds.Add(new /datum/find(digsite, rand(5,30))) - archeo_turf.finds.Add(new /datum/find(digsite, rand(35,75))) - archeo_turf.finds.Add(new /datum/find(digsite, rand(75,95))) - - //sometimes a find will be close enough to the surface to show - var/datum/find/F = archeo_turf.finds[1] - if(F.excavation_required <= F.view_range) - archeo_turf.archaeo_overlay = "overlay_archaeo[rand(1,3)]" - archeo_turf.overlays += archeo_turf.archaeo_overlay - - //have a chance for an artifact to spawn here, but not in animal or plant digsites - if(isnull(M.artifact_find) && digsite != 1 && digsite != 2) - artifact_spawning_turfs.Add(archeo_turf) - - //create artifact machinery - var/num_artifacts_spawn = rand(ARTIFACTSPAWNNUM_LOWER, ARTIFACTSPAWNNUM_UPPER) - while(artifact_spawning_turfs.len > num_artifacts_spawn) - pick_n_take(artifact_spawning_turfs) - - var/list/artifacts_spawnturf_temp = artifact_spawning_turfs.Copy() - while(artifacts_spawnturf_temp.len > 0) - var/turf/simulated/mineral/artifact_turf = pop(artifacts_spawnturf_temp) - artifact_turf.artifact_find = new() - - //make sure we have some prefixes for the gene sequences - if(!genome_prefixes) - genome_prefixes = alphabet_uppercase.Copy() - if(!genome_prefixes.len) - del genome_prefixes - genome_prefixes = alphabet_uppercase.Copy() - - //create animal gene sequences - while(spawn_types_animal.len && genome_prefixes.len) - var/datum/genesequence/new_sequence = new/datum/genesequence() - new_sequence.spawned_type_text = pick(spawn_types_animal) - new_sequence.spawned_type = text2path(new_sequence.spawned_type_text) - spawn_types_animal -= new_sequence.spawned_type_text - - var/prefixletter = pick(genome_prefixes) - genome_prefixes -= prefixletter - while(new_sequence.full_genome_sequence.len < 7) - new_sequence.full_genome_sequence.Add("[prefixletter][pick(alphabet_uppercase)][pick(alphabet_uppercase)][pick(1,2,3,4,5,6,7,8,9,0)][pick(1,2,3,4,5,6,7,8,9,0)]") - - all_animal_genesequences.Add(new_sequence) - - //create plant gene sequences - while(spawn_types_plant.len && genome_prefixes.len) - var/datum/genesequence/new_sequence = new/datum/genesequence() - new_sequence.spawned_type = pick(spawn_types_plant) - spawn_types_plant -= new_sequence.spawned_type_text - - var/prefixletter = pick(genome_prefixes) - genome_prefixes -= prefixletter - while(new_sequence.full_genome_sequence.len < 7) - new_sequence.full_genome_sequence.Add("[prefixletter][pick(1,2,3,4,5,6,7,8,9,0)][pick(1,2,3,4,5,6,7,8,9,0)][pick(alphabet_uppercase)][pick(alphabet_uppercase)]") - - all_plant_genesequences.Add(new_sequence) - -#undef XENOARCH_SPAWN_CHANCE -#undef DIGSITESIZE_LOWER -#undef DIGSITESIZE_UPPER -#undef ARTIFACTSPAWNNUM_LOWER -#undef ARTIFACTSPAWNNUM_UPPER - //---- Noticeboard /obj/structure/noticeboard/anomaly From fc99c5b65ffebc4c15875d5ed971a09c9b2fbf61 Mon Sep 17 00:00:00 2001 From: Cael Aislinn Date: Thu, 19 Jun 2014 13:52:21 +1000 Subject: [PATCH 31/84] miscellaneous fixes to various anomaly utiliser effects involving location/holder issues, fixed anomaly harvester runtime, reworks anomaly utiliser to be a lot easier/nicer to use, balance tweaks: - caps stun effect values for pulsing - sets max utiliser battery charge to 300 (30 sec) - changes energy consumption for utiliser pulse effects to "effect max charge level" * "effect range" ^ 2 - changes energy consumption for utiliser touch effects to 100 (10 sec worth of consumption) Signed-off-by: Cael Aislinn --- .../artifact/effects/unknown_affect_cold.dm | 1 + .../effects/unknown_effect_badfeeling.dm | 6 +- .../effects/unknown_effect_cellcharge.dm | 6 +- .../effects/unknown_effect_celldrain.dm | 6 +- .../effects/unknown_effect_dnaswitch.dm | 6 +- .../artifact/effects/unknown_effect_emp.dm | 3 +- .../effects/unknown_effect_goodfeeling.dm | 6 +- .../artifact/effects/unknown_effect_heal.dm | 6 +- .../artifact/effects/unknown_effect_heat.dm | 1 + .../artifact/effects/unknown_effect_hurt.dm | 6 +- .../effects/unknown_effect_radiate.dm | 6 +- .../effects/unknown_effect_roboheal.dm | 6 +- .../effects/unknown_effect_robohurt.dm | 6 +- .../artifact/effects/unknown_effect_sleepy.dm | 6 +- .../artifact/effects/unknown_effect_stun.dm | 34 ++-- .../effects/unknown_effect_teleport.dm | 81 ++++---- .../machinery/artifact_harvester.dm | 9 +- .../tools/ano_device_battery.dm | 185 ++++++++++-------- 18 files changed, 209 insertions(+), 171 deletions(-) diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_affect_cold.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_affect_cold.dm index fcdb163ac7..f8dad2c4d3 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_affect_cold.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_affect_cold.dm @@ -12,6 +12,7 @@ /datum/artifact_effect/cold/DoEffectTouch(var/mob/user) if(holder) + user << "\blue A chill passes up your spine!" var/datum/gas_mixture/env = holder.loc.return_air() if(env) env.temperature = max(env.temperature - rand(5,50), 0) diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_badfeeling.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_badfeeling.dm index 2e57907b50..1244f802cc 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_badfeeling.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_badfeeling.dm @@ -41,7 +41,8 @@ /datum/artifact_effect/badfeeling/DoEffectAura() if(holder) - for (var/mob/living/carbon/human/H in range(src.effectrange,holder)) + var/turf/T = get_turf(holder) + for (var/mob/living/carbon/human/H in range(src.effectrange,T)) if(prob(5)) if(prob(75)) H << "[pick(messages)]" @@ -54,7 +55,8 @@ /datum/artifact_effect/badfeeling/DoEffectPulse() if(holder) - for (var/mob/living/carbon/human/H in range(src.effectrange,holder)) + var/turf/T = get_turf(holder) + for (var/mob/living/carbon/human/H in range(src.effectrange,T)) if(prob(50)) if(prob(95)) H << "[pick(drastic_messages)]" diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_cellcharge.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_cellcharge.dm index 5105628cfe..d7ff967c2d 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_cellcharge.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_cellcharge.dm @@ -15,7 +15,8 @@ /datum/artifact_effect/cellcharge/DoEffectAura() if(holder) - for (var/obj/machinery/power/apc/C in range(200, holder)) + var/turf/T = get_turf(holder) + for (var/obj/machinery/power/apc/C in range(200, T)) for (var/obj/item/weapon/cell/B in C.contents) B.charge += 25 for (var/obj/machinery/power/smes/S in range (src.effectrange,src)) @@ -28,7 +29,8 @@ /datum/artifact_effect/cellcharge/DoEffectPulse() if(holder) - for (var/obj/machinery/power/apc/C in range(200, holder)) + var/turf/T = get_turf(holder) + for (var/obj/machinery/power/apc/C in range(200, T)) for (var/obj/item/weapon/cell/B in C.contents) B.charge += rand() * 100 for (var/obj/machinery/power/smes/S in range (src.effectrange,src)) diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_celldrain.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_celldrain.dm index 550b49b068..8af61035d4 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_celldrain.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_celldrain.dm @@ -17,7 +17,8 @@ /datum/artifact_effect/celldrain/DoEffectAura() if(holder) - for (var/obj/machinery/power/apc/C in range(200, holder)) + var/turf/T = get_turf(holder) + for (var/obj/machinery/power/apc/C in range(200, T)) for (var/obj/item/weapon/cell/B in C.contents) B.charge = max(B.charge - 50,0) for (var/obj/machinery/power/smes/S in range (src.effectrange,src)) @@ -30,7 +31,8 @@ /datum/artifact_effect/celldrain/DoEffectPulse() if(holder) - for (var/obj/machinery/power/apc/C in range(200, holder)) + var/turf/T = get_turf(holder) + for (var/obj/machinery/power/apc/C in range(200, T)) for (var/obj/item/weapon/cell/B in C.contents) B.charge = max(B.charge - rand() * 150,0) for (var/obj/machinery/power/smes/S in range (src.effectrange,src)) diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_dnaswitch.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_dnaswitch.dm index cff708b0c3..b74ab88a9a 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_dnaswitch.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_dnaswitch.dm @@ -30,7 +30,8 @@ /datum/artifact_effect/dnaswitch/DoEffectAura() if(holder) - for(var/mob/living/carbon/human/H in range(src.effectrange,holder)) + var/turf/T = get_turf(holder) + for(var/mob/living/carbon/human/H in range(src.effectrange,T)) var/weakness = GetAnomalySusceptibility(H) if(prob(weakness * 100)) if(prob(30)) @@ -48,7 +49,8 @@ /datum/artifact_effect/dnaswitch/DoEffectPulse() if(holder) - for(var/mob/living/carbon/human/H in range(200, holder)) + var/turf/T = get_turf(holder) + for(var/mob/living/carbon/human/H in range(200, T)) var/weakness = GetAnomalySusceptibility(H) if(prob(weakness * 100)) if(prob(75)) diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_emp.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_emp.dm index aeafa6387d..18165cf0d4 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_emp.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_emp.dm @@ -9,5 +9,6 @@ /datum/artifact_effect/emp/DoEffectPulse() if(holder) - empulse(get_turf(holder), effectrange/2, effectrange) + var/turf/T = get_turf(holder) + empulse(T, effectrange/2, effectrange) return 1 diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_goodfeeling.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_goodfeeling.dm index 752aa61ce0..bc45260b2c 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_goodfeeling.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_goodfeeling.dm @@ -39,7 +39,8 @@ /datum/artifact_effect/goodfeeling/DoEffectAura() if(holder) - for (var/mob/living/carbon/human/H in range(src.effectrange,holder)) + var/turf/T = get_turf(holder) + for (var/mob/living/carbon/human/H in range(src.effectrange,T)) if(prob(5)) if(prob(75)) H << "[pick(messages)]" @@ -52,7 +53,8 @@ /datum/artifact_effect/goodfeeling/DoEffectPulse() if(holder) - for (var/mob/living/carbon/human/H in range(src.effectrange,holder)) + var/turf/T = get_turf(holder) + for (var/mob/living/carbon/human/H in range(src.effectrange,T)) if(prob(50)) if(prob(95)) H << "[pick(drastic_messages)]" diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_heal.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_heal.dm index 8b92784424..d1d3937c97 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_heal.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_heal.dm @@ -36,7 +36,8 @@ /datum/artifact_effect/heal/DoEffectAura() //todo: check over this properly if(holder) - for (var/mob/living/carbon/C in range(src.effectrange,holder)) + var/turf/T = get_turf(holder) + for (var/mob/living/carbon/C in range(src.effectrange,T)) var/weakness = GetAnomalySusceptibility(C) if(prob(weakness * 100)) if(prob(10)) @@ -51,7 +52,8 @@ /datum/artifact_effect/heal/DoEffectPulse() //todo: check over this properly if(holder) - for (var/mob/living/carbon/C in range(src.effectrange,holder)) + var/turf/T = get_turf(holder) + for (var/mob/living/carbon/C in range(src.effectrange,T)) var/weakness = GetAnomalySusceptibility(C) if(prob(weakness * 100)) C << "\blue A wave of energy invigorates you." diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_heat.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_heat.dm index da59078a1b..21304df408 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_heat.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_heat.dm @@ -15,6 +15,7 @@ /datum/artifact_effect/heat/DoEffectTouch(var/mob/user) if(holder) + user << "\red You feel a wave of heat travel up your spine!" var/datum/gas_mixture/env = holder.loc.return_air() if(env) env.temperature += rand(5,50) diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_hurt.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_hurt.dm index f69b9b9d9d..77074be63f 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_hurt.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_hurt.dm @@ -21,7 +21,8 @@ /datum/artifact_effect/hurt/DoEffectAura() if(holder) - for (var/mob/living/carbon/C in range(src.effectrange,holder)) + var/turf/T = get_turf(holder) + for (var/mob/living/carbon/C in range(src.effectrange,T)) var/weakness = GetAnomalySusceptibility(C) if(prob(weakness * 100)) if(prob(10)) @@ -35,7 +36,8 @@ /datum/artifact_effect/hurt/DoEffectPulse() if(holder) - for (var/mob/living/carbon/C in range(effectrange, holder)) + var/turf/T = get_turf(holder) + for (var/mob/living/carbon/C in range(effectrange, T)) var/weakness = GetAnomalySusceptibility(C) if(prob(weakness * 100)) C << "\red A wave of painful energy strikes you!" diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_radiate.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_radiate.dm index e6c49c96ce..4310ffb2e7 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_radiate.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_radiate.dm @@ -16,14 +16,16 @@ /datum/artifact_effect/radiate/DoEffectAura() if(holder) - for (var/mob/living/M in range(src.effectrange,holder)) + var/turf/T = get_turf(holder) + for (var/mob/living/M in range(src.effectrange,T)) M.apply_effect(radiation_amount,IRRADIATE,0) M.updatehealth() return 1 /datum/artifact_effect/radiate/DoEffectPulse() if(holder) - for (var/mob/living/M in range(src.effectrange,holder)) + var/turf/T = get_turf(holder) + for (var/mob/living/M in range(src.effectrange,T)) M.apply_effect(radiation_amount * 25,IRRADIATE,0) M.updatehealth() return 1 diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_roboheal.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_roboheal.dm index 8e154f0b66..a1a89e42cf 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_roboheal.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_roboheal.dm @@ -17,7 +17,8 @@ /datum/artifact_effect/roboheal/DoEffectAura() if(holder) - for (var/mob/living/silicon/robot/M in range(src.effectrange,holder)) + var/turf/T = get_turf(holder) + for (var/mob/living/silicon/robot/M in range(src.effectrange,T)) if(prob(10)) M << "\blue SYSTEM ALERT: Beneficial energy field detected!" M.adjustBruteLoss(-1) @@ -27,7 +28,8 @@ /datum/artifact_effect/roboheal/DoEffectPulse() if(holder) - for (var/mob/living/silicon/robot/M in range(src.effectrange,holder)) + var/turf/T = get_turf(holder) + for (var/mob/living/silicon/robot/M in range(src.effectrange,T)) M << "\blue SYSTEM ALERT: Structural damage has been repaired by energy pulse!" M.adjustBruteLoss(-10) M.adjustFireLoss(-10) diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_robohurt.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_robohurt.dm index b230efa33e..bc55a76cef 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_robohurt.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_robohurt.dm @@ -17,7 +17,8 @@ /datum/artifact_effect/robohurt/DoEffectAura() if(holder) - for (var/mob/living/silicon/robot/M in range(src.effectrange,holder)) + var/turf/T = get_turf(holder) + for (var/mob/living/silicon/robot/M in range(src.effectrange,T)) if(prob(10)) M << "\red SYSTEM ALERT: Harmful energy field detected!" M.adjustBruteLoss(1) M.adjustFireLoss(1) @@ -26,7 +27,8 @@ /datum/artifact_effect/robohurt/DoEffectPulse() if(holder) - for (var/mob/living/silicon/robot/M in range(src.effectrange,holder)) + var/turf/T = get_turf(holder) + for (var/mob/living/silicon/robot/M in range(src.effectrange,T)) M << "\red SYSTEM ALERT: Structural damage inflicted by energy pulse!" M.adjustBruteLoss(10) M.adjustFireLoss(10) diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_sleepy.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_sleepy.dm index 1da02ceaa9..61979c5f69 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_sleepy.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_sleepy.dm @@ -22,7 +22,8 @@ /datum/artifact_effect/sleepy/DoEffectAura() if(holder) - for (var/mob/living/carbon/human/H in range(src.effectrange,holder)) + var/turf/T = get_turf(holder) + for (var/mob/living/carbon/human/H in range(src.effectrange,T)) var/weakness = GetAnomalySusceptibility(H) if(prob(weakness * 100)) if(prob(10)) @@ -35,7 +36,8 @@ /datum/artifact_effect/sleepy/DoEffectPulse() if(holder) - for(var/mob/living/carbon/human/H in range(src.effectrange, holder)) + var/turf/T = get_turf(holder) + for(var/mob/living/carbon/human/H in range(src.effectrange, T)) var/weakness = GetAnomalySusceptibility(H) if(prob(weakness * 100)) H << pick("\blue You feel like taking a nap.","\blue You feel a yawn coming on.","\blue You feel a little tired.") diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_stun.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_stun.dm index b37862eb0c..b7b2864de4 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_stun.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_stun.dm @@ -9,33 +9,35 @@ /datum/artifact_effect/stun/DoEffectTouch(var/mob/toucher) if(toucher && iscarbon(toucher)) var/mob/living/carbon/C = toucher - var/weakness = GetAnomalySusceptibility(C) - if(prob(weakness * 100)) + var/susceptibility = GetAnomalySusceptibility(C) + if(prob(susceptibility * 100)) C << "\red A powerful force overwhelms your consciousness." - C.weakened += 45 * weakness - C.stuttering += 45 * weakness - C.stunned += rand(1,10) * weakness + C.Weaken(rand(1,10) * susceptibility) + C.stuttering += 30 * susceptibility + C.Stun(rand(1,10) * susceptibility) /datum/artifact_effect/stun/DoEffectAura() if(holder) - for (var/mob/living/carbon/C in range(src.effectrange,holder)) - var/weakness = GetAnomalySusceptibility(C) - if(prob(10 * weakness)) + var/turf/T = get_turf(holder) + for (var/mob/living/carbon/C in range(src.effectrange,T)) + var/susceptibility = GetAnomalySusceptibility(C) + if(prob(10 * susceptibility)) C << "\red Your body goes numb for a moment." - C.weakened += 2 + C.Weaken(2) C.stuttering += 2 if(prob(10)) - C.stunned += 1 + C.Stun(1) else if(prob(10)) C << "\red You feel numb." /datum/artifact_effect/stun/DoEffectPulse() if(holder) - for (var/mob/living/carbon/C in range(src.effectrange,holder)) - var/weakness = GetAnomalySusceptibility(C) - if(prob(100 * weakness)) + var/turf/T = get_turf(holder) + for (var/mob/living/carbon/C in range(src.effectrange,T)) + var/susceptibility = GetAnomalySusceptibility(C) + if(prob(100 * susceptibility)) C << "\red A wave of energy overwhelms your senses!" - C.weakened += 4 * weakness - C.stuttering += 4 * weakness + C.SetWeakened(4 * susceptibility) + C.stuttering = 4 * susceptibility if(prob(10)) - C.stunned += 1 * weakness + C.SetStunned(1 * susceptibility) diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_teleport.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_teleport.dm index e1580e2073..254be3f3d0 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_teleport.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_teleport.dm @@ -6,60 +6,53 @@ /datum/artifact_effect/teleport/DoEffectTouch(var/mob/user) var/weakness = GetAnomalySusceptibility(user) if(prob(100 * weakness)) - var/list/randomturfs = new/list() - for(var/turf/simulated/floor/T in orange(user, 50)) - randomturfs.Add(T) - if(randomturfs.len > 0) - user << "\red You are suddenly zapped away elsewhere!" - if (user.buckled) - user.buckled.unbuckle() + user << "\red You are suddenly zapped away elsewhere!" + if (user.buckled) + user.buckled.unbuckle() - var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread() - sparks.set_up(3, 0, get_turf(user)) - sparks.start() - user.loc = pick(randomturfs) - sparks = new /datum/effect/effect/system/spark_spread() - sparks.set_up(3, 0, get_turf(user)) - sparks.start() + var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread() + sparks.set_up(3, 0, get_turf(user)) + sparks.start() + // + user.loc = pick(orange(get_turf(holder), 50)) + sparks = new /datum/effect/effect/system/spark_spread() + sparks.set_up(3, 0, get_turf(user)) + sparks.start() /datum/artifact_effect/teleport/DoEffectAura() if(holder) - for (var/mob/living/M in range(src.effectrange,holder)) + var/turf/T = get_turf(holder) + for (var/mob/living/M in range(src.effectrange,T)) var/weakness = GetAnomalySusceptibility(M) if(prob(100 * weakness)) - var/list/randomturfs = new/list() - for(var/turf/simulated/floor/T in orange(M, 30)) - randomturfs.Add(T) - if(randomturfs.len > 0) - M << "\red You are displaced by a strange force!" - if(M.buckled) - M.buckled.unbuckle() + M << "\red You are displaced by a strange force!" + if(M.buckled) + M.buckled.unbuckle() - var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread() - sparks.set_up(3, 0, get_turf(M)) - sparks.start() - M.loc = pick(randomturfs) - sparks = new /datum/effect/effect/system/spark_spread() - sparks.set_up(3, 0, get_turf(M)) - sparks.start() + var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread() + sparks.set_up(3, 0, get_turf(M)) + sparks.start() + // + M.loc = pick(orange(get_turf(T), 50)) + sparks = new /datum/effect/effect/system/spark_spread() + sparks.set_up(3, 0, get_turf(M)) + sparks.start() /datum/artifact_effect/teleport/DoEffectPulse() if(holder) - for (var/mob/living/M in range(src.effectrange, holder)) + var/turf/T = get_turf(holder) + for (var/mob/living/M in range(src.effectrange, T)) var/weakness = GetAnomalySusceptibility(M) if(prob(100 * weakness)) - var/list/randomturfs = new/list() - for(var/turf/simulated/floor/T in orange(M, 15)) - randomturfs.Add(T) - if(randomturfs.len > 0) - M << "\red You are displaced by a strange force!" + M << "\red You are displaced by a strange force!" + if(M.buckled) + M.buckled.unbuckle() - var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread() - sparks.set_up(3, 0, get_turf(M)) - sparks.start() - if(M.buckled) - M.buckled.unbuckle() - M.loc = pick(randomturfs) - sparks = new /datum/effect/effect/system/spark_spread() - sparks.set_up(3, 0, get_turf(M)) - sparks.start() + var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread() + sparks.set_up(3, 0, get_turf(M)) + sparks.start() + // + M.loc = pick(orange(get_turf(T), 50)) + sparks = new /datum/effect/effect/system/spark_spread() + sparks.set_up(3, 0, get_turf(M)) + sparks.start() diff --git a/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm b/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm index 117be557da..501fabaa40 100644 --- a/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm +++ b/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm @@ -12,6 +12,7 @@ var/obj/item/weapon/anobattery/inserted_battery var/obj/machinery/artifact/cur_artifact var/obj/machinery/artifact_scanpad/owned_scanner = null + var/last_process = 0 /obj/machinery/artifact_harvester/New() ..() @@ -74,8 +75,9 @@ return if(harvesting > 0) - //gain a bit of charge - inserted_battery.stored_charge += 0.5 + //charge at 33% consumption rate + inserted_battery.stored_charge += (last_process - last_process) / 3 + last_process = world.time //check if we've finished if(inserted_battery.stored_charge >= inserted_battery.capacity) @@ -135,7 +137,7 @@ mundane++ break - if(analysed.being_used) + if(analysed && analysed.being_used) var/message = "[src] states, \"Cannot harvest. Too much interference.\"" src.visible_message(message) else if(articount == 1 && !mundane) @@ -162,6 +164,7 @@ icon_state = "incubator_on" var/message = "[src] states, \"Beginning artifact energy harvesting.\"" src.visible_message(message) + last_process = world.time //duplicate the artifact's effect datum if(!inserted_battery.battery_effect) diff --git a/code/modules/research/xenoarchaeology/tools/ano_device_battery.dm b/code/modules/research/xenoarchaeology/tools/ano_device_battery.dm index c7779dd5ca..3886f6fec0 100644 --- a/code/modules/research/xenoarchaeology/tools/ano_device_battery.dm +++ b/code/modules/research/xenoarchaeology/tools/ano_device_battery.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "anobattery0" var/datum/artifact_effect/battery_effect - var/capacity = 200 + var/capacity = 300 var/stored_charge = 0 var/effect_id = "" @@ -20,13 +20,15 @@ name = "Anomaly power utilizer" icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "anodev" - var/cooldown = 0 var/activated = 0 - var/timing = 0 - var/time = 50 - var/archived_time = 50 + var/duration = 0 + var/interval = 0 + var/time_end = 0 + var/last_activation = 0 + var/last_process = 0 var/obj/item/weapon/anobattery/inserted_battery var/turf/archived_loc + var/energy_consumed_on_touch = 100 /obj/item/weapon/anodevice/New() ..() @@ -47,54 +49,35 @@ return src.interact(user) /obj/item/weapon/anodevice/interact(var/mob/user) - user.set_machine(src) var/dat = "Anomalous Materials Energy Utiliser
" if(inserted_battery) - if(cooldown) - dat += "Cooldown in progress, please wait.
" - else if(activated) - if(timing) - dat += "Device active.
" - else - dat += "Device active in timed mode.
" + if(activated) + dat += "Device active.
" dat += "[inserted_battery] inserted, anomaly ID: [inserted_battery.battery_effect.artifact_id ? inserted_battery.battery_effect.artifact_id : "NA"]
" - dat += "Total Power: [inserted_battery.stored_charge]/[inserted_battery.capacity]

" - dat += "Timed activation: -- - [time >= 1000 ? "[time/10]" : time >= 100 ? " [time/10]" : " [time/10]" ] + ++
" - if(cooldown) - dat += "Cooldown in progress.
" - dat += "
" - else if(!activated) - dat += "Start
" - dat += "Start in timed mode
" + dat += "Charge: [inserted_battery.stored_charge] / [inserted_battery.capacity]
" + dat += "Time left activated: [round(max((time_end - last_process) / 10, 0))]
" + if(activated) + dat += "Shutdown
" else - dat += "Shutdown emission
" - dat += "
" + dat += "Start
" + dat += "
" + + dat += "Activate duration (sec): -- - [duration/10] + ++
" + dat += "Activate interval (sec): -- - [interval/10] + ++
" + dat += "
" dat += "Eject battery
" else dat += "Please insert battery
" - dat += "
" - dat += "
" - dat += "
" - - dat += "
" - dat += "
" - dat += "
" - dat += "
" - dat += "Refresh Close" + dat += "Refresh Close" user << browse(dat, "window=anodevice;size=400x500") onclose(user, "anodevice") /obj/item/weapon/anodevice/process() - if(cooldown > 0) - cooldown -= 1 - if(cooldown <= 0) - cooldown = 0 - src.visible_message("\blue \icon[src] [src] chimes.", "\blue \icon[src] You hear something chime.") - else if(activated) + if(activated) if(inserted_battery && inserted_battery.battery_effect) //make sure the effect is active if(!inserted_battery.battery_effect.activated) @@ -106,71 +89,83 @@ archived_loc = T inserted_battery.battery_effect.UpdateMove() - //process the effect - inserted_battery.battery_effect.process() //if someone is holding the device, do the effect on them - if(inserted_battery.battery_effect.effect == 0 && ismob(src.loc)) - inserted_battery.battery_effect.DoEffectTouch(src.loc) + var/mob/holder + if(ismob(src.loc)) + holder = src.loc //handle charge - inserted_battery.stored_charge -= 1 - if(inserted_battery.stored_charge <= 0) - shutdown_emission() + if(world.time - last_activation > interval) + if(inserted_battery.battery_effect.effect == EFFECT_TOUCH) + if(interval > 0) + //apply the touch effect to the holder + if(holder) + holder << "the \icon[src] [src] held by [holder] shudders in your grasp." + else + src.loc.visible_message("the \icon[src] [src] shudders.") + inserted_battery.battery_effect.DoEffectTouch(holder) - //handle timed mode - if(timing) - time -= 1 - if(time <= 0) - shutdown_emission() + //consume power + inserted_battery.stored_charge -= energy_consumed_on_touch + else + //consume power equal to time passed + inserted_battery.stored_charge -= world.time - last_process + + else if(inserted_battery.battery_effect.effect == EFFECT_PULSE) + inserted_battery.battery_effect.chargelevel = inserted_battery.battery_effect.chargelevelmax + + //consume power relative to the time the artifact takes to charge and the effect range + inserted_battery.stored_charge -= inserted_battery.battery_effect.effectrange * inserted_battery.battery_effect.effectrange * inserted_battery.battery_effect.chargelevelmax + + else + //consume power equal to time passed + inserted_battery.stored_charge -= world.time - last_process + + last_activation = world.time + + //process the effect + inserted_battery.battery_effect.process() + + //work out if we need to shutdown + if(inserted_battery.stored_charge <= 0) + src.loc.visible_message("\blue \icon[src] [src] buzzes.", "\blue \icon[src] You hear something buzz.") + shutdown_emission() + else if(world.time > time_end) + src.loc.visible_message("\blue \icon[src] [src] chimes.", "\blue \icon[src] You hear something chime.") + shutdown_emission() else - shutdown() + src.visible_message("\blue \icon[src] [src] buzzes.", "\blue \icon[src] You hear something buzz.") + shutdown_emission() + last_process = world.time /obj/item/weapon/anodevice/proc/shutdown_emission() if(activated) activated = 0 - timing = 0 - src.visible_message("\blue \icon[src] [src] buzzes.", "\icon[src]\blue You hear something buzz.") - - cooldown = archived_time / 2 - if(inserted_battery.battery_effect.activated) inserted_battery.battery_effect.ToggleActivate(1) /obj/item/weapon/anodevice/Topic(href, href_list) - if(href_list["neg_changetime_max"]) - time += -100 - if(time > inserted_battery.capacity) - time = inserted_battery.capacity - else if (time < 0) - time = 0 - if(href_list["neg_changetime"]) - time += -10 - if(time > inserted_battery.capacity) - time = inserted_battery.capacity - else if (time < 0) - time = 0 if(href_list["changetime"]) - time += 10 - if(time > inserted_battery.capacity) - time = inserted_battery.capacity - else if (time < 0) - time = 0 - if(href_list["changetime_max"]) - time += 100 - if(time > inserted_battery.capacity) - time = inserted_battery.capacity - else if (time < 0) - time = 0 + var/timedif = text2num(href_list["changetime"]) + if(href_list["duration"]) + duration += timedif + //max 30 sec duration + duration = min(max(duration, 0), 300) + if(activated) + time_end += timedif + else if(href_list["interval"]) + interval += timedif + //max 10 sec interval + interval = min(max(interval, 0), 100) if(href_list["startup"]) activated = 1 + src.visible_message("\blue \icon[src] [src] whirrs.", "\icon[src]\blue You hear something whirr.") if(!inserted_battery.battery_effect.activated) inserted_battery.battery_effect.ToggleActivate(1) + time_end = world.time + duration if(href_list["shutdown"]) activated = 0 - if(href_list["starttimer"]) - timing = 1 - archived_time = time if(href_list["ejectbattery"]) shutdown_emission() inserted_battery.loc = get_turf(src) @@ -178,10 +173,10 @@ UpdateSprite() if(href_list["close"]) usr << browse(null, "window=anodevice") - usr.unset_machine(src) - + else if(ismob(src.loc)) + var/mob/M = src.loc + src.interact(M) ..() - updateDialog() /obj/item/weapon/anodevice/proc/UpdateSprite() if(!inserted_battery) @@ -194,3 +189,23 @@ /obj/item/weapon/anodevice/Del() processing_objects.Remove(src) ..() + +/obj/item/weapon/anodevice/attack(mob/living/M as mob, mob/living/user as mob, def_zone) + if (!istype(M)) + return + + if(activated && inserted_battery.battery_effect.effect == EFFECT_TOUCH && !isnull(inserted_battery)) + inserted_battery.battery_effect.DoEffectTouch(M) + inserted_battery.stored_charge -= energy_consumed_on_touch + user.visible_message("\blue [user] taps [M] with [src], and it shudders on contact.") + else + user.visible_message("\blue [user] taps [M] with [src], but nothing happens.") + + //admin logging + user.lastattacked = M + M.lastattacker = user + + if(inserted_battery.battery_effect) + user.attack_log += "\[[time_stamp()]\] Tapped [M.name] ([M.ckey]) with [name] (EFFECT: [inserted_battery.battery_effect.effecttype])" + M.attack_log += "\[[time_stamp()]\] Tapped by [user.name] ([user.ckey]) with [name] (EFFECT: [inserted_battery.battery_effect.effecttype])" + msg_admin_attack("[key_name(user)] tapped [key_name(M)] with [name] (EFFECT: [inserted_battery.battery_effect.effecttype])" ) From cd971fb4eaa5fd5a98a4299b74dca5dfc23f1ab0 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Thu, 19 Jun 2014 00:01:47 -0400 Subject: [PATCH 32/84] Fixes a missing config check in autotraitor Also adds a config check to the various forge_* procs just to be sure. --- code/game/gamemodes/autotraitor/autotraitor.dm | 3 ++- code/game/gamemodes/changeling/changeling.dm | 3 +++ code/game/gamemodes/meme/meme.dm | 3 +++ code/game/gamemodes/ninja/ninja.dm | 2 ++ code/game/gamemodes/nuclear/nuclear.dm | 2 ++ code/game/gamemodes/traitor/traitor.dm | 3 +++ code/game/gamemodes/wizard/wizard.dm | 3 +++ 7 files changed, 18 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/autotraitor/autotraitor.dm b/code/game/gamemodes/autotraitor/autotraitor.dm index 43dea8c32f..882f161842 100644 --- a/code/game/gamemodes/autotraitor/autotraitor.dm +++ b/code/game/gamemodes/autotraitor/autotraitor.dm @@ -188,7 +188,8 @@ //message_admins("The probability of a new traitor is [traitor_prob]%") if(prob(traitor_prob)) message_admins("New traitor roll passed. Making a new Traitor.") - forge_traitor_objectives(character.mind) + if (!config.objectives_disabled) + forge_traitor_objectives(character.mind) equip_traitor(character) traitors += character.mind character << "\red You are the traitor." diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm index 8a3b7d075e..03780adf36 100644 --- a/code/game/gamemodes/changeling/changeling.dm +++ b/code/game/gamemodes/changeling/changeling.dm @@ -88,6 +88,9 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon" //No escape alone because changelings aren't suited for it and it'd probably just lead to rampant robusting //If it seems like they'd be able to do it in play, add a 10% chance to have to escape alone + if (config.objectives_disabled) + return + var/datum/objective/absorb/absorb_objective = new absorb_objective.owner = changeling absorb_objective.gen_amount_goal(2, 3) diff --git a/code/game/gamemodes/meme/meme.dm b/code/game/gamemodes/meme/meme.dm index 0f9bb44bab..71781c48e8 100644 --- a/code/game/gamemodes/meme/meme.dm +++ b/code/game/gamemodes/meme/meme.dm @@ -108,6 +108,9 @@ /datum/game_mode/proc/forge_meme_objectives(var/datum/mind/meme, var/datum/mind/first_host) + if (config.objectives_disabled) + return + // meme always needs to attune X hosts var/datum/objective/meme_attune/attune_objective = new attune_objective.owner = meme diff --git a/code/game/gamemodes/ninja/ninja.dm b/code/game/gamemodes/ninja/ninja.dm index 42f5b69d7f..33810a2e5b 100644 --- a/code/game/gamemodes/ninja/ninja.dm +++ b/code/game/gamemodes/ninja/ninja.dm @@ -85,6 +85,8 @@ return 1 /datum/game_mode/ninja/proc/forge_ninja_objectives(var/datum/mind/ninja) + if (config.objectives_disabled) + return var/objective_list = list(1,2,3,4,5) for(var/i=rand(2,4),i>0,i--) diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index 814b6fbf1c..a3bb8f7876 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -186,6 +186,8 @@ /datum/game_mode/proc/forge_syndicate_objectives(var/datum/mind/syndicate) + if (config.objectives_disabled) + return var/datum/objective/nuclear/syndobj = new syndobj.owner = syndicate syndicate.objectives += syndobj diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index 6da8a8ab8d..71076aaf28 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -78,6 +78,9 @@ /datum/game_mode/proc/forge_traitor_objectives(var/datum/mind/traitor) + if (config.objectives_disabled) + return + if(istype(traitor.current, /mob/living/silicon)) var/datum/objective/assassinate/kill_objective = new kill_objective.owner = traitor diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index 751092f388..d28238e28f 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -64,6 +64,9 @@ /datum/game_mode/proc/forge_wizard_objectives(var/datum/mind/wizard) + if (config.objectives_disabled) + return + switch(rand(1,100)) if(1 to 30) From ad35bf3262294cee1ef655a18340ec1b7d12d19a Mon Sep 17 00:00:00 2001 From: Cael Aislinn Date: Thu, 19 Jun 2014 15:41:35 +1000 Subject: [PATCH 33/84] harvester can now harvest artifact's secondary effect, which effect it chooses is determined by which are active (if both are active it can harvest neither) Signed-off-by: Cael Aislinn --- .../machinery/artifact_harvester.dm | 190 +++++++++++------- 1 file changed, 113 insertions(+), 77 deletions(-) diff --git a/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm b/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm index 501fabaa40..495d393766 100644 --- a/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm +++ b/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm @@ -48,14 +48,14 @@ if(owned_scanner) if(harvesting) if(harvesting > 0) - dat += "Please wait. Harvesting in progress ([(inserted_battery.stored_charge/inserted_battery.capacity)*100]%).
" + dat += "Please wait. Harvesting in progress ([round((inserted_battery.stored_charge/inserted_battery.capacity)*100)]%).
" else - dat += "Please wait. Energy dump in progress ([(inserted_battery.stored_charge/inserted_battery.capacity)*100]%).
" + dat += "Please wait. Energy dump in progress ([round((inserted_battery.stored_charge/inserted_battery.capacity)*100)]%).
" dat += "Halt early
" else if(inserted_battery) dat += "[inserted_battery.name] inserted, charge level: [inserted_battery.stored_charge]/[inserted_battery.capacity] ([(inserted_battery.stored_charge/inserted_battery.capacity)*100]%)
" - dat += "Energy signature ID:[inserted_battery.battery_effect.artifact_id == "" ? "???" : "[inserted_battery.battery_effect.artifact_id]"]
" + dat += "Energy signature ID:[inserted_battery.battery_effect ? (inserted_battery.battery_effect.artifact_id == "" ? "???" : "[inserted_battery.battery_effect.artifact_id]") : "NA"]
" dat += "Eject battery
" dat += "Drain battery of all charge
" dat += "Begin harvesting
" @@ -76,7 +76,7 @@ if(harvesting > 0) //charge at 33% consumption rate - inserted_battery.stored_charge += (last_process - last_process) / 3 + inserted_battery.stored_charge += (world.time - last_process) / 3 last_process = world.time //check if we've finished @@ -90,14 +90,14 @@ else if(harvesting < 0) //dump some charge - inserted_battery.stored_charge -= 2 + inserted_battery.stored_charge -= (world.time - last_process) / 3 //do the effect if(inserted_battery.battery_effect) inserted_battery.battery_effect.process() //if the effect works by touch, activate it on anyone viewing the console - if(inserted_battery.battery_effect.effect == 0) + if(inserted_battery.battery_effect.effect == EFFECT_TOUCH) var/list/nearby = viewers(1, src) for(var/mob/M in nearby) if(M.machine == src) @@ -116,80 +116,115 @@ /obj/machinery/artifact_harvester/Topic(href, href_list) if (href_list["harvest"]) - //locate artifact on analysis pad - cur_artifact = null - var/articount = 0 - var/obj/machinery/artifact/analysed - for(var/obj/machinery/artifact/A in get_turf(owned_scanner)) - analysed = A - articount++ + if(!inserted_battery) + src.visible_message("[src] states, \"Cannot harvest. No battery inserted.\"") - var/mundane = 0 - for(var/obj/O in get_turf(owned_scanner)) - if(O.invisibility) - continue - if(!istype(O, /obj/machinery/artifact) && !istype(O, /obj/machinery/artifact_scanpad)) - mundane++ - break - for(var/mob/O in get_turf(owned_scanner)) - if(O.invisibility) - continue - mundane++ - break + else if(inserted_battery.stored_charge >= inserted_battery.capacity) + src.visible_message("[src] states, \"Cannot harvest. battery is full.\"") - if(analysed && analysed.being_used) - var/message = "[src] states, \"Cannot harvest. Too much interference.\"" - src.visible_message(message) - else if(articount == 1 && !mundane) - cur_artifact = analysed - //there should already be a battery inserted, but this is just in case - if(inserted_battery) - //see if we can clear out an old effect - //delete it when the ids match to account for duplicate ids having different effects - if(inserted_battery.battery_effect && inserted_battery.stored_charge <= 0) - del(inserted_battery.battery_effect) + else - //only charge up - var/matching_id = 0 - if(inserted_battery.battery_effect) - matching_id = (inserted_battery.battery_effect.artifact_id == cur_artifact.my_effect.artifact_id) - var/matching_effecttype = 0 - if(inserted_battery.battery_effect) - matching_effecttype = (inserted_battery.battery_effect.type == cur_artifact.my_effect.type) - if(!inserted_battery.battery_effect || (matching_id && matching_effecttype)) - harvesting = 1 - use_power = 2 - cur_artifact.anchored = 1 - cur_artifact.being_used = 1 - icon_state = "incubator_on" - var/message = "[src] states, \"Beginning artifact energy harvesting.\"" - src.visible_message(message) - last_process = world.time + //locate artifact on analysis pad + cur_artifact = null + var/articount = 0 + var/obj/machinery/artifact/analysed + for(var/obj/machinery/artifact/A in get_turf(owned_scanner)) + analysed = A + articount++ - //duplicate the artifact's effect datum - if(!inserted_battery.battery_effect) - var/effecttype = cur_artifact.my_effect.type - var/datum/artifact_effect/E = new effecttype(inserted_battery) - - //duplicate it's unique settings - for(var/varname in list("chargelevelmax","artifact_id","effect","effectrange","trigger")) - E.vars[varname] = cur_artifact.my_effect.vars[varname] - - //copy the new datum into the battery - inserted_battery.battery_effect = E - inserted_battery.stored_charge = 0 - else - var/message = "[src] states, \"Cannot harvest. Incompatible energy signatures detected.\"" - src.visible_message(message) - else if(cur_artifact) - var/message = "[src] states, \"Cannot harvest. No battery inserted.\"" + if(articount <= 0) + var/message = "[src] states, \"Cannot harvest. No noteworthy energy signature isolated.\"" src.visible_message(message) - else if(articount > 1 || mundane) - var/message = "[src] states, \"Cannot harvest. Error isolating energy signature.\"" - src.visible_message(message) - else if(!articount) - var/message = "[src] states, \"Cannot harvest. No noteworthy energy signature isolated.\"" - src.visible_message(message) + + else if(analysed && analysed.being_used) + src.visible_message("[src] states, \"Cannot harvest. Source already being harvested.\"") + + else + var/mundane = 0 + for(var/obj/O in get_turf(owned_scanner)) + if(O.invisibility) + continue + if(!istype(O, /obj/machinery/artifact) && !istype(O, /obj/machinery/artifact_scanpad)) + mundane++ + break + for(var/mob/O in get_turf(owned_scanner)) + if(O.invisibility) + continue + mundane++ + break + + if(articount > 1 || mundane) + var/message = "[src] states, \"Cannot harvest. Too many artifacts on the pad.\"" + src.visible_message(message) + else + cur_artifact = analysed + + //if both effects are active, we can't harvest either + if(cur_artifact.my_effect.activated && cur_artifact.secondary_effect.activated) + src.visible_message("[src] states, \"Cannot harvest. Source is emitting conflicting energy signatures.\"") + else if(!cur_artifact.my_effect.activated && !cur_artifact.secondary_effect.activated) + src.visible_message("[src] states, \"Cannot harvest. No energy emitting from source.\"") + + else + //see if we can clear out an old effect + //delete it when the ids match to account for duplicate ids having different effects + if(inserted_battery.battery_effect && inserted_battery.stored_charge <= 0) + del(inserted_battery.battery_effect) + + // + var/datum/artifact_effect/source_effect + + //if we already have charge in the battery, we can only recharge it from the source artifact + if(inserted_battery.stored_charge > 0) + var/battery_matches_primary_id = 0 + if(inserted_battery.battery_effect && inserted_battery.battery_effect.artifact_id == cur_artifact.my_effect.artifact_id) + battery_matches_primary_id = 1 + if(battery_matches_primary_id && cur_artifact.my_effect.activated) + //we're good to recharge the primary effect! + source_effect = cur_artifact.my_effect + + var/battery_matches_secondary_id = 0 + if(inserted_battery.battery_effect && inserted_battery.battery_effect.artifact_id == cur_artifact.secondary_effect.artifact_id) + battery_matches_secondary_id = 1 + if(battery_matches_secondary_id && cur_artifact.secondary_effect.activated) + //we're good to recharge the secondary effect! + source_effect = cur_artifact.secondary_effect + + if(!source_effect) + src.visible_message("[src] states, \"Cannot harvest. Battery is charged with a different energy signature.\"") + else + //we're good to charge either + if(cur_artifact.my_effect.activated) + //charge the primary effect + source_effect = cur_artifact.my_effect + + else if(cur_artifact.secondary_effect.activated) + //charge the secondary effect + source_effect = cur_artifact.secondary_effect + + + if(source_effect) + harvesting = 1 + use_power = 2 + cur_artifact.anchored = 1 + cur_artifact.being_used = 1 + icon_state = "incubator_on" + var/message = "[src] states, \"Beginning energy harvesting.\"" + src.visible_message(message) + last_process = world.time + + //duplicate the artifact's effect datum + if(!inserted_battery.battery_effect) + var/effecttype = source_effect.type + var/datum/artifact_effect/E = new effecttype(inserted_battery) + + //duplicate it's unique settings + for(var/varname in list("chargelevelmax","artifact_id","effect","effectrange","trigger")) + E.vars[varname] = source_effect.vars[varname] + + //copy the new datum into the battery + inserted_battery.battery_effect = E + inserted_battery.stored_charge = 0 if (href_list["stopharvest"]) if(harvesting) @@ -198,7 +233,7 @@ harvesting = 0 cur_artifact.anchored = 0 cur_artifact.being_used = 0 - src.visible_message("[name] states, \"Activity interrupted.\"") + src.visible_message("[name] states, \"Energy harvesting interrupted.\"") icon_state = "incubator" if (href_list["ejectbattery"]) @@ -210,7 +245,8 @@ if(inserted_battery.battery_effect && inserted_battery.stored_charge > 0) if(alert("This action will dump all charge, safety gear is recommended before proceeding","Warning","Continue","Cancel")) if(!inserted_battery.battery_effect.activated) - inserted_battery.battery_effect.ToggleActivate(0) + inserted_battery.battery_effect.ToggleActivate(1) + last_process = world.time harvesting = -1 use_power = 2 icon_state = "incubator_on" From 3e2c544a6a5b94c27230e8cdff9e14ee18fc12b9 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 19 Jun 2014 14:24:56 +0200 Subject: [PATCH 34/84] Fixes #5228 Expanded the Research outpost room a bit. It is now possible to refill the supply line with air (or less healthy options). Moved the scrubber 'behind' the filter line to allow recycling gases in the room, rather than have it direct gases directly into space. Makes the scrubber port actually have some use, would previously equalize with space (leaving it empty). https://www.dropbox.com/s/d9v0het6ky59zi9/NewResearchDist.png?dl=1 Additional: Cleans up some areas outside the Research outpost, that were in space/on the asteroid. A previously replaced floor tile under a door had turned into space. Corrected. Adds windoor/glass protection around a disposal inlet that kept throwing me into space during testing... --- maps/tgstation2.dmm | 106 ++++++++++++++++++++++---------------------- 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/maps/tgstation2.dmm b/maps/tgstation2.dmm index 46078a2fe9..f893cd8803 100644 --- a/maps/tgstation2.dmm +++ b/maps/tgstation2.dmm @@ -8812,16 +8812,45 @@ "dnx" = (/obj/machinery/light{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/machinery/computer/guestpass{pixel_x = -28},/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/medical/research{name = "Research Division"}) "dny" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/computer/guestpass{pixel_y = -28},/turf/simulated/floor{dir = 2; icon_state = "browncorner"},/area/quartermaster/office) "dnz" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{tag = "icon-intact-f (EAST)"; icon_state = "intact-f"; dir = 4},/obj/machinery/computer/guestpass{pixel_y = -28},/turf/simulated/floor,/area/hallway/primary/aft) -"dqx" = (/turf/simulated/floor/plating/airless/asteroid,/area) +"dnA" = (/obj/machinery/light/small,/obj/structure/transit_tube,/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) +"dnB" = (/obj/structure/transit_tube{icon_state = "W-SE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) +"dnC" = (/obj/structure/transit_tube,/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/hallway) +"dnD" = (/obj/structure/transit_tube{icon_state = "E-SW"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/hallway) +"dnE" = (/obj/structure/transit_tube,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/hallway) +"dnF" = (/obj/machinery/atmospherics/portables_connector{dir = 2; name = "Connector Port (Air Supply)"},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/plating,/area/research_outpost/atmos) +"dnG" = (/obj/machinery/atmospherics/tvalve/digital{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/atmos) +"dnH" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/research_outpost/hallway) +"dnI" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/supply{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/turf/simulated/floor/plating,/area/research_outpost/atmos) +"dnJ" = (/obj/machinery/atmospherics/binary/pump{dir = 2; icon_state = "intact_off"; name = "Air to Distro"; on = 0},/turf/simulated/floor/plating,/area/research_outpost/atmos) +"dnK" = (/obj/machinery/atmospherics/binary/pump{dir = 2; icon_state = "intact_on"; name = "Filter to Waste"; on = 1; target_pressure = 4500},/turf/simulated/floor/plating,/area/research_outpost/atmos) +"dnL" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/turf/simulated/floor/plating,/area/research_outpost/atmos) +"dnM" = (/obj/machinery/atmospherics/pipe/manifold/visible/supply{tag = "icon-manifold (WEST)"; icon_state = "manifold"; dir = 8},/turf/simulated/floor/plating,/area/research_outpost/atmos) +"dnN" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor/plating,/area/research_outpost/atmos) +"dnO" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/obj/machinery/atmospherics/pipe/tank/air{dir = 8; volume = 4000},/turf/simulated/floor/plating,/area/research_outpost/atmos) +"dnP" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/atmos) +"dnQ" = (/obj/machinery/atmospherics/pipe/manifold/visible/supply{tag = "icon-manifold (WEST)"; icon_state = "manifold"; dir = 8},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; layer = 2.4; level = 2; on = 1},/turf/simulated/floor/plating,/area/research_outpost/atmos) +"dnR" = (/obj/machinery/atmospherics/pipe/simple/visible/supply{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/plating,/area/research_outpost/atmos) +"dnS" = (/obj/structure/transit_tube{icon_state = "N-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) +"dnT" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) +"dnU" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/visible/supply,/turf/simulated/floor/plating,/area/research_outpost/atmos) +"dnV" = (/obj/machinery/light/small,/obj/machinery/atmospherics/pipe/manifold/visible/supply,/turf/simulated/floor/plating,/area/research_outpost/atmos) +"dnW" = (/obj/structure/sign/fire{pixel_x = 32},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/obj/machinery/atmospherics/pipe/tank/air{dir = 8; volume = 4000},/turf/simulated/floor/plating,/area/research_outpost/atmos) +"dnX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/transit_tube{icon_state = "D-NW"},/turf/simulated/mineral,/area/mine/explored) +"dnY" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/structure/transit_tube{icon_state = "S-NE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) +"dnZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/mineral,/area/mine/explored) +"doa" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) +"dob" = (/obj/structure/disposaloutlet{dir = 2},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) +"doc" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) +"dod" = (/obj/machinery/mass_driver{dir = 4; id = "research"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) +"doe" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) +"dof" = (/obj/machinery/driver_button{id = "research"; pixel_x = 6; pixel_y = -26},/obj/machinery/conveyor{dir = 4; id = "archgunc"},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/westleft{base_state = "right"; dir = 1; icon_state = "right"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/research_outpost/power) +"dog" = (/obj/structure/sign/deathsposal{pixel_x = 32},/obj/machinery/disposal/deliveryChute{dir = 8; name = "disposal inlet"},/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/power) +"doh" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/window/westleft{base_state = "right"; dir = 1; icon_state = "right"},/obj/machinery/door/window/westleft{dir = 2},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage) "dqT" = (/turf/simulated/mineral,/area/mine/unexplored) "dqU" = (/turf/space,/area/syndicate_station/mining) "dqV" = (/obj/structure/transit_tube{icon_state = "D-SE"},/obj/structure/lattice,/turf/space,/area) "dqW" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "E-SW"},/turf/space,/area) "dqX" = (/obj/structure/lattice,/obj/structure/transit_tube,/turf/space,/area) -"dqY" = (/obj/structure/transit_tube,/turf/simulated/floor/plating/airless/asteroid,/area) -"dqZ" = (/obj/machinery/light/small,/obj/structure/transit_tube,/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/maintstore1) -"dra" = (/obj/structure/transit_tube,/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/maintstore1) -"drb" = (/obj/structure/transit_tube{icon_state = "W-SE"},/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/maintstore1) "drc" = (/obj/structure/transit_tube{icon_state = "D-SW"},/turf/simulated/mineral,/area/mine/unexplored) "drd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/hallway) "dre" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/hallway) @@ -8832,9 +8861,7 @@ "drj" = (/obj/structure/transit_tube{icon_state = "D-NE"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1) "drk" = (/obj/structure/transit_tube{icon_state = "NW-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1) "drl" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/mineral,/area/mine/unexplored) -"drm" = (/obj/structure/transit_tube{icon_state = "E-SW"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) "drn" = (/obj/structure/transit_tube,/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) -"dro" = (/obj/structure/transit_tube,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) "drp" = (/obj/structure/transit_tube/station,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/research_outpost/hallway) "drq" = (/obj/structure/transit_tube,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/hallway) "drr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/transit_tube,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/hallway) @@ -8918,7 +8945,6 @@ "dsS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/turret_protected/tcomsat) "dsT" = (/obj/machinery/atmospherics/trinary/filter{dir = 4; filter_type = 2; icon_state = "intact_on"; name = "Gas filter (N2 tank)"; on = 1},/turf/simulated/floor/plating,/area/research_outpost/atmos) "dsU" = (/obj/machinery/atmospherics/trinary/filter{dir = 4; filter_type = 1; icon_state = "intact_on"; name = "Gas filter (O2 tank)"; on = 1},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dsW" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor/plating,/area/research_outpost/atmos) "dsX" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/research_outpost/atmos) "dsY" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/atmos) "dsZ" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/atmos) @@ -8992,7 +9018,6 @@ "dus" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "warningcorner"; dir = 8},/area/turret_protected/tcomfoyer) "dut" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/turretid{ailock = 1; control_area = "\improper Telecoms Satellite"; desc = "A firewall prevents AIs from interacting with this device."; icon_state = "motion1"; lethal = 1; name = "Telecoms lethal turret control"; pixel_y = 29; req_access = list(61)},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera{c_tag = "Telecoms Foyer"; dir = 2; network = list("Tcomsat")},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/turret_protected/tcomfoyer) "duu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/transit_tube{icon_state = "N-S"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"duv" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area) "duw" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 4},/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"},/turf/simulated/floor/plating/airless,/area/shuttle/alien/mine) "dux" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/alien/mine) "duy" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/alien/mine) @@ -9019,8 +9044,6 @@ "duT" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "research_inner"; locked = 1; name = "Research Outpost External Access"; req_access = null; req_access_txt = null},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor,/area/research_outpost/gearstore) "duV" = (/obj/machinery/atmospherics/pipe/simple/hidden{tag = "icon-intact-f (NORTHEAST)"; icon_state = "intact-f"; dir = 5},/turf/simulated/wall,/area/research_outpost/gearstore) "duW" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{tag = "icon-intact-f (NORTHWEST)"; icon_state = "intact-f"; dir = 9},/turf/simulated/wall/r_wall,/area/research_outpost/iso1) -"duX" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/atmos) -"duY" = (/turf/simulated/mineral,/area/research_outpost/atmos) "duZ" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "pwall"; dir = 5},/area/shuttle/alien/mine) "dva" = (/turf/simulated/floor/plating,/turf/simulated/shuttle/wall{icon_state = "pwall"; dir = 6},/area/shuttle/alien/mine) "dvb" = (/obj/item/weapon/shard,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) @@ -9082,7 +9105,6 @@ "dwh" = (/obj/machinery/power/port_gen/pacman{anchored = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/sign/nosmoking_1{pixel_y = 32},/turf/simulated/floor/plating,/area/research_outpost/power) "dwi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass_mining{name = "Loading area"; req_access_txt = "65"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/turf/simulated/floor,/area/research_outpost/tempstorage) "dwj" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor,/area/research_outpost/gearstore) -"dwk" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/atmos) "dwl" = (/obj/structure/lattice,/obj/item/weapon/shard{icon_state = "medium"},/turf/space,/area) "dwm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/abandoned) "dwn" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) @@ -9109,9 +9131,6 @@ "dwK" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable,/turf/simulated/floor/plating,/area/research_outpost/power) "dwL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 100; on = 1; pressure_checks = 1},/turf/simulated/floor,/area/research_outpost/iso1) "dwM" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area/research_outpost/power) -"dwN" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/power) -"dwO" = (/obj/structure/disposaloutlet{dir = 2},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/power) -"dwP" = (/turf/simulated/mineral,/area/research_outpost/power) "dwQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/abandoned) "dwR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/mine/abandoned) "dwS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/mine/abandoned) @@ -9133,9 +9152,6 @@ "dxi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/research_outpost/power) "dxj" = (/obj/machinery/portable_atmospherics/scrubber,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/research_outpost/power) "dxk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/power) -"dxl" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/power) -"dxm" = (/obj/machinery/mass_driver{dir = 4; id = "research"},/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/power) -"dxn" = (/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/power) "dxo" = (/obj/item/stack/rods,/obj/structure/lattice,/turf/space,/area) "dxp" = (/obj/item/weapon/shard,/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/mine/abandoned) "dxq" = (/turf/simulated/floor/plating/airless,/area/mine/abandoned) @@ -9192,8 +9208,6 @@ "dys" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/sign/science{desc = "A warning sign which reads 'ANOMALOUS MATERIALS'"; name = "\improper ANOMALOUS MATERIALS"; pixel_x = -32},/turf/simulated/floor{dir = 1; icon_state = "whitepurplecorner"},/area/research_outpost/hallway) "dyv" = (/obj/machinery/power/smes{charge = 5e+006},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/power) "dyw" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/research_outpost/power) -"dyx" = (/obj/machinery/driver_button{id = "research"; pixel_x = 6; pixel_y = -26},/obj/machinery/conveyor{dir = 4; id = "archgunc"},/turf/simulated/floor/plating,/area/research_outpost/power) -"dyy" = (/obj/structure/sign/deathsposal{pixel_x = 32},/obj/machinery/disposal/deliveryChute{dir = 8; name = "disposal inlet"},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/power) "dyz" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area/research_outpost/power) "dyA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/transit_tube{icon_state = "N-SE"},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/hallway) "dyB" = (/obj/structure/transit_tube{icon_state = "D-SW"},/turf/simulated/wall/r_wall,/area/research_outpost/hallway) @@ -9395,7 +9409,6 @@ "dCG" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/alarm/isolation{pixel_y = 24},/turf/simulated/floor,/area/research_outpost/iso3) "dCH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/maintstore2) "dCI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/research_outpost/harvesting) -"dCJ" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage) "dCK" = (/turf/simulated/wall/r_wall,/area/research_outpost/longtermstorage) "dCL" = (/obj/structure/sign/nosmoking_2{pixel_y = -32},/obj/machinery/camera{c_tag = "Research Outpost Exotic Particles Lab"; dir = 4; network = list("Research","SS13")},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/research_outpost/harvesting) "dCM" = (/obj/machinery/alarm{dir = 1; pixel_y = -24},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/research_outpost/harvesting) @@ -9439,11 +9452,9 @@ "dDy" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/research_outpost/hallway) "dDz" = (/obj/machinery/camera{c_tag = "Research Outpost Anomalous Materials Lab"; dir = 8; network = list("Research","SS13")},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly) "dDA" = (/obj/machinery/door/airlock/research{name = "Anomalous Materials Loading"; req_access_txt = "65"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/turf/simulated/floor,/area/research_outpost/anomaly) -"dDB" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/turf/simulated/floor/plating,/area/research_outpost/atmos) "dDC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) "dDD" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 0; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/maintstore2) "dDE" = (/obj/machinery/atmospherics/pipe/manifold/visible/supply{tag = "icon-manifold (EAST)"; icon_state = "manifold"; dir = 4},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dDF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/visible/supply{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor/plating,/area/research_outpost/atmos) "dDG" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage) "dDH" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor,/area/research_outpost/harvesting) "dDI" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage) @@ -9458,7 +9469,6 @@ "dDR" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/wall,/area/mine/explored) "dDS" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/research_outpost/gearstore) "dDT" = (/obj/structure/cable,/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor{dir = 2; icon_state = "cmo"},/area/research_outpost/entry) -"dDU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/visible/scrubbers{tag = "icon-manifold (WEST)"; icon_state = "manifold"; dir = 8},/turf/simulated/floor/plating,/area/research_outpost/atmos) "dDV" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/turf/simulated/floor,/area/research_outpost/gearstore) "dDW" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor/plating,/area/research_outpost/atmos) "dDX" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/med) @@ -9470,7 +9480,6 @@ "dEf" = (/obj/machinery/door/airlock{id_tag = "rbath"; name = "Bathroom"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/research_outpost/hallway) "dEg" = (/obj/machinery/door_control{id = "rbath"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/research_outpost/hallway) "dEh" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/maintstore2) -"dEi" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/research_outpost/hallway) "dEj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/research_outpost/hallway) "dEk" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage) "dEl" = (/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage) @@ -9487,7 +9496,6 @@ "dEw" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/mine/explored) "dEx" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/lattice,/turf/space,/area) "dEy" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor,/area/research_outpost/gearstore) -"dEz" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/supply{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/plating,/area/research_outpost/atmos) "dEA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/research_outpost/maintstore1) "dEB" = (/obj/machinery/hydroponics/soil,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/grass,/area/research_outpost/maintstore1) "dEC" = (/turf/simulated/floor,/area/research_outpost/gearstore) @@ -9497,12 +9505,8 @@ "dEI" = (/obj/machinery/conveyor{dir = 1; id = "anosample"},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 1},/area/mine/explored) "dEJ" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/maint) "dEK" = (/obj/machinery/artifact_analyser,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/bluegrid,/area/research_outpost/anomaly) -"dEN" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/visible/supply{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/research_outpost/atmos) "dEP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{dir = 4; icon_state = "whiteyellow"},/area/research_outpost/hallway) "dEQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/research_outpost/hallway) -"dER" = (/obj/structure/sign/fire{pixel_x = 32},/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dES" = (/obj/machinery/light/small,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/visible/supply,/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dET" = (/obj/machinery/meter,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/visible/supply,/turf/simulated/floor/plating,/area/research_outpost/atmos) "dEU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall/r_wall,/area/research_outpost/spectro) "dEV" = (/obj/machinery/camera{c_tag = "Isolation Room Three"; dir = 8; network = list("Anomaly Isolation")},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso3) "dEW" = (/obj/structure/closet/walllocker/emerglocker/west,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/maintstore2) @@ -9529,7 +9533,6 @@ "dFs" = (/obj/machinery/conveyor{dir = 1; id = "anosample"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored) "dFt" = (/obj/machinery/door/airlock/research{name = "Spectrometry Lab"; req_access_txt = "65"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/spectro) "dFu" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/supply,/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dFv" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; layer = 2.4; level = 2; on = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/visible/supply{tag = "icon-manifold (WEST)"; icon_state = "manifold"; dir = 8},/turf/simulated/floor/plating,/area/research_outpost/atmos) "dFw" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 0},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso1) "dFx" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 0; scrub_CO2 = 0; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso1) "dFy" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso1) @@ -9540,7 +9543,6 @@ "dFD" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 0; scrub_CO2 = 0; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso3) "dFE" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/iso3) "dFF" = (/obj/structure/closet/hydrant{pixel_x = -32},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/research_outpost/maintstore2) -"dFG" = (/obj/machinery/meter,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/atmospherics/pipe/manifold/visible/scrubbers{tag = "icon-manifold (NORTH)"; icon_state = "manifold"; dir = 1},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plating,/area/research_outpost/atmos) "dFH" = (/turf/simulated/wall/r_wall,/area/research_outpost/maintstore2) "dFI" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/longtermstorage) "dFJ" = (/obj/structure/transit_tube{icon_state = "N-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) @@ -9805,9 +9807,7 @@ "dKQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/wall/r_wall,/area/research_outpost/power) "dKR" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/mine/west_outpost) "dKS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/living_quarters) -"dKT" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/atmos) "dKU" = (/obj/machinery/door/airlock/glass{name = "Crew Area"; req_access_txt = "48"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/mine/living_quarters) -"dKV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/mineral,/area/research_outpost/atmos) "dKW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/living_quarters) "dKX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/living_quarters) "dKY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/production) @@ -11678,29 +11678,29 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqxdqTdqTdqTdqTdqTdqTdqTdqTaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqVdqWdqXdqXdqYdqYdqYdqYdqYdqZdradrbdrcdqTdqTdqTdqTdqTdqTdqTdqTdqTdrddredrfaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqVdrgdrhdqTdqTdqTdqTdqTdqTdridridridrjdrkdrcdqTdqTdqTdrldrmdrndrndrodrpdrqdrrdrsdrsdqXdrtdruaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrvdrhdqTdqTdqTdqTdqTdqTdqTdridrwdrxdrydrjdrkdrzdridrAdrBdrCdrDdrDdrDdrEdrFdrDdrDdrDdrDdrGdrHdruaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdqTdqTdqTdqTdrJdrKdrLdrMdrNdrOdrPdrQdrRdrSdrTdrUdrVdrTdrWdrEdrTdrXdrUdrDaafdrYdrZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdsadsadqTdqTdsadsadsadsadqTdsadsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdqTdrJdrJdrJdrJdsbdscdlOdsddsedsedsedsfdsgdrTdshdsidsjdrEdrEdskdsidshdrDaafaafdslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdsadqTdqTdqTdqTdqTdqTdsadsadqTdqTdqTdqTdsadsadsadsadqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTaaaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdrJdrJdsmdsndrJdsodsodsodsodJIdsedsqdDvdDudrTdrTdrTdrTdstdsudsvdsvdsvdsvdsvdswdsxdsyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadszdsAdszaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdsadqTdqTdqTdsadsadqTdsadsadsadqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdsaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdrJdsBdsCdsDdsEdlHdsGdsHdsIdsJdsKdsLdDldDkdrTdsOdsPdrTdDjdDidDhdsTdsUdFGdsWdsXdsYdsZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtadtbdtaaafaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdqTdsadsadsadsadsadqTdqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdrJdtcdtddKIdrJdtfdsFdtgdthdtidtjdtkdEBdEAdEedEddEgdEfdEjdEidsvdEzdDEdDUdDWdtxdtydsZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtzdtAdtBdtCaafaaaaaadqTdqTdqTdqTdqTdqTdqTdsadqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaaaaadqVdtDaaadqTdqTdqTdrJdtcdtddtEdrJdtFdtgdtGdtHdKbdtJdtKdtJdDAdtJdtJdtJdrDdDydDxdrDdtOdDEdDFdDBdtRdsYdsZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtSdtTdtTdtUdtVdtWdtaaafaaaaaadqTdqTdqTdqTdsadsadsadqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaafdtXdtYdrsdrsdrsdtZduaaaadqTdqTdqTdrJdtcdubdlKdrJdudduedGwdGNduhduidMrdukdGudumdunduodrDdHhdGOdrDdurdFudFvdDBdsvduuduvaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduwduxduyduzduAduBduCaafaafdsadsadqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaduDduDduDaafduEduaaafaafaafaafaafaaadrJdrJdrJdrJdrJdEUdFtdrJdsodrDdlCdlIduJdtJduKduLdEKduNduOduPdrDdEQdEPdlJdENdESdETdERdsvduXduYaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUaaadqUdqUdqUdqUdqUaaadqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduZdtTdtTdvadvbdtWdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaduDduDduDaaaaaadrIdvddvddvddvddvddvddvddrTdvedvfdObdvhdKOdKPdKJdKKdLddLcdLgdLfdtJdvqdvrdLhdvtdLndLMdLAdMbdLVdvzdvzdvzdvAdKQdyOdKTdKVdKVcrHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUaaadqUdqUdqUdqUdqUaaadqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafdvGdvHdvIdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaduDaaaaaadrIdvddvddvddvddvddvddvddvJdvKdvLdvMdHidICdIKdILdIQdJFdJEdlMdlLdvWdvXdvYdJGdKcdNidMWdJHdKudKtdvzdlNdwhdKEdKCdvzdwkduYduYduYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafdwldwmdwndwodvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaadrIdvddvddvddvddvddvddvddwpdwqdwrdwsdymdwudwudwvdwwdwxdrDdlkdljdrDdwAdwBdwCdwDdwEdDzdtJdysdyndwIdwJdwJdwKdyvdwMdwNdwOdwPdwPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafdwQdwRdwSdvcdwTdwUdvcdvcdvcdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaadrIdvddvddvddvddvddvddvddwVdwqdwrdwsdymdwWdwXdwvdwYdwZdrDdyldxNdrDdxcdtJdtJdtJdtJdxddtJdxMdxLdvzdDwdxhdxidxjdxkdxldxmdxndxnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafdxodxpdxqdxrdxsdxtdszduBdxudvcdxvdxwdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaadrIdvddvddvddvddvddvddvddrTdwqdwrdwsdymdxxdxydwvdxzdxAdrDdzkdlpdlqdxEdxFdxGdxHdrDdxIdxJdyZdDCdzgdzadxOdxPdxQdxRdxldwPdwPdwPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafdxSdxTdxpdxUdxVdxWdxXdxYdxudxZdxwdyadxvdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaadybdycdyddyedmndycdyddygdyhdyidyjdykdyMdykdrDdrDdrDdrDdrDdySdlndlodxEdrEdxGdzQdrDdyqdyrdyQdyPdlmdYzdywdyxdyydyzdyAdyBdrDdyCdtYdrsdrsdrsdrsdrsdrsdrtdyDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGpdqTdqTdqTdqTdqTdqTdqTdqTaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqVdqWdqXdqXdrndrndrndrndrndnAdrndnBdrcdqTdqTdqTdqTdqTdqTdqTdqTdqTdrddredrfaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqVdrgdrhdqTdqTdqTdqTdqTdqTdridridridrjdrkdrcdqTdqTdqTdrldnDdnCdnCdnEdrpdrqdrrdrsdrsdqXdrsdrtdruaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrvdrhdqTdqTdqTdqTdqTdqTdqTdridrwdrxdrydrjdrkdrzdridrAdrBdrCdrDdrDdrDdrEdrFdrDdrDdrDdrDaafdrGdrHdruaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdqTdqTdqTdqTdrJdrKdrLdrMdrNdrOdrPdrQdrRdrSdrTdrUdrVdrTdrWdrEdrTdrXdrUdrDaafaafdrYdrZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdsadsadqTdqTdsadsadsadsadqTdsadsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdqTdrJdrJdrJdrJdsbdscdlOdsddsedsedsedsfdsgdrTdshdsidsjdrEdrEdskdsidshdrDaafaafaafdslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdsadqTdqTdqTdqTdqTdqTdsadsadqTdqTdqTdqTdsadsadsadsadqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTaaaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdrJdrJdsmdsndrJdsodsodsodsodJIdsedsqdDvdDudrTdrTdrTdrTdstdsudsvdsvdsvdsvdsvdsvdswdsxdsyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadszdsAdszaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdsadqTdqTdqTdsadsadqTdsadsadsadqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdsaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdrJdsBdsCdsDdsEdlHdsGdsHdsIdsJdsKdsLdDldDkdrTdsOdsPdrTdDjdDidDhdsTdsUdnFdnGdDWdsXdsYdsZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtadtbdtaaafaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdqTdsadsadsadsadsadqTdqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdrJdtcdtddKIdrJdtfdsFdtgdthdtidtjdtkdEBdEAdEedEddEgdEfdEjdnHdDhdnIdDEdnJdnLdnKdtxdtydsZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtzdtAdtBdtCaafaaaaaadqTdqTdqTdqTdqTdqTdqTdsadqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaaaaadqVdtDaaadqTdqTdqTdrJdtcdtddtEdrJdtFdtgdtGdtHdKbdtJdtKdtJdDAdtJdtJdtJdrDdDydDxdrDdtOdDEdnMdnOdnNdtRdsYdsZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtSdtTdtTdtUdtVdtWdtaaafaaaaaadqTdqTdqTdqTdsadsadsadqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaafdtXdtYdrsdrsdrsdtZduaaaadqTdqTdqTdrJdtcdubdlKdrJdudduedGwdGNduhduidMrdukdGudumdunduodrDdHhdGOdrDdurdFudnQdnOdsvdsvduudnPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduwduxduyduzduAduBduCaafaafdsadsadqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaduDduDduDaafduEduaaafaafaafaafaafaaadrJdrJdrJdrJdrJdEUdFtdrJdsodrDdlCdlIduJdtJduKduLdEKduNduOduPdrDdEQdEPdlJdnRdnVdnUdnWdsvdnTdnSdBvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUaaadqUdqUdqUdqUdqUaaadqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduZdtTdtTdvadvbdtWdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaduDduDduDaaaaaadrIdvddvddvddvddvddvddvddrTdvedvfdObdvhdKOdKPdKJdKKdLddLcdLgdLfdtJdvqdvrdLhdvtdLndLMdLAdMbdLVdvzdvzdvzdvAdKQdyOdnYdnXdnZcrHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUaaadqUdqUdqUdqUdqUaaadqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafdvGdvHdvIdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaduDaaaaaadrIdvddvddvddvddvddvddvddvJdvKdvLdvMdHidICdIKdILdIQdJFdJEdlMdlLdvWdvXdvYdJGdKcdNidMWdJHdKudKtdvzdlNdwhdKEdKCdvzdoadBvdBvdBvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafdwldwmdwndwodvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaadrIdvddvddvddvddvddvddvddwpdwqdwrdwsdymdwudwudwvdwwdwxdrDdlkdljdrDdwAdwBdwCdwDdwEdDzdtJdysdyndwIdwJdwJdwKdyvdwMdocdobdBvdBvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafdwQdwRdwSdvcdwTdwUdvcdvcdvcdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaadrIdvddvddvddvddvddvddvddwVdwqdwrdwsdymdwWdwXdwvdwYdwZdrDdyldxNdrDdxcdtJdtJdtJdtJdxddtJdxMdxLdvzdDwdxhdxidxjdxkdoedoddCidCiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafdxodxpdxqdxrdxsdxtdszduBdxudvcdxvdxwdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaadrIdvddvddvddvddvddvddvddrTdwqdwrdwsdymdxxdxydwvdxzdxAdrDdzkdlpdlqdxEdxFdxGdxHdrDdxIdxJdyZdDCdzgdzadxOdxPdxQdxRdoedBvdBvdBvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafdxSdxTdxpdxUdxVdxWdxXdxYdxudxZdxwdyadxvdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaadybdycdyddyedmndycdyddygdyhdyidyjdykdyMdykdrDdrDdrDdrDdrDdySdlndlodxEdrEdxGdzQdrDdyqdyrdyQdyPdlmdYzdywdofdogdyzdyAdyBdrDdyCdtYdrsdrsdrsdrsdrsdrsdrtdyDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadyEdxSdyFdxSdxqdxqdwTdyGdxVdvcdwodyHdvcdxwdyIdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaadyJdlxdyLdmqdAUdATdATdARdASdAXdATdlydAWdyTdyUdyVdyWdyXdAGdlvdludzbdzcdzddzedzfdrDdzhdzidAQdAMdrDdvzdzldvzdrDdrDdzmdzndzodzpdzqdzrdzrdzsdzrdzrdzrdztdrZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafdzudzvdxqdzwdzxdxqdvIdzydxWdzzdzAdzBdvcdvcdvcdvcdvcdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaadzCdzDdyLdyLdzEdyLdzFdzGdAjdzIdzJdltdzLdzMdyUdAkdAldAcdAbdAadzZdzYdzXdzWdzPdAidAhdAgdzPdAfdAedlsdAddzRdzSdzOdlrdzWdzPdzHdzNdzUdDHdzTdAmdAndAodApdzrdslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafdAqdArdAsdxqdzxdAtdxUdAudxVdAvdvcdAwdAxdvcdAydxudAzdAAdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaadABdACdyLdyLdADdyLdAEdAFdBDdAHdBFdlEdAKdDXdyUdBfdANdAOdAPdBHdBGdBQdBPdBTdBSdBWdBVdBZdBYdBWdCpdBVdCrdBWdBVdCsdlFdlGdCBdCCdCEdCFdCIdDfdBldBmdBmdBndzrdslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafdsadsadvcdxtdBodBpdBqdAsdBrdBsdxWdBtdszduBdBudvcdAydwodxudAAdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdqTdqTdBvdBvdBvdBvdBvdBvdqTdqTdqTdqTdqTdqTdBwdBxaaaaaaaaadBydBzdyLdBAdAYdAZdDTdBbdBcdBddBedlzdBJdBKdyUdlAdyVdBLdBMdBMdrDdrDdlDdBOdBidBkdBOdBRdBjdBCdBRdBUdBBdBgdBUdrDdlBdlCdvZdCadzrdCbdCcdzrdCddBmdBmdCedzrdslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafdvcdvcdvcdvcdvcdvcdxsdxVdCfdBodxVdzydCgdBtdBtdxYdxudAwdvcdAydvIdChdAAdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdBvdBvdBvdCidCidCidCidBvdBvdBvdqTdqTdCjdCkdCldyDaaaaaaaaadCmdCndyddyedCodCodCodCodvUdlgdvSdrTdrTdrTdyUdvTdBMdCtdBMdCudCvdCwdyYdBOdwfdwcdCAdBRdwbdwedCDdBUdwddvVdCGdBUdCHdwadvZdCJdCKdzrdzrdzrdCLdCMdCNdApdzrdslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafdvcdvcdvcdvcdvcdvcdxsdxVdCfdBodxVdzydCgdBtdBtdxYdxudAwdvcdAydvIdChdAAdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdBvdBvdBvdCidCidCidCidBvdBvdBvdqTdqTdCjdCkdCldyDaaaaaaaaadCmdCndyddyedCodCodCodCodvUdlgdvSdrTdrTdrTdyUdvTdBMdCtdBMdCudCvdCwdyYdBOdwfdwcdCAdBRdwbdwedCDdBUdwddvVdCGdBUdCHdwadvZdohdCKdzrdzrdzrdCLdCMdCNdApdzrdslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafdvcdCOduBdxWdCPdvcdCQdCRdCSdvcdzzdvcdCTdCUdCVdvcduBdCWdtbdCXdvIdwndtbdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdqTdBvdBvdCidCidCidCidCidCidCidCidBvdBvdqTdCYdCZdrYdDadrsdrsdrsdtZduaaafaafdDbdDcdDddDedwHdDgdwtdwjdwidwGdlidlhdDndDodDpdDqdDrdDsdDtdBOdxfdwLdALdBRdxadxbdBadBUdxedxBdCxdBUdDDdxKdxCdDGdDmdDIdDJdzrdzrdzrdzrdzrdDKdtDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsadvcdCOdvIduBdxUdzzdCWdBodDLdBodDMduBduBdDNdxuduBdvIdvIdvcdtbdDOdvIduBdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdBvdBvdCidCidCidCidCidCidCidCidCidCidDPdDQdDRdDQaaaaaaaaaaaaaaaaaaaaaaaaaafdDbdDcdDSdvudvsdDVdvpdxgdDYdDYdladlbdBMdCtdBMdEadBMdkZdEcdvodBOdvndBOdBRdBRdvmdBRdBUdBUdvldBUdBUdEhdvkdvjdEkdEldEldEmdCKdEndqWdrsdrsdEodEpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsadsadvcdCOdEqdvIdvIdzzdvIdChdwTdvIdErdDMdChdBudEsdvIdEtdwodvcdBodtbdCWduBdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdBvdDQdCidCidCidCidCidCidCidCidCidCidCidEudEvdEwdExaaaaaaaaaaaaaaaaaaaaaaaaaafdDbdDcdEydvQdvRdvQdvPdECdEDdDYdlfdyUdyUdEGdlddEIdBMdlcdEJdvFdvNdvBdvCdvDdvEdvvdvwdvxdvydvOdEVdBUdEWdledCKdEYdEZdEYdEZdCKdFadFbdsaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 0d5155ff7da509858c21c401f8fcbca28948e04b Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 19 Jun 2014 16:12:42 +0200 Subject: [PATCH 35/84] Adds a filter to ensure appropriate oxygen/nitrogen mixing, at the price of losing a heater (the remaining cooler should be able to both heat and cool towards 20C, if experiments in the engine are to be trusted). The Research cooler is now on by default. --- maps/tgstation2.dmm | 47 +++++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/maps/tgstation2.dmm b/maps/tgstation2.dmm index f893cd8803..fbc25b20c2 100644 --- a/maps/tgstation2.dmm +++ b/maps/tgstation2.dmm @@ -3306,7 +3306,7 @@ "blD" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor,/area/medical/sleeper) "blE" = (/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/camera{c_tag = "Telescience Control Room"; dir = 8; network = list("SS13","Research"); pixel_y = -22},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/rnd/misc_lab) "blF" = (/obj/machinery/atmospherics/pipe/simple/insulated{icon_state = "intact"; dir = 4},/obj/machinery/meter,/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "tox_airlock_pump"; tag_exterior_door = "tox_airlock_exterior"; id_tag = "tox_airlock_control"; tag_interior_door = "tox_airlock_interior"; pixel_x = -24; pixel_y = 0; tag_chamber_sensor = "tox_airlock_sensor"},/turf/simulated/floor{dir = 1; icon_state = "warnwhitecorner"},/area/rnd/mixing) -"blG" = (/obj/machinery/door_control{id = "scanhide"; name = "Diagnostics Room Separation Shutters"; pixel_x = -6; pixel_y = 25; req_access_txt = "5"},/obj/machinery/camera{c_tag = "Medbay Scanning"; network = list("SS13")},/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 8; icon_state = "freezer_0"; tag = ""},/obj/machinery/door_control{id = "scanhideside"; name = "Diagnostics Room Privacy Shutters"; pixel_x = 6; pixel_y = 25; req_access_txt = "5"},/turf/simulated/floor{icon_state = "delivery"},/area/medical/sleeper) +"blG" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 1; icon_state = "freezer"},/obj/machinery/light/small,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "delivery"},/area/medical/cryo) "blH" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2) "blI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) "blJ" = (/obj/machinery/camera{c_tag = "Medbay Lounge"; network = list("SS13")},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) @@ -4216,7 +4216,7 @@ "bDd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{req_access_txt = "0"},/turf/simulated/floor,/area/hallway/primary/central) "bDe" = (/obj/machinery/atmospherics/portables_connector{dir = 1; name = "Connector Port (Air Supply)"},/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/light/small,/obj/machinery/light_switch{pixel_x = -22; pixel_y = 0},/turf/simulated/floor{icon_state = "delivery"},/area/medical/cryo) "bDf" = (/obj/machinery/atmospherics/portables_connector{dir = 1; name = "Connector Port (Air Supply)"},/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor{icon_state = "delivery"},/area/medical/cryo) -"bDg" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 1},/obj/machinery/light/small,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "delivery"},/area/medical/cryo) +"bDg" = (/obj/machinery/door_control{id = "scanhide"; name = "Diagnostics Room Separation Shutters"; pixel_x = -6; pixel_y = 25; req_access_txt = "5"},/obj/machinery/camera{c_tag = "Medbay Scanning"; network = list("SS13")},/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 8; icon_state = "freezer"; tag = ""},/obj/machinery/door_control{id = "scanhideside"; name = "Diagnostics Room Privacy Shutters"; pixel_x = 6; pixel_y = 25; req_access_txt = "5"},/turf/simulated/floor{icon_state = "delivery"},/area/medical/sleeper) "bDh" = (/obj/machinery/clonepod,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/genetics_cloning) "bDi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/central) "bDj" = (/obj/structure/closet/secure_closet/scientist,/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{icon_state = "white"},/area/rnd/mixing) @@ -8717,7 +8717,7 @@ "dlG" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/firealarm{pixel_y = -24},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) "dlH" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample) "dlI" = (/obj/machinery/door/airlock/research{name = "Sample Preparation"; req_access_txt = "65"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dlJ" = (/obj/machinery/door/airlock/atmos{name = "Outpost Atmospherics"; req_access_txt = "0"; req_one_access_txt = "65;10;24"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/turf/simulated/floor/plating,/area/research_outpost/hallway) +"dlJ" = (/obj/machinery/atmospherics/trinary/filter{dir = 4; filter_type = 1; icon_state = "intact_on"; name = "Gas filter (O2 tank)"; on = 1; target_pressure = 4500},/turf/simulated/floor/plating,/area/research_outpost/atmos) "dlK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump{dir = 2; layer = 2.4; on = 1},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{dir = 6; icon_state = "whitegreen"},/area/research_outpost/spectro) "dlL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/research_outpost/hallway) "dlM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/research_outpost/hallway) @@ -8820,8 +8820,8 @@ "dnF" = (/obj/machinery/atmospherics/portables_connector{dir = 2; name = "Connector Port (Air Supply)"},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/plating,/area/research_outpost/atmos) "dnG" = (/obj/machinery/atmospherics/tvalve/digital{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/atmos) "dnH" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/research_outpost/hallway) -"dnI" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/supply{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dnJ" = (/obj/machinery/atmospherics/binary/pump{dir = 2; icon_state = "intact_off"; name = "Air to Distro"; on = 0},/turf/simulated/floor/plating,/area/research_outpost/atmos) +"dnI" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/trinary/filter{dir = 4; filter_type = 2; icon_state = "intact_on"; name = "Gas filter (N2 tank)"; on = 1; target_pressure = 4500},/turf/simulated/floor/plating,/area/research_outpost/atmos) +"dnJ" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/obj/machinery/meter,/turf/simulated/floor/plating,/area/research_outpost/atmos) "dnK" = (/obj/machinery/atmospherics/binary/pump{dir = 2; icon_state = "intact_on"; name = "Filter to Waste"; on = 1; target_pressure = 4500},/turf/simulated/floor/plating,/area/research_outpost/atmos) "dnL" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/turf/simulated/floor/plating,/area/research_outpost/atmos) "dnM" = (/obj/machinery/atmospherics/pipe/manifold/visible/supply{tag = "icon-manifold (WEST)"; icon_state = "manifold"; dir = 8},/turf/simulated/floor/plating,/area/research_outpost/atmos) @@ -8829,11 +8829,11 @@ "dnO" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/obj/machinery/atmospherics/pipe/tank/air{dir = 8; volume = 4000},/turf/simulated/floor/plating,/area/research_outpost/atmos) "dnP" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/atmos) "dnQ" = (/obj/machinery/atmospherics/pipe/manifold/visible/supply{tag = "icon-manifold (WEST)"; icon_state = "manifold"; dir = 8},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; layer = 2.4; level = 2; on = 1},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dnR" = (/obj/machinery/atmospherics/pipe/simple/visible/supply{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/plating,/area/research_outpost/atmos) +"dnR" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/obj/machinery/atmospherics/pipe/simple/visible/supply,/turf/simulated/floor/plating,/area/research_outpost/atmos) "dnS" = (/obj/structure/transit_tube{icon_state = "N-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "dnT" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) -"dnU" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/visible/supply,/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dnV" = (/obj/machinery/light/small,/obj/machinery/atmospherics/pipe/manifold/visible/supply,/turf/simulated/floor/plating,/area/research_outpost/atmos) +"dnU" = (/obj/machinery/atmospherics/binary/pump{dir = 2; icon_state = "intact_off"; name = "Port to Air"; on = 0},/turf/simulated/floor/plating,/area/research_outpost/atmos) +"dnV" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/supply,/turf/simulated/floor/plating,/area/research_outpost/atmos) "dnW" = (/obj/structure/sign/fire{pixel_x = 32},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/obj/machinery/atmospherics/pipe/tank/air{dir = 8; volume = 4000},/turf/simulated/floor/plating,/area/research_outpost/atmos) "dnX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/transit_tube{icon_state = "D-NW"},/turf/simulated/mineral,/area/mine/explored) "dnY" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/structure/transit_tube{icon_state = "S-NE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) @@ -8846,6 +8846,14 @@ "dof" = (/obj/machinery/driver_button{id = "research"; pixel_x = 6; pixel_y = -26},/obj/machinery/conveyor{dir = 4; id = "archgunc"},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/westleft{base_state = "right"; dir = 1; icon_state = "right"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/research_outpost/power) "dog" = (/obj/structure/sign/deathsposal{pixel_x = 32},/obj/machinery/disposal/deliveryChute{dir = 8; name = "disposal inlet"},/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/power) "doh" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/window/westleft{base_state = "right"; dir = 1; icon_state = "right"},/obj/machinery/door/window/westleft{dir = 2},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage) +"doi" = (/obj/structure/sign/nosmoking_1{pixel_x = -32},/obj/machinery/atmospherics/pipe/simple/visible/supply{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/machinery/meter,/turf/simulated/floor/plating,/area/research_outpost/atmos) +"doj" = (/obj/machinery/atmospherics/trinary/mixer{dir = 2; icon_state = "intact_on"; name = "Gas mixer (N2/O2)"; node1_concentration = 0.8; node2_concentration = 0.2; on = 1; pixel_x = 0; pixel_y = 0; req_access = null; target_pressure = 4500},/turf/simulated/floor/plating,/area/research_outpost/atmos) +"dok" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 4; icon_state = "freezer"; on = 1},/turf/simulated/floor/plating,/area/research_outpost/atmos) +"dol" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/atmospherics/binary/pump{dir = 8; icon_state = "intact_on"; name = "Air to Distro"; on = 1; target_pressure = 285},/turf/simulated/floor/plating,/area/research_outpost/atmos) +"dom" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/meter,/obj/machinery/door/airlock/atmos{name = "Outpost Atmospherics"; req_access_txt = "0"; req_one_access_txt = "65;10;24"},/turf/simulated/floor/plating,/area/research_outpost/hallway) +"don" = (/obj/machinery/atmospherics/pipe/manifold/visible/supply,/turf/simulated/floor/plating,/area/research_outpost/atmos) +"doo" = (/obj/machinery/light/small,/obj/machinery/atmospherics/pipe/manifold/visible/supply,/obj/machinery/meter,/turf/simulated/floor/plating,/area/research_outpost/atmos) +"dop" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/research_outpost/power) "dqT" = (/turf/simulated/mineral,/area/mine/unexplored) "dqU" = (/turf/space,/area/syndicate_station/mining) "dqV" = (/obj/structure/transit_tube{icon_state = "D-SE"},/obj/structure/lattice,/turf/space,/area) @@ -8943,8 +8951,6 @@ "dsQ" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{req_access_txt = "0"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) "dsR" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/lattice,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/space,/area/turret_protected/tcomsat) "dsS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"dsT" = (/obj/machinery/atmospherics/trinary/filter{dir = 4; filter_type = 2; icon_state = "intact_on"; name = "Gas filter (N2 tank)"; on = 1},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dsU" = (/obj/machinery/atmospherics/trinary/filter{dir = 4; filter_type = 1; icon_state = "intact_on"; name = "Gas filter (O2 tank)"; on = 1},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/research_outpost/atmos) "dsX" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/research_outpost/atmos) "dsY" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/atmos) "dsZ" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/atmos) @@ -8987,7 +8993,6 @@ "dtL" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) "dtM" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) "dtN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/turret_protected/tcomfoyer) -"dtO" = (/obj/machinery/atmospherics/unary/heat_reservoir/heater{dir = 4},/obj/structure/sign/nosmoking_1{pixel_x = -32},/turf/simulated/floor/plating,/area/research_outpost/atmos) "dtP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/turret_protected/tcomfoyer) "dtQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor,/area/turret_protected/tcomfoyer) "dtR" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor,/area/research_outpost/atmos) @@ -9014,7 +9019,6 @@ "duo" = (/obj/machinery/conveyor{dir = 1; id = "anolaser"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/research_outpost/anomaly) "dup" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/hatch{name = "Telecoms East Wing"; req_access_txt = "61"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/turret_protected/tcomfoyer) "duq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor,/area/turret_protected/tcomfoyer) -"dur" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/atmos) "dus" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor{icon_state = "warningcorner"; dir = 8},/area/turret_protected/tcomfoyer) "dut" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/turretid{ailock = 1; control_area = "\improper Telecoms Satellite"; desc = "A firewall prevents AIs from interacting with this device."; icon_state = "motion1"; lethal = 1; name = "Telecoms lethal turret control"; pixel_y = 29; req_access = list(61)},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera{c_tag = "Telecoms Foyer"; dir = 2; network = list("Tcomsat")},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/turret_protected/tcomfoyer) "duu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/transit_tube{icon_state = "N-S"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/atmos) @@ -9232,7 +9236,6 @@ "dyX" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/research_outpost/tempstorage) "dyY" = (/obj/structure/cable,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/plating,/area/research_outpost/maint) "dyZ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dza" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/power) "dzb" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/closet/secure_closet/xenoarchaeologist{req_access_txt = "47"},/obj/structure/window/reinforced,/turf/simulated/floor,/area/research_outpost/hallway) "dzc" = (/obj/structure/closet/secure_closet/xenoarchaeologist{req_access_txt = "47"},/obj/structure/disposalpipe/segment,/obj/structure/window/reinforced,/turf/simulated/floor,/area/research_outpost/hallway) "dzd" = (/obj/structure/closet/secure_closet/scientist,/obj/structure/window/reinforced,/turf/simulated/floor,/area/research_outpost/hallway) @@ -9454,7 +9457,6 @@ "dDA" = (/obj/machinery/door/airlock/research{name = "Anomalous Materials Loading"; req_access_txt = "65"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/turf/simulated/floor,/area/research_outpost/anomaly) "dDC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) "dDD" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 0; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/maintstore2) -"dDE" = (/obj/machinery/atmospherics/pipe/manifold/visible/supply{tag = "icon-manifold (EAST)"; icon_state = "manifold"; dir = 4},/turf/simulated/floor/plating,/area/research_outpost/atmos) "dDG" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage) "dDH" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor,/area/research_outpost/harvesting) "dDI" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage) @@ -9470,7 +9472,6 @@ "dDS" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/research_outpost/gearstore) "dDT" = (/obj/structure/cable,/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor{dir = 2; icon_state = "cmo"},/area/research_outpost/entry) "dDV" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/turf/simulated/floor,/area/research_outpost/gearstore) -"dDW" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor/plating,/area/research_outpost/atmos) "dDX" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/med) "dDY" = (/turf/simulated/wall,/area/research_outpost/tempstorage) "dEa" = (/obj/machinery/conveyor{dir = 1; id = "anosample"},/obj/structure/plasticflaps/mining,/turf/simulated/floor/plating,/area/research_outpost/maint) @@ -10748,7 +10749,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowbzcbzdbzcbzebzfbzgbzgbzgbzgbzgbzhbPLblpbuvbzjbalbzkbOXdnybwfbzoboEbRZbzqbzrbarbarbffaIObztbzubtgboMbzvbzwbzxbwjbQTboMbWzbVobXubLQbQwbzEbQDbuTbQvbzIbzJbNqbzKbzLbzMbzNbyebyfbQEbtvbpcbDNbNwbOHbOLbOMbOJbOKbEpbXtbXrbXsbLDbLDbLDbCebCfbLDbWybWubXqbXpbXobOSbDcbNvbVRbVQbWtbRcbQUbQKbRjbQabYcbrBbYObZMbZNbZObvMbvMbArbvMbAsbvMbOfbQqbQqbQqbQsbQrbQtbAvbAwbAxbRTbAzbAAbABbACbySbykbQObAFaafaafbkIbTGbUcbTobTobSibSKbKMbkIaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowbAKbALbAMbalbalbANbrvbrvbrvbAObalbalbAPbAQbARbalbASbASbASbRKbASbAUbRLbAWbAXbAYbAUbffaIObRHbBaaUnboMawGawGawGawGbQlboMbLQbRUbLQbRJbQnbQobQnbuTbuTbuTbuTbNqawGawGawGawGawGbtvbPobtvbpcbVabuDbVbbUSbQkbUUbRGbUdbUfbUgbrAbTFbBObUbbBPbVKbVJbVMbVLbVxbVwbVIbVCbQcbVpbVvbVtbVmbPTbQbbQabOQbPEbAqbQmbSJbzCbrhbrhbrhbzCbQjbzCbzCbELbQhbQiblTblTbBUbKjbOqbBWbAwbBXbQZbBZbCabCbbCcbySbykbQObCdaaaaaabkIbOGbOIbkIbvWbkIbkIbvWbkIaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabCgaafaaaaaaaaaaaabASbChbNpbQRbCkbAUbQQbCmbCnbCobAUbffaIObQMbQLbQNbQLbPzbPebPIbPFbPNbPJbQfbQPaXNbCzbOobCBbCCbCDaIOaIOaMibDbaMjaNsbCubCGbCHaCzbPdbOpbpcbDNbSHbymbymbSBbSBbSBbymbymbSmbSxbRXbRYbScbSgbRYbRXbRWbRVbRSbRRbRQbRPbDcbRObRNbRMbRIbOtbOrbAybAgbNrbAqbRkbCTbzCbPbbPcbFUbOWbOZbPabOObELbOPbOTbIZblTblTbQdbOqbBWbDubDvbPXbDxbDybDzbDAbySbykbOgbyVbyVbyVbyVbyVbkIbkIaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGvaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabASbDCbDDbDmbDFbDGbDnbDIbDlbDKbAUbffbDLbDiaIOaIOaIObDbaNsbCubCGbDNaIOaIObDdaIOaIObDPbDQbDRaIOaIOaIOaIObDbaIOaNsbCubCGbDSaXNbDYaXNbFrbENbyZbymbEbbBxbBxbBxbEebEdbEgbEfbEibEhbzGbEjbCUbtJbCZbDabDcbDebDfbDgbDcbDhbDkbDwbDEbAgbCQbCRbAgbAgbAqbksbCTbzCbEqbEobEybEtbEsbErbEMbELbEBbEzbEmbEmblTbDqbEnbECbEDbEEbEFbDzbDtbyjbyUbySbykbyTbzsbzbbzQbzzbyVaafaafaafaafaafaafaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbEPbEQbEQbFgbtybtybjBbjBbjBbjBbEOaafaafaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabASbDCbDDbDmbDFbDGbDnbDIbDlbDKbAUbffbDLbDiaIOaIOaIObDbaNsbCubCGbDNaIOaIObDdaIOaIObDPbDQbDRaIOaIOaIOaIObDbaIOaNsbCubCGbDSaXNbDYaXNbFrbENbyZbymbEbbBxbBxbBxbEebEdbEgbEfbEibEhbzGbEjbCUbtJbCZbDabDcbDebDfblGbDcbDhbDkbDwbDEbAgbCQbCRbAgbAgbAqbksbCTbzCbEqbEobEybEtbEsbErbEMbELbEBbEzbEmbEmblTbDqbEnbECbEDbEEbEFbDzbDtbyjbyUbySbykbyTbzsbzbbzQbzzbyVaafaafaafaafaafaafaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbEPbEQbEQbFgbtybtybjBbjBbjBbjBbEOaafaafaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowaaaaaaaaaaaaaaaaaaaaaaaabERbESbBTbESbEUaaaaaaaaabASbASbEVbEWbDmbEWbEXbEYbEZbFdbFbbAUbFcbffbEwbFebuDbFfbFybFAbFhbFibuEaIObFjbEuaZjbEvbFaaIObDSaXNaXNaXNaXNbDWbjvbFobFpbFqbFrbFCbFJbFHbuDbuEaIObymbFmbBxbFlbETbBxbEdbFubFtbFzbFxbFwbFvbFEbFFbFBbFDbFKbFQbFGbDcbDcbHfbHfbHfbAqbEGbExbEAbElbEkbAqbksbCTbzCbFRbFPbFUbFTbFWbFVbFXbELbFYbEzbEmbEmbkIbFIbFZbFLbADbyHbFObGabAGbAHbAIbySbAJbxAbxAbxAbBNbAZbAFaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbGjbmNbGhbmNbtybjBbjBbjSbmLbjSbjBbjBaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabGpbGqbvRbMQbGpbGsbGtbGubASbvHbEWbGwbBbbGybGzbGAbGAbBcbuSbAUbGDbGDbBibGDaUnaUnaUnaUnaUnaUnaUnbGFbGFbGFbGFaUnbBgbBfbBeaUnbGHbGHbGHbBhbAfaUnaUnaUnaUnbAVbAubGKaIUaKtbzYbymbzXbBxbBxbBxbAebAcbApbAobzGbzZbAbbAabvxbzGbzObzPbyzbyAbyCbvwbzTbzUbEcbAgbAgbAgbAtbAybATbAgbAqbksbhQbhQbhQbhQbhQbhQbhQbhQbhQbhQbBRbBQbBqbBqbkIbBnbBdbHqbrhbjfbjfbjfbvTbvUbvSbjfbjfbjfbjfbjfbgqbgpbHxaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagbxXbmNbmNbtnbjBbjBbjSbjSbBSbjSbjSbjBbjBaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBTbHBbHCbHBbBTbHDbHGbSfbJebJdbHHbEWbHIbHJbAUbHKbHLbBrbHNbAUbHObHObBBbGDaaaaaaaaaaaabGFbBvbHRbvAbHTbHUbHVbCtbBVbHXbBYbCtbHZbCjbCpbClbBGbBDbBKbBJbBMbCvbCwbzlbBobGKbGKbymbBmbBlbBlbBkbymbBCbBybBwbBubBtbBsbBpbCsbCybCqbCrbBHbBIbBEbBFbCNbCObFkbCIbBLbCFbBjbAgbAgbCJbAqbksbhQbwnbwpbCxbxrbCMbxtbxsbwQbhQbCLbCKbDpbDpbkIbwxbCVbBWbxBbDjbDMbDObDTbDUbDrbDsbDHbDJbDXbjfbIhbCWbyVbngbngbngbngbngaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabxYbjBbxXbjBbjBbjSbjSbjSbjSbjSbjSbjSbjBbjBaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -10756,7 +10757,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBTbHCbHCbHCbBTbKKdmidmhbKNdmjbEWbKPbLsbltbLibKVbKVbKZbKWbKVbKDbjwbKQbKYaaabGLbLabLbbLcbLdbHVbLebLfbLgbLhbCtbKHbKGbKRbCtbLlbLmbLnbLobLpbLqbLrbKUboNbKSbKIbGKbPybPybKnbymbFmbBxbFlbETbBxbHcbKcbFtbKmbKlbKkbKebKBbKCbGXbGYbLxbIAbIBbIBbIubKxbEcbKwbKzbKAbmobKybKbbKabkybksbhQbCxbLEbCxbCxbCxbCxbCxbDVbhQbLCbEzbHPbHPblTbLObojbBWbMabIYbIYbLFbLHbLIbLKbIYbLLbLMbLBbLwbLvbDBbLtbLjbKXbKTbJAbKJaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabjBbjBbkQbjSbjSbjSbjSbjSbjSbjSbjSbjSbjSbjSbjBbjBaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaabGpbMwbMxbMybGpbMzbGtbGubASbASbMAbMAbMAbASbASbGDbJkbJkbGibJkbJkbJkblPbKYaaabGLbMDbMEbMFbMGbMHbMIbMJbMGbMGbMKbGBbGlbGkbGHbGHbGHbGHbGHbGHbMObGHbGHbyKbGGbGmbGKbPycpqasZbymbEbbBxbBxbBxbHdbHcbApbFtbxQbGZbHbbBtbGVbxPbGXbGYbtKbGSbGTbGUbGNbGObEcbGPbGcbGdbmobGgbHgbHebkybksbhQbhQbIpbCxbCxbCxbCxbhQbhQbhQbIobHYbHPbHPblTbHQbojbBWbCXbHAbHybHzbHtbHubHrbHsbHnbHpbGEbGxbGMbGJbGQbngbHlbHkbGobGnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbjBbjSbjSbjSbjSbjSbjSbjXbjSbHmbjSbjSbjSbjSbjSbjBbjBaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNObESbNPbESbNQdnfaafaaaaaabASbNRbNSbNTbASaaabGDccpcbybzibJkbJkbJkblPbKYaaabGLbNWbNXbNYbNZbHVbOabObbOcbOdbGFbIabIqbIcbIbbIdbIdbIdbIdbIdbIdbItbIdbIebIebIEbGKbGKbGKbGKbymbymbHwbHwbHwbymbymbHvbHobyXbHibzGbBubCUbyYbIlbImbEcbIkbEcbEcbEcbEcbEcbIjbIfbBAbmobHSbIsbCibkybksbhQbIMbIVbIUbIRbIQbITbISbIMblUbIPbIObIZblTblTbJmbojbOVbngbngbjfbjfbjfbjfbIWbjfbIXbIYbIHbjfbIhbCWbyVbngbIKbIJbIGbngaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabjBbulbulbulbulbulbulbILbjSbuPbulbHmbjSbjSbjSbjSbjBaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafcbxbGDbGDbGDbGDbJkblQblPbPiaaabPjbJpbPkbPlbPmbHVbHVbPnblOblMbmqbmwblSblRbCtbgXbgXbgXbgXbgXbgXbgXbgXbPwbPxboobonbmAbmybGKbymblCblBblDblDblGblqblIblHblKblJblYblXbmabmbbmcbmdbmebmfbmgbmiblVbmkbidbmlbmmbmnbmobmpblfblebkybksbhQblyblxblwbicbicbicblzblEblUbkIblAblTblTbQebgnbojbojbQgaafbjcblZblWbjabmvbjablFbmtbnEbjfblLbnHbmjbngbnwbnjbnjbolaagaagaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabombmNbmNbmNbmNbmNbmNbmNbmMbmLbjSbjSbjSbjSbmObmLbjBaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafcbxbGDbGDbGDbGDbJkblQblPbPiaaabPjbJpbPkbPlbPmbHVbHVbPnblOblMbmqbmwblSblRbCtbgXbgXbgXbgXbgXbgXbgXbgXbPwbPxboobonbmAbmybGKbymblCblBblDblDbDgblqblIblHblKblJblYblXbmabmbbmcbmdbmebmfbmgbmiblVbmkbidbmlbmmbmnbmobmpblfblebkybksbhQblyblxblwbicbicbicblzblEblUbkIblAblTblTbQebgnbojbojbQgaafbjcblZblWbjabmvbjablFbmtbnEbjfblLbnHbmjbngbnwbnjbnjbolaagaagaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabombmNbmNbmNbmNbmNbmNbmNbmMbmLbjSbjSbjSbjSbmObmLbjBaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaBcaCcaCcaDcaEbGDccfbJkbmKbGDaaaaaaaaaaaabGFbQybQzbQAbQBbGFbQCbCtbmIbmHbmJbCtbgXbmEbmGbmFbmCbmBbmDbfNbfNbfNbfNbfNbfNbkjbnZbnXboUboXbBzboObpkbpjbpibphbpobpnbnIblNbnIbnJblubnvbnNbnObnLbnMbnObnSbsqbnQbnVbnWbnubnUbmubmxbmzbnhbpbbpabpfbpebplbpgbpqbpgbpsbprbRlbmhbnfbRnbojbgnbojbojbRoaafbjcbjdbjdbopboqboKboPboYbpwbjfbgqbgpbUKbngbngbngbngbngaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabjBbpubpubpubpubpubpubpvbjSbptbpubkabjSbjSbjSbjSbjBaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkfcbncbocbpbJkbgsbJkbJkbgtbGDbguaaaaaaaaabGFbGFbGFbGFbGFbGFbGFbCtbhybhibhhbCtbgXbhBbgwbgxbgxbgwbgvbfNbgMbgLbgDbgBbfNbhGbymbymbfCbfAbfFbfEbBzbggbgibhHbfJbcPbgfbfLbgTbgVbgWbgYbgjbgkbbVbcZbgkbhfbhjbhEbhIbhabhcbhdbinbilbGKbhYbCTbhNbhNbhJbicbiubisbicbicbiabSlbgmbSnbojbSobgnbojbSpbSqaafbjcbjdbjbbjabiAbjabivbiybjmbjfbgqbgpbjubitbyVaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbjBbjSbjSbjSbjSbjSbjSbjXbjSbkabjSbjSbjSbjSbjSbjBbjBaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccecaCcaCcaDcbtbiLbkebGDbkubGDccgbkvbkEccgccgbjFbjLbjMbgZbjTbjUblvbYpbjqbjxbllbjybgwbjEbjDbiNbiMbiObfNbiQbiPbjpbiRbfNbkibsabjZbjYbjWbjVbiTbiTbkhbkgbkkbiDbkdbkcbkbbiDbiDbiBbiCbizbwUbhebhFbhebiKbiIbiJbiGbiHbiEbiFbiGbklbGKbksbCTbknbkrbkobkMbkLbkPbkNbhQbhQbrhbiwbrhbrhbrhbhTbxqbhRbrhbjfbjfbjfbjfbjfbkmbjfbjfbjfbjfbjfbgqbgpblgbkpbyVaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabjBbjBbkQbjSbjSbjSbjSbjSbjSbjSbjSbjSbjSbjSbjBbjBaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -11685,16 +11686,16 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdqTdqTdqTdqTdrJdrKdrLdrMdrNdrOdrPdrQdrRdrSdrTdrUdrVdrTdrWdrEdrTdrXdrUdrDaafaafdrYdrZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdsadsadqTdqTdsadsadsadsadqTdsadsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdqTdrJdrJdrJdrJdsbdscdlOdsddsedsedsedsfdsgdrTdshdsidsjdrEdrEdskdsidshdrDaafaafaafdslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdsadqTdqTdqTdqTdqTdqTdsadsadqTdqTdqTdqTdsadsadsadsadqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTaaaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdrJdrJdsmdsndrJdsodsodsodsodJIdsedsqdDvdDudrTdrTdrTdrTdstdsudsvdsvdsvdsvdsvdsvdswdsxdsyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadszdsAdszaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdsadqTdqTdqTdsadsadqTdsadsadsadqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdsaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdrJdsBdsCdsDdsEdlHdsGdsHdsIdsJdsKdsLdDldDkdrTdsOdsPdrTdDjdDidDhdsTdsUdnFdnGdDWdsXdsYdsZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtadtbdtaaafaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdqTdsadsadsadsadsadqTdqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdrJdtcdtddKIdrJdtfdsFdtgdthdtidtjdtkdEBdEAdEedEddEgdEfdEjdnHdDhdnIdDEdnJdnLdnKdtxdtydsZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtzdtAdtBdtCaafaaaaaadqTdqTdqTdqTdqTdqTdqTdsadqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaaaaadqVdtDaaadqTdqTdqTdrJdtcdtddtEdrJdtFdtgdtGdtHdKbdtJdtKdtJdDAdtJdtJdtJdrDdDydDxdrDdtOdDEdnMdnOdnNdtRdsYdsZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtSdtTdtTdtUdtVdtWdtaaafaaaaaadqTdqTdqTdqTdsadsadsadqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaafdtXdtYdrsdrsdrsdtZduaaaadqTdqTdqTdrJdtcdubdlKdrJdudduedGwdGNduhduidMrdukdGudumdunduodrDdHhdGOdrDdurdFudnQdnOdsvdsvduudnPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduwduxduyduzduAduBduCaafaafdsadsadqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaduDduDduDaafduEduaaafaafaafaafaafaaadrJdrJdrJdrJdrJdEUdFtdrJdsodrDdlCdlIduJdtJduKduLdEKduNduOduPdrDdEQdEPdlJdnRdnVdnUdnWdsvdnTdnSdBvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUaaadqUdqUdqUdqUdqUaaadqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadszdsAdszaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdsadqTdqTdqTdsadsadqTdsadsadsadqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdsaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdrJdsBdsCdsDdsEdlHdsGdsHdsIdsJdsKdsLdDldDkdrTdsOdsPdrTdDjdDidDhdlJdnIdnFdnGdnJdsXdsYdsZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtadtbdtaaafaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdqTdsadsadsadsadsadqTdqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdrJdtcdtddKIdrJdtfdsFdtgdthdtidtjdtkdEBdEAdEedEddEgdEfdEjdnHdDhdnRdnVdnUdnLdnKdtxdtydsZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtzdtAdtBdtCaafaaaaaadqTdqTdqTdqTdqTdqTdqTdsadqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaaaaadqVdtDaaadqTdqTdqTdrJdtcdtddtEdrJdtFdtgdtGdtHdKbdtJdtKdtJdDAdtJdtJdtJdrDdDydDxdrDdoidojdnMdnOdnNdtRdsYdsZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtSdtTdtTdtUdtVdtWdtaaafaaaaaadqTdqTdqTdqTdsadsadsadqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaafdtXdtYdrsdrsdrsdtZduaaaadqTdqTdqTdrJdtcdubdlKdrJdudduedGwdGNduhduidMrdukdGudumdunduodrDdHhdGOdrDdokdFudnQdnOdsvdsvduudnPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduwduxduyduzduAduBduCaafaafdsadsadqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaduDduDduDaafduEduaaafaafaafaafaafaaadrJdrJdrJdrJdrJdEUdFtdrJdsodrDdlCdlIduJdtJduKduLdEKduNduOduPdrDdEQdEPdomdoldoodondnWdsvdnTdnSdBvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUaaadqUdqUdqUdqUdqUaaadqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduZdtTdtTdvadvbdtWdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaduDduDduDaaaaaadrIdvddvddvddvddvddvddvddrTdvedvfdObdvhdKOdKPdKJdKKdLddLcdLgdLfdtJdvqdvrdLhdvtdLndLMdLAdMbdLVdvzdvzdvzdvAdKQdyOdnYdnXdnZcrHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUaaadqUdqUdqUdqUdqUaaadqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafdvGdvHdvIdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaduDaaaaaadrIdvddvddvddvddvddvddvddvJdvKdvLdvMdHidICdIKdILdIQdJFdJEdlMdlLdvWdvXdvYdJGdKcdNidMWdJHdKudKtdvzdlNdwhdKEdKCdvzdoadBvdBvdBvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafdwldwmdwndwodvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaadrIdvddvddvddvddvddvddvddwpdwqdwrdwsdymdwudwudwvdwwdwxdrDdlkdljdrDdwAdwBdwCdwDdwEdDzdtJdysdyndwIdwJdwJdwKdyvdwMdocdobdBvdBvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafdwQdwRdwSdvcdwTdwUdvcdvcdvcdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaadrIdvddvddvddvddvddvddvddwVdwqdwrdwsdymdwWdwXdwvdwYdwZdrDdyldxNdrDdxcdtJdtJdtJdtJdxddtJdxMdxLdvzdDwdxhdxidxjdxkdoedoddCidCiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafdxodxpdxqdxrdxsdxtdszduBdxudvcdxvdxwdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaadrIdvddvddvddvddvddvddvddrTdwqdwrdwsdymdxxdxydwvdxzdxAdrDdzkdlpdlqdxEdxFdxGdxHdrDdxIdxJdyZdDCdzgdzadxOdxPdxQdxRdoedBvdBvdBvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafdxodxpdxqdxrdxsdxtdszduBdxudvcdxvdxwdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaadrIdvddvddvddvddvddvddvddrTdwqdwrdwsdymdxxdxydwvdxzdxAdrDdzkdlpdlqdxEdxFdxGdxHdrDdxIdxJdyZdDCdzgdopdxOdxPdxQdxRdoedBvdBvdBvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafdxSdxTdxpdxUdxVdxWdxXdxYdxudxZdxwdyadxvdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaadybdycdyddyedmndycdyddygdyhdyidyjdykdyMdykdrDdrDdrDdrDdrDdySdlndlodxEdrEdxGdzQdrDdyqdyrdyQdyPdlmdYzdywdofdogdyzdyAdyBdrDdyCdtYdrsdrsdrsdrsdrsdrsdrtdyDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadyEdxSdyFdxSdxqdxqdwTdyGdxVdvcdwodyHdvcdxwdyIdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsaaaaaaaaaaaaaaaaaaadyJdlxdyLdmqdAUdATdATdARdASdAXdATdlydAWdyTdyUdyVdyWdyXdAGdlvdludzbdzcdzddzedzfdrDdzhdzidAQdAMdrDdvzdzldvzdrDdrDdzmdzndzodzpdzqdzrdzrdzsdzrdzrdzrdztdrZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafdzudzvdxqdzwdzxdxqdvIdzydxWdzzdzAdzBdvcdvcdvcdvcdvcdvcdsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaadzCdzDdyLdyLdzEdyLdzFdzGdAjdzIdzJdltdzLdzMdyUdAkdAldAcdAbdAadzZdzYdzXdzWdzPdAidAhdAgdzPdAfdAedlsdAddzRdzSdzOdlrdzWdzPdzHdzNdzUdDHdzTdAmdAndAodApdzrdslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 0758b3a1986212d791aae3820961cc31404b1c76 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Thu, 19 Jun 2014 18:02:39 -0400 Subject: [PATCH 36/84] Fixes skipjack reserve tanks having wrong dir set --- maps/tgstation2.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maps/tgstation2.dmm b/maps/tgstation2.dmm index 89d11b60da..2c43042c1c 100644 --- a/maps/tgstation2.dmm +++ b/maps/tgstation2.dmm @@ -8451,7 +8451,7 @@ "dgA" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "vox_east_vent"; tag_exterior_door = "vox_northeast_lock"; frequency = 1331; id_tag = "vox_east_control"; tag_interior_door = "vox_southeast_lock"; pixel_x = -24; req_access_txt = "150"; tag_chamber_sensor = "vox_east_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "vox_east_vent"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) "dgB" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox/station) "dgC" = (/obj/machinery/body_scanconsole{known_implants = list(/obj/item/weapon/implant/cortical)},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) -"dgD" = (/obj/machinery/atmospherics/pipe/tank/nitrogen,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) +"dgD" = (/obj/machinery/atmospherics/pipe/tank/nitrogen{dir = 1; initialize_directions = 1},/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) "dgE" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) "dgF" = (/obj/machinery/bodyscanner,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) "dgG" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox/station) From 9ef1216147ab5793060b4ca31fd59d32a4a6f66a Mon Sep 17 00:00:00 2001 From: mwerezak Date: Thu, 19 Jun 2014 18:11:39 -0400 Subject: [PATCH 37/84] Updates l_move_time to use world.time --- code/game/atoms_movable.dm | 4 ++-- code/modules/mob/living/carbon/human/human.dm | 2 +- code/modules/organs/organ.dm | 2 +- code/modules/vehicles/vehicle.dm | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 1326e65e5e..41da5ea7c8 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -15,8 +15,8 @@ /atom/movable/Move() var/atom/A = src.loc . = ..() - src.move_speed = world.timeofday - src.l_move_time - src.l_move_time = world.timeofday + src.move_speed = world.time - src.l_move_time + src.l_move_time = world.time src.m_flag = 1 if ((A != src.loc && A && A.z == src.z)) src.last_move = get_dir(A, src.loc) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 2925449d0e..c25a712ec7 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1220,7 +1220,7 @@ return usr << "Don't move until counting is finished." - var/time = world.timeofday + var/time = world.time sleep(60) if(usr.l_move_time >= time) //checks if our mob has moved during the sleep() usr << "You moved while counting. Try again." diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm index 47a7f67a07..953676585b 100644 --- a/code/modules/organs/organ.dm +++ b/code/modules/organs/organ.dm @@ -74,7 +74,7 @@ //Moving around with fractured ribs won't do you any good if (broken && E.internal_organs && prob(15)) - if (!lying && world.timeofday - l_move_time < 15) + if (!lying && world.time - l_move_time < 15) var/datum/organ/internal/I = pick(E.internal_organs) custom_pain("You feel broken bones moving in your [E.display_name]!", 1) I.take_damage(rand(3,5)) diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm index 6ae7f3ee14..0ba37cb562 100644 --- a/code/modules/vehicles/vehicle.dm +++ b/code/modules/vehicles/vehicle.dm @@ -36,7 +36,7 @@ //spawn the cell you want in each vehicle /obj/vehicle/Move() - if(world.timeofday > l_move_time + move_delay) + if(world.time > l_move_time + move_delay) if(on && powered && cell.charge < power_use) turn_off() From d512d62869b0530d737f17df8fc40dd9a1ba2199 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Thu, 19 Jun 2014 21:25:59 -0400 Subject: [PATCH 38/84] Re-enables organ infections, adds wound infection --- code/game/atoms.dm | 2 +- code/modules/mob/living/carbon/carbon.dm | 11 ++++++ .../mob/living/carbon/human/examine.dm | 4 +-- code/modules/mob/living/carbon/human/life.dm | 7 ++-- code/modules/organs/organ.dm | 10 ++++-- code/modules/organs/organ_external.dm | 36 +++++++++++-------- code/setup.dm | 10 +++++- 7 files changed, 54 insertions(+), 26 deletions(-) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 351216b8bf..3253f272d0 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -10,7 +10,7 @@ var/last_bumped = 0 var/pass_flags = 0 var/throwpass = 0 - var/germ_level = 0 // The higher the germ level, the more germ on the atom. + var/germ_level = GERM_LEVEL_AMBIENT // The higher the germ level, the more germ on the atom. ///Chemistry. var/datum/reagents/reagents = null diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 0e6d130a56..441af0673d 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -1,3 +1,10 @@ +/mob/living/carbon/Life() + ..() + + // Increase germ_level regularly + if(germ_level < GERM_LEVEL_AMBIENT) //if you're just standing there, you shouldn't get more germs beyond an ambient level + germ_level++ //increase by 1 per second + /mob/living/carbon/Move(NewLoc, direct) . = ..() if(.) @@ -7,6 +14,10 @@ src.nutrition -= HUNGER_FACTOR/10 if((FAT in src.mutations) && src.m_intent == "run" && src.bodytemperature <= 360) src.bodytemperature += 2 + + // Moving around increases germ_level faster + if(germ_level < GERM_LEVEL_MOVE_CAP && prob(1)) + germ_level++ /mob/living/carbon/relaymove(var/mob/user, direction) if(user in src.stomach_contents) diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 9cc0e22dfc..ad2bd377db 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -284,8 +284,8 @@ var/this_wound_desc = W.desc if(W.bleeding()) this_wound_desc = "bleeding [this_wound_desc]" else if(W.bandaged) this_wound_desc = "bandaged [this_wound_desc]" - if(W.germ_level > 1000) this_wound_desc = "badly infected [this_wound_desc]" - else if(W.germ_level > 100) this_wound_desc = "lightly infected [this_wound_desc]" + if(W.germ_level > GANGREN_LEVEL_TWO) this_wound_desc = "badly infected [this_wound_desc]" + else if(W.germ_level > 330) this_wound_desc = "lightly infected [this_wound_desc]" if(this_wound_desc in wound_descriptors) wound_descriptors[this_wound_desc] += W.amount continue diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 2640f85819..c7cbbf5965 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1215,14 +1215,11 @@ if(druggy) druggy = max(druggy-1, 0) -/* - // Increase germ_level regularly - if(prob(40)) - germ_level += 1 + // If you're dirty, your gloves will become dirty, too. if(gloves && germ_level > gloves.germ_level && prob(10)) gloves.germ_level += 1 -*/ + return 1 proc/handle_regular_hud_updates() diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm index 953676585b..13823602b7 100644 --- a/code/modules/organs/organ.dm +++ b/code/modules/organs/organ.dm @@ -72,12 +72,18 @@ if(E.status & ORGAN_BROKEN && !(E.status & ORGAN_SPLINTED) ) broken = 1 + if (!lying && world.time - l_move_time < 15) //Moving around with fractured ribs won't do you any good - if (broken && E.internal_organs && prob(15)) - if (!lying && world.time - l_move_time < 15) + if (broken && E.internal_organs && prob(15)) var/datum/organ/internal/I = pick(E.internal_organs) custom_pain("You feel broken bones moving in your [E.display_name]!", 1) I.take_damage(rand(3,5)) + + //Moving makes open wounds get infected much faster + if (E.wounds.len) + for(var/datum/wound/W in E.wounds) + if (W.can_infect()) + W.germ_level += 1 //Special effects for limbs. if(E.name in list("l_hand","l_arm","r_hand","r_arm")) diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index acd9efcb65..992bf8ed7f 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -295,7 +295,10 @@ This function completely restores a damaged organ to perfect condition. if(last_dam != brute_dam + burn_dam) // Process when we are fully healed up. last_dam = brute_dam + burn_dam return 1 - last_dam = brute_dam + burn_dam + else + last_dam = brute_dam + burn_dam + if(germ_level > GANGREN_LEVEL_ONE) + return 1 return 0 /datum/organ/external/process() @@ -331,31 +334,34 @@ This function completely restores a damaged organ to perfect condition. return //Updating germ levels. Handles organ germ levels and necrosis. -#define GANGREN_LEVEL_ONE 100 -#define GANGREN_LEVEL_TWO 1000 -#define GANGREN_LEVEL_TERMINAL 2500 -#define GERM_TRANSFER_AMOUNT germ_level/500 +//#define GERM_TRANSFER_AMOUNT germ_level/500 /datum/organ/external/proc/update_germs() - if(status & ORGAN_ROBOT|ORGAN_DESTROYED) //Robotic limbs shouldn't be infected, nor should nonexistant limbs. + if(status & (ORGAN_ROBOT|ORGAN_DESTROYED)) //Robotic limbs shouldn't be infected, nor should nonexistant limbs. germ_level = 0 return - if(germ_level > 0 && owner.bodytemperature >= 170) //cryo stops germs from moving and doing their bad stuffs + if(owner.bodytemperature >= 170) //cryo stops germs from moving and doing their bad stuffs //Syncing germ levels with external wounds for(var/datum/wound/W in wounds) - if(!W.bandaged && !W.salved) - W.germ_level = max(W.germ_level, germ_level) //Wounds get all the germs - if (W.germ_level > germ_level) //Badly infected wounds raise internal germ levels - germ_level++ - - if(germ_level > GANGREN_LEVEL_ONE && prob(round(germ_level/100))) - germ_level++ - owner.adjustToxLoss(1) + //Open wounds can become infected + if (owner.germ_level > W.germ_level && W.can_infect()) + W.germ_level++ + + //Infected wounds raise the organ's germ level + W.germ_level = max(W.germ_level, germ_level) //Wounds get all the germs + if (W.germ_level > germ_level) //Badly infected wounds raise internal germ levels + germ_level++ if(germ_level > GANGREN_LEVEL_TWO) germ_level++ owner.adjustToxLoss(1) + + else if(germ_level > GANGREN_LEVEL_ONE && prob(round(germ_level/10))) //aiming for a light infection to become serious after 40 minutes, standing still + germ_level += 1 + owner.adjustToxLoss(1) + + /* if(germ_level > GANGREN_LEVEL_TERMINAL) if (!(status & ORGAN_DEAD)) diff --git a/code/setup.dm b/code/setup.dm index 3c190f1e2a..9cb3645c79 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -765,4 +765,12 @@ var/list/RESTRICTED_CAMERA_NETWORKS = list( //Those networks can only be accesse //Shuttle moving status #define SHUTTLE_IDLE 0 #define SHUTTLE_WARMUP 1 -#define SHUTTLE_INTRANSIT 2 \ No newline at end of file +#define SHUTTLE_INTRANSIT 2 + +//Germs and infection +//These numbers have been calculated so that an untreated cut will become a serious infection after 50 minutes. +#define GERM_LEVEL_AMBIENT 120 //maximum germ level you can reach by standing still +#define GERM_LEVEL_MOVE_CAP 300 //maximum germ level you can reach by running around +#define GANGREN_LEVEL_ONE 50 +#define GANGREN_LEVEL_TWO 1000 +#define GANGREN_LEVEL_TERMINAL 2500 From 82a85c2bae5bcd6d0c22678b898c92f4e7471999 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Thu, 19 Jun 2014 21:39:56 -0400 Subject: [PATCH 39/84] Tweaks wound infection a bit --- code/modules/mob/living/carbon/carbon.dm | 6 +++--- code/modules/mob/living/carbon/human/examine.dm | 2 +- code/modules/organs/organ_external.dm | 9 +++++---- code/setup.dm | 6 +++--- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 441af0673d..3b35984931 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -2,8 +2,8 @@ ..() // Increase germ_level regularly - if(germ_level < GERM_LEVEL_AMBIENT) //if you're just standing there, you shouldn't get more germs beyond an ambient level - germ_level++ //increase by 1 per second + if(germ_level < GERM_LEVEL_AMBIENT && prob(80)) //if you're just standing there, you shouldn't get more germs beyond an ambient level + germ_level++ /mob/living/carbon/Move(NewLoc, direct) . = ..() @@ -16,7 +16,7 @@ src.bodytemperature += 2 // Moving around increases germ_level faster - if(germ_level < GERM_LEVEL_MOVE_CAP && prob(1)) + if(germ_level < GERM_LEVEL_MOVE_CAP && prob(8)) germ_level++ /mob/living/carbon/relaymove(var/mob/user, direction) diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index ad2bd377db..f5ef826bdd 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -284,7 +284,7 @@ var/this_wound_desc = W.desc if(W.bleeding()) this_wound_desc = "bleeding [this_wound_desc]" else if(W.bandaged) this_wound_desc = "bandaged [this_wound_desc]" - if(W.germ_level > GANGREN_LEVEL_TWO) this_wound_desc = "badly infected [this_wound_desc]" + if(W.germ_level > 600) this_wound_desc = "badly infected [this_wound_desc]" else if(W.germ_level > 330) this_wound_desc = "lightly infected [this_wound_desc]" if(this_wound_desc in wound_descriptors) wound_descriptors[this_wound_desc] += W.amount diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 992bf8ed7f..7a600b5a4d 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -353,13 +353,14 @@ This function completely restores a damaged organ to perfect condition. if (W.germ_level > germ_level) //Badly infected wounds raise internal germ levels germ_level++ + if(germ_level > GANGREN_LEVEL_ONE && prob(round(germ_level/10))) //aiming for a light infection to become serious after 40 minutes, standing still + germ_level += 1 + if (prob(50)) + owner.adjustToxLoss(1) + if(germ_level > GANGREN_LEVEL_TWO) germ_level++ owner.adjustToxLoss(1) - - else if(germ_level > GANGREN_LEVEL_ONE && prob(round(germ_level/10))) //aiming for a light infection to become serious after 40 minutes, standing still - germ_level += 1 - owner.adjustToxLoss(1) /* diff --git a/code/setup.dm b/code/setup.dm index 9cb3645c79..016aaea9c2 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -769,8 +769,8 @@ var/list/RESTRICTED_CAMERA_NETWORKS = list( //Those networks can only be accesse //Germs and infection //These numbers have been calculated so that an untreated cut will become a serious infection after 50 minutes. -#define GERM_LEVEL_AMBIENT 120 //maximum germ level you can reach by standing still -#define GERM_LEVEL_MOVE_CAP 300 //maximum germ level you can reach by running around -#define GANGREN_LEVEL_ONE 50 +#define GERM_LEVEL_AMBIENT 110 //maximum germ level you can reach by standing still +#define GERM_LEVEL_MOVE_CAP 200 //maximum germ level you can reach by running around +#define GANGREN_LEVEL_ONE 100 #define GANGREN_LEVEL_TWO 1000 #define GANGREN_LEVEL_TERMINAL 2500 From ffbad1ef158395cc2bf853f8bd7176c68e3721cb Mon Sep 17 00:00:00 2001 From: mwerezak Date: Thu, 19 Jun 2014 22:41:32 -0400 Subject: [PATCH 40/84] Spaceacillin cures infected organs --- code/modules/organs/organ_external.dm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 7a600b5a4d..813f63e8fe 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -297,7 +297,7 @@ This function completely restores a damaged organ to perfect condition. return 1 else last_dam = brute_dam + burn_dam - if(germ_level > GANGREN_LEVEL_ONE) + if(germ_level) return 1 return 0 @@ -353,12 +353,15 @@ This function completely restores a damaged organ to perfect condition. if (W.germ_level > germ_level) //Badly infected wounds raise internal germ levels germ_level++ + var/antibiotics = owner.reagents.get_reagent_amount("spaceacillin") + if (antibiotics > 5) + if (prob(4*antibiotics)) germ_level-- + if(germ_level > GANGREN_LEVEL_ONE && prob(round(germ_level/10))) //aiming for a light infection to become serious after 40 minutes, standing still germ_level += 1 - if (prob(50)) - owner.adjustToxLoss(1) + owner.adjustToxLoss(1) - if(germ_level > GANGREN_LEVEL_TWO) + if(germ_level > GANGREN_LEVEL_TWO && antibiotics < 30) //overdosing is necessary to stop severe infections germ_level++ owner.adjustToxLoss(1) From 25e333a39b3f808723db69e55c2826877e76a22c Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 16 Jun 2014 21:21:24 -0400 Subject: [PATCH 41/84] Fixes #5186 --- .../items/weapons/grenades/flashbang.dm | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/code/game/objects/items/weapons/grenades/flashbang.dm b/code/game/objects/items/weapons/grenades/flashbang.dm index 4024e5275e..2716719fda 100644 --- a/code/game/objects/items/weapons/grenades/flashbang.dm +++ b/code/game/objects/items/weapons/grenades/flashbang.dm @@ -7,19 +7,21 @@ prime() ..() - for(var/obj/structure/closet/L in view(get_turf(src), null)) + for(var/obj/structure/closet/L in hear(7, get_turf(src))) if(locate(/mob/living/carbon/, L)) for(var/mob/living/carbon/M in L) bang(get_turf(src), M) - for(var/mob/living/carbon/M in viewers(get_turf(src), null)) + for(var/mob/living/carbon/M in hear(7, get_turf(src))) bang(get_turf(src), M) - for(var/obj/effect/blob/B in view(8,get_turf(src))) //Blob damage here + for(var/obj/effect/blob/B in hear(8,get_turf(src))) //Blob damage here var/damage = round(30/(get_dist(B,get_turf(src))+1)) B.health -= damage B.update_icon() + + new/obj/effect/effect/smoke/flashbang(src.loc) del(src) return @@ -30,7 +32,7 @@ S.icon_state = "shield0" M << "\red BANG" - playsound(src.loc, 'sound/effects/bang.ogg', 25, 1) + playsound(src.loc, 'sound/effects/bang.ogg', 50, 1, 5) //Checking for protections var/eye_safety = 0 @@ -98,6 +100,15 @@ M << "\red Your ears start to ring!" M.update_icons() +/obj/effect/effect/smoke/flashbang + name = "illumination" + time_to_live = 10 + opacity = 0 + icon_state = "sparks" + +/obj/effect/effect/smoke/flashbang/New() + ..() + SetLuminosity(15) /obj/item/weapon/grenade/flashbang/clusterbang//Created by Polymorph, fixed by Sieve desc = "Use of this weapon may constiute a war crime in your area, consult your local captain." From 15e10fdb59670e0b1efe189c11454469a239ede3 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Fri, 20 Jun 2014 10:36:47 +0200 Subject: [PATCH 42/84] Gives the ERT-engineers a set of inflatables for those lonely shuttle rides. Glass and metal reserves on the Research outpost now have more than a single sheet of each kind. --- maps/tgstation2.dmm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/maps/tgstation2.dmm b/maps/tgstation2.dmm index dcba9205db..75dec7514d 100644 --- a/maps/tgstation2.dmm +++ b/maps/tgstation2.dmm @@ -7093,8 +7093,8 @@ "cGu" = (/obj/structure/table/reinforced{icon_state = "reinf_tabledir"},/obj/item/weapon/lighter/zippo,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) "cGv" = (/obj/structure/table/reinforced{icon_state = "reinf_tabledir"},/obj/item/weapon/storage/fancy/cigarettes,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) "cGw" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"cGx" = (/obj/item/stack/sheet/glass{amount = 5000},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"cGy" = (/obj/item/stack/sheet/metal{amount = 5000},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"cGx" = (/obj/item/stack/sheet/glass{amount = 50},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) +"cGy" = (/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) "cGz" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) "cGA" = (/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) "cGB" = (/obj/structure/closet/secure_closet/personal,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) @@ -7361,7 +7361,7 @@ "cLC" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/belt/security,/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/baton,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "cLD" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "cLE" = (/obj/structure/rack,/obj/item/clothing/head/helmet/space/rig/ert/engineer,/obj/item/clothing/suit/space/rig/ert/engineer,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/head/helmet/space/rig/ert/engineer,/obj/item/clothing/suit/space/rig/ert/engineer,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/head/helmet/space/rig/ert/engineer,/obj/item/clothing/suit/space/rig/ert/engineer,/obj/item/clothing/tie/storage/brown_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) -"cLF" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) +"cLF" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/briefcase/inflatable,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) "cLG" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "cLH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) "cLI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) @@ -8868,6 +8868,7 @@ "doB" = (/obj/machinery/driver_button{id = "research"; pixel_x = 6; pixel_y = -26},/obj/machinery/conveyor{dir = 4; id = "archgunc"},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/window/westleft{base_state = "right"; dir = 1; icon_state = "right"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/research_outpost/power) "doC" = (/obj/structure/sign/deathsposal{pixel_x = 32},/obj/machinery/disposal/deliveryChute{dir = 8; name = "disposal inlet"},/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/power) "doD" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/window/westleft{base_state = "right"; dir = 1; icon_state = "right"},/obj/machinery/door/window/westleft{dir = 2},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage) +"doE" = (/obj/structure/rack,/obj/item/stack/sheet/metal{amount = 50; pixel_x = 5; pixel_y = 5},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/storage/belt/utility{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/toolbox/emergency{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/plating,/area/research_outpost/maintstore1) "dqT" = (/turf/simulated/mineral,/area/mine/unexplored) "dqU" = (/turf/space,/area/syndicate_station/mining) "dqV" = (/obj/structure/transit_tube{icon_state = "D-SE"},/obj/structure/lattice,/turf/space,/area) @@ -8905,7 +8906,6 @@ "drH" = (/obj/structure/transit_tube{icon_state = "NW-SE"},/obj/structure/lattice,/turf/space,/area) "drI" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "N-S"},/turf/space,/area) "drJ" = (/turf/simulated/wall/r_wall,/area/research_outpost/spectro) -"drK" = (/obj/structure/rack,/obj/item/stack/sheet/metal{pixel_x = 5; pixel_y = 5},/obj/item/stack/sheet/glass,/obj/item/weapon/storage/belt/utility{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/toolbox/emergency{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/plating,/area/research_outpost/maintstore1) "drL" = (/turf/simulated/floor/plating,/area/research_outpost/maintstore1) "drM" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/research_outpost/maintstore1) "drN" = (/turf/simulated/wall,/area/research_outpost/maintstore1) @@ -11684,7 +11684,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqVdqWdqXdqXdrndrndrndrndrndnNdrndnOdrcdqTdqTdqTdqTdqTdqTdqTdqTdqTdrddredrfaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqVdrgdrhdqTdqTdqTdqTdqTdqTdridridridrjdrkdrcdqTdqTdqTdrldnQdnPdnPdnRdrpdrqdrrdrsdrsdqXdrsdrtdruaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrvdrhdqTdqTdqTdqTdqTdqTdqTdridrwdrxdrydrjdrkdrzdridrAdrBdrCdrDdrDdrDdrEdrFdrDdrDdrDdrDaafdrGdrHdruaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdqTdqTdqTdqTdrJdrKdrLdrMdrNdrOdrPdrQdrRdrSdrTdrUdrVdrTdrWdrEdrTdrXdrUdrDaafaafdrYdrZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdqTdqTdqTdqTdrJdoEdrLdrMdrNdrOdrPdrQdrRdrSdrTdrUdrVdrTdrWdrEdrTdrXdrUdrDaafaafdrYdrZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdsadsadqTdqTdsadsadsadsadqTdsadsadsadsadsadsadsadqTdqTdqTdqTdqTdqTdqTdqTaaaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdqTdrJdrJdrJdrJdsbdscdlOdsddsedsedsedsfdsgdrTdshdsidsjdrEdrEdskdsidshdrDaafaafaafdslaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdsadqTdqTdqTdqTdqTdqTdsadsadqTdqTdqTdqTdsadsadsadsadqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTaaaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdrJdrJdsmdsndrJdsodsodsodsodJIdsedsqdDvdDudrTdrTdrTdrTdstdsudsvdsvdsvdsvdsvdsvdswdsxdsyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadszdsAdszaaaaaaaaaaaaaaadqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdqTdsadqTdqTdqTdsadsadqTdsadsadsadqTdqTdsadsadsadsadsadsadsadsadsadsadsadsadsadsadqTdsaaaaaaaaaaaaaaaaaaaaaaaaadrIdqTdqTdqTdqTdrJdsBdsCdsDdsEdlHdsGdsHdsIdsJdsKdsLdDldDkdrTdsOdsPdrTdDjdDidDhdnSdnUdnTdnWdnVdsXdsYdsZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUdqUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From f02e6fdd4590928cd02b016910521ce21a49c91e Mon Sep 17 00:00:00 2001 From: Cael Aislinn Date: Fri, 20 Jun 2014 13:13:33 +1000 Subject: [PATCH 43/84] rework talking items and re-enable them, made xenoarch boxes have a variable internal size, added three new eldritch xenoarch finds (poltergeist mask, vampiric statuette, endless replenishing container) Signed-off-by: Cael Aislinn --- baystation12.dme | 1 + code/game/objects/objs.dm | 2 + .../research/xenoarchaeology/finds/finds.dm | 47 ++-- .../xenoarchaeology/finds/finds_defines.dm | 14 +- .../xenoarchaeology/finds/finds_special.dm | 203 ++++++++++++++++++ .../finds/finds_talkingitem.dm | 98 +++++---- .../machinery/geosample_scanner.dm | 6 +- 7 files changed, 309 insertions(+), 62 deletions(-) create mode 100644 code/modules/research/xenoarchaeology/finds/finds_special.dm diff --git a/baystation12.dme b/baystation12.dme index 0de6d131ab..f64655d5a0 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1250,6 +1250,7 @@ #include "code\modules\research\xenoarchaeology\finds\finds_defines.dm" #include "code\modules\research\xenoarchaeology\finds\finds_fossils.dm" #include "code\modules\research\xenoarchaeology\finds\finds_misc.dm" +#include "code\modules\research\xenoarchaeology\finds\finds_special.dm" #include "code\modules\research\xenoarchaeology\finds\finds_talkingitem.dm" #include "code\modules\research\xenoarchaeology\genetics\prehistoric_animals.dm" #include "code\modules\research\xenoarchaeology\genetics\prehistoric_plants.dm" diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index fdbb5195f5..b489a69b56 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -121,6 +121,8 @@ /obj/proc/hear_talk(mob/M as mob, text) + if(talking_atom) + talking_atom.catchMessage(text, M) /* var/mob/mo = locate(/mob) in src if(mo) diff --git a/code/modules/research/xenoarchaeology/finds/finds.dm b/code/modules/research/xenoarchaeology/finds/finds.dm index 1d77a68f0f..09f91d0342 100644 --- a/code/modules/research/xenoarchaeology/finds/finds.dm +++ b/code/modules/research/xenoarchaeology/finds/finds.dm @@ -113,7 +113,10 @@ switch(find_type) if(1) item_type = "bowl" - new_item = new /obj/item/weapon/reagent_containers/glass(src.loc) + if(prob(33)) + new_item = new /obj/item/weapon/reagent_containers/glass/replenishing(src.loc) + else + new_item = new /obj/item/weapon/reagent_containers/glass/beaker(src.loc) new_item.icon = 'icons/obj/xenoarchaeology.dmi' new_item.icon_state = "bowl" apply_image_decorations = 1 @@ -121,7 +124,10 @@ additional_desc = "There appear to be [pick("dark","faintly glowing","pungent","bright")] [pick("red","purple","green","blue")] stains inside." if(2) item_type = "urn" - new_item = new /obj/item/weapon/reagent_containers/glass(src.loc) + if(prob(33)) + new_item = new /obj/item/weapon/reagent_containers/glass/replenishing(src.loc) + else + new_item = new /obj/item/weapon/reagent_containers/glass/beaker(src.loc) new_item.icon = 'icons/obj/xenoarchaeology.dmi' new_item.icon_state = "urn" apply_image_decorations = 1 @@ -139,11 +145,14 @@ "It's a mystery how anyone is supposed to eat with this",\ "You wonder what the creator's mouth was shaped like")]." if(4) + name = "statuette" item_type = "statuette" icon_state = "statuette" additional_desc = "It depicts a [pick("small","ferocious","wild","pleasing","hulking")] \ [pick("alien figure","rodent-like creature","reptilian alien","primate","unidentifiable object")] \ [pick("performing unspeakable acts","posing heroically","in a fetal position","cheering","sobbing","making a plaintive gesture","making a rude gesture")]." + if(prob(25)) + new_item = new /obj/item/weapon/vampiric(src.loc) if(5) item_type = "instrument" icon_state = "instrument" @@ -194,6 +203,9 @@ new_item = new /obj/item/weapon/storage/box(src.loc) new_item.icon = 'icons/obj/xenoarchaeology.dmi' new_item.icon_state = "box" + var/obj/item/weapon/storage/box/new_box = new_item + new_box.max_w_class = pick(1,2,2,3,3,3,4,4) + new_box.max_combined_w_class = rand(new_box.max_w_class, new_box.max_w_class * 10) if(prob(30)) apply_image_decorations = 1 if(12) @@ -260,6 +272,10 @@ apply_material_decorations = 0 if(prob(10)) apply_image_decorations = 1 + if(prob(25)) + new_item = new /obj/item/device/soulstone(src.loc) + new_item.icon = 'icons/obj/xenoarchaeology.dmi' + new_item.icon_state = icon_state if(17) //cultblade apply_prefix = 0 @@ -462,7 +478,12 @@ "It doesn't look human.") apply_image_decorations = 0 apply_material_decorations = 0 - + if(35) + //gas mask + if(prob(25)) + new_item = new /obj/item/clothing/mask/gas/poltergeist(src.loc) + else + new_item = new /obj/item/clothing/mask/gas(src.loc) var/decorations = "" if(apply_material_decorations) source_material = pick("cordite","quadrinium","steel","titanium","aluminium","ferritic-alloy","plasteel","duranium") @@ -520,18 +541,14 @@ new_item.name = name new_item.desc = src.desc - if(talkative && istype(new_item,/obj/item/weapon)) - new_item.listening_to_players = 1 - if(prob(25)) - new_item.speaking_to_players = 1 - processing_objects.Add(src) - var/turf/T = get_turf(src) - if(istype(T, /turf/simulated/mineral)) - T:last_find = new_item + if(talkative) + new_item.talking_atom = new() + talking_atom.holder_atom = new_item + talking_atom.init() + del(src) else if(talkative) - listening_to_players = 1 - if(prob(25)) - speaking_to_players = 1 - processing_objects.Add(src) + src.talking_atom = new() + talking_atom.holder_atom = src + talking_atom.init() diff --git a/code/modules/research/xenoarchaeology/finds/finds_defines.dm b/code/modules/research/xenoarchaeology/finds/finds_defines.dm index a28742d6c5..4026cc0a03 100644 --- a/code/modules/research/xenoarchaeology/finds/finds_defines.dm +++ b/code/modules/research/xenoarchaeology/finds/finds_defines.dm @@ -33,7 +33,8 @@ #define ARCHAEO_REMAINS_HUMANOID 32 #define ARCHAEO_REMAINS_ROBOT 33 #define ARCHAEO_REMAINS_XENO 34 -#define MAX_ARCHAEO 34 +#define ARCHAEO_GASMASK 35 +#define MAX_ARCHAEO 35 //eggs //droppings //footprints @@ -119,6 +120,8 @@ return "carbon" if(ARCHAEO_REMAINS_XENO) return "carbon" + if(ARCHAEO_GASMASK) + return "carbon" return "phoron" //see /turf/simulated/mineral/New() in code/modules/mining/mine_turfs.dm @@ -153,6 +156,7 @@ 100;ARCHAEO_PEN,\ 100;ARCHAEO_LIGHTER,\ 100;ARCHAEO_BOX,\ + 75;ARCHAEO_GASMASK,\ 75;ARCHAEO_COIN,\ 75;ARCHAEO_UNKNOWN,\ 50;ARCHAEO_SHARD,\ @@ -161,6 +165,7 @@ ) if(DIGSITE_TECHNICAL) find_type = pick(\ + 125;ARCHAEO_GASMASK,\ 100;ARCHAEO_METAL,\ 100;ARCHAEO_GASTANK,\ 100;ARCHAEO_TELEBEACON,\ @@ -175,6 +180,7 @@ if(DIGSITE_TEMPLE) find_type = pick(\ 200;ARCHAEO_CULTROBES,\ + 200;ARCHAEO_STATUETTE,\ 100;ARCHAEO_URN,\ 100;ARCHAEO_BOWL,\ 100;ARCHAEO_KNIFE,\ @@ -188,7 +194,8 @@ 10;ARCHAEO_CLAYMORE,\ 10;ARCHAEO_SHARD,\ 10;ARCHAEO_RODS,\ - 10;ARCHAEO_METAL\ + 10;ARCHAEO_METAL,\ + 10;ARCHAEO_GASMASK,\ ) if(DIGSITE_WAR) find_type = pick(\ @@ -200,6 +207,7 @@ 50;ARCHAEO_UNKNOWN,\ 50;ARCHAEO_CULTROBES,\ 50;ARCHAEO_CULTBLADE,\ + 50;ARCHAEO_GASMASK,\ 25;ARCHAEO_HANDCUFFS,\ 25;ARCHAEO_BEARTRAP,\ 25;ARCHAEO_TOOL\ @@ -262,6 +270,8 @@ var/list/finds_as_strings = list( \ #undef ARCHAEO_REMAINS_HUMANOID #undef ARCHAEO_REMAINS_ROBOT #undef ARCHAEO_REMAINS_XENO +#undef ARCHAEO_GASMASK +#undef MAX_ARCHAEO #undef DIGSITE_GARDEN #undef DIGSITE_ANIMAL diff --git a/code/modules/research/xenoarchaeology/finds/finds_special.dm b/code/modules/research/xenoarchaeology/finds/finds_special.dm new file mode 100644 index 0000000000..b2c0fb3898 --- /dev/null +++ b/code/modules/research/xenoarchaeology/finds/finds_special.dm @@ -0,0 +1,203 @@ + + + +//endless reagents! +/obj/item/weapon/reagent_containers/glass/replenishing + var/spawning_id + +/obj/item/weapon/reagent_containers/glass/replenishing/New() + ..() + processing_objects.Add(src) + spawning_id = pick("blood","holywater","lube","stoxin","ethanol","ice","glycerol","fuel","cleaner") + +/obj/item/weapon/reagent_containers/glass/replenishing/process() + reagents.add_reagent(spawning_id, 0.3) + + + +//a talking gas mask! +/obj/item/clothing/mask/gas/poltergeist + var/list/heard_talk = list() + var/last_twitch = 0 + var/max_stored_messages = 100 + +/obj/item/clothing/mask/gas/poltergeist/New() + processing_objects.Add(src) + +/obj/item/clothing/mask/gas/poltergeist/process() + if(heard_talk.len && istype(src.loc, /mob/living) && prob(10)) + var/mob/living/M = src.loc + M.say(pick(heard_talk)) + +/obj/item/clothing/mask/gas/poltergeist/hear_talk(mob/M as mob, text) + ..() + if(heard_talk.len > max_stored_messages) + heard_talk.Remove(pick(heard_talk)) + heard_talk.Add(text) + if(istype(src.loc, /mob/living) && world.time - last_twitch > 50) + last_twitch = world.time + + + +//a vampiric statuette +//todo: cult integration +/obj/item/weapon/vampiric + name = "statuette" + icon_state = "statuette" + icon = 'icons/obj/xenoarchaeology.dmi' + var/charges = 0 + var/list/nearby_mobs = list() + var/last_bloodcall = 0 + var/bloodcall_interval = 50 + var/last_eat = 0 + var/eat_interval = 100 + var/wight_check_index = 1 + var/list/shadow_wights = list() + +/obj/item/weapon/vampiric/New() + ..() + processing_objects.Add(src) + +/obj/item/weapon/vampiric/process() + //see if we've identified anyone nearby + if(world.time - last_bloodcall > bloodcall_interval && nearby_mobs.len) + var/mob/living/carbon/human/M = pop(nearby_mobs) + if(M in view(7,src) && M.health > 20) + if(prob(50)) + bloodcall(M) + nearby_mobs.Add(M) + + //suck up some blood to gain power + if(world.time - last_eat > eat_interval) + var/obj/effect/decal/cleanable/blood/B = locate() in range(2,src) + if(B) + last_eat = world.time + B.loc = null + if(istype(B, /obj/effect/decal/cleanable/blood/drip)) + charges += 0.25 + else + charges += 1 + playsound(src.loc, 'sound/effects/splat.ogg', 50, 1, -3) + + //use up stored charges + if(charges >= 10) + charges -= 10 + new /obj/effect/spider/eggcluster(pick(view(1,src))) + + if(charges >= 3) + if(prob(5)) + charges -= 1 + var/spawn_type = pick(/mob/living/simple_animal/hostile/creature) + new spawn_type(pick(view(1,src))) + playsound(src.loc, pick('sound/hallucinations/growl1.ogg','sound/hallucinations/growl2.ogg','sound/hallucinations/growl3.ogg'), 50, 1, -3) + + if(charges >= 1) + if(shadow_wights.len < 5 && prob(5)) + shadow_wights.Add(new /obj/effect/shadow_wight(src.loc)) + playsound(src.loc, 'sound/effects/ghost.ogg', 50, 1, -3) + charges -= 0.1 + + if(charges >= 0.1) + if(prob(5)) + src.visible_message("\red \icon[src] [src]'s eyes glow ruby red for a moment!") + charges -= 0.1 + + //check on our shadow wights + if(shadow_wights.len) + wight_check_index++ + if(wight_check_index > shadow_wights.len) + wight_check_index = 1 + + var/obj/effect/shadow_wight/W = shadow_wights[wight_check_index] + if(isnull(W)) + shadow_wights.Remove(wight_check_index) + else if(isnull(W.loc)) + shadow_wights.Remove(wight_check_index) + else if(get_dist(W, src) > 10) + shadow_wights.Remove(wight_check_index) + +/obj/item/weapon/vampiric/hear_talk(mob/M as mob, text) + ..() + if(world.time - last_bloodcall >= bloodcall_interval && M in view(7, src)) + bloodcall(M) + +/obj/item/weapon/vampiric/proc/bloodcall(var/mob/living/carbon/human/M) + last_bloodcall = world.time + if(istype(M)) + playsound(src.loc, pick('sound/hallucinations/wail.ogg','sound/hallucinations/veryfar_noise.ogg','sound/hallucinations/far_noise.ogg'), 50, 1, -3) + nearby_mobs.Add(M) + + var/target = pick("chest","groin","head","l_arm","r_arm","r_leg","l_leg","l_hand","r_hand","l_foot","r_foot") + M.apply_damage(rand(5, 10), BRUTE, target) + M << "\red The skin on your [parse_zone(target)] feels like it's ripping apart, and a stream of blood flies out." + var/obj/effect/decal/cleanable/blood/splatter/animated/B = new(M.loc) + B.target_turf = pick(range(1, src)) + B.blood_DNA = list() + B.blood_DNA[M.dna.unique_enzymes] = M.dna.b_type + M.vessel.remove_reagent("blood",rand(25,50)) + +//animated blood 2 SPOOKY +/obj/effect/decal/cleanable/blood/splatter/animated + var/turf/target_turf + var/loc_last_process + +/obj/effect/decal/cleanable/blood/splatter/animated/New() + ..() + processing_objects.Add(src) + loc_last_process = src.loc + +/obj/effect/decal/cleanable/blood/splatter/animated/process() + if(target_turf && src.loc != target_turf) + step_towards(src,target_turf) + if(src.loc == loc_last_process) + target_turf = null + loc_last_process = src.loc + + //leave some drips behind + if(prob(50)) + var/obj/effect/decal/cleanable/blood/drip/D = new(src.loc) + D.blood_DNA = src.blood_DNA.Copy() + if(prob(50)) + D = new(src.loc) + D.blood_DNA = src.blood_DNA.Copy() + if(prob(50)) + D = new(src.loc) + D.blood_DNA = src.blood_DNA.Copy() + else + ..() + +/obj/effect/shadow_wight + name = "shadow wight" + icon = 'icons/mob/mob.dmi' + icon_state = "shade" + density = 1 + +/obj/effect/shadow_wight/New() + processing_objects.Add(src) + +/obj/effect/shadow_wight/process() + if(src.loc) + src.loc = get_turf(pick(orange(1,src))) + var/mob/living/carbon/M = locate() in src.loc + if(M) + playsound(src.loc, pick('sound/hallucinations/behind_you1.ogg',\ + 'sound/hallucinations/behind_you2.ogg',\ + 'sound/hallucinations/i_see_you1.ogg',\ + 'sound/hallucinations/i_see_you2.ogg',\ + 'sound/hallucinations/im_here1.ogg',\ + 'sound/hallucinations/im_here2.ogg',\ + 'sound/hallucinations/look_up1.ogg',\ + 'sound/hallucinations/look_up2.ogg',\ + 'sound/hallucinations/over_here1.ogg',\ + 'sound/hallucinations/over_here2.ogg',\ + 'sound/hallucinations/over_here3.ogg',\ + 'sound/hallucinations/turn_around1.ogg',\ + 'sound/hallucinations/turn_around2.ogg',\ + ), 50, 1, -3) + M.sleeping = max(M.sleeping,rand(5,10)) + src.loc = null + else + processing_objects.Remove(src) + +/obj/effect/shadow_wight/Bump(var/atom/obstacle) + obstacle << "\red You feel a chill run down your spine!" diff --git a/code/modules/research/xenoarchaeology/finds/finds_talkingitem.dm b/code/modules/research/xenoarchaeology/finds/finds_talkingitem.dm index f518030075..65a2e24ca0 100644 --- a/code/modules/research/xenoarchaeology/finds/finds_talkingitem.dm +++ b/code/modules/research/xenoarchaeology/finds/finds_talkingitem.dm @@ -4,50 +4,64 @@ // This could be extended to atoms, but it's bad enough as is // I genuinely tried to Add and Remove them from var and proc lists, but just couldn't get it working -/obj/item/weapon - var/list/heard_words = list() - var/lastsaid - var/listening_to_players = 0 - var/speaking_to_players = 0 +//for easy reference +/obj/var/datum/talking_atom/talking_atom -/obj/item/weapon/process() - if(!speaking_to_players) +/datum/talking_atom + var/list/heard_words = list() + var/last_talk_time = 0 + var/atom/holder_atom + var/talk_interval = 50 + var/talk_chance = 10 + +/datum/talking_atom/proc/init() + if(holder_atom) + processing_objects.Add(src) + +/datum/talking_atom/proc/process() + if(!holder_atom) processing_objects.Remove(src) - return - if(prob(10) && world.timeofday >= lastsaid && heard_words.len >= 1) + + else if(heard_words.len >= 1 && world.time > last_talk_time + talk_interval && prob(talk_chance)) SaySomething() -/obj/item/weapon/proc/catchMessage(var/msg, var/mob/source) - if(speaking_to_players) - var/list/seperate = list() - if(findtext(msg,"((")) - return - else if(findtext(msg,"))")) - return - else if(findtext(msg," ")==0) - return - else - /*var/l = lentext(msg) - if(findtext(msg," ",l,l+1)==0) - msg+=" "*/ - seperate = text2list(msg, " ") +/datum/talking_atom/proc/catchMessage(var/msg, var/mob/source) + if(!holder_atom) + return - for(var/Xa = 1,Xa 20 + rand(10,20)) - heard_words.Remove(heard_words[1]) - if(!heard_words["[lowertext(seperate[Xa])]"]) - heard_words["[lowertext(seperate[Xa])]"] = list() - var/list/w = heard_words["[lowertext(seperate[Xa])]"] - if(w) - w.Add("[lowertext(seperate[next])]") - //world << "Adding [lowertext(seperate[next])] to [lowertext(seperate[Xa])]" + var/list/seperate = list() + if(findtext(msg,"((")) + return + else if(findtext(msg,"))")) + return + else if(findtext(msg," ")==0) + return + else + /*var/l = lentext(msg) + if(findtext(msg," ",l,l+1)==0) + msg+=" "*/ + seperate = text2list(msg, " ") + + for(var/Xa = 1,Xa 20 + rand(10,20)) + heard_words.Remove(heard_words[1]) + if(!heard_words["[lowertext(seperate[Xa])]"]) + heard_words["[lowertext(seperate[Xa])]"] = list() + var/list/w = heard_words["[lowertext(seperate[Xa])]"] + if(w) + w.Add("[lowertext(seperate[next])]") + //world << "Adding [lowertext(seperate[next])] to [lowertext(seperate[Xa])]" - if(!rand(0, 5)) - spawn(2) SaySomething(pick(seperate)) if(prob(30)) - for(var/mob/O in viewers(src)) - O.show_message("\blue [src] hums for bit then stops...", 1) + var/list/options = list("[holder_atom] seems to be listening intently to [source]...",\ + "[holder_atom] seems to be focussing on [source]...",\ + "[holder_atom] seems to turn it's attention to [source]...") + holder_atom.loc.visible_message("\blue \icon[holder_atom] [pick(options)]") + + if(prob(20)) + spawn(2) + SaySomething(pick(seperate)) /*/obj/item/weapon/talkingcrystal/proc/debug() //set src in view() @@ -57,7 +71,9 @@ for(var/X in d) world << "[X]"*/ -/obj/item/weapon/proc/SaySomething(var/word = null) +/datum/talking_atom/proc/SaySomething(var/word = null) + if(!holder_atom) + return var/msg var/limit = rand(max(5,heard_words.len/2))+3 @@ -95,7 +111,7 @@ else msg+="!" - var/list/listening = viewers(src) + var/list/listening = viewers(holder_atom) for(var/mob/M in mob_list) if (!M.client) continue //skip monkeys and leavers @@ -105,5 +121,5 @@ listening|=M for(var/mob/M in listening) - M << "[src] reverberates, \blue\"[msg]\"" - lastsaid = world.timeofday + rand(300,800) + M << "\icon[holder_atom] [holder_atom] reverberates, \blue\"[msg]\"" + last_talk_time = world.time diff --git a/code/modules/research/xenoarchaeology/machinery/geosample_scanner.dm b/code/modules/research/xenoarchaeology/machinery/geosample_scanner.dm index eaf92181b2..bddd133ade 100644 --- a/code/modules/research/xenoarchaeology/machinery/geosample_scanner.dm +++ b/code/modules/research/xenoarchaeology/machinery/geosample_scanner.dm @@ -285,10 +285,8 @@ data = " - Mundane object (archaic xenos origins)
" var/obj/item/weapon/archaeological_find/A = scanned_item - if(A.speaking_to_players) - data = " - Exhibits properties consistent with sonic reproduction.
" - if(A.listening_to_players) - data = " - Exhibits properties similar to audio capture technology.
" + if(A.talking_atom) + data = " - Exhibits properties consistent with sonic reproduction and audio capture technologies.
" var/anom_found = 0 if(G) From 22cc2558ffb4a9ab7649ee554d4939f8c9faf832 Mon Sep 17 00:00:00 2001 From: Cael Aislinn Date: Fri, 20 Jun 2014 18:42:38 +1000 Subject: [PATCH 44/84] switched autocloner and replicator artifacts over to a timer system, made replicator use materials to create items (materials can be anything) Signed-off-by: Cael Aislinn --- .../artifact/artifact_autocloner.dm | 21 +++--- .../artifact/artifact_replicator.dm | 72 ++++++++++++++----- 2 files changed, 65 insertions(+), 28 deletions(-) diff --git a/code/modules/research/xenoarchaeology/artifact/artifact_autocloner.dm b/code/modules/research/xenoarchaeology/artifact/artifact_autocloner.dm index e602e4363f..fb01ee4661 100644 --- a/code/modules/research/xenoarchaeology/artifact/artifact_autocloner.dm +++ b/code/modules/research/xenoarchaeology/artifact/artifact_autocloner.dm @@ -5,8 +5,9 @@ icon = 'icons/obj/cryogenics.dmi' icon_state = "cellold0" var/spawn_type - var/current_ticks_spawning = 0 - var/ticks_required_to_spawn + var/time_spent_spawning = 0 + var/time_per_spawn = 0 + var/last_process= 0 density = 1 var/previous_power_state = 0 @@ -17,7 +18,7 @@ /obj/machinery/auto_cloner/New() ..() - ticks_required_to_spawn = rand(240,1440) + time_per_spawn = rand(1200,3600) //33% chance to spawn nasties if(prob(33)) @@ -53,13 +54,12 @@ src.visible_message("\blue \icon[src] [src] suddenly comes to life!") //slowly grow a mob - current_ticks_spawning++ if(prob(5)) src.visible_message("\blue \icon[src] [src] [pick("gloops","glugs","whirrs","whooshes","hisses","purrs","hums","gushes")].") //if we've finished growing... - if(current_ticks_spawning >= ticks_required_to_spawn) - current_ticks_spawning = 0 + if(time_spent_spawning >= time_per_spawn) + time_spent_spawning = 0 use_power = 1 src.visible_message("\blue \icon[src] [src] pings!") icon_state = "cellold1" @@ -68,7 +68,7 @@ new spawn_type(src.loc) //if we're getting close to finished, kick into overdrive power usage - if(current_ticks_spawning / ticks_required_to_spawn > 0.75) + if(time_spent_spawning / time_per_spawn > 0.75) use_power = 2 icon_state = "cellold2" desc = "It's full of a bubbling viscous liquid, and is lit by a mysterious glow. A dark shape appears to be forming inside..." @@ -76,6 +76,8 @@ use_power = 1 icon_state = "cellold1" desc = "It's full of a bubbling viscous liquid, and is lit by a mysterious glow." + + time_spent_spawning = time_spent_spawning + world.time - last_process else if(previous_power_state) previous_power_state = 0 @@ -83,5 +85,6 @@ src.visible_message("\blue \icon[src] [src] suddenly shuts down.") //cloned mob slowly breaks down - if(current_ticks_spawning > 0) - current_ticks_spawning-- + time_spent_spawning = max(time_spent_spawning + last_process - world.time, 0) + + last_process = world.time diff --git a/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm b/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm index 63999f9921..56954dc6dd 100644 --- a/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm +++ b/code/modules/research/xenoarchaeology/artifact/artifact_replicator.dm @@ -10,10 +10,15 @@ active_power_usage = 1000 use_power = 1 - var/spawn_progress = 0 - var/max_spawn_ticks = 5 + var/spawn_progress_time = 0 + var/max_spawn_time = 50 + var/last_process_time = 0 + var/list/construction = list() var/list/spawning_types = list() + var/list/stored_materials = list() + + var/fail_message /obj/machinery/replicator/New() ..() @@ -66,32 +71,52 @@ var/quantity = rand(5,15) for(var/i=0, i max_spawn_ticks) + spawn_progress_time += world.time - last_process_time + if(spawn_progress_time > max_spawn_time) src.visible_message("\blue \icon[src] [src] pings!") - var/spawn_type = spawning_types[1] - new spawn_type(src.loc) - spawning_types.Remove(spawning_types[1]) - spawn_progress = 0 - max_spawn_ticks = rand(5,30) + var/obj/source_material = pop(stored_materials) + var/spawn_type = pop(spawning_types) + var/obj/spawned_obj = new spawn_type(src.loc) + if(source_material) + if(lentext(source_material.name) < MAX_MESSAGE_LEN) + spawned_obj.name = "[source_material] " + spawned_obj.name + if(lentext(source_material.desc) < MAX_MESSAGE_LEN * 2) + if(spawned_obj.desc) + spawned_obj.desc += " It is made of [source_material]." + else + spawned_obj.desc = "It is made of [source_material]." + source_material.loc = null - if(!spawning_types.len) + spawn_progress_time = 0 + max_spawn_time = rand(30,100) + + if(!spawning_types.len || !stored_materials.len) use_power = 1 icon_state = "borgcharger0(old)" else if(prob(5)) src.visible_message("\blue \icon[src] [src] [pick("clicks","whizzes","whirrs","whooshes","clanks","clongs","clonks","bangs")].") + last_process_time = world.time + /obj/machinery/replicator/attack_hand(mob/user as mob) interact(user) @@ -103,17 +128,26 @@ user << browse(dat, "window=alien_replicator") +/obj/machinery/replicator/attackby(obj/item/weapon/W as obj, mob/living/user as mob) + user.drop_item() + W.loc = src + stored_materials.Add(W) + src.visible_message("\blue [user] inserts [W] into [src].") + /obj/machinery/replicator/Topic(href, href_list) if(href_list["activate"]) var/index = text2num(href_list["activate"]) if(index > 0 && index <= construction.len) - if(spawning_types.len) - src.visible_message("\blue \icon[src] a [pick("light","dial","display","meter","pad")] on [src]'s front [pick("blinks","flashes")] [pick("red","yellow","blue","orange","purple","green","white")].") - else - src.visible_message("\blue \icon[src] [src]'s front compartment slides shut.") + if(stored_materials.len > spawning_types.len) + if(spawning_types.len) + src.visible_message("\blue \icon[src] a [pick("light","dial","display","meter","pad")] on [src]'s front [pick("blinks","flashes")] [pick("red","yellow","blue","orange","purple","green","white")].") + else + src.visible_message("\blue \icon[src] [src]'s front compartment slides shut.") - spawning_types.Add(construction[construction[index]]) - spawn_progress = 0 - use_power = 2 - icon_state = "borgcharger1(old)" + spawning_types.Add(construction[construction[index]]) + spawn_progress_time = 0 + use_power = 2 + icon_state = "borgcharger1(old)" + else + src.visible_message(fail_message) From a203686f9e6e460252e215404edfbe3c6b564416 Mon Sep 17 00:00:00 2001 From: Cael Aislinn Date: Fri, 20 Jun 2014 18:42:46 +1000 Subject: [PATCH 45/84] changelog update Signed-off-by: Cael Aislinn --- html/changelog.html | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/html/changelog.html b/html/changelog.html index bc1a68db0a..74d5c7f41e 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -114,6 +114,18 @@ should be listed in the changelog upon commit though. Thanks. --> +
+

20 June 2014

+

Cael_Aislinn updated:

+
    +
  • New discoverable items added to xenoarchaeology, and new features for some existing ones. Artifact harvesters can now harvest the secondary effect of artifacts as well as the primary one.
    +
  • +
  • Artifact utilisers should be much nicer/easier to use now.
    +
  • Alden-Saraspova counters and talking items should work properly now.
    +
  • +
+
+

3 Juni 2014

Hubblenaut updated:

@@ -163,6 +175,19 @@ should be listed in the changelog upon commit though. Thanks. -->
+ +
+

3 May 2014

+

Cael_Aislinn updated:

+
    +
  • Coming out of nowhere the past few months, the Garland Corporation has made headlines with a new prehistoric theme park delighting travellers with species thought extinct. Now available for research stations everywhere is the technology that made it all possible! Features include:
    + - 13 discoverable prehistoric species to clone from fossils (including 5 brand new ones).
    + - 11 discoverable prehistoric plants to clone from fossils (including 9 brand new ones).
    + - New minigame that involves correctly ordering the genomes inside each genetic sequence to unlock an animal/plant.
    + - Some prehistoric animals and plants may seem strangely familiar... while others may bring more than the erstwhile scientist bargains for.
    +
  • +
+
From 8f033797d69efdb78244d8092681218fea1bc6f7 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Fri, 20 Jun 2014 10:52:27 +0200 Subject: [PATCH 46/84] Finally found the inflatable duck floating ring that had been replaced with inflatable walls. Fixed 3 instances, one on the beach holodeck and two in CentCom. Another two inflatable barrier boxes added. --- maps/tgstation2.dmm | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/maps/tgstation2.dmm b/maps/tgstation2.dmm index 75dec7514d..e8f7f8f03c 100644 --- a/maps/tgstation2.dmm +++ b/maps/tgstation2.dmm @@ -7029,7 +7029,7 @@ "cFi" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) "cFj" = (/obj/machinery/door/window{dir = 4; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) "cFk" = (/obj/machinery/door/window/westright{name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cFl" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/syndicate,/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) +"cFl" = (/obj/item/weapon/inflatable_duck,/turf/simulated/floor/beach/sand{tag = "icon-desert1"; icon_state = "desert1"},/area/holodeck/source_beach) "cFm" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) "cFn" = (/obj/machinery/door/window{dir = 8; name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) "cFo" = (/obj/structure/closet/crate/medical,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/adv,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) @@ -8869,6 +8869,9 @@ "doC" = (/obj/structure/sign/deathsposal{pixel_x = 32},/obj/machinery/disposal/deliveryChute{dir = 8; name = "disposal inlet"},/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/power) "doD" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/window/westleft{base_state = "right"; dir = 1; icon_state = "right"},/obj/machinery/door/window/westleft{dir = 2},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage) "doE" = (/obj/structure/rack,/obj/item/stack/sheet/metal{amount = 50; pixel_x = 5; pixel_y = 5},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/storage/belt/utility{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/toolbox/emergency{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/plating,/area/research_outpost/maintstore1) +"doF" = (/obj/structure/table,/obj/item/weapon/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/toolbox/syndicate{pixel_x = -3; pixel_y = -3},/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) +"doG" = (/obj/item/weapon/inflatable_duck,/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry) +"doH" = (/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/obj/item/weapon/inflatable_duck,/turf/unsimulated/floor{tag = "icon-siding4"; name = "plating"; icon_state = "siding4"},/area/centcom/holding) "dqT" = (/turf/simulated/mineral,/area/mine/unexplored) "dqU" = (/turf/space,/area/syndicate_station/mining) "dqV" = (/obj/structure/transit_tube{icon_state = "D-SE"},/obj/structure/lattice,/turf/space,/area) @@ -10383,7 +10386,6 @@ "dWg" = (/obj/structure/table,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "dWi" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor{dir = 1; icon_state = "green"},/area/medical/virology) "dWj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitegreen"},/area/medical/virology) -"dWl" = (/obj/item/inflatable,/turf/simulated/floor/beach/sand{tag = "icon-desert1"; icon_state = "desert1"},/area/holodeck/source_beach) "dWn" = (/obj/structure/table,/obj/item/weapon/storage/fancy/vials,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "dWo" = (/obj/structure/table,/obj/item/weapon/storage/lockbox/vials,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/obj/item/weapon/reagent_containers/syringe/antiviral,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "dWp" = (/obj/machinery/door/window/southright{name = "Virology Isolation Room Three"; req_access_txt = "39"},/turf/simulated/floor{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/medical/virology) @@ -10445,14 +10447,12 @@ "dXE" = (/turf/unsimulated/wall{icon_state = "phoron5"},/area/alien) "dXF" = (/turf/simulated/wall/r_wall,/area/medical/virologyaccess) "dXG" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/maintenance/asmaint) -"dXH" = (/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/obj/item/inflatable,/turf/unsimulated/floor{tag = "icon-siding4"; name = "plating"; icon_state = "siding4"},/area/centcom/holding) "dXI" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom) "dXJ" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery) "dXK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery) "dXL" = (/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery) "dXM" = (/obj/machinery/door/airlock/medical{name = "Operating Theatre 1 Storage"; req_access_txt = "45"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgeryprep) "dXN" = (/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/medical/surgeryprep) -"dXO" = (/obj/item/inflatable,/turf/unsimulated/beach/sand{tag = "icon-desert"; icon_state = "desert"},/area/centcom/ferry) "dXP" = (/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/medical/surgeryprep) "dXQ" = (/obj/machinery/door/airlock/medical{name = "Operating Theatre 2 Storage"; req_access_txt = "45"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgeryprep) "dXR" = (/turf/simulated/floor{icon_state = "freezerfloor"},/area/medical/surgery2) @@ -10881,7 +10881,7 @@ ctDcuAcuocuycuqcuucuCcuzcwRcwucwQcwycwlcwkcwfcwOcwicwhcxccuocuycuzcupcuqcuBcurct ctLcuqcurcuvcuzcutcuocuCcxccwOcwicwjcwxcwgcwlcwycwwcwvcxxcurcuvcuCcuwcuzcuycuuctBctSctTcuDcuEcuFcuGcuKctZcuIcuJctNctOctPctQctRctSctPcuFcuGcuKcuHcuDcuHcuIcuJctNctOctPctQctRctScuicujaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacuLcxgcxhcxfcxgcxhcuOcxicxycxicxicxicuOcxjcxzcxAcxBcxjcuOcxCcxCcxDcxEcxEcuOcxqcxFcxGcxHcxIcuOcxJcxKcxKcxKcxLcuOcxMcxNcxNcxNcxOcuZ ctIcuzcuucuxcuCcupcurcuocxxcwycwwcwhcwQcwucwxcwjcwPcwfcxPcuucuxcuocuscuCcuvcutctJcuGcuKcuHcuIcuJctNctOcuectQctRctSctTcuDcuEcuFcuGcvVcvWcvXcvYcvZcwactPctQctRctSctTcuDcuEcuFcuGctYcujaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacuLcxhcxfcxgcxhcxfcuOcxicxicxicxQcxicuOcxjebVebVebVcxjcuOcxCcxScxScxScxEcuOcxncxTcxncxocxncuOcxJcxKcxKcxKcxLcuOcxMcxNcxNcxNcxOcuZ ctycuCcutcuAcuocuwcuucurcxPcwjcwPcwvcwicwOcwQcwhcwkcwlcxUcutcuAcurcuBcuocuxcupctMcuHcuIcuJctNctOctPctQcugctSctTcuDcuEcuFcuGcuKcuHcwacxVcxWcxXcxYcwrctRctSctTcuDcuEcuFcuGcuKcuHcuacujaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacuLcxfcxgcxhcxfcxgcuOcxicxicxicxicxicuOcxjcxjcxjcxjcxjcuOcxCcxDcxDcxDcxEcuOcxocxncxqcxGcxqcuOcxJcxKcxKcxKcxLcuOcxMcxNcxNcxNcxOcuZ -ctHcuocupcuqcurcuscutcuucxUcwhcwkcwfcwwcwycwicwvcwgcwxcxZcupcuqcuucuycurcuAcuwctzctTcuDcuEcuFcuGcuKcuHcuacuJctNctOctPctQctRctSctTcwAcyacybcyccydcwFcuIcuJctNctOctPctQctRctSctTctUcujaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacuLcxgcxhcxfcxgcxhcuOcxicxicxicyecxicuOcxjdQMdQKdQLcxjcuOcyicyjcyjcyjcykcuOcxncxpcxndWlcxpcuOcymcyncyncyncyocuOcxMcxNcxNcxNcxOcuZ +ctHcuocupcuqcurcuscutcuucxUcwhcwkcwfcwwcwycwicwvcwgcwxcxZcupcuqcuucuycurcuAcuwctzctTcuDcuEcuFcuGcuKcuHcuacuJctNctOctPctQctRctSctTcwAcyacybcyccydcwFcuIcuJctNctOctPctQctRctSctTctUcujaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacuLcxgcxhcxfcxgcxhcuOcxicxicxicyecxicuOcxjdQMdQKdQLcxjcuOcyicyjcyjcyjcykcuOcxncxpcxncFlcxpcuOcymcyncyncyncyocuOcxMcxNcxNcxNcxOcuZ ctKcurcuwcuzcuucuBcupcutcxZcwvcwgcwlcwPcwjcwwcwfcwucwQcypcuwcuzcutcuvcuucuqcusctCcuKcuHcuIcuJctNctOctPcufctRctSctTcuDcuEcuFcuGcuKcwScyqcyrcyscyacwWctQctRctSctTcuDcuEcuFcuGcuKctZcujaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacuLcxhcxfcxgcxhcxfcuOcxicytcxicxicxicuOcxjdQJdQHdQIcxjcuOcyxcyycyycyycyzcuOcxqcyAcyBcyCcxocuOcyDcyEcyEcyEcyFcuOcyGcxNcxNcxNcyHcuZ ctBcuucuscuCcutcuycuwcupcypcwfcwucwxcwkcwhcwPcwlcwOcwicyIcuscuCcupcuxcutcuzcuBctFctPctQctRctSctTcuDcuEctWcuGcuKcuHcuIcuJctNctOctPcxdcwAcxecvWcvXcvYcuFcuGcuKcuHcuIcuJctNctOctPcufcujaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacuLcxfcxgcxhcxfcxgcuOcxicxicxicxicxycuOcxjdQJdQHdQIcxjcuOcyJcxDcyKcxDcyLcuOcyAcyMcyNcyOcyCcuOcyPcxKcxKcxKcyQcuOcyGcxNcxNcxNcyHcuZ ctJcutcuBcuocupcuvcuscuwcyIcwlcwOcwQcwgcwvcwkcwxcwycwwcyRcuBcuocuwcuAcupcuCcuyctEcuFcuGcuKcuHcuIcuJctNcudctPctQctRctSctTcuDcuEcuFcuGcuKcuHcuIcuJctNctOctPctQctRctSctTcuDcuEcuFctXcujaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacuLcxgcxhcxfcxgcxhcuOcyScxicxicxicxicuOcxjdQJdQHdQIcxjcuOcyJcyTcyTcyTcyLcuOcyMcyNcyNcyNcyOcuOcyPcxKcxKcxKcyQcuOcyGcxNcxNcxNcyHcuZ @@ -10932,8 +10932,8 @@ cuAcuscuCcupcuxcutcupcuxcutcuscuCcupcuxcutcuscuCcupcuxcutcuscuCcupcuxcutcuzcuBcu cuqcuBcuocuwcuAcupcuwcuAcupcuBcuocuwcuAcupcuBcuocuwcuAcupcuBcuocuwcuAcupcuCcuycuucujctCctLctKctActIctJctHctyctCctBctFctzctGctEctMctDctHctJctFctKctActyctzctIctEctBctDcujaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBtcBKcBKcCFcEecCRcCRcCRcEPcCRcCRcCRcEQcCRcERcEScCFcETcBKcDgcDqcEFcEUcEOcBtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa cuzcuycurcuscuqcuwcuscuqcuwcuycurcuscuqcuwcuycurcuscuqcuwcuycurcuscuqcuwcuocuvcutcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBtcBKcCEcCFcCFcCFcCFcCFcCFcEVcCRcCRcCFcCFcCFcCFcCFcCFcCJcDgcDNcEFcEGcEOcBtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa cujcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujcujaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBtcBKcCFcEWcEXcEYcVocVncCFcCRcCRcCRcCFcFbcFccFdcFecFfcCFcFgcBtcEFcEGcFhcBtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBtcBKcCFcFicFicFicFicFicFjcCRcCRcCRcFkcCRcCRcCRcCRcFlcCFcFgcBtcBtcBtcBtcBtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBtcBKcCFcEWcEXcFicFicFicFmcCRcCRcCRcFncCRcCRcCRcCRcFlcCFcCWcBKcBtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBtcBKcCFcFicFicFicFicFicFjcCRcCRcCRcFkcCRcCRcCRcCRdoFcCFcFgcBtcBtcBtcBtcBtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBtcBKcCFcEWcEXcFicFicFicFmcCRcCRcCRcFncCRcCRcCRcCRdoFcCFcCWcBKcBtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBtcBKcCFcFicFicFicFicFocCFcFpcFqcFrcCFcVtcCFcFtcCFcCFcCFcFucBKcBtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBtcBKcCFcFicFicFicCFcCFcCFcFvcFwcFicCFcCFcCFcCRcCRcCRcCFcCWcBKcBtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBtcBKcCFcEWcEXcFxcCFcBKcCFcFycFycFycCFcBKcCFcCVcFzcFAcCFcCWcBKcBtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -11028,10 +11028,10 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOycUXcUYcUYcUYcURcUVcQLcQAcQAcQAcQAcQAcQAcQAcQAcQAcQAcQAcQAcQAcQAcQAcQAcQzcPkcLvcPlcJJcJJcJJcVqcVpcRVcVrcQhcQhcQScVscNdaaaaaadXXcPLcOYcPMdYecPLcOYcPMdXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOycPbcPbcPbcPbcPbcUJcQTcUHcUKcQYcQAcQWcUOcUNcQYcQAcQAcQAcQAcQAcQAcQAcQAcQzcPkcLvcPIcJJcJJcJJcJJcUPcQhcQhcQhcQhcQhcUGcSacRVcRXcOVcZIcOYcPMdXXcPLcOYcZKcOVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOycPbcQxcPbcPbcPbcQVcQTcUfcUicQYcQAcQWcSAcSzcQYcQAcQAcSecSecSecSecSecSecQzcShcSgcSrcSicUzcUzcUzcUAcUzcUzcQhcQhcQhcUGcUBcUDcUBcQkcOYcOYcOYcOYcOYcOYcPMdXIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOycPbdXOcPbcPbcPbcQVcQLcQAcQAcQAcQAcQAcQAcQAcQAcQAcQCcRUcRUcRUcRUcRUcRUcQzcQzcQzcQzcQzcRZcRZcQzcQzcQzcQzcSacRVcRVcRVcRVcRVcRXcOVdXUdXTcRCdXIcZBcOYcZrcOVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOycPbdoGcPbcPbcPbcQVcQLcQAcQAcQAcQAcQAcQAcQAcQAcQAcQCcRUcRUcRUcRUcRUcRUcQzcQzcQzcQzcQzcRZcRZcQzcQzcQzcQzcSacRVcRVcRVcRVcRVcRXcOVdXUdXTcRCdXIcZBcOYcZrcOVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOycPbcPbcREcPbcRGcQVcQTcRNcRFcQYcQAcQWcRAcRzcQYcQAcQCcRycQBcQBcQBcQBcQBcQzcRBcRBcRBcRDcOtcOtcRRcRhcRhcQzcPKcPKcPKcPKcNdaaaaaacOVcRLcRMcPAcRgcOVcZpcZrcOVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOycQRcPbcPbcQPcPbcQVcQTcQUcQXcQYcQAcQWcRacQZcQYcQAcQCcQBcQBcQBcQBcQBcQBcQzcZccWncWkcWgcOtcOtcOtcRhcRhcQzcNdcNdcNdcNdcNdaaaaaadXIcPAcPAcPAcZecOVcZdcZdcOVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOycPbcPbcPbcPbcPbdXHcQLcQAcQAcQAcQAcQAcQAcQAcQAcQAcQCcQBcQBcQDcQFcQEcQGcQzcQIcWccWdcOtcPzcQpcOtcOtcQOcQzaaaaaaaaaaaaaaaaaaaaacOVcRLcRMcPAcWfcPocQjcQjcPsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOycPbcPbcPbcPbcPbdoHcQLcQAcQAcQAcQAcQAcQAcQAcQAcQAcQCcQBcQBcQDcQFcQEcQGcQzcQIcWccWdcOtcPzcQpcOtcOtcQOcQzaaaaaaaaaaaaaaaaaaaaacOVcRLcRMcPAcWfcPocQjcQjcPsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOycPbcQycPbcQxcOOcQvcQucQtcQtcQtcRjcRjcRjcRkcRlcQscRncRocRjcRjcRjcQzcQzcQzcQrcQqcQqcPzcQocQlcQpcQecQicQzaaaaaaaaaaaaaaaaaaaaacSncSocSpcSpcSpcPscSscSscSqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOycPbcPbcPbcOOcOPcOKcOUcOUcOUcOUcRjcRrcRscRtcRucRvcRwcRxcRscRrcRjcQzcQzcQzcQzcQzcQzcPPcQgcQfcPJcQecQicQzaaaaaaaaaaaaaaaaaaaaaaaacSncSscSscSscSqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOycQdcPbcOOcOPcOKcOKcOUcOUcOUcOUcRjcRscRHcRIcRucRvcRwcRJcRKcRscRjcPTcPRcPQcQbcQacQzcOtcPPcPJcOtcOtcPzcPfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 3bc389a7932ff2666ce482d7df03fc0b8609f057 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Fri, 20 Jun 2014 11:23:49 +0200 Subject: [PATCH 47/84] Again fixes space tile under a door at the Research outpost --- maps/tgstation2.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maps/tgstation2.dmm b/maps/tgstation2.dmm index e8f7f8f03c..8e3412fa05 100644 --- a/maps/tgstation2.dmm +++ b/maps/tgstation2.dmm @@ -8688,7 +8688,7 @@ "dld" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 1},/area/mine/explored) "dle" = (/obj/structure/dispenser,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/research_outpost/maintstore2) "dlf" = (/obj/machinery/mineral/input,/turf/simulated/floor{dir = 2; icon_state = "loadingarea"},/area/research_outpost/tempstorage) -"dlg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/glass_mining{name = "Expedition Prep"; req_access_txt = "65"},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/turf/space,/area/research_outpost/entry) +"dlg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/glass_mining{name = "Expedition Prep"; req_access_txt = "65"},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/turf/simulated/floor,/area/research_outpost/entry) "dlh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/research_outpost/tempstorage) "dli" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/research_outpost/tempstorage) "dlj" = (/obj/structure/sign/science{desc = "A warning sign which reads 'ANOMALOUS MATERIALS'"; name = "\improper ANOMALOUS MATERIALS"; pixel_x = 32},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/research_outpost/hallway) From b11408e367b56d519690c57b19ff1ce980176acc Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 20 Jun 2014 19:37:12 +0930 Subject: [PATCH 48/84] Less shitty undershirt sprites. --- icons/mob/human.dmi | Bin 12474 -> 12438 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/human.dmi b/icons/mob/human.dmi index cb21e0f5021a4ecb2b7a99c0b3bf638e1a57ad0b..c867b0d88623bc8fb25b3b7e137ab9bab97e20ad 100644 GIT binary patch literal 12438 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 From 032061522b8f2dbedb1ebeab5c4b434d250656a7 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Fri, 20 Jun 2014 13:37:07 -0400 Subject: [PATCH 49/84] Body temperature damage now uses species values --- code/modules/mob/living/carbon/human/life.dm | 27 +++++++++----------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index c7cbbf5965..666b3a9e91 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -677,50 +677,46 @@ if(adjusted_pressure < species.warning_low_pressure && adjusted_pressure > species.warning_low_pressure && abs(loc_temp - 293.15) < 20 && abs(bodytemperature - 310.14) < 0.5 && environment.phoron < MOLES_PHORON_VISIBLE) return // Temperatures are within normal ranges, fuck all this processing. ~Ccomp - //Body temperature is adjusted in two steps. Firstly your body tries to stabilize itself a bit. - if(stat != 2) - stabilize_temperature_from_calories() - - //After then, it reacts to the surrounding atmosphere based on your thermal protection - if(loc_temp < BODYTEMP_COLD_DAMAGE_LIMIT) //Place is colder than we are + //Body temperature adjusts depending on surrounding atmosphere based on your thermal protection + if(loc_temp < species.cold_level_1) //Place is colder than we are var/thermal_protection = get_cold_protection(loc_temp) //This returns a 0 - 1 value, which corresponds to the percentage of protection based on what you're wearing and what you're exposed to. if(thermal_protection < 1) var/amt = min((1-thermal_protection) * ((loc_temp - bodytemperature) / BODYTEMP_COLD_DIVISOR), BODYTEMP_COOLING_MAX) bodytemperature += amt - else if (loc_temp > BODYTEMP_HEAT_DAMAGE_LIMIT) //Place is hotter than we are + else if (loc_temp > species.heat_level_1) //Place is hotter than we are var/thermal_protection = get_heat_protection(loc_temp) //This returns a 0 - 1 value, which corresponds to the percentage of protection based on what you're wearing and what you're exposed to. if(thermal_protection < 1) var/amt = min((1-thermal_protection) * ((loc_temp - bodytemperature) / BODYTEMP_HEAT_DIVISOR), BODYTEMP_HEATING_MAX) bodytemperature += amt // +/- 50 degrees from 310.15K is the 'safe' zone, where no damage is dealt. - if(bodytemperature > BODYTEMP_HEAT_DAMAGE_LIMIT) + if(bodytemperature > species.heat_level_1) //Body temperature is too hot. fire_alert = max(fire_alert, 1) if(status_flags & GODMODE) return 1 //godmode switch(bodytemperature) - if(360 to 400) + if(species.heat_level_1 to species.heat_level_2) apply_damage(HEAT_DAMAGE_LEVEL_1, BURN, used_weapon = "High Body Temperature") fire_alert = max(fire_alert, 2) - if(400 to 1000) + if(species.heat_level_2 to species.heat_level_3) apply_damage(HEAT_DAMAGE_LEVEL_2, BURN, used_weapon = "High Body Temperature") fire_alert = max(fire_alert, 2) - if(1000 to INFINITY) + if(species.heat_level_3 to INFINITY) apply_damage(HEAT_DAMAGE_LEVEL_3, BURN, used_weapon = "High Body Temperature") fire_alert = max(fire_alert, 2) - else if(bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT) + 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(200 to 260) + if(species.cold_level_2 to species.cold_level_1) apply_damage(COLD_DAMAGE_LEVEL_1, BURN, used_weapon = "Low Body Temperature") fire_alert = max(fire_alert, 1) - if(120 to 200) + if(species.cold_level_3 to species.cold_level_2) apply_damage(COLD_DAMAGE_LEVEL_2, BURN, used_weapon = "Low Body Temperature") fire_alert = max(fire_alert, 1) - if(-INFINITY to 120) + if(-INFINITY to species.cold_level_3) apply_damage(COLD_DAMAGE_LEVEL_3, BURN, used_weapon = "Low Body Temperature") fire_alert = max(fire_alert, 1) @@ -1091,6 +1087,7 @@ else //ALIVE. LIGHTS ARE ON updatehealth() //TODO if(!in_stasis) + stabilize_temperature_from_calories() //Body temperature adjusts itself handle_organs() //Optimized. handle_blood() From 90e08a15b3d089f1362780f12570aa5ea9f626aa Mon Sep 17 00:00:00 2001 From: Jarcolr Date: Fri, 20 Jun 2014 23:20:45 +0300 Subject: [PATCH 50/84] Fixes #5283 and #5315 All it took was some fancy switches. --- code/game/jobs/job/civilian.dm | 12 ++++++------ code/game/jobs/job/medical.dm | 32 +++++++++++++++++------------- code/game/jobs/job/science.dm | 36 +++++++++++++++++----------------- 3 files changed, 42 insertions(+), 38 deletions(-) diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index d8192c5096..2ed73f8a9d 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -91,12 +91,12 @@ H.equip_to_slot_or_del(new /obj/item/clothing/suit/apron(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/device/analyzer/plant_analyzer(H), slot_s_store) H.equip_to_slot_or_del(new /obj/item/device/pda/botanist(H), slot_belt) - if(H.backbag == 3) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_hyd(H), slot_back) - else if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + switch(H.backbag) + if(1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back) + if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_hyd(H), slot_back) + if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) return 1 diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm index d8a60f7b12..0eccf03f3c 100644 --- a/code/game/jobs/job/medical.dm +++ b/code/game/jobs/job/medical.dm @@ -71,8 +71,12 @@ H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/virologist(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/virologist(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(H), slot_wear_mask) - if(H.backbag == 3) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_vir(H), slot_back) + switch(H.backbag) + if(1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back) + if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_tox(H), slot_back) + if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) if("Medical Doctor") H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat(H), slot_wear_suit) @@ -122,12 +126,12 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/chemist(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/chemist(H), slot_wear_suit) - if(H.backbag == 3) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_chem(H), slot_back) - else if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + switch(H.backbag) + if(1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back) + if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_chem(H), slot_back) + if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) return 1 @@ -153,12 +157,12 @@ H.equip_to_slot_or_del(new /obj/item/device/pda/geneticist(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/genetics(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/device/flashlight/pen(H), slot_s_store) - if(H.backbag == 3) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_gen(H), slot_back) - else if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + switch(H.backbag) + if(1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back) + if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_gen(H), slot_back) + if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) return 1 /*/datum/job/virologist diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm index 385b3fadbc..60e30c085d 100644 --- a/code/game/jobs/job/science.dm +++ b/code/game/jobs/job/science.dm @@ -27,12 +27,12 @@ H.equip_to_slot_or_del(new /obj/item/device/pda/heads/rd(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/weapon/clipboard(H), slot_l_hand) - if(H.backbag == 3) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_tox(H), slot_back) - else if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + switch(H.backbag) + if(1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back) + if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_tox(H), slot_back) + if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) return 1 @@ -57,12 +57,12 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/science(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/science(H), slot_wear_suit) - if(H.backbag == 3) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_tox(H), slot_back) - else if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + switch(H.backbag) + if(1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back) + if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_tox(H), slot_back) + if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) return 1 @@ -86,12 +86,12 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/science(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/science(H), slot_wear_suit) - if(H.backbag == 3) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_tox(H), slot_back) - else if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + switch(H.backbag) + if(1) H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back) + if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_tox(H), slot_back) + if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) return 1 From b7832f862a91be89150c0b2c7af792dd3d61619e Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sat, 21 Jun 2014 00:58:31 +0400 Subject: [PATCH 51/84] Fixes #5311 --- code/game/objects/structures/mineral_doors.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm index 38f0563897..6bcdc7beb3 100644 --- a/code/game/objects/structures/mineral_doors.dm +++ b/code/game/objects/structures/mineral_doors.dm @@ -82,6 +82,7 @@ state = 1 update_icon() isSwitchingStates = 0 + update_nearby_tiles() proc/Close() isSwitchingStates = 1 @@ -93,6 +94,7 @@ state = 0 update_icon() isSwitchingStates = 0 + update_nearby_tiles() update_icon() if(state) From cf5ff7e9922fc9e5f7569ec366833900cea89f2d Mon Sep 17 00:00:00 2001 From: mwerezak Date: Fri, 20 Jun 2014 18:18:02 -0400 Subject: [PATCH 52/84] Body temperature fixes and updates Body temperature regulation is now based on species, and environmental temperature now respects the air density when affecting living/humans. This also fixes some bugs with heat/cold protection handling and improves the way synthetic species body temperatures are handled to be much more logical. IPCs always gain temperature but cool down because of their environment. When the heat transfer to the environment is reduced because of the lack of air, this will cause IPCs to heat up. As well, having an infection will increase your body temperature, and body scanners now detect infections. --- code/game/machinery/adv_med.dm | 8 ++++ code/game/objects/items/devices/scanners.dm | 2 +- code/modules/mob/living/carbon/human/life.dm | 45 +++++++++++--------- code/modules/mob/living/carbon/species.dm | 7 +++ code/modules/organs/organ.dm | 5 ++- code/modules/organs/organ_external.dm | 21 +++++---- code/modules/organs/wound.dm | 2 +- code/setup.dm | 8 ++-- 8 files changed, 63 insertions(+), 35 deletions(-) diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm index c400185a45..c395e3b714 100644 --- a/code/game/machinery/adv_med.dm +++ b/code/game/machinery/adv_med.dm @@ -293,6 +293,7 @@ var/splint = "" var/internal_bleeding = "" var/lung_ruptured = "" + var/infection = "" for(var/datum/wound/W in e.wounds) if(W.internal) internal_bleeding = "
Internal bleeding" break @@ -308,6 +309,13 @@ robot = "Prosthetic:" if(e.open) open = "Open:" + switch (e.germ_level) + if (150 to 500) + infection = "Infection - Minor:" + if (500 to INFECTION_LEVEL_TWO) + infection = "Infection - Severe:" + if (INFECTION_LEVEL_TWO to INFINITY) + infection = "Infection - Septic:" var/unknown_body = 0 for(var/I in e.implants) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index c0b230b4a7..f62e2dcda7 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -161,7 +161,7 @@ REAGENT SCANNER if(e.status & ORGAN_BROKEN) if(((e.name == "l_arm") || (e.name == "r_arm") || (e.name == "l_leg") || (e.name == "r_leg")) && (!(e.status & ORGAN_SPLINTED))) user << "\red Unsecured fracture in subject [limb]. Splinting recommended for transport." - if(e.is_infected()) + if(e.has_infected_wound()) user << "\red Infected wound detected in subject [limb]. Disinfection recommended." for(var/name in H.organs_by_name) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 666b3a9e91..a32724357e 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -674,20 +674,27 @@ else loc_temp = environment.temperature - if(adjusted_pressure < species.warning_low_pressure && adjusted_pressure > species.warning_low_pressure && abs(loc_temp - 293.15) < 20 && abs(bodytemperature - 310.14) < 0.5 && environment.phoron < MOLES_PHORON_VISIBLE) + if(adjusted_pressure < species.warning_high_pressure && adjusted_pressure > species.warning_low_pressure && abs(loc_temp - bodytemperature) < 20 && bodytemperature < species.heat_level_1 && bodytemperature > species.cold_level_1 && environment.phoron < MOLES_PHORON_VISIBLE) return // Temperatures are within normal ranges, fuck all this processing. ~Ccomp //Body temperature adjusts depending on surrounding atmosphere based on your thermal protection - if(loc_temp < species.cold_level_1) //Place is colder than we are + var/temp_adj = 0 + if(loc_temp < bodytemperature) //Place is colder than we are var/thermal_protection = get_cold_protection(loc_temp) //This returns a 0 - 1 value, which corresponds to the percentage of protection based on what you're wearing and what you're exposed to. if(thermal_protection < 1) - var/amt = min((1-thermal_protection) * ((loc_temp - bodytemperature) / BODYTEMP_COLD_DIVISOR), BODYTEMP_COOLING_MAX) - bodytemperature += amt - else if (loc_temp > species.heat_level_1) //Place is hotter than we are + temp_adj = (1-thermal_protection) * ((loc_temp - bodytemperature) / BODYTEMP_COLD_DIVISOR) //this will be negative + else if (loc_temp > bodytemperature) //Place is hotter than we are var/thermal_protection = get_heat_protection(loc_temp) //This returns a 0 - 1 value, which corresponds to the percentage of protection based on what you're wearing and what you're exposed to. if(thermal_protection < 1) - var/amt = min((1-thermal_protection) * ((loc_temp - bodytemperature) / BODYTEMP_HEAT_DIVISOR), BODYTEMP_HEATING_MAX) - bodytemperature += amt + temp_adj = (1-thermal_protection) * ((loc_temp - bodytemperature) / BODYTEMP_HEAT_DIVISOR) + + //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 + bodytemperature += temp_adj // +/- 50 degrees from 310.15K is the 'safe' zone, where no damage is dealt. if(bodytemperature > species.heat_level_1) @@ -738,12 +745,8 @@ bodytemperature += 0.5 * TEMPERATURE_DAMAGE_COEFFICIENT //Synthetics suffer overheating in a vaccuum. ~Z else - - if(species && species.flags & IS_SYNTHETIC) - bodytemperature += 1 * TEMPERATURE_DAMAGE_COEFFICIENT - if( !(COLD_RESISTANCE in mutations)) - adjustBruteLoss( LOW_PRESSURE_DAMAGE ) + apply_damage(LOW_PRESSURE_DAMAGE, BRUTE, used_weapon = "Low Pressure") pressure_alert = -2 else pressure_alert = -1 @@ -770,23 +773,27 @@ temp_change = (temperature - current) return temp_change */ - - proc/stabilize_temperature_from_calories() - var/body_temperature_difference = 310.15 - bodytemperature + + proc/stabilize_body_temperature() + if (species && species.flags & IS_SYNTHETIC) + bodytemperature += species.synth_temp_gain //that CPU/posibrain just keeps putting out heat. + return + + var/body_temperature_difference = species.body_temperature - bodytemperature if (abs(body_temperature_difference) < 0.5) return //fuck this precision switch(bodytemperature) - if(-INFINITY to 260.15) //260.15 is 310.15 - 50, the temperature where you start to feel effects. + if(-INFINITY to species.cold_level_1) //260.15 is 310.15 - 50, the temperature where you start to feel effects. if(nutrition >= 2) //If we are very, very cold we'll use up quite a bit of nutriment to heat us up. nutrition -= 2 var/recovery_amt = max((body_temperature_difference / BODYTEMP_AUTORECOVERY_DIVISOR), BODYTEMP_AUTORECOVERY_MINIMUM) // log_debug("Cold. Difference = [body_temperature_difference]. Recovering [recovery_amt]") bodytemperature += recovery_amt - if(260.15 to 360.15) + if(species.cold_level_1 to species.heat_level_1) var/recovery_amt = body_temperature_difference / BODYTEMP_AUTORECOVERY_DIVISOR // log_debug("Norm. Difference = [body_temperature_difference]. Recovering [recovery_amt]") bodytemperature += recovery_amt - if(360.15 to INFINITY) //360.15 is 310.15 + 50, the temperature where you start to feel effects. + if(species.heat_level_1 to INFINITY) //360.15 is 310.15 + 50, the temperature where you start to feel effects. //We totally need a sweat system cause it totally makes sense...~ var/recovery_amt = min((body_temperature_difference / BODYTEMP_AUTORECOVERY_DIVISOR), -BODYTEMP_AUTORECOVERY_MINIMUM) //We're dealing with negative numbers // log_debug("Hot. Difference = [body_temperature_difference]. Recovering [recovery_amt]") @@ -1087,7 +1094,7 @@ else //ALIVE. LIGHTS ARE ON updatehealth() //TODO if(!in_stasis) - stabilize_temperature_from_calories() //Body temperature adjusts itself + stabilize_body_temperature() //Body temperature adjusts itself handle_organs() //Optimized. handle_blood() diff --git a/code/modules/mob/living/carbon/species.dm b/code/modules/mob/living/carbon/species.dm index 028e93e5bb..8b0550655d 100644 --- a/code/modules/mob/living/carbon/species.dm +++ b/code/modules/mob/living/carbon/species.dm @@ -28,6 +28,9 @@ var/heat_level_1 = 360 // Heat damage level 1 above this point. var/heat_level_2 = 400 // Heat damage level 2 above this point. var/heat_level_3 = 1000 // Heat damage level 2 above this point. + + var/body_temperature = 310.15 //non-IS_SYNTHETIC species will try to stabilize at this temperature. (also affects temperature processing) + var/synth_temp_gain = 0 //IS_SYNTHETIC species will gain this much temperature every second var/darksight = 2 var/hazard_high_pressure = HAZARD_HIGH_PRESSURE // Dangerously high pressure. @@ -279,6 +282,8 @@ heat_level_2 = 3000 heat_level_3 = 4000 + body_temperature = T0C + 15 //make the plant people have a bit lower body temperature, why not + flags = IS_WHITELISTED | NO_BREATHE | REQUIRE_LIGHT | NO_SCAN | IS_PLANT | RAD_ABSORB | NO_BLOOD | IS_SLOW | NO_PAIN blood_color = "#004400" @@ -326,6 +331,8 @@ heat_level_1 = 2000 heat_level_2 = 3000 heat_level_3 = 4000 + + synth_temp_gain = 6.7 //round(40 / BODYTEMP_COLD_DIVISOR, 0.1) //this should cause IPCs to stabilize at ~60 C in a 20 C environment. Based on some CPU operating temperatures flags = IS_WHITELISTED | NO_BREATHE | NO_SCAN | NO_BLOOD | NO_PAIN | IS_SYNTHETIC diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm index 13823602b7..fb2a8ccfe1 100644 --- a/code/modules/organs/organ.dm +++ b/code/modules/organs/organ.dm @@ -5,6 +5,9 @@ var/list/datum/autopsy_data/autopsy_data = list() var/list/trace_chemicals = list() // traces of chemicals in the organ, // links chemical IDs to number of ticks for which they'll stay in the blood + + var/germ_level = 0 // INTERNAL germs inside the organ, this is BAD if it's greater than INFECTION_LEVEL_ONE + proc/process() return 0 @@ -82,7 +85,7 @@ //Moving makes open wounds get infected much faster if (E.wounds.len) for(var/datum/wound/W in E.wounds) - if (W.can_infect()) + if (W.infection_check()) W.germ_level += 1 //Special effects for limbs. diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 813f63e8fe..9c8bed00ab 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -40,8 +40,6 @@ var/obj/item/hidden = null var/list/implants = list() - // INTERNAL germs inside the organ, this is BAD if it's greater 0 - var/germ_level = 0 // how often wounds should be updated, a higher number means less often var/wound_update_accuracy = 1 @@ -345,7 +343,7 @@ This function completely restores a damaged organ to perfect condition. //Syncing germ levels with external wounds for(var/datum/wound/W in wounds) //Open wounds can become infected - if (owner.germ_level > W.germ_level && W.can_infect()) + if (owner.germ_level > W.germ_level && W.infection_check()) W.germ_level++ //Infected wounds raise the organ's germ level @@ -356,12 +354,17 @@ This function completely restores a damaged organ to perfect condition. var/antibiotics = owner.reagents.get_reagent_amount("spaceacillin") if (antibiotics > 5) if (prob(4*antibiotics)) germ_level-- + + if(germ_level > INFECTION_LEVEL_ONE) + //having an infection raises your body temperature + var/temperature_increase = (owner.species.heat_level_1 - owner.species.body_temperature - 1)* min(germ_level/INFECTION_LEVEL_TWO, 1) + owner.bodytemperature += temperature_increase - if(germ_level > GANGREN_LEVEL_ONE && prob(round(germ_level/10))) //aiming for a light infection to become serious after 40 minutes, standing still - germ_level += 1 - owner.adjustToxLoss(1) + if(prob(round(germ_level/10))) //aiming for a light infection to become serious after 40 minutes, standing still + germ_level += 1 + owner.adjustToxLoss(1) - if(germ_level > GANGREN_LEVEL_TWO && antibiotics < 30) //overdosing is necessary to stop severe infections + if(germ_level > INFECTION_LEVEL_TWO && antibiotics < 30) //overdosing is necessary to stop severe infections germ_level++ owner.adjustToxLoss(1) @@ -691,9 +694,9 @@ This function completely restores a damaged organ to perfect condition. /datum/organ/external/proc/get_damage() //returns total damage return max(brute_dam + burn_dam - perma_injury, perma_injury) //could use health? -/datum/organ/external/proc/is_infected() +/datum/organ/external/proc/has_infected_wound() for(var/datum/wound/W in wounds) - if(W.germ_level > 100) + if(W.germ_level > 150) return 1 return 0 diff --git a/code/modules/organs/wound.dm b/code/modules/organs/wound.dm index a789248627..e2763d4697 100644 --- a/code/modules/organs/wound.dm +++ b/code/modules/organs/wound.dm @@ -119,7 +119,7 @@ // checks if wound is considered open for external infections // untreated cuts (and bleeding bruises) and burns are possibly infectable, chance higher if wound is bigger - proc/can_infect() + proc/infection_check() if (is_treated() && damage < 10) return 0 if (disinfected) diff --git a/code/setup.dm b/code/setup.dm index 016aaea9c2..4a671571ea 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -38,7 +38,7 @@ #define BODYTEMP_AUTORECOVERY_MINIMUM 10 //Minimum amount of kelvin moved toward 310.15K per tick. So long as abs(310.15 - bodytemp) is more than 50. #define BODYTEMP_COLD_DIVISOR 6 //Similar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is lower than their body temperature. Make it lower to lose bodytemp faster. #define BODYTEMP_HEAT_DIVISOR 6 //Similar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is higher than their body temperature. Make it lower to gain bodytemp faster. -#define BODYTEMP_COOLING_MAX 30 //The maximum number of degrees that your body can cool in 1 tick, when in a cold area. +#define BODYTEMP_COOLING_MAX -30 //The maximum number of degrees that your body can cool in 1 tick, when in a cold area. #define BODYTEMP_HEATING_MAX 30 //The maximum number of degrees that your body can heat up in 1 tick, when in a hot area. #define BODYTEMP_HEAT_DAMAGE_LIMIT 360.15 // The limit the human body can take before it starts taking damage from heat. @@ -771,6 +771,6 @@ var/list/RESTRICTED_CAMERA_NETWORKS = list( //Those networks can only be accesse //These numbers have been calculated so that an untreated cut will become a serious infection after 50 minutes. #define GERM_LEVEL_AMBIENT 110 //maximum germ level you can reach by standing still #define GERM_LEVEL_MOVE_CAP 200 //maximum germ level you can reach by running around -#define GANGREN_LEVEL_ONE 100 -#define GANGREN_LEVEL_TWO 1000 -#define GANGREN_LEVEL_TERMINAL 2500 +#define INFECTION_LEVEL_ONE 100 +#define INFECTION_LEVEL_TWO 1000 +#define INFECTION_LEVEL_TERMINAL 2500 From 1b86e3548fbe6c3ad8cd7fa6d124609ee3654ae6 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Fri, 20 Jun 2014 21:02:24 -0400 Subject: [PATCH 53/84] Cleans up organ processing --- code/game/machinery/adv_med.dm | 6 +-- code/modules/mob/living/carbon/human/life.dm | 9 ---- code/modules/organs/organ.dm | 42 ++------------- code/modules/organs/organ_external.dm | 56 ++++++++++++++++++-- code/modules/organs/organ_internal.dm | 4 +- 5 files changed, 61 insertions(+), 56 deletions(-) diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm index c395e3b714..f49d8f76df 100644 --- a/code/game/machinery/adv_med.dm +++ b/code/game/machinery/adv_med.dm @@ -311,11 +311,11 @@ open = "Open:" switch (e.germ_level) if (150 to 500) - infection = "Infection - Minor:" + infection = "Light Infection:" if (500 to INFECTION_LEVEL_TWO) - infection = "Infection - Severe:" + infection = "Serious Infection:" if (INFECTION_LEVEL_TWO to INFINITY) - infection = "Infection - Septic:" + infection = "Septic:" var/unknown_body = 0 for(var/I in e.implants) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index a32724357e..5ef87cd1e2 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -316,9 +316,6 @@ if(istype(loc, /obj/machinery/atmospherics/unary/cryo_cell)) return if(species && (species.flags & NO_BREATHE || species.flags & IS_SYNTHETIC)) return - var/datum/organ/internal/lungs/L = internal_organs["lungs"] - L.process() - var/datum/gas_mixture/environment = loc.return_air() var/datum/gas_mixture/breath @@ -1077,12 +1074,6 @@ if(!(species.flags & IS_SYNTHETIC)) handle_trace_chems() - var/datum/organ/internal/liver/liver = internal_organs["liver"] - liver.process() - - var/datum/organ/internal/eyes/eyes = internal_organs["eyes"] - eyes.process() - updatehealth() return //TODO: DEFERRED diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm index fb2a8ccfe1..50c0a7dedf 100644 --- a/code/modules/organs/organ.dm +++ b/code/modules/organs/organ.dm @@ -65,19 +65,10 @@ else E.process() number_wounds += E.number_wounds - //Robotic limb malfunctions - var/malfunction = 0 - if (E.status & ORGAN_ROBOT && prob(E.brute_dam + E.burn_dam)) - malfunction = 1 - - //Broken limbs hurt too - var/broken = 0 - if(E.status & ORGAN_BROKEN && !(E.status & ORGAN_SPLINTED) ) - broken = 1 if (!lying && world.time - l_move_time < 15) //Moving around with fractured ribs won't do you any good - if (broken && E.internal_organs && prob(15)) + if (E.is_broken() && E.internal_organs && prob(15)) var/datum/organ/internal/I = pick(E.internal_organs) custom_pain("You feel broken bones moving in your [E.display_name]!", 1) I.take_damage(rand(3,5)) @@ -88,36 +79,13 @@ if (W.infection_check()) W.germ_level += 1 - //Special effects for limbs. - if(E.name in list("l_hand","l_arm","r_hand","r_arm")) - var/obj/item/c_hand //Getting what's in this hand - var/hand - if(E.name == "l_hand" || E.name == "l_arm") - c_hand = l_hand - hand = "left hand" - if(E.name == "r_hand" || E.name == "r_arm") - c_hand = r_hand - hand = "right hand" - if (c_hand) - - if(broken) - u_equip(c_hand) - var/emote_scream = pick("screams in pain and", "let's out a sharp hiss and", "cries out and") - emote("me", 1, "[(species && species.flags & NO_PAIN) ? "" : emote_scream ] drops what they were holding in their [hand]!") - if(malfunction) - u_equip(c_hand) - emote("me", 1, "drops what they were holding, their [hand] malfunctioning!") - var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread() - spark_system.set_up(5, 0, src) - spark_system.attach(src) - spark_system.start() - spawn(10) - del(spark_system) - - else if(E.name in list("l_leg","l_foot","r_leg","r_foot") && !lying) + if(E.name in list("l_leg","l_foot","r_leg","r_foot") && !lying) if (!E.is_usable() || malfunction || (broken && !(E.status & ORGAN_SPLINTED))) leg_tally-- // let it fail even if just foot&leg + for(var/datum/organ/internal/I in internal_organs) + I.process() + // standing is poor if(leg_tally <= 0 && !paralysis && !(lying || resting) && prob(5)) if(species && species.flags & NO_PAIN) diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 9c8bed00ab..711987871a 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -328,6 +328,7 @@ This function completely restores a damaged organ to perfect condition. if(!(status & ORGAN_BROKEN)) perma_injury = 0 + //Infections update_germs() return @@ -352,23 +353,22 @@ This function completely restores a damaged organ to perfect condition. germ_level++ var/antibiotics = owner.reagents.get_reagent_amount("spaceacillin") - if (antibiotics > 5) + if (germ_level > 0 && antibiotics > 5) if (prob(4*antibiotics)) germ_level-- if(germ_level > INFECTION_LEVEL_ONE) //having an infection raises your body temperature var/temperature_increase = (owner.species.heat_level_1 - owner.species.body_temperature - 1)* min(germ_level/INFECTION_LEVEL_TWO, 1) - owner.bodytemperature += temperature_increase + if (owner.bodytemperature < temperature_increase) + owner.bodytemperature++ if(prob(round(germ_level/10))) //aiming for a light infection to become serious after 40 minutes, standing still germ_level += 1 owner.adjustToxLoss(1) - + if(germ_level > INFECTION_LEVEL_TWO && antibiotics < 30) //overdosing is necessary to stop severe infections germ_level++ owner.adjustToxLoss(1) - - /* if(germ_level > GANGREN_LEVEL_TERMINAL) if (!(status & ORGAN_DEAD)) @@ -713,6 +713,36 @@ This function completely restores a damaged organ to perfect condition. /datum/organ/external/proc/is_usable() return !(status & (ORGAN_DESTROYED|ORGAN_MUTATED|ORGAN_DEAD)) +/datum/organ/external/proc/is_broken() + return ((status & ORGAN_BROKEN) && !(status & ORGAN_SPLINTED)) + +/datum/organ/external/proc/is_malfunctioning() + return ((status & ORGAN_ROBOT) && prob(E.brute_dam + E.burn_dam)) + +//for arms and hands +/datum/organ/external/proc/process_grasp(var/obj/item/c_hand, var/hand_name) + if (!c_hand) + return + + if(is_broken()) + owner.u_equip(c_hand) + var/emote_scream = pick("screams in pain and", "lets out a sharp cry and", "cries out and") + owner.emote("me", 1, "[(species && species.flags & NO_PAIN) ? "" : emote_scream ] drops what they were holding in their [hand_name]!") + if(is_malfunctioning()) + owner.u_equip(c_hand) + owner.emote("me", 1, "drops what they were holding, their [hand_name] malfunctioning!") + var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread() + spark_system.set_up(5, 0, src) + spark_system.attach(src) + spark_system.start() + spawn(10) + del(spark_system) + +//legs +//returns 1 if this organ can support standing +/datum/organ/external/proc/can_support_standing() + if (!E.is_usable() || malfunction || (broken && !(E.status & ORGAN_SPLINTED))) + /**************************************************** ORGAN DEFINES ****************************************************/ @@ -741,6 +771,10 @@ This function completely restores a damaged organ to perfect condition. max_damage = 50 min_broken_damage = 20 body_part = ARM_LEFT + + process() + ..() + process_grasp(owner.l_hand, "left hand") /datum/organ/external/l_leg name = "l_leg" @@ -758,6 +792,10 @@ This function completely restores a damaged organ to perfect condition. max_damage = 50 min_broken_damage = 20 body_part = ARM_RIGHT + + process() + ..() + process_grasp(owner.r_hand, "right hand") /datum/organ/external/r_leg name = "r_leg" @@ -793,6 +831,10 @@ This function completely restores a damaged organ to perfect condition. max_damage = 30 min_broken_damage = 15 body_part = HAND_RIGHT + + process() + ..() + process_grasp(owner.r_hand, "right hand") /datum/organ/external/l_hand name = "l_hand" @@ -801,6 +843,10 @@ This function completely restores a damaged organ to perfect condition. max_damage = 30 min_broken_damage = 15 body_part = HAND_LEFT + + process() + ..() + process_grasp(owner.l_hand, "left hand") /datum/organ/external/head name = "head" diff --git a/code/modules/organs/organ_internal.dm b/code/modules/organs/organ_internal.dm index bb1ce19ad2..e5fd53725e 100644 --- a/code/modules/organs/organ_internal.dm +++ b/code/modules/organs/organ_internal.dm @@ -10,6 +10,7 @@ var/min_broken_damage = 30 var/parent_organ = "chest" var/robotic = 0 //For being a robot + var/germ_level = 0 /datum/organ/internal/proc/rejuvenate() damage=0 @@ -40,7 +41,6 @@ if (!silent) owner.custom_pain("Something inside your [parent.display_name] hurts a lot.", 1) - /datum/organ/internal/proc/emp_act(severity) switch(robotic) if(0) @@ -96,7 +96,7 @@ owner.drip(10) if(prob(4)) spawn owner.emote("me", 1, "gasps for air!") - owner.losebreath += 5 + owner.losebreath += 15 /datum/organ/internal/liver name = "liver" From d6022017c86652ab1966becb39026993e2bdbcf3 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Sat, 21 Jun 2014 14:13:25 +1200 Subject: [PATCH 54/84] New vehicle loading code - Vehicles now load items on them somewhat like roller beds, allowing you to interact with them --- code/modules/mob/mob.dm | 6 +++ code/modules/mob/mob_movement.dm | 6 ++- code/modules/vehicles/cargo_train.dm | 15 ++++++ code/modules/vehicles/vehicle.dm | 71 ++++++---------------------- 4 files changed, 40 insertions(+), 58 deletions(-) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index fef26532be..18d415fd39 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -760,6 +760,12 @@ note dizziness decrements automatically in the mob's Life() proc. canmove = 0 if( istype(buckled,/obj/structure/stool/bed/chair) ) lying = 0 + else if(istype(buckled, /obj/vehicle)) + var/obj/vehicle/V = buckled + if(V.standing_mob) + lying = 0 + else + lying = 1 else lying = 1 else if( stat || weakened || paralysis || resting || sleeping || (status_flags & FAKEDEATH)) diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 067d010c29..fbc48841f4 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -199,7 +199,7 @@ if(!mob.canmove) - if (mob.buckled && (istype(mob.buckled, /obj/structure/stool/bed/chair/wheelchair))) // Exception for wheelchairs + if (mob.buckled && (istype(mob.buckled, /obj/structure/stool/bed/chair/wheelchair) || istype(mob.buckled, /obj/vehicle))) // Exception for wheelchairs else return //if(istype(mob.loc, /turf/space) || (mob.flags & NOGRAV)) @@ -246,7 +246,9 @@ move_delay -= 1.3 var/tickcomp = ((1/(world.tick_lag))*1.3) move_delay = move_delay + tickcomp - + + if(istype(mob.buckled, /obj/vehicle)) + return mob.buckled.relaymove(mob,direct) if(mob.pulledby || mob.buckled) // Wheelchair driving! if(istype(mob.loc, /turf/space)) diff --git a/code/modules/vehicles/cargo_train.dm b/code/modules/vehicles/cargo_train.dm index b9a36f4c9c..4d709a2ad8 100644 --- a/code/modules/vehicles/cargo_train.dm +++ b/code/modules/vehicles/cargo_train.dm @@ -6,6 +6,7 @@ powered = 1 locked = 0 + standing_mob = 1 load_item_visible = 1 load_offset_x = 0 load_offset_y = 9 @@ -22,6 +23,7 @@ passenger_allowed = 0 locked = 0 + standing_mob = 1 load_item_visible = 1 load_offset_x = 0 load_offset_y = 9 @@ -183,6 +185,19 @@ else usr << "[src] won't start." +/obj/vehicle/train/cargo/engine/verb/climb_down(mob/user as mob) + set name = "Exit vehicle" + set category = "Object" + set src in range(0) + + if(!load) + return + if(user != load) + return + + unload(user) + + //------------------------------------------- // Latching/unlatching procs //------------------------------------------- diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm index 6ae7f3ee14..437bf9529d 100644 --- a/code/modules/vehicles/vehicle.dm +++ b/code/modules/vehicles/vehicle.dm @@ -1,7 +1,7 @@ /obj/vehicle name = "vehicle" icon = 'icons/obj/vehicles.dmi' - layer = MOB_LAYER + layer = 2.9 density = 1 anchored = 1 animate_movement=1 @@ -23,6 +23,7 @@ var/obj/item/weapon/cell/cell var/power_use = 5 //set this to adjust the amount of power the vehicle uses per move + var/standing_mob = 0 //if a mob loaded on the vehicle should be standing var/atom/movable/load //all vehicles can take a load, since they should all be a least drivable var/load_item_visible = 1 //set if the loaded item should be overlayed on the vehicle sprite var/load_offset_x = 0 //pixel_x offset for item overlay @@ -46,6 +47,10 @@ if(on && powered) cell.use(power_use) anchored = init_anc + + if(load) + load.loc = loc + load.dir = dir return 1 else @@ -262,49 +267,24 @@ crate.close() C.loc = loc - sleep(2) - if(C.loc != loc) //To prevent you from going onto more than one train. - return 0 - C.loc = src + C.dir = dir + C.anchored = 1 load = C if(load_item_visible) C.pixel_x += load_offset_x C.pixel_y += load_offset_y - C.layer = layer - - overlays += C - - //we can set these back now since we have already cloned the icon into the overlay - C.pixel_x = initial(C.pixel_x) - C.pixel_y = initial(C.pixel_y) - C.layer = initial(C.layer) if(ismob(C)) var/mob/M = C - if(M.client) - M.client.perspective = EYE_PERSPECTIVE - M.client.eye = src + M.buckled = src + M.update_canmove() return 1 /obj/vehicle/proc/unload(var/mob/user, var/direction, var/exception = 0) - if(!load) - // in case non-load items end up in contents, dump everything else too - for(var/atom/movable/AM in src) - AM.loc = get_turf(src) - AM.pixel_x = initial(AM.pixel_x) - AM.pixel_y = initial(AM.pixel_y) - AM.layer = initial(AM.layer) - if(ismob(AM)) - var/mob/M = AM - if(M.client) - M.client.perspective = MOB_PERSPECTIVE - M.client.eye = src - return 0 - var/turf/dest = null //find a turf to unload to @@ -332,42 +312,21 @@ return 0 - if(exception) //for handling any players that end up in src.contents that are trying to climb off - user.loc = dest - user.pixel_x = initial(user.pixel_x) - user.pixel_y = initial(user.pixel_y) - user.layer = initial(user.layer) - - if(ismob(user)) - var/mob/M = user - if(M.client) - M.client.perspective = MOB_PERSPECTIVE - M.client.eye = src - - src.contents -= user - - return 1 - - overlays.Cut() - load.loc = dest - - /* + load.dir = get_dir(loc, dest) + load.anchored = initial(load.anchored) load.pixel_x = initial(load.pixel_x) load.pixel_y = initial(load.pixel_y) load.layer = initial(load.layer) - */ if(ismob(load)) var/mob/M = load - if(M.client) - M.client.perspective = MOB_PERSPECTIVE - M.client.eye = src + M.buckled = null + M.anchored = initial(M.anchored) + M.update_canmove() load = null - unload() //recursive check for anything left in contents - return 1 From 244b43c657e6e9e53c7c35a965d6252a37c1b01b Mon Sep 17 00:00:00 2001 From: mwerezak Date: Fri, 20 Jun 2014 21:35:05 -0400 Subject: [PATCH 55/84] Infections now spread between organs Infections can now spread between internal and external organs. Also changes the organ_failure random event to cause an infection instead. --- code/game/machinery/adv_med.dm | 23 +++++++----- code/modules/events/organ_failure.dm | 26 ++++++++++---- code/modules/organs/organ.dm | 16 +++++---- code/modules/organs/organ_external.dm | 52 ++++++++++++++------------- code/modules/organs/organ_internal.dm | 29 ++++++++++++++- code/setup.dm | 3 +- 6 files changed, 101 insertions(+), 48 deletions(-) diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm index f49d8f76df..ec5529c80c 100644 --- a/code/game/machinery/adv_med.dm +++ b/code/game/machinery/adv_med.dm @@ -293,7 +293,6 @@ var/splint = "" var/internal_bleeding = "" var/lung_ruptured = "" - var/infection = "" for(var/datum/wound/W in e.wounds) if(W.internal) internal_bleeding = "
Internal bleeding" break @@ -310,12 +309,12 @@ if(e.open) open = "Open:" switch (e.germ_level) - if (150 to 500) - infection = "Light Infection:" - if (500 to INFECTION_LEVEL_TWO) - infection = "Serious Infection:" - if (INFECTION_LEVEL_TWO to INFINITY) - infection = "Septic:" + if (INFECTION_LEVEL_ONE + 50 to INFECTION_LEVEL_TWO) + infected = "Mild Infection:" + if (INFECTION_LEVEL_TWO to INFECTION_LEVEL_THREE) + infected = "Acute Infection:" + if (INFECTION_LEVEL_THREE to INFINITY) + infected = "Septic:" var/unknown_body = 0 for(var/I in e.implants) @@ -340,8 +339,16 @@ mech = "Assisted:" if(i.robotic == 2) mech = "Mechanical:" + + var/infection = "None" + switch (i.germ_level) + if (1 to INFECTION_LEVEL_TWO) + infection = "Mild Infection:" + if (INFECTION_LEVEL_TWO to INFINITY) + infection = "Acute Infection:" + dat += "
" - dat += "" + dat += "" dat += "" dat += "
[i.name]N/A[i.damage]None:[mech][i.name]N/A[i.damage][infection]:[mech]
" if(occupant.sdisabilities & BLIND) diff --git a/code/modules/events/organ_failure.dm b/code/modules/events/organ_failure.dm index 80e7f807dd..f954891b90 100644 --- a/code/modules/events/organ_failure.dm +++ b/code/modules/events/organ_failure.dm @@ -21,9 +21,23 @@ datum/event/organ_failure/start() while(severity > 0 && candidates.len) var/mob/living/carbon/human/C = candidates[1] - // Bruise one of their organs - var/O = pick(C.internal_organs) - var/datum/organ/internal/I = C.internal_organs[O] - I.damage = I.min_bruised_damage - candidates.Remove(C) - severity-- \ No newline at end of file + var/acute = prob(15) + if (prob(75)) + //internal organ infection + var/O = pick(C.internal_organs) + var/datum/organ/internal/I = C.internal_organs[O] + + if (acute) + I.germ_level = max(INFECTION_LEVEL_TWO, I.germ_level) + else + I.germ_level = max(rand(INFECTION_LEVEL_ONE,INFECTION_LEVEL_ONE*2), I.germ_level) + else + //external organ infection + var/datum/organ/external/O = pick(C.organs) + + if (acute) + O.germ_level = max(INFECTION_LEVEL_TWO, O.germ_level) + else + O.germ_level = max(rand(INFECTION_LEVEL_ONE,INFECTION_LEVEL_ONE*2), O.germ_level) + + severity-- diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm index 50c0a7dedf..b5761df24c 100644 --- a/code/modules/organs/organ.dm +++ b/code/modules/organs/organ.dm @@ -49,13 +49,18 @@ if(damage_this_tick > last_dam) force_process = 1 last_dam = damage_this_tick - if(!force_process && !bad_external_organs.len) - return if(force_process) bad_external_organs.Cut() for(var/datum/organ/external/Ex in organs) bad_external_organs += Ex - + + //processing internal organs is pretty cheap, do that first. + for(var/datum/organ/internal/I in internal_organs) + I.process() + + if(!force_process && !bad_external_organs.len) + return + for(var/datum/organ/external/E in bad_external_organs) if(!E) continue @@ -80,11 +85,8 @@ W.germ_level += 1 if(E.name in list("l_leg","l_foot","r_leg","r_foot") && !lying) - if (!E.is_usable() || malfunction || (broken && !(E.status & ORGAN_SPLINTED))) + if (!E.is_usable() || E.is_malfunctioning() || (E.is_broken() && !(E.status & ORGAN_SPLINTED))) leg_tally-- // let it fail even if just foot&leg - - for(var/datum/organ/internal/I in internal_organs) - I.process() // standing is poor if(leg_tally <= 0 && !paralysis && !(lying || resting) && prob(5)) diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 711987871a..9ebfbb8098 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -333,7 +333,6 @@ This function completely restores a damaged organ to perfect condition. return //Updating germ levels. Handles organ germ levels and necrosis. -//#define GERM_TRANSFER_AMOUNT germ_level/500 /datum/organ/external/proc/update_germs() if(status & (ORGAN_ROBOT|ORGAN_DESTROYED)) //Robotic limbs shouldn't be infected, nor should nonexistant limbs. @@ -356,34 +355,41 @@ This function completely restores a damaged organ to perfect condition. if (germ_level > 0 && antibiotics > 5) if (prob(4*antibiotics)) germ_level-- - if(germ_level > INFECTION_LEVEL_ONE) + if(germ_level >= INFECTION_LEVEL_ONE) //having an infection raises your body temperature - var/temperature_increase = (owner.species.heat_level_1 - owner.species.body_temperature - 1)* min(germ_level/INFECTION_LEVEL_TWO, 1) + var/temperature_increase = (owner.species.heat_level_1 - owner.species.body_temperature - 1)* min(germ_level/INFECTION_LEVEL_THREE, 1) if (owner.bodytemperature < temperature_increase) owner.bodytemperature++ if(prob(round(germ_level/10))) //aiming for a light infection to become serious after 40 minutes, standing still - germ_level += 1 + germ_level++ owner.adjustToxLoss(1) - if(germ_level > INFECTION_LEVEL_TWO && antibiotics < 30) //overdosing is necessary to stop severe infections - germ_level++ - owner.adjustToxLoss(1) -/* - if(germ_level > GANGREN_LEVEL_TERMINAL) + if(germ_level >= INFECTION_LEVEL_TWO) + //spread the infection + for (var/datum/organ/internal/I in internal_organs) + if (I.germ_level < germ_level) + I.germ_level++ + + if (children) //To child organs + for (var/datum/organ/external/child in children) + if (child.germ_level < germ_level && !(child.status & ORGAN_ROBOT)) + if (child.germ_level < INFECTION_LEVEL_ONE*2 || prob(30)) + child.germ_level++ + + if (parent) + if (parent.germ_level < germ_level && !(parent.status & ORGAN_ROBOT)) + if (parent.germ_level < INFECTION_LEVEL_ONE*2 || prob(30)) + parent.germ_level++ + + if(germ_level >= INFECTION_LEVEL_THREE && antibiotics < 30) //overdosing is necessary to stop severe infections if (!(status & ORGAN_DEAD)) status |= ORGAN_DEAD owner << "You can't feel your [display_name] anymore..." - owner.update_body(1) - if (prob(10)) //Spreading the fun - if (children) //To child organs - for (var/datum/organ/external/child in children) - if (!(child.status & (ORGAN_DEAD|ORGAN_DESTROYED|ORGAN_ROBOT))) - child.germ_level += round(GERM_TRANSFER_AMOUNT) - if (parent) - if (!(parent.status & (ORGAN_DEAD|ORGAN_DESTROYED|ORGAN_ROBOT))) - parent.germ_level += round(GERM_TRANSFER_AMOUNT) -*/ + + germ_level++ + owner.adjustToxLoss(1) + //Updating wounds. Handles wound natural I had some free spachealing, internal bleedings and infections /datum/organ/external/proc/update_wounds() @@ -717,7 +723,7 @@ This function completely restores a damaged organ to perfect condition. return ((status & ORGAN_BROKEN) && !(status & ORGAN_SPLINTED)) /datum/organ/external/proc/is_malfunctioning() - return ((status & ORGAN_ROBOT) && prob(E.brute_dam + E.burn_dam)) + return ((status & ORGAN_ROBOT) && prob(brute_dam + burn_dam)) //for arms and hands /datum/organ/external/proc/process_grasp(var/obj/item/c_hand, var/hand_name) @@ -727,7 +733,7 @@ This function completely restores a damaged organ to perfect condition. if(is_broken()) owner.u_equip(c_hand) var/emote_scream = pick("screams in pain and", "lets out a sharp cry and", "cries out and") - owner.emote("me", 1, "[(species && species.flags & NO_PAIN) ? "" : emote_scream ] drops what they were holding in their [hand_name]!") + owner.emote("me", 1, "[(owner.species && owner.species.flags & NO_PAIN) ? "" : emote_scream ] drops what they were holding in their [hand_name]!") if(is_malfunctioning()) owner.u_equip(c_hand) owner.emote("me", 1, "drops what they were holding, their [hand_name] malfunctioning!") @@ -738,10 +744,6 @@ This function completely restores a damaged organ to perfect condition. spawn(10) del(spark_system) -//legs -//returns 1 if this organ can support standing -/datum/organ/external/proc/can_support_standing() - if (!E.is_usable() || malfunction || (broken && !(E.status & ORGAN_SPLINTED))) /**************************************************** ORGAN DEFINES diff --git a/code/modules/organs/organ_internal.dm b/code/modules/organs/organ_internal.dm index e5fd53725e..7df2bc90e2 100644 --- a/code/modules/organs/organ_internal.dm +++ b/code/modules/organs/organ_internal.dm @@ -10,7 +10,6 @@ var/min_broken_damage = 30 var/parent_organ = "chest" var/robotic = 0 //For being a robot - var/germ_level = 0 /datum/organ/internal/proc/rejuvenate() damage=0 @@ -22,6 +21,7 @@ return damage >= min_broken_damage + /datum/organ/internal/New(mob/living/carbon/human/H) ..() var/datum/organ/external/E = H.organs_by_name[src.parent_organ] @@ -31,6 +31,33 @@ H.internal_organs[src.name] = src src.owner = H +/datum/organ/internal/process() + + //Process infections + if (!germ_level) + return + + var/antibiotics = owner.reagents.get_reagent_amount("spaceacillin") + + if (germ_level > 0 && antibiotics > 5) + if (prob(4*antibiotics)) germ_level-- + if (antibiotics > 30) germ_level-- + + if (germ_level >= INFECTION_LEVEL_ONE/2) + if(prob(round(germ_level/6))) //aiming for germ level to go from ambient to INFECTION_LEVEL_TWO in an average of 15 minutes + germ_level++ + if(prob(1)) + take_damage(1,silent=0) + + if (germ_level >= INFECTION_LEVEL_TWO) + var/datum/organ/external/parent = owner.get_organ(parent_organ) + if (parent.germ_level < germ_level && ( parent.germ_level < INFECTION_LEVEL_ONE*2 || prob(30) )) + parent.germ_level++ + + if (prob(5)) //about once every 20 seconds + take_damage(1,silent=prob(30)) + + /datum/organ/internal/proc/take_damage(amount, var/silent=0) if(src.robotic == 2) src.damage += (amount * 0.8) diff --git a/code/setup.dm b/code/setup.dm index 4a671571ea..520e83afc1 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -772,5 +772,6 @@ var/list/RESTRICTED_CAMERA_NETWORKS = list( //Those networks can only be accesse #define GERM_LEVEL_AMBIENT 110 //maximum germ level you can reach by standing still #define GERM_LEVEL_MOVE_CAP 200 //maximum germ level you can reach by running around #define INFECTION_LEVEL_ONE 100 -#define INFECTION_LEVEL_TWO 1000 +#define INFECTION_LEVEL_TWO 500 +#define INFECTION_LEVEL_THREE 1000 #define INFECTION_LEVEL_TERMINAL 2500 From ced6f13656b2e6d62c111f96af0c3515b31f9eec Mon Sep 17 00:00:00 2001 From: DJSnapshot Date: Fri, 20 Jun 2014 20:53:11 -0700 Subject: [PATCH 56/84] Removing automatic IPC whitelist in preparation for whitelisting and overhaul of IPCs. --- code/game/jobs/whitelist.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/game/jobs/whitelist.dm b/code/game/jobs/whitelist.dm index 2aaad4bde6..f8f3ee80a2 100644 --- a/code/game/jobs/whitelist.dm +++ b/code/game/jobs/whitelist.dm @@ -36,8 +36,6 @@ var/list/whitelist = list() return 1 if(species == "human" || species == "Human") return 1 - if(species == "machine" || species == "Machine") - return 1 if(check_rights(R_ADMIN, 0)) return 1 if(!alien_whitelist) From 2737171337b480db6300d4a92ddfd052da32809b Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 21 Jun 2014 01:30:40 -0400 Subject: [PATCH 57/84] Cleans up train latching/unlatching Also adds a verb for turning off train engines. --- code/modules/vehicles/cargo_train.dm | 90 +++++++++------------ code/modules/vehicles/train.dm | 113 +++++++++++++-------------- 2 files changed, 90 insertions(+), 113 deletions(-) diff --git a/code/modules/vehicles/cargo_train.dm b/code/modules/vehicles/cargo_train.dm index b9a36f4c9c..a111cfd49d 100644 --- a/code/modules/vehicles/cargo_train.dm +++ b/code/modules/vehicles/cargo_train.dm @@ -11,7 +11,6 @@ load_offset_y = 9 var/car_limit = 3 //how many cars an engine can pull before performance degrades - var/lead_engine = 1 //if the engine is the lead engine - set automatically active_engines = 1 /obj/vehicle/train/cargo/trolley @@ -41,9 +40,10 @@ if(on && cell.charge < power_use) turn_off() update_stats() - if(load && lead_engine) + if(load && is_train_head()) load << "The drive motor briefly whines, then crawls to a stop." - if(lead_engine && !on) + + if(is_train_head() && !on) return 0 return ..() @@ -106,7 +106,7 @@ /obj/vehicle/train/cargo/engine/RunOver(var/mob/living/carbon/human/H) ..() - if(lead_engine && istype(load, /mob/living/carbon/human)) + if(is_train_head() && istype(load, /mob/living/carbon/human)) var/mob/living/carbon/human/D = load D << "\red \b You ran over [H]!" visible_message("\red \The [src] ran over [H]!") @@ -156,7 +156,7 @@ if(user != load) return 0 - if(lead_engine) + if(is_train_head()) if(direction == reverse_direction(dir)) return 0 if(Move(get_step(src, direction))) @@ -175,60 +175,42 @@ usr << "The engine is already running." return - if(turn_on()) - usr << "You start [src]." + turn_on() + if (on) + usr << "You start [src]'s engine." else if(cell.charge < power_use) usr << "[src] is out of power." else - usr << "[src] won't start." + usr << "[src]'s engine won't start." + +/obj/vehicle/train/cargo/engine/verb/stop_engine() + set name = "Stop engine" + set category = "Object" + set src in view(1) + + if(!on) + usr << "The engine is already stopped." + return + + turn_off() + if (!on) + usr << "You stop [src]'s engine." //------------------------------------------- // Latching/unlatching procs //------------------------------------------- -/obj/vehicle/train/cargo/trolley/latch(var/obj/vehicle/train/T) - if(..()) - //if this is a trolley, and is now part of a train, anchor it so it cant be pushed around - if(lead) - anchored = 1 - lead.anchored = 1 - if(tow) - anchored = 1 - tow.anchored = 1 - return 1 - else - return 0 - -/obj/vehicle/train/cargo/trolley/unlatch() - if(..()) - //if this carraige isn't part of a train anymore; unanchor it so it can be pushed around - if(!tow && !lead) - anchored = 0 - return 1 - else - return 0 - - -/obj/vehicle/train/cargo/engine/latch(var/obj/vehicle/train/T) - if(..()) - //check if this is not the lead engine - if(lead) - lead_engine = 0 - if(tow) - tow.anchored = 1 - return 1 - else - return 0 - -/obj/vehicle/train/cargo/engine/unlatch() - if(..()) - //check if this is now the lead engine - if(!lead) - lead_engine = 1 - return 1 - else - return 0 +/obj/vehicle/train/cargo/trolley/attach_to(obj/vehicle/train/T, mob/user) + ..() + if (lead) + //This is now part of a train, anchor it so it cant be pushed around + anchored = 1 +/obj/vehicle/train/cargo/trolley/unattach(mob/user) + ..() + if (!lead && !tow) + //if this carriage isn't part of a train anymore; unanchor it so it can be pushed around + anchored = 0 //------------------------------------------- // Loading/unloading procs @@ -262,13 +244,11 @@ /obj/vehicle/train/cargo/engine/update_train_stats() ..() - speed_calc() + update_move_delay() - if(!lead) //check if this is the lead engine - lead_engine = 1 -/obj/vehicle/train/cargo/engine/proc/speed_calc() - if(!lead_engine) +/obj/vehicle/train/cargo/engine/proc/update_move_delay() + if(!is_train_head()) move_delay = initial(move_delay) //so that engines that have been turned off don't lag behind else move_delay = max(0, (-car_limit * active_engines) + train_length - active_engines) //limits base overweight so you cant overspeed trains diff --git a/code/modules/vehicles/train.dm b/code/modules/vehicles/train.dm index 4a853d3811..97eeb804bc 100644 --- a/code/modules/vehicles/train.dm +++ b/code/modules/vehicles/train.dm @@ -56,6 +56,7 @@ msg_admin_attack("[D.name] ([D.ckey]) hit [M.name] ([M.ckey]) with [src]. (JMP)") + //------------------------------------------- // Interaction procs //------------------------------------------- @@ -82,14 +83,10 @@ return if(istype(C,/obj/vehicle/train)) - if(latch(C)) - user << "\blue You successfully connect the [C] to [src]." - else - user << "\red You were unable to connect the [C] to [src]." - return - - if(!load(C)) - user << "\red You were unable to load [C] on [src]." + latch(C) + else + if(!load(C)) + user << "\red You were unable to load [C] on [src]." /obj/vehicle/train/attack_hand(mob/user as mob) if(!user.canmove || user.stat || user.restrained() || !Adjacent(user)) @@ -106,22 +103,53 @@ /obj/vehicle/train/verb/unlatch_v() set name = "Unlatch" + set desc = "Unhitches this train from the one in front of it." set category = "Object" set src in view(1) if(!usr.canmove || usr.stat || usr.restrained() || !Adjacent(usr)) return - if(unlatch()) - usr << "\blue You unlatch [src]." - else - usr << "\red [src] is already unlatched." + unattach(usr) //------------------------------------------- // Latching/unlatching procs //------------------------------------------- -/obj/vehicle/train/proc/latch(var/obj/vehicle/train/T) + +//attempts to attach src as a follower of the train T +/obj/vehicle/train/proc/attach_to(obj/vehicle/train/T, mob/user) + if (get_dist(src, T) > 1) + user << "\red [src] is too far away from [T] to hitch them together." + return + + if (lead) + user << "\red [src] is already hitched to something." + return + + if (T.tow) + user << "\red [T] is already towing something." + return + + //latch with src as the follower + lead = T + T.tow = src + + update_stats() + + +//detaches the train from whatever is towing it +/obj/vehicle/train/proc/unattach(mob/user) + if (!lead) + user << "\red [src] is not hitched to anything." + return + + lead.tow = null + lead.update_stats() + + lead = null + +/obj/vehicle/train/proc/latch(mob/user, obj/vehicle/train/T) if(!istype(T) || !Adjacent(T)) return 0 @@ -130,50 +158,19 @@ return 0 */ - var/T_dir = get_dir(src, T) + var/T_dir = get_dir(src, T) //figure out where T is wrt src - if(dir & T_dir) //if car is ahead - if(!lead && !T.tow) - lead = T - T.tow = src - else - return 0 - else if(reverse_direction(dir) & T_dir) //else if car is behind - if(!tow && !T.lead) - tow = T - T.lead = src - else - return 0 - else + if(dir == T_dir) //if car is ahead + src.attach_to(T, user) + else if(reverse_direction(dir) == T_dir) //else if car is behind + T.attach_to(src, user) + +//returns 1 if this is the lead car of the train +/obj/vehicle/train/proc/is_train_head() + if (lead) return 0 - - update_stats() - return 1 -/obj/vehicle/train/proc/unlatch(var/obj/vehicle/train/T) - if(!lead && !tow) - return 0 - - if(T) - if(T == tow) - tow = null - else if(T == lead) - lead = null - else - if(tow) - tow.unlatch(src) - tow = null - if(lead) - lead.unlatch(src) - lead = null - - update_stats() - - return 1 - - - //------------------------------------------------------- // Stat update procs // @@ -182,10 +179,10 @@ // size of the train, to limit super long trains. //------------------------------------------------------- /obj/vehicle/train/update_stats() - if(!tow) - update_train_stats() + if(tow) + return tow.update_stats() //take us to the very end else - return tow.update_stats() + update_train_stats() //we're at the end /obj/vehicle/train/proc/update_train_stats() if(powered && on) @@ -195,10 +192,10 @@ train_length = 1 - if(tow) + if(istype(tow)) active_engines += tow.active_engines train_length += tow.train_length //update the next section of train ahead of us - if(lead) + if(istype(lead)) lead.update_train_stats() \ No newline at end of file From f0c32f4d233c016bfacdfe79cfe42daeb99a346a Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Sat, 21 Jun 2014 17:56:07 +1200 Subject: [PATCH 58/84] Vehicle layer tweak --- code/modules/vehicles/vehicle.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm index 437bf9529d..936d96e362 100644 --- a/code/modules/vehicles/vehicle.dm +++ b/code/modules/vehicles/vehicle.dm @@ -1,7 +1,7 @@ /obj/vehicle name = "vehicle" icon = 'icons/obj/vehicles.dmi' - layer = 2.9 + layer = OBJ_LAYER - 0.1 //so it sits below objects density = 1 anchored = 1 animate_movement=1 From 3f9fbc680bd71c1c166a0aca782c58e40256c11d Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 21 Jun 2014 02:07:47 -0400 Subject: [PATCH 59/84] Fixes #5299 --- code/modules/mob/living/carbon/monkey/diona.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/monkey/diona.dm b/code/modules/mob/living/carbon/monkey/diona.dm index cf1ea1ccb6..0c1b16e72a 100644 --- a/code/modules/mob/living/carbon/monkey/diona.dm +++ b/code/modules/mob/living/carbon/monkey/diona.dm @@ -207,7 +207,7 @@ src.visible_message("\red [src] flicks out a feeler and neatly steals a sample of [M]'s blood.","\red You flick out a feeler and neatly steal a sample of [M]'s blood.") donors += M.real_name for(var/datum/language/L in M.languages) - languages += L + languages |= L spawn(25) update_progression() From 15536d27a4a89e44c9e3035c7445097a7d2df29c Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sat, 21 Jun 2014 17:52:59 +0400 Subject: [PATCH 60/84] Fixes #5264 Viruses are properly transferred to spilled blood now. Antigens prevent from infection properly. Lowered frequency of blood puddle virus check to cut down on processing. --- code/game/turfs/simulated.dm | 4 +++ code/modules/mob/living/carbon/human/life.dm | 32 ++++++++++---------- code/modules/organs/blood.dm | 3 ++ code/modules/reagents/Chemistry-Reagents.dm | 16 +++++++--- code/modules/virus2/helpers.dm | 3 +- 5 files changed, 37 insertions(+), 21 deletions(-) diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm index dd70ad37ea..b62c32b81a 100644 --- a/code/game/turfs/simulated.dm +++ b/code/game/turfs/simulated.dm @@ -144,8 +144,11 @@ for(var/obj/effect/decal/cleanable/blood/B in contents) if(!B.blood_DNA[M.dna.unique_enzymes]) B.blood_DNA[M.dna.unique_enzymes] = M.dna.b_type + B.virus2 = virus_copylist(M.virus2) return 1 //we bloodied the floor + + //if there isn't a blood decal already, make one. var/obj/effect/decal/cleanable/blood/newblood = new /obj/effect/decal/cleanable/blood(src) @@ -156,6 +159,7 @@ newblood.basecolor = "#A10808" newblood.blood_DNA[M.dna.unique_enzymes] = M.dna.b_type + newblood.virus2 = virus_copylist(M.virus2) newblood.update_icon() return 1 //we bloodied the floor diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 2bec7cc7e3..cf39160aad 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -308,11 +308,11 @@ var/datum/gas_mixture/environment = loc.return_air() var/datum/gas_mixture/breath - + // HACK NEED CHANGING LATER if(health < config.health_threshold_crit && !reagents.has_reagent("inaprovaline")) losebreath++ - + if(losebreath>0) //Suffocating so do not take a breath losebreath-- if (prob(10)) //Gasp per 10 ticks? Sounds about right. @@ -1487,21 +1487,21 @@ for (var/ID in virus2) var/datum/disease2/disease/V = virus2[ID] V.cure(src) + if(life_tick % 3) //don't spam checks over all objects in view every tick. + for(var/obj/effect/decal/cleanable/O in view(1,src)) + if(istype(O,/obj/effect/decal/cleanable/blood)) + var/obj/effect/decal/cleanable/blood/B = O + if(B.virus2.len) + for (var/ID in B.virus2) + var/datum/disease2/disease/V = B.virus2[ID] + infect_virus2(src,V.getcopy()) - for(var/obj/effect/decal/cleanable/O in view(1,src)) - if(istype(O,/obj/effect/decal/cleanable/blood)) - var/obj/effect/decal/cleanable/blood/B = O - if(B.virus2.len) - for (var/ID in B.virus2) - var/datum/disease2/disease/V = B.virus2[ID] - infect_virus2(src,V) - - else if(istype(O,/obj/effect/decal/cleanable/mucus)) - var/obj/effect/decal/cleanable/mucus/M = O - if(M.virus2.len) - for (var/ID in M.virus2) - var/datum/disease2/disease/V = M.virus2[ID] - infect_virus2(src,V) + else if(istype(O,/obj/effect/decal/cleanable/mucus)) + var/obj/effect/decal/cleanable/mucus/M = O + if(M.virus2.len) + for (var/ID in M.virus2) + var/datum/disease2/disease/V = M.virus2[ID] + infect_virus2(src,V.getcopy()) if(virus2.len) diff --git a/code/modules/organs/blood.dm b/code/modules/organs/blood.dm index c100e74725..e9f1563c15 100644 --- a/code/modules/organs/blood.dm +++ b/code/modules/organs/blood.dm @@ -159,6 +159,9 @@ var/const/BLOOD_VOLUME_SURVIVE = 122 this.icon_state = pick(iconL) this.blood_DNA = list() this.blood_DNA[dna.unique_enzymes] = dna.b_type + for (var/ID in virus2) + var/datum/disease2/disease/V = virus2[ID] + this.virus2[ID] = V.getcopy() if (species) this.basecolor = species.blood_color this.update_icon() diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 70e442a73d..fc2f420c0e 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -118,10 +118,15 @@ datum else //injected M.contract_disease(D, 1, 0) if(self.data && self.data["virus2"] && istype(M, /mob/living/carbon))//infecting... - if(method == TOUCH) - infect_virus2(M,self.data["virus2"]) - else - infect_virus2(M,self.data["virus2"],1) //injected, force infection! + var/list/vlist = self.data["virus2"] + if (vlist.len) + for (var/ID in vlist) + var/datum/disease2/disease/V = vlist[ID] + + if(method == TOUCH) + infect_virus2(M,V.getcopy()) + else + infect_virus2(M,V.getcopy(),1) //injected, force infection! if(self.data && self.data["antibodies"] && istype(M, /mob/living/carbon))//... and curing var/mob/living/carbon/C = M C.antibodies |= self.data["antibodies"] @@ -146,6 +151,9 @@ datum blood_prop.viruses += newVirus newVirus.holder = blood_prop + if(self.data["virus2"]) + blood_prop.virus2 = virus_copylist(self.data["virus2"]) + else if(istype(self.data["donor"], /mob/living/carbon/monkey)) var/obj/effect/decal/cleanable/blood/blood_prop = locate() in T diff --git a/code/modules/virus2/helpers.dm b/code/modules/virus2/helpers.dm index 93acbd6ef4..6118dade42 100644 --- a/code/modules/virus2/helpers.dm +++ b/code/modules/virus2/helpers.dm @@ -68,10 +68,11 @@ proc/airborne_can_reach(turf/source, turf/target) if ("[disease.uniqueID]" in M.virus2) return // if one of the antibodies in the mob's body matches one of the disease's antigens, don't infect - if(M.antibodies & disease.antigen != 0) + if((M.antibodies & disease.antigen) != 0) return if(M.reagents.has_reagent("spaceacillin")) return + if(istype(M,/mob/living/carbon/monkey)) var/mob/living/carbon/monkey/chimp = M if (!(chimp.greaterform in disease.affected_species)) From 0c060d144b5da0cb1a7addde8675f93374c67ae7 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 21 Jun 2014 11:08:09 -0400 Subject: [PATCH 61/84] IPCs now need to be scanned with a robotanalyzer --- code/game/objects/items/devices/scanners.dm | 10 ++++ .../mob/living/silicon/robot/component.dm | 50 ++++++++++++------- 2 files changed, 43 insertions(+), 17 deletions(-) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index f62e2dcda7..ffdd959c55 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -92,6 +92,16 @@ REAGENT SCANNER usr << "\red You don't have the dexterity to do this!" return user.visible_message(" [user] has analyzed [M]'s vitals."," You have analyzed [M]'s vitals.") + + if (!istype(M, /mob/living/carbon) || (ishuman(M) && (M:species.flags & IS_SYNTHETIC))) + //these sensors are designed for organic life + user.show_message("\blue Analyzing Results for ERROR:\n\t Overall Status: ERROR") + user.show_message("\t Key: Suffocation/Toxin/Burns/Brute", 1) + user.show_message("\t Damage Specifics: -- - -- - -- - --") + user.show_message("\blue Body Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)", 1) //temperature is still temperature, though + user.show_message("\red Warning: Blood Level ERROR: --% --cl.\blue Type: ERROR") + user.show_message("\blue Subject's pulse: -- bpm.") + var/fake_oxy = max(rand(1,40), M.getOxyLoss(), (300 - (M.getToxLoss() + M.getFireLoss() + M.getBruteLoss()))) var/OX = M.getOxyLoss() > 50 ? "[M.getOxyLoss()]" : M.getOxyLoss() var/TX = M.getToxLoss() > 50 ? "[M.getToxLoss()]" : M.getToxLoss() diff --git a/code/modules/mob/living/silicon/robot/component.dm b/code/modules/mob/living/silicon/robot/component.dm index cee310ae59..85574fb390 100644 --- a/code/modules/mob/living/silicon/robot/component.dm +++ b/code/modules/mob/living/silicon/robot/component.dm @@ -188,7 +188,7 @@ if(!(istype(user, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") user << "\red You don't have the dexterity to do this!" return - if(!istype(M, /mob/living/silicon/robot)) + if(!istype(M, /mob/living/silicon/robot) && !(ishuman(M) && (M:species.flags & IS_SYNTHETIC))) user << "\red You can't analyze non-robotic things!" return @@ -201,21 +201,37 @@ if(M.tod && M.stat == DEAD) user.show_message("\blue Time of Disable: [M.tod]") - var/mob/living/silicon/robot/H = M - var/list/damaged = H.get_damaged_components(1,1,1) - user.show_message("\blue Localized Damage:",1) - if(length(damaged)>0) - for(var/datum/robot_component/org in damaged) - user.show_message(text("\blue \t []: [][] - [] - [] - []", \ - capitalize(org.name), \ - (org.installed == -1) ? "DESTROYED " :"",\ - (org.electronics_damage > 0) ? "[org.electronics_damage]" :0, \ - (org.brute_damage > 0) ? "[org.brute_damage]" :0, \ - (org.toggled) ? "Toggled ON" : "Toggled OFF",\ - (org.powered) ? "Power ON" : "Power OFF"),1) - else - user.show_message("\blue \t Components are OK.",1) - if(H.emagged && prob(5)) - user.show_message("\red \t ERROR: INTERNAL SYSTEMS COMPROMISED",1) + if (istype(M, var/mob/living/silicon/robot)) + var/mob/living/silicon/robot/H = M + var/list/damaged = H.get_damaged_components(1,1,1) + user.show_message("\blue Localized Damage:",1) + if(length(damaged)>0) + for(var/datum/robot_component/org in damaged) + user.show_message(text("\blue \t []: [][] - [] - [] - []", \ + capitalize(org.name), \ + (org.installed == -1) ? "DESTROYED " :"",\ + (org.electronics_damage > 0) ? "[org.electronics_damage]" :0, \ + (org.brute_damage > 0) ? "[org.brute_damage]" :0, \ + (org.toggled) ? "Toggled ON" : "Toggled OFF",\ + (org.powered) ? "Power ON" : "Power OFF"),1) + else + user.show_message("\blue \t Components are OK.",1) + if(H.emagged && prob(5)) + user.show_message("\red \t ERROR: INTERNAL SYSTEMS COMPROMISED",1) + + if (ishuman(M) && (M:species.flags & IS_SYNTHETIC)) + user.show_message("\blue Operating Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)", 1) + + var/list/damaged = H.get_damaged_organs(1,1) + user.show_message("\blue Localized Damage, Brute/Electronics:",1) + if(length(damaged)>0) + for(var/datum/organ/external/org in damaged) + user.show_message(text("\blue \t []: [] - []", \ + capitalize(org.display_name), \ + (org.brute_dam > 0) ? "\red [org.brute_dam]" :0, \ + (org.burn_dam > 0) ? "[org.burn_dam]" :0),1) + else + user.show_message("\blue \t Components are OK.",1) + src.add_fingerprint(user) return From b9fa4330873fa154a3807a3fdf75de3ece25210b Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 21 Jun 2014 16:53:18 -0400 Subject: [PATCH 62/84] Adds suit cooling device Also: Breathing in hot/cold air will affect your body temperature. Fixes old body temperature stabilization code not working. Thermometer icon now adjusts based on species. Reduced BODYTEMP_AUTORECOVERY_MINIMUM to a less ridiculous value. --- baystation12.dme | 1 + code/game/gamemodes/cult/cult_items.dm | 2 +- .../objects/items/devices/suit_cooling.dm | 161 ++++++++++++++++++ .../game/objects/items/weapons/tanks/tanks.dm | 1 + code/modules/clothing/clothing.dm | 2 +- code/modules/clothing/spacesuits/ninja.dm | 2 +- code/modules/clothing/spacesuits/rig.dm | 8 +- code/modules/mob/living/carbon/human/life.dm | 158 +++++++++++------ .../xenoarchaeology/tools/anomaly_suit.dm | 2 +- code/setup.dm | 2 +- 10 files changed, 280 insertions(+), 59 deletions(-) create mode 100644 code/game/objects/items/devices/suit_cooling.dm diff --git a/baystation12.dme b/baystation12.dme index 43733732a0..6a75afbf28 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -487,6 +487,7 @@ #include "code\game\objects\items\devices\pipe_painter.dm" #include "code\game\objects\items\devices\powersink.dm" #include "code\game\objects\items\devices\scanners.dm" +#include "code\game\objects\items\devices\suit_cooling.dm" #include "code\game\objects\items\devices\taperecorder.dm" #include "code\game\objects\items\devices\traitordevices.dm" #include "code\game\objects\items\devices\transfer_valve.dm" diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index 4e38f4fe44..d55417c5f5 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -98,7 +98,7 @@ item_state = "cult_armour" desc = "A bulky suit of armour, bristling with spikes. It looks space proof." w_class = 3 - allowed = list(/obj/item/weapon/tome,/obj/item/weapon/melee/cultblade,/obj/item/weapon/tank/emergency_oxygen) + allowed = list(/obj/item/weapon/tome,/obj/item/weapon/melee/cultblade,/obj/item/weapon/tank/emergency_oxygen,/obj/item/device/suit_cooling_unit) slowdown = 1 armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30) siemens_coefficient = 0 \ No newline at end of file diff --git a/code/game/objects/items/devices/suit_cooling.dm b/code/game/objects/items/devices/suit_cooling.dm new file mode 100644 index 0000000000..4035ab3c0c --- /dev/null +++ b/code/game/objects/items/devices/suit_cooling.dm @@ -0,0 +1,161 @@ +/obj/item/device/suit_cooling_unit + name = "portable suit cooling unit" + desc = "A portable heat sink and liquid cooled radiator that can be hooked up to a space suit's existing temperature controls to provide industrial levels of cooling." + w_class = 4 + icon = 'icons/obj/power.dmi' //temporary, I hope + icon_state = "portgen0" + slot_flags = SLOT_BACK //you can carry it on your back if you want, but it won't do anything unless attached to suit storage + + var/on = 0 //is it turned on? + var/cover_open = 0 //is the cover open? + var/obj/item/weapon/cell/cell + var/max_cooling = 12 //in degrees per second - probably don't need to mess with heat capacity here + var/charge_consumption = 16.6 //charge per second at max_cooling + var/thermostat = T20C + + //TODO: make it heat up the surroundings when not in space + +/obj/item/device/suit_cooling_unit/proc/cool_mob(mob/M) + if (!on || !cell) return + + //make sure they have a suit and we are attached to it + if (!attached_to_suit(M)) + return + + var/mob/living/carbon/human/H = M + + var/efficiency = H.get_pressure_protection() //you need to have a good seal for effective cooling + var/env_temp = get_environment_temperature() //wont save you from a fire + var/temp_adj = min(H.bodytemperature - max(thermostat, env_temp), max_cooling) + + if (temp_adj < 0) //only cools, doesn't heat + return + + var/charge_usage = (temp_adj/max_cooling)*charge_consumption + + H.bodytemperature -= temp_adj*efficiency + + cell.use(charge_usage) + + if(cell.charge <= 0) + turn_off() + +/obj/item/device/suit_cooling_unit/proc/get_environment_temperature() + if (ishuman(loc)) + var/mob/living/carbon/human/H = loc + if(istype(H.loc, /obj/mecha)) + var/obj/mecha/M = loc + return M.return_temperature() + else if(istype(H.loc, /obj/machinery/atmospherics/unary/cryo_cell)) + return H.loc:air_contents.temperature + + var/turf/T = get_turf(src) + if(istype(T, /turf/space)) + return 0 //space has no temperature, this just makes sure the cooling unit works in space + + var/datum/gas_mixture/environment = T.return_air() + if (!environment) + return 0 + + return environment.temperature + +/obj/item/device/suit_cooling_unit/proc/attached_to_suit(mob/M) + if (!ishuman(M)) + return 0 + + var/mob/living/carbon/human/H = M + + if (!H.wear_suit || H.s_store != src) + return 0 + + return 1 + +/obj/item/device/suit_cooling_unit/proc/turn_on() + if(!cell) + return + if(cell.charge <= 0) + return + + on = 1 + updateicon() + +/obj/item/device/suit_cooling_unit/proc/turn_off() + if (ismob(src.loc)) + src.loc << "\The [src] clicks and whines as it powers down." //let them know + on = 0 + updateicon() + +/obj/item/device/suit_cooling_unit/attack_self(mob/user as mob) + if(cover_open && cell) + if(ishuman(user)) + user.put_in_hands(cell) + else + cell.loc = get_turf(loc) + + cell.add_fingerprint(user) + cell.updateicon() + + user << "You remove the [src.cell]." + src.cell = null + updateicon() + return + + //TODO use a UI like the air tanks + if(on) + turn_off() + else + turn_on() + if (on) + user << "You switch on the [src]." + +/obj/item/device/suit_cooling_unit/attackby(obj/item/weapon/W as obj, mob/user as mob) + if (istype(W, /obj/item/weapon/screwdriver)) + if(cover_open) + cover_open = 0 + user << "You screw the panel into place." + else + cover_open = 1 + user << "You unscrew the panel." + updateicon() + return + + if (istype(W, /obj/item/weapon/cell)) + if(cover_open) + if(cell) + user << "There is a [cell] already installed here." + else + user.drop_item() + W.loc = src + cell = W + user << "You insert the [cell]." + updateicon() + return + + return ..() + +/obj/item/device/suit_cooling_unit/proc/updateicon() + return 0 //TODO + +/obj/item/device/suit_cooling_unit/examine() + set src in view(1) + + ..() + + if (on) + if (attached_to_suit(src.loc)) + usr << "It's switched on and running." + else + usr << "It's switched on, but not attached to anything." + else + usr << "It is switched off." + + if (cover_open) + if(cell) + usr << "The panel is open, exposing the [cell]." + else + usr << "The panel is open." + + if (cell) + usr << "The charge meter reads [round(cell.percent())]%." + else + usr << "It doesn't have a power cell installed." \ No newline at end of file diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm index 6623c99cb3..8b883f818a 100644 --- a/code/game/objects/items/weapons/tanks/tanks.dm +++ b/code/game/objects/items/weapons/tanks/tanks.dm @@ -6,6 +6,7 @@ icon = 'icons/obj/tank.dmi' flags = FPRINT | TABLEPASS | CONDUCT slot_flags = SLOT_BACK + w_class = 3 pressure_resistance = ONE_ATMOSPHERE*5 diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 84acdb6aca..76e4bb01d2 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -220,7 +220,7 @@ BLIND // can't see anything permeability_coefficient = 0.02 flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE | THICKMATERIAL body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/device/suit_cooling_unit) slowdown = 3 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL diff --git a/code/modules/clothing/spacesuits/ninja.dm b/code/modules/clothing/spacesuits/ninja.dm index c146bb21a5..c51594e0e6 100644 --- a/code/modules/clothing/spacesuits/ninja.dm +++ b/code/modules/clothing/spacesuits/ninja.dm @@ -13,7 +13,7 @@ desc = "A unique, vaccum-proof suit of nano-enhanced armor designed specifically for Spider Clan assassins." icon_state = "s-ninja" item_state = "s-ninja_suit" - allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank,/obj/item/weapon/cell) + allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/cell) slowdown = 0 armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30) siemens_coefficient = 0.2 diff --git a/code/modules/clothing/spacesuits/rig.dm b/code/modules/clothing/spacesuits/rig.dm index ab3f723674..995e116717 100644 --- a/code/modules/clothing/spacesuits/rig.dm +++ b/code/modules/clothing/spacesuits/rig.dm @@ -55,7 +55,7 @@ item_state = "eng_hardsuit" slowdown = 1 armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 80) - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd) heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE @@ -359,7 +359,7 @@ slowdown = 1 w_class = 3 armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 60) - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs) siemens_coefficient = 0.6 species_restricted = list("exclude","Unathi","Tajaran","Skrell","Vox") @@ -402,7 +402,7 @@ name = "medical hardsuit" desc = "A special suit that protects against hazardous, low pressure environments. Has minor radiation shielding." item_state = "medical_hardsuit" - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical) armor = list(melee = 30, bullet = 5, laser = 20,energy = 5, bomb = 25, bio = 100, rad = 50) //Security @@ -421,7 +421,7 @@ desc = "A special suit that protects against hazardous, low pressure environments. Has an additional layer of armor." item_state = "sec_hardsuit" armor = list(melee = 60, bullet = 10, laser = 30, energy = 5, bomb = 45, bio = 100, rad = 10) - allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/melee/baton) + allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton) siemens_coefficient = 0.7 diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 5ef87cd1e2..04f49d78ce 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -129,12 +129,10 @@ G.process() -/mob/living/carbon/human/calculate_affecting_pressure(var/pressure) - ..() - var/pressure_difference = abs( pressure - ONE_ATMOSPHERE ) - +//Much like get_heat_protection(), this returns a 0 - 1 value, which corresponds to the percentage of protection based on what you're wearing and what you're exposed to. +/mob/living/carbon/human/proc/get_pressure_protection() var/pressure_adjustment_coefficient = 1 //Determins how much the clothing you are wearing protects you in percent. - + if(head && (head.flags & STOPSPRESSUREDMAGE)) pressure_adjustment_coefficient -= PRESSURE_HEAD_REDUCTION_COEFFICIENT @@ -147,10 +145,16 @@ if(S.can_breach && S.damage) var/pressure_loss = S.damage * 0.1 pressure_adjustment_coefficient += pressure_loss - + pressure_adjustment_coefficient = min(1,max(pressure_adjustment_coefficient,0)) //So it isn't less than 0 or larger than 1. + + return 1 - pressure_adjustment_coefficient //want 0 to be bad protection, 1 to be good protection - pressure_difference = pressure_difference * pressure_adjustment_coefficient +/mob/living/carbon/human/calculate_affecting_pressure(var/pressure) + ..() + var/pressure_difference = abs( pressure - ONE_ATMOSPHERE ) + + pressure_difference = pressure_difference * (1 - get_pressure_protection()) if(pressure > ONE_ATMOSPHERE) return ONE_ATMOSPHERE + pressure_difference @@ -616,14 +620,14 @@ adjustOxyLoss(-5) // Hot air hurts :( - if( (abs(310.15 - breath.temperature) > 50) && !(COLD_RESISTANCE in mutations)) + if( (breath.temperature < species.cold_level_1 || breath.temperature > species.heat_level_1) && !(COLD_RESISTANCE in mutations)) if(status_flags & GODMODE) return 1 if(breath.temperature < species.cold_level_1) if(prob(20)) - src << "\red You feel your face freezing and an icicle forming in your lungs!" + src << "\red You feel your face freezing and icicles forming in your lungs!" else if(breath.temperature > species.heat_level_1) if(prob(20)) src << "\red You feel your face burning and a searing heat in your lungs!" @@ -647,9 +651,21 @@ if(species.heat_level_3 to INFINITY) apply_damage(HEAT_GAS_DAMAGE_LEVEL_3, BURN, "head", used_weapon = "Excessive Heat") fire_alert = max(fire_alert, 2) - - //Temporary fixes to the alerts. - + + //breathing in hot/cold air also heats/cools you a bit + var/temp_adj = breath.temperature - bodytemperature + if (temp_adj < 0) + temp_adj /= (BODYTEMP_COLD_DIVISOR * 5) //don't raise temperature as much as if we were directly exposed + else + temp_adj /= (BODYTEMP_HEAT_DIVISOR * 5) //don't raise temperature as much as if we were directly exposed + + var/relative_density = breath.total_moles() / (MOLES_CELLSTANDARD * BREATH_PERCENTAGE) + 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 << "Breath: [breath.temperature], [src]: [bodytemperature], Adjusting: [temp_adj]" + bodytemperature += temp_adj return 1 proc/handle_environment(datum/gas_mixture/environment) @@ -665,7 +681,6 @@ if(istype(loc, /obj/mecha)) var/obj/mecha/M = loc loc_temp = M.return_temperature() - else if(istype(get_turf(src), /turf/space)) else if(istype(loc, /obj/machinery/atmospherics/unary/cryo_cell)) loc_temp = loc:air_contents.temperature else @@ -691,6 +706,7 @@ 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 // +/- 50 degrees from 310.15K is the 'safe' zone, where no damage is dealt. @@ -700,13 +716,17 @@ if(status_flags & GODMODE) return 1 //godmode switch(bodytemperature) if(species.heat_level_1 to species.heat_level_2) - apply_damage(HEAT_DAMAGE_LEVEL_1, BURN, used_weapon = "High Body Temperature") + //I'm thinking it might be better to use adjustFireloss here instead of apply_damage so that damage is spread evenly across organs, instead of being dealt mostly to the chest + //apply_damage(HEAT_DAMAGE_LEVEL_1, BURN, used_weapon = "High Body Temperature") + adjustFireloss(HEAT_DAMAGE_LEVEL_1) fire_alert = max(fire_alert, 2) if(species.heat_level_2 to species.heat_level_3) - apply_damage(HEAT_DAMAGE_LEVEL_2, BURN, used_weapon = "High Body Temperature") + //apply_damage(HEAT_DAMAGE_LEVEL_2, BURN, used_weapon = "High Body Temperature") + adjustFireloss(HEAT_DAMAGE_LEVEL_2) fire_alert = max(fire_alert, 2) if(species.heat_level_3 to INFINITY) - apply_damage(HEAT_DAMAGE_LEVEL_3, BURN, used_weapon = "High Body Temperature") + //apply_damage(HEAT_DAMAGE_LEVEL_3, BURN, used_weapon = "High Body Temperature") + adjustFireloss(HEAT_DAMAGE_LEVEL_3) fire_alert = max(fire_alert, 2) else if(bodytemperature < species.cold_level_1) @@ -715,13 +735,17 @@ if(!istype(loc, /obj/machinery/atmospherics/unary/cryo_cell)) switch(bodytemperature) if(species.cold_level_2 to species.cold_level_1) - apply_damage(COLD_DAMAGE_LEVEL_1, BURN, used_weapon = "Low Body Temperature") + //I'm thinking it might be better to use adjustFireloss here instead of apply_damage so that damage is spread evenly across organs, instead of being dealt mostly to the chest + //apply_damage(COLD_DAMAGE_LEVEL_1, BURN, used_weapon = "Low Body Temperature") + adjustFireloss(COLD_DAMAGE_LEVEL_1) fire_alert = max(fire_alert, 1) if(species.cold_level_3 to species.cold_level_2) - apply_damage(COLD_DAMAGE_LEVEL_2, BURN, used_weapon = "Low Body Temperature") + //apply_damage(COLD_DAMAGE_LEVEL_2, BURN, used_weapon = "Low Body Temperature") + adjustFireloss(COLD_DAMAGE_LEVEL_2) fire_alert = max(fire_alert, 1) if(-INFINITY to species.cold_level_3) - apply_damage(COLD_DAMAGE_LEVEL_3, BURN, used_weapon = "Low Body Temperature") + //apply_damage(COLD_DAMAGE_LEVEL_3, BURN, used_weapon = "Low Body Temperature") + adjustFireloss(COLD_DAMAGE_LEVEL_3) fire_alert = max(fire_alert, 1) // Account for massive pressure differences. Done by Polymorph @@ -729,7 +753,7 @@ if(status_flags & GODMODE) return 1 //godmode if(adjusted_pressure >= species.hazard_high_pressure) - adjustBruteLoss( min( ( (adjusted_pressure / species.hazard_high_pressure) -1 )*PRESSURE_DAMAGE_COEFFICIENT , MAX_HIGH_PRESSURE_DAMAGE) ) + adjustBruteLoss(min( ( (adjusted_pressure / species.hazard_high_pressure) -1 )*PRESSURE_DAMAGE_COEFFICIENT , MAX_HIGH_PRESSURE_DAMAGE)) pressure_alert = 2 else if(adjusted_pressure >= species.warning_high_pressure) pressure_alert = 1 @@ -737,13 +761,9 @@ pressure_alert = 0 else if(adjusted_pressure >= species.hazard_low_pressure) pressure_alert = -1 - - if(species && species.flags & IS_SYNTHETIC) - bodytemperature += 0.5 * TEMPERATURE_DAMAGE_COEFFICIENT //Synthetics suffer overheating in a vaccuum. ~Z - else if( !(COLD_RESISTANCE in mutations)) - apply_damage(LOW_PRESSURE_DAMAGE, BRUTE, used_weapon = "Low Pressure") + adjustBruteLoss(LOW_PRESSURE_DAMAGE) pressure_alert = -2 else pressure_alert = -1 @@ -772,29 +792,38 @@ */ proc/stabilize_body_temperature() - if (species && species.flags & IS_SYNTHETIC) + //TODO find a better place to put this + if (s_store && istype(s_store, /obj/item/device/suit_cooling_unit)) + var/obj/item/device/suit_cooling_unit/CU = s_store + CU.cool_mob(src) + + if (species.flags & IS_SYNTHETIC) bodytemperature += species.synth_temp_gain //that CPU/posibrain just keeps putting out heat. return var/body_temperature_difference = species.body_temperature - bodytemperature + if (abs(body_temperature_difference) < 0.5) return //fuck this precision - switch(bodytemperature) - if(-INFINITY to species.cold_level_1) //260.15 is 310.15 - 50, the temperature where you start to feel effects. - if(nutrition >= 2) //If we are very, very cold we'll use up quite a bit of nutriment to heat us up. - nutrition -= 2 - var/recovery_amt = max((body_temperature_difference / BODYTEMP_AUTORECOVERY_DIVISOR), BODYTEMP_AUTORECOVERY_MINIMUM) + + if(bodytemperature < species.cold_level_1) //260.15 is 310.15 - 50, the temperature where you start to feel effects. + if(nutrition >= 2) //If we are very, very cold we'll use up quite a bit of nutriment to heat us up. + nutrition -= 2 + var/recovery_amt = max((body_temperature_difference / BODYTEMP_AUTORECOVERY_DIVISOR), BODYTEMP_AUTORECOVERY_MINIMUM) + //world << "Cold. Difference = [body_temperature_difference]. Recovering [recovery_amt]" // log_debug("Cold. Difference = [body_temperature_difference]. Recovering [recovery_amt]") - bodytemperature += recovery_amt - if(species.cold_level_1 to species.heat_level_1) - var/recovery_amt = body_temperature_difference / BODYTEMP_AUTORECOVERY_DIVISOR + bodytemperature += recovery_amt + else if(species.cold_level_1 <= bodytemperature && bodytemperature <= species.heat_level_1) + var/recovery_amt = body_temperature_difference / BODYTEMP_AUTORECOVERY_DIVISOR + //world << "Norm. Difference = [body_temperature_difference]. Recovering [recovery_amt]" // log_debug("Norm. Difference = [body_temperature_difference]. Recovering [recovery_amt]") - bodytemperature += recovery_amt - if(species.heat_level_1 to INFINITY) //360.15 is 310.15 + 50, the temperature where you start to feel effects. - //We totally need a sweat system cause it totally makes sense...~ - var/recovery_amt = min((body_temperature_difference / BODYTEMP_AUTORECOVERY_DIVISOR), -BODYTEMP_AUTORECOVERY_MINIMUM) //We're dealing with negative numbers + bodytemperature += recovery_amt + else if(bodytemperature > species.heat_level_1) //360.15 is 310.15 + 50, the temperature where you start to feel effects. + //We totally need a sweat system cause it totally makes sense...~ + var/recovery_amt = min((body_temperature_difference / BODYTEMP_AUTORECOVERY_DIVISOR), -BODYTEMP_AUTORECOVERY_MINIMUM) //We're dealing with negative numbers + //world << "Hot. Difference = [body_temperature_difference]. Recovering [recovery_amt]" // log_debug("Hot. Difference = [body_temperature_difference]. Recovering [recovery_amt]") - bodytemperature += recovery_amt + bodytemperature += recovery_amt //This proc returns a number made up of the flags for body parts which you are protected on. (such as HEAD, UPPER_TORSO, LOWER_TORSO, etc. See setup.dm for the full list) proc/get_heat_protection_flags(temperature) //Temperature is the temperature you're being exposed to. @@ -1441,17 +1470,46 @@ else fire.icon_state = "fire0" if(bodytemp) - switch(bodytemperature) //310.055 optimal body temp - if(370 to INFINITY) bodytemp.icon_state = "temp4" - if(350 to 370) bodytemp.icon_state = "temp3" - if(335 to 350) bodytemp.icon_state = "temp2" - if(320 to 335) bodytemp.icon_state = "temp1" - if(300 to 320) bodytemp.icon_state = "temp0" - if(295 to 300) bodytemp.icon_state = "temp-1" - if(280 to 295) bodytemp.icon_state = "temp-2" - if(260 to 280) bodytemp.icon_state = "temp-3" - else bodytemp.icon_state = "temp-4" - + if (!species) + switch(bodytemperature) //310.055 optimal body temp + if(370 to INFINITY) bodytemp.icon_state = "temp4" + if(350 to 370) bodytemp.icon_state = "temp3" + if(335 to 350) bodytemp.icon_state = "temp2" + if(320 to 335) bodytemp.icon_state = "temp1" + if(300 to 320) bodytemp.icon_state = "temp0" + if(295 to 300) bodytemp.icon_state = "temp-1" + if(280 to 295) bodytemp.icon_state = "temp-2" + if(260 to 280) bodytemp.icon_state = "temp-3" + else bodytemp.icon_state = "temp-4" + else + var/temp_step + if (bodytemperature >= species.body_temperature) + temp_step = (species.heat_level_1 - species.body_temperature)/4 + + if (bodytemperature >= species.heat_level_1) + bodytemp.icon_state = "temp4" + else if (bodytemperature >= species.body_temperature + temp_step*3) + bodytemp.icon_state = "temp3" + else if (bodytemperature >= species.body_temperature + temp_step*2) + bodytemp.icon_state = "temp2" + else if (bodytemperature >= species.body_temperature + temp_step*1) + bodytemp.icon_state = "temp1" + else + bodytemp.icon_state = "temp0" + + else if (bodytemperature < species.body_temperature) + temp_step = (species.body_temperature - species.cold_level_1)/4 + + if (bodytemperature <= species.cold_level_1) + bodytemp.icon_state = "temp-4" + else if (bodytemperature <= species.body_temperature - temp_step*3) + bodytemp.icon_state = "temp-3" + else if (bodytemperature <= species.body_temperature - temp_step*2) + bodytemp.icon_state = "temp-2" + else if (bodytemperature <= species.body_temperature - temp_step*1) + bodytemp.icon_state = "temp-1" + else + bodytemp.icon_state = "temp0" if(blind) if(blinded) blind.layer = 18 else blind.layer = 0 diff --git a/code/modules/research/xenoarchaeology/tools/anomaly_suit.dm b/code/modules/research/xenoarchaeology/tools/anomaly_suit.dm index 05e6d02d35..67ac1bd867 100644 --- a/code/modules/research/xenoarchaeology/tools/anomaly_suit.dm +++ b/code/modules/research/xenoarchaeology/tools/anomaly_suit.dm @@ -20,7 +20,7 @@ icon_state = "cespace_suit" item_state = "cespace_suit" armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 100) - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit) /obj/item/clothing/head/helmet/space/anomaly name = "Excavation hood" diff --git a/code/setup.dm b/code/setup.dm index 520e83afc1..724a42c8bb 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -35,7 +35,7 @@ #define TEMPERATURE_DAMAGE_COEFFICIENT 1.5 //This is used in handle_temperature_damage() for humans, and in reagents that affect body temperature. Temperature damage is multiplied by this amount. #define BODYTEMP_AUTORECOVERY_DIVISOR 12 //This is the divisor which handles how much of the temperature difference between the current body temperature and 310.15K (optimal temperature) humans auto-regenerate each tick. The higher the number, the slower the recovery. This is applied each tick, so long as the mob is alive. -#define BODYTEMP_AUTORECOVERY_MINIMUM 10 //Minimum amount of kelvin moved toward 310.15K per tick. So long as abs(310.15 - bodytemp) is more than 50. +#define BODYTEMP_AUTORECOVERY_MINIMUM 1 //Minimum amount of kelvin moved toward 310.15K per tick. So long as abs(310.15 - bodytemp) is more than 50. #define BODYTEMP_COLD_DIVISOR 6 //Similar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is lower than their body temperature. Make it lower to lose bodytemp faster. #define BODYTEMP_HEAT_DIVISOR 6 //Similar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is higher than their body temperature. Make it lower to gain bodytemp faster. #define BODYTEMP_COOLING_MAX -30 //The maximum number of degrees that your body can cool in 1 tick, when in a cold area. From 1a57ed735531f91c5b3707e98b0e49b71769e19b Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 21 Jun 2014 16:55:07 -0400 Subject: [PATCH 63/84] Having an infection raises your body temperature Also the toxin damage taken during INFECTION_LEVEL_ONE is greatly reduced. Fixes robotic internal organs getting infections. Fixes the organ_failure random event. Forgot to set the affected organ as needing processing. --- code/modules/events/organ_failure.dm | 2 ++ code/modules/organs/organ_external.dm | 8 +++++--- code/modules/organs/organ_internal.dm | 10 +++++++--- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/code/modules/events/organ_failure.dm b/code/modules/events/organ_failure.dm index f954891b90..1499afcb45 100644 --- a/code/modules/events/organ_failure.dm +++ b/code/modules/events/organ_failure.dm @@ -39,5 +39,7 @@ datum/event/organ_failure/start() O.germ_level = max(INFECTION_LEVEL_TWO, O.germ_level) else O.germ_level = max(rand(INFECTION_LEVEL_ONE,INFECTION_LEVEL_ONE*2), O.germ_level) + + C.bad_external_organs |= O severity-- diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 9ebfbb8098..47450621da 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -357,12 +357,14 @@ This function completely restores a damaged organ to perfect condition. if(germ_level >= INFECTION_LEVEL_ONE) //having an infection raises your body temperature - var/temperature_increase = (owner.species.heat_level_1 - owner.species.body_temperature - 1)* min(germ_level/INFECTION_LEVEL_THREE, 1) - if (owner.bodytemperature < temperature_increase) + var/fever_temperature = (owner.species.heat_level_1 - owner.species.body_temperature - 1)* min(germ_level/INFECTION_LEVEL_THREE, 1) + owner.species.body_temperature + if (owner.bodytemperature < fever_temperature) + //world << "fever: [owner.bodytemperature] < [fever_temperature], raising temperature." owner.bodytemperature++ if(prob(round(germ_level/10))) //aiming for a light infection to become serious after 40 minutes, standing still - germ_level++ + if (prob(5)) + germ_level++ owner.adjustToxLoss(1) if(germ_level >= INFECTION_LEVEL_TWO) diff --git a/code/modules/organs/organ_internal.dm b/code/modules/organs/organ_internal.dm index 7df2bc90e2..d5e1b19b6c 100644 --- a/code/modules/organs/organ_internal.dm +++ b/code/modules/organs/organ_internal.dm @@ -37,18 +37,22 @@ if (!germ_level) return + if (robotic >= 2) //TODO make robotic internal and external organs separate types of organ instead of a flag + germ_level = 0 + return + var/antibiotics = owner.reagents.get_reagent_amount("spaceacillin") - + if (germ_level > 0 && antibiotics > 5) if (prob(4*antibiotics)) germ_level-- if (antibiotics > 30) germ_level-- - + if (germ_level >= INFECTION_LEVEL_ONE/2) if(prob(round(germ_level/6))) //aiming for germ level to go from ambient to INFECTION_LEVEL_TWO in an average of 15 minutes germ_level++ if(prob(1)) take_damage(1,silent=0) - + if (germ_level >= INFECTION_LEVEL_TWO) var/datum/organ/external/parent = owner.get_organ(parent_organ) if (parent.germ_level < germ_level && ( parent.germ_level < INFECTION_LEVEL_ONE*2 || prob(30) )) From 95285575738c16135d8fcc9fa7d48ad03f79c0ac Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 21 Jun 2014 16:58:20 -0400 Subject: [PATCH 64/84] IPCs actually take heat damage from temperature now Also fixes the healthanalyzer still not scanning IPCs properly (scanning them when it shouldn't) --- code/game/objects/items/devices/scanners.dm | 5 +++-- code/modules/mob/living/carbon/species.dm | 10 +++++----- code/modules/mob/living/silicon/robot/component.dm | 11 ++++++----- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index ffdd959c55..22caeb2090 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -97,10 +97,11 @@ REAGENT SCANNER //these sensors are designed for organic life user.show_message("\blue Analyzing Results for ERROR:\n\t Overall Status: ERROR") user.show_message("\t Key: Suffocation/Toxin/Burns/Brute", 1) - user.show_message("\t Damage Specifics: -- - -- - -- - --") - user.show_message("\blue Body Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)", 1) //temperature is still temperature, though + user.show_message("\t Damage Specifics: ? - ? - ? - ?") + user.show_message("\blue Body Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)", 1) user.show_message("\red Warning: Blood Level ERROR: --% --cl.\blue Type: ERROR") user.show_message("\blue Subject's pulse: -- bpm.") + return var/fake_oxy = max(rand(1,40), M.getOxyLoss(), (300 - (M.getToxLoss() + M.getFireLoss() + M.getBruteLoss()))) var/OX = M.getOxyLoss() > 50 ? "[M.getOxyLoss()]" : M.getOxyLoss() diff --git a/code/modules/mob/living/carbon/species.dm b/code/modules/mob/living/carbon/species.dm index 8b0550655d..b171bfb884 100644 --- a/code/modules/mob/living/carbon/species.dm +++ b/code/modules/mob/living/carbon/species.dm @@ -322,17 +322,17 @@ burn_mod = 1 warning_low_pressure = 50 - hazard_low_pressure = 10 + hazard_low_pressure = 0 cold_level_1 = 50 cold_level_2 = -1 cold_level_3 = -1 - heat_level_1 = 2000 - heat_level_2 = 3000 - heat_level_3 = 4000 + heat_level_1 = 500 //gives them about 25 seconds in space before taking damage + heat_level_2 = 1000 + heat_level_3 = 2000 - synth_temp_gain = 6.7 //round(40 / BODYTEMP_COLD_DIVISOR, 0.1) //this should cause IPCs to stabilize at ~60 C in a 20 C environment. Based on some CPU operating temperatures + synth_temp_gain = 10 //this should cause IPCs to stabilize at ~80 C in a 20 C environment. flags = IS_WHITELISTED | NO_BREATHE | NO_SCAN | NO_BLOOD | NO_PAIN | IS_SYNTHETIC diff --git a/code/modules/mob/living/silicon/robot/component.dm b/code/modules/mob/living/silicon/robot/component.dm index 85574fb390..d97d2a5391 100644 --- a/code/modules/mob/living/silicon/robot/component.dm +++ b/code/modules/mob/living/silicon/robot/component.dm @@ -200,8 +200,8 @@ user.show_message("\t Damage Specifics: [BU] - [BR]") if(M.tod && M.stat == DEAD) user.show_message("\blue Time of Disable: [M.tod]") - - if (istype(M, var/mob/living/silicon/robot)) + + if (istype(M, /mob/living/silicon/robot)) var/mob/living/silicon/robot/H = M var/list/damaged = H.get_damaged_components(1,1,1) user.show_message("\blue Localized Damage:",1) @@ -220,8 +220,7 @@ user.show_message("\red \t ERROR: INTERNAL SYSTEMS COMPROMISED",1) if (ishuman(M) && (M:species.flags & IS_SYNTHETIC)) - user.show_message("\blue Operating Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)", 1) - + var/mob/living/carbon/human/H = M var/list/damaged = H.get_damaged_organs(1,1) user.show_message("\blue Localized Damage, Brute/Electronics:",1) if(length(damaged)>0) @@ -232,6 +231,8 @@ (org.burn_dam > 0) ? "[org.burn_dam]" :0),1) else user.show_message("\blue \t Components are OK.",1) - + + user.show_message("\blue Operating Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)", 1) + src.add_fingerprint(user) return From 7500275c41b87821a67cc9afc311af5d8c2d27af Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 21 Jun 2014 17:07:38 -0400 Subject: [PATCH 65/84] Fixes bad capitalization in proc call --- code/modules/mob/living/carbon/human/life.dm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 04f49d78ce..73f7988703 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -716,17 +716,17 @@ if(status_flags & GODMODE) return 1 //godmode switch(bodytemperature) if(species.heat_level_1 to species.heat_level_2) - //I'm thinking it might be better to use adjustFireloss here instead of apply_damage so that damage is spread evenly across organs, instead of being dealt mostly to the chest + //I'm thinking it might be better to use adjustFireLoss here instead of apply_damage so that damage is spread evenly across organs, instead of being dealt mostly to the chest //apply_damage(HEAT_DAMAGE_LEVEL_1, BURN, used_weapon = "High Body Temperature") - adjustFireloss(HEAT_DAMAGE_LEVEL_1) + adjustFireLoss(HEAT_DAMAGE_LEVEL_1) fire_alert = max(fire_alert, 2) if(species.heat_level_2 to species.heat_level_3) //apply_damage(HEAT_DAMAGE_LEVEL_2, BURN, used_weapon = "High Body Temperature") - adjustFireloss(HEAT_DAMAGE_LEVEL_2) + adjustFireLoss(HEAT_DAMAGE_LEVEL_2) fire_alert = max(fire_alert, 2) if(species.heat_level_3 to INFINITY) //apply_damage(HEAT_DAMAGE_LEVEL_3, BURN, used_weapon = "High Body Temperature") - adjustFireloss(HEAT_DAMAGE_LEVEL_3) + adjustFireLoss(HEAT_DAMAGE_LEVEL_3) fire_alert = max(fire_alert, 2) else if(bodytemperature < species.cold_level_1) @@ -735,17 +735,17 @@ if(!istype(loc, /obj/machinery/atmospherics/unary/cryo_cell)) switch(bodytemperature) if(species.cold_level_2 to species.cold_level_1) - //I'm thinking it might be better to use adjustFireloss here instead of apply_damage so that damage is spread evenly across organs, instead of being dealt mostly to the chest + //I'm thinking it might be better to use adjustFireLoss here instead of apply_damage so that damage is spread evenly across organs, instead of being dealt mostly to the chest //apply_damage(COLD_DAMAGE_LEVEL_1, BURN, used_weapon = "Low Body Temperature") - adjustFireloss(COLD_DAMAGE_LEVEL_1) + adjustFireLoss(COLD_DAMAGE_LEVEL_1) fire_alert = max(fire_alert, 1) if(species.cold_level_3 to species.cold_level_2) //apply_damage(COLD_DAMAGE_LEVEL_2, BURN, used_weapon = "Low Body Temperature") - adjustFireloss(COLD_DAMAGE_LEVEL_2) + adjustFireLoss(COLD_DAMAGE_LEVEL_2) fire_alert = max(fire_alert, 1) if(-INFINITY to species.cold_level_3) //apply_damage(COLD_DAMAGE_LEVEL_3, BURN, used_weapon = "Low Body Temperature") - adjustFireloss(COLD_DAMAGE_LEVEL_3) + adjustFireLoss(COLD_DAMAGE_LEVEL_3) fire_alert = max(fire_alert, 1) // Account for massive pressure differences. Done by Polymorph From c5d14da6027dff91894a3f1646e5a74ac045f12b Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 21 Jun 2014 20:38:50 -0400 Subject: [PATCH 66/84] Fixes pressure and temperature damage for autopsies --- code/modules/mob/living/carbon/human/life.dm | 25 +++++++------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 73f7988703..3654b2d5f2 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -716,17 +716,13 @@ if(status_flags & GODMODE) return 1 //godmode switch(bodytemperature) if(species.heat_level_1 to species.heat_level_2) - //I'm thinking it might be better to use adjustFireLoss here instead of apply_damage so that damage is spread evenly across organs, instead of being dealt mostly to the chest - //apply_damage(HEAT_DAMAGE_LEVEL_1, BURN, used_weapon = "High Body Temperature") - adjustFireLoss(HEAT_DAMAGE_LEVEL_1) + 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) - //apply_damage(HEAT_DAMAGE_LEVEL_2, BURN, used_weapon = "High Body Temperature") - adjustFireLoss(HEAT_DAMAGE_LEVEL_2) + 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) - //apply_damage(HEAT_DAMAGE_LEVEL_3, BURN, used_weapon = "High Body Temperature") - adjustFireLoss(HEAT_DAMAGE_LEVEL_3) + 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) @@ -735,17 +731,13 @@ if(!istype(loc, /obj/machinery/atmospherics/unary/cryo_cell)) switch(bodytemperature) if(species.cold_level_2 to species.cold_level_1) - //I'm thinking it might be better to use adjustFireLoss here instead of apply_damage so that damage is spread evenly across organs, instead of being dealt mostly to the chest - //apply_damage(COLD_DAMAGE_LEVEL_1, BURN, used_weapon = "Low Body Temperature") - adjustFireLoss(COLD_DAMAGE_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) - //apply_damage(COLD_DAMAGE_LEVEL_2, BURN, used_weapon = "Low Body Temperature") - adjustFireLoss(COLD_DAMAGE_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) - //apply_damage(COLD_DAMAGE_LEVEL_3, BURN, used_weapon = "Low Body Temperature") - adjustFireLoss(COLD_DAMAGE_LEVEL_3) + 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 @@ -753,7 +745,8 @@ if(status_flags & GODMODE) return 1 //godmode if(adjusted_pressure >= species.hazard_high_pressure) - adjustBruteLoss(min( ( (adjusted_pressure / species.hazard_high_pressure) -1 )*PRESSURE_DAMAGE_COEFFICIENT , MAX_HIGH_PRESSURE_DAMAGE)) + var/pressure_damage = min( ( (adjusted_pressure / species.hazard_high_pressure) -1 )*PRESSURE_DAMAGE_COEFFICIENT , MAX_HIGH_PRESSURE_DAMAGE) + take_overall_damage(brute=pressure_damage, used_weapon = "High Pressure") pressure_alert = 2 else if(adjusted_pressure >= species.warning_high_pressure) pressure_alert = 1 @@ -763,7 +756,7 @@ pressure_alert = -1 else if( !(COLD_RESISTANCE in mutations)) - adjustBruteLoss(LOW_PRESSURE_DAMAGE) + take_overall_damage(brute=LOW_PRESSURE_DAMAGE, used_weapon = "Low Pressure") pressure_alert = -2 else pressure_alert = -1 From 5bd975850a80a31c9aff137bf6dcc479404aa0d8 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 21 Jun 2014 20:41:29 -0400 Subject: [PATCH 67/84] Less terrible sprite for suit cooling device Also adds a few of them to EVA storage. --- .../objects/items/devices/suit_cooling.dm | 16 +++++++++++++--- icons/obj/device.dmi | Bin 21408 -> 22389 bytes maps/tgstation2.dmm | 2 +- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/code/game/objects/items/devices/suit_cooling.dm b/code/game/objects/items/devices/suit_cooling.dm index 4035ab3c0c..2fcf545d9b 100644 --- a/code/game/objects/items/devices/suit_cooling.dm +++ b/code/game/objects/items/devices/suit_cooling.dm @@ -2,8 +2,8 @@ name = "portable suit cooling unit" desc = "A portable heat sink and liquid cooled radiator that can be hooked up to a space suit's existing temperature controls to provide industrial levels of cooling." w_class = 4 - icon = 'icons/obj/power.dmi' //temporary, I hope - icon_state = "portgen0" + icon = 'icons/obj/device.dmi' //temporary, I hope + icon_state = "suitcooler0" slot_flags = SLOT_BACK //you can carry it on your back if you want, but it won't do anything unless attached to suit storage var/on = 0 //is it turned on? @@ -15,6 +15,10 @@ //TODO: make it heat up the surroundings when not in space +/obj/item/device/suit_cooling_unit/New() + cell = new/obj/item/weapon/cell() //comes with the crappy default power cell - high-capacity ones shouldn't be hard to find + cell.loc = src + /obj/item/device/suit_cooling_unit/proc/cool_mob(mob/M) if (!on || !cell) return @@ -134,7 +138,13 @@ return ..() /obj/item/device/suit_cooling_unit/proc/updateicon() - return 0 //TODO + if (cover_open) + if (cell) + icon_state = "suitcooler1" + else + icon_state = "suitcooler2" + else + icon_state = "suitcooler0" /obj/item/device/suit_cooling_unit/examine() set src in view(1) diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index 54ea7f9f4cb645d195137648b5e3049bc3518f6d..bf2b6c4d5bf4d60bc714c113cb1a921e9e1298d5 100644 GIT binary patch literal 22389 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 KZ&_hZi2Dx@B1*CV diff --git a/maps/tgstation2.dmm b/maps/tgstation2.dmm index 89d11b60da..b293a3e7cc 100644 --- a/maps/tgstation2.dmm +++ b/maps/tgstation2.dmm @@ -1626,7 +1626,7 @@ "aFn" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva) "aFo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) "aFp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/storage/emergency2) -"aFq" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/device/modkit/tajaran,/obj/item/device/modkit/tajaran,/obj/item/device/modkit/tajaran,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/ai_monitored/storage/eva) +"aFq" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/device/modkit/tajaran,/obj/item/device/modkit/tajaran,/obj/item/device/modkit/tajaran,/obj/item/device/suit_cooling_unit,/obj/item/device/suit_cooling_unit,/obj/item/device/suit_cooling_unit,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/ai_monitored/storage/eva) "aFr" = (/obj/machinery/light_switch{pixel_y = 28},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/wood,/area/bridge/meeting_room) "aFs" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/fore) "aFt" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore) From 63f9b93ab064d8158d976c9eded264dc24d4698b Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Sun, 22 Jun 2014 12:57:37 +1200 Subject: [PATCH 68/84] Preview icon render fix - Fixes #5254 - Changes organ render list to a structured list so we can control the render order --- code/modules/mob/new_player/preferences_setup.dm | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index b32a4780b0..5bfca3a02c 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -198,12 +198,7 @@ datum/preferences preview_icon.Blend(new /icon(icobase, "groin_[g]"), ICON_OVERLAY) preview_icon.Blend(new /icon(icobase, "head_[g]"), ICON_OVERLAY) - for(var/name in list("l_arm","r_arm","l_leg","r_leg","l_foot","r_foot","l_hand","r_hand")) - // make sure the organ is added to the list so it's drawn - if(organ_data[name] == null) - organ_data[name] = null - - for(var/name in organ_data) + for(var/name in list("r_arm","r_hand","r_leg","r_foot","l_leg","l_foot","l_arm","l_hand")) if(organ_data[name] == "amputated") continue var/icon/temp = new /icon(icobase, "[name]") @@ -216,7 +211,7 @@ datum/preferences if(current_species && (current_species.flags & HAS_TAIL)) var/icon/temp = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[current_species.tail]_s") preview_icon.Blend(temp, ICON_OVERLAY) - + // Skin color if(current_species && (current_species.flags & HAS_SKIN_COLOR)) preview_icon.Blend(rgb(r_skin, g_skin, b_skin), ICON_ADD) From 37e63dfcb08e9bf2473f1d78e03deab3e5b98ca1 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sun, 22 Jun 2014 00:13:22 -0400 Subject: [PATCH 69/84] Fixes FEA temperature_expose() being used... ...instead of ZAS fire_act(). --- code/WorkInProgress/Susan/susan_desert_turfs.dm | 2 +- code/game/gamemodes/blob/theblob.dm | 2 +- code/game/gamemodes/events/biomass.dm | 2 +- code/game/gamemodes/events/spacevines.dm | 2 +- code/game/machinery/alarm.dm | 2 +- code/game/machinery/atmoalter/canister.dm | 2 +- code/game/machinery/doors/airlock.dm | 2 +- code/game/mecha/mecha.dm | 2 +- code/game/objects/effects/aliens.dm | 4 ++-- code/game/objects/effects/effect_system.dm | 2 +- code/game/objects/effects/glowshroom.dm | 2 +- code/game/objects/effects/spiders.dm | 2 +- code/game/objects/items/latexballoon.dm | 2 +- code/game/objects/items/stacks/sheets/leather.dm | 2 +- code/game/objects/structures/grille.dm | 2 +- code/game/objects/structures/mineral_doors.dm | 2 +- code/game/objects/structures/window.dm | 6 +++--- code/game/turfs/simulated/walls_mineral.dm | 2 +- code/modules/mob/living/carbon/alien/special/facehugger.dm | 2 +- code/modules/power/lighting.dm | 2 +- code/modules/reagents/reagent_dispenser.dm | 2 +- 21 files changed, 24 insertions(+), 24 deletions(-) diff --git a/code/WorkInProgress/Susan/susan_desert_turfs.dm b/code/WorkInProgress/Susan/susan_desert_turfs.dm index 947f6b6788..a52f90a4bc 100644 --- a/code/WorkInProgress/Susan/susan_desert_turfs.dm +++ b/code/WorkInProgress/Susan/susan_desert_turfs.dm @@ -227,7 +227,7 @@ Alien plants should do something if theres a lot of poison del(src) -/obj/effect/alien/flesh/weeds/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/effect/alien/flesh/weeds/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > 300) health -= 5 healthcheck() diff --git a/code/game/gamemodes/blob/theblob.dm b/code/game/gamemodes/blob/theblob.dm index 4508c15ba0..51b321528e 100644 --- a/code/game/gamemodes/blob/theblob.dm +++ b/code/game/gamemodes/blob/theblob.dm @@ -87,7 +87,7 @@ return 1 return 0 -/* temperature_expose(datum/gas_mixture/air, temperature, volume) Blob is currently fireproof +/* fire_act(datum/gas_mixture/air, temperature, volume) Blob is currently fireproof if(temperature > T0C+200) health -= 0.01 * temperature update() diff --git a/code/game/gamemodes/events/biomass.dm b/code/game/gamemodes/events/biomass.dm index d1508221f7..3b48b971f0 100644 --- a/code/game/gamemodes/events/biomass.dm +++ b/code/game/gamemodes/events/biomass.dm @@ -154,7 +154,7 @@ return return -/obj/effect/biomass/temperature_expose(null, temp, volume) //hotspots kill biomass +/obj/effect/biomass/fire_act(null, temp, volume) //hotspots kill biomass del src diff --git a/code/game/gamemodes/events/spacevines.dm b/code/game/gamemodes/events/spacevines.dm index 3ff70acbdf..b3af8195ca 100644 --- a/code/game/gamemodes/events/spacevines.dm +++ b/code/game/gamemodes/events/spacevines.dm @@ -239,7 +239,7 @@ return return -/obj/effect/spacevine/temperature_expose(null, temp, volume) //hotspots kill vines +/obj/effect/spacevine/fire_act(null, temp, volume) //hotspots kill vines del src //Carn: Spacevines random event. diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index c84f6b137a..0c42cbbad6 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -1338,7 +1338,7 @@ FIRE ALARM else icon_state = "fire0" -/obj/machinery/firealarm/temperature_expose(datum/gas_mixture/air, temperature, volume) +/obj/machinery/firealarm/fire_act(datum/gas_mixture/air, temperature, volume) if(src.detecting) if(temperature > T0C+200) src.alarm() // added check of detector status here diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm index 107f67ee01..16de2e497b 100644 --- a/code/game/machinery/atmoalter/canister.dm +++ b/code/game/machinery/atmoalter/canister.dm @@ -110,7 +110,7 @@ update_flag overlays += "can-o3" return -/obj/machinery/portable_atmospherics/canister/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/machinery/portable_atmospherics/canister/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > temperature_resistance) health -= 5 healthcheck() diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 39b5ec9a53..5a2359ade8 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -264,7 +264,7 @@ Airlock index -> wire color are { 9, 4, 6, 7, 5, 8, 1, 2, 3 }. icon = 'icons/obj/doors/Doorphoron.dmi' mineral = "phoron" -/obj/machinery/door/airlock/phoron/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/machinery/door/airlock/phoron/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > 300) PhoronBurn(exposed_temperature) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 53bf77ce57..e3465c3b7c 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -618,7 +618,7 @@ check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_CONTROL_LOST,MECHA_INT_SHORT_CIRCUIT),1) return -/obj/mecha/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/mecha/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature>src.max_temperature) src.log_message("Exposed to dangerous temperature.",1) src.take_damage(5,"fire") diff --git a/code/game/objects/effects/aliens.dm b/code/game/objects/effects/aliens.dm index da510025e3..5e3ba542bf 100644 --- a/code/game/objects/effects/aliens.dm +++ b/code/game/objects/effects/aliens.dm @@ -287,7 +287,7 @@ Alien plants should do something if theres a lot of poison del(src) -/obj/effect/alien/weeds/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/effect/alien/weeds/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > 300) health -= 5 healthcheck() @@ -469,7 +469,7 @@ Alien plants should do something if theres a lot of poison if(health <= 0) Burst() -/obj/effect/alien/egg/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/effect/alien/egg/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > 500) health -= 5 healthcheck() diff --git a/code/game/objects/effects/effect_system.dm b/code/game/objects/effects/effect_system.dm index 0eb8685aec..dd5ee1f8b3 100644 --- a/code/game/objects/effects/effect_system.dm +++ b/code/game/objects/effects/effect_system.dm @@ -541,7 +541,7 @@ steam.start() -- spawns the effect // foam disolves when heated // except metal foams -/obj/effect/effect/foam/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/effect/effect/foam/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(!metal && prob(max(0, exposed_temperature - 475))) flick("[icon_state]-disolve", src) diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm index 425034ba48..39533b0483 100644 --- a/code/game/objects/effects/glowshroom.dm +++ b/code/game/objects/effects/glowshroom.dm @@ -154,7 +154,7 @@ else return -/obj/effect/glowshroom/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/effect/glowshroom/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > 300) endurance -= 5 CheckEndurance() diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm index 522ff35af1..be54a95ba1 100644 --- a/code/game/objects/effects/spiders.dm +++ b/code/game/objects/effects/spiders.dm @@ -47,7 +47,7 @@ if(health <= 0) del(src) -/obj/effect/spider/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/effect/spider/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > 300) health -= 5 healthcheck() diff --git a/code/game/objects/items/latexballoon.dm b/code/game/objects/items/latexballoon.dm index 9b6895e0d9..a923de6183 100644 --- a/code/game/objects/items/latexballoon.dm +++ b/code/game/objects/items/latexballoon.dm @@ -38,7 +38,7 @@ /obj/item/latexballon/bullet_act() burst() -/obj/item/latexballon/temperature_expose(datum/gas_mixture/air, temperature, volume) +/obj/item/latexballon/fire_act(datum/gas_mixture/air, temperature, volume) if(temperature > T0C+100) burst() return diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index 8ba8879636..72339452e7 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -117,7 +117,7 @@ //Step two - washing..... it's actually in washing machine code. //Step three - drying -/obj/item/stack/sheet/wetleather/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/item/stack/sheet/wetleather/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) ..() if(exposed_temperature >= drying_threshold_temperature) wetness-- diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 97d7657d36..bb50f1d63d 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -216,7 +216,7 @@ return 0 return 0 -/obj/structure/grille/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/structure/grille/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(!destroyed) if(exposed_temperature > T0C + 1500) health -= 1 diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm index 38f0563897..c11a5a94e3 100644 --- a/code/game/objects/structures/mineral_doors.dm +++ b/code/game/objects/structures/mineral_doors.dm @@ -198,7 +198,7 @@ TemperatureAct(100) ..() - temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) + fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > 300) TemperatureAct(exposed_temperature) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 8812b1ed4f..2c9b755f56 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -361,7 +361,7 @@ return -/obj/structure/window/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/structure/window/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > T0C + 800) hit(round(exposed_volume / 100), 0) ..() @@ -381,7 +381,7 @@ shardtype = /obj/item/weapon/shard/phoron health = 120 -/obj/structure/window/phoronbasic/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/structure/window/phoronbasic/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > T0C + 32000) hit(round(exposed_volume / 1000), 0) ..() @@ -395,7 +395,7 @@ reinf = 1 health = 160 -/obj/structure/window/phoronreinforced/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/structure/window/phoronreinforced/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) return /obj/structure/window/reinforced diff --git a/code/game/turfs/simulated/walls_mineral.dm b/code/game/turfs/simulated/walls_mineral.dm index 2d08a1dd65..bd787d6ce2 100644 --- a/code/game/turfs/simulated/walls_mineral.dm +++ b/code/game/turfs/simulated/walls_mineral.dm @@ -111,7 +111,7 @@ for(var/obj/machinery/door/airlock/phoron/D in range(3,src)) D.ignite(temperature/4) -/turf/simulated/wall/mineral/phoron/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)//Doesn't fucking work because walls don't interact with air :( +/turf/simulated/wall/mineral/phoron/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)//Doesn't fucking work because walls don't interact with air :( if(exposed_temperature > 300) PhoronBurn(exposed_temperature) diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index f156134438..4edcbd3dc7 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -72,7 +72,7 @@ var/const/MAX_ACTIVE_TIME = 400 Die() return -/obj/item/clothing/mask/facehugger/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/item/clothing/mask/facehugger/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > 300) Die() return diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 928c56b10c..5419ab78b1 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -618,7 +618,7 @@ // called when on fire -/obj/machinery/light/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/machinery/light/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(prob(max(0, exposed_temperature - 673))) //0% at <400C, 100% at >500C broken() diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm index fc738957ac..fd5821784e 100644 --- a/code/modules/reagents/reagent_dispenser.dm +++ b/code/modules/reagents/reagent_dispenser.dm @@ -166,7 +166,7 @@ if(src) del(src) -/obj/structure/reagent_dispensers/fueltank/temperature_expose(datum/gas_mixture/air, temperature, volume) +/obj/structure/reagent_dispensers/fueltank/fire_act(datum/gas_mixture/air, temperature, volume) if(temperature > T0C+500) explode() return ..() From 86db41a5823a66701a76a4b23f36b7b870c5ce2b Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sun, 22 Jun 2014 14:30:50 +0400 Subject: [PATCH 70/84] Merge branch 'master' of https://github.com/Baystation12/Baystation12 Merge branch 'master' of https://github.com/Baystation12/Baystation12 Optimizes crew console scanning to only look for mobs instead of ALL clothing items in the world. --- code/game/machinery/computer/crew.dm | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm index 49d12a4847..563f621ca4 100644 --- a/code/game/machinery/computer/crew.dm +++ b/code/game/machinery/computer/crew.dm @@ -107,13 +107,9 @@ /obj/machinery/computer/crew/proc/scan() - for(var/obj/item/clothing/under/C in world) - if((C.has_sensor) && (istype(C.loc, /mob/living/carbon/human))) - var/check = 0 - for(var/O in src.tracked) - if(O == C) - check = 1 - break - if(!check) - src.tracked.Add(C) + for(var/mob/living/carbon/human/H in mob_list) + if(istype(H.w_uniform, /obj/item/clothing/under)) + var/obj/item/clothing/under/C = H.w_uniform + if (C.has_sensor) + tracked |= C return 1 \ No newline at end of file From bb8951a53c70a1d9b6c313e17c6b8eb1c99b7766 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sun, 22 Jun 2014 21:49:55 +0930 Subject: [PATCH 71/84] Makes forks usable. --- code/game/objects/items/weapons/kitchen.dm | 136 +++++------------- .../mob/living/carbon/human/examine.dm | 6 +- .../reagent_containers/food/snacks.dm | 63 ++++---- icons/obj/kitchen.dmi | Bin 13396 -> 13043 bytes 4 files changed, 72 insertions(+), 133 deletions(-) diff --git a/code/game/objects/items/weapons/kitchen.dm b/code/game/objects/items/weapons/kitchen.dm index 67f471db10..f78b84ed98 100644 --- a/code/game/objects/items/weapons/kitchen.dm +++ b/code/game/objects/items/weapons/kitchen.dm @@ -25,86 +25,65 @@ flags = FPRINT | TABLEPASS | CONDUCT origin_tech = "materials=1" attack_verb = list("attacked", "stabbed", "poked") + sharp = 0 + + var/loaded //Descriptive string for currently loaded food object. /obj/item/weapon/kitchen/utensil/New() if (prob(60)) src.pixel_y = rand(0, 4) return -/* - * Spoons - */ -/obj/item/weapon/kitchen/utensil/spoon - name = "spoon" - desc = "SPOON!" - icon_state = "spoon" - attack_verb = list("attacked", "poked") + create_reagents(5) -/obj/item/weapon/kitchen/utensil/pspoon - name = "plastic spoon" - desc = "Super dull action!" - icon_state = "pspoon" - attack_verb = list("attacked", "poked") - -/* - * Forks - */ -/obj/item/weapon/kitchen/utensil/fork - name = "fork" - desc = "Pointy." - icon_state = "fork" - sharp = 1 - -/obj/item/weapon/kitchen/utensil/fork/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) +/obj/item/weapon/kitchen/utensil/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) if(!istype(M)) return ..() - if(user.zone_sel.selecting != "eyes" && user.zone_sel.selecting != "head") - return ..() + if(user.a_intent != "help") + if(user.zone_sel.selecting == "head" || user.zone_sel.selecting == "eyes") + if((CLUMSY in user.mutations) && prob(50)) + M = user + return eyestab(M,user) + else + return ..() - if (src.icon_state == "forkloaded") //This is a poor way of handling it, but a proper rewrite of the fork to allow for a more varied foodening can happen when I'm in the mood. --NEO + if (reagents.total_volume > 0) + reagents.trans_to_ingest(M, reagents.total_volume) if(M == user) for(var/mob/O in viewers(M, null)) - O.show_message(text("\blue [] eats a delicious forkful of omelette!", user), 1) + O.show_message(text("\blue [] eats some [] from \the [].", user, loaded, src), 1) M.reagents.add_reagent("nutriment", 1) else for(var/mob/O in viewers(M, null)) - O.show_message(text("\blue [] feeds [] a delicious forkful of omelette!", user, M), 1) + O.show_message(text("\blue [] feeds [] some [] from \the []", user, M, loaded, src), 1) M.reagents.add_reagent("nutriment", 1) - src.icon_state = "fork" + + overlays.Cut() return - else - if((CLUMSY in user.mutations) && prob(50)) - M = user - return eyestab(M,user) + +/obj/item/weapon/kitchen/utensil/fork + name = "fork" + desc = "It's a fork. Sure is pointy." + icon_state = "fork" + sharp = 1 /obj/item/weapon/kitchen/utensil/pfork name = "plastic fork" desc = "Yay, no washing up to do." icon_state = "pfork" -/obj/item/weapon/kitchen/utensil/pfork/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) - if(!istype(M)) - return ..() +/obj/item/weapon/kitchen/utensil/spoon + name = "spoon" + desc = "It's a spoon. You can see your own upside-down face in it." + icon_state = "spoon" + attack_verb = list("attacked", "poked") - if(user.zone_sel.selecting != "eyes" && user.zone_sel.selecting != "head") - return ..() - - if (src.icon_state == "forkloaded") //This is a poor way of handling it, but a proper rewrite of the fork to allow for a more varied foodening can happen when I'm in the mood. --NEO - if(M == user) - for(var/mob/O in viewers(M, null)) - O.show_message(text("\blue [] eats a delicious forkful of omelette!", user), 1) - M.reagents.add_reagent("nutriment", 1) - else - for(var/mob/O in viewers(M, null)) - O.show_message(text("\blue [] feeds [] a delicious forkful of omelette!", user, M), 1) - M.reagents.add_reagent("nutriment", 1) - src.icon_state = "fork" - return - else - if((CLUMSY in user.mutations) && prob(50)) - M = user - return eyestab(M,user) +/obj/item/weapon/kitchen/utensil/pspoon + name = "plastic spoon" + desc = "It's a plastic spoon. How dull." + icon_state = "pspoon" + attack_verb = list("attacked", "poked") /* * Knives @@ -477,49 +456,4 @@ for(var/i = 1, i <= rand(1,2), i++) if(I) step(I, pick(NORTH,SOUTH,EAST,WEST)) - sleep(rand(2,4)) - - - - - -///////////////////////////////////////////////////////////////////////////////////////// -//Enough with the violent stuff, here's what happens if you try putting food on it -///////////////////////////////////////////////////////////////////////////////////////////// - - - -/*/obj/item/weapon/tray/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W,/obj/item/weapon/kitchen/utensil/fork)) - if (W.icon_state == "forkloaded") - user << "\red You already have omelette on your fork." - return - W.icon = 'icons/obj/kitchen.dmi' - W.icon_state = "forkloaded" - viewers(3,user) << "[user] takes a piece of omelette with his fork!" - reagents.remove_reagent("nutriment", 1) - if (reagents.total_volume <= 0) - del(src)*/ - - -/* if (prob(33)) - var/turf/location = H.loc - if (istype(location, /turf/simulated)) - location.add_blood(H) - if (H.wear_mask) - H.wear_mask.add_blood(H) - if (H.head) - H.head.add_blood(H) - if (H.glasses && prob(33)) - H.glasses.add_blood(H) - if (istype(user, /mob/living/carbon/human)) - var/mob/living/carbon/human/user2 = user - if (user2.gloves) - user2.gloves.add_blood(H) - else - user2.add_blood(H) - if (prob(15)) - if (user2.wear_suit) - user2.wear_suit.add_blood(H) - else if (user2.w_uniform) - user2.w_uniform.add_blood(H)*/ \ No newline at end of file + sleep(rand(2,4)) \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 9cc0e22dfc..51abb2769f 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -243,7 +243,7 @@ msg += "[t_He] [t_has] a stupid expression on [t_his] face.\n" if(!key && brain_op_stage != 4 && stat != DEAD) - msg += "[t_He] [t_is] totally catatonic. The stresses of life in deep-space must have been too much for [t_him]. Any recovery is unlikely\n" + msg += "[t_He] [t_is] fast asleep. It doesn't look like they are waking up anytime soon.\n" else if(!client && brain_op_stage != 4 && stat != DEAD) msg += "[t_He] [t_has] suddenly fallen asleep.\n" @@ -262,7 +262,7 @@ wound_flavor_text["[temp.display_name]"] = "[t_He] has a robot [temp.display_name]!\n" continue else - wound_flavor_text["[temp.display_name]"] = "[t_He] has a robot [temp.display_name], it has" + wound_flavor_text["[temp.display_name]"] = "[t_He] has a robot [temp.display_name]. It has" if(temp.brute_dam) switch(temp.brute_dam) if(0 to 20) wound_flavor_text["[temp.display_name]"] += " some dents" @@ -389,7 +389,7 @@ msg += "[src] has blood running from under [t_his] gloves!\n" for(var/implant in get_visible_implants(1)) - msg += "[src] has \a [implant] sticking out of their flesh!\n" + msg += "[src] has \a [implant] sticking out of [t_his] flesh!\n" if(digitalcamo) msg += "[t_He] [t_is] repulsively uncanny!\n" diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index da91085e27..da04f2d30f 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -127,8 +127,39 @@ ..() // -> item/attackby() if(istype(W,/obj/item/weapon/storage)) ..() // -> item/attackby() + + if(istype(W,/obj/item/weapon/kitchen/utensil)) + + var/obj/item/weapon/kitchen/utensil/U = W + + if(!U.reagents) + U.create_reagents(5) + + if (U.reagents.total_volume > 0) + user << "\red You already have something on your [U]." + return + + user.visible_message( \ + "[user] scoops up some [src] with \the [U]!", \ + "\blue You scoop up some [src] with \the [U]!" \ + ) + + src.bitecount++ + U.overlays.Cut() + U.loaded = "[src]" + var/image/I = new(U.icon, "loadedfood") + I.color = src.filling_color + U.overlays += I + + reagents.trans_to(U,min(reagents.total_volume,5)) + + if (reagents.total_volume <= 0) + del(src) + return + if((slices_num <= 0 || !slices_num) || !slice_path) return 0 + var/inaccurate = 0 if( \ istype(W, /obj/item/weapon/kitchenknife) || \ @@ -173,8 +204,8 @@ ) else user.visible_message( \ - "\blue [user] inaccurately slices \the [src] with [W]!", \ - "\blue You inaccurately slice \the [src] with your [W]!" \ + "\blue [user] crudely slices \the [src] with [W]!", \ + "\blue You crudely slice \the [src] with your [W]!" \ ) slices_lost = rand(1,min(1,round(slices_num/2))) var/reagents_per_slice = reagents.total_volume/slices_num @@ -182,6 +213,7 @@ var/obj/slice = new slice_path (src.loc) reagents.trans_to(slice,reagents_per_slice) del(src) + return /obj/item/weapon/reagent_containers/food/snacks/Del() @@ -876,33 +908,6 @@ ..() reagents.add_reagent("nutriment", 8) bitesize = 1 - attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W,/obj/item/weapon/kitchen/utensil/fork)) - if (W.icon_state == "forkloaded") - user << "\red You already have omelette on your fork." - return - //W.icon = 'icons/obj/kitchen.dmi' - W.icon_state = "forkloaded" - /*if (herp) - world << "[user] takes a piece of omelette with his fork!"*/ - //Why this unecessary check? Oh I know, because I'm bad >:C - // Yes, you are. You griefing my badmin toys. --rastaf0 - user.visible_message( \ - "[user] takes a piece of omelette with their fork!", \ - "\blue You take a piece of omelette with your fork!" \ - ) - reagents.remove_reagent("nutriment", 1) - if (reagents.total_volume <= 0) - del(src) -/* - * Unsused. -/obj/item/weapon/reagent_containers/food/snacks/omeletteforkload - name = "Omelette Du Fromage" - desc = "That's all you can say!" - New() - ..() - reagents.add_reagent("nutriment", 1) -*/ /obj/item/weapon/reagent_containers/food/snacks/muffin name = "Muffin" diff --git a/icons/obj/kitchen.dmi b/icons/obj/kitchen.dmi index 9cccbfeb83bba31ae38b9cddb68d356c730367ae..7c1bce89fb41762b818ba6dd49c1534fbd0a780d 100644 GIT binary patch literal 13043 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 Date: Sun, 22 Jun 2014 09:51:38 -0400 Subject: [PATCH 72/84] Fixed misplaced prob(), added notes --- code/modules/organs/organ_external.dm | 29 ++++++++++++++++++++++----- code/setup.dm | 3 +-- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 47450621da..903e370b6b 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -333,6 +333,25 @@ This function completely restores a damaged organ to perfect condition. return //Updating germ levels. Handles organ germ levels and necrosis. +/* +The INFECTION_LEVEL values defined in setup.dm control the time it takes to reach the different +infection levels. Since infection growth is exponential, you can adjust the time it takes to get +from one germ_level to another using the rough formula: + +desired_germ_level = initial_germ_level*e^(desired_time_in_seconds/1000) + +So if I wanted it to take an average of 15 minutes to get from level one (100) to level two +I would set INFECTION_LEVEL_TWO to 100*e^(15*60/1000) = 245. Note that this is the average time, +the actual time is dependent on RNG. + +INFECTION_LEVEL_ONE below this germ level nothing happens, and the infection doesn't grow +INFECTION_LEVEL_TWO above this germ level the infection will start to spread to internal and adjacent organs +INFECTION_LEVEL_THREE above this germ level the player will take additional toxin damage per second, and will die in minutes without + antitox. also, above this germ level you will need to overdose on spaceacillin to reduce the germ_level. + +Note that amputating the affected organ does in fact remove the infection from the +player's body, though, antitox and spaceacillin are easy enough to get I doubt it will ever be needed. +*/ /datum/organ/external/proc/update_germs() if(status & (ORGAN_ROBOT|ORGAN_DESTROYED)) //Robotic limbs shouldn't be infected, nor should nonexistant limbs. @@ -353,7 +372,7 @@ This function completely restores a damaged organ to perfect condition. var/antibiotics = owner.reagents.get_reagent_amount("spaceacillin") if (germ_level > 0 && antibiotics > 5) - if (prob(4*antibiotics)) germ_level-- + if (prob(4*antibiotics)) germ_level-- //the higher the germ level the more antibiotics you'll need. if(germ_level >= INFECTION_LEVEL_ONE) //having an infection raises your body temperature @@ -362,10 +381,10 @@ This function completely restores a damaged organ to perfect condition. //world << "fever: [owner.bodytemperature] < [fever_temperature], raising temperature." owner.bodytemperature++ - if(prob(round(germ_level/10))) //aiming for a light infection to become serious after 40 minutes, standing still - if (prob(5)) - germ_level++ - owner.adjustToxLoss(1) + if(prob(round(germ_level/10))) + germ_level++ + if (prob(5)) //adjust this to tweak how fast people take toxin damage from infections + owner.adjustToxLoss(1) if(germ_level >= INFECTION_LEVEL_TWO) //spread the infection diff --git a/code/setup.dm b/code/setup.dm index 724a42c8bb..a444f3a2fb 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -768,10 +768,9 @@ var/list/RESTRICTED_CAMERA_NETWORKS = list( //Those networks can only be accesse #define SHUTTLE_INTRANSIT 2 //Germs and infection -//These numbers have been calculated so that an untreated cut will become a serious infection after 50 minutes. #define GERM_LEVEL_AMBIENT 110 //maximum germ level you can reach by standing still #define GERM_LEVEL_MOVE_CAP 200 //maximum germ level you can reach by running around + #define INFECTION_LEVEL_ONE 100 #define INFECTION_LEVEL_TWO 500 #define INFECTION_LEVEL_THREE 1000 -#define INFECTION_LEVEL_TERMINAL 2500 From 191e21ead6b3a656d456020c9fd38bad915ea259 Mon Sep 17 00:00:00 2001 From: Mloc-Argent Date: Sun, 22 Jun 2014 15:25:23 +0100 Subject: [PATCH 73/84] atmos: fix everlasting fires Fires were checking against a non-reduced air sample for existance, so the reduced sample wasn't working in zburn when it failed the check. Also fixed volatilefuel not being scaled in the phoron reagent. Signed-off-by: Mloc-Argent --- code/ZAS/Fire.dm | 20 ++++++-------------- code/modules/reagents/Chemistry-Reagents.dm | 4 ++-- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/code/ZAS/Fire.dm b/code/ZAS/Fire.dm index 8b692c5b13..d4660e5a0e 100644 --- a/code/ZAS/Fire.dm +++ b/code/ZAS/Fire.dm @@ -84,7 +84,7 @@ turf/simulated/hotspot_expose(exposed_temperature, exposed_volume, soh) air_contents.trace_gases.Remove(fuel) //check if there is something to combust - if(!air_contents.check_recombustability(liquid)) + if(!air_contents.check_combustability(liquid)) //del src RemoveFire() @@ -116,7 +116,7 @@ turf/simulated/hotspot_expose(exposed_temperature, exposed_volume, soh) var/datum/gas_mixture/acs = enemy_tile.return_air() var/obj/effect/decal/cleanable/liquid_fuel/liq = locate() in enemy_tile if(!acs) continue - if(!acs.check_recombustability(liq)) continue + if(!acs.check_combustability(liq)) continue //If extinguisher mist passed over the turf it's trying to spread to, don't spread and //reduce firelevel. if(enemy_tile.fire_protection > world.time-30) @@ -134,16 +134,8 @@ turf/simulated/hotspot_expose(exposed_temperature, exposed_volume, soh) ///////////////////////////////// FLOW HAS BEEN CREATED /// DONT DELETE THE FIRE UNTIL IT IS MERGED BACK OR YOU WILL DELETE AIR /////////////////////////////////////////////// if(flow) - - if(flow.check_recombustability(liquid)) - //Ensure flow temperature is higher than minimum fire temperatures. - //this creates some energy ex nihilo but is necessary to get a fire started - //lets just pretend this energy comes from the ignition source and dont mention this again - //flow.temperature = max(PHORON_MINIMUM_BURN_TEMPERATURE+0.1,flow.temperature) - - //burn baby burn! - - flow.zburn(liquid,1) + //burn baby burn! + flow.zburn(liquid,1) //merge the air back S.assume_air(flow) @@ -275,9 +267,9 @@ datum/gas_mixture/proc/check_combustability(obj/effect/decal/cleanable/liquid_fu if(oxygen && (phoron || fuel || liquid)) if(liquid) return 1 - if (phoron >= 0.1) + if(QUANTIZE(phoron * vsc.fire_consuption_rate) >= 0.1) return 1 - if(fuel && fuel.moles >= 0.1) + if(fuel && QUANTIZE(fuel.moles * vsc.fire_consuption_rate) >= 0.1) return 1 return 0 diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index fc2f420c0e..46aafda18b 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -1581,14 +1581,14 @@ datum var/turf/the_turf = get_turf(O) var/datum/gas_mixture/napalm = new var/datum/gas/volatile_fuel/fuel = new - fuel.moles = 5 + fuel.moles = volume napalm.trace_gases += fuel the_turf.assume_air(napalm) reaction_turf(var/turf/T, var/volume) src = null var/datum/gas_mixture/napalm = new var/datum/gas/volatile_fuel/fuel = new - fuel.moles = 5 + fuel.moles = volume napalm.trace_gases += fuel T.assume_air(napalm) return From 2cc80a06944fc44fca5f6f97e689605f1d5fcf78 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sun, 22 Jun 2014 22:17:56 +0400 Subject: [PATCH 74/84] Fix for a runtime. --- code/controllers/_DynamicAreaLighting_TG.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/controllers/_DynamicAreaLighting_TG.dm b/code/controllers/_DynamicAreaLighting_TG.dm index 9e90fc0ec6..c11bda0f0c 100644 --- a/code/controllers/_DynamicAreaLighting_TG.dm +++ b/code/controllers/_DynamicAreaLighting_TG.dm @@ -231,7 +231,9 @@ turf/proc/update_lumcount(amount, _lcolor, removing = 0) l_color = null // All our color is gone, no color for us. else if (colors && colors.len > 1) var/maxdepth = 3 // Will blend 3 colors, anymore than that and it looks bad or we will get lag on every tile update. - var/currentblended = MixColors(colors.Copy(1,maxdepth+1)) + var/currentblended = colors + if (colors.len > maxdepth) + currentblended = MixColors(colors.Copy(1,maxdepth+1)) if (currentblended) //world << "Ended up with [currentblended]" From 67d5d56a127dc4f982a9c80875e86a6b1290df35 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 23 Jun 2014 02:31:36 -0400 Subject: [PATCH 75/84] Gives the suit coolers a proper process() proc --- .../objects/items/devices/suit_cooling.dm | 21 ++++++++++++------- code/modules/mob/living/carbon/human/life.dm | 7 +------ 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/code/game/objects/items/devices/suit_cooling.dm b/code/game/objects/items/devices/suit_cooling.dm index 2fcf545d9b..f26cc037fc 100644 --- a/code/game/objects/items/devices/suit_cooling.dm +++ b/code/game/objects/items/devices/suit_cooling.dm @@ -16,23 +16,28 @@ //TODO: make it heat up the surroundings when not in space /obj/item/device/suit_cooling_unit/New() + processing_objects |= src + cell = new/obj/item/weapon/cell() //comes with the crappy default power cell - high-capacity ones shouldn't be hard to find cell.loc = src -/obj/item/device/suit_cooling_unit/proc/cool_mob(mob/M) - if (!on || !cell) return - - //make sure they have a suit and we are attached to it - if (!attached_to_suit(M)) +/obj/item/device/suit_cooling_unit/process() + if (!on || !cell) return - var/mob/living/carbon/human/H = M + if (!ismob(loc)) + return + + if (!attached_to_suit(loc)) //make sure they have a suit and we are attached to it + return + + var/mob/living/carbon/human/H = loc var/efficiency = H.get_pressure_protection() //you need to have a good seal for effective cooling var/env_temp = get_environment_temperature() //wont save you from a fire var/temp_adj = min(H.bodytemperature - max(thermostat, env_temp), max_cooling) - if (temp_adj < 0) //only cools, doesn't heat + if (temp_adj < 0.5) //only cools, doesn't heat, also we don't need extreme precision return var/charge_usage = (temp_adj/max_cooling)*charge_consumption @@ -85,7 +90,7 @@ /obj/item/device/suit_cooling_unit/proc/turn_off() if (ismob(src.loc)) - src.loc << "\The [src] clicks and whines as it powers down." //let them know + src.loc:show_message("\The [src] clicks and whines as it powers down.", 2) //let them know in case it's run out of power. on = 0 updateicon() diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 3654b2d5f2..47b31dbaa8 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -785,13 +785,8 @@ */ proc/stabilize_body_temperature() - //TODO find a better place to put this - if (s_store && istype(s_store, /obj/item/device/suit_cooling_unit)) - var/obj/item/device/suit_cooling_unit/CU = s_store - CU.cool_mob(src) - if (species.flags & IS_SYNTHETIC) - bodytemperature += species.synth_temp_gain //that CPU/posibrain just keeps putting out heat. + bodytemperature += species.synth_temp_gain //just keep putting out heat. return var/body_temperature_difference = species.body_temperature - bodytemperature From e225661c2c486027b5b9f9b6d864ecd604c26671 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 23 Jun 2014 02:53:09 -0400 Subject: [PATCH 76/84] Fixes #5193 --- code/modules/mob/living/living.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 4447c5f225..9865901886 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -431,7 +431,8 @@ else stop_pulling() . = ..() - if ((s_active && !( s_active in contents ) )) + + if (s_active && !( s_active in contents ) && get_turf(s_active) != get_turf(src)) //check !( s_active in contents ) first so we hopefully don't have to call get_turf() so much. s_active.close(src) if(update_slimes) From 3aa3c4166cb7b722c0b3ac22ce7530b44421662a Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Mon, 23 Jun 2014 19:53:58 +1200 Subject: [PATCH 77/84] Cargo train update - Cleans up some old code - Fixes some bugs - Adds keys to start the engine --- code/modules/vehicles/cargo_train.dm | 151 ++++++++++++++++----------- code/modules/vehicles/train.dm | 30 +++--- code/modules/vehicles/vehicle.dm | 8 +- icons/obj/vehicles.dmi | Bin 6970 -> 7183 bytes 4 files changed, 110 insertions(+), 79 deletions(-) diff --git a/code/modules/vehicles/cargo_train.dm b/code/modules/vehicles/cargo_train.dm index f3d56b4867..ba6318588f 100644 --- a/code/modules/vehicles/cargo_train.dm +++ b/code/modules/vehicles/cargo_train.dm @@ -1,8 +1,9 @@ /obj/vehicle/train/cargo/engine name = "cargo train tug" + desc = "A ridable electric car designed for pulling cargo trolleys." icon = 'icons/obj/aibots.dmi' icon_state = "mulebot1" //mulebot icons until I get some proper icons - on = 1 + on = 0 powered = 1 locked = 0 @@ -13,6 +14,14 @@ var/car_limit = 3 //how many cars an engine can pull before performance degrades active_engines = 1 + var/obj/item/weapon/key/cargo_train/key + +/obj/item/weapon/key/cargo_train + name = "key" + desc = "A keyring with a small steel key, and a yellow fob reading \"Choo Choo!\"." + icon = 'icons/obj/vehicles.dmi' + icon_state = "train_keys" + w_class = 1 /obj/vehicle/train/cargo/trolley name = "cargo train trolley" @@ -34,16 +43,14 @@ ..() cell = new /obj/item/weapon/cell/high verbs -= /atom/movable/verb/pull - -/obj/vehicle/train/cargo/engine/initialize() - ..() + key = new() /obj/vehicle/train/cargo/engine/Move() if(on && cell.charge < power_use) turn_off() update_stats() if(load && is_train_head()) - load << "The drive motor briefly whines, then crawls to a stop." + load << "The drive motor briefly whines, then drones to a stop." if(is_train_head() && !on) return 0 @@ -57,6 +64,16 @@ else ..() +/obj/vehicle/train/cargo/engine/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W, /obj/item/weapon/key/cargo_train)) + if(!key) + user.drop_item() + key = W + W.loc = src + verbs += /obj/vehicle/train/cargo/engine/verb/remove_key + return + ..() + /obj/vehicle/train/cargo/update_icon() if(open) icon_state = "mulebot-hatch" @@ -94,6 +111,13 @@ //------------------------------------------- // Train procs //------------------------------------------- +/obj/vehicle/train/cargo/engine/turn_on() + if(!key) + return + else + ..() + update_stats() + /obj/vehicle/train/cargo/RunOver(var/mob/living/carbon/human/H) var/list/parts = list("head", "chest", "l_leg", "r_leg", "l_arm", "r_arm") @@ -121,39 +145,6 @@ //------------------------------------------- // Interaction procs //------------------------------------------- -/obj/vehicle/train/cargo/trolley/verb/rotate() - set name = "Rotate" - set category = "Object" - set src in view(1) - - if(anchored) - usr << "You cannot turn the trolley while it is latched onto a train." - return - - var/cur_dir = null - switch(dir) - if(NORTH) - cur_dir = "North" - if(SOUTH) - cur_dir = "South" - if(EAST) - cur_dir = "East" - if(WEST) - cur_dir = "West" - - var/new_dir = input("Select a new direction:", "Rotate", cur_dir) in list("North", "South", "East", "West") - - switch(new_dir) - if("North") - dir = NORTH - if("South") - dir = SOUTH - if("East") - dir = EAST - if("West") - dir = WEST - - /obj/vehicle/train/cargo/engine/relaymove(mob/user, direction) if(user != load) return 0 @@ -167,24 +158,37 @@ else return ..() -/obj/vehicle/train/cargo/engine/verb/climb_down(mob/user as mob) - set name = "Exit vehicle" - set category = "Object" - set src in range(0) - - if(!load) - return - if(user != load) - return - - unload(user) +/obj/vehicle/train/cargo/engine/examine() + ..() + if(!istype(usr, /mob/living/carbon/human)) + return + + if(get_dist(usr,src) <= 1) + usr << "The power light is [on ? "on" : "off"].\nThere are[key ? "" : " no"] keys in the ignition." + +/obj/vehicle/train/cargo/engine/verb/check_power() + set name = "Check power level" + set category = "Object" + set src in view(1) + + if(!istype(usr, /mob/living/carbon/human)) + return + + if(!cell) + usr << "There is no power cell installed in [src]." + return + + usr << "The power meter reads [round(cell.percent(), 0.01)]%" /obj/vehicle/train/cargo/engine/verb/start_engine() set name = "Start engine" set category = "Object" set src in view(1) + if(!istype(usr, /mob/living/carbon/human)) + return + if(on) usr << "The engine is already running." return @@ -203,6 +207,9 @@ set category = "Object" set src in view(1) + if(!istype(usr, /mob/living/carbon/human)) + return + if(!on) usr << "The engine is already stopped." return @@ -211,20 +218,26 @@ if (!on) usr << "You stop [src]'s engine." -//------------------------------------------- -// Latching/unlatching procs -//------------------------------------------- -/obj/vehicle/train/cargo/trolley/attach_to(obj/vehicle/train/T, mob/user) - ..() - if (lead) - //This is now part of a train, anchor it so it cant be pushed around - anchored = 1 +/obj/vehicle/train/cargo/engine/verb/remove_key() + set name = "Remove key" + set category = "Object" + set src in view(1) -/obj/vehicle/train/cargo/trolley/unattach(mob/user) - ..() - if (!lead && !tow) - //if this carriage isn't part of a train anymore; unanchor it so it can be pushed around - anchored = 0 + if(!istype(usr, /mob/living/carbon/human)) + return + + if(!key || (load && load != usr)) + return + + if(on) + turn_off() + + key.loc = usr.loc + if(!usr.get_active_hand()) + usr.put_in_hands(key) + key = null + + verbs -= /obj/vehicle/train/cargo/engine/verb/remove_key //------------------------------------------- // Loading/unloading procs @@ -260,9 +273,21 @@ update_move_delay() +/obj/vehicle/train/cargo/trolley/update_train_stats() + ..() + + if(!lead && !tow) + anchored = 0 + if(verbs.Find(/atom/movable/verb/pull)) + return + else + verbs += /atom/movable/verb/pull + else + anchored = 1 + verbs -= /atom/movable/verb/pull /obj/vehicle/train/cargo/engine/proc/update_move_delay() - if(!is_train_head()) + if(!is_train_head() || !on) move_delay = initial(move_delay) //so that engines that have been turned off don't lag behind else move_delay = max(0, (-car_limit * active_engines) + train_length - active_engines) //limits base overweight so you cant overspeed trains diff --git a/code/modules/vehicles/train.dm b/code/modules/vehicles/train.dm index b1c725214f..faad42d1cc 100644 --- a/code/modules/vehicles/train.dm +++ b/code/modules/vehicles/train.dm @@ -67,8 +67,9 @@ return 0 if(user != load) - if(user in src) //for handling players stuck in src - unload(user, direction, 1) + if(user in src) //for handling players stuck in src - this shouldn't happen - but just in case it does + user.loc = T + contents -= user return 1 return 0 @@ -81,19 +82,19 @@ /obj/vehicle/train/MouseDrop_T(var/atom/movable/C, mob/user as mob) if(!usr.canmove || usr.stat || usr.restrained() || !Adjacent(usr) || !user.Adjacent(C)) return - if(istype(C,/obj/vehicle/train)) - latch(C) + latch(C, user) else if(!load(C)) user << "\red You were unable to load [C] on [src]." /obj/vehicle/train/attack_hand(mob/user as mob) - if(!user.canmove || user.stat || user.restrained() || !Adjacent(user)) + if(user.stat || user.restrained() || !Adjacent(user)) return 0 if(user != load && (user in src)) - unload(user, null, 1) //for handling players stuck in src + user.loc = loc //for handling players stuck in src + contents -= user else if(load) unload(user) //unload if loaded else if(!load) @@ -106,6 +107,9 @@ set desc = "Unhitches this train from the one in front of it." set category = "Object" set src in view(1) + + if(!istype(usr, /mob/living/carbon/human)) + return if(!usr.canmove || usr.stat || usr.restrained() || !Adjacent(usr)) return @@ -130,12 +134,13 @@ if (T.tow) user << "\red [T] is already towing something." return - //latch with src as the follower lead = T T.tow = src + dir = lead.dir - user << "\blue You hitch [src] to [T]." + if(user) + user << "\blue You hitch [src] to [T]." update_stats() @@ -152,15 +157,12 @@ user << "\blue You unhitch [src] from [lead]." lead = null -/obj/vehicle/train/proc/latch(mob/user, obj/vehicle/train/T) + update_stats() + +/obj/vehicle/train/proc/latch(obj/vehicle/train/T, mob/user) if(!istype(T) || !Adjacent(T)) return 0 - /* --- commented out until we get directional sprites --- - if(dir != T.dir) //cars need to be inline to latch - return 0 - */ - var/T_dir = get_dir(src, T) //figure out where T is wrt src if(dir == T_dir) //if car is ahead diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm index 416cd159ce..27ce16d113 100644 --- a/code/modules/vehicles/vehicle.dm +++ b/code/modules/vehicles/vehicle.dm @@ -1,7 +1,7 @@ /obj/vehicle name = "vehicle" icon = 'icons/obj/vehicles.dmi' - layer = OBJ_LAYER - 0.1 //so it sits below objects + layer = MOB_LAYER + 0.1 //so it sits above objects including mobs density = 1 anchored = 1 animate_movement=1 @@ -275,6 +275,7 @@ if(load_item_visible) C.pixel_x += load_offset_x C.pixel_y += load_offset_y + C.layer = layer + 0.1 //so it sits above the vehicle if(ismob(C)) var/mob/M = C @@ -284,7 +285,10 @@ return 1 -/obj/vehicle/proc/unload(var/mob/user, var/direction, var/exception = 0) +/obj/vehicle/proc/unload(var/mob/user, var/direction) + if(!load) + return + var/turf/dest = null //find a turf to unload to diff --git a/icons/obj/vehicles.dmi b/icons/obj/vehicles.dmi index fd6daee8bd4b59531061149219c3ccd5e641631f..699a37298359c7275f214f65755bc33340922cd8 100644 GIT binary patch literal 7183 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 Date: Mon, 23 Jun 2014 21:44:51 +1200 Subject: [PATCH 78/84] Fixes incorrect cable coil colours --- code/modules/power/cable.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index d64dd4ccfb..e693cc11f1 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -228,6 +228,8 @@ src.amount = length if (param_color) color = param_color + else + color = item_color pixel_x = rand(-2,2) pixel_y = rand(-2,2) updateicon() @@ -236,6 +238,7 @@ /obj/item/weapon/cable_coil/proc/updateicon() if (!color) color = pick(COLOR_RED, COLOR_BLUE, COLOR_GREEN, COLOR_ORANGE, COLOR_WHITE, COLOR_PINK, COLOR_YELLOW, COLOR_CYAN) + item_color = color if(amount == 1) icon_state = "coil1" name = "cable piece" From 6b3c130702ccbe5abe1a5339d6d363cb9560f1ba Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 23 Jun 2014 10:55:03 -0400 Subject: [PATCH 79/84] Removes dynamic proc call --- code/game/objects/items/devices/suit_cooling.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/devices/suit_cooling.dm b/code/game/objects/items/devices/suit_cooling.dm index f26cc037fc..f7f893ebbe 100644 --- a/code/game/objects/items/devices/suit_cooling.dm +++ b/code/game/objects/items/devices/suit_cooling.dm @@ -90,7 +90,8 @@ /obj/item/device/suit_cooling_unit/proc/turn_off() if (ismob(src.loc)) - src.loc:show_message("\The [src] clicks and whines as it powers down.", 2) //let them know in case it's run out of power. + var/mob/M = src.loc + M.show_message("\The [src] clicks and whines as it powers down.", 2) //let them know in case it's run out of power. on = 0 updateicon() From 22b39e8c1118e720fe6d8d3967d70fdf65cbdcfa Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Mon, 23 Jun 2014 19:36:11 +0200 Subject: [PATCH 80/84] Adds pipe between Teleporter and starboard bridge maintenance. Adds pipe between the library and crematory. Adds pipe between port bridge maintenance and staff meeting room. Replaces pipe turn in EVA maintenance with manifold. Third or forth time's the charm. These fixes will stick one day I'm sure. --- maps/tgstation2.dmm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/maps/tgstation2.dmm b/maps/tgstation2.dmm index 9137ca4027..abc12fe5c6 100644 --- a/maps/tgstation2.dmm +++ b/maps/tgstation2.dmm @@ -2893,7 +2893,7 @@ "bdG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/crew_quarters/fitness) "bdH" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_x = -2; pixel_y = -28},/turf/simulated/floor{dir = 10; icon_state = "neutral"},/area/crew_quarters/fitness) "bdI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"bdJ" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/maintenance/fpmaint) +"bdJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall,/area/library) "bdK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/crew_quarters/fitness) "bdL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/crew_quarters/fitness) "bdM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_chapel_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) @@ -5056,7 +5056,7 @@ "bTl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall/r_wall,/area/turret_protected/ai) "bTm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/lattice,/turf/space,/area) "bTn" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/mineral/phoron,/obj/item/stack/sheet/mineral/phoron,/obj/item/stack/sheet/mineral/phoron,/obj/item/stack/sheet/mineral/phoron,/obj/item/stack/sheet/mineral/phoron,/obj/item/stack/sheet/mineral/phoron,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bTo" = (/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{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/teleporter) +"bTo" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fpmaint) "bTp" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Bridge"; departmentType = 5; name = "Bridge RC"; pixel_y = -30},/turf/simulated/floor/wood,/area/bridge/meeting_room) "bTq" = (/turf/simulated/wall/r_wall,/area/hallway/primary/starboard) "bTr" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "heads_meeting"; name = "Meeting Room Window Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/bridge/meeting_room) @@ -8868,6 +8868,8 @@ "doB" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/structure/table/reinforced,/obj/item/weapon/wrench,/obj/item/weapon/screwdriver,/obj/item/weapon/crowbar,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 9},/area/mine/explored) "doC" = (/obj/machinery/mining/drill,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 1},/area/mine/explored) "doD" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 5},/area/mine/explored) +"doE" = (/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{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/teleporter) +"doF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall/r_wall,/area/bridge/meeting_room) "dqT" = (/turf/simulated/mineral,/area/mine/unexplored) "dqU" = (/turf/space,/area/syndicate_station/mining) "dqV" = (/obj/structure/transit_tube{icon_state = "D-SE"},/obj/structure/lattice,/turf/space,/area) @@ -10707,7 +10709,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatHasTatIasTatHasVatJasVatHatKatLatMaPLatOatOatPatKatKaafaaaalPaafaoTaoUaoUaoUaoUaoVaoWaoXaoYaoYaoYaoYaoZaafalPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafapxbeuatRatSapbapxarEarAatXatWasqarEarbauaaubaucaucaudaueaOzapAapEapFalNaNDaNFaHyaPqaHqaHrauhauiaGVaPHaPCaOEaOEaOFaOGaOParTaSOauqaJsavYavYaKkaSFaMmaTsaODasRasRasRasRasRaOSasPasPasPaaaalQaaaapvapvapvapvapvaafaoPaafapvapvapvapvapvaaaampaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatHauzauAauBatHauCauDauEatHaqYaqYauFauGauHauIauJaKFatKaaaaaaampaaaapwapwapwapwapwaafaoWaafapwapwapwapwapwaaaalPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaagapxauLapaapxaHDapxarEarAaMQarCasqarBarbaHAauSauTauTaLxaHCaKLaHsaHtaJbaHvaHwaHxaHyaHzaHqaHravdauiaGVaGVaGVaGWaGWaGXaGVaGVarTaJvaJqaJsavYavYaKkaKoaJCaKiaGZasRasRasRasRasRaGUaGSavqavraaaalQaaaaafaaaaafaafaaaaaaaoPaaaaaaaafaaaaaaaafaaaalPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatHavsavtavuatHavsavtavuatHaUlaTiaTaaTaaTaaTaaWtaVtarwaaaaaaalPaaaaafaaaaafaafaaaaaaavAaaaaaaaafaaaaaaaafaaaalPaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaagapxapxapxapxaHDapxarbarbarbarbarbaYnaHIaHHaHGaHGaHGaHGaHKaHJaNqapEaJmalNaIjaIkaIhaIiaHYaIfaHNaHVaNQaLlavPavRavRaTIavRaKSavVavWavhaKPaviaviaKPaLcaKXaLaawbasRasRasRasRasRawbawcawdaweaaaalQalQalPaaaaaaaafaaaaaaaoPaaaaafaafaafaafalPalPalPaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaasSatHawfawgasSatHawfawgasSatKaZOatKatKatKatKatKaZeaspaaaaaaalPalPalPaaaaaaaafaaaawjawkawjaafaafaafaafalPalPalPaafapxapxapxapxawlawmawmawmawmawmawmawmawnapxapxawoawpawqapxawrawsaNJbdJbdwaJfaJfaJfaJfaJfbcGaJfaJpaLDaJfaJfaJeaJeaJlaIYaJaaJnahmaIxaIAaIDaITaIvaHravdaIwawLawLbcxawMawNaVcawLauiawPawQaLQayMayMayMayMaMdaMmaMqawUasRasRasRasRasRawUawVawdaweaaaaaaaaaaafaafaaaaafaaaaaaawWaaaaaaaafaaaaaaaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaasSatHawfawgasSatHawfawgasSatKaZOatKatKatKatKatKaZeaspaaaaaaalPalPalPaaaaaaaafaaaawjawkawjaafaafaafaafalPalPalPaafapxapxapxapxawlawmawmawmawmawmawmawmawnapxapxawoawpawqapxawrawsaNJbTobdwaJfaJfaJfaJfaJfbcGaJfaJpaLDaJfaJfaJeaJeaJlaIYaJaaJnahmaIxaIAaIDaITaIvaHravdaIwawLawLbcxawMawNaVcawLauiawPawQaLQayMayMayMayMaMdaMmaMqawUasRasRasRasRasRawUawVawdaweaaaaaaaaaaafaafaaaaafaaaaaaawWaaaaaaaafaaaaaaaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawXawYawYawYawZaxaawYawYaxbaxcbdSaxbaxbaxbbdUatKbdVaspaaaaafaafaaaaaaaaaaaaaafaaaaxgbdWaKgaafaaaaafaaaaaaaaaaaaaaaapxapaapaaxjapaapaapaapaapaapaapaapaaxkaxlaxmaxnaxnaxnaxnaxnaxnaxoaJBaMMaxraxraxraxraxsaJAaxraMIaxraxsaxraxraxraxraxwaxxaxyaKdaKaaHxaJRaJRaJRaHrauhaJQawLawOawMaxCawMaVeaxEaWraxGaxHaMuaMmaMmaMmaMBaMEaMGaMHaJwasRasRasRasRasRaJxaJyaxNaxOaaaaaaaaaaaaaafaaaaafaaaaxPaxQaxPaaaaafaaaaaaaafaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxRaxSaxTaxUaxVaxTaxTaxWaxUaxTaxXaxYaxZaxZbjWatKbdVatLaafaafaaaaaaaaaaaaaaaaafaybaycaydbdBayfaaaaafaaaaaaaaaaaaaaaapxapaapxaygayhayiayiayiayiayiayiayiayjaygaykaylaylaylaylaylaylaylaQnaynaxrayoaypayqayrbdCbbraPaaPdaywayxaypayyaxrayzapEayAalNaQvaNFaNIbdEaHqaHravdbdFayDaxFaxFayEayFayGbeDayIavVbdHbdcbbUbbUbbUbaNbaTaPnbavbdGasRasRasRasRasRbdIasPasPasPaaaaaaaaaaafaafaafaafaaaaySbjYaySaaaaafaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafatHayUayVayUayWaxTaxTayXayUayVayUayYaxSaxVbjZatHbdVatKatKazaatOatOatOatOatPatKazbazcazdazeazbapxapxawoawpawqapxapxapxapaaryaygaaaaafaaaaafaaaaafaaaaafaaaaygaykaylazfazgazhaziazjaylaQnapaaxrazkazkazlazmaznazoaPpaBdazrazsaztaztaxrayzapEazualNaQvaNFaHybdEaHqaHrauhazvbbOazxazyazzazAazBazBazCazBasPbeXbfGbeFbeGbeHbeObeEasPbdLasRasRasRasRasRbdKasPaafaaaaaaaaaaaaaafaafaaaaafazLazMbdMazOazPaafaaaaaaaafaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -10717,7 +10719,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBHaBMaBIaDbaDcaDcaDdaDeaDfaDgaDhaDcaDcaDiaDjayUayWaZuaAKaRqaDmaDnaDoaDnaDpaDqbfCaDsaqYaZnaDuaDvaAcaDwaDxaDyaDzaDzaDzaDAaDzaDzaDBaCaaARaaaaAkaRAaRTaRVaCmaSaaAkaaaaygaykaylaRuaDHaDIaDJaRyaylaQnaDLaxraxraxraxraDMaAraypaDNaBdaDOaTuaypaDQaVHaVzaVAaVpaVwaKJaVGaShaShaShaSEaScaVdbfFaTnbabaSPaSPaSPaUgaSPaTFaTTaTUaTVaUkaUGaVQaULaBqaBqaBqaBqaBqaBqaBqaBqaBqaCOaCPaBqaBqaBqaCOaEjaEkaBqaBqaAAaAAaElaEmaAAaEnaVqaVoaVoaVsaEsaEsaEsaEsaEsaWyaVraEuaEuaEuaEuaUNaEuaEyaEyaVnaEyaEyaEyaEyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDiaEBaECaEDaDcaEEaDcaEEaDcaEEaDcaEEaDcaEFaEGazSayWaEHaAKaVuaEJaEKaELaEMaENaAKbirbjoaAcaEQaAcaERaqYaAPaESaDBaDzaDzaDzaDzaDzaDzaETaWjaWgaVJaVIaWMaWNaWKaWLaWJaAkaafaygaWIaWpaWuaWxaWqaWsaWkaWpaZdaZcaxraFmaypazlaFnaBdazoaFoaAraCwaVvaypaFqaVHaWTaFsaFtaXcbdZagjagjagjagjaVEaVFaWSaVxaVybazaVxaXfaVxaXeaVxaXgaXhaFGaFHaFIaBoaXjaXmaXXaXVaXVaXCaYcaXYaXYaXYaXYaXYbaCaXYaXYaYwaYgaYeaXnaYHaYGaYxaWOaWPaWQaWQaWQaWRaEsaEsaGeaEsaGfaGgaGhaEsaEuaWUaEuaGjaXlaXkaGmaGnaGoaIbasHaGraGsaGtaGuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGvaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXoaDcaDcaBJaDcaEEaDcaEEaGxaEEaDcaEEaDcaEFaEGazSayWaGyaAKaYQaYRaYKaYPaYKaQlaQlaYJaYNaYOaYLaYMaYLaYLbakbajaGKaGLaGLaGLaGMaGLaGLaGNaGOaARaaaaZXaAkayJbjVayJaAkaAkaaaaygavOaylbaiaZIaZiaZqaZDaZEaZhbglaxraHbaypaCxaCuaAraypaAsaAraCwaZgaypaHdawGaYhaHfaHgaUnaYfalNalNalNalNalNaHjaYbazBaHlaAxazBaHmazBaHnazBaHobcvbcwbcNbczbdNbcXaYUbdlbdmbbvbdAbbwbbvbbvbbxbbzbbybbAbbybbFbbybbybbibcubcbbawbawbbEbaSbawbaxbawbaWaYIaHOaHPaHQaHRaHSaHTaEsaHUbaXaEuaHWaHXaYiaHZaGnaIaaIbasHaIcaEyaEyaEyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDiaIdaECaEDaDcaEEaDcaEEaDcaEEaDcaEEaDcaEFaEGazSaIeawzawyawxawuawuawuawzawCawDawzawAaImaInawBauKauKaAPaGOaIpaCaaIqaGOaGOaIraIsaItaIuaARaaaawaaaaavMavNavMaaaaafaaaaygavOaylaIyaIzavZaIBaICaylavLawhaxraIEaypazlaIFaIGazoaIHaIIaIJaIKaILaIMawGaBsaIOaIPavKaBKaISaaaaaaaUnaIUaIVaBLazBaIXaAxaAxaAxaCEaAxaAxaAxauOaBoaKyaBoaBoavJaBoaJcaBoaJdavHavGaJgaJhaJiaJjaJkavFaJjavEaJjaJjaJjaJjavDaJjaJjavCaJjaJjaJjaJjasIayRayvaAzaAiaBraBpazHaEsazIavpavlavmavnazFayNayPazDazEasHaIbaJDaJEaJFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDiaIdaECaEDaDcaEEaDcaEEaDcaEEaDcaEEaDcaEFaEGazSaIeawzawyawxawuawuawuawzawCawDawzawAaImaInawBauKauKaAPaGOaIpaCaaIqaGOaGOaIraIsaItaIuaARaaaawaaaaavMavNavMaaaaafaaaaygavOaylaIyaIzavZaIBaICaylavLawhaxraIEaypazlaIFaIGazoaIHaIIaIJaIKaILaIMawGaBsaIOaIPavKaBKaISaaaaaaaUnaIUaIVaBLazBaIXaAxaAxaAxaCEaAxaAxaAxauOaBoaKyaBoaBoavJaBoaJcaBoaJdavHavGaJgaJhaJiaJjaJkavFaJjavEaJjaJjaJjaJjavDaJjaJjavCaJjaJjaJjaJjasIayRayvaAzaAiaBraBpazHbdJazIavpavlavmavnazFayNayPazDazEasHaIbaJDaJEaJFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJHaJIaBIaDbaDcaDcaDcaJJaDcaDcaJKaDcaDcaDiaJLaJMayWaxTaJNaJOaJOaJOaJOaJOaJOaJOaJPasDatKatKavkatKatKaAPaJSaJTaJUaJVaJVaJVaJVaJWaJXaJYaARaJZavaaKbaKcavbaKeaKbaKbaKfaygavcaylaylaylavzayJayLawGaUnavyaxraxraxraxraKlaKmaCxaCxaKnayHawGawGaxraxraIOaIOaIOaIOaKpaKqaKraKsaUnaKtaIVaKuazBazBazBazBazBazBazBazBazBauOaKwaKvaKxaIZauMavIaKBaKCaJdauyauWauXaKGaKHaJjaKIauVaKKawtaKKaKMaKNaKOauQaKQaKRauxaKTauUaKVaJjauwauvaKYaJraKZavxaJuaysaEsaLbauuaLdavfauoaveaunaEuaEyaLhasHaIbaLiaLjaLkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJHaBIaBJaBIaBIaDRaDSaBIaBIaBJaJIaLmasSaLnaxTawXaLoaLoaLpaLoaLqatHaLraLsasDaLtaLuaACaLwazwaLyaLzaLAaLzaLzaLzaLzaLzaLzaLzaLBaLCazNaAdaLFaLFayTaLHaLFaLFaLFaLIazKaLKaLLaLFazJaLNaLOaLPaxeaxfaMkaLSaxdaIPaLTaLTaLTaLTaLTaLTaLUaLVaLWaLXaLYaLZaMaaMbaMcaIOaIOaIOaDGaMeaMfaMeaMgaMhaMiaMjaIOaMkawwaBoaMlaxMaOOaMoaMnaMpaxKaMraMsaMtaJdaxLaMvaMwaMwaMxaJjaMyaxJaMAaxBaMAaMAaMCaMDaxDaMDaMFayOayCayQaMDaJjasIarZaHPaHPaCXaDFaHPaHPaEsaMOaMPaEuaytaMRaHZavTaEuaMSaymayeaIbaEyaEyaEyaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawXayVaMVaAFaAFaAFaAFaMWayVawXaAHasSaAIaMXaMYawvavSaNbaNbaNcatHaNdaLsaxAaNfaLuaxzaNhaNiaNjaNkaNlaLzaLzaLzaLzaLzaLzaLzaxhaxiaxuaLzaLzaLzaxpayuaLzaLzaLzaLzaxvaLzaLzaLzaxtaNmaLuaLPaIOaIOaIOaIOaIOaIOaIOaIOaIOaIOaIOaIOaNsaNtaNuaNvaNwaNxaNyaNzaNAaIOaIOaIOaLPaIOaIOaIOaIOaIOaIOaIOaIOaNBbNwaCjaCWaCQaMpaNEaMpaMpawEaNGaMsawiaJdawFawJawSaNLaNMaJjaNNawTaNPawHaNRaNSaJjaNTawIaNTaJjaJjaJjavCaJjaJjasIarZaNVaHPaHPaNWaHPaNXaEsaEuaEuaEuaEuaEuaEuavQaEuaIbaIbasHaIbaNZaOaaEyaaaaafaaaaaaaaaaaaaaaaaaaaaaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -10736,13 +10738,13 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQaWEaWFbeMaAbbeNbUVbePbePbeQbePbePbePbeRaPBaPBaPBaPBaOlaCSaZYbeSbeTbeUaYybeVbeWbUWaPEaPEaPEaPEbUmaPEcuRbfabalctebbHbcQcsXcsZbalbbJbarbfcbcSbcSbPhbfebarbULaIOaYVbTrbfhbgCbembfibfjbepaGibfkbaAbflbfmbfnbetbfobetbdfbfpbfqaCVbfrbfsbftbfubfubfvbclbfwawGcCTcuScFlcvvcxRdPwdPxdTPdPxcFHdPxcGedTQbTtdTSctbctbctaaZFaZFaZFaZFbfDaZFbfybfOaZFctccByctdbfIbWUcGxbfIbfKdTUdTVdTWaZFaZFaZFaZFaZFbfObfPbfDaZFaZFaZFaZFaZFaZFaZFaZFaZFaZFaZFaZFbdzbfQbfRbfSbfTbfUbfVbbmbfWaafaaaaafaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQcpzcpvcqkcqxbfXbePbfYbfZbgabgabgbbgcbgdbgebgebgebgebPBbUubUrbUrbUtbUsbUrbUobUobUpbUobUnbUlbUlbSbbRucqMcrQbUCcrpbUBbUBcrocqYbalcqPbarbgybcSbcSbPhbgzbgAbffaIOaYVbaAbgCbTpbdabdabdabdaaGibgEbaAbaBbgFbgGbWJbgIbgJbgGbgKbaBaCVbURbUQbgNbgObgPbgQbgRbgSawGcrZaHfcrWawGbTqbTqbgUbgUbgUbgUcmTcmTcsUcsVcsrcsscsVcsUcmTcmTcmTckbckbckbckbckbbcqbcqcskbhbbhbbhbbhbbhbbktcslbcqcsYcsncsobhkbhkbhlbhlbhlbhlbhlbhmbhnbhnbhobhnaZFbhnbhobhnbhnbhpbTqcsJcsJbNtbhrbhgaPtaPtaPtaaaaaaaaaaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQaZLaZMbeMaAbbhsbePbhtbePbhubhvbePbePbePaRebhwbhxbhxbTHaYyaZYbhzbcJbhAaYybUabTZbTTbTSbTVbTUbTXbTWbTYbTXbTMbTNbLkbTCbLkbLkcmKcmVclMbTbbhSbcSbcSbTLbhUbhVbffaIObhWbaAbhXbaAbhZbVnbibbSOaGibaAbaAbaBbiebifbigbihbiibijbikbaBaCVbTybimckrbiobipbgQbclbiqawGcnGcoacoNawGcqlcqncqSbTncrDcrGcrMcoOcqUcqVcrAcrBcogcofcpscoYcmTcmIcmWcmUcpMckbcnscpNcndcptbVUcktcktclSbktcggbiSbiScksbiSbiUbiUbhlbiVbiWbiXbhlbiYbiZbiYbhlbhmbhnbhpbNtbSQbTibSQbNtbThbTgbNtbjebTEbjgbhgaaaaaaaaaaaaaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQaaachMaMYbbnayabjhbePbjibePbjjbjkbjlbQYbePbjnaReaXibcHbTjaYyaYyaYyaYyaYyaYybTAbjrbjsaRebjtbalbalbalbTzbalbalbalbrnbalbalbalbMVbalblubRFbjzbcSbcSbPhbjAbgAbSwaIObSybaAbjCbaAbaAbaAbaAbaAbTkbaAbTmbTlbjGbjHbbXbjIbbXbjJbjKbTvbTxbTybjNbclbjObjPbgQbjQbjRbaDbSNaIObDbcgQchOcgPcgjchNcjwckLciicjachochocgRcgScjtcjpciHciEciDciCciBciAckcckbcjDcgeclFcgecjvcjucgecgfbktcggbiSbkwcfKcgdbkzbkAbkBbkCbkDbkCbSjbkFbkGbkHbhlbkIbkJbkKbNtbSzbSEbSDbSMbNHbSAbNtbkRbkSbkTbhgaaaaaaaaaaaeaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQaaachMaMYbbnayabjhbePbjibePbjjbjkbjlbQYbePbjnaReaXibcHbTjaYyaYyaYyaYyaYyaYybTAbjrbjsaRebjtbalbalbalbTzbalbalbalbrnbalbalbalbMVbalblubRFbjzbcSbcSbPhbjAbgAbSwaIObSybaAbjCbaAbaAbaAbaAdoFbTkbaAbTmbTlbjGbjHbbXbjIbbXbjJbjKbTvbTxbTybjNbclbjObjPbgQbjQbjRbaDbSNaIObDbcgQchOcgPcgjchNcjwckLciicjachochocgRcgScjtcjpciHciEciDciCciBciAckcckbcjDcgeclFcgecjvcjucgecgfbktcggbiSbkwcfKcgdbkzbkAbkBbkCbkDbkCbSjbkFbkGbkHbhlbkIbkJbkKbNtbSzbSEbSDbSMbNHbSAbNtbkRbkSbkTbhgaaaaaaaaaaaeaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazQasSbcFaAFaZMaTPaTPaTPbkUaTPbkVayWcViaxTbePbkWbkXbkYbkZblablbblcbldbldbldbldbXnbWDbWDbWDbTXbTXbTXbWCblhblhblhblibalbljblkbWEblmblnbloblpblpblrblschfckRcnZbgAbjzbcSbXvbWwbWxbWxbWRbEvbWMbXmbWXbWLbZTbWIbXmbWTbXkbXjbXibTvbTvbTvbTvbWHbTvbTvbTvbTvbWjbWGbWQbWSbWObWPbWKbWNbWsbWFbWVaIObDbbgUdVHdVIdVJcVwcVubgUcVvdUTcjtcjtcjtcjtcjtcjpdVzdVydVBdVAdVDdVCdVuckbdVwdVvcVjcgecjvcjucgedVLbktcggdVNbYedVMbYbbXHbXMbXFbXGbXGbXGbXUbXWbXAbXzbXybXxbXEbXDbXhbXgbXebNHbXcbXbbXfbNtbmPbkSbmsbhgaaaaaaaaaaaaaaaaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmQcOncOfcOwcOocOxcOxcOGcUZaxTbePbmSbmTbkZbmUbePbePbePaPBbmVbmWbmXbmYbmXbmXbmXbmYbmXaPBaPBbalbalbalbmZbalblpblpbnablpblpblpblpblpbnbbVobndbcSbWebWdbWdbWdbWabWcbVYbVcbVgbWibWncrRbWfbWfbWhbWgbWqbWpbVsbWrbWobnxbnybnzbnAbnBbnCbnzbnDbnxbPVbTybnFbnGbnFbaDbaDbaDbWAbaDdUZaIObDbcgQchOcgPdVadVbbWBbgUdUSdUTdUXdUYdUVdUWdVndVmdVldVkcmTdVpdUEdVodVfdVedVddVccVhdVidVhdVgdVidVqbUedVrdVsdTXbnYdTYboabobbocbodboebofbofbogbkCbohbhlbWvbojbokbNtbVZbVAbVzbUJbVVbVXbNtbmPbkSborbhgaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaabmQcNOcLFcInaxSaxSaxSbosaxSaxSbePbotboubovbkZbePaaaaaaaaaaafaafbowbowbowbowbowbowbowaaaaaaboxboybozboAboBblpblpblpblpblpblpblpblpbUNbjzbUOdYAboEboFbarbarbVGbVHbaraUnboHboIbVEaUnboLboMboMbNsboMbVFbUGboMabLboQboRbnzboSbnBboSbnzboTboQbPVbVkboVbfuboWbVybVBbVDbUFbnFbpcaIObDbbgUbWmcqndUQdURdUNbixdUOdUPdUJdUKdULbVWdUGdUFdUIdUHcmTckbdUEdUDdUAckbdUCdUBdUydUxdUzdUzdUvdUwbktcggbiSdUubkxbkxboabpybpzbpAbpBbpCbpCbpDbpEbpFbhlbpGbojbpHbNtbUYbUTbUPbUJbNHbUIbNtbkRbkSbpMbhgaaaaaaaaaaaaaafbpNbpObMebpObMebpObpQaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacHGaxRcHMcHMbpRaTPbpSazQasSbpTbpSbePbpUbpVbpWbpXbePaaaaaaaaaaaaaaabowbowbowbowbowbowbowaaaaaabpYbpZblpbqabqbbqbbqbbqbbqbbqcbqbbqbbqbbqdbqebqfcGybqhbqibarbqjbPhbqkbqlbtfbffbqnbqoaUnaUnboMbqpbVdbqrbXdbTuboMbTwbVfbVhbqxbqybqzbqybqAbVibVjbTxbVkbqEbfubqFbaDbqGbnFbTIbnFbpcaIOcHTbgUdUjdUkdUhdUidUgbixdUedUfdUcdUddUadUbbZzdUsdUrdUqdUpbPZdUodUnbPZbPZbPZbPZdUmdUlbPZbPZbktdTZbktcggbiSdTXbnYdTYbrabrbbrcbrdbrebrebrebpDbkCbrfbrgbrhbkJbVlbNtbUEbUAbUzbUDbNHbUvbNtbUwbmrbhgbhgaaaaaaaaaaaaaafbrobrpbrqbrrbrrbrsbroaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowbrubrvbrwbrxblpblpblpbrybrybrybryboAblpblpblpbnbbqgbqTbrzboZbrCbrDbrEbPhbcSbrFbRgbffbqnbrHbrIbrJbNNbrLbPPbrNbPObNMboMaafbrQbrRbnzbqybrSbqybnzbrTbrUbPVbPWbrWbrXbrYbaDbrZbnFbOlaUnbpcbNybTDbNzbNAbNCbNDbPKbIibixbPMbPQbLDbPRbPubPSbLDbLDbPYbPUbPZbPZbQxbQpbQFbIrbQIbQHbQSbQJbQVbPZbJqbRabQWbQXbRfbRhbRbbRbbPGbsEbkBbsFbrebrebrebsGbkCbsHbrhbsIbsIbPHbrhbNEbNKbNJbNIbNHbNLbNtbmPbsPbhgaaaaaaaaaaaaaaaaafbsQbsRbrqbrrbrqbTGbMeaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowbSKbsUbSKbsVbsWblpblpblpblpblpblpboAblpbsXbalbalbsYbcSbndboCbtabtbbtcbPhbcSbcSbtdaIObqnbtebtfbtgbPrbtibtjbtkbPqbNxboMaafbrUbrUbIgbtobtpbnzbtqbOvbNgbPpbNqbtvbtvbtvbtvbtvbtvbToawGbLTaHfaHfawGbMcbMmbLUbOIbPfbixbOLbOYbPubPvbPsbPtbOibOhbOgbNUbOybOubOkbOjbOCbOBbOAbOzbOGbOFbOEbODbNubPAbPAboDbPCbPDbPDbPDbtZbHWbkBbubbkCbkCbucbPgbkCbuebkIbOUbugbORbkIbMtbMCbMvbRqbAHbrhbNtbuobhgbhgbupbuqbuqbuqburbkIbrobrrbrqbrrbrrbSibroaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowbSKbsUbSKbsVbsWblpblpblpblpblpblpboAblpbsXbalbalbsYbcSbndboCbtabtbbtcbPhbcSbcSbtdaIObqnbtebtfbtgbPrbtibtjbtkbPqbNxboMaafbrUbrUbIgbtobtpbnzbtqbOvbNgbPpbNqbtvbtvbtvbtvbtvbtvdoEawGbLTaHfaHfawGbMcbMmbLUbOIbPfbixbOLbOYbPubPvbPsbPtbOibOhbOgbNUbOybOubOkbOjbOCbOBbOAbOzbOGbOFbOEbODbNubPAbPAboDbPCbPDbPDbPDbtZbHWbkBbubbkCbkCbucbPgbkCbuebkIbOUbugbORbkIbMtbMCbMvbRqbAHbrhbNtbuobhgbhgbupbuqbuqbuqburbkIbrobrrbrqbrrbrrbSibroaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaeaaaaaaaaabowbowbowbowbowbowbowbNvbutbNvbuublpblpblpbrybrybrybryboAblpbuvbuwbalbuxbcSbndboCbuybuzbtcbOxbuBbqfbuCbuDbuEbpcbuFbtgbuGbuHbuIbuJbOmbMfboMbOpbOobNBbOnbuRbrSbuRbOvbOwbuTbuTbNqbuUbuVbuWbuXbuYbuZbMkawGbvcaIOaIOawGbLSbMnbMrbMBbMSbMTbMUbnebMLbMPbMbbMRbNabMZbMsbNbbApbHvbMYbMWbNlbNkbNGbNobNfbNebNibNhbMjbMlbMhbMibiSbvybvzbMgbvBbvBbkBbvCbvDbvEbkBbNVbkCbvGbLubvIbvJbOebvLbvMbOfbvObvPbvQbsIbkJbLVbLQbMubMNbMQbvVbvVbNcbvWbvXbpObMebNdbMebpObvZaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowbwabrvbwbbKOblpblpblpblpblpblpblpboAblpbuvbwdbalbwebegbndbncbqfbwgbqfbNFbcSbrFbRdbffaIObpcbuFbtgboMbwibwjbwkbwlbMdboMbwpbwnbHhbzzbNgbNjbNmbNnbwubGIbwwbNqbGCbwybwzbwAbwBbwBbnTbINbambdDaIRbgUbJfbLRbLNbLPbeZbixbLYbLZbLDbLXcbObLWbFNbLDbLAbLzbDcbDcbDcbDcbDcbHfbIIbHfbAqbLJbLGbAqbAqbAqbAqbLybiSbiSbkIbkIbkIbxbbkBbkBbkBbkBbkBbMMbxebxfbxgbxhbxibMobHMbMpbMqbojbojbxnbxobxpbJebJdbKfbKubMpbJgbMpbKEbkIbupbuqburbKLbkIbKMaaaaafaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowbNvbutbNvbxubxvblpblpbxwbSRbSSbSRbSXbSRbSYbTabSTbSUbSVbzmbFnbSWbTcbTdbSVbxFbxGbRgbffaIObxHbxIbxJboMbxKbxLbxMbxNbSdbRzbXwbSfbRUbRJbSubSvbSsbStbSkbSrbSebShbybbycbycbydbyebyfbQEbtvcbPbDNbONbgUbixcbQcciccjcarcawcaWcbabPucbccbebLWcfMbPucdkbWubRSceEceJcfQbDccckccFccEbAqbSCbTsbRebRvbAybAqbwNbRybRBbRwbRxbRpbRpbRibRmbRpbRtbRrbRsbREbRDbRpbRCbQubSPbyPbyQbSLbySbrhbrhbrhbyScglcgkbyVbupburbkIbojbvVbyWcfLcdQceFbzacfDaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From e3930fa79e4a02342551d006f42bb0fea1e5aefa Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 24 Jun 2014 03:35:56 +0400 Subject: [PATCH 81/84] Monkey cube now expand when eaten, leading to !!FUN!! --- .../reagent_containers/food/snacks.dm | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index da91085e27..4314c5bb90 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -1550,6 +1550,51 @@ if(wrapped) Unwrap(user) + On_Consume(var/mob/M) + M << "Something inside of you suddently expands!" + //Do not try to understand. + var/obj/item/weapon/surprise = new/obj/item/weapon(M) + surprise.icon = 'icons/mob/monkey.dmi' + surprise.icon_state = "monkey1" + var/specie = "monkey" + if(monkey_type) + switch(monkey_type) + if("tajara") + surprise.icon_state = "tajkey1" + specie = "farwa" + if("unathi") + surprise.icon_state = "stokkey1" + specie = "stok" + if("skrell") + surprise.icon_state = "skrellkey1" + specie = "neaera" + surprise.name = "malformed [specie]" + surprise.desc = "Looks like \a very deformed [specie], a little small for its kind." + surprise.transform *= 0.6 + surprise.add_blood(M) + + if (istype(M, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + var/datum/organ/external/E = H.get_organ("chest") + E.fracture() + for (var/datum/organ/internal/I in E.internal_organs) + I.take_damage(rand(I.min_bruised_damage, I.min_broken_damage+5)) + + if (!E.hidden && prob(60)) //set it snuggly + E.hidden = surprise + E.cavity = 0 + else //someone is having a bad day + E.createwound(CUT, 30) + E.implants += surprise + H.visible_message("Something that looks like \a [surprise] sticks out of a wound!") + H.embedded_flag = 1 + H.verbs += /mob/proc/yank_out_object + else if (ismonkey(M)) + M.visible_message("[M] suddenly tears in half!") + surprise.loc = M.loc + M.gib() + ..() + proc/Expand() for(var/mob/M in viewers(src,7)) M << "\red \The [src] expands!" From b2b99076058a4fbc33f4adf931dede85df0eed64 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 24 Jun 2014 03:56:34 +0400 Subject: [PATCH 82/84] Lowers caused damage to make it destroy organs rarer. --- code/modules/reagents/reagent_containers/food/snacks.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index 4314c5bb90..61bc359108 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -1578,7 +1578,7 @@ var/datum/organ/external/E = H.get_organ("chest") E.fracture() for (var/datum/organ/internal/I in E.internal_organs) - I.take_damage(rand(I.min_bruised_damage, I.min_broken_damage+5)) + I.take_damage(rand(I.min_bruised_damage, I.min_broken_damage+1)) if (!E.hidden && prob(60)) //set it snuggly E.hidden = surprise From ece48ae0c477b6a5d2552995d52995153abe86e6 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 24 Jun 2014 04:09:35 +0400 Subject: [PATCH 83/84] Moved same code into single organ helper to handle embedding. --- .../mob/living/carbon/human/human_damage.dm | 18 +++++------------- .../mob/living/carbon/human/human_defense.dm | 10 +++------- code/modules/organs/organ_external.dm | 13 +++++++++++++ .../reagents/reagent_containers/food/snacks.dm | 7 ++----- 4 files changed, 23 insertions(+), 25 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index 0688f13428..086b098999 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -65,13 +65,13 @@ if (organ_name in organs_by_name) var/datum/organ/external/O = get_organ(organ_name) - + if(amount > 0) O.take_damage(amount, 0, sharp=is_sharp(damage_source), edge=has_edge(damage_source), used_weapon=damage_source) else //if you don't want to heal robot organs, they you will have to check that yourself before using this proc. O.heal_damage(-amount, 0, internal=0, robo_repair=(O.status & ORGAN_ROBOT)) - + hud_updateflag |= 1 << HEALTH_HUD /mob/living/carbon/human/proc/adjustFireLossByPart(var/amount, var/organ_name, var/obj/damage_source = null) @@ -80,13 +80,13 @@ if (organ_name in organs_by_name) var/datum/organ/external/O = get_organ(organ_name) - + if(amount > 0) O.take_damage(0, amount, sharp=is_sharp(damage_source), edge=has_edge(damage_source), used_weapon=damage_source) else //if you don't want to heal robot organs, they you will have to check that yourself before using this proc. O.heal_damage(0, -amount, internal=0, robo_repair=(O.status & ORGAN_ROBOT)) - + hud_updateflag |= 1 << HEALTH_HUD /mob/living/carbon/human/Stun(amount) @@ -302,14 +302,6 @@ This function restores all organs. if(istype(used_weapon,/obj/item/weapon)) var/obj/item/weapon/W = used_weapon //Sharp objects will always embed if they do enough damage. if( (damage > (10*W.w_class)) && ( (sharp && !ismob(W.loc)) || prob(damage/W.w_class) ) ) - organ.implants += W - visible_message("\The [W] sticks in the wound!") - embedded_flag = 1 - src.verbs += /mob/proc/yank_out_object - W.add_blood(src) - if(ismob(W.loc)) - var/mob/living/H = W.loc - H.drop_item() - W.loc = src + organ.embed(W) return 1 diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index a98955d0c8..baa1ebb145 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -98,11 +98,7 @@ emp_act (SP.name) = "[P.name] shrapnel" (SP.desc) = "[SP.desc] It looks like it was fired from [P.shot_from]." (SP.loc) = organ - organ.implants += SP - visible_message("The projectile sticks in the wound!") - embedded_flag = 1 - src.verbs += /mob/proc/yank_out_object - SP.add_blood(src) + organ.embed(SP) return (..(P , def_zone)) @@ -236,7 +232,7 @@ emp_act if ((weapon_sharp || weapon_edge) && prob(getarmor(def_zone, "melee"))) weapon_sharp = 0 weapon_edge = 0 - + if(armor >= 2) return 0 if(!I.force) return 0 @@ -314,4 +310,4 @@ emp_act var/obj/item/clothing/suit/space/SS = wear_suit var/penetrated_dam = max(0,(damage - max(0,(SS.breach_threshold - SS.damage)))) - if(penetrated_dam) SS.create_breaches(damtype, penetrated_dam) + if(penetrated_dam) SS.create_breaches(damtype, penetrated_dam) diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index c51d516715..08d4366383 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -703,6 +703,19 @@ This function completely restores a damaged organ to perfect condition. /datum/organ/external/proc/is_usable() return !(status & (ORGAN_DESTROYED|ORGAN_MUTATED|ORGAN_DEAD)) +/datum/organ/external/proc/embed(var/obj/item/weapon/W, var/silent = 0) + if(!silent) + owner.visible_message("\The [W] sticks in the wound!") + implants += W + owner.embedded_flag = 1 + owner.verbs += /mob/proc/yank_out_object + W.add_blood(owner) + if(ismob(W.loc)) + var/mob/living/H = W.loc + H.drop_item() + W.loc = owner + + /**************************************************** ORGAN DEFINES ****************************************************/ diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index 61bc359108..6868e8fcdc 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -1569,7 +1569,7 @@ surprise.icon_state = "skrellkey1" specie = "neaera" surprise.name = "malformed [specie]" - surprise.desc = "Looks like \a very deformed [specie], a little small for its kind." + surprise.desc = "Looks like \a very deformed [specie], a little small for its kind. It shows no signs of life." surprise.transform *= 0.6 surprise.add_blood(M) @@ -1585,10 +1585,7 @@ E.cavity = 0 else //someone is having a bad day E.createwound(CUT, 30) - E.implants += surprise - H.visible_message("Something that looks like \a [surprise] sticks out of a wound!") - H.embedded_flag = 1 - H.verbs += /mob/proc/yank_out_object + E.embed(surprise) else if (ismonkey(M)) M.visible_message("[M] suddenly tears in half!") surprise.loc = M.loc From 3ff6c418467963d0bcfb44e2385b41e02980c723 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 24 Jun 2014 04:19:09 +0400 Subject: [PATCH 84/84] Made monkey cube subtypes define what type of monkey they spawn instead of weird switch in Expand(). Rewrote belly expanding accordingly. Also now you get a living monkey from the monkey. --- .../reagent_containers/food/snacks.dm | 59 +++++++------------ 1 file changed, 22 insertions(+), 37 deletions(-) diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index 6868e8fcdc..5b41fe5641 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -1532,7 +1532,7 @@ filling_color = "#ADAC7F" var/wrapped = 0 - var/monkey_type = null + var/monkey_type = /mob/living/carbon/monkey New() ..() @@ -1552,28 +1552,19 @@ On_Consume(var/mob/M) M << "Something inside of you suddently expands!" - //Do not try to understand. - var/obj/item/weapon/surprise = new/obj/item/weapon(M) - surprise.icon = 'icons/mob/monkey.dmi' - surprise.icon_state = "monkey1" - var/specie = "monkey" - if(monkey_type) - switch(monkey_type) - if("tajara") - surprise.icon_state = "tajkey1" - specie = "farwa" - if("unathi") - surprise.icon_state = "stokkey1" - specie = "stok" - if("skrell") - surprise.icon_state = "skrellkey1" - specie = "neaera" - surprise.name = "malformed [specie]" - surprise.desc = "Looks like \a very deformed [specie], a little small for its kind. It shows no signs of life." - surprise.transform *= 0.6 - surprise.add_blood(M) + if (istype(M, /mob/living/carbon/human)) + //Do not try to understand. + var/obj/item/weapon/surprise = new/obj/item/weapon(M) + var/mob/living/carbon/monkey/ook = new monkey_type(null) //no other way to get access to the vars, alas + surprise.icon = ook.icon + surprise.icon_state = ook.icon_state + surprise.name = "malformed [ook.name]" + surprise.desc = "Looks like \a very deformed [ook.name], a little small for its kind. It shows no signs of life." + del(ook) //rip nullspace monkey + surprise.transform *= 0.6 + surprise.add_blood(M) var/mob/living/carbon/human/H = M var/datum/organ/external/E = H.get_organ("chest") E.fracture() @@ -1588,23 +1579,17 @@ E.embed(surprise) else if (ismonkey(M)) M.visible_message("[M] suddenly tears in half!") - surprise.loc = M.loc + var/mob/living/carbon/monkey/ook = new monkey_type(M.loc) + ook.name = "malformed [ook.name]" + ook.transform *= 0.6 + ook.add_blood(M) M.gib() ..() proc/Expand() for(var/mob/M in viewers(src,7)) M << "\red \The [src] expands!" - if(monkey_type) - switch(monkey_type) - if("tajara") - new /mob/living/carbon/monkey/tajara(get_turf(src)) - if("unathi") - new /mob/living/carbon/monkey/unathi(get_turf(src)) - if("skrell") - new /mob/living/carbon/monkey/skrell(get_turf(src)) - else - new /mob/living/carbon/monkey(get_turf(src)) + new monkey_type(src) del(src) proc/Unwrap(mob/user as mob) @@ -1622,18 +1607,18 @@ /obj/item/weapon/reagent_containers/food/snacks/monkeycube/farwacube name = "farwa cube" - monkey_type ="tajara" + monkey_type = /mob/living/carbon/monkey/tajara /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/farwacube name = "farwa cube" - monkey_type ="tajara" + monkey_type =/mob/living/carbon/monkey/tajara /obj/item/weapon/reagent_containers/food/snacks/monkeycube/stokcube name = "stok cube" - monkey_type ="unathi" + monkey_type = /mob/living/carbon/monkey/unathi /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/stokcube name = "stok cube" - monkey_type ="unathi" + monkey_type =/mob/living/carbon/monkey/unathi /obj/item/weapon/reagent_containers/food/snacks/monkeycube/neaeracube @@ -1641,7 +1626,7 @@ monkey_type ="skrell" /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped/neaeracube name = "neaera cube" - monkey_type ="skrell" + monkey_type =/mob/living/carbon/monkey/skrell /obj/item/weapon/reagent_containers/food/snacks/spellburger