From d3662137f89fb23cde6284dc1365988c87e87ef4 Mon Sep 17 00:00:00 2001 From: Iajret <8430839+Iajret@users.noreply.github.com> Date: Sun, 21 Apr 2024 19:49:54 +0300 Subject: [PATCH] Arcmining QoL: GPS component to scanned vents and vent(pin)pointer (#82724) ## About The Pull Request Scanning ore vents will now tag them on GPS so you can find them easily when you are prepared (and remove them when they are tapped). Also adds special pinpointer to help with finding unscanned vents in a first place. And adds missing uranium overlays for scanned vents. Because why not.
![image](https://github.com/tgstation/tgstation/assets/8430839/d13df20f-79c0-46a7-a602-81c630309a2d) ![image](https://github.com/tgstation/tgstation/assets/8430839/72690bec-dffd-41a8-8a5e-1ceb7ae182d0)
## Why It's Good For The Game While looking at mineral density to find vents is somewhat fun and entertaining, having some sort of upgrade to make finding them easier adds a bit of a progression. Also re-finding already scanned vents can be a bit annoying. You need to fill your backpacks with GPSs and tag them manually. It is also inconsistent with geysers that are added to positioning after you scan them. And with tendrils, which are always visible. ## Changelog :cl: add: added ventpointer that points toward nearby ore vents and can be bought with mining points balance: scanned ore vents can now be found with GPS fix: fixed ore vents missing overlay icon for uranium /:cl: --- .../orders/order_items/mining/order_mining.dm | 4 ++++ .../objects/structures/lavaland/ore_vent.dm | 3 +++ code/modules/mining/equipment/vent_pointer.dm | 19 ++++++++++++++++++ icons/effects/vent_overlays.dmi | Bin 1404 -> 781 bytes icons/obj/devices/tracker.dmi | Bin 11554 -> 11771 bytes tgstation.dme | 1 + 6 files changed, 27 insertions(+) create mode 100644 code/modules/mining/equipment/vent_pointer.dm diff --git a/code/game/machinery/computer/orders/order_items/mining/order_mining.dm b/code/game/machinery/computer/orders/order_items/mining/order_mining.dm index 0882c9ce99a..13f350f1da1 100644 --- a/code/game/machinery/computer/orders/order_items/mining/order_mining.dm +++ b/code/game/machinery/computer/orders/order_items/mining/order_mining.dm @@ -107,6 +107,10 @@ item_path = /obj/item/radio/weather_monitor cost_per_order = 320 +/datum/orderable_item/mining/ventpointer + item_path = /obj/item/pinpointer/vent + cost_per_order = 1150 + /datum/orderable_item/mining/boulder_processing item_path = /obj/item/boulder_beacon desc = "A Bouldertech brand all-in-one boulder processing beacon. Each use will teleport in a component of a full boulder processing assembly line. Good for when you need to process additional boulders." diff --git a/code/game/objects/structures/lavaland/ore_vent.dm b/code/game/objects/structures/lavaland/ore_vent.dm index 70ab15427b7..a6ab8a58d70 100644 --- a/code/game/objects/structures/lavaland/ore_vent.dm +++ b/code/game/objects/structures/lavaland/ore_vent.dm @@ -270,6 +270,7 @@ balloon_alert_to_viewers("vent tapped!") icon_state = icon_state_tapped update_appearance(UPDATE_ICON_STATE) + qdel(GetComponent(/datum/component/gps)) else visible_message(span_danger("\the [src] creaks and groans as the mining attempt fails, and the vent closes back up.")) icon_state = initial(icon_state) @@ -308,6 +309,7 @@ discovered = TRUE generate_description(user) balloon_alert_to_viewers("vent scanned!") + AddComponent(/datum/component/gps, name) return if(DOING_INTERACTION_WITH_TARGET(user, src)) @@ -321,6 +323,7 @@ discovered = TRUE balloon_alert(user, "vent scanned!") generate_description(user) + AddComponent(/datum/component/gps, name) var/obj/item/card/id/user_id_card = user.get_idcard(TRUE) if(isnull(user_id_card)) return diff --git a/code/modules/mining/equipment/vent_pointer.dm b/code/modules/mining/equipment/vent_pointer.dm new file mode 100644 index 00000000000..4edab185597 --- /dev/null +++ b/code/modules/mining/equipment/vent_pointer.dm @@ -0,0 +1,19 @@ +/obj/item/pinpointer/vent + name = "ventpointer" + desc = "A handheld tracking device. It will locate and point to nearby vents. A bit unreliable though." + icon_state = "pinpointer_vent" + minimum_range = 14 //gotta use them eyes + +/obj/item/pinpointer/vent/scan_for_target() + var/closest_dist = INFINITY + + for(var/obj/structure/ore_vent/vent in SSore_generation.possible_vents) + if(vent.discovered || vent.tapped) + continue + if(vent.z != loc.z) + continue + + var/target_dist = get_dist(src, vent) + if(target_dist < closest_dist) + closest_dist = target_dist + target = vent diff --git a/icons/effects/vent_overlays.dmi b/icons/effects/vent_overlays.dmi index 54ac3d7a819bb01d19e11503e6a8339128453732..375117f4c79f78fdc7bef6b8806b32f6a5e08435 100644 GIT binary patch delta 768 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 literal 11554 zcmcI~2UJttwr&6cm8K#fAmA@3MT&}2C7`Gniik*WR*KSlOM>MG5d{GOsX@9Ry@Z-5 zNHg@_l7NI>A_))^Qr_l&_q==0IPZ>o&K>t=WR1Po&dgeC&+^T==91N*uba2Oo0lgD6r7Qt)EoQa{E^Q7 zZF#Yl)|&%uj`i-B#06-F^XfP*CD*xO#BeYHXCWcEz_xrD7Czj?IT{^^-;>5k?k;n` zT`>H4(hF=U*XX_YG-Ey>GDj@fqG>HI;5%F2R?d*xC!XUMJQe$V-sB9u=PDznuRb0T z&9ky}OP|nGaNVwOe|ehgg}+9pTSkW){jo&zn97fghA%h$Cu0~(#6c(3b4!Ug9IGx7JTWXfsr_s6$FE8^#_ z2>rOG0aF@&+?d$x{%3HBHS&2d;&6YJ`q8VO$F5hkK0jfjZmvBOn6ULY!^A3)r!go# z;?8B?c$yKDEM$1kCUni+uJlHs(7A#uJ8TYe`i~dz-z-HW4t}CfkFVxjJRcY=6$h1lZLS}^e)sD8<3+wl zkJg;sQC1rpixOEs&EucXL$CWotq7Z3Fp=K)YMnXau*!~UD}AHPm^{5YHI`|8MBYkB zPTgzkm{_*nF|z}jXx&!PK6~F(j3y$rXN?+6xG+v&=p-hF^iwia6Ypr86b69~T5_+k zfk5x$DU-dfgp|^HF<9%kxrb^6|JL?Pn+{qh@ z{mm*>%|W`P>O1RC(#`&G>Ph$UdkjtATPFSWfbG`JAF8v`QQ|c&-%GW8>;ITr*xmeE z*+!fDT)qli52BBn-d5s&>r^hME zC&e^brHJMuzw1FVDxXaToY2r>zXcA~=D2kguK#SGza-cUr8m&Lz;lX{?|)>hZYsCf zCN!q(mp$cY|2d2ER8hW-FvG~mv5Um3vSr!)VCt`2flK9df?`mr4AeYrZ=iZLXjk(p z?>B#HH?o)I>Xj=Ad+M>Bgf1QZGTphluG++P;Z-w?-Yu(ZPL-EpJ=v5M%|1>UGo7u3(#!@T78(%=uNM&+9&0s<#TiNqn0gc&KELD~+h!L>WX zEyQy-Kfp{kZdUQgKysr5E=ihH)Zxv`Nrlg97+Il0-~k5#tnCq3lsfs79nU?czezTA z!E}6izjN_^3_EZ879>kGAhKm?nOfMT95XQ!v-&IItGK^(ZxDzs3jy0jVMp ztCmk|%1wIWb{%VuULA zisenL1NY|!=*9T4V#5}h(PDt^-p;gbH8AI`$qHt}3no_fhd?MJh^$nF4KHzDArNO2 zbkoOJ{xUn@*>XI1w1N07f66lKUcxrw+4yzOy{5`}8HoN~Rt};!bw(M_y)Mbgm@|;N zmC)GNqDWH9>j){4fiU{O2IijVXbPM3{7i1P?$op#WVN0}u#9`ul2!-GfI3@2*JM?G zf$yK<&bz`9t8=)~x#`|{YAP?Uy!v+uP6wR-@k>Wu{pKi3i+#cMUi+@XY+62Y8Gkmj zP$G=~*)4=}{4m@)G$s-^%`|d#q?$yhpy_9o=nJ81bDuK9et)iw9!GbMuNJbF4At**6cm4n$BtZ^GQPI(tj>h4!Od_r@LrYhyW zbrJMf73g$kE}$xcZpWlB?l?Mben?5t#*r&i7+p{%bxDHgHqa%Dp!Y19f9;YVmc=bA zW~f^7EWI7waRHy8`j*>ixP0-NTv%A>OE_b6&&sNhMDi^xE4v-7yl2)bc-Ht}i0R9l zU@E}{jDB<$eqvS@8Lm{nAkH6k2I7(xQn0$ZdK%f3(l%F-tZ0)XZ(g7wptF7FCeym5 zyb(*j3O*Wd3Z^m%h4x>`&NC+|3h>Qb3`f|Vu6{gy$+2{>qjXQkZ%U81GbdfWe z1^ZB-TW`sOpqt$6oI7sn%iQFVsPSF+Ae6OL6oqPqX$nta$V`d+=vmT zGMmmK!buE_=`%rpV6J&X4ZO7qe4FP;diZz}dRd4LVxLuVqHvZ3k*iCBh`7U1ZMF@* zPs|UAnEDRM&$$g3Xb!`CO=FO>H@J&yYlf zFWdgh7vs~85)!38q|OO_0>tSuUFRXDKm=%QQ^J9svCD2uM8o}JPD+l zE6kn}*!=@Rx6X~s`~#v@_b8Ci7^^S*JB>QqsFRi(5YN7eZ3?QUI3PVUCGC;2(hXiH zY5}l%8Hfs$wb!`VscUIs@(veH?(N#x3>gQgRTCuAS@f;>#+w&0@RdFM_$z*id&AW( zv-?Z%u!XgC;%OAbWh#&Gfh@Q??ut_~0)Qe}kC{eOuakR)T~@qXNXM%)Tq zK%ThEy3EQD;7c|p#r3AA2x0I(oA!zHSidFbb`la9j^lotQSGw^W=!XiYaaDK;9D6! z<4Y5WLoZ;a-vbgH9Ss=ZQ=iEeRdtp-$^UF+DE|;q`%wokWavlIxt$_@=f_gsj~?Yp zhOJ+?yu1FnEKaAOqobo}+8}(sxMhwEq5c1_@am z4w$@rU3k#C=DOWj&#yNF#+RWdqU=zcQNG7TL=0|Yk+P+B$lFFK%DofLG!^K^IVBv5 zYK0zt?PV{d*}Kgf0iXy)7QueAPxSISuLYw{ZEmN(#a6KE#6ygF5@i^9!=X2-6bIYA z;q+Dus{T?HMCz8sqv;>OuQ@8tLw~-z-TeeAoszD7@L7BD)LZzGsF6z?lB&*cBl#uL zyal%j-HEjx(`x&RNTr?lagWJqdlvuV>R%>n$|hY{v!E+MHA5wwW<7q;^YKD2&IQ{T zkno|BoofJAc}PsNz1-I$rm<0LXA`S^w@L{s0J3f4J#niQ7}qZIxeE!T2-*<&3s8Xt z{VRxyf(dUcA!p{cH?UT<0kxrvsj}>>U@*yp%m(Tu2XN7QR83#e5Pq?fiMrG}Dkx$R zSkB)ju*GsWFTeR|$zs_06||h>Z()7o{tRo9al-`>JuaY$v<_TIdSdhfH|V$Q=iKZisVifPdzQ3{fIX~(*LMdbG0`+fSv{-1zhOzBCzy#! zVb=CiBrg5N<-r2&oExK)(V8$tUC=2%Tcugf^jIUUvPo&}BG%cJB&O4QnVpSktJ+$V z>Jkoa{_D{Gaj~^rW!8L8Qzjhx7-nej)6id|9;|d|pF(eZDhii}QMnyx!+9jTw3X2EHJ?yo{etNSME8P0;JM;r z|6(J|Z)~fvnZ=V4!ngjN3teAM)mVQWcI1yzcoUP!ypU)^>DJwi);&sr7JdE*a9jYZ z6Hq)nzl}RfO``A$m@szR`tZDR{4(f#(anaJD!+838rtR01+*sIvs`_pP~uCAKG;yw zSffbzkaY9SV874>dvifeyyO@)4=E^1CaB2IOR>irQBwpwZYiKUS6XU`+xz{B3Tq{ zSmsZ0&!H}#c@q*wa^k1`MY5yN?RuHd#HMgp{U52&z1`80B~&pWOxGuINyX*mUW{~J zMMc|X`vG+MOnG?bA-n$XUtHL4SR};;scll`kETCi{7!TdwRiy&dFYjUyYrGov z=8v=ltHB4`wFOh?aQ59zub#-sIPI)#=O>jmqaATq>%PDn6y{lPKcP^#ZF21wm$x{& zRb9Za$(hfLjESEnXYgKe%??Lxt!oBS9d&dHSqJYP4Owuwb1G88PY$ub-s z@N;G*A#b%jybVbQjJe3W6=OEu+q^tdg!$YPj>qmqCaX*){;JE81>2e%Hq$HG1y8-O z=eEXAr3mx<9@~@%=$n0{o(JR+|5a_Cka*<;_w=h*yfqk=w8BaV=}?kW$@1vWN;lU^!1`2E&*5QF>N0!2!N6 zcW(vl!)$`PRjNTqI?>LFuH_#~(QU<$^Qc*1Kj29CW>RAOR z5Xklz5GX0(KILfau(<7y@)x$CPY)K@l$R0L-!;x?%=UCquUG$gyl>QI)R)|Wv5nC2 zX@fKduAK$OP!_x(XOpEsvvHO@K!E*NGClk6_WgesQvcJj_dgO242FV0zT*rXZcSZ{ z3hl=_{DktoFn-_W6o$Q&YUT|#j$7S%CT$Xsw7j{#d1>UG*7I90Ihyo08|5HkD^6p5 zDW>l-`oC+L0)$ihqbxaXt#o6mG7oX<2)ZmH9Gcg1_zAc9IeAaHc~Xt1K1fvKGgS~` z6UJ9APLq5J{;VUHy-ZZ&3!-PSg;ftZ;IGYjYe;i&9J#WVYOO}-bQB?g_0VM7M7}s( z>SrL{*W9qCPcFl^M@~XZ{%}W#{ey$tDY)7-6m9lESDjozLmD6|SG=TQYiRUA!msZUZpW8ZytY z?LBEdR|E6P~CUgPT-giy0V>pXEaFN*fkyq_1N0;WN zGb)wiT!sOz>^%O!M&I|BConzFg<^3OZBCENe)s<*-wL?#7;3y2mI??kb;nq7Qq-V8 z2|&$YmwA}3WTnj*z;~WpNB=W>?25&e>x#siyZ;XCtbnTATQPw}20% z3LQ9nLT~6;?-df&m5?3R(N~v?ZdrQ?NJl|dZk>bcea*_~us)9A&;S;MSPeXR@3D}$ zK8T*o5pezVYBi=-nsaexolWIF$UQeXcJbN|Yb{dWi@ z5*d+y-r$iSF6=KlRh%DGV*>bXLPHVYU5Qyyipl7Po^Xc4allEgD0%_$u?Tr>LRy%fzA(O;a5y{zV6feP`U z_gOz*utQ9$m4bFHJhXD|+bF?hDBqs|KG6pwyIZ&WrKoslFnS?LCSODFc4GuS7_D}Z zoC)Z~17Y4%t~l8yZb0U*aYn=ALf0(SqoVQSe5fEvmHE^j%ODJ${RMt!Lx$R67!*@2nS?-5Sat1Q0I zC)2?RH`t^-M)RNiQTXK&DQb3UN~-L0bcTS1B_}g#vDfSN0LE+Qw|W%)3P$BzfFe^k zv+AyF#w;zv&FM)+L`<3uHTeyYMX@Oz2TagOw3_|H z%kpb^bG0*<@52u9;xBJ{U~N|yI}ff9jIR{o;YN?PRMD5I$wUY4m!Zs*yr-s~Bf)gZ z2$z!& z4)>{toPUBlIvLFT1AFbzp8iHWypABQ!?FsiqhIeJSOxpddv_+Z`bM?RdEexEymh$i zAzJ@5F7+e6y6RN*5tUt`Ah~ZP-e@?h6x(?k|CHh7rU+Y*{ZSpteCBxt=7P-ASyERQ zt`@B*sn0%Dk?Q(*QSiF8crXS1Ir}TiDtogBLE^K|fmT$iR)%A_m-`OCux6DQVXg`9 zfdrj9+&M{hBedlESE%(&&Lm<|w34^zx!G*>m(J5{)@BBUKkkK z8791NWID%2@G0tk?OCi4xbmBBy|R16OaDj2gjLS-7Iwm|UtiCJ(tBa7-c!00;U(yA zcU~|McbPiOtBWqS9RPNLBI@S<=T)|=ft^WKDGy3$kOW1zfAHgMp6%sHZ2Y$lFGw%! z-}PA!03f@#PbP+jh9@CnYVIHFJh5UyO%$5YIm=fsBqTtf?v;=0>Hu2Rh1U24xY^v~ zsmROwE~*{)gYi&7}LcGvun_LKbhV||1gzxFpmpAr&|6@L13 z^|HrDs7OZe^RMe7p!dCZv)DQ}m-s9!Z#cK6X0SD-XFq%P>E1^+**+JVnKy++3xI<@uiVqJO&GD4cb;;w5NGc{Ku^GdXNwJGs{|(e zpam2*xolkZ~9u zE47n%0_1}E4DT2Kc&-^cyq>bBCIbRhISlPZD2?9Hn=;&?RTdc6k(s}$GPqsW1SPs25OLX0b<<<`((jAAkpmV^*nH1yISEZv1I-8C>MzI}6Xnv{spp=KIM{Mj~&S`rZv(fpg5m}6YHcu% zJV;x)Wg(YvDDT{g==myx_oi1S<#r+GPnPjt876H3$*iSksC2g$dKdKg`Mb^xf?zuO z=G<3RrH1MYl<+%>7X`a1;RNvE6I~DfCe~A`K)5>*$_oM!B=`YW`t`pPs{9MN_y00h zeIDBlYpd^VzwL)C6+OzIuYQu$?FF1L_~lCzr~b{F5a<46b+G6^U$(~vWm0}Db?RD? zf#^~1jTS20J(IG{d%~NO`aSX8L&SkLuGHi>^bS$iiHtQ~TQH!>-6trn z$s#7`m!)6y*AV(TX2@47yNqS<J+y(WSFLjuJHQU8OZy~n2Jx>S zH~g2c{4XA0{G%Qv;&JdhFS%htjI@#Jp)pR12rcAC?7xTp*+s22BcoCZC_0#mg#Pcv(r!(mL%JHtRDBgx&n4ZYg+joN zHOukuRcr+Qa0B%8lt(7l+f%xbzitcp(HV3ZAR3IQfi^A(krJ;1o^&WVM)l4b9XS5( zqu&C7Hio`K%zwu2mP&a?-X+J<4;YJ#>~^x6AcV9g-fKDs}>t%}CR5d*j#7pco}&NVfd+MDI2xF6l?@ zuC-r=%bMlOXD$xcgmS8k1VPrraMHSdmI;<7q|VHMJ(Oi076 z3*kGWem1A5QvQ>IK?py7${|HKoE0~}IlRUgp2|S%^46QLxI*sw<$rWTSa=+~A_!`p z`5B`$mtCJ)dFEtZW>nDXIo0ylO-#5{hz*or$`%S8ftHsww#Wgg8-#5>7*%K##U(YW zjt+b@vx9*#9;TCr6=rYe=b9J}^w#{~evf|0qq2M~wzo=Qt{S|N?}VrL&+NSHKXL39 z(~TH7P!2;~*`&c%&v9OORl8#wdLGOgkw6%Y*KHW&S$rJ>l12ijSl@*m2UKS#T9IjN z0u8&*o^RW$Ey?)zdYHIzDw&({y@tqo33)dK!w~23g+}RQKBC3V^mr(v-$$$^>fCkP+gCi@?q%!5Yc9VhJ z1W+xJoBc2DDKytN%Tlal{B$DLzZsaZ1497$0=A$arQ!-nj)<9SY#gHJ(UpzY4wt>2 z{LV{2y%qj75TjzW>U5cH<2lkFdwO@8-eJYw%{Gg8E9{N_!|4Yh&gjh^Tr80Re@AfX zs7B&egH2yr-m_ny!PXY#6xD0|qEp|E3XNgB7<;mKHK_*qT+SJ{udj`n8ie;xGEIlE z4l3o=W7JED^y)o<0eZ*k8{m4rJ1AxPDV2@q#tl zbP_OtOgByMlv)h?HyRNSYj^K}=7hr^*tA+=SO8_;LZQbv(5$r1WDK%1{W0fK={}mB zDA3DE*1=QS^rsM~>h;xCZOQ5S2d|4uh`~Kid6O}$ADw@OF3h*qz;1T(zPpjY;MEX6 z?47f%kGTNSyJP5?Q7)Sm+!}h~xsOZJ0-kCB8CpwMTWyWcJw49a{uXtuo8AnZzDN%~ z=i1>=9{em_HdL4nFWe+H3pX&kJ5yvXXWt`nZt8Jex`dp)z1Z)JJLq7~8~!P=cx&ES#!Ak(}d01T@F-!fi_ zF+n=1Z$2~u@S>YwsNpkoTz2rV6sARhy03|0-BFow;^H!wlZfwmI$dAq!OQHk%Nly90uXhE#SyZ%(|*qQu^0(5g$CvI)8#Fj1nR&iMyOA(RHB%%9f`G;Xqu;to$_bB zY3tTG0gMW!PNu0qs-1h^q(Kod+DiPIB<%MCd<_Jv@M)#stO0;Ym9ZM(z!}%?BtMeUP4)C!k8ZN`Pu=d#PwNqc>8i}J8NRf62 z7RkJ1L^e}u=BBm)am32m@n{f(1twK>BodqSU&gJbJ2hR{q&-2y%tF7h!jpB;`hRH&>4fVYOJoVYZy%Q%w@vB?y(cCKQ5Zs6RyQ_V61kY}sDh%ZhD+{Swue z**J^$dbU=(eVTm(7Q;MN<7&K75wUOl*noVM%l9aa?08ref=5e)ag=o*s#xbfgdUR)jr@7 zaV^i2ey!tLYO^;9cI^Ap0az?PAvO1+QLA?oJFU1shYfQVO^*>)I=nGasUNnx?zZ!+ zGgjgUVLgtXm}S4~?>bqH9;zt^+wtfxB5;=P-D)TKUXy|J z;vC)Q?f}NuKAC*T2OztaZk>teOr;%K^rCeNpXABO10(*}Y(2F@xcWy(<)-bSu8^4j z_m&I=Aaa-&b{~e#{a#B<@@GT;2X6rB^otUgUeb1dI>pb*SlZ=JS2IvF#FKWL}QHMhk5_P1Jt5)Sbg>EJs0%dHwaF?{X&?*zY1ce zBKJ%0{_|M<)>^Jy{N9_Gn9?W^C?p!lhyAm~G5=1e={iU<$TSt()ka)e4{~(a%OOMB zU@pKzi8UWK(3CQej5Viq#DMoGgE-8ZHZ)BCEZ2zT4UR>F1uL{)P&W0MV_08^7mE!t zBoewaQg4J3JA9gw7|G~caau0b-L%OseHSJJX=~h#m$~e&mACb%-011aaN$d!iCb=5 z;W^>sMz*XaT~v+Z5N+bx?r=28LB)-MQg^aeaf7=5vFFzNtX~s}^($Pw@>^mfqt;;m zeyn*ngQz-i10(hB15v#kD7=C(z)Ns5mkC2sR5d}^ z+Nf_~XHj3{&nZ^23^t@ladj6RR(dl^O>!_~Ug|0N#78!ch<6_-Y@Nwo13(3UTsl90 z!f_`QZkoQ`)Mg^cm>})oxIkSnc_Hr{l0)^L>(ooPlIsgiPlvbks)9VR2^HZ;6tgnW z6Zk(HDd8wj2^8aE(Wd1#ecq{prm zXnXyFvdU!~{5MSXAF<|n;xTqkEbIMdKF&9KW1KlMF8v8^12wLdC>#2yo6&=>FT5&F zx#UVKo0|$OBDU>aDZ_T zE$@f#*b^Gi#W4DaR;Bpx%}>#ijJSI~RgJ z2vnYa<>Jg(0z&SJZ&$7Vu@?0|HwfUbp!2_2Y?iDt#|A8I6a;)AH*Q}qyLSJ@{{i12 BEWZE% diff --git a/tgstation.dme b/tgstation.dme index 1d9394a9fd1..765bf645d3e 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -4539,6 +4539,7 @@ #include "code\modules\mining\equipment\miningradio.dm" #include "code\modules\mining\equipment\resonator.dm" #include "code\modules\mining\equipment\survival_pod.dm" +#include "code\modules\mining\equipment\vent_pointer.dm" #include "code\modules\mining\equipment\wormhole_jaunter.dm" #include "code\modules\mining\equipment\monster_organs\brimdust_sac.dm" #include "code\modules\mining\equipment\monster_organs\monster_organ.dm"