From 3644679f8b51f76a71d3de68a4b7652e283e952a Mon Sep 17 00:00:00 2001 From: SplinterGP Date: Sat, 15 Aug 2020 16:09:16 -0300 Subject: [PATCH 01/19] start of Snowbull --- .../subtypes/animal/space/animals_yw.dm | 25 ++++++++++++++++++ icons/mob/cryogaia64x64.dmi | Bin 0 -> 45113 bytes 2 files changed, 25 insertions(+) create mode 100644 icons/mob/cryogaia64x64.dmi diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm index 98a2682aa1..3c36273dfb 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm @@ -190,3 +190,28 @@ layer = MOB_LAYER if(client) client.time_died_as_mouse = world.time + +/mob/living/simple_mob/animal/passive/thrumbo + name = "Snowbull" + desc = "Some white furred bull with a single curved horn." + tt_desc = "legionis gayus" + icon = 'icons/mob/cryogaia64x64.dmi' + icon_state = "snowbull" + icon_living = "snowbull" + icon_dead = "snowbull-dead" + minbodytemp = 0 + maxbodytemp = 1000 + min_oxy = 0 // Oxygen in moles, minimum, 0 is 'no minimum' + max_oxy = 0 // Oxygen in moles, maximum, 0 is 'no maximum' + min_tox = 0 // Phoron min + max_tox = 0 // Phoron max + min_co2 = 0 // CO2 min + max_co2 = 0 // CO2 max + min_n2 = 0 // N2 min + max_n2 = 0 // N2 max + unsuitable_atoms_damage = 2 // This damage is taken when atmos doesn't fit all the requirements above + attack_sharp = 1 + special_attack_delay = 1 + +/mob/living/simple_mob/animal/passive/thrumbo/handle_special() + diff --git a/icons/mob/cryogaia64x64.dmi b/icons/mob/cryogaia64x64.dmi new file mode 100644 index 0000000000000000000000000000000000000000..d2a49c28fd13378c30323620bc2e912f84ef7695 GIT binary patch literal 45113 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 S~!y`fAl%o zs~JPjp||EhlwH5`A2RTsdkq(J48)VLQ{E)c#l;2oyaY$)_|9Rit!pC>tpsHvCyJo4#MO3@152+F z`u1}q&k;~-IeV0ok&_en^XpN+|3#Ir-DjDltEbLh^YeO{IZG4#58zIY)t!c=VGA`; zDWvhneMLZ$>##)5j`(3PdhVeEkSkVRD)d{{WcnWU$nw1O-xz5>Wp&?g+AyE>u(83& zdcrFtN>~x3BgLCw=HlgL@$ARJ4Iw4|?rd9z#LalhL}Y+0$?^?Q!{fkf++(;8_9*EQ z^1W~w`*GJm^W(>Ux_!5T#L0`ZQGp-OHsg&bpcq(|2HbP*Phrol1j^fViDD3BZ!@??hN}E-1z!;m zESw4ip2V}=HXO7jYydSVSDvOYVwCR(hWokcMt5608NBl!_h&Z8Q^SIBVy7g;pq?(1 z8|vFmoELmN3KM_A2_H5rgxbA;D{mJv;Ca}UoS$Wi{VPNA#)O(ZU z2Yjz?yW-)m8vpfKGqIoKZHCD;>sf4uv$eyLIKA-4AO!~B7y%>CMbyIDJF8d!4dsp> zP50N&#h%Ql?CV^GGgC&kfWomVGN9$6=7Z(g-*9GNSp+&!x>y%DK_gNO+O!XVFFP{(r@6|6ee=3Ja&pp&x$qKCm7Chu#KW zdInCT#s3!rESBFYhp57}T~^^Deu12;T5R8_x!)86(mIn~A}0LxCh z|MqK78QMe_?cgE5G$XPG&zeC-|B)^B8>%?R-uHvfca(V>OkufS21qW&AJ3yuJ4O^g zv!5(0NIZDEkK>vOsaB+q6{$@N&e=ICJN*xoieA%dc;r(9n&PA&L-ub9rzzufK}a>@ zN36#R3#sIc#4zjGvAh~*wI8nT4*Hz=Ved=Aq$GzR4MUo_Bj<&wgG{)%lTnQ7oS#RP zpDos3Rlqp=cR^U*{BN3l8@?ODA19Yvq_VYdFcF1<39t5l6Q&%@M+$*IdVB~f$vsz5 z&EF9QkhnemuRCwV-bnNKVfbIWMPnkvcD$A25Ub?)-DZlu{zOH3e;W@<{98QEnxiu0 zwK=|V5H^{cVRnH5a#1bdva4~3?aCqfT^xgrhZ*L4z5Zlv`IhAS$Kc`h2`GakC}H*x z)9+MN0lQM~ueByGHBpH^EF<3u9L>S-AyP>M`wGhS&&HFetg!z9c zNMaS0|0f2?-Q0k`{~g0_2n8r&c)^bPmM7lIeM~t6Uj{8X1XZW~fwOSn*KK(%TgLY1 z^80(UG`7Ig*%9+pHVtypYjF?$(Bd5~LzgE3{3Vuc0aHW4tq0NL!&%#7#h_d8-=beu zKpvQiV=C+(g{%t7gC^Y>By+?U%{}0x zGQSX)SK?6Gf)A8%@)KNvg^q9qgz2`8vt2nugrUc+;Qv5~18Cn14?{D!awdzBv(_{= zn3G%^l+pzzB<#Wf3HV_&qs*vqlFi%}aX<1`dRZU?4>YEd z&~XANqk?#N@z@$AS?*IyIR7_%@aW>=jt@@z63GJaHpj<5?6H7)wq{n&^C4XV6+C6o zlddl#et%!;0R#{g5CUDV=2P`sHcyt;gm7f&WLr5B(hh+GmiZp`{$-e)cKEc9WM5}x zTNQI;>=CR+%kpPPCn^0p@u#O^P*9ADCre_nML{>c{Vwkg6rP7fBz}ic*;p+#4-V#6 zHFA6(V$1n)q6!=yF0$Kh_ujX6-j0(cJ!6+$Sm$?F!RRX_#{h=B1RiiUnQH*!>^KrC zD4&w`&o;Jq_J(o+`&9Q`E(}99E#?;ujf|DQs>wR%xmx@ejOV|HkH?4uDqn^Kp?1RB)u`ky&HB4%sQ&1;D>Tye^|P$l z6N^fEJI2bl4HF40Vh2rGJ=jd6O@W(=A54R-2m(+V;;!r~jA2R-LPBu6Zv&9_qO`f* z=yHI;Z|j)6rj7mUNHksU?k;}h;u-(9Wk7MD?!8GHFCH!mHKCU$S*&Mi?v;A9*fNO- z4jyXHs(GqW5e@XV8ug5-88HD_1sracP&gX z$yr}66ZbFR{o~4f*ftF=vF3&7oBCJ~tLF4rSnh)DVYtXaw*<`U)LWx8^j9q6dn=4N zj1ed$;Xgh`oU{_Z$CzI7Tp~U_I=fiBXsuDj^6oRsRR_KR$aN|S3!C2z4sITsK;Ucz zfK)p5s>1SqQ)4bkiG3Ti{OBM+!1Kq|kYbl2S zf2u@DN&s*+0U=bexJwKguX7G;0oUm78X|rOdwpEn2y{Qpt#%dq?T~E0bbn4nXE+V9 zvZdBU0|ZH)X7LFDlkklmU1SefJ5IO6pXrvA3Kdnh(|ToZvNk2q{?(y4Y(-F3s{egO z^JjrYe}QC2J~8p(yqZP{x_N5{%dn^;xWl})W#3bj=l4}`G{+jT3#zI*P6p9zf0LzSR>NHnQ)WnPL z7uD{xA7$23j-NWKeAi_MuL@9it2cx#JC5sVpd2(o1V3vzp_$O&(I|( z&!^&XumD}BJ6K-qAZl1bjGo29XH=T^A8}DeLkwO6mp+Z^Mc#s)1_wD95?e+8K5}t; z;bg&eJN2NX&BB84dGs#r3#n;{8|cW7;W5qN1l3`-O@V*DaIc(&qvM(l`-A_nXVGdn z6R!hT1;z4}cyr=rdhhU8(uioeb3`os_r;{xh?wV;0gnVXfF8=%=&s$KjP#AWv*Z%| zYUDe}Mo_S8Sld3YDhnyOfeFB~*u5sqoV`u`G|YiDcfYXu&jBo4MnM=S89{xCWVZKLa$mdlqBc)Ja|4 z$VDZvIzsd-bb+)!Gc}`N(T)jO2%zPa)#E#CPMpA|kc1P77-nYV=)=0nC~|l9_MrK3 zs!AvWuwkN)x8BTjQ`mdHcR%>at!IT};RtkFzo69sKCVD%l(!L@wHIyboud-p|?>T|*XRXWODi7Jgve|}#t zTxsP-JUww{mTPcuP}FymB%z=n6R6MyUtP811u%F@9OJ!RV#mY!KFRr_&&=C9?QBv9 zAO>b@TDh&M6WiOF{rlzK1Ecf~zumXDg9{)=u8BoqS6Q!NEmc6|c zX}LI<1M0(q*$R1jmUb6T*1dgC)>5VUqmi&&^4EZbG0`0tPJ zWCtKLD6tw$Zuef?l(#T_%4xbVJ_{CT*T6^&k%Wk;QJi@HL(p}((0ULOTfCcn5{4($ zHfg@}mj#8=_+ZkeUSh|BQRf=1W?;dst9;{)7uxdmTFj~IDaA3UfW%TWQ_rQumQ4@RYvB+vA8j} zr}%y2T;Q;frOLCNWhqXxPtWD>m_8DQf}uWd9$L&X|F~aPre~)~u|5F`W$^fAkFFUNSy4ben6T*{A(9GgW3l}Bg}`Ia+|DwL zu7?@G@e)SX^4|G@Jz-!f;47)bOj(2JD;BDL>4?qS<`>24h_2;e2j5j)h zAC;DuG9oS8#sr@={5B^q_T%mYP{Lgf$~5X1DsN3pnlne?U5G*Z0@fU0i^H=JfkvYR9-wq@uNY4Rv%Edll#@K0SH$V+-q&=j7yn z&_96aVYW!mO8jhym{wMG*}4==iHWNjx2>GAt1>P#CkRHtM4Q8JgHwz=(!Qf~(NO!f z1e5zWH*Dk*MI!wX3DFKnzn#t$2k6`|~_L=oI?RUbr0l==Ygz{AHP&;zY@vX3+;#9S5Bez*Ru)PNIAAX2b3I`ZL zzvDp@@jahOyQD$x7Kg!@j7J0n+aY4UmvtrO%!D$-OKln5?n2GA-9ULxHF1#EYnQi> z_d`!zUF_Av+^l|fM%McH5&V{8F7=_}gWm4;?Giw{ zJsKReJLtxixe|Rl@)8g0srU)uf!|rl7$kP{@0gdS%USqym+7@QK4H-q%w1|4fL?0% zUk&qF9L^FmdTQvk5^e{$34j))?OQmS(E5)Sq>B)RpK_Ry!;k*7d71UsxIReuI@4QE z>ttWuPi0@E+3O}1j+?%t53Ay>=Z$*APqik=n8#c5jFwtD{UZY-i`!D+6M?Mu6ySMY zUPh#9&~T9dPt*&-PJTqJBV+wv{rWIR=(=W-o#5L{t&QE9jkf7Kiv!`RPqB{qnn|TT zISPT_P&HF?J2&SI?FV;%-Ug$-J221>@B5R4WYO?jdPBaz;{l;M8quZrhyGHT%GF5d zM`M4JO_tn`@--iNHPI`UA1+5d5ZcI}b`)XDqccjzc8&p9dWytEq2`Y+=vB(QiP7*;SXWQPnk%L_nf~c zcN}J`AL}SlBf2UK{dgr7Ya)kUzC3+j!tuHDPgkT>pfk@rez=L?NHHX-4M~=c$}8sd zmn_p}R@KU9?0_3RRa1M${zQb|xp&h#xwHcoq+ZruJ5fW04*5cFv6aK1K zK^m+hj*fKv3wTO&fXxl%Ef>c1Pl;b5E&EU^gclbz7AMvKBw?AJS>rE~5g8!}7Dv!T zaCy@klUL0+J(Jhy9YMSE6A^+*BaZu?J*&=x{rAXb8E4r~IgdZ&V@nN(dtohPUYDUeby};mZ*1?Oex!UJH-PDp zu9Dd!r&MP!m0JO$>M_5#Swo|#Py<##+}^SKn{ZO|$mSt7G=T8xKos zHcNEVDDp)reB#|UZq}ln0J69Xx&z~Tc|td@S-UP^`(N)yv;N>CI6pBFeE57XQ8|GT zFu>V{)zkLI}JDSyPsURj2RQL?75sLKds1=i7>*#oxW^L&{Hq$G{Ff+w;)Z(U$j*j7y0tzHW3y9|c zTvEa*Q?lSY=hOg2Cki4!^ZXj|A4h^8rNyLt*R1B^Ob*9z=rYYU{1?JEQn)4PWv1A7 z@l_h&Eho)M$H|$nU*6rdx^1Ys$(fD86@yV50EQw(MTP`vYHXJ2);OgJ;^@ff=!hQ` ztBpl5_r}rY>6K~j?Df=h{qkmo0~h4W*##Rs1|yy$Uq~d{Nncdw(DdqIXm-{q(2lHc zv3+IzhYoj2)$3>jXPzFrq@$M#o3f-imlH+RfM`DX4phVY3ST3gEX*u9;Z#)9bPPU9 z5uO6Xzlwnp(s+tm-+P!NP)x3~EIfoT;iu0tz1bcC%!Cy+iIBfz7w6~TRdE2o3FBI1*9mRDiuJ-#kxS>{-nH3%n1`B>t2P(vWVo={3%|5N& zFtVO`WQ3SyP8ewno=e;wb}ig5hu)eV7|RB1E27EM(BG2PmdFmb2rB0_QC=dsJI*M1l7;IRQ2cxz^-=V%Ml zFybBh=cLW*(*rAjM-0M)&UChZOee{pPH7ARWbYv`0JB3Jpg$T-EDU%9lD#_PZ=%Wm z`5Ad1AI0#FdM@&=j%W)?+Q`Vh-cJRe1QBqtIMtT_Nc)_-!^m(fhxzubmuqXl6o`2J zVU&xY@5I)dK4-D*gDwuPhI`g|Czf$ZI7U9>a%hUtl$fsHVfCOaIW}I0eVr{2SMIiO z(oZSz7T*R3@5yRh|NqSb&?7eT^eJiT9e#pU5Wqt1c;i97T*Gi*nVO!Sk9GolFr4<8 z0x5A^Y}K-$7d*zCY9?7OeI)5N{0jtEyJ6Ey3G&DS5LzvDJT zFEaw=$T|ZqA9_BZX7C?UxOuR%b}kb+r7V8ZwAwza-{kNBk9XT!`lZD)$Wv@}V{-ps zH}mjWNK#HIAMjQ4GtCHQY%_AE6JLzvhu7~9#vw?{blLyN7)ER$q_4nq%3Tw569!UD zB--iOV=2mJ0x9QW*-VyG9Zo%OH{CkNaflT#;$iUsizr2FVM`4Jg9@ZlBqZ!lq|)@1!NDeGEWlGGy+KDs18L~ zKj)=JqF4)LNR})3NxPB^dw>D5QmzmhUuKrBS?8#&)1#?#?P3=3NAt;B33)lGFG8lk$!}RsZtFy7>j<}a zy8ao?vh}vyQ6M#@O;Cz*N>6-6K`zIntkuc!tCsgfE1V&s|Lt;r4v)6V&Rif>pV7^< zdz<~kVAF$@d=Gl|$HQ?-MdMvX>Z4kfXEHjVO?`2h!M2tx=f76@<>fmMtJuiGB18H3 z$N@_%{A(>?a@|J}X1P1U>n<;r;Ch)EU9Lv8rIo=*7#`E1Yvcjon&N>^>olXTZ$$&B ztS8b~w&ca60@!7#?@h-Xhja-DC`fm=NOy}!UOM0Q|HgY`ysz(z$UWS1_Bs3PSaZ!e7toW; zQ{KuB%z)g_m-)zDfW6m(CJ9L{iZlvl(uD_$L_ zU(|3d58{LoB3vy1H5#;V6n#rP3B=8G%g3&RtV;hO^Jw+E84>L7osx&UHs`DgHli5k zpg1oL$<9f857YTKnOamaTg_OynNYUxa_y=|a>Q|JzVQpo3ahbAvClRbDM?m$9Mqhx zd90F1kdO2_>;Fbp1|GJ|`mX=R%;NKMa4qdw)Y5Yle-~wJ{HUgUR*k~)^)v)o!~`{% zG0NG9&(BTfWo6|#j@Mdb=^=lO!dEh^a%S7CpXb7kCjAmat{q%T8fgTCnUs|K%K)(a zFJ5He;z9To28I#C-Ve5{8jS{rB-(CGt)!K%!)gLpHGvFJ>$R{s68$_6c%Y(^#am%C zubGudPAat8^boWkx-V|R1S=`=JNM-KfsN1h?t;HV5n4(&Z$!<=ygUd(aeo8D0w};!oUWfbx5&$WFLo#XcJ$h%H=*><)zUHURy*3aD)swyze}U1oWyIV zRX4+?LtzF2f{eWU{lr0v?SFUqaKo<<9lg2_3EM>2~XQwe9*%?E(GU zk`y2@+e!S-o`giAN|OUtj?1L>Ce}2SufdE6Fd0j2LDokNV#b7?40by$6KS!e2i_Ew zl|O+}6TvtMcNbqvORF{UOMxwq5IN9@?cOs=fJ?YT#W^wEm3qfuh0A=7JI?JB&flYI zY;9C39K$YKKC36DO2E&%M9ie<%3~`j6`+Yv4xz67#G~}?XUV%J{!^j0MR?Mpa1|57 zAu6K8O83rbSvtoJ0V54M>Ork@Dwn3!9!eEsVQuib(P>3CiJ{#?sW;x@XIobhc(EX6 zwj_Z>>MR6ju#xi0%1nLNEIfKNsFBPx55bZ{QX9kV?=ehpH^eyVs4)@+emVLWFR3Ix zGodTwV%t@O31~)0@SqQY)rrk_ z8v$j$Cap2Ia&>vuUN8`lCETlmnK;(%5{sGem#rHYE$uwhB8TND);lRKL(ZX(a73#_0QoUk9ozkQObN6;s1*xH&KNJ%Gq3Q5q|?y>$TpCCZu29lh0q|)#G-us zi*#04ZBQ{e37Z721fwoo`l=lrZmb|Vf?oNF#H-LZ5N%RLEc zsoZ)258iQw=1S}?n;8UukV^E&O`Ko3M+r+MQQwRJboA zcCWWZ+x@;N(N;dG)Y}YI{pW9YB1+1#_NXs6Ruk$MZfLeus{h{JO1rs%RGBucbs1SX zBBZff(JWinf!~Y@dFd4ctZc5%<_M!4s3nIAL zMm>Ap%=f%%=jj$Xr5CJTWwLV58&ouM&Vk3}tvSyI$Etb`5XDzRE#4FX4=yNvzF=b$ zSHrz(Gv!Ps824$PACR4kW+fQW!JC*<{BmQf2dv6g>b8x!F0yWW;SPEcInv+lpTkNw zQQ$x9TQT7P!IscKS4Q7*P}tCCa6N2KHC6VXya!sg#}>;-c(l4OGqe*j*3!fIR(?kDh^H5|wM@ z1LM97eO1QwQ`5%OW-lP^m8f=oWgQ7ckgs8+2&Jw}0esdZ!q(yx&1fje5wF9#jERndp?D*8^76NYsb?WlT@#!<+v?T|_^>@CmNmQt+uE&OCgL?IVP0p9? zohQ>U10J1}T1Zl<)ccLRUjXe(*r&dp7#m7_3Y-u)`WCaC(YcGbzMtoJQesJzqCiJL zg7q_J8SLv~`}@Ce)2rZI{Ib(?`iff~)$>-F5^PbT-Q4tce{pzE%avnY7j}pi?B~7( zpM4XF*OW&YvHF#BmDtBA@?HPR)t#(3g@=I9#r2PD7A-3e2{^laShvXannHq%XQOSQ zEy;e4CkcQW{*Lb!eWdz)nlzEYQ@=76cs3@C<;W@euwH#h>QK3MaRh9KK(YK$T!EW%Q5;eK{LyCW1uB>WAq93MW<=&$*3zeqtjr~N zuLr4<@SyWd`UK_7pW55Oxf=owwM9?w=A$!jeG1zS=|>+{-e_6-Hz>3y>Unrn9h=6o0Ao|C^jIeB0CY zu#3O%Ke>DO3Y$W7%rq#diOzBH2|Dp&rOtu$sEu)NzuuKoRZqO+FaBX8b~5eZXAaC9 z<#1XhpWodtZoAVv$C}fPqe^X8LvGZ8tyGw>>%39hP817=$Y*No3OU6`q3#^O{UD?zygPGPNKNVR@jY%3QnjY{O&Zs zpkrb{;HP8gN!+yR!w__l@^J#oYnASiqqzBNf>wf7s&<)Vo$iieDf&>#c#$&Nwu$9*(~oDPM!U+`qpIcj zIMb>dv#M#W;h{Oz!U39RJcFAGD#7b(dyWiINt%wg)_Q$di}a?hkxa1-06G? zz^oweDYK`;v5@w?aNepW!$VJCms$%Vs{zCuKei7|09yB~vNl3jk^%zKpvR{ZjNtXQ zZS31AoS>nuz44R@{!g;)x40 z2McR!lzAAx^9=`O&~g1wEZ@YxAY&4*yvPt^X5B%nY-w$G=+}|&LHA5`5s`IglsN1!uInk({ zpMDej5g4ZVHl;es$@>V`Q1ep&Xx!aDfAazISu|WKkb2+W^J8%6!*O~tmQ&C!OFz!l zNqS4oHa(gk2axyY1>G@NW}W*vd4Gy1l$B=!!=q`>@^QJQ(|FBy)x&<_N8;98b)UNV zp`gd)Cw%>Id?AE*$JHpiWxZZ*T=@B*qxa_5v3#C<`>qJ?#Ot?veEm%wXIRuBU2{AD zmsc;7JWbi^wKJz7#Q%zk$cLI?WN2ycpL4fD2B^gki>>Rg(|Y}wtkO_WCAVmOr1xLA z4{wa7L_S}&pUCy{v@(w|aQE=^b0|G6Uw1H27loGlL~nC%Zl44;=_+TG3CQWIL4eYH za_!NP^UWJ*fMZzDzY+W(Jf_It_ni+`XPy7(h~J(MJMOg3aGqg7=!p$L$e#Y) zyXG_bmkdNQOMy7mB{&rPdZWzoEw#NticQgza^Wx&G z+aPuzP)l>~HRVusVM)@LmS#A8cMiyRr9k%I0=&?h8-6!8H{qMpUSUzr?t)C>haATC zH0R;H@vXB+w2vG+d=tVjz5IQV`|Fug;k|rUC)jY^88R(krKuny5b7#OVIm&t^kgK6aeX!%D_ESL)OcIo>(ms;(+ zCE)$>YiEc1Y4yVgc+XrH6kz)i)bSi>-143<)-xMs{Fcx%e}0`Etjp}H-=qH>0$RXU zFjPO}w+0_nWMt)xRhH!qO0`eS*R)?{vFqr+&!^phrX8~FLsU7k`+U4!9r0Kjf!KEV zLhP*$pdypV`n~4cavwL^U$E!|RSg za<7%{y!@w>6O*9FPS-%V{HL*Z{N6Vld~42#E=gZcj$8B3oStSc=M`q^Wk1jjQlm-U z-QN-EB5Iv%$9}L&ed-WR;;>}W>EwMK-P!VV_wL(8fY-WG4(*C}FBX}we}+oX9`~Ss z&>~vk^WEVhY$o3oT+!63Xc3f;zhwp=<2z0yDU+fqe}c`iVfD|P?Cr3_8b9OOZoc-*YFBUf zlz|7~*)`)N+D#|X>t?OUsHdwrgI!4w^~)K5w;P+-62M+>-wd-DfaS#pYNo*mY5`PG zw%F%I*5L-8nb2|5)A7kjK`g1jV;k&dN=qkl{R!t;+}Qti*Pe)IW4tpYYE*xK4-i5p z#>QQ)tDDYoOdbkvRxzVSZaRS1C;q{^+@yTx%R`N)q~U2N&mf! z{Ge?u9l2J`!gn@|MGSfb`%iyr&(}uTOMDWO4nK5YuR|FYeD*M5>(Sy@Po zV)FE`Ki_wg&;GPwL7D7AHe;weRO5j4@y+{Z7IkFLv@~ZJ0bS?JrjXb^V;)AwWvo+# z7kIT|dJ_6?Z?#g9eIGjRxe{kQNhe)U^#V@HL((dv!1 z5Otr`LU_xP>V3NAhnA(Z_7J7>WhF!#e!clva7-VoI%QSsx}d5C4;b(oS5$PGVxWHj znG!r`NJqZW-wPfY$?--PgV%UnY^fZ>dBo`^9bCyic^rxjqj=uDHeuqweFn>)a_lp5 zbN)8QGDr0^<*DCz*YK+Wl;!1y;9OmtM-HZL!1!m6FBas7x^!QJy8ivIjCGFue~to7 z726pc7-Wj}c=037v{!)KNVEg`~NzP z%TGhWd$Hpd1$62J+mRP@<@)E(KVZsC=cJpWrz!6#{$1mX(ib1`Uz7gN_v-X$m8AtF zDE({3U(6F3Q9+KxG=21&^}Ac(Li7|Om@^spd|%JS6Eg3paeOGrr}Us44gh+&8uZti zsquLmF4dsz-p9Hy?9=@-KEG@EaSqvJq*lXH0q##t-$Ja3{C`KWC`UBhuDos<;>WD3 z(y}Av-T1!DSSe2y)^^f^F;Bh*o=c>Z_uvc zll6(Q-j~^kPjKrlZ{^!O{rYLTCs$pgzl~bqB2;Nga4QLp@68Byq?rxH1_S`-8vt%q zRI<7YUdT+hB!m75o;+TAJwt0|>zmbi)4pzi->U2O@-sR_DS1;LOJfF5&2s!&i6=*f> zNP54MKxd>x);{Tj-Zt<1N9`usJ+F*48yD!xW5lcW%w~)euy9Y2X>uCmQ9|+ci$q60 zARXYG80S#>`OhwM%>3nQ{o5~Hqf)5uqdlwykwpZU%W@GtG6bfpH50DD;ZnjY?rHe6eKEC}j}W6K!qtsf2WRc&5(m@xbkoQEQ*;OB!?ph*rPu2jn;Q_ZgGG zMlH~9zNSVpTSrSkPHT&v*mz3v(IH7tuia@Dg|Sbd^xS? z@sZYcCo-c)XYwVNT;7kyP`wXp36PgH4LFJ%7eQ;tt+R#7^BNdW31mF&pxFEAy zv?_h*F7;YzKE9`nUxLax=U*$J>deE{qGs@+! z47stLiGe_S*q59E6CU+r@KJ9sL@`;tq7SeGV3&eGmVc)~Q}KC5oEwwY6oOuC>$@_L zQpzM<5RAmrOZD5mWxa|eiZyj~Z2oX;Voa4el`(^UIXoQgBODw9X6Bc9+wb~=4vL5T z&1O2xn$prY7qNVKTxIaHE>hz2+ytSv>a6LU_Svq0^sD;Wd|7k*CIsch`w94~kE%Ra zP_>9;Bq(Ygzb`~A4m_)w#>|YIK3D+n#l@*j0~7p%XEr}7aNFcjl8fIyqlvZn$pf9a zjB%ZDMErN0@8SZalwKt#0|!X5!5f#cSHRr~HE~>AO_e9sSU3J*4n8;m4?6QzzGRkS zBvP`Po^q`o*+?xRc>RD1f^4KE;CHB9oI)fbQs#+-`t_IHW(%8yd@*jZIxx#k#apib zu|Mu)y){McKWPDyoqm5jh}{K^%)i+#53a&zHLlW$zR1M}pEi4VgD5+L-#x-_?ZMg} zpx%R7dlrQMNS6wS)9Xy}3_`gzF84JGQ;x|}({|VgA=EXRmerbDJrzvuMlYb7wPH^$ z!h_-(T7jNBsK6pyZ;lf>kvfp&7X192VT;3d(=tyS#qOh10L#1h zIN((SzR|tb)E4Ts5+pY3N?cGm#M6H!Y`DH3^V)#l`-1VFf#G&gBjf5Tc6pjSV|)9# z4Us(YV0qXFYrThcllv?rBEP6l{sm?oi^T#0OgYLgv`{gjK+yDbpZ`b<+W%Y75qByp zk3b}}2aR+d+=eZgg`8ZkNAu%m_&-UN92l-p)E=G^P3E%!p_5`mX7MawhZR;?cp&)U zkYfJ#NyRq0A)(SdrzXDS43!eoz6DdNe8??P5zqJlAZ|UK_JX{W!U#U`yr440g)Ecs z`a5?U)K+!sNSc*?Q|A|w1*{`-NNg8t6t3u$NO$V`o^_&u(eB*e>YlEAq?Rbzr zWy%y%Up{)3#;os#tvbxo0UV>YK!B|;p71hvCWR_a4z{-3y=m5%8<$4?_bvmmDb8!aUjpiBL~b*;sHtc zW{O%9Dz1n2@k($`_@jjQh@IAmJQVx-(rm9^aHgK|@*;^I?VbJFN`QE&%FN}3M7Ix^ zTTwp{h5@$KcdxZ>FXOX+CRqY;p`-gzZ{{%`8nhJ#%!bB(LB>nyCIn7|<@;%tQC-m&er@h4$UY?UQ&meqs}@#I*dAe57g56q+@*1mc>MFT z0n<`}y#;l~LuDM*d9p7AmYV`=fSo1e=1%c$clZ5?MKWLwE=o?0aa@v0il99ZNFTProHfn?;A_fkCOi`s$Xn)A{O!S5mFMp5D&E`GZ=>9}D{zhb0`|#H;eBht=CPjvf zfT-~>c!q#kx1=-P{T}1(?$O^ScYEWi>!%NZbDm{EK8e z0xUNaI#euN)&Knsw-C!04#+MQu1U+W;7?%R$ofU%1GlmmIeQc%A-X@fkih|UjYX`u z3mNtMHwQ1^uQ74{gCJKh4)H+WVA8DbZ&TjDW#N9qhYGeleH5Vs@{XlkZ1A8lK|0Ii z#oFUxXIxFC{qG}@&22pm?5W9DMH2E5ro|2`jD88Ap1Os3wIAB%8Zgr-0N`WI!-eK6 z1c_AuyTbo2;BNoKH~p(aws}F<)oTM)SI5tVj5j{vqk_tu#Y{}jR|`ZzPu)1y%DAd; zVi{2*wlb)qh!(%XKO>J2@PGYAJCj3wc1URWmX&TPK4^^Zqy>XL&K7JNNn$n9Q3DRH zj?AZBxDJ>=PK^y#FZN`id3lg}K@vq1FdwR|5Fx!C5;{>hjr&c%$IFOhlFI&bB{Tc| zwpgh;+q-~aiLbx;4O;^4F|H!qXig7K0;-sqRKGnTTn<7F2URPdocIZn z8BV+h>F3C;GEr&J^Y@)$NPuSW)5Be<$X-u3?CeWtP}^A>S6r*-QBth*Cmto>Ke@JM zTysAi{}vTwlEeIbWs9Wx_iuwP2Kb_Y6s%R95j|8NEA!g6^ZFyk+(k~Zgm@Zj^!rJnc)q9KGCyKb zJnK*qo;Dnuw)aNaww3&@xkQB&7*Kbj@9*X={PWm7#m*!A&lcZl@L-Plo$TJVVJV{m znhRhO4qm@(nK;_sKCgdmpgi=D&yBU0<2I29gTabzqY4>+w@li5iD_^t z;W05S^1gbPKmKpBq#W6we_s0Op~nURUT$SG1=Dse*N@lS%XVinPX60+bxfkbMq#8t zJ~SGbspiRts@DM%i*H8hBQOZ`@ypu|7=EoK?CFs|FPs@k8TT}sJxBoI<~cZeU?8Hf z{NDZ!V1-Ri>vDD4lgKct`}~6VyDA)ED(FPF|K#m{?XbYQC@;OqV^aE*0rS5MWmCuA z8^z~?{6agDiWK`B_UBNYRacBpy}dwuwHb*f*fDua%KK&bR@h|4{q*w+50BJrV}s3P zqnQY6~NGb0< zjsPHHTJIh3GxAj^iP_2KdtNU6XON*lhpnh=&V-&SK^?u2=kRv6l69F^p(c9&9?;2F z+|~mW*BLE#fJ4Td+?rx$@&+|qoGQt0Bd*Ym#&1BoBJUF!|tbwW1!mzx0TxYW#f zt_v>VXz@hk9JQsi?w8%P0W;@}y*f)Oe^c2z==_F&K-cD`*#SScZPt1FK4@EFyq z{9S5%ot&VqrATcPP93*j_w~n+%jO=eCJk@nL0Ka048(OhXs4w91o_M-$(e}1bK zr~DA_0@6a7GR245aEhc#v#GrNK?8k#4dv5Fss!Mm*{r=i%kG2Lv>w1G`RUW|7Uhi6 zOkY*yJQF(}RO3tLHI#>111CC6gb9B5v9Q!0k%k6Wchlew*G#%~24LHI^}M=%mX_WD z(bD3kw$OsAK>$Qm3Ka3Gtc8eoyXi2`jpTXb(NR7}!@4)#%1~UW8Y4k;dF99)&~c^w z4LX$16GFcUkrON*{Y961JL^H;qsses z?P0;9-n$?F)${G2s%d=WUY_aDx6?d;+QXw178dqnqn}+`NkjDV$fi z5w_j*V`5>MWm%`4&H?62eKQmKzwa{{yY%;s$BWRDQZe+XR<^_;0P3N6t5WMscXa(5 ze+?oRQ~w;dMyGdQ^#Mr|u#HR%-LQm!t^K2lXkwZ)DaaTl(O~?}&XMgs*8PEsT#04PwC>U7^Uojetfk{Fu4wQ>=MA0Voxr32 z+j_EB37ee!W%^m+BQGW*HBu#R+y6_T&X)f^LcYDtawVLfoLYRFEw2VCq}|Lze6b)P zh;Dh?`4KRPAz!gRVN3`E>Fmv)*G*Gr0XbAd5_jf_CX3&rLtzsZ#hv*d){Knuj{Jg_(W*@#6>0ArBW94LoM= zXFi5nW3NGSVA-B@$faAQR_7qRE>q6j`8XZ#I=C=*Tk~DQ50NOgkgQESLB=TJ>oY(ORlTa>p z&0%3BvlG9>!a<|c_W5Z1@-{r?E_@HP>DuIGgP1JzRTO|H%dZ#uB^R{6&KeQ1kwJR zGGh9dA~ag~82rEkj7Lcl{R1WRm%(d5?uoTn;jr{I`*2G|6;r54s-nfDM-WIvqoR&X z4ITMw&apf&;lMX`T~Wxm8YGwGPK-$hDl}R282Stc-Hz7jWRTwE#C5gQXt1RNCsoge z$P=H8sGd|pqmU9?hy$ruT%AX5lEXV0UFs>1T)+lC@jH6o49uV+l8~6_vT(iCq;R49 z9XOVQ>!4eEaS&LQw#h-(-9Zl^Rg2oug|>JDE;@Ynuf;VWfRdIG|J^ieA+2ACtsSB; zbNVq@Q@)4iXyl2%Lj@NK4ARo}CBY0=slc`wP#f_2^7fY1ga%2xCg1u{Fpx~+n*%ue zNHklICd7ZTXw@DMR9SIt&VDD5$A8iWvus#Is&6|@cWh7Xe46lD0DA&)vTdl^HCGj* z5^zUTBXT{uU!N4}yr84-$;-dy{rn2b+PExB%>kl{lXCBi&G0k-{G@#kk&rQ~p+YLE zk?UEz9yn!EVsTXQ;d-KjqjBSy(&1!oZnE6GJ)8E4wSapL%~bs-MGvL_I(G2VNU*e5 zqo0$${^N)@%;cna6Pm=7+AcJ%#@8K;N4)6i+RF~#T`VP{39nk zIeNSxt3g0W2wmj(v72UabC4(E?{n=)Pe7pi$NjB*4{f*0>R<6cg85$cJ%j0ir-)Ba za|W4C-!t^|d*W&K^k45SIarfoWz~!(h9Z;HjK135_P^iD*0bTc*$lY0@~P!1X;L+< znWafh+Uyp$-r>F|s7A0ZPU-#hNpGuVwvZ18=Fqzl4hEw{QFoJ5M<&C-pzV&ELkn92 zVE!NR0`h+#gtOsWpMO>V`noTR$z3-NVD(Q5Ij|a)SugYZ_`);k{c+FG)!i5c-dZyv ze*bQRaer`acYl{$Ch6v%Ow4|*dg{Ra$JKG`BJjm0g$m#8B!4p^RG2?2ia=Bm9scwJ zXKRPyqrv*MsBdsKoUgB?VTEjUr-^dO0q5kYDz3eqP1c2y#sqET1I=kFY?1-xfwAYn z9dw@8(fXu^lkY1Wv5P5ALW|H_V=O`P5Zu8_yI&?K#*k@eqYzv}pKfHZHh)(Ioer_j z{_qqi{o+OQMjK2ubVH~Sy4ZNYl3uauMQKL1ofndHD@H<@UXjvvY{g!5bZ-+SakAFF zIye2l$>*E@5BWTs{5csZ*sC-tZQtb{9bY1E7XGe7C9BlvDZjAt??OjzT^(oK#8?77 znj`LpH$@cg@2oUBj_r)=Oaef9)?fupVvsQ)MKP;6&nadCM0+IoK%y;QiewE9e&E0w z8tO>%tqgdi^Mv{OfpRxs6~K>Htc7Rbe_iqgKbj~jj4%vy7datMJ(4O4H96$22LaH` zc78!>_BX?+m2usnR7JGZF&6f{T|@J=47Dwtli$E3$-!R8C}HV(-<E!tnnb7@)lc(JC1wyFzW5AEGc0_I+7!8}2T%1qpwESAuT>>dXTU3+zzGc)EwWcq4Ge@DrPntUr@Z&&>|b8jS8A-}Hk-7BkUlFaYM;- zpgNlDyyL{;kDy2CuuTD6Qizllo1`g6x+ET0`#^z6#NOTu9L%q$3l^Lnx!v8}e|(st zKKkL3vO~~AD@m#Fqc@S^Vb)^+Y2<-YQ{*;D^`lKC$!o2`r5&E1mF4ek37zarXed+X z%6^t!?3Cl{@&PDnTMgSsM!5u8+RBrF?b;wE);m=&{1n`{pTD~NC-&LABCCy4+r>X; z>KaWL=bD@~F-HpifvSrK6KUgzOzoy^AZU@ij}*z=u_zGs_^ws1@Ana%$dhM@6Vn2guD(C$yPlamZ1Gj z#x9{q_=%vRfM7%#s5IzI_F}n_n1sT5DO^mkho=hRrigoDgW<%FQq23rPmTzMR7D{4 zhZ%>{oqJT{xOel|Kew;WeJ_Jv|2kPNf?f>CK%cG1hoG|DFl!?3>6(q1N#Rco)>zj@ zzD&rYg}Q7Ox1!6ft#ZZc{yw7w2z_sQ@u^4)nwLs6-CSGNfdFD|ItE^N-p(Bbs;XQnv$b$&FFK- zA=_s>;|5mXvY`RtZM!kIlCjZCMUJDL&XN6WNAi>U&(%emP9!a80h4*1?qwY*dx!4Q z@_cv#ts(FT=HUuO(BD~YFiO|)^E)$2m#C91Fr;@R0tN04eNz8wyT5{nVP+0l6OUQS z4w%oz;eI&L(GddG5wphCM|L?Np<@d~7}?n+)(5#dUDk3*1iX9-nRT3)(1Mgv&a825 zJb~#-{s_fZP_HzmpJ>c7W5^n?iM7&RiU%LH{KyL@4lp1Xu|n^s3FJv{JfwkBQX7Jx z|IP{{wL-hTx^&s@C)C-eA&5?tFX7jn;dWXRR%0c|bVmfm$^sE*i)AdhhCL4F-C&Il za5;hVM*hzG%7HFDXsMWd7VdZ=c6nWL#yAvLs_$D@6?4rQyVF@lHLW(uUlWjW`L7a#y zXY$pI#{dTMNM1P2s3iunD&&`3_AhE#%SVCVi_OX433Gm6K@Y?=m6>nczXu`zxYwFq z?6X{w6fRQgYALOjUD$ui3*HqW+x+&?HPxTS4bV+ZO!A9mA|oFE)dZvij9z;?noMPj za%PKLf9Tn#V3GFrA90er>5?x$hL}KTBOUI0&uNeLKPX?Lp}uhcwGeBe3cLKNz@+dZ%Lnw!_*FNYIm-vNq;eJdVNfsF zhQ$0xe?s7PCyMl~TBTz!g7YiQ`W^ANj7X)GpeR6C;c22))eu2+%nr=|Z=N6AP53R0 zv(T@heEJ2Gv588c_l+smy~C^cHV`_WUmek6A~LkpTw687;G;t@ki+ipnIPzv4D^f( zyal+B_$ho-ClwqaKR;qp%G$pl3yI2h@B7R-X_;%{<%+JWO`ZioAK{}%4AGf2v!Ql- zSM(j{QJ{yHGh54R!}zob?8%5<1`@e$p)shs=Ew_uv59W~0ZTo4G0`}Z*&#Mz zOatWC_I62gmJK~_t5J0ZX=?7|0;!eWh#ur2RJrohEa-rP$x5In#v>*3j$twJWmKYC z%Oq?_S<$qa?LadMR83tXH2(a4PZ6&Il2!S!(AoFfsv(~+tES#waT) zUlc<+d#&I#ot!yMwiWj2nA_y^;&k_y8n(1AMhZs46Y23n*l=1iKU@#BgGbT}Pr!1V z$+0uYqC=yk2o&PTqY{Z$>Rm=%$h%x-xC!Kx`$4sOy+)wCV7BbWooE#63?Em|xIvRS z3CjLtW-sC(<>ai8r)oXxM9}lSo^wR>K2C}pEYL6s6qbmIiz}4Jv*wCqmZE!UuIDWt zOgjoZWQeT9KlM@#JeD~x15(<0;EfqIBDeKe`L}ii^b)+9ZQzo@*;}q1+~=Olkw}$3 z30vxdJG#82-Eukar^&QWs|G~rAYi;GWDyc3kGt+dwl|jf-y9BBWZa(ho~Ng_zet$c z@ZJ*dqJ7$TQr-l4`pACsnAmtw)91iF%e;B)Ew2I>#k)d7dL2ew1=`cXE4@;nw|Bto zEoTkY!e52~kya=bH?K5Xdeyg1F~!WeC3#TVlbaVs!t`FWalfFPx#kdL#h}XrJmd0z z6;RD1k(wnwfYNZ5!V}=!b%yl0%HU!a+uNzH9k_;=UtXyU=*iUu3 z`W|lmeY!tJbqg{3I?2)|Yxf=Zm*#s>!0n6NFrb%xf|&J-MiL85ZKU1FHXMNaD-Q3n8^DW@H`pQnpCj%9(Oc;PcE z!9harq&~KI=d8Rm#P~vtQb3zXOk7~8rwBn$amem|3M3m8*VZcjP0;8Gk!IO(1&W3m z&B7gi@4RrbFz@iMl2<86Q}wJ&iL$55CLhf-`n@a3=)%(?>e#nc-tsRG{kiIG zg|64^or;SdF2c2cP-LYYgY$Dd2!?U|gB60=UpfQ@y*-<7$J9yLV=M{Ou1NeL&K+JJ&*ayK>6 z4$G+2sKW6DieYE|9d`Z%5((-M(dS)u%D_rdW1Olz6y$PV)O#oQ?fYZ*_5Cq>5R;{x`E?gu zGzn>mHx0F*z5x>?nkQp#nf#g>K;=KDm*l~1kjQ4gK#>xrDC5lC<93=JI4pScUP`v# z)AEmCRv|7N{OP9K#Ad*W4^GPHitjMpPr{&6M6k@1{rtJ2D45!FC9JNNG;$@3f`Wow z35YCA^z`)1#CFilgMDBnTkYg>Jy(rs;)x(y%xE-FGbUBBV4WSucIne0zDd6JoQYuZPv(v{MIXam}3 z%-`kfcY@2GqDhfbf7I1zu%-g8Lb|bkqRI1qkZaG+lJZLZOCpt+`0ZvkgSju8eK>)* z+cDg@iSKD%#&e63bIzbT55G(&*xB?Td98oyWfD z{XIUQc3Qr;ygUn)r7Dvk3d_hEFomERyZ)*89VX7n)lCrx`~kqsH(XJMkcw$)At+KZ z!J3}yq3z-Lbo)XK*T~3-Rw>!Sdb|fi@(&)GXKZYw-gGsJw2U;aT3L>zrW;upHE06^ zHz#!|c^_sotz6%>%V+btI`XogC(cXX; zN7w7|My%$4eEYYF;(?6>%*6YHk3>RbpZJTw7IWl5azECv(z<_e&RD}FUbJAVZds1R z(=Y@40)}P0Se`@I<@57DGvY0gkie=oALGKB}fs0ne8wC#l=<9==}RAW}lmrslzNlz)CUwk4ctT+vQUz>XT zFdZ*-9YY)<9;|4kU@6@gu?!53@8Z{=v@NBjokij;g_Rdw%HzjM0>Jzg-Eu^MInn%^ zMzeS0>;**^Oqi{61HqDtIKD{6VO1j%sj`p*7*SR=XSys81Z<&QeK9eKbRkA@z{0|Z z`K4^;GN!Y9-)Wf$dbkd1*aixIJ-f<_h|x<0pGQ}9{{s9L*w z74?~OG$W%>fLk->%aiN;Lpw?tsEcqjVG$phQORY@x^*u)L2ZA;yX*H+Sd5?1+QVJd zlWf3M;OgRvOH_2Cs|&7)-GCn6K0gC@rc9~#ETHjtp<9=CR9AGebuE`}L1C@&=wQub(esu%{RgS%w&} zH8{@Di~0@IX^3769k;5uE9Wa~7?CT*#fQ39I_6Q!fq~yP z@3)6%s}2CS7;fpq!>Shu6a)nYZ~CL~ZCWNCn%xc#Pu`uOF(fFLRYVV}S!R0wg6p{y zZaiL7dT(J-@@v9n%7XI>5d5l`TWZ`C-!ar|bL35O7q#ckzRMeis)%^#8vQqUw9EjW z+!Sx9)@^S#U-a?8OyLAQS0LaUT}0cSnDHZS(&9D@jR7C&7Vm zK1T>Qm^Z!+!vZ=2mL2wRPMY^Ww-%IrLofs#+oErv_Xv#BjeaELE;n-WbG%)1F=nvu z*x&rY2HwFKY2w@uh!C;zl!SgfG`i4+KN}{95;Fv4~M^t==7-s*9cwyhxxxz`T(s@gdO1NkXQZnC9`4I8J%E!b zlBZP(6h=o!sjjOv_5J%;AA6>)p{+2;34NgT=CSWB@=Mk*oJVl4`K{958@zy2l3wz` zwr5&DUiKL);1cA`M%Jj*we#}Z ztlRIOo_$!Dffl=`FZ5yJ{Ry~7jaf@zDTnNGTXKj9$~9KTQ(|7k1>B!|T0XFzwZNr0Of}H z>Jt6N@xyw^1vW=Uq!+3XH6qN)bd;$g zRYXxfeIR&Qz_$2*&dZ+pD6zo;1hG2cb9g3uen7d32>pSZ%d8SvaJ%TX=X>#&>G4d4 zu;;zmTo~1jWDfmDUR$!i%`6xyFOz5qAE1bm6Ei7xD&-q8sHEE*O@hJM@?%%qG;x^2 zJVxiKU*#e`7yRu7O$#&K4!DV``Cub!M78=cg6)~p9o zvIO(A{qH)*kE9M>+f8A@k{eEgAD665jZV_dZEqJT7j9WQ7WhrEj{P2WE((7O7A=Y{ z(~M#%MysbMB{!YMZ}!k1GOD5_!%XykydBo&sabI+jDPcMdvaws*`4cCWVdxuDd@qj z52uRBO~YzyBkf9z4=E;h>jF~dJZKEb}SOa6eD1JN?2b> zBuNx!wRwaWQ%Wh8NernBrA!{m-9f;eOmu9V8{O#GLUcJ}A3U0N5W@uX&GPk7)~m!G zO0Pd1O0iw?lc(EeCFL}w%X-S-Q{ z-N^lfnrIq1loVDSYM&P}WaCrPZi2(&VL2O%i11kAvfO`i9Q zoZ_lu#T_84sO-;T2&fa)d$&)I0;UY&p~m7Gas^lyD!e4rYKqds$fKxa(#!+D6h!2dKbA_K9^x+>nugBLGepaJLx#Cs_9 z_r-<40t}RaY)(%nx=pofhdU3USx=iCTJ@)Sr;W??WQJ;s*M+`lrg}z{>dKx6n2^S>m)7r7l<3@NoGPA2qb|uOFLW^`mih}W`{AQyPoyFpLo-J zhaEqP^JYBDG@YJXPxliqE-Zl~*DF(l4ShL`io4cPs_y%C$?_w;T1*r$DzB2W%O5L_ zUxe>cA51pSBhjl{k)B=aKj+9jPv(tDd-*c8p#MNQK#rQ|{hwF&Owohz8CABZsUB&9 zFtK*{LB}UJ;+rgisD4c(7y>0Q$31c|yfzrLbgKy3n^DB<{#p@1IW|1*9$4(;#Mc?~ zsG+pkBoE;wM>PO()`|g#)=Cbo-nbo&Q%FdGEhQI-RS+9lR(=7Z7C;Y_DZH~-hxc~; zhj5$&7<|9->nou=-9w_6)R+?MH8o?Ol_VrW4v^cSFXEztID7}AY6|s<{#}|e{e;6? zJYtZ8xlG~a{gZJLb|Ow%EO3QSjsqv3*#u8Wk|%q z!$o!e<>VjY2t9f7M03PQnN~&p8GaZo63Jv)RS|`n?D{HlmbIU;Ag_qohg$X44@`M$ zH2Jp)dfUM$WXl|=!N8jZ8VR34(^(M@P_b25iC&%7Bdp~LNs{xn>$$`z!;)F?5hcu- zTgaz=rke&o4JD22;-u9=d8w zO0UkeTkb(YV5wA77487e`BLUB$>7TFsCe3ctpcS?e!Q2uF(2Oig8#68-s=H)5voC+ zf^keLX5ybY-x#s$?&n)o0a<>&M;EX3c4E<0mtewj%;#^;OEi4%>sr@70}g^N ziMjwOJEpJf-=QI8vRmr_9wW>|o#%cX9C<2?H^tLkCfzLx50}nuN-8$W|C)qZjz~WX zt}UP^aB$Gbc9W;`?G=mbRmDYo6zH*{#sA6iCnXdK30FuW~ zP_cspD5C03jFScl9WoAGNu-kdiK4VKWzNrb>&G5xXlbwsA#i>pr|{(nIL9TYJXn{k zzH6_pWs>`jfOQQdOBJga8yg2!EcsT^qE}gtSUNeeH=2y{xzU$^t_$l?a`&{>cZkP$ zLAEvNhf2=xzT{X3WZ}<8UKNs3G#`F(qaAVigu;?l$iWwuV>6+c(ev-$y$5rwb&3jL z^FwKyVeLQ`VmX`{gX4R!Zc%WX+!%EPn(#t6%sE<<#1 z|0=qI8Y~sQzdjp~YtWXAx9G`js2Z?X8T&$y6LRHFs;H{n;6l@0q5&Az1rqL=YO_ZY zot=O_MF`0L&X$jS=kES7HulNbpFb~^1h;5ie#00dUVI3iNgs^3CxJp<4_d_Ii=XHw z&mbF3`xW_bVJvWVkbJ0X&|wV3O0=l2=u`C#r$2b(+sa<~Jee&?Xu6x3NOc08kAFfy zE-e9tC`w8$pJ2^3O)WccLjaRXg*KwcoIn)Qx}>x-TGMJvJDLM$%h3t68(Bv{#mrr! z8xIZK$y~@lnE*>d(|!hANWjf*aRu$W4PI{CX9_O3-d(CKU)Qg> zT0Gztlw-=E`!m%eQK|_xk|hv>n!Y!*$RG*37}InE@ux=yU!~2lCD@zT{e{48OpJAj zoSVT5i|Ov;+W}}U=j$=#i{AD#p&QCKS{h_ay+=ZzT`^<=O^EFV*T-8`>qt^=9{NPa zgir|Dhzm2CJ{!0pGtX{IwB0EMa^M^a#qHm0YYo{uSm>G|_Ftib9@0@I_*ky@w>i!3 zTc}tjG%6Hvxh&Y3$Y9ngzkNgUX#a{5=5FmBPf(VRZd|vFmJD_hJymyju8(*LzVGeE z*a90+E7~!Q-|55DY=}N14rspwY)5g4Y(nVnHLV$EErlD766Bi=>1jW0+L$Wa>*JwF z5BjTRV1|dd_KFQb0{g=f)?5{s9PlZgY1nYROrQgVO7u&kSWvJnVP0xpOO8}#PomD~ zUk;}_t%O>do4*snD^#bBUXdhNP8zJQ9Ui8*8l})D{d1Fz2P=0#Bn@gDn{HkUPT$y!y3Ru?V2V59 z;_TbnNP0&7e$2uu6K3iD`O2I?aoib5qkG9D0K{^3E4Qwv@#?;MeDrRG{l|a>oQ7tm zn;M`$isPf_+#VFHi<=nrR%>!C4Zg433Y9A&&%gm_LBwsm&Zib_x$_ZuHzI8Rs_ndq zfKiH5l?nzei6jmKc0DOZJ#dGFYl|x>sAfqJ*(3JI;i;m--qZw?#&UU}D>3Plo%!nPdf83eG(!Y8fy?(s&f`m$o z?d>~*quQ8V0Rgc$v&Yc>4b=~nCh6uW>>E}9z$sw-cT$YqTuv^xh&ZG}*^@?BT)^3H zJr54k8W?X?Zkdje8E(Kx$%LKNda+WsKSVOx}Aeq@Ys};0!SsPo15G^}|&NKNP4(LVg4X zDwELrL%`$E5du=*#*ze%?r~uhMTd zCT`&wj`TDjK-yk$8333Mbmeh-c@U~PEGIh`9n^qY|J8|}gzdJ<-R!0FfmJAo{#cUBByQ0h@4vzs;S+GtO$oCA!oqe;`C4;4^tN=U>LNl(PKfivqf#Z3tP~6A&3gh92 z^)>!FNhb1n^hio=TBpwJ(e#2BO*(6plWDNz>TWZ^%-pzy{&d9ihY1i3_JaBowRApv zW4nM>Z51PSn7ZxHXNnS!CFogvY$q-x6ksUw`D%27SiX1LrTO<8^Gietw1?X)72o%Mk=OnkN)A3c731Q9QVR zj&M2Yb6$Y zLBNjb3i5^hc(~xeWY5X+8fwXGRNKt7#Fg9d^dLe_KCTH&bR$y1_bH;>qAe*2ibd@GS3Jska_Zx2~^!c#I0p(&Tl^I}?Po<}u#r;X4sk`;ZyG(Mf&Q1jaSSfa@Xn^?{)L+XpQ+Pz!Q1gP{$k8Q!QXsz}nTvZ$`aGa6=c8s$;s(km*+L+& z$+KCx5P=t{vZj=pmB`aFzIq}Wu!=u7H>aYJ)Ns7Um2rC@S08yvQ#CV)}F zz3rpV*>o|~cce4--@;iljhcw+^resdNayA*7Lv5&RPZsE&PxMIL%Q>xws{zYfx+in zjmW;cv$`%IP-O{<+fDJfYkH}tUFA$w*K$J8UZA-1!+}+2JvUBR`Z`>sYYUJ(%7GJe zH9UpmfI1mk>DI@(@#%ahG?KgOjVBeDhk}Af36m64_q|H9at>V<88j`oppqwu%sJ5Y zUix>A5=Ep%UrRow{1~4h&qr*H<8%ZTF z>se}azf9Qzmo!Fw5WBuhw@FjkWydouS*j#sU*L!8*q~1$0Z~stuZ?k-uXtYdmJyP& zHt@w-*CG}t1W=CtzGO=tl?=l1Zwgc>9iae+-MG#}B1=~uL87{4^VPZ#har6B-pA_^ z{DP?d=-Qd#=Uq>4EdL0W>$PTP)H&pyoV@+7$YEcCx(AxVnVzpNLOPw_@p~vljxJ1D zAc&#@oXT`qz^)0^K(+7HlVl4MYf?{kU3DxPSps5%0O6l*8$clou4t#3HY`xb0K?(@ zy`Vbdch>My=@?i6ZD1m2J_nA`c|A$ozXs)TwM`L721}r-*B6wS&M(5_^<(YXWI8y0 z=-2(`rO#OVkYZ>mlu~Mso9m_V&K`scBu}5DjGP%_js;XIcHBrVVUZos=1aoC$+}1%ZX| zay?sEj&Tt)fboSKNI~^0)d|uldQ#`p)I5eYiVjtMI|K1rnRrVgv?p-4Z&UV<==(um z_2b`{1Q28GrerrI5fUKY%Q5yQFRrm;V$&H=RNt--p`;{4d#mA+Yd$KYSw^kL%9Sv3 zT={+vb(vy)q<7Tg^QI6jjQT%uz;CfXdzw<19D-z|rSs0t-c{a*+amftYWvRF3~g_I zTNS`jRsgE>hCaOM#Ti*Y!59p{Y#4f1iFa-|GA z{xo?aX8GWd34UJAieea?J57QI_YvOf#Q1ey-pU7(j_#j{dwWI|5>}(MY$EEH&+_Z$pyRBULc5lcnC7=fT&;Jc#&sU$_vTb`;RV#yvtI<}%WZ+CO3_@cr-N(qeWT5PnbZ3kqBR$BXby-=&(?eU;tbXFqN=vL9oZR2u)2+VBMiX^ui72 zf3tHav4~Ie6~8Wba|XC-9kjHP)IK}3{9oK$r9LJZ%+&PGx24$_6-*N-V!n6Z|0z`O z!%Oh3l$q0@_tekuax^^Ef6*J|%lT$5h}nhc@rF&6`VFT!cqNA}Mb{$L9zC3A+7YO2l_-YGm#))ag0)3ofEIws!yA`g0l0 z=A9>h2%tIa>@lQ@Pj<(7gsA$6qbBGQQwv~YwVc4ma&B)fGrWY6haUKNNA7z+3;2s4 ziS)hze=AAiWWxSGfkVaZ1Q?(oGa-Ot>);VnO`V$QTi#@>YHIoqrVbEnhdCw0?7GkT z;X@1MYDN!!=oco(grU5E=OfKX?K2he7y4?Shic~ zFg82W$F5nPr_QXJA`7gY90@V`J-!Z}Ri*fz20iL}^h+e8JoX7F40;-)Xe6^(Se6X* z4-d<%ez@(}ENVMf{m1yF&5i{@f?I-6HOmZ#m-bUey{(5yO`6!?wApr~@SIQVNwTyA z`o4P&JA;;6e2QC9q8CA%nY>ZJ<2~7(S&EA&mrYKon+NyR5iPkwfpQib;L0$AQ93#5 z&ntUBrqRC!`e-lbPo)8OZb!iCc=}|^y{7t89qaFMmNgFplpPZ2xBSZZe_$E)`(JH3 zR)>s9u61$Wb%D<~mT+8nGW$loS={x^o=k@356Z^jv z+ja*O+Dxi7Vo`Nfhb&-;CFI#^>ZlUh_x=r)in31U16Ef*${QnhLG!+L+7LlQamNu> z!c|bx;k9%<<9~k(^2>s9t*4^p8=Utah*KFb(hgnJb)^3v6qsfw%M?@LC!m@~IYXO8 z#92LezMZQf48;BUbLDdycifC!e$VSp)S9mSsC4YqMnFzMe_3vA?b2~`b^N1>4BnTS z+mgarX+n!8EE?JTAva=&A#%%xs)Y2^`%`t~e(IZHs=FP&w1_aOMw5fGBGnB^bU$`z;sjNu#hYk zVbd2QZ!WAv5ku!KDR{uP#t4|yDVG^4GGb&yo`swwD(4h4_ZKN6_?VX#L26m=e`;&E zP+JCHDOW|H2z+~aa2yh1dKXQyDn|#PD#OL*G)hb;Fu6Rl7^Dr%F#&DUN`sWi5#jJ% z0YJwoXTIOdz+OgFG*hF*e&r5t2ViIG1$BU5KOHFY$92nWPMyaz3kWiUT<*w7^!`;L zo1wycH|}}QJ&fgML|ni)r@zyhTs#MkLg(@h_pi2zQ#lE(-guO~`hAhHv9X{W#%8NA z>hx`7u`=yUr6+q~T^+@QchgxxhNPbax-RpF0>%YjWLY&o&krYiP{m?uVxyavPO{)K zGjp%5Ib7YIbYJjhK-qnBx7QT0B?uyn8`ExV9s{epg@%*U^Qw!`r?Q3PAV6e~ zx(UaXHF*N$N1Lg}jqF4_T3A^4q9n2$Nj5$kffR_|I3BWgvN}z(avejp54Y1>&dp$Q z3YtDSjR3`WuutvG-d_&${>nGs)KHHOM*Mqhtg;ke4fsAeIlpg5)K*ukqurXB2?3L& zeS_+chvI(?X#7#4fbL~cTuZ+$NYzUOFeS<`^od9k_nszlWR5tV|A*u-wnP5yr)U~%_Z4ut0$JM zJ)?b?pk4@CLYYhO2a_DBPzr`5xiL|WKnjdzxE*mh!g=chF}3Q}L-luLkl--&5@!Dl zfK~LOZf8M>zq_1pSfHNxW+lam$U&bKS9tGmu77bIKz89Rml|D@20?JFxQ0?+r<5V5 z;_dC;kDK`;+8=daZe%HADiB5iTR^wBPhW2FG!M$9fxes2G@Y{neWa9bMmmQ=qLa|Y zxB9iC!KIUs#>>kM9p^clo1^S-M#3oHQ!ui5FzZ_X^gNNe-mUZD(b$Uv^AWSN2nO;A zx4Op<zeDQj{%SllKm1^nNcYW`alW3Mgp*w+K`5L<(L^Or=1QDR|7^rWpOw3dAx#{+(~C zs(4|m5D#L_);iaGudP`ttQ@ZL!@nlLBUFamXVZgtZfU`%R91@4FkdY~jV;`O6%KHw zrIX<1l}4nbofU%{5&L>oiUIxYsg($glIXeqoUU&DiSp)(tHALA82o5$9=f4bzS`Py zZ2-7NAK4w>L#Z$zbr0GPxL54;8Cy$v%$-K7YGm|ty7zu*k)%@`B586lztA@~Lsk+c zoelXQNh?VGl#q>p!CpO*rJ7n5wn`{Yr*8Z5WrQZRETLzFbgl~HXRBTEy1@ZPOExix zB-P)Fg4FXPdUo&Qk)ij;9rJp8(^G~+6sJOK^=!jw(MrlC6@{gB=YQ$ACSkm2AL~}3mQqekB+Jk9NxT&kz1o~><^$T(H=&kx z^J*oylr_ybNF+|mploj4&%*G(_Q_MRPs-^T8aQ0PzM1M{P%Ei`x7^blEcFyZm%WSg zuH8eaCgnZ|U>3cf;wcKFjXm7o_f{at;h5;YqVQE_Qwz3D;6Qp41v(ojMM;@1S>?3e zH`!e!&CJeqINFM*y0++yR24)?(Wz0?x50}R7dDp^b7cA7`OwU22|V!>Yoh`A3*Vd- z4({#8-DHSl680qJ^3dvql=VZOPa`yW>I`i&o#+m2-7J@BNzcxPyikfbt1%{+M;}JZ z77HyG5w%@iG0GNe#w^a9H|XoH{@yGu`#wK&^ySiz0dj|MTEQasP8#XZCPzmBKQJjJ K$#QYy;Qs{{D04&r literal 0 HcmV?d00001 From f5c95282179b1aa7f0e7bbe2ba75b2ab924ef104 Mon Sep 17 00:00:00 2001 From: SplinterGP Date: Wed, 26 Aug 2020 17:51:57 -0300 Subject: [PATCH 02/19] snowbull wip --- .../subtypes/animal/space/animals_yw.dm | 68 ++++++++++++++++++- 1 file changed, 65 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm index 3c36273dfb..6f0d9f61b2 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm @@ -199,6 +199,15 @@ icon_state = "snowbull" icon_living = "snowbull" icon_dead = "snowbull-dead" + maxHealth = 150 + health = 150 + faction = "virgo3b" + pixel_x = -16 + special_attack_min_range = 2 + special_attack_max_range = 8 + special_attack_cooldown = 10 SECONDS + var/charging = 0 + var/charging_warning = 0.5 SECONDS minbodytemp = 0 maxbodytemp = 1000 min_oxy = 0 // Oxygen in moles, minimum, 0 is 'no minimum' @@ -209,9 +218,62 @@ max_co2 = 0 // CO2 max min_n2 = 0 // N2 min max_n2 = 0 // N2 max - unsuitable_atoms_damage = 2 // This damage is taken when atmos doesn't fit all the requirements above attack_sharp = 1 - special_attack_delay = 1 + melee_damage_lower = 30 // Because fuck anyone who hurts this sweet, innocent creature. + melee_damage_upper = 30 + + ai_holder_type = /datum/ai_holder/simple_mob/gaslamp + +/mob/living/simple_mob/animal/passive/thrumbo/do_special_attack(atom/A) + set waitfor = FALSE + set_AI_busy(TRUE) + var/chargeturf = get_turf(A) + if(!chargeturf) + return + var/dir = get_dir(src, chargeturf) + var/turf/T = get_ranged_target_turf(chargeturf, dir, 2) + if(!T) + return + charging = 1 + movement_shake_radius = 2 + movement_sound = 'sound/mecha/mechstep.ogg' + walk(src, 0) + set_dir(dir) + visible_message(span("danger","\The [src] charges at \the [A]!")) + icon_state = "snowbull-charge" + sleep(charging_warning) + walk_towards(src, T, 2) + sleep((get_dist(src, T) * 2)) + walk(src, 0) // cancel the movement + charging = 0 + icon_state = "snowbull" + movement_shake_radius = 0 + movement_sound = null + set_AI_busy(FALSE) + +/mob/living/simple_mob/animal/passive/thrumbo/Bump(var/mob/living/M) + if(charging) + if(istype(M)) + visible_message("[src] knocks over [M]!") + M.Stun(5) + M.Weaken(3) + M.throw_at_random(0, 1, 2) + runOver(M) + ..() + +/mob/living/simple_mob/animal/passive/thrumbo/proc/runOver(var/mob/living/M) + if(istype(M)) // At this point, MULEBot has somehow crossed over onto your tile with you still on it. CRRRNCH. + visible_message("[src] runs over [M]!") + playsound(src, 'sound/effects/splat.ogg', 50, 1) + var/damage = rand(5, 7) + M.apply_damage(2 * damage, BRUTE, BP_HEAD) + M.apply_damage(2 * damage, BRUTE, BP_TORSO) + M.apply_damage(0.5 * damage, BRUTE, BP_L_LEG) + M.apply_damage(0.5 * damage, BRUTE, BP_R_LEG) + M.apply_damage(0.5 * damage, BRUTE, BP_L_ARM) + M.apply_damage(0.5 * damage, BRUTE, BP_R_ARM) + blood_splatter(src, M, 1) + + -/mob/living/simple_mob/animal/passive/thrumbo/handle_special() From ee4a919b3d868567aedd836b7454632511a50f1a Mon Sep 17 00:00:00 2001 From: SplinterGP Date: Sun, 30 Aug 2020 16:34:01 -0300 Subject: [PATCH 03/19] more stuff --- .../subtypes/animal/space/animals_yw.dm | 52 ++++++++++++++---- sound/effects/mob_effects/snowbull_charge.ogg | Bin 0 -> 9897 bytes 2 files changed, 41 insertions(+), 11 deletions(-) create mode 100644 sound/effects/mob_effects/snowbull_charge.ogg diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm index 6f0d9f61b2..3eb0799afb 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm @@ -231,19 +231,49 @@ if(!chargeturf) return var/dir = get_dir(src, chargeturf) - var/turf/T = get_ranged_target_turf(chargeturf, dir, 2) + var/turf/T = get_ranged_target_turf(chargeturf, dir, isDiagonal(dir) ? 1 : 2) if(!T) return charging = 1 - movement_shake_radius = 2 - movement_sound = 'sound/mecha/mechstep.ogg' + movement_shake_radius = 3 + movement_sound = 'sound/effects/mob_effects/snowbull_charge.ogg' walk(src, 0) set_dir(dir) visible_message(span("danger","\The [src] charges at \the [A]!")) icon_state = "snowbull-charge" sleep(charging_warning) - walk_towards(src, T, 2) - sleep((get_dist(src, T) * 2)) + SelfMove() + for(var/distance = get_dist(src.loc, T), src.loc!=T && distance>0, distance--) + var/movedir = get_dir(src.loc, T) + var/moveturf = get_step(src.loc, movedir) + if(!SelfMove(moveturf, movedir, 2)) //If not manages to move try to break what is on way + for(var/obj/structure/window/W in moveturf) + if(W.dir == reverse_dir[dir]) // So that windows get smashed in the right order + W.hit(80) + else if(W.is_fulltile()) + W.hit(80) + break + for(var/obj/structure/obstacle in moveturf) + if(istype(obstacle, /obj/structure/table)) + var/obj/structure/table/table = obstacle + var/tableflipdir = pick(turn(dir, 45), turn(dir, -45), turn(dir, 90), turn(dir, -90)) + table.flip(tableflipdir) + if(istype(obstacle, /obj/structure/closet)) + var/obj/structure/closet/closet = obstacle + closet.break_open() + else + obstacle.attack_generic(src, 20, "rams") + if(!SelfMove(moveturf, movedir, 2)) + break + sleep(2 * world.tick_lag) + /*walk_towards(src, T, 2) + var/distance = get_dist(src.loc, T) + for(distance, distance>0, distance--) + playsound(src, 'sound/mecha/mechstep.ogg', 50, 0, 0) + for(var/mob/living/L in range(2, src)) + shake_camera(L, 1, 2) + sleep(2 * world.tick_lag)*/ + sleep((get_dist(src, T) * 2.2)) walk(src, 0) // cancel the movement charging = 0 icon_state = "snowbull" @@ -251,18 +281,19 @@ movement_sound = null set_AI_busy(FALSE) -/mob/living/simple_mob/animal/passive/thrumbo/Bump(var/mob/living/M) +/mob/living/simple_mob/animal/passive/thrumbo/Bump(mob/living/M) if(charging) if(istype(M)) - visible_message("[src] knocks over [M]!") + visible_message("[src] rams [M]!") M.Stun(5) M.Weaken(3) - M.throw_at_random(0, 1, 2) + var/throwdir = pick(turn(dir, 45), turn(dir, -45)) + M.throw_at(get_step(src.loc, throwdir), 1, 1, src) runOver(M) ..() /mob/living/simple_mob/animal/passive/thrumbo/proc/runOver(var/mob/living/M) - if(istype(M)) // At this point, MULEBot has somehow crossed over onto your tile with you still on it. CRRRNCH. + if(istype(M)) visible_message("[src] runs over [M]!") playsound(src, 'sound/effects/splat.ogg', 50, 1) var/damage = rand(5, 7) @@ -273,7 +304,6 @@ M.apply_damage(0.5 * damage, BRUTE, BP_L_ARM) M.apply_damage(0.5 * damage, BRUTE, BP_R_ARM) blood_splatter(src, M, 1) - - + diff --git a/sound/effects/mob_effects/snowbull_charge.ogg b/sound/effects/mob_effects/snowbull_charge.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e402b8bad46c94607b5f1f64f80e9bf74a48e814 GIT binary patch literal 9897 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 literal 0 HcmV?d00001 From e35e084bf3bd170917a0ccb3352e87db51ea9cd4 Mon Sep 17 00:00:00 2001 From: SplinterGP Date: Tue, 1 Sep 2020 00:52:00 -0300 Subject: [PATCH 04/19] snowbull behavior --- .../subtypes/animal/space/animals_yw.dm | 159 ++++++++++++------ 1 file changed, 111 insertions(+), 48 deletions(-) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm index 3eb0799afb..a571fe3c97 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm @@ -191,7 +191,7 @@ if(client) client.time_died_as_mouse = world.time -/mob/living/simple_mob/animal/passive/thrumbo +/mob/living/simple_mob/animal/passive/snowbull name = "Snowbull" desc = "Some white furred bull with a single curved horn." tt_desc = "legionis gayus" @@ -199,15 +199,15 @@ icon_state = "snowbull" icon_living = "snowbull" icon_dead = "snowbull-dead" - maxHealth = 150 - health = 150 - faction = "virgo3b" + maxHealth = 250 + health = 250 + faction = "snowbull" pixel_x = -16 special_attack_min_range = 2 special_attack_max_range = 8 special_attack_cooldown = 10 SECONDS var/charging = 0 - var/charging_warning = 0.5 SECONDS + var/charging_warning = 1 SECONDS minbodytemp = 0 maxbodytemp = 1000 min_oxy = 0 // Oxygen in moles, minimum, 0 is 'no minimum' @@ -222,77 +222,82 @@ melee_damage_lower = 30 // Because fuck anyone who hurts this sweet, innocent creature. melee_damage_upper = 30 - ai_holder_type = /datum/ai_holder/simple_mob/gaslamp + ai_holder_type = /datum/ai_holder/simple_mob/snowbull + say_list_type = /datum/say_list/snowbull -/mob/living/simple_mob/animal/passive/thrumbo/do_special_attack(atom/A) +/mob/living/simple_mob/animal/passive/snowbull/update_icon() + if(charging) + icon_state = snowbull-charge + ..() + + +/mob/living/simple_mob/animal/passive/snowbull/do_special_attack(atom/A) set waitfor = FALSE set_AI_busy(TRUE) + + charging = 1 + movement_shake_radius = 3 + movement_sound = 'sound/effects/mob_effects/snowbull_charge.ogg' + walk(src, 0) + set_dir(dir) + visible_message(span("danger","\The [src] prepares to charge at \the [A]!")) + update_icon() + sleep(charging_warning) var/chargeturf = get_turf(A) if(!chargeturf) return var/dir = get_dir(src, chargeturf) var/turf/T = get_ranged_target_turf(chargeturf, dir, isDiagonal(dir) ? 1 : 2) if(!T) + visible_message(span("danger", "\The [src] desists from charging at \the [A]")) return - charging = 1 - movement_shake_radius = 3 - movement_sound = 'sound/effects/mob_effects/snowbull_charge.ogg' - walk(src, 0) - set_dir(dir) - visible_message(span("danger","\The [src] charges at \the [A]!")) - icon_state = "snowbull-charge" - sleep(charging_warning) - SelfMove() + //SelfMove() for(var/distance = get_dist(src.loc, T), src.loc!=T && distance>0, distance--) var/movedir = get_dir(src.loc, T) var/moveturf = get_step(src.loc, movedir) - if(!SelfMove(moveturf, movedir, 2)) //If not manages to move try to break what is on way - for(var/obj/structure/window/W in moveturf) - if(W.dir == reverse_dir[dir]) // So that windows get smashed in the right order - W.hit(80) - else if(W.is_fulltile()) - W.hit(80) - break - for(var/obj/structure/obstacle in moveturf) - if(istype(obstacle, /obj/structure/table)) - var/obj/structure/table/table = obstacle - var/tableflipdir = pick(turn(dir, 45), turn(dir, -45), turn(dir, 90), turn(dir, -90)) - table.flip(tableflipdir) - if(istype(obstacle, /obj/structure/closet)) - var/obj/structure/closet/closet = obstacle - closet.break_open() - else - obstacle.attack_generic(src, 20, "rams") - if(!SelfMove(moveturf, movedir, 2)) - break + SelfMove(moveturf, movedir, 2) sleep(2 * world.tick_lag) - /*walk_towards(src, T, 2) - var/distance = get_dist(src.loc, T) - for(distance, distance>0, distance--) - playsound(src, 'sound/mecha/mechstep.ogg', 50, 0, 0) - for(var/mob/living/L in range(2, src)) - shake_camera(L, 1, 2) - sleep(2 * world.tick_lag)*/ sleep((get_dist(src, T) * 2.2)) walk(src, 0) // cancel the movement charging = 0 - icon_state = "snowbull" + update_icon() movement_shake_radius = 0 movement_sound = null set_AI_busy(FALSE) -/mob/living/simple_mob/animal/passive/thrumbo/Bump(mob/living/M) +/mob/living/simple_mob/animal/passive/snowbull/Bump(atom/movable/AM) if(charging) - if(istype(M)) - visible_message("[src] rams [M]!") + if(istype(AM, /mob/living)) + var/mob/living/M = AM + visible_message("[src] rams [AM]!") M.Stun(5) M.Weaken(3) var/throwdir = pick(turn(dir, 45), turn(dir, -45)) M.throw_at(get_step(src.loc, throwdir), 1, 1, src) runOver(M) + if(istype(AM, /obj/structure)) + if(istype(AM, /obj/structure/window)) + var/obj/structure/window/window = AM + window.hit(80) + else if(istype(AM, /obj/structure/table)) + var/obj/structure/table/table = AM + var/tableflipdir = pick(turn(dir, 90), turn(dir, -90)) + if(!table.flip(tableflipdir)) + AM.attack_generic(src, 20, "rams") + else if(istype(AM, /obj/structure/closet)) + var/obj/structure/closet/closet = AM + closet.break_open() + else + AM.attack_generic(src, 20, "rams") + if(istype(AM, /turf/simulated/wall)) + var/turf/simulated/wall/wall = AM + wall.take_damage(20) + if(istype(AM, /obj/machinery)) + var/obj/machinery/machinery = AM + machinery.attack_generic(src, 20) ..() -/mob/living/simple_mob/animal/passive/thrumbo/proc/runOver(var/mob/living/M) +/mob/living/simple_mob/animal/passive/snowbull/proc/runOver(var/mob/living/M) if(istype(M)) visible_message("[src] runs over [M]!") playsound(src, 'sound/effects/splat.ogg', 50, 1) @@ -304,6 +309,64 @@ M.apply_damage(0.5 * damage, BRUTE, BP_L_ARM) M.apply_damage(0.5 * damage, BRUTE, BP_R_ARM) blood_splatter(src, M, 1) + +/mob/living/simple_mob/animal/passive/snowbull/handle_special() + if(ai_holder) + if(istype(ai_holder, /datum/ai_holder/simple_mob/snowbull)) + var/datum/ai_holder/simple_mob/snowbull/changedAI = ai_holder + var/mobtension = 0 + mobtension = get_tension() + if(mobtension > 170) + changedAI.untrusting = TRUE + if(mobtension > 270) + changedAI.untrusting = 2 + if(mobtension < 170) + changedAI.untrusting = FALSE + +/mob/living/simple_mob/animal/passive/snowbull/update_icon() + + +/datum/ai_holder/simple_mob/snowbull + hostile = TRUE //Not actually hostile but neede for a check otherwise it won't work + retaliate = TRUE + cooperative = TRUE + wander_delay = 12 + can_breakthrough = TRUE + violent_breakthrough = TRUE + lose_target_timeout = 40 SECONDS + var/untrusting = FALSE + threaten = TRUE + threaten_delay = 7 SECONDS + threaten_timeout = 0 SECONDS + can_flee = FALSE + +/datum/ai_holder/simple_mob/snowbull/find_target(list/possible_targets, has_targets_list) + ai_log("find_target() : Entered.", AI_LOG_TRACE) + . = list() + if(!has_targets_list) + possible_targets = list_targets() + for(var/possible_target in possible_targets) + var/target_threatlevel + if(istype(possible_target, /atom/movable)) //Test + var/atom/movable/threatener = possible_target + target_threatlevel = threatener.get_threat(holder) + if(checkthreatened(possible_target, target_threatlevel)) //won't attack anything that ain't a big threat + if(can_attack(possible_target)) // Can we attack it? + . += possible_target + var/new_target = pick_target(.) + give_target(new_target) + return new_target + +/datum/ai_holder/simple_mob/snowbull/proc/checkthreatened(var/possible_target, var/target_threatlevel = 0) + if(check_attacker(possible_target)) + return TRUE + if(untrusting == 1 && target_threatlevel > 130 && in range(5)) + return TRUE + if(untrusting > 1 && target_threatlevel > 100) + return TRUE + else + return FALSE +/datum/say_list/snowbull + say_threaten = list("^huffs, preparing to charge menacingly.", "^huffs, scratching the floor.") - From 4fc416d528f293ee5258e0703553e0c27a390b21 Mon Sep 17 00:00:00 2001 From: SplinterGP Date: Thu, 3 Sep 2020 21:03:14 -0300 Subject: [PATCH 05/19] more snowbull stuff --- .../subtypes/animal/space/animals_yw.dm | 113 ++++++++++++------ 1 file changed, 79 insertions(+), 34 deletions(-) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm index a571fe3c97..e3cfbe5010 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm @@ -203,7 +203,7 @@ health = 250 faction = "snowbull" pixel_x = -16 - special_attack_min_range = 2 + special_attack_min_range = 3 special_attack_max_range = 8 special_attack_cooldown = 10 SECONDS var/charging = 0 @@ -219,46 +219,46 @@ min_n2 = 0 // N2 min max_n2 = 0 // N2 max attack_sharp = 1 - melee_damage_lower = 30 // Because fuck anyone who hurts this sweet, innocent creature. - melee_damage_upper = 30 + melee_damage_lower = 20 // Because fuck anyone who hurts this sweet, innocent creature. + melee_damage_upper = 35 ai_holder_type = /datum/ai_holder/simple_mob/snowbull say_list_type = /datum/say_list/snowbull /mob/living/simple_mob/animal/passive/snowbull/update_icon() if(charging) - icon_state = snowbull-charge + icon_state = "[icon_living]-charge" ..() - + /mob/living/simple_mob/animal/passive/snowbull/do_special_attack(atom/A) set waitfor = FALSE set_AI_busy(TRUE) - charging = 1 movement_shake_radius = 3 movement_sound = 'sound/effects/mob_effects/snowbull_charge.ogg' - walk(src, 0) - set_dir(dir) visible_message(span("danger","\The [src] prepares to charge at \the [A]!")) update_icon() sleep(charging_warning) var/chargeturf = get_turf(A) if(!chargeturf) return - var/dir = get_dir(src, chargeturf) - var/turf/T = get_ranged_target_turf(chargeturf, dir, isDiagonal(dir) ? 1 : 2) + var/chargedir = get_dir(src, chargeturf) + set_dir(chargedir) + var/turf/T = get_ranged_target_turf(chargeturf, chargedir, isDiagonal(chargedir) ? 1 : 2) if(!T) + charging = 0 + movement_shake_radius = null + movement_sound = null + update_icon() visible_message(span("danger", "\The [src] desists from charging at \the [A]")) return - //SelfMove() for(var/distance = get_dist(src.loc, T), src.loc!=T && distance>0, distance--) var/movedir = get_dir(src.loc, T) var/moveturf = get_step(src.loc, movedir) SelfMove(moveturf, movedir, 2) - sleep(2 * world.tick_lag) + sleep(2 * world.tick_lag) //Speed it will move, default is two server ticks sleep((get_dist(src, T) * 2.2)) - walk(src, 0) // cancel the movement charging = 0 update_icon() movement_shake_radius = 0 @@ -274,34 +274,35 @@ M.Weaken(3) var/throwdir = pick(turn(dir, 45), turn(dir, -45)) M.throw_at(get_step(src.loc, throwdir), 1, 1, src) - runOver(M) + runOver(M) // Actually should not use this, placeholder if(istype(AM, /obj/structure)) if(istype(AM, /obj/structure/window)) var/obj/structure/window/window = AM - window.hit(80) + window.hit(80) //Shatters reinforced windows else if(istype(AM, /obj/structure/table)) var/obj/structure/table/table = AM var/tableflipdir = pick(turn(dir, 90), turn(dir, -90)) - if(!table.flip(tableflipdir)) + if(!table.flip(tableflipdir)) //If table don't gets flipped just generic attack it AM.attack_generic(src, 20, "rams") else if(istype(AM, /obj/structure/closet)) var/obj/structure/closet/closet = AM - closet.break_open() + closet.throw_at_random(0, 2, 2) + closet.break_open() //Lets not destroy closets that easily, instead just open it else - AM.attack_generic(src, 20, "rams") + AM.attack_generic(src, 20, "rams") // Otherwise just attack_generic that structure if(istype(AM, /turf/simulated/wall)) var/turf/simulated/wall/wall = AM wall.take_damage(20) - if(istype(AM, /obj/machinery)) + if(istype(AM, /obj/machinery)) var/obj/machinery/machinery = AM machinery.attack_generic(src, 20) ..() /mob/living/simple_mob/animal/passive/snowbull/proc/runOver(var/mob/living/M) - if(istype(M)) + if(istype(M)) visible_message("[src] runs over [M]!") playsound(src, 'sound/effects/splat.ogg', 50, 1) - var/damage = rand(5, 7) + var/damage = rand(3, 5) M.apply_damage(2 * damage, BRUTE, BP_HEAD) M.apply_damage(2 * damage, BRUTE, BP_TORSO) M.apply_damage(0.5 * damage, BRUTE, BP_L_LEG) @@ -315,17 +316,27 @@ if(istype(ai_holder, /datum/ai_holder/simple_mob/snowbull)) var/datum/ai_holder/simple_mob/snowbull/changedAI = ai_holder var/mobtension = 0 - mobtension = get_tension() + mobtension = get_tension() //Check for their tension, based on dangerous mobs and allies nearby if(mobtension > 170) changedAI.untrusting = TRUE if(mobtension > 270) changedAI.untrusting = 2 if(mobtension < 170) changedAI.untrusting = FALSE + var/beforehealth = icon_living + var/healthpercent = health/maxHealth + switch(healthpercent) + if(=< 0.25) + icon_living = "snowbull-25" + if(=< 0.50) + icon_living = "snowbull-50" + if(=< 0.75) + icon_living = "snowbull-75" + if(> 0.75) + icon_living = "snowbull-100" + if(beforehealth != icon_living) + update_icon() -/mob/living/simple_mob/animal/passive/snowbull/update_icon() - - /datum/ai_holder/simple_mob/snowbull hostile = TRUE //Not actually hostile but neede for a check otherwise it won't work retaliate = TRUE @@ -333,12 +344,12 @@ wander_delay = 12 can_breakthrough = TRUE violent_breakthrough = TRUE - lose_target_timeout = 40 SECONDS - var/untrusting = FALSE - threaten = TRUE + lose_target_timeout = 40 SECONDS //How much time till they forget who attacked them. + var/untrusting = FALSE //This will make the mob check other mobs if they're very dangerous or has intent to harm them. + threaten = TRUE //Threaten to attack the enemy. threaten_delay = 7 SECONDS - threaten_timeout = 0 SECONDS - can_flee = FALSE + threaten_timeout = 0 SECONDS //we don't want to attack immediately when they get back, only if they don't behave after we warn + can_flee = FALSE //No, we don't flee, we attack back. /datum/ai_holder/simple_mob/snowbull/find_target(list/possible_targets, has_targets_list) ai_log("find_target() : Entered.", AI_LOG_TRACE) @@ -360,13 +371,47 @@ /datum/ai_holder/simple_mob/snowbull/proc/checkthreatened(var/possible_target, var/target_threatlevel = 0) if(check_attacker(possible_target)) return TRUE - if(untrusting == 1 && target_threatlevel > 130 && in range(5)) + if(untrusting == 1 && target_threatlevel > 130 && possible_target in range(5)) return TRUE if(untrusting > 1 && target_threatlevel > 100) return TRUE else return FALSE -/datum/say_list/snowbull - say_threaten = list("^huffs, preparing to charge menacingly.", "^huffs, scratching the floor.") - + +/datum/ai_holder/simple_mob/snowbull/threaten_target() + holder.face_atom(target) // Constantly face the target. + + if(!threatening) // First tick. + threatening = TRUE + last_threaten_time = world.time + + holder.visible_emote("Huffs, reacting to the threat of [target]") + //playsound(holder, holder.say_list.threaten_sound, 50, 1) // We do this twice to make the sound -very- noticable to the target. + //playsound(target, holder.say_list.threaten_sound, 50, 1) // Actual aim-mode also does that so at least it's consistant. + else // Otherwise we are waiting for them to go away or to wait long enough for escalate. + var/threatlevel = target.get_threat(holder) + if(target in list_targets() && checkthreatened(target, threatlevel)) // Are they still visible? + var/should_escalate = FALSE + + if(threaten_delay && last_threaten_time + threaten_delay < world.time) // Waited too long. + should_escalate = TRUE + + if(should_escalate) + threatening = FALSE + set_stance(STANCE_APPROACH) + if(holder.say_list) + holder.ISay(safepick(holder.say_list.say_escalate)) + else + return // Wait a bit. + + else // They left, or so we think. + if(last_threaten_time + threaten_timeout < world.time) // They've been gone long enough, probably safe to stand down + threatening = FALSE + set_stance(STANCE_IDLE) + if(holder.say_list) + holder.ISay(safepick(holder.say_list.say_stand_down)) + playsound(holder, holder.say_list.stand_down_sound, 50, 1) // We do this twice to make the sound -very- noticable to the target. + playsound(target, holder.say_list.stand_down_sound, 50, 1) // Actual aim-mode also does that so at least it's consistant. + + From 7f909fc572892dc533035a82cdc5c7c803b7ec8a Mon Sep 17 00:00:00 2001 From: SplinterGP Date: Mon, 14 Sep 2020 17:42:21 -0300 Subject: [PATCH 06/19] tweaks on reactions --- .../subtypes/animal/space/animals_yw.dm | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm index e3cfbe5010..c7bff2a75d 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm @@ -223,7 +223,6 @@ melee_damage_upper = 35 ai_holder_type = /datum/ai_holder/simple_mob/snowbull - say_list_type = /datum/say_list/snowbull /mob/living/simple_mob/animal/passive/snowbull/update_icon() if(charging) @@ -325,15 +324,14 @@ changedAI.untrusting = FALSE var/beforehealth = icon_living var/healthpercent = health/maxHealth - switch(healthpercent) - if(=< 0.25) - icon_living = "snowbull-25" - if(=< 0.50) - icon_living = "snowbull-50" - if(=< 0.75) - icon_living = "snowbull-75" - if(> 0.75) - icon_living = "snowbull-100" + if(healthpercent <=0.25) + icon_living = "snowbull-25" + else if(healthpercent <=0.50) + icon_living = "snowbull-50" + else if(healthpercent <=0.75) + icon_living = "snowbull-75" + else if(healthpercent >0.75) + icon_living = "snowbull-100" if(beforehealth != icon_living) update_icon() @@ -385,7 +383,7 @@ threatening = TRUE last_threaten_time = world.time - holder.visible_emote("Huffs, reacting to the threat of [target]") + holder.visible_emote("'notice'>Huffs, reacting to the threat of [target]") //playsound(holder, holder.say_list.threaten_sound, 50, 1) // We do this twice to make the sound -very- noticable to the target. //playsound(target, holder.say_list.threaten_sound, 50, 1) // Actual aim-mode also does that so at least it's consistant. else // Otherwise we are waiting for them to go away or to wait long enough for escalate. @@ -400,7 +398,7 @@ threatening = FALSE set_stance(STANCE_APPROACH) if(holder.say_list) - holder.ISay(safepick(holder.say_list.say_escalate)) + holder.visible_emote("'notice'>Gets irritated, going after [target]!") else return // Wait a bit. @@ -408,6 +406,7 @@ if(last_threaten_time + threaten_timeout < world.time) // They've been gone long enough, probably safe to stand down threatening = FALSE set_stance(STANCE_IDLE) + holder.visible_emote("'notice'>calms down, lowering their horns to [target]") if(holder.say_list) holder.ISay(safepick(holder.say_list.say_stand_down)) playsound(holder, holder.say_list.stand_down_sound, 50, 1) // We do this twice to make the sound -very- noticable to the target. From dba30a1bd22ded8b821ab352c2b465b48dbf8297 Mon Sep 17 00:00:00 2001 From: K'Braid <53922323+KBraid@users.noreply.github.com> Date: Thu, 1 Oct 2020 18:16:25 -0500 Subject: [PATCH 07/19] [rtm] kbraid room - nudged objects fixed no more stutter step (#1021) * nudged objects fixed no more stutter step * take two * take three * reset * take four * take 5 (this time missing stuff included) * take 6 (everything in its proper place edition) --- .../vore/fluffstuff/custom_furniture_yw.dm | 16 + icons/vore/custom_furniture_yw.dmi | Bin 0 -> 569 bytes maps/yw/residential/residential.dmm | 363 ++++++++++++++---- maps/yw/residential/residential_keys.dm | 13 +- vorestation.dme | 1 + 5 files changed, 319 insertions(+), 74 deletions(-) create mode 100644 code/modules/vore/fluffstuff/custom_furniture_yw.dm create mode 100644 icons/vore/custom_furniture_yw.dmi diff --git a/code/modules/vore/fluffstuff/custom_furniture_yw.dm b/code/modules/vore/fluffstuff/custom_furniture_yw.dm new file mode 100644 index 0000000000..f6d56e8f05 --- /dev/null +++ b/code/modules/vore/fluffstuff/custom_furniture_yw.dm @@ -0,0 +1,16 @@ +// ****** +// KBraid +// ****** +/obj/structure/bed/chair/hammock_kbraid_n + name = "hammock" + desc = "A blue hammock with two white stripes along one side and a black hexagonal pattern on the other." + icon = 'icons/vore/custom_furniture_yw.dmi' + icon_state = "kbraid_hammock_upper" + base_icon = "kbraid_hammock_upper" + color = null + applies_material_colour = 0 +/obj/structure/hammock_kbraid_s + name = "hammock" + desc = "A blue hammock with two white stripes along one side and a black hexagonal pattern on the other." + icon = 'icons/vore/custom_furniture_yw.dmi' + icon_state = "kbraid_hammock_lower" \ No newline at end of file diff --git a/icons/vore/custom_furniture_yw.dmi b/icons/vore/custom_furniture_yw.dmi new file mode 100644 index 0000000000000000000000000000000000000000..f6298ab0fbe3f88a90fa8f15a70cf6cdd004fd31 GIT binary patch literal 569 zcmV-90>=G`P)Cdb*w`8%Erp4cJrWKG00001 zbW%=J06^y0W&i*He|l6{bVOxyV{&P5bZKvH004NLQ&w@aYg}C%)|Z4R+wm{#gOefY@XX;Nt#eSUi#lqZzRe;E)2c z%#eGjMUZ8JlVuWoKm_TN!paumstTx=;U8MPNuWwZ7mMnvh2|e00WSo8f9)E0IJiyU z0ovPD^cxUSdKj~2pa7@eMhOIIfb+~OS%;B@w*V~n6v}W8jt+nUV1ghKhID6mr#J~n zP<{Zjb7%lu07x6J0T5OJiTh{`kkZO3v=e)!57a{63g4Syu9bBwD1c8T`Gg6;lLg*R z0-37s01ZJR@cz9FKr2!J&tMwxU?G=(%;2_AvYf2^^mo7)074Uvhtj6r00000NkvXX Hu0mjffRXAm literal 0 HcmV?d00001 diff --git a/maps/yw/residential/residential.dmm b/maps/yw/residential/residential.dmm index c9be99c789..37ddd4d08a 100644 --- a/maps/yw/residential/residential.dmm +++ b/maps/yw/residential/residential.dmm @@ -1,4 +1,13 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room12) "ac" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -15,6 +24,14 @@ /obj/machinery/computer/arcade, /turf/simulated/floor/wood, /area/residential/mroom2) +"ah" = ( +/obj/machinery/light_switch{ + pixel_x = 0; + pixel_y = 28; + step_y = 0 + }, +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room12) "ai" = ( /obj/structure/closet/secure_closet/freezer/fridge, /obj/item/weapon/reagent_containers/food/condiment/enzyme, @@ -261,6 +278,15 @@ }, /turf/simulated/floor/tiled, /area/residential/room6) +"bk" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 + }, +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room12) "bn" = ( /obj/machinery/door/airlock{ name = "Unit 1" @@ -473,6 +499,20 @@ /obj/machinery/door/firedoor/glass, /turf/simulated/floor/tiled, /area/residential/docking_lobby) +"cx" = ( +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/item/weapon/reagent_containers/food/condiment/enzyme, +/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/weapon/storage/box/beakers, +/obj/item/weapon/material/knife, +/obj/item/weapon/reagent_containers/food/condiment/flour, +/obj/item/weapon/reagent_containers/food/condiment/flour, +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room11) "cy" = ( /obj/machinery/power/apc{ dir = 1; @@ -534,6 +574,15 @@ /obj/item/clothing/under/bathrobe, /turf/simulated/floor/tiled/white, /area/residential/mansion) +"cN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/turf/simulated/floor/carpet/oracarpet, +/area/residential/room12) "cP" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -1068,6 +1117,12 @@ /obj/machinery/light/small, /turf/simulated/floor/plating, /area/residential/room10) +"fD" = ( +/obj/effect/floor_decal/corner/lightorange/border{ + pixel_y = 6 + }, +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room12) "fE" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -1604,6 +1659,12 @@ }, /turf/simulated/floor/tiled/white, /area/residential/room10) +"il" = ( +/obj/structure/bed/chair/bay/comfy/blue{ + material = "plastic" + }, +/turf/simulated/floor/carpet/oracarpet, +/area/residential/room12) "in" = ( /obj/effect/forcefield, /turf/simulated/floor/reinforced, @@ -2030,7 +2091,13 @@ /turf/simulated/floor/tiled/steel_ridged, /area/residential/ship_bay) "ko" = ( -/turf/simulated/floor/plating, +/obj/structure/toilet{ + dir = 4 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/freezer, /area/residential/room12) "kq" = ( /obj/structure/closet/cabinet, @@ -2137,13 +2204,11 @@ /turf/simulated/floor/tiled, /area/residential/mroom1) "kS" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/plating, +/turf/simulated/floor/tiled/old_cargo, /area/residential/room12) "kU" = ( /obj/machinery/door/airlock/silver, @@ -2653,6 +2718,9 @@ }, /turf/simulated/floor/reinforced, /area/residential/ship_bay) +"nK" = ( +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room12) "nL" = ( /obj/machinery/door/airlock/silver, /obj/machinery/door/firedoor/glass, @@ -2713,6 +2781,11 @@ /obj/item/weapon/storage/box/beakers, /turf/simulated/floor/wood, /area/residential/room10) +"oa" = ( +/obj/structure/table/glass, +/obj/item/modular_computer/tablet/preset/custom_loadout/advanced, +/turf/simulated/floor/carpet/oracarpet, +/area/residential/room12) "ob" = ( /obj/machinery/door/airlock, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -2943,6 +3016,12 @@ }, /turf/simulated/floor/tiled/white, /area/residential/mroom2) +"pk" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room12) "pl" = ( /obj/structure/table/woodentable, /obj/item/weapon/material/knife, @@ -3218,6 +3297,11 @@ /obj/machinery/door/airlock, /turf/simulated/floor/tiled/white, /area/residential/mansion) +"qJ" = ( +/obj/structure/table/marble, +/obj/machinery/microwave, +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room12) "qM" = ( /obj/structure/bed/chair/wood, /turf/simulated/floor/wood, @@ -3322,6 +3406,9 @@ /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/wood, /area/residential/mroom2) +"rv" = ( +/turf/simulated/floor/carpet/oracarpet, +/area/residential/room12) "rw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -3585,6 +3672,15 @@ "te" = ( /turf/simulated/wall, /area/space) +"tf" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 + }, +/turf/simulated/floor/carpet/oracarpet, +/area/residential/room12) "tg" = ( /obj/structure/bed/chair/comfy/beige{ dir = 8 @@ -3652,6 +3748,13 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/white, /area/residential/mroom1) +"tH" = ( +/obj/effect/floor_decal/corner/lightorange/border{ + pixel_y = 6 + }, +/obj/structure/hammock_kbraid_s, +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room12) "tJ" = ( /obj/structure/window/reinforced/tinted{ dir = 8 @@ -3848,7 +3951,10 @@ dir = 4; pixel_x = -28 }, -/turf/simulated/floor/plating, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 + }, +/turf/simulated/floor/tiled/old_cargo, /area/residential/room12) "uH" = ( /obj/structure/table/steel_reinforced, @@ -3886,6 +3992,15 @@ }, /turf/simulated/floor/wood, /area/residential/room1) +"uU" = ( +/obj/structure/closet/cabinet, +/obj/item/clothing/under/seromi/undercoat/standard/white_grey, +/obj/item/clothing/suit/storage/seromi/beltcloak/standard/blue_grey, +/obj/item/clothing/glasses/fluff/avigoggles_yw, +/obj/item/device/communicator/watch, +/obj/item/weapon/card/id/residential/rs12, +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room12) "vd" = ( /obj/structure/table/bench/padded, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -3951,10 +4066,20 @@ }, /turf/simulated/floor/wood, /area/residential/room2) +"vq" = ( +/obj/structure/table/reinforced, +/turf/simulated/floor/carpet/oracarpet, +/area/residential/room12) "vr" = ( /obj/machinery/light/small, /turf/simulated/floor/plating, /area/space) +"vs" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 1 + }, +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room12) "vt" = ( /obj/structure/closet/secure_closet/freezer/fridge, /obj/machinery/light, @@ -5379,6 +5504,16 @@ }, /turf/simulated/floor/plating, /area/residential/ship_bay) +"De" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/structure/window/basic, +/obj/structure/curtain/open/privacy, +/turf/simulated/floor/tiled/freezer, +/area/residential/room12) "Df" = ( /obj/structure/toilet{ dir = 8 @@ -5822,6 +5957,12 @@ /obj/structure/table/woodentable, /turf/simulated/floor/carpet, /area/residential/room4) +"EK" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room12) "EM" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -6332,6 +6473,12 @@ }, /turf/simulated/floor/carpet, /area/residential/mroom2) +"Hg" = ( +/obj/structure/bed/chair{ + material = null + }, +/turf/simulated/floor/carpet/oracarpet, +/area/residential/room12) "Hh" = ( /turf/simulated/wall, /area/residential/room12) @@ -7731,6 +7878,11 @@ /obj/machinery/door/firedoor/glass, /turf/simulated/floor/plating, /area/space) +"On" = ( +/obj/structure/curtain/black, +/obj/structure/shuttle/window, +/turf/simulated/floor/plating/eris/under, +/area/residential/room12) "Or" = ( /obj/structure/table/woodentable, /obj/machinery/light{ @@ -8064,6 +8216,10 @@ "PE" = ( /turf/simulated/floor/carpet, /area/residential/mansion) +"PF" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room12) "PG" = ( /turf/simulated/floor/carpet/bcarpet, /area/residential/room9) @@ -8282,11 +8438,26 @@ }, /turf/simulated/floor/tiled/white, /area/residential/room2) +"QU" = ( +/obj/structure/table/glass, +/obj/item/toy/plushie/teshari/w_yw, +/turf/simulated/floor/carpet/oracarpet, +/area/residential/room12) "QW" = ( /obj/machinery/microwave, /obj/structure/table/steel, /turf/simulated/floor/lino, /area/residential/room4) +"QX" = ( +/obj/machinery/door/window, +/obj/structure/window/basic, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 + }, +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/structure/curtain/open/privacy, +/turf/simulated/floor/tiled/freezer, +/area/residential/room12) "QY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -8531,11 +8702,9 @@ /turf/simulated/floor/carpet/blue, /area/residential/room11) "Si" = ( -/obj/machinery/alarm{ - frequency = 1441; - pixel_y = 22 - }, -/turf/simulated/floor/plating, +/obj/machinery/alarm, +/obj/structure/bed/chair/hammock_kbraid_n, +/turf/simulated/floor/tiled/old_cargo, /area/residential/room12) "Sk" = ( /obj/structure/closet/crate/trashcart, @@ -8631,6 +8800,10 @@ }, /turf/simulated/floor/plating, /area/space) +"SB" = ( +/obj/structure/table/marble, +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room12) "SF" = ( /obj/structure/table/woodentable, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -9122,6 +9295,15 @@ /obj/machinery/microwave, /turf/simulated/floor/tiled/white, /area/residential/mroom1) +"UT" = ( +/obj/machinery/recharger{ + pixel_x = -1; + pixel_y = 7; + step_y = 0 + }, +/obj/structure/table/reinforced, +/turf/simulated/floor/carpet/oracarpet, +/area/residential/room12) "UU" = ( /obj/structure/fitness/weightlifter, /turf/simulated/floor/carpet, @@ -9217,6 +9399,10 @@ }, /turf/simulated/floor/wood, /area/residential/room11) +"Vq" = ( +/obj/structure/table/marble, +/turf/simulated/floor/carpet/oracarpet, +/area/residential/room12) "Vv" = ( /obj/machinery/light_switch{ dir = 1; @@ -9458,6 +9644,23 @@ }, /turf/simulated/floor/lino, /area/residential/room1) +"WS" = ( +/obj/machinery/shower{ + dir = 8; + pixel_x = -5 + }, +/obj/structure/window/basic{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/structure/mirror{ + pixel_y = 25 + }, +/obj/structure/curtain/open/privacy, +/turf/simulated/floor/tiled/freezer, +/area/residential/room12) "WV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, @@ -9653,6 +9856,16 @@ /obj/structure/table/reinforced, /turf/simulated/floor/wood, /area/residential/lobby) +"Yg" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 + }, +/obj/structure/table/reinforced, +/turf/simulated/floor/carpet/oracarpet, +/area/residential/room12) "Yi" = ( /obj/structure/bed/chair{ dir = 4 @@ -9778,6 +9991,10 @@ /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled/eris/white, /area/residential/lobby) +"YT" = ( +/obj/effect/floor_decal/corner/lightorange/border/shifted, +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room12) "YU" = ( /obj/machinery/light, /obj/structure/table/woodentable, @@ -21858,15 +22075,15 @@ aZ aZ Hh ko -ko -ko -ko +De +EK +PF uG kS -ko -ko -ko -ko +vs +aa +YT +SB Hh aZ aZ @@ -22019,16 +22236,16 @@ aZ aZ aZ Hh -ko -ko -ko -ko -ko -ko -ko -ko -ko -ko +WS +QX +bk +Yg +tf +cN +rv +Vq +YT +qJ Hh aZ aZ @@ -22181,16 +22398,16 @@ aZ aZ aZ Hh -ko -ko -ko -ko -ko -ko -ko -ko -ko -ko +nK +fD +nK +QU +rv +rv +Hg +Vq +YT +SB Hh aZ aZ @@ -22343,16 +22560,16 @@ aZ aZ aZ Hh -ko -ko -ko -ko -ko -ko -ko -ko -ko -ko +ah +fD +nK +oa +il +rv +Hg +Vq +YT +cx Hh aZ aZ @@ -22506,15 +22723,15 @@ aZ aZ Hh Si -ko -ko -ko -ko -ko -ko -ko -ko -ko +tH +nK +UT +vq +rv +rv +Vq +YT +SB Hh aZ aZ @@ -22667,16 +22884,16 @@ aZ aZ aZ Hh -ko -ko -ko -ko -ko -ko -ko -ko -ko -ko +uU +fD +pk +nK +nK +nK +nK +pk +YT +SB Hh aZ aZ @@ -22832,10 +23049,10 @@ Hh Hh Hh Hh -Hh -Hh -Hh -Hh +On +On +On +On Hh Hh Hh diff --git a/maps/yw/residential/residential_keys.dm b/maps/yw/residential/residential_keys.dm index 736ec010a9..290cb2f24d 100644 --- a/maps/yw/residential/residential_keys.dm +++ b/maps/yw/residential/residential_keys.dm @@ -48,6 +48,10 @@ name = "RS11 residential key" access = list(8011) +/obj/item/weapon/card/id/residential/rs12 + name = "RS12 residential key" + access = list(8012) + /obj/item/weapon/card/id/residential/rm1 name = "RM1 residential key" access = list(8101) @@ -217,4 +221,11 @@ display_name = "RS11 keys" description = "residential" ckeywhitelist = list("rouwren") - character_name = list("Rin Deimos") \ No newline at end of file + character_name = list("Rin Deimos") + +/datum/gear/fluff/res_key_rs12 + path = /obj/item/weapon/card/id/residential/rs12 + display_name = "RS12 keys" + description = "residential" + ckeywhitelist = list("kbraid") + character_name = list("Eili") diff --git a/vorestation.dme b/vorestation.dme index 255b552cb8..b20e93d4f8 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -3703,6 +3703,7 @@ #include "code\modules\vore\fluffstuff\custom_boxes_yw.dm" #include "code\modules\vore\fluffstuff\custom_clothes_vr.dm" #include "code\modules\vore\fluffstuff\custom_clothes_yw.dm" +#include "code\modules\vore\fluffstuff\custom_furniture_yw.dm" #include "code\modules\vore\fluffstuff\custom_items_vr.dm" #include "code\modules\vore\fluffstuff\custom_items_yw.dm" #include "code\modules\vore\fluffstuff\custom_mecha_vr.dm" From 554fac93d872a67c475bac4e68d67e7b5b2b3a3b Mon Sep 17 00:00:00 2001 From: SplinterGP Date: Fri, 2 Oct 2020 18:27:06 -0300 Subject: [PATCH 08/19] switch instead of if else good --- .../subtypes/animal/space/animals_yw.dm | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm index c7bff2a75d..1c37b2a4ac 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/animals_yw.dm @@ -324,14 +324,15 @@ changedAI.untrusting = FALSE var/beforehealth = icon_living var/healthpercent = health/maxHealth - if(healthpercent <=0.25) - icon_living = "snowbull-25" - else if(healthpercent <=0.50) - icon_living = "snowbull-50" - else if(healthpercent <=0.75) - icon_living = "snowbull-75" - else if(healthpercent >0.75) - icon_living = "snowbull-100" + switch(healthpercent) + if(0.25 to 0) + icon_living = "snowbull-25" + if(0.50 to 0.26) + icon_living = "snowbull-50" + if(0.75 to 0.51) + icon_living = "snowbull-75" + if(0.76 to INFINITY) + icon_living = "snowbull-100" if(beforehealth != icon_living) update_icon() @@ -382,13 +383,12 @@ if(!threatening) // First tick. threatening = TRUE last_threaten_time = world.time - - holder.visible_emote("'notice'>Huffs, reacting to the threat of [target]") + holder.visible_emote("'warning'>Huffs, reacting to the threat of [target]!") //playsound(holder, holder.say_list.threaten_sound, 50, 1) // We do this twice to make the sound -very- noticable to the target. //playsound(target, holder.say_list.threaten_sound, 50, 1) // Actual aim-mode also does that so at least it's consistant. else // Otherwise we are waiting for them to go away or to wait long enough for escalate. var/threatlevel = target.get_threat(holder) - if(target in list_targets() && checkthreatened(target, threatlevel)) // Are they still visible? + if(target in list_targets() && checkthreatened(target, threatlevel)) // Are they still visible and threatening ? var/should_escalate = FALSE if(threaten_delay && last_threaten_time + threaten_delay < world.time) // Waited too long. @@ -406,7 +406,7 @@ if(last_threaten_time + threaten_timeout < world.time) // They've been gone long enough, probably safe to stand down threatening = FALSE set_stance(STANCE_IDLE) - holder.visible_emote("'notice'>calms down, lowering their horns to [target]") + holder.visible_emote("'notice'>calms down, lowering down their horns") if(holder.say_list) holder.ISay(safepick(holder.say_list.say_stand_down)) playsound(holder, holder.say_list.stand_down_sound, 50, 1) // We do this twice to make the sound -very- noticable to the target. From 5c073abb5c9b9c4bad8f20ea43837401604b6a24 Mon Sep 17 00:00:00 2001 From: K'Braid <53922323+KBraid@users.noreply.github.com> Date: Mon, 5 Oct 2020 01:30:12 -0500 Subject: [PATCH 09/19] [rtm] Kbraid room - replace cabnet with footlocker (#1023) * Strix's belted cloak update gave him the wrong one * Stix cloak fix i gave him the wrong one * trying to fix my github desktop * Strix cloak fix * tesh markings fix moved a pixel down * Revert "Merge branch 'kelmaptweaks'" This reverts commit 79bb9356f3537c44bd5f706e024a2ce44d4afded, reversing changes made to 54e73276fda6594e11a7a34046f202189e4bcfa4. * small fixes fixed a spelling error and adjusted roboticist belted cloak sprite * new branch * Update residential.dmm * mapmerge --- maps/yw/residential/residential.dmm | 540 ++++++++++++++-------------- 1 file changed, 271 insertions(+), 269 deletions(-) diff --git a/maps/yw/residential/residential.dmm b/maps/yw/residential/residential.dmm index 37ddd4d08a..837be114df 100644 --- a/maps/yw/residential/residential.dmm +++ b/maps/yw/residential/residential.dmm @@ -1,13 +1,4 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aa" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 - }, -/obj/machinery/light{ - dir = 8 - }, -/turf/simulated/floor/tiled/old_cargo, -/area/residential/room12) "ac" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -24,14 +15,6 @@ /obj/machinery/computer/arcade, /turf/simulated/floor/wood, /area/residential/mroom2) -"ah" = ( -/obj/machinery/light_switch{ - pixel_x = 0; - pixel_y = 28; - step_y = 0 - }, -/turf/simulated/floor/tiled/old_cargo, -/area/residential/room12) "ai" = ( /obj/structure/closet/secure_closet/freezer/fridge, /obj/item/weapon/reagent_containers/food/condiment/enzyme, @@ -43,6 +26,23 @@ /obj/item/weapon/storage/box/beakers, /turf/simulated/floor/tiled/white, /area/residential/room8) +"aj" = ( +/obj/machinery/shower{ + dir = 8; + pixel_x = -5 + }, +/obj/structure/window/basic{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/structure/mirror{ + pixel_y = 25 + }, +/obj/structure/curtain/open/privacy, +/turf/simulated/floor/tiled/freezer, +/area/residential/room12) "al" = ( /obj/structure/table/marble, /obj/item/weapon/reagent_containers/food/condiment/enzyme, @@ -153,6 +153,10 @@ }, /turf/simulated/floor/tiled, /area/residential/corridors) +"aD" = ( +/obj/structure/table/marble, +/turf/simulated/floor/carpet/oracarpet, +/area/residential/room12) "aE" = ( /obj/machinery/door/airlock{ name = "RM1"; @@ -278,15 +282,6 @@ }, /turf/simulated/floor/tiled, /area/residential/room6) -"bk" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 1 - }, -/turf/simulated/floor/tiled/old_cargo, -/area/residential/room12) "bn" = ( /obj/machinery/door/airlock{ name = "Unit 1" @@ -317,6 +312,15 @@ /obj/structure/filingcabinet/chestdrawer, /turf/simulated/floor/carpet, /area/residential/mansion) +"br" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/turf/simulated/floor/carpet/oracarpet, +/area/residential/room12) "bu" = ( /obj/structure/closet, /turf/simulated/floor/wood, @@ -499,20 +503,6 @@ /obj/machinery/door/firedoor/glass, /turf/simulated/floor/tiled, /area/residential/docking_lobby) -"cx" = ( -/obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/material/knife, -/obj/item/weapon/reagent_containers/food/condiment/flour, -/obj/item/weapon/reagent_containers/food/condiment/flour, -/turf/simulated/floor/tiled/old_cargo, -/area/residential/room11) "cy" = ( /obj/machinery/power/apc{ dir = 1; @@ -574,13 +564,7 @@ /obj/item/clothing/under/bathrobe, /turf/simulated/floor/tiled/white, /area/residential/mansion) -"cN" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 - }, +"cL" = ( /turf/simulated/floor/carpet/oracarpet, /area/residential/room12) "cP" = ( @@ -1020,6 +1004,12 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled, /area/residential/docking_lobby) +"fi" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 1 + }, +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room12) "fj" = ( /obj/machinery/alarm{ dir = 8; @@ -1117,12 +1107,6 @@ /obj/machinery/light/small, /turf/simulated/floor/plating, /area/residential/room10) -"fD" = ( -/obj/effect/floor_decal/corner/lightorange/border{ - pixel_y = 6 - }, -/turf/simulated/floor/tiled/old_cargo, -/area/residential/room12) "fE" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -1232,6 +1216,13 @@ }, /turf/simulated/floor/tiled, /area/residential/docking_lobby) +"gk" = ( +/obj/effect/floor_decal/corner/lightorange/border{ + pixel_y = 6 + }, +/obj/structure/hammock_kbraid_s, +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room12) "gl" = ( /obj/machinery/door/airlock, /obj/machinery/door/firedoor/glass, @@ -1333,6 +1324,15 @@ /obj/item/weapon/reagent_containers/food/condiment/enzyme, /turf/simulated/floor/tiled/white, /area/residential/mroom1) +"gD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 + }, +/turf/simulated/floor/carpet/oracarpet, +/area/residential/room12) "gG" = ( /obj/structure/table/woodentable, /obj/structure/window/basic{ @@ -1659,12 +1659,6 @@ }, /turf/simulated/floor/tiled/white, /area/residential/room10) -"il" = ( -/obj/structure/bed/chair/bay/comfy/blue{ - material = "plastic" - }, -/turf/simulated/floor/carpet/oracarpet, -/area/residential/room12) "in" = ( /obj/effect/forcefield, /turf/simulated/floor/reinforced, @@ -2130,6 +2124,10 @@ }, /turf/simulated/floor/tiled, /area/residential/docking_lobby) +"kz" = ( +/obj/structure/table/reinforced, +/turf/simulated/floor/carpet/oracarpet, +/area/residential/room12) "kA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -2141,6 +2139,15 @@ /obj/machinery/door/firedoor/glass/hidden, /turf/simulated/floor/tiled, /area/residential/corridors) +"kB" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room12) "kC" = ( /obj/structure/cable{ d1 = 4; @@ -2568,6 +2575,11 @@ }, /turf/simulated/floor/tiled/kafel_full, /area/residential/room9) +"mZ" = ( +/obj/structure/table/glass, +/obj/item/modular_computer/tablet/preset/custom_loadout/advanced, +/turf/simulated/floor/carpet/oracarpet, +/area/residential/room12) "na" = ( /obj/structure/table/marble, /turf/simulated/floor/tiled/white, @@ -2718,9 +2730,6 @@ }, /turf/simulated/floor/reinforced, /area/residential/ship_bay) -"nK" = ( -/turf/simulated/floor/tiled/old_cargo, -/area/residential/room12) "nL" = ( /obj/machinery/door/airlock/silver, /obj/machinery/door/firedoor/glass, @@ -2781,11 +2790,6 @@ /obj/item/weapon/storage/box/beakers, /turf/simulated/floor/wood, /area/residential/room10) -"oa" = ( -/obj/structure/table/glass, -/obj/item/modular_computer/tablet/preset/custom_loadout/advanced, -/turf/simulated/floor/carpet/oracarpet, -/area/residential/room12) "ob" = ( /obj/machinery/door/airlock, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -3016,12 +3020,6 @@ }, /turf/simulated/floor/tiled/white, /area/residential/mroom2) -"pk" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/floor/tiled/old_cargo, -/area/residential/room12) "pl" = ( /obj/structure/table/woodentable, /obj/item/weapon/material/knife, @@ -3297,11 +3295,6 @@ /obj/machinery/door/airlock, /turf/simulated/floor/tiled/white, /area/residential/mansion) -"qJ" = ( -/obj/structure/table/marble, -/obj/machinery/microwave, -/turf/simulated/floor/tiled/old_cargo, -/area/residential/room12) "qM" = ( /obj/structure/bed/chair/wood, /turf/simulated/floor/wood, @@ -3324,6 +3317,10 @@ }, /turf/simulated/floor/wood, /area/residential/room7) +"qW" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room12) "qY" = ( /obj/structure/bed/chair/comfy/black{ dir = 4 @@ -3349,6 +3346,16 @@ }, /turf/simulated/floor/tiled, /area/residential/corridors) +"rd" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 + }, +/obj/structure/table/reinforced, +/turf/simulated/floor/carpet/oracarpet, +/area/residential/room12) "re" = ( /obj/structure/closet/cabinet, /turf/simulated/floor/carpet, @@ -3406,9 +3413,20 @@ /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/wood, /area/residential/mroom2) -"rv" = ( -/turf/simulated/floor/carpet/oracarpet, -/area/residential/room12) +"rt" = ( +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/item/weapon/reagent_containers/food/condiment/enzyme, +/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/item/weapon/storage/box/beakers, +/obj/item/weapon/material/knife, +/obj/item/weapon/reagent_containers/food/condiment/flour, +/obj/item/weapon/reagent_containers/food/condiment/flour, +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room11) "rw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -3594,6 +3612,16 @@ /obj/machinery/door/firedoor/glass, /turf/simulated/floor/tiled, /area/residential/corridors) +"sP" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/structure/window/basic, +/obj/structure/curtain/open/privacy, +/turf/simulated/floor/tiled/freezer, +/area/residential/room12) "sQ" = ( /obj/structure/cable{ d1 = 4; @@ -3672,15 +3700,6 @@ "te" = ( /turf/simulated/wall, /area/space) -"tf" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 1 - }, -/turf/simulated/floor/carpet/oracarpet, -/area/residential/room12) "tg" = ( /obj/structure/bed/chair/comfy/beige{ dir = 8 @@ -3728,6 +3747,9 @@ /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled, /area/residential/corridors) +"tC" = ( +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room12) "tD" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -3748,13 +3770,6 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/white, /area/residential/mroom1) -"tH" = ( -/obj/effect/floor_decal/corner/lightorange/border{ - pixel_y = 6 - }, -/obj/structure/hammock_kbraid_s, -/turf/simulated/floor/tiled/old_cargo, -/area/residential/room12) "tJ" = ( /obj/structure/window/reinforced/tinted{ dir = 8 @@ -3794,6 +3809,11 @@ "tS" = ( /turf/simulated/floor/wood, /area/residential/room10) +"tT" = ( +/obj/structure/table/glass, +/obj/item/toy/plushie/teshari/w_yw, +/turf/simulated/floor/carpet/oracarpet, +/area/residential/room12) "tU" = ( /obj/machinery/door/airlock, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -3930,6 +3950,12 @@ /obj/machinery/vending/hydronutrients, /turf/simulated/floor/tiled/white, /area/residential/mroom1) +"uC" = ( +/obj/structure/bed/chair{ + material = null + }, +/turf/simulated/floor/carpet/oracarpet, +/area/residential/room12) "uD" = ( /obj/machinery/door/airlock, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -3984,6 +4010,12 @@ /obj/machinery/light, /turf/simulated/floor/wood, /area/residential/mroom2) +"uO" = ( +/obj/structure/bed/chair/bay/comfy/blue{ + material = "plastic" + }, +/turf/simulated/floor/carpet/oracarpet, +/area/residential/room12) "uR" = ( /obj/structure/table/woodentable, /obj/item/weapon/flame/candle, @@ -3992,15 +4024,6 @@ }, /turf/simulated/floor/wood, /area/residential/room1) -"uU" = ( -/obj/structure/closet/cabinet, -/obj/item/clothing/under/seromi/undercoat/standard/white_grey, -/obj/item/clothing/suit/storage/seromi/beltcloak/standard/blue_grey, -/obj/item/clothing/glasses/fluff/avigoggles_yw, -/obj/item/device/communicator/watch, -/obj/item/weapon/card/id/residential/rs12, -/turf/simulated/floor/tiled/old_cargo, -/area/residential/room12) "vd" = ( /obj/structure/table/bench/padded, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -4066,20 +4089,10 @@ }, /turf/simulated/floor/wood, /area/residential/room2) -"vq" = ( -/obj/structure/table/reinforced, -/turf/simulated/floor/carpet/oracarpet, -/area/residential/room12) "vr" = ( /obj/machinery/light/small, /turf/simulated/floor/plating, /area/space) -"vs" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 1 - }, -/turf/simulated/floor/tiled/old_cargo, -/area/residential/room12) "vt" = ( /obj/structure/closet/secure_closet/freezer/fridge, /obj/machinery/light, @@ -4502,6 +4515,17 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor, /area/residential/lobby) +"xQ" = ( +/obj/item/clothing/under/seromi/undercoat/standard/white_grey, +/obj/item/clothing/suit/storage/seromi/beltcloak/standard/blue_grey, +/obj/item/clothing/glasses/fluff/avigoggles_yw, +/obj/item/device/communicator/watch, +/obj/item/weapon/card/id/residential/rs12, +/obj/structure/closet/crate/plastic{ + name = "footlocker" + }, +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room12) "xR" = ( /obj/structure/toilet{ dir = 8 @@ -4547,6 +4571,16 @@ }, /turf/simulated/floor/carpet/oracarpet, /area/residential/ship_bay) +"yd" = ( +/obj/machinery/door/window, +/obj/structure/window/basic, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 + }, +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/structure/curtain/open/privacy, +/turf/simulated/floor/tiled/freezer, +/area/residential/room12) "yf" = ( /obj/structure/disposalpipe/segment, /turf/space, @@ -4841,6 +4875,14 @@ /obj/item/weapon/soap/deluxe, /turf/simulated/floor/tiled/neutral, /area/residential/room3) +"zS" = ( +/obj/machinery/light_switch{ + pixel_x = 0; + pixel_y = 28; + step_y = 0 + }, +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room12) "zT" = ( /obj/structure/closet/cabinet, /obj/structure/window/basic{ @@ -5308,6 +5350,10 @@ }, /turf/simulated/floor/tiled, /area/residential/room6) +"Cs" = ( +/obj/effect/floor_decal/corner/lightorange/border/shifted, +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room12) "Ct" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -5504,16 +5550,6 @@ }, /turf/simulated/floor/plating, /area/residential/ship_bay) -"De" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = -12; - pixel_y = 2 - }, -/obj/structure/window/basic, -/obj/structure/curtain/open/privacy, -/turf/simulated/floor/tiled/freezer, -/area/residential/room12) "Df" = ( /obj/structure/toilet{ dir = 8 @@ -5700,6 +5736,12 @@ }, /turf/simulated/floor/carpet, /area/residential/room5) +"DO" = ( +/obj/effect/floor_decal/corner/lightorange/border{ + pixel_y = 6 + }, +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room12) "DP" = ( /obj/structure/table/glass, /obj/machinery/light{ @@ -5957,12 +5999,6 @@ /obj/structure/table/woodentable, /turf/simulated/floor/carpet, /area/residential/room4) -"EK" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/simulated/floor/tiled/old_cargo, -/area/residential/room12) "EM" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -6473,12 +6509,6 @@ }, /turf/simulated/floor/carpet, /area/residential/mroom2) -"Hg" = ( -/obj/structure/bed/chair{ - material = null - }, -/turf/simulated/floor/carpet/oracarpet, -/area/residential/room12) "Hh" = ( /turf/simulated/wall, /area/residential/room12) @@ -7141,6 +7171,15 @@ /obj/machinery/door/firedoor/glass, /turf/simulated/floor/plating, /area/space) +"Kz" = ( +/obj/machinery/recharger{ + pixel_x = -1; + pixel_y = 7; + step_y = 0 + }, +/obj/structure/table/reinforced, +/turf/simulated/floor/carpet/oracarpet, +/area/residential/room12) "KA" = ( /obj/structure/reagent_dispensers/winevat, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -7334,6 +7373,10 @@ }, /turf/simulated/floor/wood, /area/residential/room4) +"LA" = ( +/obj/structure/table/marble, +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room12) "LD" = ( /obj/structure/table/steel_reinforced, /obj/machinery/microwave, @@ -7878,11 +7921,6 @@ /obj/machinery/door/firedoor/glass, /turf/simulated/floor/plating, /area/space) -"On" = ( -/obj/structure/curtain/black, -/obj/structure/shuttle/window, -/turf/simulated/floor/plating/eris/under, -/area/residential/room12) "Or" = ( /obj/structure/table/woodentable, /obj/machinery/light{ @@ -8216,10 +8254,6 @@ "PE" = ( /turf/simulated/floor/carpet, /area/residential/mansion) -"PF" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on, -/turf/simulated/floor/tiled/old_cargo, -/area/residential/room12) "PG" = ( /turf/simulated/floor/carpet/bcarpet, /area/residential/room9) @@ -8342,6 +8376,11 @@ }, /turf/simulated/floor/tiled, /area/residential/corridors) +"Qq" = ( +/obj/structure/table/marble, +/obj/machinery/microwave, +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room12) "Qt" = ( /turf/simulated/floor/carpet, /area/residential/ship_bay) @@ -8438,26 +8477,11 @@ }, /turf/simulated/floor/tiled/white, /area/residential/room2) -"QU" = ( -/obj/structure/table/glass, -/obj/item/toy/plushie/teshari/w_yw, -/turf/simulated/floor/carpet/oracarpet, -/area/residential/room12) "QW" = ( /obj/machinery/microwave, /obj/structure/table/steel, /turf/simulated/floor/lino, /area/residential/room4) -"QX" = ( -/obj/machinery/door/window, -/obj/structure/window/basic, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 1 - }, -/obj/machinery/atmospherics/unary/vent_pump/on, -/obj/structure/curtain/open/privacy, -/turf/simulated/floor/tiled/freezer, -/area/residential/room12) "QY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -8800,10 +8824,6 @@ }, /turf/simulated/floor/plating, /area/space) -"SB" = ( -/obj/structure/table/marble, -/turf/simulated/floor/tiled/old_cargo, -/area/residential/room12) "SF" = ( /obj/structure/table/woodentable, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -9295,15 +9315,6 @@ /obj/machinery/microwave, /turf/simulated/floor/tiled/white, /area/residential/mroom1) -"UT" = ( -/obj/machinery/recharger{ - pixel_x = -1; - pixel_y = 7; - step_y = 0 - }, -/obj/structure/table/reinforced, -/turf/simulated/floor/carpet/oracarpet, -/area/residential/room12) "UU" = ( /obj/structure/fitness/weightlifter, /turf/simulated/floor/carpet, @@ -9399,9 +9410,16 @@ }, /turf/simulated/floor/wood, /area/residential/room11) -"Vq" = ( -/obj/structure/table/marble, -/turf/simulated/floor/carpet/oracarpet, +"Vp" = ( +/obj/structure/curtain/black, +/obj/structure/shuttle/window, +/turf/simulated/floor/plating/eris/under, +/area/residential/room12) +"Vs" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/old_cargo, /area/residential/room12) "Vv" = ( /obj/machinery/light_switch{ @@ -9644,23 +9662,6 @@ }, /turf/simulated/floor/lino, /area/residential/room1) -"WS" = ( -/obj/machinery/shower{ - dir = 8; - pixel_x = -5 - }, -/obj/structure/window/basic{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/obj/structure/mirror{ - pixel_y = 25 - }, -/obj/structure/curtain/open/privacy, -/turf/simulated/floor/tiled/freezer, -/area/residential/room12) "WV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, @@ -9856,16 +9857,6 @@ /obj/structure/table/reinforced, /turf/simulated/floor/wood, /area/residential/lobby) -"Yg" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 1 - }, -/obj/structure/table/reinforced, -/turf/simulated/floor/carpet/oracarpet, -/area/residential/room12) "Yi" = ( /obj/structure/bed/chair{ dir = 4 @@ -9938,6 +9929,15 @@ /obj/machinery/door/firedoor/glass, /turf/simulated/floor/plating, /area/residential/docking_lobby) +"YE" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 1 + }, +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room12) "YF" = ( /obj/item/weapon/bedsheet/yellow, /obj/structure/bed/padded, @@ -9991,10 +9991,6 @@ /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled/eris/white, /area/residential/lobby) -"YT" = ( -/obj/effect/floor_decal/corner/lightorange/border/shifted, -/turf/simulated/floor/tiled/old_cargo, -/area/residential/room12) "YU" = ( /obj/machinery/light, /obj/structure/table/woodentable, @@ -10223,6 +10219,12 @@ }, /turf/simulated/floor/tiled/kafel_full, /area/residential/room9) +"ZL" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/old_cargo, +/area/residential/room12) "ZM" = ( /turf/simulated/floor/holofloor/tiled, /area/residential/docking_lobby) @@ -22075,15 +22077,15 @@ aZ aZ Hh ko -De -EK -PF +sP +ZL +qW uG kS -vs -aa -YT -SB +fi +kB +Cs +LA Hh aZ aZ @@ -22236,16 +22238,16 @@ aZ aZ aZ Hh -WS -QX -bk -Yg -tf -cN -rv -Vq -YT -qJ +aj +yd +YE +rd +gD +br +cL +aD +Cs +Qq Hh aZ aZ @@ -22398,16 +22400,16 @@ aZ aZ aZ Hh -nK -fD -nK -QU -rv -rv -Hg -Vq -YT -SB +tC +DO +tC +tT +cL +cL +uC +aD +Cs +LA Hh aZ aZ @@ -22560,16 +22562,16 @@ aZ aZ aZ Hh -ah -fD -nK -oa -il -rv -Hg -Vq -YT -cx +zS +DO +tC +mZ +uO +cL +uC +aD +Cs +rt Hh aZ aZ @@ -22723,15 +22725,15 @@ aZ aZ Hh Si -tH -nK -UT -vq -rv -rv -Vq -YT -SB +gk +tC +Kz +kz +cL +cL +aD +Cs +LA Hh aZ aZ @@ -22884,16 +22886,16 @@ aZ aZ aZ Hh -uU -fD -pk -nK -nK -nK -nK -pk -YT -SB +xQ +DO +Vs +tC +tC +tC +tC +Vs +Cs +LA Hh aZ aZ @@ -23049,10 +23051,10 @@ Hh Hh Hh Hh -On -On -On -On +Vp +Vp +Vp +Vp Hh Hh Hh From 7b691528d86f07e6f8a3e5ec81e829b687b9f16f Mon Sep 17 00:00:00 2001 From: Braiden Date: Tue, 6 Oct 2020 01:48:43 -0500 Subject: [PATCH 10/19] tesh rd claok & winter coat tesh fix --- .../loadout/loadout_xeno_yw.dm | 13 +++++++++++++ .../clothing/suits/aliens/seromi_yw.dm | 13 ++++++++++++- code/modules/clothing/suits/hooded_yw.dm | 8 +++++++- icons/mob/species/seromi/suit_yw.dmi | Bin 0 -> 134959 bytes icons/mob/species/seromi/teshari_cloak_yw.dmi | Bin 60626 -> 63202 bytes 5 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 icons/mob/species/seromi/suit_yw.dmi diff --git a/code/modules/client/preference_setup/loadout/loadout_xeno_yw.dm b/code/modules/client/preference_setup/loadout/loadout_xeno_yw.dm index d20efa7e85..ab7e3c7004 100644 --- a/code/modules/client/preference_setup/loadout/loadout_xeno_yw.dm +++ b/code/modules/client/preference_setup/loadout/loadout_xeno_yw.dm @@ -77,6 +77,11 @@ path = /obj/item/clothing/suit/storage/seromi/beltcloak/jobs/jani allowed_roles = list("Janitor") +/datum/gear/suit/dept/beltcloak/rd + display_name = "research director belted cloak (Teshari)" + path = /obj/item/clothing/suit/storage/seromi/beltcloak/jobs/rd + allowed_roles = list("Research Director") + /datum/gear/suit/dept/cloak/command/New() ..() var/list/cloaks = list() @@ -213,6 +218,14 @@ cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) +/datum/gear/suit/dept/beltcloak/rd/New() + ..() + var/list/cloaks = list() + for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/rd,/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/rd/black)) + var/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/rd/cloak_type = cloak + cloaks[initial(cloak_type.name)] = cloak_type + gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) + /datum/gear/uniform/harness_white display_name = "white gear harness (Full Body Prosthetic, Diona)" path = /obj/item/clothing/under/harness_white diff --git a/code/modules/clothing/suits/aliens/seromi_yw.dm b/code/modules/clothing/suits/aliens/seromi_yw.dm index f8e50f04e5..3213daffc7 100644 --- a/code/modules/clothing/suits/aliens/seromi_yw.dm +++ b/code/modules/clothing/suits/aliens/seromi_yw.dm @@ -571,4 +571,15 @@ name = "janitor belted cloak" desc = "A soft Teshari cloak made for the Janitor" icon_state = "tesh_beltcloak_jani" - item_state = "tesh_beltcloak_jani" \ No newline at end of file + item_state = "tesh_beltcloak_jani" + +/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/rd + name = "research director belted cloak" + desc = "A soft Teshari cloak made for the Research Director" + icon_state = "tesh_beltcloak_rd" + item_state = "tesh_beltcloak_rd" +/obj/item/clothing/suit/storage/seromi/beltcloak/jobs/rd/black + name = "research director belted cloak (black)" + desc = "A soft Teshari cloak made for the Research Director" + icon_state = "tesh_beltcloak_rd2" + item_state = "tesh_beltcloak_rd2" \ No newline at end of file diff --git a/code/modules/clothing/suits/hooded_yw.dm b/code/modules/clothing/suits/hooded_yw.dm index a9f800a28f..daa6d0d9f5 100644 --- a/code/modules/clothing/suits/hooded_yw.dm +++ b/code/modules/clothing/suits/hooded_yw.dm @@ -47,4 +47,10 @@ icon_state = "snowsuit_science" hoodtype = /obj/item/clothing/head/hood/winter/snowsuit/science armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0) - allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/device/suit_cooling_unit, /obj/item/device/analyzer,/obj/item/stack/medical, /obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray, /obj/item/device/healthanalyzer,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker, /obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle) \ No newline at end of file + allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/device/suit_cooling_unit, /obj/item/device/analyzer,/obj/item/stack/medical, /obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray, /obj/item/device/healthanalyzer,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker, /obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle) + +/obj/item/clothing/suit/storage/hooded/wintercoat/snowsuit/get_worn_icon_file(var/body_type, var/slot_name, var/default_icon, var/inhands) + if(body_type == SPECIES_TESHARI) + if(!inhands) + return 'icons/mob/species/seromi/suit_yw.dmi' + ..() diff --git a/icons/mob/species/seromi/suit_yw.dmi b/icons/mob/species/seromi/suit_yw.dmi new file mode 100644 index 0000000000000000000000000000000000000000..be7c859f5e71e96784abbf71db3d694e8dec4efd GIT binary patch literal 134959 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

@VjVJ31BnvB=g%3J1c| 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

On?{|2x9A0TSTA&oT{&4jcR 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