=?`r+{jodmnJEU%-3se2i=T$;C*^{s5&vVcBm%6fU>JUQ`ErQ5_1G+p+6q
z6IXu%X$l0qCL9lT0RXy#UD(o4kM23I16~upoFLgJ!QpUVZ=)4Y8Gl7d&7P#OTi+eR
z(Kp;U*)d7dNzQ0oN+>ZEzv7|9Yw*N>Unwy&qm5$pf5kQ&(0j~)x(lozwk*2Ip1A9>&
z*0^?JjcX_DMRf`Jx%T~duH2AP@BncN91lH2d&_B@=}?p4t3C~X%WA+v(U^I>>Te}w
zAbAyFktXbJRJX>S>1aa0dj&_Y^7ZQI1#%JeRX;uhvQY#(ujXNU?HKIVbxHF0gE8_F
z2=Gh+?@X|B3!!wUD>0spDR6bjiCXj~$8e46pW)Q1lkCdWn@6nQ$wra)}Ta418
zRuG#=5QKd7d(QV?`2O(R=bU@)c<%c=_ukjN2~QsDGBR*8kdcuw>g#ElUU|EJMn`j1
zu4D&2x^mee&n^75Uimrty7~CKdA}wj1LtKX*D-WSv1wyg#qR8a+mFdMEa~Q~s
z3EJVh3{i_g8-jYT
zEq&cjNsU?7dwgd^fpE^mSMzQYd5O>zn0pVF-0fRDS6(n|u}rV~oO%?s;PiPt4pXb*
zcaZOGsdTVrasiNi_Dz+dqBmGfu`cI*f|I%77%*bHb8k^zhW(W>;xk7!c&oCeAaEXK
z$8X4Oa^Kql+!~j)W?Xg=d0xp&!gIuNM-aSQxEF)}W?ttQWJ?^qKhjJ-xnj4-nPTh~
zF8j6Ryr9rldvWIEu61Ejnc6MQ=anO~>a_L@PNfMOV*KgpPiEf1nI{Kh93=+Lh~p_P
z*yEHFzvU(m`raC@jZDVht--h&dq2@SuepXl?qBZOm|TF0p`2owqpkOI8~5khK=sX(
zi#U`_lqp5|wL~lWHg)7EcYHaY{e)WPuNvRc#yH?I4!sZ1Waz!u9;!e(^!_CcvrPENbsC5rsFSTK9kfsr)
ziWL7eC_AD5Ij{#R{W`TzuDwjl|*mo4>h^ykqSc@vL2|M<-eI5@WSHV15n
zi?iBzU(Ef4fUFxE%U6ZVb#y@zEe#(pT@s}nXNB2RxZju3buerA8&iDxl&3ZBntapQ
zXrV!Mhzd>U@-55!y4SYN-x#%YB5z%b2tGOK5qqpYN6Xu|@fo)jxofi6(HH1p6Y#hq
zB1Q#B*}(k3`vOf3lf{Vhp8fHoZD~v~tjmSveQ>>jJlN#&Z8y#rbC4QHV!@<^9@
z0ygNzYM64p&r6$pz3;WhI>EA1%<7#v~{7-1(WSr@^;f7gzwPbB#Bzspgj5
zmMAR+Qr98`a{s+EF`Pxz-?(Q#6Q_E&+G5Jn=c~zbhy?nSV%ioGQ^DV2(@VG19!T46
z+PcZR-|a^UKb>UUiP*aHPv`~PM^LzKQ;nV=wS^qZt{|Nul37FfRp~W=dOQFsY|F<=
zKVdjQu;~b0oEbnUrKU~y_0*4Q_wU;#gmjDJ0SnBnI{ZuR(b7>osAeZ=Z6Uj{C}|2R
zb+Qa5F2+zZ4{lfY|On|R)U=e79UF-zwY};UYeP(
z?2(xJaMVSr6f3UQ_1W`1RN{Y}g>t290rO!QN#@S_+~l#qRWgTe)Z&5jyh2-B
z&Emnbd4SM)$adufmuI)u+Cg0bULfIl;A@y=AP=4kl5J4oz`{^5q{PhXkeFO-0_`NuuY|u
zoYtZmxmfXX28Ds+`)l7!i5rDX*d!NNsoS`#zL2=Y#b1xpLx62BHVe@I%$D*pX~8bv
z-J*gzG=zRSR{6{bU|ijscYJ(Z>c<*N{z=h~ap$54x<6m3DnUI8_}f|eWwo+5!X9fx
zC)#T)DZTaV>p7v|e&`myzXijhfQU2=lraG%8U3F7s~_gEML4-~SU1rMw-1a=;lV6k
z^VP@8ohDMbsRdNyzd?j@HR_l2AWn^>pp7wlCw)o<`FU4QWF(y}3&v;*J3T4nu4sTpx
z2;5&70fpj~g7%z_wtktVkchF2TaHSBd52m4wfOSaEN6GMT{;%QkHuT@F&T5=bc
z@?VP-ZT?BO|Y!C=T_@WOtx~0UErkrJu
zN_3n`3)kwr`P`Y9iK!`eSyZ3pQ5H=o2SD|fRA&6KO=G};L~UpA-y=X~il*(e2bn!U
znJz-wa026_KL@*8il+_uy}vD|S4&ES!_6-&>emP&j-gubVQO=3C^A}03AgA~rAhCPn%
zpZwCP#SfJ$lPMNM@K{yue&5bS!8}v74KSTjG()k>3&C-_x5>l$GP7iaC>T5{*RSpy
zyKoEuisdePmaa3QBY=FO-oL`58gQta-tIMyno4~sao2y~vVgwJuyniQu`9H}$x|w>
z0&E&4%2c3V~oO@@;H&a{#4a>6eK3(NsAN
zdsfj-B{*mp2i)anqbYi#PImK*Ch-}@-B$&r6`&v+0DNLe*&I=sHeTG;!DaTZE5E!C
zl{~O#D8`qVqfs(^-Bk2ICBwW%Q7G9r;#Q*&BwtFcDUlZjKs#*P_a#+ZHkUAAblzP2
zn5lj#*TzN7xpwz8-Gh&-{d!!Q(EBDa(AX6G;B8?&<$IR1p5~c=z#@fQJJ;5p!{>Sn
zAF^*MDT+OUkT-2`Mqm~Rs)zsr*wMXQ)PY4Qckr2
zM*WwHyKebWc|#@119l5S`vd_aOEW|K;AuF
zxA4Qix`@g2_#{z-pn-5?Q2V5(JAzzM^E*Td0lS2Vde3
z$qkOyl*bp+by$~fsgzBP-}^3Ke!A=!dc#!Ly_L0*cAb;_ix429`X@Cnhmu7%y~W@VfMKtAniL5RcPrO~l!+)Ql`
z9ksDoE@2c_u+kQB>MSD*{UUG@<`o19pNk70wT;-k2?Y&a*oI}C%=^&TbM|0nNXsv=
zt&uJOpcI(Y-R@}{e`dz)1Lao|DPCGylqS3|rF?*u3o^)~l
zJqj7t0?rU}TYac!wIa~Vl14=K(sA`3)5&%ISLVNhMb;dJ{2%vWW~|!X8Ns!u1l>ZF
zVP?`|lGx)u60`+LCrRy8<=Mhn
zV1jPD(+qrpK(s9c$670eG_Kcv$p7}_==1d|Y5?%V<>CTZmaNGMf9s)kA;=Wd0&FUj
z2Q{bfy^fATD~%KQ@yqZ@t%!XM9^@STxRSNk+2IRW_~45<&z4o3r6C!2?-VnH!`(%_c6<>V4_+
zC$-@r1-DnzGim+eouXX*i3*tE_Y2`NC;#EKb>@5>QX0j}pRL2o
zi1;;fA8Gwu)#i^qQ0|b
zwhINQ#A%$jwb}!>BB&a&yHleZ`M{WBwd^wClxVe$R3Q=(s)NN2b7Ob5;WgxD<_b4X
zRB>QM0Pv#CcR}djDg-~518lAMH+aXDV3}P3#bu`8!Ll;bDyfo5C=2m|gV}fQQ1JEX
ziu->K56vvBRpITCN9cvHNu`Cj4=ON^OMHl^M_5STYZltV=Eq^bu{HI9M*4>)<8&Y<%1xql_K2jt;18t^XSmi;Vj!X
zPAK$Rx1;b3#!(*8QR1BB@bt4N;6M5d)oNhMn627b9r-gz>(gE&24`u;xRI%pA(G
z2z!wz8R012498tWC?+3<6+rA+kjyLf&9Cip872XR&muym41jV)T}Ux|g+Ivy%zLVd
zQNRJD`DBM*O1yzWlm;uG>8EU%xdS&~G4y*Ea@%jSC4{|P=Dz02mL>FWa=Axd(2HyP
z3sW&bo028)&g}j{%opp9iP7s>aK0U9kV?`ky^IN;qn!bK^^fp*@*m6SOlq*ugh@Ze
zTe6t|J?7BN^F`Xg=`{e$|i2aE9S!h
zV5i$6+Sl1c_~`P!x@!pw*6sAnLx_$oOk+!EU7_~mgY^jxhQoURYnYDZ(wUxd{Y7V+
zKzcr&IVAbc$Gm7@Yp(VPdz2(S2=Et0UpK&^VoJYD1-aa)5vh7{_QvE_JPal@^6`wU
z;?9*m$lTWDXL(L8;i8**FqLcTKERIm75MU=hH(N#mXl`=?p?Gaj%1&0mqK>`n-r#?}y
zs;J09L{Sv5qCy)B9ZR_%H}wx<(2&c|Obm0A2xA0T%cBA)83Bxd
zVuc#3JL=SVu?2!wS<
z^V4$DNK3mAd-~qS5*oHy&*>StC02o8^>U=|?$k
zdw*JkoAINV6&%Og@K!p64TP9<9!l5}Qu0Y=KSUA@R-_Dp&2KwSQU>;y`JQ*=E}-Z;
zT!7e{Eyu||`><(EI-4q%PgJgE0g>+yPk&6qbR*qnU9)1~Tw8}n*2FK&dF&$?(OK8r
z6?7@8raI0|Y|JwHm5|UWLAU~kmE7miof$r8-Ubc|z24Bs(ICKkid_m-zJmQH%
zRIsOqdqz6vSX3Ba5wJZs;EP9kM@miZC^Ak<9+X)vxPlI#kcUcH@qaoc+<3Z-PU>Yp
z-tQkj2sKY^!k7E{T(~NJc48-EJr#a)w#qT;4Cz`k{JE=1FBPEhxn|o#Z*BNWt*bfI
znlg}YhBh*KOJOJ2gSId-Gl;Slq*bC~FOW4wu37K~VIv3j(*LQ$V3mj};=Y6G!u=iy
z(eonxA4!W|vl6B{EiplCurjE>bW9|*y}D)9*X1gcma_!+;&@==?~+-2KkplXNL>aP
zDYOF%aC{*zc6IW1wF?}=pkVCZ4{IRA-ivO?wiqqS@Q%ne4dCkW%afw**%~6x
zAf1^N>I_R)b?XXc!Z~%$#&4PB-GAk$W1dw$bhCBM%Ub!uk+5kJi=`Ymgws?UdZUg6
z5+kLqvwsgCj-5_~ed+Q3jId}ZE3JS)YX9AS+pP@{hgj-DT^)su?2310Ffg
zs_O9C(#x@#nMYeRQ~&R_DqeWHopWJQc@#;a62PRO*pBaaUwu52>1#jMf@|2l{U5Xp
B>QDdx
literal 0
HcmV?d00001
diff --git a/tgstation.dme b/tgstation.dme
index f21d62875e..7c3673bee2 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -3615,6 +3615,7 @@
#include "sandcode\code\__DEFINES\wires.dm"
#include "sandcode\code\_onclick\hud\screen_objects.dm"
#include "sandcode\code\datums\action.dm"
+#include "sandcode\code\datums\ai_laws.dm"
#include "sandcode\code\datums\shuttles.dm"
#include "sandcode\code\datums\interactions\_interaction.dm"
#include "sandcode\code\datums\interactions\interaction_definitions.dm"
@@ -3647,6 +3648,7 @@
#include "sandcode\code\game\mecha\mecha_parts.dm"
#include "sandcode\code\game\objects\effects\contraband.dm"
#include "sandcode\code\game\objects\items\airlock_painter.dm"
+#include "sandcode\code\game\objects\items\borg_shapeshifter.dm"
#include "sandcode\code\game\objects\items\BSRPD.dm"
#include "sandcode\code\game\objects\items\cards_ids.dm"
#include "sandcode\code\game\objects\items\chrono_eraser.dm"
@@ -3658,8 +3660,12 @@
#include "sandcode\code\game\objects\items\plushes\goat_boss.dm"
#include "sandcode\code\game\objects\items\plushes\plushes.dm"
#include "sandcode\code\game\objects\items\robot\robot_upgrades.dm"
+#include "sandcode\code\game\objects\items\stacks\sheets\glass.dm"
+#include "sandcode\code\game\objects\items\stacks\sheets\mineral.dm"
+#include "sandcode\code\game\objects\items\stacks\sheets\sheet_types.dm"
#include "sandcode\code\game\objects\items\storage\backpack.dm"
#include "sandcode\code\game\objects\items\storage\bags.dm"
+#include "sandcode\code\game\objects\structures\ghost_role_spawners.dm"
#include "sandcode\code\game\objects\structures\ladders.dm"
#include "sandcode\code\game\objects\structures\lavaland\necropolis_tendril.dm"
#include "sandcode\code\game\turfs\simulated\floor\asteroid.dm"
@@ -3699,6 +3705,8 @@
#include "sandcode\code\modules\mob\living\carbon\show.dm"
#include "sandcode\code\modules\mob\living\carbon\human\human.dm"
#include "sandcode\code\modules\mob\living\silicon\silicon.dm"
+#include "sandcode\code\modules\mob\living\silicon\robot\robot.dm"
+#include "sandcode\code\modules\mob\living\silicon\robot\robot_modules.dm"
#include "sandcode\code\modules\mob\living\simple_animal\friendly\doges.dm"
#include "sandcode\code\modules\mob\living\simple_animal\hostile\megafauna\blood_drunk_miner.dm"
#include "sandcode\code\modules\mob\living\simple_animal\hostile\megafauna\bubblegum.dm"
@@ -3741,6 +3749,7 @@
#include "sandcode\code\modules\reagents\chemistry\recipes\drugs.dm"
#include "sandcode\code\modules\reagents\chemistry\recipes\fermi.dm"
#include "sandcode\code\modules\reagents\chemistry\recipes\others.dm"
+#include "sandcode\code\modules\reagents\reagent_containers\borghydro.dm"
#include "sandcode\code\modules\reagents\reagent_containers\bottle.dm"
#include "sandcode\code\modules\reagents\reagent_containers\spray.dm"
#include "sandcode\code\modules\research\designs\autolathe_designs.dm"
@@ -3760,6 +3769,7 @@
#include "sandcode\code\modules\ruins\lavalandruin_code\doom.dm"
#include "sandcode\code\modules\ruins\lavalandruin_code\kinggoat.dm"
#include "sandcode\code\modules\ruins\lavalandruin_code\misc.dm"
+#include "sandcode\code\modules\ruins\spaceruin_code\hilbertshotel.dm"
#include "sandcode\code\modules\shuttle\spaceship_navigation_beacon.dm"
#include "sandcode\code\modules\spells\spell.dm"
#include "sandcode\code\modules\spells\spell_types\shapeshift.dm"