From 21fbad04bb35dcf9982a4762b582502ecefcde68 Mon Sep 17 00:00:00 2001 From: Crazylemon Date: Wed, 9 Mar 2016 13:36:18 -0800 Subject: [PATCH 01/44] Fixes the RIPLEY objective, and changes R&D's objective to ship disks to cargo --- code/controllers/Processes/shuttles/supply.dm | 4 +++ code/game/jobs/job_objectives/science.dm | 32 ++++++------------- code/game/mecha/mecha_construction_paths.dm | 6 ++++ 3 files changed, 20 insertions(+), 22 deletions(-) diff --git a/code/controllers/Processes/shuttles/supply.dm b/code/controllers/Processes/shuttles/supply.dm index a32ac4a3d0b..a1d0af01dd7 100644 --- a/code/controllers/Processes/shuttles/supply.dm +++ b/code/controllers/Processes/shuttles/supply.dm @@ -177,6 +177,10 @@ if(cost) shuttle_master.techLevels[tech.id] = tech.level shuttle_master.points += cost + for(var/mob/M in player_list) + if(M.mind) + for(var/datum/job_objective/further_research/objective in M.mind.job_objectives) + objective.unit_completed(cost) msg += "+[cost]: [tech.name] - new data.
" // Sell max reliablity designs diff --git a/code/game/jobs/job_objectives/science.dm b/code/game/jobs/job_objectives/science.dm index 64cd041838c..8f1a07928f4 100644 --- a/code/game/jobs/job_objectives/science.dm +++ b/code/game/jobs/job_objectives/science.dm @@ -3,32 +3,20 @@ ///////////////////////////////////////////////////////////////////////////////////////// // MAXIMUM SCIENCE -/datum/job_objective/maximize_research - completion_payment = 1000 +/datum/job_objective/further_research + completion_payment = 50 + perunit = 1 -/datum/job_objective/maximize_research/get_description() - var/desc = "Maximize all legal research tech levels." +/datum/job_objective/further_research/get_description() + var/desc = "Research tech levels, and have cargo ship them to centcomm." return desc /datum/job_objective/maximize_research/check_for_completion() - var/obj/machinery/r_n_d/server/server = null - for(var/obj/machinery/r_n_d/server/serber in machines) - if(serber.name == "Core R&D Server") - server = serber - break - if(!server) - return 0 - - for(var/datum/tech/T in server.files.possible_tech) - if(T.max_level==0) // Ignore illegal tech, etc - continue - var/datum/tech/KT = locate(T.type, server.files.known_tech) - if(!KT) - return 0 // Obviously haven't maxed everything if we don't know a tech. - if(KT.level 0) + return 1 + return 0 + ///////////////////////////////////////////////////////////////////////////////////////// // Robotics ///////////////////////////////////////////////////////////////////////////////////////// diff --git a/code/game/mecha/mecha_construction_paths.dm b/code/game/mecha/mecha_construction_paths.dm index 519005f2cc0..80b883bddd6 100644 --- a/code/game/mecha/mecha_construction_paths.dm +++ b/code/game/mecha/mecha_construction_paths.dm @@ -86,6 +86,9 @@ /datum/construction/mecha/ripley_chassis/spawn_result() var/obj/item/mecha_parts/chassis/const_holder = holder + var/datum/job_objective/make_ripley/task = user.mind.findJobTask(/datum/job_objective/make_ripley) + if(istype(task)) + task.unit_completed() const_holder.construct = new /datum/construction/reversible/mecha/ripley(const_holder) const_holder.icon = 'icons/mecha/mech_construction.dmi' const_holder.icon_state = "ripley0" @@ -575,6 +578,9 @@ /datum/construction/mecha/firefighter_chassis/spawn_result() var/obj/item/mecha_parts/chassis/const_holder = holder + var/datum/job_objective/make_ripley/task = user.mind.findJobTask(/datum/job_objective/make_ripley) + if(istype(task)) + task.unit_completed() const_holder.construct = new /datum/construction/reversible/mecha/firefighter(const_holder) const_holder.icon = 'icons/mecha/mech_construction.dmi' const_holder.icon_state = "fireripley0" From 55e527b30376e3375d0948f2ae8686eae7791a9c Mon Sep 17 00:00:00 2001 From: Crazylemon Date: Wed, 9 Mar 2016 13:40:52 -0800 Subject: [PATCH 02/44] light fixes --- code/game/jobs/job/science.dm | 5 ++--- code/game/jobs/job_objectives/science.dm | 1 + 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm index 5247727034a..c52a783b3ba 100644 --- a/code/game/jobs/job/science.dm +++ b/code/game/jobs/job/science.dm @@ -20,7 +20,7 @@ // All science-y guys get bonuses for maxing out their tech. required_objectives=list( - /datum/job_objective/maximize_research + /datum/job_objective/further_research ) equip(var/mob/living/carbon/human/H) @@ -58,7 +58,7 @@ // All science-y guys get bonuses for maxing out their tech. required_objectives=list( - /datum/job_objective/maximize_research + /datum/job_objective/further_research ) equip(var/mob/living/carbon/human/H) @@ -94,7 +94,6 @@ required_objectives=list( /datum/job_objective/make_cyborg, -// /datum/job_objective/make_mommi, /datum/job_objective/make_ripley ) diff --git a/code/game/jobs/job_objectives/science.dm b/code/game/jobs/job_objectives/science.dm index 8f1a07928f4..77867a63304 100644 --- a/code/game/jobs/job_objectives/science.dm +++ b/code/game/jobs/job_objectives/science.dm @@ -9,6 +9,7 @@ /datum/job_objective/further_research/get_description() var/desc = "Research tech levels, and have cargo ship them to centcomm." + desc += "([units_completed] completed.)" return desc /datum/job_objective/maximize_research/check_for_completion() From a0d4b76143f625f9a78ed6d0b16a7428dd63003a Mon Sep 17 00:00:00 2001 From: taukausanake Date: Wed, 9 Mar 2016 17:51:49 -0600 Subject: [PATCH 03/44] This was easier than I though... but took longer than it should have for me to figure it out. You can now pick up mice. Added basically the same things diona use for this feature. --- code/modules/mob/holder.dm | 8 +- .../living/simple_animal/friendly/mouse.dm | 7 +- icons/obj/objects.dmi | Bin 143638 -> 144613 bytes paradise.dme | 3848 ++++++++--------- 4 files changed, 1936 insertions(+), 1927 deletions(-) diff --git a/code/modules/mob/holder.dm b/code/modules/mob/holder.dm index 6b4de5b9c50..832a0688254 100644 --- a/code/modules/mob/holder.dm +++ b/code/modules/mob/holder.dm @@ -62,6 +62,7 @@ var/obj/item/weapon/holder/H = new holder_type(loc) src.forceMove(H) H.name = name + H.icon_state = icon_state if(desc) H.desc = desc H.attack_hand(grabber) @@ -73,14 +74,12 @@ //Mob specific holders. /obj/item/weapon/holder/diona - name = "diona nymph" desc = "It's a tiny plant critter." icon_state = "nymph" origin_tech = "magnets=3;biotech=5" /obj/item/weapon/holder/drone - name = "maintenance drone" desc = "It's a small maintenance robot." icon_state = "drone" @@ -90,3 +89,8 @@ name = "pAI" desc = "It's a little robot." icon_state = "pai" + +/obj/item/weapon/holder/mouse + name = "mouse" + desc = "It's a small, disease-ridden rodent." + icon_state = "mouse_gray" diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm index 2409827d608..a34e8b9fe8b 100644 --- a/code/modules/mob/living/simple_animal/friendly/mouse.dm +++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm @@ -30,6 +30,7 @@ maxbodytemp = 323 //Above 50 Degrees Celcius universal_speak = 0 can_hide = 1 + holder_type = /obj/item/weapon/holder/mouse /mob/living/simple_animal/mouse/handle_automated_speech() ..() @@ -63,7 +64,6 @@ icon_dead = "mouse_[mouse_color]_dead" desc = "It's a small [mouse_color] rodent, often seen hiding in maintenance areas and making a nuisance of itself." - /mob/living/simple_animal/mouse/proc/splat() src.health = 0 src.stat = DEAD @@ -73,6 +73,11 @@ if(client) client.time_died_as_mouse = world.time +/mob/living/simple_animal/mouse/attack_hand(mob/living/carbon/human/M as mob) + if(M.a_intent == I_HELP) + get_scooped(M) + ..() + //make mice fit under tables etc? this was hacky, and not working /* /mob/living/simple_animal/mouse/Move(var/dir) diff --git a/icons/obj/objects.dmi b/icons/obj/objects.dmi index 3ec5db973f520828b0c324d330719ba548a2f1f5..225f1b19ed31d8f13c3e298d34f914dc04625799 100644 GIT binary patch delta 5751 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 V$I&xn^%)2Qs60%rSk^f3{{R?pFyR0I delta 4739 zcmZ8jWmJ^W76k_B8jzN5K}s4#KnIbM?ijj5I)sms4v`on974LgTUt^Y1Y|%!V31Ck zH@^4p?O*qlBp> zVKPLZaB#dE{z8Vr&M}RMO11%$@#Du5SpJ#h?d=|X$88BQc6t*1i0|4Net6$u%#Y(_ znRQryXxnN(E#@MF!UMC~-X2h-+RHwn9`qQ#SPEz@p_P(B0iiP9r&9~teYxS$*cn9mH%h{PJihxZ6aKWIk*Cj(fi3rFN=Cr)J17 z`0nR=G3-cq^<#g;57?sc%y{AUCsS#I^2RnuJKvMFjKT(D8q`Ml zBt&|UjFNM!X9(|}IdNfes(^G@cw|fSOO0c%y05ooyq#<17J*cLhYlOPQ5nhUpMGa> zhF^)(O7<+JyQLwBl(|a%FuH{s{P@H&RW10Q+}r1Oxt=02_m~E<=ZZYJeFx+E2Ix0K zQg~M>EC0B*Cyqp~^!Aol8(Ei-KmBYm=0{;XOO(SGOQOI{WIWFKxdz|+T?d%!0>ZQZ zhXA(i_ukF5zq$FRG%Xj<6Jf-a5rr`1I8pD&jdi&qOiwB#EIW?tVOC#*x0$(8mR7ll z&O<=i+;RBfd5vHjLOTVgY1*=FpjGXsmaHegU%pB3tc_Z{cHWoMkTrGUo3!i=aB6!Z zI5jX4ycz=~_0gR%e(kaSySM7GhR4?gwGSQwL5JlyV|D6*HRYLW_vY~Ba8sWBKH4B+ zkH5&?ssN}S|Jyfa)H$`dW6R&(uhGp;FJA5hekZn$mxv%d6UCIo0~okjxLrmxl+g zchdg)_=%PVrA2|9Tm@@EGQZ85JIXFoUqKz_$BIRqjqM6fmFj&$5%2z?{A&8dsU#-eQ8X$n zahOEiG9M>;l!$mYwb%G%aUc^-G*Q5|)y6}9oc%23tlX#b;^4cy5+hX^mns;%zSu44 zzwLoLki$*|GuLJdZv{oQf-sv~L0I05KuOp@95rqm-ot;ulv`LVR+0Z7z%O&LRaxdM zZ`j)X|0)}vU;H}fUGgr!SJK`1Z}7v1b-A2M4-A@rCmqx$$wZj0KXU)%+c6Od(q%Dd zL<-E}#`JNN;C~DY3(F7ed&2dO{PX(Cj|W|00%Hq0egxks5XmxP06t7THMg~vB);gG z%!|=y1@3zk zQaM#GK98hu`HuR&`d9W(^A>ifwU){rb<`fn>UhBBs7ny(q{>7S=O#OBO{mPUl03&s z*iTMeGcd3@6GILVsfcV8^KJ~&TtDZV-WYx-AB5H9I>%&Kkl6b%ZJz^fcY2dnQJAc& zdprN*cXwMG-TC=B!%SRkEPFM0OhDC+M)55-E&&>`RiqHQ8uX=@4SkmTcStoV`Z#MB z-jBMRghO#pYVQ3Q5wA#xl9?t!7?HX((5g0^(@-Z9p#XcG=X2KNf7EiT?xu>)90%HT z0qZ$-iyx);-ck&&vbCUnX`}S^EhA<&w}m9`-bAogEG!1#(t?K@jWDWMJcE-(_O0#v z_%2QFjH-ll?@uy=XQ8#x(KWdhgCPxXn=xdk=E**K-`?$fT3D#IhE=TgWG^;^aeVov zkH>RMLYkl|Z2&khASA*@GsVUI3e$auHX4=U#G|zj3kz4l z5;I$mP~lQ`A7W;6e%lNkLZ%pOCVlh|5#Z0NJv$cK)wdXY!=)@}w!SqTr0#6gOXX;( zsk^Y)8zJhmhg0OUZp^pg-h$f$uA|7(lPHZA15npCO)&YWJfEk7{O3q%qw{k`k>zi@ z^tw?u0c`O`IAAc<>;iq>J|)OSO?1?eNYGLGM!+9bdvnxyEvlDbr$u;obJBE=|GKTv z{EduXIau5+vPW+vq&KbdYT#Lrb<#LSUw^-*hS7%Cz+iB2&*M~P;i?T?rG8vrkCr}(OM8n-nsgoCf&YgAJ#84A08NQ+7^occSCKShGODc zF4+r%yR>H02cz?r0}CVnjAixuJ5$F97RiZd5R{KkjH-F^@^guSGhgvx-Mk41BcmLn z2TRBF1==HAE*VB-YZ;HTsWv6%) z9D`o=A6p*D4m(%!Kwd^X7~^EOxY_V4_Ka|c>`oj7#)+mA>>HpCc^q_eSm0d-adeFJHjnN_WYYiXe2h0lG0 zSwEj@IXuNaD*`MAnKJ4MTHBNJQ>FLNyD&`K9u5nH7VZ^M;NPNFq~VL)NZv%i)_3rB zs2wpNCN{W8lg&9B&8mY?<{1>xEWD5l%NI!tR1UyvjsT5@>L^I|u$-`jX?rLIuxSsL0Yjo2m#yCdI-VXStpB_` z4?MaYq%!m2bY|%U`Cdt-e<`ocyZ`|_hTvx<*qLIgMcP8kq#f0F&hq#TPC=d8SZb3? z*fq1{y91HcPA)TiQ@q<4Agm#4Ac zgP?RWm4uxoiPLtd3vmFS;rvxx8h>aLQw<;?v}gTz@W;eEfWINr8{n%1hAn zqrC_b2%;(Bf5M(wg!y4?d)T%V+0xL{s}|i)sSYCE;oK7*f10NfF@0H2749i{Dr{6}%B-BSBfT^NqO^bQ&1_D_xH1 zC(IzY@I_fP`-a# zR7cCY%wEtO+>@fV@nmaCgjntS6~d|dcxJ8B>u_znT1qOLFVngQO%QfgJ|GO;XS1qU zx{Ko~!xj}if7Y_f+tuvEV;xHK|Dx`0`)47=^a92H8AIi$#c zsiBL`ob`pv@Z|gQW(PN?KE$zylZ5<%Yi7|69%B-$bOb{jaVe;p^1S2bF>rgP9lz%g z|BkVH{mlZQfIITe-^>Wxam(Wn{ctIrL_4lFcqw0FS>aB@Rp)#la ztNS72iaB1|R`J2*8=RY}fhiHvPcc06;*DfULnGTBvkMEJr@z#QfZVP!WtchqOaa7IIyOH(&hl zlY^7iZP>dX?6TCiKT%Syd|Qd_Siih!&ixSGP&$B~5!T8Clqa??N7{GFJI7gUAFnJX z20t<~@{ga)Zd>9ILS9$5sHo@I@WCMO(NR#Bz0~(R8sVO$H_TO zW|!nswkq1TbDW8-+;abF>$yW z_~i@#ZRIg)WFo4|Civ06@rh}Qw#!QHr93ORf|^>3|I+R zI_-l@RV+ssHpbNJ7d%>SUP;rMs|DDi#$Vj}cwRWpwxUe3nn(+pt3S}xQ?=-c9y#LA zC~Av7?x4Kly}Qz3Vgc};l_0ABAkO`c13Ic!8c>l5a|vIFQ#7~}sve&P^!>UhfW-Iu zFSLe!MNL}^)AnRi+u9AvFearyKs@sQELQ)Jqi2Gv-bB3PD{ci*L?;;z(9qK{K)rD= z$9?PL`g3>WdzGaB*_Ok_;cDMf`LutN^Q|ZKud5!lDtfaCF4zStvUPEL=xUo=(Udr? zOBsuD{&fDgUO~{JTW4TxpRv3I*T7Ww6)&Ti?;eK*52 zP<+wbTi2MHIXaY9hBQJ2I5tvPMG~fPzC%9;7A%l7W?)5TJcgI8!L{No)lbN3<3w}W zeArT_F5+t%?quoXG-M^+t2du*kNOYRbAT!VF=4CjcPq8l@kKX^uBM4IHI=ji8c&70 zr#m@y!Zr27F~17Daww~2Pv--02J49%JI++2KR*rsT6R=WF2&ObJTO(0Y8Ud>Wyzu8 zApdmU{9JatcY;cmX*l%|RDryrRuQCOPZ@DX-3PI@A)~9^CHOd${*?-b;McgN=yuey z4RNhgHuobF7%T#CPeP;#|G+d8#C@(*>QLhhOd9vDUsV;k1}pGxT@P4Z7lsl^_roCG~5L~9wQritbJ#+VRpx?2!fE;_wp{?pFG(PItlPB#;Xd(ts8J^0Gp z)N5cwUuv0Zsrm59nazBcG=e!eTWhi2RT}7=+Bu_n2E^Y>%nlCu7g|ZLUl6Ce&~Fsl zDF~)KsQ)_G4=;W0%0TMVgfWGfk%*srgwndcE!FlyE<^P7sZ&x?uKosBotUG)$c|STcje_M|7k$}q%7yL=KdN%_JS1>l ztign?#n*UAspV;WU=&2B>do7ggoZH#GTBI^t3K}JzxH?|4)Mk#MTwZ4B)~kz5w_i{ zfiimwFi&_f%l$vbYfNOcLORcpfyzfy+>^Q)?~ad;UrnUlY$6c9JSjOlUldezB-$1p zz#JD`nDmzKwf_1UZ3_JRr;NSUq^)UQ3wpz2Q?q?-JwG?#_P;RI|BHi6KZC~9;*(oZ zBxUn9ni!+>M}up9U}I5fP3C1xZ;bEI;|kkC@=9R7kO#Rc^Vk3bjn@$MmsJYTu>Sz~ COHR%J diff --git a/paradise.dme b/paradise.dme index 111dc8d88eb..0c6052aba05 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1,1924 +1,1924 @@ -// DM Environment file for paradise.dme. -// All manual changes should be made outside the BEGIN_ and END_ blocks. - // New source code should be placed in .dm files: choose File/New --> Code File. -// BEGIN_INTERNALS -// END_INTERNALS -// BEGIN_FILE_DIR -#define FILE_DIR . -// END_FILE_DIR -// BEGIN_PREFERENCES -#define DEBUG -// END_PREFERENCES -// BEGIN_INCLUDE -#include "_maps\cyberiad.dm" -#include "code\_compile_options.dm" -#include "code\hub.dm" -#include "code\world.dm" -#include "code\__DEFINES\_readme.dm" -#include "code\__DEFINES\admin.dm" -#include "code\__DEFINES\atmospherics.dm" -#include "code\__DEFINES\btime.dm" -#include "code\__DEFINES\clothing.dm" -#include "code\__DEFINES\combat.dm" -#include "code\__DEFINES\flags.dm" -#include "code\__DEFINES\game.dm" -#include "code\__DEFINES\genetics.dm" -#include "code\__DEFINES\hud.dm" -#include "code\__DEFINES\hydroponics.dm" -#include "code\__DEFINES\is_helpers.dm" -#include "code\__DEFINES\language.dm" -#include "code\__DEFINES\lighting.dm" -#include "code\__DEFINES\machines.dm" -#include "code\__DEFINES\math.dm" -#include "code\__DEFINES\misc.dm" -#include "code\__DEFINES\mob.dm" -#include "code\__DEFINES\pda.dm" -#include "code\__DEFINES\preferences.dm" -#include "code\__DEFINES\process_scheduler.dm" -#include "code\__DEFINES\qdel.dm" -#include "code\__DEFINES\role_preferences.dm" -#include "code\__DEFINES\sight.dm" -#include "code\__DEFINES\stat.dm" -#include "code\__HELPERS\_string_lists.dm" -#include "code\__HELPERS\constants.dm" -#include "code\__HELPERS\experimental.dm" -#include "code\__HELPERS\files.dm" -#include "code\__HELPERS\game.dm" -#include "code\__HELPERS\global_lists.dm" -#include "code\__HELPERS\icon_smoothing.dm" -#include "code\__HELPERS\icons.dm" -#include "code\__HELPERS\lists.dm" -#include "code\__HELPERS\logging.dm" -#include "code\__HELPERS\maths.dm" -#include "code\__HELPERS\matrices.dm" -#include "code\__HELPERS\mobs.dm" -#include "code\__HELPERS\names.dm" -#include "code\__HELPERS\sanitize_values.dm" -#include "code\__HELPERS\text.dm" -#include "code\__HELPERS\time.dm" -#include "code\__HELPERS\timed_alerts.dm" -#include "code\__HELPERS\type2type.dm" -#include "code\__HELPERS\unsorted.dm" -#include "code\__HELPERS\bygex\bygex.dm" -#include "code\_DATASTRUCTURES\heap.dm" -#include "code\_DATASTRUCTURES\linked_lists.dm" -#include "code\_DATASTRUCTURES\priority_queue.dm" -#include "code\_DATASTRUCTURES\stacks.dm" -#include "code\_globalvars\configuration.dm" -#include "code\_globalvars\database.dm" -#include "code\_globalvars\game_modes.dm" -#include "code\_globalvars\genetics.dm" -#include "code\_globalvars\logging.dm" -#include "code\_globalvars\mapping.dm" -#include "code\_globalvars\misc.dm" -#include "code\_globalvars\station.dm" -#include "code\_globalvars\unused.dm" -#include "code\_globalvars\lists\flavor_misc.dm" -#include "code\_globalvars\lists\misc.dm" -#include "code\_globalvars\lists\mobs.dm" -#include "code\_globalvars\lists\names.dm" -#include "code\_globalvars\lists\objects.dm" -#include "code\_globalvars\lists\reagents.dm" -#include "code\_hooks\area.dm" -#include "code\_hooks\hooks.dm" -#include "code\_hooks\mob.dm" -#include "code\_onclick\adjacent.dm" -#include "code\_onclick\ai.dm" -#include "code\_onclick\click.dm" -#include "code\_onclick\click_override.dm" -#include "code\_onclick\cyborg.dm" -#include "code\_onclick\drag_drop.dm" -#include "code\_onclick\item_attack.dm" -#include "code\_onclick\observer.dm" -#include "code\_onclick\other_mobs.dm" -#include "code\_onclick\overmind.dm" -#include "code\_onclick\rig.dm" -#include "code\_onclick\telekinesis.dm" -#include "code\_onclick\hud\_defines.dm" -#include "code\_onclick\hud\action.dm" -#include "code\_onclick\hud\ai.dm" -#include "code\_onclick\hud\alien.dm" -#include "code\_onclick\hud\alien_larva.dm" -#include "code\_onclick\hud\hud.dm" -#include "code\_onclick\hud\human.dm" -#include "code\_onclick\hud\monkey.dm" -#include "code\_onclick\hud\movable_screen_objects.dm" -#include "code\_onclick\hud\other_mobs.dm" -#include "code\_onclick\hud\robot.dm" -#include "code\_onclick\hud\screen_objects.dm" -#include "code\ATMOSPHERICS\atmospherics.dm" -#include "code\ATMOSPHERICS\datum_icon_manager.dm" -#include "code\ATMOSPHERICS\datum_pipeline.dm" -#include "code\ATMOSPHERICS\components\binary_devices\binary_atmos_base.dm" -#include "code\ATMOSPHERICS\components\binary_devices\circulator.dm" -#include "code\ATMOSPHERICS\components\binary_devices\dp_vent_pump.dm" -#include "code\ATMOSPHERICS\components\binary_devices\passive_gate.dm" -#include "code\ATMOSPHERICS\components\binary_devices\pump.dm" -#include "code\ATMOSPHERICS\components\binary_devices\valve.dm" -#include "code\ATMOSPHERICS\components\binary_devices\volume_pump.dm" -#include "code\ATMOSPHERICS\components\omni_devices\_omni_extras.dm" -#include "code\ATMOSPHERICS\components\omni_devices\filter.dm" -#include "code\ATMOSPHERICS\components\omni_devices\mixer.dm" -#include "code\ATMOSPHERICS\components\omni_devices\omni_base.dm" -#include "code\ATMOSPHERICS\components\trinary_devices\filter.dm" -#include "code\ATMOSPHERICS\components\trinary_devices\mixer.dm" -#include "code\ATMOSPHERICS\components\trinary_devices\trinary_base.dm" -#include "code\ATMOSPHERICS\components\trinary_devices\tvalve.dm" -#include "code\ATMOSPHERICS\components\unary_devices\cold_sink.dm" -#include "code\ATMOSPHERICS\components\unary_devices\generator_input.dm" -#include "code\ATMOSPHERICS\components\unary_devices\heat_exchanger.dm" -#include "code\ATMOSPHERICS\components\unary_devices\heat_source.dm" -#include "code\ATMOSPHERICS\components\unary_devices\outlet_injector.dm" -#include "code\ATMOSPHERICS\components\unary_devices\oxygen_generator.dm" -#include "code\ATMOSPHERICS\components\unary_devices\passive_vent.dm" -#include "code\ATMOSPHERICS\components\unary_devices\portables_connector.dm" -#include "code\ATMOSPHERICS\components\unary_devices\tank.dm" -#include "code\ATMOSPHERICS\components\unary_devices\thermal_plate.dm" -#include "code\ATMOSPHERICS\components\unary_devices\unary_base.dm" -#include "code\ATMOSPHERICS\components\unary_devices\vent_pump.dm" -#include "code\ATMOSPHERICS\components\unary_devices\vent_scrubber.dm" -#include "code\ATMOSPHERICS\pipes\cap.dm" -#include "code\ATMOSPHERICS\pipes\manifold.dm" -#include "code\ATMOSPHERICS\pipes\manifold4w.dm" -#include "code\ATMOSPHERICS\pipes\pipe.dm" -#include "code\ATMOSPHERICS\pipes\simple\pipe_simple.dm" -#include "code\ATMOSPHERICS\pipes\simple\pipe_simple_he.dm" -#include "code\ATMOSPHERICS\pipes\simple\pipe_simple_hidden.dm" -#include "code\ATMOSPHERICS\pipes\simple\pipe_simple_insulated.dm" -#include "code\ATMOSPHERICS\pipes\simple\pipe_simple_visible.dm" -#include "code\controllers\communications.dm" -#include "code\controllers\configuration.dm" -#include "code\controllers\failsafe.dm" -#include "code\controllers\hooks-defs.dm" -#include "code\controllers\hooks.dm" -#include "code\controllers\master_controller.dm" -#include "code\controllers\verbs.dm" -#include "code\controllers\voting.dm" -#include "code\controllers\Processes\air.dm" -#include "code\controllers\Processes\alarm.dm" -#include "code\controllers\Processes\bot.dm" -#include "code\controllers\Processes\event.dm" -#include "code\controllers\Processes\garbage.dm" -#include "code\controllers\Processes\inactivity.dm" -#include "code\controllers\Processes\lighting.dm" -#include "code\controllers\Processes\machinery.dm" -#include "code\controllers\Processes\mob.dm" -#include "code\controllers\Processes\nanoui.dm" -#include "code\controllers\Processes\obj.dm" -#include "code\controllers\Processes\pipenet.dm" -#include "code\controllers\Processes\shuttles.dm" -#include "code\controllers\Processes\sun.dm" -#include "code\controllers\Processes\ticker.dm" -#include "code\controllers\Processes\timer.dm" -#include "code\controllers\Processes\vote.dm" -#include "code\controllers\Processes\shuttles\emergency.dm" -#include "code\controllers\Processes\shuttles\supply.dm" -#include "code\controllers\ProcessScheduler\core\_stubs.dm" -#include "code\controllers\ProcessScheduler\core\process.dm" -#include "code\controllers\ProcessScheduler\core\processScheduler.dm" -#include "code\datums\ai_law_sets.dm" -#include "code\datums\ai_laws.dm" -#include "code\datums\beam.dm" -#include "code\datums\browser.dm" -#include "code\datums\cargoprofile.dm" -#include "code\datums\computerfiles.dm" -#include "code\datums\datacore.dm" -#include "code\datums\datumvars.dm" -#include "code\datums\gas_mixture.dm" -#include "code\datums\hud.dm" -#include "code\datums\martial.dm" -#include "code\datums\material_container.dm" -#include "code\datums\mind.dm" -#include "code\datums\mixed.dm" -#include "code\datums\modules.dm" -#include "code\datums\periodic_news.dm" -#include "code\datums\recipe.dm" -#include "code\datums\spell.dm" -#include "code\datums\supplypacks.dm" -#include "code\datums\uplink_item.dm" -#include "code\datums\vision_override.dm" -#include "code\datums\cache\air_alarm.dm" -#include "code\datums\cache\apc.dm" -#include "code\datums\cache\cache.dm" -#include "code\datums\cache\crew.dm" -#include "code\datums\cache\powermonitor.dm" -#include "code\datums\helper_datums\construction_datum.dm" -#include "code\datums\helper_datums\events.dm" -#include "code\datums\helper_datums\global_iterator.dm" -#include "code\datums\helper_datums\teleport.dm" -#include "code\datums\helper_datums\topic_input.dm" -#include "code\datums\spells\area_teleport.dm" -#include "code\datums\spells\charge.dm" -#include "code\datums\spells\conjure.dm" -#include "code\datums\spells\construct_spells.dm" -#include "code\datums\spells\dumbfire.dm" -#include "code\datums\spells\emplosion.dm" -#include "code\datums\spells\ethereal_jaunt.dm" -#include "code\datums\spells\explosion.dm" -#include "code\datums\spells\fake_gib.dm" -#include "code\datums\spells\genetic.dm" -#include "code\datums\spells\horsemask.dm" -#include "code\datums\spells\infinite_guns.dm" -#include "code\datums\spells\inflict_handler.dm" -#include "code\datums\spells\knock.dm" -#include "code\datums\spells\lichdom.dm" -#include "code\datums\spells\lightning.dm" -#include "code\datums\spells\magnet.dm" -#include "code\datums\spells\mime.dm" -#include "code\datums\spells\mind_transfer.dm" -#include "code\datums\spells\projectile.dm" -#include "code\datums\spells\summonitem.dm" -#include "code\datums\spells\touch_attacks.dm" -#include "code\datums\spells\trigger.dm" -#include "code\datums\spells\turf_teleport.dm" -#include "code\datums\spells\wizard.dm" -#include "code\datums\wires\airlock.dm" -#include "code\datums\wires\alarm.dm" -#include "code\datums\wires\apc.dm" -#include "code\datums\wires\autolathe.dm" -#include "code\datums\wires\camera.dm" -#include "code\datums\wires\explosive.dm" -#include "code\datums\wires\mulebot.dm" -#include "code\datums\wires\nuclearbomb.dm" -#include "code\datums\wires\particle_accelerator.dm" -#include "code\datums\wires\radio.dm" -#include "code\datums\wires\robot.dm" -#include "code\datums\wires\smartfridge.dm" -#include "code\datums\wires\syndicatebomb.dm" -#include "code\datums\wires\vending.dm" -#include "code\datums\wires\wires.dm" -#include "code\defines\vox_sounds.dm" -#include "code\defines\procs\admin.dm" -#include "code\defines\procs\announce.dm" -#include "code\defines\procs\AStar.dm" -#include "code\defines\procs\dbcore.dm" -#include "code\defines\procs\radio.dm" -#include "code\defines\procs\records.dm" -#include "code\defines\procs\statistics.dm" -#include "code\game\asteroid.dm" -#include "code\game\atoms.dm" -#include "code\game\atoms_movable.dm" -#include "code\game\data_huds.dm" -#include "code\game\response_team.dm" -#include "code\game\shuttle_engines.dm" -#include "code\game\skincmd.dm" -#include "code\game\sound.dm" -#include "code\game\area\ai_monitored.dm" -#include "code\game\area\areas.dm" -#include "code\game\area\Dynamic areas.dm" -#include "code\game\area\Space Station 13 areas.dm" -#include "code\game\dna\dna2.dm" -#include "code\game\dna\dna2_domutcheck.dm" -#include "code\game\dna\dna2_helpers.dm" -#include "code\game\dna\dna_modifier.dm" -#include "code\game\dna\genes\disabilities.dm" -#include "code\game\dna\genes\gene.dm" -#include "code\game\dna\genes\goon_disabilities.dm" -#include "code\game\dna\genes\goon_powers.dm" -#include "code\game\dna\genes\monkey.dm" -#include "code\game\dna\genes\powers.dm" -#include "code\game\dna\genes\vg_disabilities.dm" -#include "code\game\dna\genes\vg_powers.dm" -#include "code\game\gamemodes\antag_hud.dm" -#include "code\game\gamemodes\antag_spawner.dm" -#include "code\game\gamemodes\events.dm" -#include "code\game\gamemodes\factions.dm" -#include "code\game\gamemodes\game_mode.dm" -#include "code\game\gamemodes\gameticker.dm" -#include "code\game\gamemodes\intercept_report.dm" -#include "code\game\gamemodes\objective.dm" -#include "code\game\gamemodes\scoreboard.dm" -#include "code\game\gamemodes\setupgame.dm" -#include "code\game\gamemodes\steal_items.dm" -#include "code\game\gamemodes\autotraitor\autotraitor.dm" -#include "code\game\gamemodes\blob\blob.dm" -#include "code\game\gamemodes\blob\blob_finish.dm" -#include "code\game\gamemodes\blob\blob_report.dm" -#include "code\game\gamemodes\blob\overmind.dm" -#include "code\game\gamemodes\blob\powers.dm" -#include "code\game\gamemodes\blob\theblob.dm" -#include "code\game\gamemodes\blob\blobs\blob_mobs.dm" -#include "code\game\gamemodes\blob\blobs\core.dm" -#include "code\game\gamemodes\blob\blobs\factory.dm" -#include "code\game\gamemodes\blob\blobs\node.dm" -#include "code\game\gamemodes\blob\blobs\resource.dm" -#include "code\game\gamemodes\blob\blobs\shield.dm" -#include "code\game\gamemodes\blob\blobs\storage.dm" -#include "code\game\gamemodes\borer\borer.dm" -#include "code\game\gamemodes\changeling\changeling.dm" -#include "code\game\gamemodes\changeling\changeling_power.dm" -#include "code\game\gamemodes\changeling\evolution_menu.dm" -#include "code\game\gamemodes\changeling\traitor_chan.dm" -#include "code\game\gamemodes\changeling\powers\absorb.dm" -#include "code\game\gamemodes\changeling\powers\augmented_eyesight.dm" -#include "code\game\gamemodes\changeling\powers\digitalcamo.dm" -#include "code\game\gamemodes\changeling\powers\epinephrine.dm" -#include "code\game\gamemodes\changeling\powers\fakedeath.dm" -#include "code\game\gamemodes\changeling\powers\fleshmend.dm" -#include "code\game\gamemodes\changeling\powers\glands.dm" -#include "code\game\gamemodes\changeling\powers\hivemind.dm" -#include "code\game\gamemodes\changeling\powers\humanform.dm" -#include "code\game\gamemodes\changeling\powers\lesserform.dm" -#include "code\game\gamemodes\changeling\powers\mimic_voice.dm" -#include "code\game\gamemodes\changeling\powers\mutations.dm" -#include "code\game\gamemodes\changeling\powers\panacea.dm" -#include "code\game\gamemodes\changeling\powers\revive.dm" -#include "code\game\gamemodes\changeling\powers\shriek.dm" -#include "code\game\gamemodes\changeling\powers\spiders.dm" -#include "code\game\gamemodes\changeling\powers\strained_muscles.dm" -#include "code\game\gamemodes\changeling\powers\swap_form.dm" -#include "code\game\gamemodes\changeling\powers\tiny_prick.dm" -#include "code\game\gamemodes\changeling\powers\transform.dm" -#include "code\game\gamemodes\cult\cult.dm" -#include "code\game\gamemodes\cult\cult_items.dm" -#include "code\game\gamemodes\cult\cult_structures.dm" -#include "code\game\gamemodes\cult\ritual.dm" -#include "code\game\gamemodes\cult\runes.dm" -#include "code\game\gamemodes\cult\talisman.dm" -#include "code\game\gamemodes\extended\extended.dm" -#include "code\game\gamemodes\heist\heist.dm" -#include "code\game\gamemodes\malfunction\Malf_Modules.dm" -#include "code\game\gamemodes\malfunction\malfunction.dm" -#include "code\game\gamemodes\meteor\meteor.dm" -#include "code\game\gamemodes\meteor\meteors.dm" -#include "code\game\gamemodes\miniantags\borer\borer.dm" -#include "code\game\gamemodes\miniantags\borer\borer_event.dm" -#include "code\game\gamemodes\miniantags\bot_swarm\swarmer.dm" -#include "code\game\gamemodes\miniantags\bot_swarm\swarmer_event.dm" -#include "code\game\gamemodes\miniantags\guardian\guardian.dm" -#include "code\game\gamemodes\miniantags\morph\morph.dm" -#include "code\game\gamemodes\miniantags\morph\morph_event.dm" -#include "code\game\gamemodes\miniantags\revenant\revenant.dm" -#include "code\game\gamemodes\miniantags\revenant\revenant_abilities.dm" -#include "code\game\gamemodes\miniantags\revenant\revenant_spawn_event.dm" -#include "code\game\gamemodes\miniantags\slaughter\bloodcrawl.dm" -#include "code\game\gamemodes\miniantags\slaughter\slaughter.dm" -#include "code\game\gamemodes\mutiny\auth_key.dm" -#include "code\game\gamemodes\mutiny\directive.dm" -#include "code\game\gamemodes\mutiny\emergency_authentication_device.dm" -#include "code\game\gamemodes\mutiny\key_pinpointer.dm" -#include "code\game\gamemodes\mutiny\mutiny.dm" -#include "code\game\gamemodes\mutiny\mutiny_admin.dm" -#include "code\game\gamemodes\mutiny\mutiny_fluff.dm" -#include "code\game\gamemodes\mutiny\mutiny_hooks.dm" -#include "code\game\gamemodes\mutiny\directives\alien_fraud_directive.dm" -#include "code\game\gamemodes\mutiny\directives\bluespace_contagion_directive.dm" -#include "code\game\gamemodes\mutiny\directives\financial_crisis_directive.dm" -#include "code\game\gamemodes\mutiny\directives\ipc_virus_directive.dm" -#include "code\game\gamemodes\mutiny\directives\research_to_ripleys_directive.dm" -#include "code\game\gamemodes\mutiny\directives\tau_ceti_needs_women_directive.dm" -#include "code\game\gamemodes\mutiny\directives\terminations_directive.dm" -#include "code\game\gamemodes\mutiny\directives\vox_heist.dm" -#include "code\game\gamemodes\nations\nations.dm" -#include "code\game\gamemodes\nations\nationsdatums.dm" -#include "code\game\gamemodes\nations\nationsprocs.dm" -#include "code\game\gamemodes\nuclear\nuclear.dm" -#include "code\game\gamemodes\nuclear\nuclear_challenge.dm" -#include "code\game\gamemodes\nuclear\nuclearbomb.dm" -#include "code\game\gamemodes\nuclear\pinpointer.dm" -#include "code\game\gamemodes\revolution\revolution.dm" -#include "code\game\gamemodes\revolution\rp_revolution.dm" -#include "code\game\gamemodes\shadowling\ascendant_shadowling.dm" -#include "code\game\gamemodes\shadowling\shadowling.dm" -#include "code\game\gamemodes\shadowling\shadowling_abilities.dm" -#include "code\game\gamemodes\shadowling\shadowling_items.dm" -#include "code\game\gamemodes\shadowling\special_shadowling_abilities.dm" -#include "code\game\gamemodes\traitor\traitor.dm" -#include "code\game\gamemodes\vampire\hud.dm" -#include "code\game\gamemodes\vampire\vampire.dm" -#include "code\game\gamemodes\vampire\vampire_powers.dm" -#include "code\game\gamemodes\wizard\artefact.dm" -#include "code\game\gamemodes\wizard\godhand.dm" -#include "code\game\gamemodes\wizard\raginmages.dm" -#include "code\game\gamemodes\wizard\rightandwrong.dm" -#include "code\game\gamemodes\wizard\soulstone.dm" -#include "code\game\gamemodes\wizard\spellbook.dm" -#include "code\game\gamemodes\wizard\wizard.dm" -#include "code\game\gamemodes\xenos\xenos.dm" -#include "code\game\jobs\access.dm" -#include "code\game\jobs\job_controller.dm" -#include "code\game\jobs\job_objective.dm" -#include "code\game\jobs\jobs.dm" -#include "code\game\jobs\whitelist.dm" -#include "code\game\jobs\job\civilian.dm" -#include "code\game\jobs\job\engineering.dm" -#include "code\game\jobs\job\job.dm" -#include "code\game\jobs\job\medical.dm" -#include "code\game\jobs\job\science.dm" -#include "code\game\jobs\job\security.dm" -#include "code\game\jobs\job\silicon.dm" -#include "code\game\jobs\job\supervisor.dm" -#include "code\game\jobs\job\support.dm" -#include "code\game\jobs\job\support_chaplain.dm" -#include "code\game\jobs\job_objectives\science.dm" -#include "code\game\machinery\adv_med.dm" -#include "code\game\machinery\ai_slipper.dm" -#include "code\game\machinery\alarm.dm" -#include "code\game\machinery\atmo_control.dm" -#include "code\game\machinery\autolathe.dm" -#include "code\game\machinery\Beacon.dm" -#include "code\game\machinery\bees_items.dm" -#include "code\game\machinery\biogenerator.dm" -#include "code\game\machinery\buttons.dm" -#include "code\game\machinery\cell_charger.dm" -#include "code\game\machinery\chiller.dm" -#include "code\game\machinery\cloning.dm" -#include "code\game\machinery\constructable_frame.dm" -#include "code\game\machinery\cryo.dm" -#include "code\game\machinery\cryopod.dm" -#include "code\game\machinery\deployable.dm" -#include "code\game\machinery\door_control.dm" -#include "code\game\machinery\doppler_array.dm" -#include "code\game\machinery\dye_generator.dm" -#include "code\game\machinery\firealarm.dm" -#include "code\game\machinery\flasher.dm" -#include "code\game\machinery\floodlight.dm" -#include "code\game\machinery\Freezer.dm" -#include "code\game\machinery\guestpass.dm" -#include "code\game\machinery\hologram.dm" -#include "code\game\machinery\holosign.dm" -#include "code\game\machinery\igniter.dm" -#include "code\game\machinery\iv_drip.dm" -#include "code\game\machinery\lightswitch.dm" -#include "code\game\machinery\machinery.dm" -#include "code\game\machinery\magnet.dm" -#include "code\game\machinery\mass_driver.dm" -#include "code\game\machinery\navbeacon.dm" -#include "code\game\machinery\newscaster.dm" -#include "code\game\machinery\OpTable.dm" -#include "code\game\machinery\overview.dm" -#include "code\game\machinery\PDApainter.dm" -#include "code\game\machinery\poolcontroller.dm" -#include "code\game\machinery\portable_tag_turret.dm" -#include "code\game\machinery\portable_turret.dm" -#include "code\game\machinery\programmable_unloader.dm" -#include "code\game\machinery\recharger.dm" -#include "code\game\machinery\rechargestation.dm" -#include "code\game\machinery\recycler.dm" -#include "code\game\machinery\requests_console.dm" -#include "code\game\machinery\robot_fabricator.dm" -#include "code\game\machinery\seed_extractor.dm" -#include "code\game\machinery\shieldgen.dm" -#include "code\game\machinery\Sleeper.dm" -#include "code\game\machinery\slotmachine.dm" -#include "code\game\machinery\spaceheater.dm" -#include "code\game\machinery\status_display.dm" -#include "code\game\machinery\suit_storage_unit.dm" -#include "code\game\machinery\supply_display.dm" -#include "code\game\machinery\syndicatebeacon.dm" -#include "code\game\machinery\syndicatebomb.dm" -#include "code\game\machinery\teleporter.dm" -#include "code\game\machinery\transformer.dm" -#include "code\game\machinery\turntable.dm" -#include "code\game\machinery\turret_control.dm" -#include "code\game\machinery\turrets.dm" -#include "code\game\machinery\vending.dm" -#include "code\game\machinery\washing_machine.dm" -#include "code\game\machinery\wishgranter.dm" -#include "code\game\machinery\atmoalter\area_atmos_computer.dm" -#include "code\game\machinery\atmoalter\canister.dm" -#include "code\game\machinery\atmoalter\meter.dm" -#include "code\game\machinery\atmoalter\portable_atmospherics.dm" -#include "code\game\machinery\atmoalter\pump.dm" -#include "code\game\machinery\atmoalter\scrubber.dm" -#include "code\game\machinery\atmoalter\zvent.dm" -#include "code\game\machinery\bots\bots.dm" -#include "code\game\machinery\bots\cleanbot.dm" -#include "code\game\machinery\bots\ed209bot.dm" -#include "code\game\machinery\bots\floorbot.dm" -#include "code\game\machinery\bots\medbot.dm" -#include "code\game\machinery\bots\mulebot.dm" -#include "code\game\machinery\bots\secbot.dm" -#include "code\game\machinery\camera\camera.dm" -#include "code\game\machinery\camera\camera_assembly.dm" -#include "code\game\machinery\camera\motion.dm" -#include "code\game\machinery\camera\presets.dm" -#include "code\game\machinery\camera\tracking.dm" -#include "code\game\machinery\computer\ai_core.dm" -#include "code\game\machinery\computer\aifixer.dm" -#include "code\game\machinery\computer\arcade.dm" -#include "code\game\machinery\computer\atmos_alert.dm" -#include "code\game\machinery\computer\atmos_control.dm" -#include "code\game\machinery\computer\buildandrepair.dm" -#include "code\game\machinery\computer\camera.dm" -#include "code\game\machinery\computer\card.dm" -#include "code\game\machinery\computer\cloning.dm" -#include "code\game\machinery\computer\communications.dm" -#include "code\game\machinery\computer\computer.dm" -#include "code\game\machinery\computer\crew.dm" -#include "code\game\machinery\computer\HolodeckControl.dm" -#include "code\game\machinery\computer\hologram.dm" -#include "code\game\machinery\computer\honkputer.dm" -#include "code\game\machinery\computer\law.dm" -#include "code\game\machinery\computer\medical.dm" -#include "code\game\machinery\computer\message.dm" -#include "code\game\machinery\computer\Operating.dm" -#include "code\game\machinery\computer\pod.dm" -#include "code\game\machinery\computer\pod_tracking_console.dm" -#include "code\game\machinery\computer\power.dm" -#include "code\game\machinery\computer\prisoner.dm" -#include "code\game\machinery\computer\robot.dm" -#include "code\game\machinery\computer\salvage_ship.dm" -#include "code\game\machinery\computer\security.dm" -#include "code\game\machinery\computer\shuttle.dm" -#include "code\game\machinery\computer\skills.dm" -#include "code\game\machinery\computer\specops_shuttle.dm" -#include "code\game\machinery\computer\station_alert.dm" -#include "code\game\machinery\computer\store.dm" -#include "code\game\machinery\computer\syndicate_specops_shuttle.dm" -#include "code\game\machinery\computer\telecrystalconsoles.dm" -#include "code\game\machinery\doors\airlock.dm" -#include "code\game\machinery\doors\airlock_control.dm" -#include "code\game\machinery\doors\airlock_electronics.dm" -#include "code\game\machinery\doors\alarmlock.dm" -#include "code\game\machinery\doors\brigdoors.dm" -#include "code\game\machinery\doors\checkForMultipleDoors.dm" -#include "code\game\machinery\doors\door.dm" -#include "code\game\machinery\doors\firedoor.dm" -#include "code\game\machinery\doors\multi_tile.dm" -#include "code\game\machinery\doors\poddoor.dm" -#include "code\game\machinery\doors\shutters.dm" -#include "code\game\machinery\doors\spacepod.dm" -#include "code\game\machinery\doors\unpowered.dm" -#include "code\game\machinery\doors\windowdoor.dm" -#include "code\game\machinery\embedded_controller\airlock_controllers.dm" -#include "code\game\machinery\embedded_controller\airlock_docking_controller.dm" -#include "code\game\machinery\embedded_controller\airlock_docking_controller_multi.dm" -#include "code\game\machinery\embedded_controller\airlock_program.dm" -#include "code\game\machinery\embedded_controller\docking_program.dm" -#include "code\game\machinery\embedded_controller\docking_program_multi.dm" -#include "code\game\machinery\embedded_controller\embedded_controller_base.dm" -#include "code\game\machinery\embedded_controller\embedded_program_base.dm" -#include "code\game\machinery\embedded_controller\simple_docking_controller.dm" -#include "code\game\machinery\kitchen\gibber.dm" -#include "code\game\machinery\kitchen\icecream_vat.dm" -#include "code\game\machinery\kitchen\juicer.dm" -#include "code\game\machinery\kitchen\kitchen_machine.dm" -#include "code\game\machinery\kitchen\microwave.dm" -#include "code\game\machinery\kitchen\monkeyrecycler.dm" -#include "code\game\machinery\kitchen\processor.dm" -#include "code\game\machinery\kitchen\smartfridge.dm" -#include "code\game\machinery\pipe\construction.dm" -#include "code\game\machinery\pipe\pipe_dispenser.dm" -#include "code\game\machinery\telecomms\broadcaster.dm" -#include "code\game\machinery\telecomms\logbrowser.dm" -#include "code\game\machinery\telecomms\machine_interactions.dm" -#include "code\game\machinery\telecomms\presets.dm" -#include "code\game\machinery\telecomms\telecomunications.dm" -#include "code\game\machinery\telecomms\telemonitor.dm" -#include "code\game\machinery\telecomms\traffic_control.dm" -#include "code\game\magic\Uristrunes.dm" -#include "code\game\mecha\mech_bay.dm" -#include "code\game\mecha\mech_fabricator.dm" -#include "code\game\mecha\mecha.dm" -#include "code\game\mecha\mecha_construction_paths.dm" -#include "code\game\mecha\mecha_control_console.dm" -#include "code\game\mecha\mecha_parts.dm" -#include "code\game\mecha\mecha_wreckage.dm" -#include "code\game\mecha\paintkits.dm" -#include "code\game\mecha\combat\combat.dm" -#include "code\game\mecha\combat\durand.dm" -#include "code\game\mecha\combat\gygax.dm" -#include "code\game\mecha\combat\honker.dm" -#include "code\game\mecha\combat\marauder.dm" -#include "code\game\mecha\combat\phazon.dm" -#include "code\game\mecha\combat\recitence.dm" -#include "code\game\mecha\equipment\mecha_equipment.dm" -#include "code\game\mecha\equipment\tools\medical_tools.dm" -#include "code\game\mecha\equipment\tools\tools.dm" -#include "code\game\mecha\equipment\weapons\weapons.dm" -#include "code\game\mecha\medical\medical.dm" -#include "code\game\mecha\medical\odysseus.dm" -#include "code\game\mecha\working\ripley.dm" -#include "code\game\mecha\working\working.dm" -#include "code\game\objects\buckling.dm" -#include "code\game\objects\empulse.dm" -#include "code\game\objects\explosion.dm" -#include "code\game\objects\items.dm" -#include "code\game\objects\objs.dm" -#include "code\game\objects\structures.dm" -#include "code\game\objects\weapons.dm" -#include "code\game\objects\effects\aliens.dm" -#include "code\game\objects\effects\anomalies.dm" -#include "code\game\objects\effects\bump_teleporter.dm" -#include "code\game\objects\effects\datacore-effect.dm" -#include "code\game\objects\effects\effect_system.dm" -#include "code\game\objects\effects\explosion_particles.dm" -#include "code\game\objects\effects\forcefields.dm" -#include "code\game\objects\effects\gibs.dm" -#include "code\game\objects\effects\glowshroom.dm" -#include "code\game\objects\effects\landmarks.dm" -#include "code\game\objects\effects\manifest.dm" -#include "code\game\objects\effects\mines.dm" -#include "code\game\objects\effects\misc.dm" -#include "code\game\objects\effects\overlays.dm" -#include "code\game\objects\effects\portals.dm" -#include "code\game\objects\effects\spiders.dm" -#include "code\game\objects\effects\step_triggers.dm" -#include "code\game\objects\effects\decals\cleanable.dm" -#include "code\game\objects\effects\decals\contraband.dm" -#include "code\game\objects\effects\decals\crayon.dm" -#include "code\game\objects\effects\decals\misc.dm" -#include "code\game\objects\effects\decals\remains.dm" -#include "code\game\objects\effects\decals\warning_stripes.dm" -#include "code\game\objects\effects\decals\Cleanable\aliens.dm" -#include "code\game\objects\effects\decals\Cleanable\fuel.dm" -#include "code\game\objects\effects\decals\Cleanable\humans.dm" -#include "code\game\objects\effects\decals\Cleanable\misc.dm" -#include "code\game\objects\effects\decals\Cleanable\robots.dm" -#include "code\game\objects\effects\decals\Cleanable\tracks.dm" -#include "code\game\objects\effects\spawners\bombspawner.dm" -#include "code\game\objects\effects\spawners\gibspawner.dm" -#include "code\game\objects\effects\spawners\lootdrop.dm" -#include "code\game\objects\effects\spawners\vaultspawner.dm" -#include "code\game\objects\effects\spawners\windowspawner.dm" -#include "code\game\objects\items\ashtray.dm" -#include "code\game\objects\items\blueprints.dm" -#include "code\game\objects\items\bodybag.dm" -#include "code\game\objects\items\candle.dm" -#include "code\game\objects\items\changestone.dm" -#include "code\game\objects\items\contraband.dm" -#include "code\game\objects\items\crayons.dm" -#include "code\game\objects\items\dehy_carp.dm" -#include "code\game\objects\items\documents.dm" -#include "code\game\objects\items\flag.dm" -#include "code\game\objects\items\latexballoon.dm" -#include "code\game\objects\items\misc.dm" -#include "code\game\objects\items\policetape.dm" -#include "code\game\objects\items\random_items.dm" -#include "code\game\objects\items\shooting_range.dm" -#include "code\game\objects\items\toys.dm" -#include "code\game\objects\items\trash.dm" -#include "code\game\objects\items\devices\aicard.dm" -#include "code\game\objects\items\devices\autopsy.dm" -#include "code\game\objects\items\devices\camera_bug.dm" -#include "code\game\objects\items\devices\chameleonproj.dm" -#include "code\game\objects\items\devices\debugger.dm" -#include "code\game\objects\items\devices\flash.dm" -#include "code\game\objects\items\devices\flashlight.dm" -#include "code\game\objects\items\devices\guitar.dm" -#include "code\game\objects\items\devices\laserpointer.dm" -#include "code\game\objects\items\devices\lightreplacer.dm" -#include "code\game\objects\items\devices\megaphone.dm" -#include "code\game\objects\items\devices\modkit.dm" -#include "code\game\objects\items\devices\multitool.dm" -#include "code\game\objects\items\devices\paicard.dm" -#include "code\game\objects\items\devices\pipe_painter.dm" -#include "code\game\objects\items\devices\pizza_bomb.dm" -#include "code\game\objects\items\devices\powersink.dm" -#include "code\game\objects\items\devices\scanners.dm" -#include "code\game\objects\items\devices\sensor_device.dm" -#include "code\game\objects\items\devices\taperecorder.dm" -#include "code\game\objects\items\devices\traitordevices.dm" -#include "code\game\objects\items\devices\transfer_valve.dm" -#include "code\game\objects\items\devices\uplinks.dm" -#include "code\game\objects\items\devices\violin.dm" -#include "code\game\objects\items\devices\whistle.dm" -#include "code\game\objects\items\devices\radio\beacon.dm" -#include "code\game\objects\items\devices\radio\electropack.dm" -#include "code\game\objects\items\devices\radio\encryptionkey.dm" -#include "code\game\objects\items\devices\radio\headset.dm" -#include "code\game\objects\items\devices\radio\intercom.dm" -#include "code\game\objects\items\devices\radio\radio.dm" -#include "code\game\objects\items\mountable_frames\air_alarm.dm" -#include "code\game\objects\items\mountable_frames\apc_frame.dm" -#include "code\game\objects\items\mountable_frames\driver_button.dm" -#include "code\game\objects\items\mountable_frames\fire_alarm.dm" -#include "code\game\objects\items\mountable_frames\frames.dm" -#include "code\game\objects\items\mountable_frames\intercom.dm" -#include "code\game\objects\items\mountable_frames\lights.dm" -#include "code\game\objects\items\mountable_frames\mountables.dm" -#include "code\game\objects\items\mountable_frames\newscaster_frame.dm" -#include "code\game\objects\items\robot\robot_items.dm" -#include "code\game\objects\items\robot\robot_parts.dm" -#include "code\game\objects\items\robot\robot_upgrades.dm" -#include "code\game\objects\items\stacks\medical.dm" -#include "code\game\objects\items\stacks\nanopaste.dm" -#include "code\game\objects\items\stacks\rods.dm" -#include "code\game\objects\items\stacks\stack.dm" -#include "code\game\objects\items\stacks\telecrystal.dm" -#include "code\game\objects\items\stacks\sheets\glass.dm" -#include "code\game\objects\items\stacks\sheets\leather.dm" -#include "code\game\objects\items\stacks\sheets\light.dm" -#include "code\game\objects\items\stacks\sheets\mineral.dm" -#include "code\game\objects\items\stacks\sheets\sheet_types.dm" -#include "code\game\objects\items\stacks\sheets\sheets.dm" -#include "code\game\objects\items\stacks\tiles\tile_types.dm" -#include "code\game\objects\items\weapons\AI_modules.dm" -#include "code\game\objects\items\weapons\alien_specific.dm" -#include "code\game\objects\items\weapons\cards_ids.dm" -#include "code\game\objects\items\weapons\cash.dm" -#include "code\game\objects\items\weapons\caution.dm" -#include "code\game\objects\items\weapons\chrono_eraser.dm" -#include "code\game\objects\items\weapons\cigs.dm" -#include "code\game\objects\items\weapons\clown_items.dm" -#include "code\game\objects\items\weapons\cosmetics.dm" -#include "code\game\objects\items\weapons\courtroom.dm" -#include "code\game\objects\items\weapons\defib.dm" -#include "code\game\objects\items\weapons\dice.dm" -#include "code\game\objects\items\weapons\disks.dm" -#include "code\game\objects\items\weapons\dna_injector.dm" -#include "code\game\objects\items\weapons\dnascrambler.dm" -#include "code\game\objects\items\weapons\explosives.dm" -#include "code\game\objects\items\weapons\extinguisher.dm" -#include "code\game\objects\items\weapons\fireworks.dm" -#include "code\game\objects\items\weapons\flamethrower.dm" -#include "code\game\objects\items\weapons\gift_wrappaper.dm" -#include "code\game\objects\items\weapons\handcuffs.dm" -#include "code\game\objects\items\weapons\holosign.dm" -#include "code\game\objects\items\weapons\kitchen.dm" -#include "code\game\objects\items\weapons\legcuffs.dm" -#include "code\game\objects\items\weapons\lighters.dm" -#include "code\game\objects\items\weapons\manuals.dm" -#include "code\game\objects\items\weapons\misc.dm" -#include "code\game\objects\items\weapons\mop.dm" -#include "code\game\objects\items\weapons\paint.dm" -#include "code\game\objects\items\weapons\paiwire.dm" -#include "code\game\objects\items\weapons\pneumaticCannon.dm" -#include "code\game\objects\items\weapons\power_cells.dm" -#include "code\game\objects\items\weapons\RCD.dm" -#include "code\game\objects\items\weapons\RSF.dm" -#include "code\game\objects\items\weapons\scissors.dm" -#include "code\game\objects\items\weapons\scrolls.dm" -#include "code\game\objects\items\weapons\shards.dm" -#include "code\game\objects\items\weapons\shields.dm" -#include "code\game\objects\items\weapons\signs.dm" -#include "code\game\objects\items\weapons\soap.dm" -#include "code\game\objects\items\weapons\staff.dm" -#include "code\game\objects\items\weapons\stock_parts.dm" -#include "code\game\objects\items\weapons\stunbaton.dm" -#include "code\game\objects\items\weapons\swords_axes_etc.dm" -#include "code\game\objects\items\weapons\syndie_uplink.dm" -#include "code\game\objects\items\weapons\table_rack_parts.dm" -#include "code\game\objects\items\weapons\tape.dm" -#include "code\game\objects\items\weapons\teleportation.dm" -#include "code\game\objects\items\weapons\tools.dm" -#include "code\game\objects\items\weapons\twohanded.dm" -#include "code\game\objects\items\weapons\vending_items.dm" -#include "code\game\objects\items\weapons\weaponry.dm" -#include "code\game\objects\items\weapons\whetstone.dm" -#include "code\game\objects\items\weapons\wires.dm" -#include "code\game\objects\items\weapons\grenades\bananade.dm" -#include "code\game\objects\items\weapons\grenades\chem_grenade.dm" -#include "code\game\objects\items\weapons\grenades\clowngrenade.dm" -#include "code\game\objects\items\weapons\grenades\clusterbuster.dm" -#include "code\game\objects\items\weapons\grenades\custom_grenades.dm" -#include "code\game\objects\items\weapons\grenades\emgrenade.dm" -#include "code\game\objects\items\weapons\grenades\flashbang.dm" -#include "code\game\objects\items\weapons\grenades\ghettobomb.dm" -#include "code\game\objects\items\weapons\grenades\grenade.dm" -#include "code\game\objects\items\weapons\grenades\smokebomb.dm" -#include "code\game\objects\items\weapons\grenades\spawnergrenade.dm" -#include "code\game\objects\items\weapons\grenades\syndieminibomb.dm" -#include "code\game\objects\items\weapons\implants\implant.dm" -#include "code\game\objects\items\weapons\implants\implant_chem.dm" -#include "code\game\objects\items\weapons\implants\implant_death_alarm.dm" -#include "code\game\objects\items\weapons\implants\implant_explosive.dm" -#include "code\game\objects\items\weapons\implants\implant_freedom.dm" -#include "code\game\objects\items\weapons\implants\implant_loyality.dm" -#include "code\game\objects\items\weapons\implants\implant_misc.dm" -#include "code\game\objects\items\weapons\implants\implant_storage.dm" -#include "code\game\objects\items\weapons\implants\implant_track.dm" -#include "code\game\objects\items\weapons\implants\implant_traitor.dm" -#include "code\game\objects\items\weapons\implants\implantcase.dm" -#include "code\game\objects\items\weapons\implants\implantchair.dm" -#include "code\game\objects\items\weapons\implants\implanter.dm" -#include "code\game\objects\items\weapons\implants\implantpad.dm" -#include "code\game\objects\items\weapons\implants\implantuplink.dm" -#include "code\game\objects\items\weapons\melee\energy.dm" -#include "code\game\objects\items\weapons\melee\misc.dm" -#include "code\game\objects\items\weapons\storage\backpack.dm" -#include "code\game\objects\items\weapons\storage\bags.dm" -#include "code\game\objects\items\weapons\storage\belt.dm" -#include "code\game\objects\items\weapons\storage\bible.dm" -#include "code\game\objects\items\weapons\storage\boxes.dm" -#include "code\game\objects\items\weapons\storage\briefcase.dm" -#include "code\game\objects\items\weapons\storage\fancy.dm" -#include "code\game\objects\items\weapons\storage\firstaid.dm" -#include "code\game\objects\items\weapons\storage\internal.dm" -#include "code\game\objects\items\weapons\storage\lockbox.dm" -#include "code\game\objects\items\weapons\storage\secure.dm" -#include "code\game\objects\items\weapons\storage\storage.dm" -#include "code\game\objects\items\weapons\storage\toolbox.dm" -#include "code\game\objects\items\weapons\storage\uplink_kits.dm" -#include "code\game\objects\items\weapons\storage\wallets.dm" -#include "code\game\objects\items\weapons\tanks\jetpack.dm" -#include "code\game\objects\items\weapons\tanks\tank_types.dm" -#include "code\game\objects\items\weapons\tanks\tanks.dm" -#include "code\game\objects\items\weapons\tanks\watertank.dm" -#include "code\game\objects\random\random.dm" -#include "code\game\objects\structures\artstuff.dm" -#include "code\game\objects\structures\barsign.dm" -#include "code\game\objects\structures\bedsheet_bin.dm" -#include "code\game\objects\structures\coathanger.dm" -#include "code\game\objects\structures\curtains.dm" -#include "code\game\objects\structures\displaycase.dm" -#include "code\game\objects\structures\door_assembly.dm" -#include "code\game\objects\structures\dresser.dm" -#include "code\game\objects\structures\electricchair.dm" -#include "code\game\objects\structures\engicart.dm" -#include "code\game\objects\structures\extinguisher.dm" -#include "code\game\objects\structures\false_walls.dm" -#include "code\game\objects\structures\flora.dm" -#include "code\game\objects\structures\foodcart.dm" -#include "code\game\objects\structures\fullwindow.dm" -#include "code\game\objects\structures\girders.dm" -#include "code\game\objects\structures\grille.dm" -#include "code\game\objects\structures\inflatable.dm" -#include "code\game\objects\structures\janicart.dm" -#include "code\game\objects\structures\kitchen_spike.dm" -#include "code\game\objects\structures\ladders.dm" -#include "code\game\objects\structures\lamarr_cage.dm" -#include "code\game\objects\structures\lattice.dm" -#include "code\game\objects\structures\mineral_doors.dm" -#include "code\game\objects\structures\mirror.dm" -#include "code\game\objects\structures\misc.dm" -#include "code\game\objects\structures\mop_bucket.dm" -#include "code\game\objects\structures\morgue.dm" -#include "code\game\objects\structures\musician.dm" -#include "code\game\objects\structures\noticeboard.dm" -#include "code\game\objects\structures\safe.dm" -#include "code\game\objects\structures\signs.dm" -#include "code\game\objects\structures\spirit_board.dm" -#include "code\game\objects\structures\statue.dm" -#include "code\game\objects\structures\tables_racks.dm" -#include "code\game\objects\structures\tank_dispenser.dm" -#include "code\game\objects\structures\target_stake.dm" -#include "code\game\objects\structures\watercloset.dm" -#include "code\game\objects\structures\windoor_assembly.dm" -#include "code\game\objects\structures\window.dm" -#include "code\game\objects\structures\crates_lockers\closets.dm" -#include "code\game\objects\structures\crates_lockers\crates.dm" -#include "code\game\objects\structures\crates_lockers\crittercrate.dm" -#include "code\game\objects\structures\crates_lockers\largecrate.dm" -#include "code\game\objects\structures\crates_lockers\walllocker.dm" -#include "code\game\objects\structures\crates_lockers\closets\cardboardbox.dm" -#include "code\game\objects\structures\crates_lockers\closets\coffin.dm" -#include "code\game\objects\structures\crates_lockers\closets\crittercrate.dm" -#include "code\game\objects\structures\crates_lockers\closets\fireaxe.dm" -#include "code\game\objects\structures\crates_lockers\closets\fitness.dm" -#include "code\game\objects\structures\crates_lockers\closets\gimmick.dm" -#include "code\game\objects\structures\crates_lockers\closets\job_closets.dm" -#include "code\game\objects\structures\crates_lockers\closets\l3closet.dm" -#include "code\game\objects\structures\crates_lockers\closets\malfunction.dm" -#include "code\game\objects\structures\crates_lockers\closets\statue.dm" -#include "code\game\objects\structures\crates_lockers\closets\syndicate.dm" -#include "code\game\objects\structures\crates_lockers\closets\utility_closets.dm" -#include "code\game\objects\structures\crates_lockers\closets\wardrobe.dm" -#include "code\game\objects\structures\crates_lockers\closets\secure\bar.dm" -#include "code\game\objects\structures\crates_lockers\closets\secure\cargo.dm" -#include "code\game\objects\structures\crates_lockers\closets\secure\chaplain.dm" -#include "code\game\objects\structures\crates_lockers\closets\secure\engineering.dm" -#include "code\game\objects\structures\crates_lockers\closets\secure\freezer.dm" -#include "code\game\objects\structures\crates_lockers\closets\secure\guncabinet.dm" -#include "code\game\objects\structures\crates_lockers\closets\secure\hydroponics.dm" -#include "code\game\objects\structures\crates_lockers\closets\secure\medical.dm" -#include "code\game\objects\structures\crates_lockers\closets\secure\personal.dm" -#include "code\game\objects\structures\crates_lockers\closets\secure\scientist.dm" -#include "code\game\objects\structures\crates_lockers\closets\secure\secure_closets.dm" -#include "code\game\objects\structures\crates_lockers\closets\secure\security.dm" -#include "code\game\objects\structures\stool_bed_chair_nest\alien_nests.dm" -#include "code\game\objects\structures\stool_bed_chair_nest\bed.dm" -#include "code\game\objects\structures\stool_bed_chair_nest\chairs.dm" -#include "code\game\objects\structures\stool_bed_chair_nest\stools.dm" -#include "code\game\objects\structures\stool_bed_chair_nest\wheelchair.dm" -#include "code\game\objects\structures\transit_tubes\station.dm" -#include "code\game\objects\structures\transit_tubes\transit_tube.dm" -#include "code\game\objects\structures\transit_tubes\transit_tube_pod.dm" -#include "code\game\turfs\simulated.dm" -#include "code\game\turfs\turf.dm" -#include "code\game\turfs\unsimulated.dm" -#include "code\game\turfs\simulated\floor.dm" -#include "code\game\turfs\simulated\shuttle.dm" -#include "code\game\turfs\simulated\walls.dm" -#include "code\game\turfs\simulated\walls_mineral.dm" -#include "code\game\turfs\simulated\walls_misc.dm" -#include "code\game\turfs\simulated\walls_reinforced.dm" -#include "code\game\turfs\simulated\floor\fancy_floor.dm" -#include "code\game\turfs\simulated\floor\light_floor.dm" -#include "code\game\turfs\simulated\floor\misc_floor.dm" -#include "code\game\turfs\simulated\floor\plasteel_floor.dm" -#include "code\game\turfs\simulated\floor\plating.dm" -#include "code\game\turfs\space\space.dm" -#include "code\game\turfs\space\transit.dm" -#include "code\game\turfs\unsimulated\beach.dm" -#include "code\game\turfs\unsimulated\floor.dm" -#include "code\game\turfs\unsimulated\walls.dm" -#include "code\game\vehicles\spacepods\construction.dm" -#include "code\game\vehicles\spacepods\equipment.dm" -#include "code\game\vehicles\spacepods\parts.dm" -#include "code\game\vehicles\spacepods\pod_fabricator.dm" -#include "code\game\vehicles\spacepods\spacepod.dm" -#include "code\game\verbs\ooc.dm" -#include "code\game\verbs\suicide.dm" -#include "code\game\verbs\who.dm" -#include "code\js\byjax.dm" -#include "code\js\menus.dm" -#include "code\LINDA\LINDA_fire.dm" -#include "code\LINDA\LINDA_system.dm" -#include "code\LINDA\LINDA_turf_tile.dm" -#include "code\modules\admin\admin.dm" -#include "code\modules\admin\admin_investigate.dm" -#include "code\modules\admin\admin_memo.dm" -#include "code\modules\admin\admin_ranks.dm" -#include "code\modules\admin\admin_verbs.dm" -#include "code\modules\admin\banappearance.dm" -#include "code\modules\admin\banjob.dm" -#include "code\modules\admin\buildmode.dm" -#include "code\modules\admin\create_mob.dm" -#include "code\modules\admin\create_object.dm" -#include "code\modules\admin\create_poll.dm" -#include "code\modules\admin\create_turf.dm" -#include "code\modules\admin\holder2.dm" -#include "code\modules\admin\IsBanned.dm" -#include "code\modules\admin\machine_upgrade.dm" -#include "code\modules\admin\NewBan.dm" -#include "code\modules\admin\newbanjob.dm" -#include "code\modules\admin\player_panel.dm" -#include "code\modules\admin\secrets.dm" -#include "code\modules\admin\sql_notes.dm" -#include "code\modules\admin\stickyban.dm" -#include "code\modules\admin\topic.dm" -#include "code\modules\admin\ToRban.dm" -#include "code\modules\admin\watchlist.dm" -#include "code\modules\admin\DB ban\functions.dm" -#include "code\modules\admin\permissionverbs\permissionedit.dm" -#include "code\modules\admin\verbs\adminhelp.dm" -#include "code\modules\admin\verbs\adminjump.dm" -#include "code\modules\admin\verbs\adminpm.dm" -#include "code\modules\admin\verbs\adminsay.dm" -#include "code\modules\admin\verbs\alt_check.dm" -#include "code\modules\admin\verbs\antag-ooc.dm" -#include "code\modules\admin\verbs\atmosdebug.dm" -#include "code\modules\admin\verbs\BrokenInhands.dm" -#include "code\modules\admin\verbs\cinematic.dm" -#include "code\modules\admin\verbs\custom_event.dm" -#include "code\modules\admin\verbs\deadsay.dm" -#include "code\modules\admin\verbs\debug.dm" -#include "code\modules\admin\verbs\diagnostics.dm" -#include "code\modules\admin\verbs\dice.dm" -#include "code\modules\admin\verbs\freeze.dm" -#include "code\modules\admin\verbs\getlogs.dm" -#include "code\modules\admin\verbs\honksquad.dm" -#include "code\modules\admin\verbs\mapping.dm" -#include "code\modules\admin\verbs\massmodvar.dm" -#include "code\modules\admin\verbs\modifyvariables.dm" -#include "code\modules\admin\verbs\one_click_antag.dm" -#include "code\modules\admin\verbs\onlyone.dm" -#include "code\modules\admin\verbs\onlyoneteam.dm" -#include "code\modules\admin\verbs\playsound.dm" -#include "code\modules\admin\verbs\possess.dm" -#include "code\modules\admin\verbs\pray.dm" -#include "code\modules\admin\verbs\randomverbs.dm" -#include "code\modules\admin\verbs\striketeam.dm" -#include "code\modules\admin\verbs\striketeam_syndicate.dm" -#include "code\modules\admin\verbs\ticklag.dm" -#include "code\modules\admin\verbs\tripAI.dm" -#include "code\modules\admin\verbs\vox_raiders.dm" -#include "code\modules\admin\verbs\SDQL2\SDQL_2.dm" -#include "code\modules\admin\verbs\SDQL2\SDQL_2_parser.dm" -#include "code\modules\alarm\alarm.dm" -#include "code\modules\alarm\alarm_handler.dm" -#include "code\modules\alarm\atmosphere_alarm.dm" -#include "code\modules\alarm\burglar_alarm.dm" -#include "code\modules\alarm\camera_alarm.dm" -#include "code\modules\alarm\fire_alarm.dm" -#include "code\modules\alarm\motion_alarm.dm" -#include "code\modules\alarm\power_alarm.dm" -#include "code\modules\arcade\arcade_base.dm" -#include "code\modules\arcade\arcade_prize.dm" -#include "code\modules\arcade\claw_game.dm" -#include "code\modules\arcade\prize_counter.dm" -#include "code\modules\arcade\prize_datums.dm" -#include "code\modules\assembly\assembly.dm" -#include "code\modules\assembly\bomb.dm" -#include "code\modules\assembly\health.dm" -#include "code\modules\assembly\helpers.dm" -#include "code\modules\assembly\holder.dm" -#include "code\modules\assembly\igniter.dm" -#include "code\modules\assembly\infrared.dm" -#include "code\modules\assembly\mousetrap.dm" -#include "code\modules\assembly\proximity.dm" -#include "code\modules\assembly\shock_kit.dm" -#include "code\modules\assembly\signaler.dm" -#include "code\modules\assembly\timer.dm" -#include "code\modules\assembly\voice.dm" -#include "code\modules\atmos_automation\console.dm" -#include "code\modules\atmos_automation\statements.dm" -#include "code\modules\atmos_automation\implementation\digital_valves.dm" -#include "code\modules\atmos_automation\implementation\emitters.dm" -#include "code\modules\atmos_automation\implementation\injectors.dm" -#include "code\modules\atmos_automation\implementation\scrubbers.dm" -#include "code\modules\atmos_automation\implementation\sensors.dm" -#include "code\modules\atmos_automation\implementation\vent_pump.dm" -#include "code\modules\awaymissions\bluespaceartillery.dm" -#include "code\modules\awaymissions\corpse.dm" -#include "code\modules\awaymissions\exile.dm" -#include "code\modules\awaymissions\gateway.dm" -#include "code\modules\awaymissions\loot.dm" -#include "code\modules\awaymissions\pamphlet.dm" -#include "code\modules\awaymissions\trigger.dm" -#include "code\modules\awaymissions\zlevel.dm" -#include "code\modules\awaymissions\maploader\dmm_suite.dm" -#include "code\modules\awaymissions\maploader\reader.dm" -#include "code\modules\awaymissions\maploader\swapmaps.dm" -#include "code\modules\awaymissions\maploader\writer.dm" -#include "code\modules\awaymissions\mission_code\academy.dm" -#include "code\modules\awaymissions\mission_code\beach.dm" -#include "code\modules\awaymissions\mission_code\blackmarketpackers.dm" -#include "code\modules\awaymissions\mission_code\centcomAway.dm" -#include "code\modules\awaymissions\mission_code\challenge.dm" -#include "code\modules\awaymissions\mission_code\clownplanet.dm" -#include "code\modules\awaymissions\mission_code\evil_santa.dm" -#include "code\modules\awaymissions\mission_code\spacebattle.dm" -#include "code\modules\awaymissions\mission_code\stationCollision.dm" -#include "code\modules\awaymissions\mission_code\wildwest.dm" -#include "code\modules\client\asset_cache.dm" -#include "code\modules\client\client defines.dm" -#include "code\modules\client\client procs.dm" -#include "code\modules\client\message.dm" -#include "code\modules\client\preferences.dm" -#include "code\modules\client\preferences_mysql.dm" -#include "code\modules\client\preferences_spawnpoints.dm" -#include "code\modules\client\preferences_toggles.dm" -#include "code\modules\clothing\clothing.dm" -#include "code\modules\clothing\glasses\glasses.dm" -#include "code\modules\clothing\glasses\hud.dm" -#include "code\modules\clothing\gloves\boxing.dm" -#include "code\modules\clothing\gloves\color.dm" -#include "code\modules\clothing\gloves\miscellaneous.dm" -#include "code\modules\clothing\gloves\rings.dm" -#include "code\modules\clothing\head\collectable.dm" -#include "code\modules\clothing\head\hardhat.dm" -#include "code\modules\clothing\head\helmet.dm" -#include "code\modules\clothing\head\jobs.dm" -#include "code\modules\clothing\head\misc.dm" -#include "code\modules\clothing\head\misc_special.dm" -#include "code\modules\clothing\head\soft_caps.dm" -#include "code\modules\clothing\masks\boxing.dm" -#include "code\modules\clothing\masks\breath.dm" -#include "code\modules\clothing\masks\gasmask.dm" -#include "code\modules\clothing\masks\miscellaneous.dm" -#include "code\modules\clothing\masks\voice.dm" -#include "code\modules\clothing\shoes\colour.dm" -#include "code\modules\clothing\shoes\magboots.dm" -#include "code\modules\clothing\shoes\miscellaneous.dm" -#include "code\modules\clothing\spacesuits\alien.dm" -#include "code\modules\clothing\spacesuits\breaches.dm" -#include "code\modules\clothing\spacesuits\chronosuit.dm" -#include "code\modules\clothing\spacesuits\ert.dm" -#include "code\modules\clothing\spacesuits\miscellaneous.dm" -#include "code\modules\clothing\spacesuits\plasmamen.dm" -#include "code\modules\clothing\spacesuits\rig.dm" -#include "code\modules\clothing\spacesuits\syndi.dm" -#include "code\modules\clothing\spacesuits\void.dm" -#include "code\modules\clothing\spacesuits\rig\rig.dm" -#include "code\modules\clothing\spacesuits\rig\rig_attackby.dm" -#include "code\modules\clothing\spacesuits\rig\rig_pieces.dm" -#include "code\modules\clothing\spacesuits\rig\rig_verbs.dm" -#include "code\modules\clothing\spacesuits\rig\rig_wiring.dm" -#include "code\modules\clothing\spacesuits\rig\modules\combat.dm" -#include "code\modules\clothing\spacesuits\rig\modules\computer.dm" -#include "code\modules\clothing\spacesuits\rig\modules\modules.dm" -#include "code\modules\clothing\spacesuits\rig\modules\ninja.dm" -#include "code\modules\clothing\spacesuits\rig\modules\utility.dm" -#include "code\modules\clothing\spacesuits\rig\modules\vision.dm" -#include "code\modules\clothing\spacesuits\rig\suits\alien.dm" -#include "code\modules\clothing\spacesuits\rig\suits\combat.dm" -#include "code\modules\clothing\spacesuits\rig\suits\ert.dm" -#include "code\modules\clothing\spacesuits\rig\suits\light.dm" -#include "code\modules\clothing\spacesuits\rig\suits\merc.dm" -#include "code\modules\clothing\spacesuits\rig\suits\station.dm" -#include "code\modules\clothing\suits\alien.dm" -#include "code\modules\clothing\suits\armor.dm" -#include "code\modules\clothing\suits\bio.dm" -#include "code\modules\clothing\suits\jobs.dm" -#include "code\modules\clothing\suits\labcoat.dm" -#include "code\modules\clothing\suits\miscellaneous.dm" -#include "code\modules\clothing\suits\storage.dm" -#include "code\modules\clothing\suits\utility.dm" -#include "code\modules\clothing\suits\wiz_robe.dm" -#include "code\modules\clothing\under\chameleon.dm" -#include "code\modules\clothing\under\color.dm" -#include "code\modules\clothing\under\miscellaneous.dm" -#include "code\modules\clothing\under\pants.dm" -#include "code\modules\clothing\under\shorts.dm" -#include "code\modules\clothing\under\syndicate.dm" -#include "code\modules\clothing\under\accessories\accessory.dm" -#include "code\modules\clothing\under\accessories\armband.dm" -#include "code\modules\clothing\under\accessories\holster.dm" -#include "code\modules\clothing\under\accessories\storage.dm" -#include "code\modules\clothing\under\jobs\civilian.dm" -#include "code\modules\clothing\under\jobs\engineering.dm" -#include "code\modules\clothing\under\jobs\medsci.dm" -#include "code\modules\clothing\under\jobs\security.dm" -#include "code\modules\computer3\bios.dm" -#include "code\modules\computer3\buildandrepair.dm" -#include "code\modules\computer3\component.dm" -#include "code\modules\computer3\computer.dm" -#include "code\modules\computer3\computer3_notes.dm" -#include "code\modules\computer3\file.dm" -#include "code\modules\computer3\laptop.dm" -#include "code\modules\computer3\lapvend.dm" -#include "code\modules\computer3\networking.dm" -#include "code\modules\computer3\NTOS.dm" -#include "code\modules\computer3\program.dm" -#include "code\modules\computer3\program_disks.dm" -#include "code\modules\computer3\server.dm" -#include "code\modules\computer3\storage.dm" -#include "code\modules\computer3\computers\arcade.dm" -#include "code\modules\computer3\computers\atmos_alert.dm" -#include "code\modules\computer3\computers\camera.dm" -#include "code\modules\computer3\computers\card.dm" -#include "code\modules\computer3\computers\communications.dm" -#include "code\modules\computer3\computers\crew.dm" -#include "code\modules\computer3\computers\customs.dm" -#include "code\modules\computer3\computers\HolodeckControl.dm" -#include "code\modules\computer3\computers\law.dm" -#include "code\modules\computer3\computers\medical.dm" -#include "code\modules\computer3\computers\Operating.dm" -#include "code\modules\computer3\computers\power.dm" -#include "code\modules\computer3\computers\prisoner.dm" -#include "code\modules\computer3\computers\robot.dm" -#include "code\modules\computer3\computers\security.dm" -#include "code\modules\computer3\computers\welcome.dm" -#include "code\modules\crafting\guncrafting.dm" -#include "code\modules\crafting\recipes.dm" -#include "code\modules\crafting\table.dm" -#include "code\modules\customitems\item_defines.dm" -#include "code\modules\customitems\item_spawning.dm" -#include "code\modules\detective_work\detective_work.dm" -#include "code\modules\detective_work\evidence.dm" -#include "code\modules\detective_work\footprints_and_rag.dm" -#include "code\modules\detective_work\scanner.dm" -#include "code\modules\economy\Accounts.dm" -#include "code\modules\economy\Accounts_DB.dm" -#include "code\modules\economy\ATM.dm" -#include "code\modules\economy\Economy.dm" -#include "code\modules\economy\Economy_Events.dm" -#include "code\modules\economy\Economy_Events_Mundane.dm" -#include "code\modules\economy\Economy_TradeDestinations.dm" -#include "code\modules\economy\EFTPOS.dm" -#include "code\modules\economy\Job_Departments.dm" -#include "code\modules\economy\POS.dm" -#include "code\modules\economy\utils.dm" -#include "code\modules\events\alien_infestation.dm" -#include "code\modules\events\anomaly.dm" -#include "code\modules\events\anomaly_bluespace.dm" -#include "code\modules\events\anomaly_flux.dm" -#include "code\modules\events\anomaly_grav.dm" -#include "code\modules\events\anomaly_pyro.dm" -#include "code\modules\events\anomaly_vortex.dm" -#include "code\modules\events\blob.dm" -#include "code\modules\events\brand_intelligence.dm" -#include "code\modules\events\carp_migration.dm" -#include "code\modules\events\communications_blackout.dm" -#include "code\modules\events\dust.dm" -#include "code\modules\events\electrical_storm.dm" -#include "code\modules\events\event.dm" -#include "code\modules\events\event_container.dm" -#include "code\modules\events\event_manager.dm" -#include "code\modules\events\false_alarm.dm" -#include "code\modules\events\grid_check.dm" -#include "code\modules\events\immovable_rod.dm" -#include "code\modules\events\infestation.dm" -#include "code\modules\events\ion_storm.dm" -#include "code\modules\events\mass_hallucination.dm" -#include "code\modules\events\meaty_ores.dm" -#include "code\modules\events\meteors.dm" -#include "code\modules\events\money_hacker.dm" -#include "code\modules\events\money_lotto.dm" -#include "code\modules\events\money_spam.dm" -#include "code\modules\events\prison_break.dm" -#include "code\modules\events\radiation_storm.dm" -#include "code\modules\events\rogue_drones.dm" -#include "code\modules\events\slaughterevent.dm" -#include "code\modules\events\spacevine.dm" -#include "code\modules\events\spider_infestation.dm" -#include "code\modules\events\tear.dm" -#include "code\modules\events\undead.dm" -#include "code\modules\events\vent_clog.dm" -#include "code\modules\events\viral_infection.dm" -#include "code\modules\events\viral_outbreak.dm" -#include "code\modules\events\wallrot.dm" -#include "code\modules\events\wormholes.dm" -#include "code\modules\examine\examine.dm" -#include "code\modules\examine\descriptions\atmospherics.dm" -#include "code\modules\examine\descriptions\engineering.dm" -#include "code\modules\examine\descriptions\medical.dm" -#include "code\modules\examine\descriptions\mobs.dm" -#include "code\modules\examine\descriptions\stacks.dm" -#include "code\modules\examine\descriptions\structures.dm" -#include "code\modules\examine\descriptions\turfs.dm" -#include "code\modules\examine\descriptions\weapons.dm" -#include "code\modules\ext_scripts\irc.dm" -#include "code\modules\ext_scripts\python.dm" -#include "code\modules\fish\fish_eggs.dm" -#include "code\modules\fish\fish_items.dm" -#include "code\modules\fish\fishtank.dm" -#include "code\modules\flufftext\Dreaming.dm" -#include "code\modules\flufftext\Hallucination.dm" -#include "code\modules\flufftext\TextFilters.dm" -#include "code\modules\food\candy_maker.dm" -#include "code\modules\food\cereal_maker.dm" -#include "code\modules\food\cooker.dm" -#include "code\modules\food\customizables.dm" -#include "code\modules\food\deep_fryer.dm" -#include "code\modules\food\food_grill.dm" -#include "code\modules\food\grill_new.dm" -#include "code\modules\food\icecream_vat.dm" -#include "code\modules\food\oven.dm" -#include "code\modules\food\oven_new.dm" -#include "code\modules\food\recipes_candy.dm" -#include "code\modules\food\recipes_grill.dm" -#include "code\modules\food\recipes_microwave.dm" -#include "code\modules\food\recipes_oven.dm" -#include "code\modules\food\recipes_table.dm" -#include "code\modules\garbage_collection\garbage_collector.dm" -#include "code\modules\garbage_collection\gc_testing.dm" -#include "code\modules\holiday\christmas.dm" -#include "code\modules\holiday\holiday.dm" -#include "code\modules\hydroponics\grown.dm" -#include "code\modules\hydroponics\grown_inedible.dm" -#include "code\modules\hydroponics\grown_predefined.dm" -#include "code\modules\hydroponics\hydro_reagents.dm" -#include "code\modules\hydroponics\seed.dm" -#include "code\modules\hydroponics\seed_controller.dm" -#include "code\modules\hydroponics\seed_datums.dm" -#include "code\modules\hydroponics\seed_machines.dm" -#include "code\modules\hydroponics\seed_mobs.dm" -#include "code\modules\hydroponics\seed_packets.dm" -#include "code\modules\hydroponics\seed_storage.dm" -#include "code\modules\hydroponics\spreading\spreading.dm" -#include "code\modules\hydroponics\spreading\spreading_growth.dm" -#include "code\modules\hydroponics\spreading\spreading_response.dm" -#include "code\modules\hydroponics\trays\tray.dm" -#include "code\modules\hydroponics\trays\tray_apiary.dm" -#include "code\modules\hydroponics\trays\tray_process.dm" -#include "code\modules\hydroponics\trays\tray_reagents.dm" -#include "code\modules\hydroponics\trays\tray_soil.dm" -#include "code\modules\hydroponics\trays\tray_tools.dm" -#include "code\modules\hydroponics\trays\tray_update_icons.dm" -#include "code\modules\karma\karma.dm" -#include "code\modules\library\lib_items.dm" -#include "code\modules\library\lib_machines.dm" -#include "code\modules\library\lib_readme.dm" -#include "code\modules\lighting\__lighting_docs.dm" -#include "code\modules\lighting\light_source.dm" -#include "code\modules\lighting\lighting_atom.dm" -#include "code\modules\lighting\lighting_overlay.dm" -#include "code\modules\lighting\lighting_process.dm" -#include "code\modules\lighting\lighting_system.dm" -#include "code\modules\lighting\lighting_turf.dm" -#include "code\modules\media\jukebox.dm" -#include "code\modules\media\machinery.dm" -#include "code\modules\media\mediamanager.dm" -#include "code\modules\media\broadcast\receiver.dm" -#include "code\modules\media\broadcast\transmitter.dm" -#include "code\modules\media\broadcast\receivers\radio.dm" -#include "code\modules\media\broadcast\transmitters\broadcast.dm" -#include "code\modules\mining\abandonedcrates.dm" -#include "code\modules\mining\coins.dm" -#include "code\modules\mining\equipment_locker.dm" -#include "code\modules\mining\machine_input_output_plates.dm" -#include "code\modules\mining\machine_processing.dm" -#include "code\modules\mining\machine_stacking.dm" -#include "code\modules\mining\machine_unloading.dm" -#include "code\modules\mining\mine_areas.dm" -#include "code\modules\mining\mine_items.dm" -#include "code\modules\mining\mine_turfs.dm" -#include "code\modules\mining\mint.dm" -#include "code\modules\mining\money_bag.dm" -#include "code\modules\mining\ore.dm" -#include "code\modules\mining\satchel_ore_boxdm.dm" -#include "code\modules\mining\laborcamp\laborminerals.dm" -#include "code\modules\mining\laborcamp\laborshuttle.dm" -#include "code\modules\mining\laborcamp\laborstacker.dm" -#include "code\modules\mob\abilities.dm" -#include "code\modules\mob\death.dm" -#include "code\modules\mob\emote.dm" -#include "code\modules\mob\hear_say.dm" -#include "code\modules\mob\holder.dm" -#include "code\modules\mob\inventory.dm" -#include "code\modules\mob\language.dm" -#include "code\modules\mob\login.dm" -#include "code\modules\mob\logout.dm" -#include "code\modules\mob\mob.dm" -#include "code\modules\mob\mob_defines.dm" -#include "code\modules\mob\mob_grab.dm" -#include "code\modules\mob\mob_helpers.dm" -#include "code\modules\mob\mob_movement.dm" -#include "code\modules\mob\mob_transformation_simple.dm" -#include "code\modules\mob\say.dm" -#include "code\modules\mob\transform_procs.dm" -#include "code\modules\mob\typing_indicator.dm" -#include "code\modules\mob\update_icons.dm" -#include "code\modules\mob\camera\camera.dm" -#include "code\modules\mob\dead\death.dm" -#include "code\modules\mob\dead\observer\login.dm" -#include "code\modules\mob\dead\observer\logout.dm" -#include "code\modules\mob\dead\observer\observer.dm" -#include "code\modules\mob\dead\observer\say.dm" -#include "code\modules\mob\dead\observer\spells.dm" -#include "code\modules\mob\living\autohiss.dm" -#include "code\modules\mob\living\damage_procs.dm" -#include "code\modules\mob\living\default_language.dm" -#include "code\modules\mob\living\life.dm" -#include "code\modules\mob\living\living.dm" -#include "code\modules\mob\living\living_defense.dm" -#include "code\modules\mob\living\living_defines.dm" -#include "code\modules\mob\living\login.dm" -#include "code\modules\mob\living\logout.dm" -#include "code\modules\mob\living\say.dm" -#include "code\modules\mob\living\carbon\_defines.dm" -#include "code\modules\mob\living\carbon\carbon.dm" -#include "code\modules\mob\living\carbon\carbon_defenses.dm" -#include "code\modules\mob\living\carbon\carbon_defines.dm" -#include "code\modules\mob\living\carbon\death.dm" -#include "code\modules\mob\living\carbon\give.dm" -#include "code\modules\mob\living\carbon\life.dm" -#include "code\modules\mob\living\carbon\shock.dm" -#include "code\modules\mob\living\carbon\superheroes.dm" -#include "code\modules\mob\living\carbon\update_icons.dm" -#include "code\modules\mob\living\carbon\alien\alien.dm" -#include "code\modules\mob\living\carbon\alien\alien_defenses.dm" -#include "code\modules\mob\living\carbon\alien\death.dm" -#include "code\modules\mob\living\carbon\alien\life.dm" -#include "code\modules\mob\living\carbon\alien\login.dm" -#include "code\modules\mob\living\carbon\alien\logout.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\alien_powers.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\emote.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\empress.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\humanoid.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\inventory.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\life.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\login.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\queen.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\update_icons.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\caste\drone.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\caste\hunter.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\caste\sentinel.dm" -#include "code\modules\mob\living\carbon\alien\larva\death.dm" -#include "code\modules\mob\living\carbon\alien\larva\emote.dm" -#include "code\modules\mob\living\carbon\alien\larva\inventory.dm" -#include "code\modules\mob\living\carbon\alien\larva\larva.dm" -#include "code\modules\mob\living\carbon\alien\larva\life.dm" -#include "code\modules\mob\living\carbon\alien\larva\powers.dm" -#include "code\modules\mob\living\carbon\alien\larva\update_icons.dm" -#include "code\modules\mob\living\carbon\alien\special\alien_embryo.dm" -#include "code\modules\mob\living\carbon\alien\special\facehugger.dm" -#include "code\modules\mob\living\carbon\brain\brain.dm" -#include "code\modules\mob\living\carbon\brain\brain_item.dm" -#include "code\modules\mob\living\carbon\brain\death.dm" -#include "code\modules\mob\living\carbon\brain\emote.dm" -#include "code\modules\mob\living\carbon\brain\life.dm" -#include "code\modules\mob\living\carbon\brain\login.dm" -#include "code\modules\mob\living\carbon\brain\MMI.dm" -#include "code\modules\mob\living\carbon\brain\posibrain.dm" -#include "code\modules\mob\living\carbon\brain\say.dm" -#include "code\modules\mob\living\carbon\human\appearance.dm" -#include "code\modules\mob\living\carbon\human\body_accessories.dm" -#include "code\modules\mob\living\carbon\human\death.dm" -#include "code\modules\mob\living\carbon\human\emote.dm" -#include "code\modules\mob\living\carbon\human\examine.dm" -#include "code\modules\mob\living\carbon\human\human.dm" -#include "code\modules\mob\living\carbon\human\human_attackalien.dm" -#include "code\modules\mob\living\carbon\human\human_attackhand.dm" -#include "code\modules\mob\living\carbon\human\human_damage.dm" -#include "code\modules\mob\living\carbon\human\human_defense.dm" -#include "code\modules\mob\living\carbon\human\human_defines.dm" -#include "code\modules\mob\living\carbon\human\human_movement.dm" -#include "code\modules\mob\living\carbon\human\human_organs.dm" -#include "code\modules\mob\living\carbon\human\inventory.dm" -#include "code\modules\mob\living\carbon\human\life.dm" -#include "code\modules\mob\living\carbon\human\login.dm" -#include "code\modules\mob\living\carbon\human\npcs.dm" -#include "code\modules\mob\living\carbon\human\say.dm" -#include "code\modules\mob\living\carbon\human\update_icons.dm" -#include "code\modules\mob\living\carbon\human\whisper.dm" -#include "code\modules\mob\living\carbon\human\species\apollo.dm" -#include "code\modules\mob\living\carbon\human\species\golem.dm" -#include "code\modules\mob\living\carbon\human\species\monkey.dm" -#include "code\modules\mob\living\carbon\human\species\plasmaman.dm" -#include "code\modules\mob\living\carbon\human\species\shadow.dm" -#include "code\modules\mob\living\carbon\human\species\skeleton.dm" -#include "code\modules\mob\living\carbon\human\species\species.dm" -#include "code\modules\mob\living\carbon\human\species\station.dm" -#include "code\modules\mob\living\carbon\slime\death.dm" -#include "code\modules\mob\living\carbon\slime\emote.dm" -#include "code\modules\mob\living\carbon\slime\examine.dm" -#include "code\modules\mob\living\carbon\slime\life.dm" -#include "code\modules\mob\living\carbon\slime\login.dm" -#include "code\modules\mob\living\carbon\slime\powers.dm" -#include "code\modules\mob\living\carbon\slime\say.dm" -#include "code\modules\mob\living\carbon\slime\slime.dm" -#include "code\modules\mob\living\carbon\slime\subtypes.dm" -#include "code\modules\mob\living\carbon\slime\update_icons.dm" -#include "code\modules\mob\living\silicon\death.dm" -#include "code\modules\mob\living\silicon\emote.dm" -#include "code\modules\mob\living\silicon\laws.dm" -#include "code\modules\mob\living\silicon\login.dm" -#include "code\modules\mob\living\silicon\say.dm" -#include "code\modules\mob\living\silicon\silicon.dm" -#include "code\modules\mob\living\silicon\subsystems.dm" -#include "code\modules\mob\living\silicon\ai\ai.dm" -#include "code\modules\mob\living\silicon\ai\death.dm" -#include "code\modules\mob\living\silicon\ai\examine.dm" -#include "code\modules\mob\living\silicon\ai\latejoin.dm" -#include "code\modules\mob\living\silicon\ai\laws.dm" -#include "code\modules\mob\living\silicon\ai\life.dm" -#include "code\modules\mob\living\silicon\ai\login.dm" -#include "code\modules\mob\living\silicon\ai\logout.dm" -#include "code\modules\mob\living\silicon\ai\say.dm" -#include "code\modules\mob\living\silicon\ai\freelook\cameranet.dm" -#include "code\modules\mob\living\silicon\ai\freelook\chunk.dm" -#include "code\modules\mob\living\silicon\ai\freelook\eye.dm" -#include "code\modules\mob\living\silicon\ai\freelook\read_me.dm" -#include "code\modules\mob\living\silicon\decoy\death.dm" -#include "code\modules\mob\living\silicon\decoy\decoy.dm" -#include "code\modules\mob\living\silicon\decoy\life.dm" -#include "code\modules\mob\living\silicon\pai\death.dm" -#include "code\modules\mob\living\silicon\pai\emote.dm" -#include "code\modules\mob\living\silicon\pai\examine.dm" -#include "code\modules\mob\living\silicon\pai\life.dm" -#include "code\modules\mob\living\silicon\pai\pai.dm" -#include "code\modules\mob\living\silicon\pai\personality.dm" -#include "code\modules\mob\living\silicon\pai\recruit.dm" -#include "code\modules\mob\living\silicon\pai\say.dm" -#include "code\modules\mob\living\silicon\pai\software.dm" -#include "code\modules\mob\living\silicon\pai\software_modules.dm" -#include "code\modules\mob\living\silicon\robot\component.dm" -#include "code\modules\mob\living\silicon\robot\death.dm" -#include "code\modules\mob\living\silicon\robot\emote.dm" -#include "code\modules\mob\living\silicon\robot\examine.dm" -#include "code\modules\mob\living\silicon\robot\inventory.dm" -#include "code\modules\mob\living\silicon\robot\laws.dm" -#include "code\modules\mob\living\silicon\robot\life.dm" -#include "code\modules\mob\living\silicon\robot\login.dm" -#include "code\modules\mob\living\silicon\robot\photos.dm" -#include "code\modules\mob\living\silicon\robot\robot.dm" -#include "code\modules\mob\living\silicon\robot\robot_damage.dm" -#include "code\modules\mob\living\silicon\robot\robot_items.dm" -#include "code\modules\mob\living\silicon\robot\robot_modules.dm" -#include "code\modules\mob\living\silicon\robot\robot_movement.dm" -#include "code\modules\mob\living\silicon\robot\drone\drone.dm" -#include "code\modules\mob\living\silicon\robot\drone\drone_abilities.dm" -#include "code\modules\mob\living\silicon\robot\drone\drone_console.dm" -#include "code\modules\mob\living\silicon\robot\drone\drone_damage.dm" -#include "code\modules\mob\living\silicon\robot\drone\drone_items.dm" -#include "code\modules\mob\living\silicon\robot\drone\drone_manufacturer.dm" -#include "code\modules\mob\living\silicon\robot\drone\drone_say.dm" -#include "code\modules\mob\living\simple_animal\bees.dm" -#include "code\modules\mob\living\simple_animal\constructs.dm" -#include "code\modules\mob\living\simple_animal\corpse.dm" -#include "code\modules\mob\living\simple_animal\parrot.dm" -#include "code\modules\mob\living\simple_animal\pony.dm" -#include "code\modules\mob\living\simple_animal\powers.dm" -#include "code\modules\mob\living\simple_animal\shade.dm" -#include "code\modules\mob\living\simple_animal\simple_animal.dm" -#include "code\modules\mob\living\simple_animal\tribbles.dm" -#include "code\modules\mob\living\simple_animal\vox.dm" -#include "code\modules\mob\living\simple_animal\friendly\butterfly.dm" -#include "code\modules\mob\living\simple_animal\friendly\cat.dm" -#include "code\modules\mob\living\simple_animal\friendly\corgi.dm" -#include "code\modules\mob\living\simple_animal\friendly\corgi_powers.dm" -#include "code\modules\mob\living\simple_animal\friendly\crab.dm" -#include "code\modules\mob\living\simple_animal\friendly\deer.dm" -#include "code\modules\mob\living\simple_animal\friendly\diona.dm" -#include "code\modules\mob\living\simple_animal\friendly\farm_animals.dm" -#include "code\modules\mob\living\simple_animal\friendly\fox.dm" -#include "code\modules\mob\living\simple_animal\friendly\lizard.dm" -#include "code\modules\mob\living\simple_animal\friendly\mouse.dm" -#include "code\modules\mob\living\simple_animal\friendly\pet.dm" -#include "code\modules\mob\living\simple_animal\friendly\pug.dm" -#include "code\modules\mob\living\simple_animal\friendly\slime.dm" -#include "code\modules\mob\living\simple_animal\friendly\spiderbot.dm" -#include "code\modules\mob\living\simple_animal\friendly\tomato.dm" -#include "code\modules\mob\living\simple_animal\hostile\alien.dm" -#include "code\modules\mob\living\simple_animal\hostile\bat.dm" -#include "code\modules\mob\living\simple_animal\hostile\bear.dm" -#include "code\modules\mob\living\simple_animal\hostile\carp.dm" -#include "code\modules\mob\living\simple_animal\hostile\creature.dm" -#include "code\modules\mob\living\simple_animal\hostile\faithless.dm" -#include "code\modules\mob\living\simple_animal\hostile\giant_spider.dm" -#include "code\modules\mob\living\simple_animal\hostile\hivebot.dm" -#include "code\modules\mob\living\simple_animal\hostile\hostile.dm" -#include "code\modules\mob\living\simple_animal\hostile\jungle_animals.dm" -#include "code\modules\mob\living\simple_animal\hostile\mimic.dm" -#include "code\modules\mob\living\simple_animal\hostile\mining_mobs.dm" -#include "code\modules\mob\living\simple_animal\hostile\mushroom.dm" -#include "code\modules\mob\living\simple_animal\hostile\pirate.dm" -#include "code\modules\mob\living\simple_animal\hostile\poison_bees.dm" -#include "code\modules\mob\living\simple_animal\hostile\russian.dm" -#include "code\modules\mob\living\simple_animal\hostile\spaceworms.dm" -#include "code\modules\mob\living\simple_animal\hostile\statue.dm" -#include "code\modules\mob\living\simple_animal\hostile\syndicate.dm" -#include "code\modules\mob\living\simple_animal\hostile\tree.dm" -#include "code\modules\mob\living\simple_animal\hostile\winter_mobs.dm" -#include "code\modules\mob\living\simple_animal\hostile\retaliate\clown.dm" -#include "code\modules\mob\living\simple_animal\hostile\retaliate\drone.dm" -#include "code\modules\mob\living\simple_animal\hostile\retaliate\fish.dm" -#include "code\modules\mob\living\simple_animal\hostile\retaliate\pet.dm" -#include "code\modules\mob\living\simple_animal\hostile\retaliate\retaliate.dm" -#include "code\modules\mob\living\simple_animal\hostile\retaliate\undead.dm" -#include "code\modules\mob\new_player\login.dm" -#include "code\modules\mob\new_player\logout.dm" -#include "code\modules\mob\new_player\new_player.dm" -#include "code\modules\mob\new_player\poll.dm" -#include "code\modules\mob\new_player\preferences_setup.dm" -#include "code\modules\mob\new_player\sprite_accessories.dm" -#include "code\modules\mob\spirit\cultnet.dm" -#include "code\modules\mob\spirit\movement.dm" -#include "code\modules\mob\spirit\spirit.dm" -#include "code\modules\mob\spirit\viewpoint.dm" -#include "code\modules\mob\spirit\mask\mask.dm" -#include "code\modules\mob\spirit\mask\respawn.dm" -#include "code\modules\nano\_JSON.dm" -#include "code\modules\nano\JSON Reader.dm" -#include "code\modules\nano\JSON Writer.dm" -#include "code\modules\nano\nanoexternal.dm" -#include "code\modules\nano\nanomanager.dm" -#include "code\modules\nano\nanomapgen.dm" -#include "code\modules\nano\nanoui.dm" -#include "code\modules\nano\interaction\admin.dm" -#include "code\modules\nano\interaction\base.dm" -#include "code\modules\nano\interaction\conscious.dm" -#include "code\modules\nano\interaction\contained.dm" -#include "code\modules\nano\interaction\default.dm" -#include "code\modules\nano\interaction\inventory.dm" -#include "code\modules\nano\interaction\inventory_deep.dm" -#include "code\modules\nano\interaction\physical.dm" -#include "code\modules\nano\interaction\self.dm" -#include "code\modules\nano\interaction\zlevel.dm" -#include "code\modules\nano\modules\alarm_monitor.dm" -#include "code\modules\nano\modules\atmos_control.dm" -#include "code\modules\nano\modules\crew_monitor.dm" -#include "code\modules\nano\modules\human_appearance.dm" -#include "code\modules\nano\modules\law_manager.dm" -#include "code\modules\nano\modules\nano_module.dm" -#include "code\modules\nano\modules\power_monitor.dm" -#include "code\modules\nano\modules\virus2_creator.dm" -#include "code\modules\ninja\energy_katana.dm" -#include "code\modules\ninja\suit\gloves.dm" -#include "code\modules\ninja\suit\head.dm" -#include "code\modules\ninja\suit\mask.dm" -#include "code\modules\ninja\suit\shoes.dm" -#include "code\modules\ninja\suit\suit.dm" -#include "code\modules\ninja\suit\suit_initialisation.dm" -#include "code\modules\paperwork\carbonpaper.dm" -#include "code\modules\paperwork\clipboard.dm" -#include "code\modules\paperwork\fax.dm" -#include "code\modules\paperwork\faxmachine.dm" -#include "code\modules\paperwork\filingcabinet.dm" -#include "code\modules\paperwork\folders.dm" -#include "code\modules\paperwork\frames.dm" -#include "code\modules\paperwork\handlabeler.dm" -#include "code\modules\paperwork\paper.dm" -#include "code\modules\paperwork\paper_bundle.dm" -#include "code\modules\paperwork\paperbin.dm" -#include "code\modules\paperwork\pen.dm" -#include "code\modules\paperwork\photocopier.dm" -#include "code\modules\paperwork\photography.dm" -#include "code\modules\paperwork\silicon_photography.dm" -#include "code\modules\paperwork\stamps.dm" -#include "code\modules\pda\ai.dm" -#include "code\modules\pda\app.dm" -#include "code\modules\pda\cart.dm" -#include "code\modules\pda\cart_apps.dm" -#include "code\modules\pda\chatroom.dm" -#include "code\modules\pda\core_apps.dm" -#include "code\modules\pda\messenger.dm" -#include "code\modules\pda\messenger_plugins.dm" -#include "code\modules\pda\PDA.dm" -#include "code\modules\pda\pdas.dm" -#include "code\modules\pda\radio.dm" -#include "code\modules\pda\utilities.dm" -#include "code\modules\pooling\pool.dm" -#include "code\modules\power\apc.dm" -#include "code\modules\power\cable.dm" -#include "code\modules\power\cable_heavyduty.dm" -#include "code\modules\power\cable_logic.dm" -#include "code\modules\power\cell.dm" -#include "code\modules\power\engine.dm" -#include "code\modules\power\generator.dm" -#include "code\modules\power\generator_type2.dm" -#include "code\modules\power\gravitygenerator.dm" -#include "code\modules\power\lighting.dm" -#include "code\modules\power\port_gen.dm" -#include "code\modules\power\power.dm" -#include "code\modules\power\powernet.dm" -#include "code\modules\power\smes.dm" -#include "code\modules\power\solar.dm" -#include "code\modules\power\switch.dm" -#include "code\modules\power\terminal.dm" -#include "code\modules\power\tracker.dm" -#include "code\modules\power\turbine.dm" -#include "code\modules\power\singularity\collector.dm" -#include "code\modules\power\singularity\containment_field.dm" -#include "code\modules\power\singularity\emitter.dm" -#include "code\modules\power\singularity\field_generator.dm" -#include "code\modules\power\singularity\generator.dm" -#include "code\modules\power\singularity\investigate.dm" -#include "code\modules\power\singularity\narsie.dm" -#include "code\modules\power\singularity\singularity.dm" -#include "code\modules\power\singularity\particle_accelerator\particle.dm" -#include "code\modules\power\singularity\particle_accelerator\particle_accelerator.dm" -#include "code\modules\power\singularity\particle_accelerator\particle_chamber.dm" -#include "code\modules\power\singularity\particle_accelerator\particle_control.dm" -#include "code\modules\power\singularity\particle_accelerator\particle_emitter.dm" -#include "code\modules\power\singularity\particle_accelerator\particle_power.dm" -#include "code\modules\power\supermatter\supermatter.dm" -#include "code\modules\power\tesla\coil.dm" -#include "code\modules\power\tesla\energy_ball.dm" -#include "code\modules\power\tesla\generator.dm" -#include "code\modules\procedural_mapping\mapGenerator.dm" -#include "code\modules\procedural_mapping\mapGeneratorModule.dm" -#include "code\modules\procedural_mapping\mapGeneratorReadme.dm" -#include "code\modules\procedural_mapping\mapGeneratorModules\helpers.dm" -#include "code\modules\procedural_mapping\mapGeneratorModules\nature.dm" -#include "code\modules\procedural_mapping\mapGenerators\asteroid.dm" -#include "code\modules\procedural_mapping\mapGenerators\nature.dm" -#include "code\modules\procedural_mapping\mapGenerators\syndicate.dm" -#include "code\modules\projectiles\ammunition.dm" -#include "code\modules\projectiles\gun.dm" -#include "code\modules\projectiles\medbeam.dm" -#include "code\modules\projectiles\projectile.dm" -#include "code\modules\projectiles\targeting.dm" -#include "code\modules\projectiles\ammunition\ammo_casings.dm" -#include "code\modules\projectiles\ammunition\boxes.dm" -#include "code\modules\projectiles\ammunition\magazines.dm" -#include "code\modules\projectiles\guns\alien.dm" -#include "code\modules\projectiles\guns\energy.dm" -#include "code\modules\projectiles\guns\magic.dm" -#include "code\modules\projectiles\guns\mounted.dm" -#include "code\modules\projectiles\guns\projectile.dm" -#include "code\modules\projectiles\guns\syringe_gun.dm" -#include "code\modules\projectiles\guns\energy\advtaser.dm" -#include "code\modules\projectiles\guns\energy\blueshield.dm" -#include "code\modules\projectiles\guns\energy\hos.dm" -#include "code\modules\projectiles\guns\energy\laser.dm" -#include "code\modules\projectiles\guns\energy\nuclear.dm" -#include "code\modules\projectiles\guns\energy\pulse.dm" -#include "code\modules\projectiles\guns\energy\special.dm" -#include "code\modules\projectiles\guns\energy\stun.dm" -#include "code\modules\projectiles\guns\energy\telegun.dm" -#include "code\modules\projectiles\guns\energy\temperature.dm" -#include "code\modules\projectiles\guns\magic\staff.dm" -#include "code\modules\projectiles\guns\magic\wand.dm" -#include "code\modules\projectiles\guns\projectile\automatic.dm" -#include "code\modules\projectiles\guns\projectile\crossbow.dm" -#include "code\modules\projectiles\guns\projectile\grenade launcher.dm" -#include "code\modules\projectiles\guns\projectile\launchers.dm" -#include "code\modules\projectiles\guns\projectile\pistol.dm" -#include "code\modules\projectiles\guns\projectile\revolver.dm" -#include "code\modules\projectiles\guns\projectile\rocket.dm" -#include "code\modules\projectiles\guns\projectile\shotgun.dm" -#include "code\modules\projectiles\projectile\beams.dm" -#include "code\modules\projectiles\projectile\bullets.dm" -#include "code\modules\projectiles\projectile\energy.dm" -#include "code\modules\projectiles\projectile\force.dm" -#include "code\modules\projectiles\projectile\magic.dm" -#include "code\modules\projectiles\projectile\special.dm" -#include "code\modules\reagents\Chemistry-Colours.dm" -#include "code\modules\reagents\Chemistry-Holder.dm" -#include "code\modules\reagents\Chemistry-Machinery.dm" -#include "code\modules\reagents\Chemistry-Readme.dm" -#include "code\modules\reagents\dartgun.dm" -#include "code\modules\reagents\grenade_launcher.dm" -#include "code\modules\reagents\reagent_containers.dm" -#include "code\modules\reagents\reagent_dispenser.dm" -#include "code\modules\reagents\newchem\Blob-Reagents.dm" -#include "code\modules\reagents\newchem\chem_heater.dm" -#include "code\modules\reagents\newchem\drinks.dm" -#include "code\modules\reagents\newchem\drugs.dm" -#include "code\modules\reagents\newchem\food.dm" -#include "code\modules\reagents\newchem\medicine.dm" -#include "code\modules\reagents\newchem\newchem_procs.dm" -#include "code\modules\reagents\newchem\other.dm" -#include "code\modules\reagents\newchem\patch.dm" -#include "code\modules\reagents\newchem\pyro.dm" -#include "code\modules\reagents\newchem\toxins.dm" -#include "code\modules\reagents\oldchem\chemical_reaction\_chemical_reaction_base.dm" -#include "code\modules\reagents\oldchem\chemical_reaction\chemical_reaction_drink.dm" -#include "code\modules\reagents\oldchem\chemical_reaction\chemical_reaction_food.dm" -#include "code\modules\reagents\oldchem\chemical_reaction\chemical_reaction_harm.dm" -#include "code\modules\reagents\oldchem\chemical_reaction\chemical_reaction_med.dm" -#include "code\modules\reagents\oldchem\chemical_reaction\chemical_reaction_misc.dm" -#include "code\modules\reagents\oldchem\chemical_reaction\chemical_reaction_slime.dm" -#include "code\modules\reagents\oldchem\reagents\__oldchem_defines.dm" -#include "code\modules\reagents\oldchem\reagents\_reagent_base.dm" -#include "code\modules\reagents\oldchem\reagents\reagents_admin.dm" -#include "code\modules\reagents\oldchem\reagents\reagents_drugs.dm" -#include "code\modules\reagents\oldchem\reagents\reagents_flammable.dm" -#include "code\modules\reagents\oldchem\reagents\reagents_food.dm" -#include "code\modules\reagents\oldchem\reagents\reagents_med.dm" -#include "code\modules\reagents\oldchem\reagents\reagents_misc.dm" -#include "code\modules\reagents\oldchem\reagents\reagents_toxin.dm" -#include "code\modules\reagents\oldchem\reagents\reagents_water.dm" -#include "code\modules\reagents\oldchem\reagents\drink\reagents_alcohol.dm" -#include "code\modules\reagents\oldchem\reagents\drink\reagents_drink.dm" -#include "code\modules\reagents\oldchem\reagents\drink\reagents_drink_base.dm" -#include "code\modules\reagents\oldchem\reagents\drink\reagents_drink_cold.dm" -#include "code\modules\reagents\reagent_containers\blood_pack.dm" -#include "code\modules\reagents\reagent_containers\borghydro.dm" -#include "code\modules\reagents\reagent_containers\dropper.dm" -#include "code\modules\reagents\reagent_containers\drugs.dm" -#include "code\modules\reagents\reagent_containers\food.dm" -#include "code\modules\reagents\reagent_containers\glass_containers.dm" -#include "code\modules\reagents\reagent_containers\hypospray.dm" -#include "code\modules\reagents\reagent_containers\pill.dm" -#include "code\modules\reagents\reagent_containers\robodropper.dm" -#include "code\modules\reagents\reagent_containers\spray.dm" -#include "code\modules\reagents\reagent_containers\syringes.dm" -#include "code\modules\reagents\reagent_containers\food\cans.dm" -#include "code\modules\reagents\reagent_containers\food\condiment.dm" -#include "code\modules\reagents\reagent_containers\food\drinks.dm" -#include "code\modules\reagents\reagent_containers\food\sandwich.dm" -#include "code\modules\reagents\reagent_containers\food\snacks.dm" -#include "code\modules\reagents\reagent_containers\food\drinks\bottle.dm" -#include "code\modules\reagents\reagent_containers\food\drinks\drinkingglass.dm" -#include "code\modules\reagents\reagent_containers\food\drinks\jar.dm" -#include "code\modules\reagents\reagent_containers\food\drinks\bottle\robot.dm" -#include "code\modules\reagents\reagent_containers\food\snacks\candy.dm" -#include "code\modules\reagents\reagent_containers\food\snacks\meat.dm" -#include "code\modules\reagents\reagent_containers\food\snacks\seafood.dm" -#include "code\modules\reagents\reagent_containers\glass\bottle.dm" -#include "code\modules\reagents\reagent_containers\glass\bottle\robot.dm" -#include "code\modules\recycling\conveyor2.dm" -#include "code\modules\recycling\disposal-construction.dm" -#include "code\modules\recycling\disposal.dm" -#include "code\modules\recycling\sortingmachinery.dm" -#include "code\modules\research\circuitprinter.dm" -#include "code\modules\research\designs.dm" -#include "code\modules\research\destructive_analyzer.dm" -#include "code\modules\research\experimentor.dm" -#include "code\modules\research\message_server.dm" -#include "code\modules\research\protolathe.dm" -#include "code\modules\research\rd-readme.dm" -#include "code\modules\research\rdconsole.dm" -#include "code\modules\research\rdmachines.dm" -#include "code\modules\research\research.dm" -#include "code\modules\research\server.dm" -#include "code\modules\research\designs\AI_module_designs.dm" -#include "code\modules\research\designs\autolathe_designs.dm" -#include "code\modules\research\designs\bluespace_designs.dm" -#include "code\modules\research\designs\comp_board_designs.dm" -#include "code\modules\research\designs\equipment_designs.dm" -#include "code\modules\research\designs\janitorial_designs.dm" -#include "code\modules\research\designs\machine_designs.dm" -#include "code\modules\research\designs\mecha_designs.dm" -#include "code\modules\research\designs\mechfabricator_designs.dm" -#include "code\modules\research\designs\medical_designs.dm" -#include "code\modules\research\designs\mining_designs.dm" -#include "code\modules\research\designs\misc_designs.dm" -#include "code\modules\research\designs\power_designs.dm" -#include "code\modules\research\designs\spacepod_designs.dm" -#include "code\modules\research\designs\stock_parts_designs.dm" -#include "code\modules\research\designs\telecomms_designs.dm" -#include "code\modules\research\designs\weapon_designs.dm" -#include "code\modules\research\xenoarchaeology\areas.dm" -#include "code\modules\research\xenoarchaeology\chemistry.dm" -#include "code\modules\research\xenoarchaeology\geosample.dm" -#include "code\modules\research\xenoarchaeology\manuals.dm" -#include "code\modules\research\xenoarchaeology\master_controller.dm" -#include "code\modules\research\xenoarchaeology\misc.dm" -#include "code\modules\research\xenoarchaeology\readme.dm" -#include "code\modules\research\xenoarchaeology\artifact\artifact.dm" -#include "code\modules\research\xenoarchaeology\artifact\artifact_autocloner.dm" -#include "code\modules\research\xenoarchaeology\artifact\artifact_crystal.dm" -#include "code\modules\research\xenoarchaeology\artifact\artifact_gigadrill.dm" -#include "code\modules\research\xenoarchaeology\artifact\artifact_hoverpod.dm" -#include "code\modules\research\xenoarchaeology\artifact\artifact_replicator.dm" -#include "code\modules\research\xenoarchaeology\artifact\artifact_unknown.dm" -#include "code\modules\research\xenoarchaeology\artifact\effect.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_affect_cold.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_badfeeling.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_cellcharge.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_celldrain.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_dnaswitch.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_emp.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_goodfeeling.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_heal.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_heat.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_hurt.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_radiate.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_roboheal.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_robohurt.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_sleepy.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_stun.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_teleport.dm" -#include "code\modules\research\xenoarchaeology\finds\finds.dm" -#include "code\modules\research\xenoarchaeology\finds\finds_defines.dm" -#include "code\modules\research\xenoarchaeology\finds\finds_fossils.dm" -#include "code\modules\research\xenoarchaeology\finds\finds_misc.dm" -#include "code\modules\research\xenoarchaeology\finds\finds_special.dm" -#include "code\modules\research\xenoarchaeology\finds\finds_talkingitem.dm" -#include "code\modules\research\xenoarchaeology\genetics\prehistoric_animals.dm" -#include "code\modules\research\xenoarchaeology\genetics\reconstitutor.dm" -#include "code\modules\research\xenoarchaeology\machinery\artifact_analyser.dm" -#include "code\modules\research\xenoarchaeology\machinery\artifact_harvester.dm" -#include "code\modules\research\xenoarchaeology\machinery\artifact_scanner.dm" -#include "code\modules\research\xenoarchaeology\machinery\coolant.dm" -#include "code\modules\research\xenoarchaeology\machinery\geosample_scanner.dm" -#include "code\modules\research\xenoarchaeology\tools\ano_device_battery.dm" -#include "code\modules\research\xenoarchaeology\tools\anomaly_suit.dm" -#include "code\modules\research\xenoarchaeology\tools\bunsen_burner.dm" -#include "code\modules\research\xenoarchaeology\tools\gearbelt.dm" -#include "code\modules\research\xenoarchaeology\tools\suspension_generator.dm" -#include "code\modules\research\xenoarchaeology\tools\tools.dm" -#include "code\modules\research\xenoarchaeology\tools\tools_anoscanner.dm" -#include "code\modules\research\xenoarchaeology\tools\tools_coresampler.dm" -#include "code\modules\research\xenoarchaeology\tools\tools_depthscanner.dm" -#include "code\modules\research\xenoarchaeology\tools\tools_locater.dm" -#include "code\modules\research\xenoarchaeology\tools\tools_pickaxe.dm" -#include "code\modules\research\xenobiology\xenobiology.dm" -#include "code\modules\scripting\Errors.dm" -#include "code\modules\scripting\Options.dm" -#include "code\modules\scripting\AST\AST Nodes.dm" -#include "code\modules\scripting\AST\Blocks.dm" -#include "code\modules\scripting\AST\Statements.dm" -#include "code\modules\scripting\AST\Operators\Binary Operators.dm" -#include "code\modules\scripting\AST\Operators\Unary Operators.dm" -#include "code\modules\scripting\Implementations\_Logic.dm" -#include "code\modules\scripting\Implementations\Telecomms.dm" -#include "code\modules\scripting\Interpreter\Evaluation.dm" -#include "code\modules\scripting\Interpreter\Interaction.dm" -#include "code\modules\scripting\Interpreter\Interpreter.dm" -#include "code\modules\scripting\Interpreter\Scope.dm" -#include "code\modules\scripting\Parser\Expressions.dm" -#include "code\modules\scripting\Parser\Keywords.dm" -#include "code\modules\scripting\Parser\Parser.dm" -#include "code\modules\scripting\Scanner\Scanner.dm" -#include "code\modules\scripting\Scanner\Tokens.dm" -#include "code\modules\security_levels\keycard authentication.dm" -#include "code\modules\security_levels\security levels.dm" -#include "code\modules\shuttle\shuttle.dm" -#include "code\modules\space_transition\space_transition.dm" -#include "code\modules\store\items.dm" -#include "code\modules\store\store.dm" -#include "code\modules\surgery\bones.dm" -#include "code\modules\surgery\encased.dm" -#include "code\modules\surgery\face.dm" -#include "code\modules\surgery\generic.dm" -#include "code\modules\surgery\helpers.dm" -#include "code\modules\surgery\implant.dm" -#include "code\modules\surgery\limb_reattach.dm" -#include "code\modules\surgery\organs_internal.dm" -#include "code\modules\surgery\other.dm" -#include "code\modules\surgery\robotics.dm" -#include "code\modules\surgery\slime.dm" -#include "code\modules\surgery\surgery.dm" -#include "code\modules\surgery\tools.dm" -#include "code\modules\surgery\organs\augments_eyes.dm" -#include "code\modules\surgery\organs\augments_internal.dm" -#include "code\modules\surgery\organs\blood.dm" -#include "code\modules\surgery\organs\body_egg.dm" -#include "code\modules\surgery\organs\helpers.dm" -#include "code\modules\surgery\organs\organ.dm" -#include "code\modules\surgery\organs\organ_external.dm" -#include "code\modules\surgery\organs\organ_icon.dm" -#include "code\modules\surgery\organs\organ_internal.dm" -#include "code\modules\surgery\organs\organ_stump.dm" -#include "code\modules\surgery\organs\pain.dm" -#include "code\modules\surgery\organs\robolimbs.dm" -#include "code\modules\surgery\organs\skeleton.dm" -#include "code\modules\surgery\organs\wound.dm" -#include "code\modules\surgery\organs\subtypes\diona.dm" -#include "code\modules\surgery\organs\subtypes\machine.dm" -#include "code\modules\surgery\organs\subtypes\misc.dm" -#include "code\modules\surgery\organs\subtypes\nucleation.dm" -#include "code\modules\surgery\organs\subtypes\standard.dm" -#include "code\modules\surgery\organs\subtypes\unbreakable.dm" -#include "code\modules\surgery\organs\subtypes\wryn.dm" -#include "code\modules\surgery\organs\subtypes\xenos.dm" -#include "code\modules\telesci\bscrystal.dm" -#include "code\modules\telesci\gps.dm" -#include "code\modules\telesci\telepad.dm" -#include "code\modules\telesci\telesci_computer.dm" -#include "code\modules\tram\tram.dm" -#include "code\modules\tram\tram_control_pad.dm" -#include "code\modules\tram\tram_floor.dm" -#include "code\modules\tram\tram_rail.dm" -#include "code\modules\tram\tram_wall.dm" -#include "code\modules\vehicle\vehicle.dm" -#include "code\modules\vehicle\train\train.dm" -#include "code\modules\vehicle\train\trains\ambulance.dm" -#include "code\modules\vehicle\train\trains\cargo\cargo_train.dm" -#include "code\modules\vehicle\train\trains\cargo\cargo_subtypes\fourwheeler.dm" -#include "code\modules\vehicle\train\trains\cargo\cargo_subtypes\motorcycle.dm" -#include "code\modules\vehicle\train\trains\cargo\cargo_subtypes\sportscar.dm" -#include "code\modules\virus2\analyser.dm" -#include "code\modules\virus2\antibodies.dm" -#include "code\modules\virus2\centrifuge.dm" -#include "code\modules\virus2\curer.dm" -#include "code\modules\virus2\disease2.dm" -#include "code\modules\virus2\diseasesplicer.dm" -#include "code\modules\virus2\dishincubator.dm" -#include "code\modules\virus2\effect.dm" -#include "code\modules\virus2\helpers.dm" -#include "code\modules\virus2\isolator.dm" -#include "code\modules\virus2\items_devices.dm" -#include "interface\interface.dm" -#include "interface\stylesheet.dm" -#include "interface\skin.dmf" -// END_INCLUDE +// DM Environment file for paradise.dme. +// All manual changes should be made outside the BEGIN_ and END_ blocks. + // New source code should be placed in .dm files: choose File/New --> Code File. +// BEGIN_INTERNALS +// END_INTERNALS +// BEGIN_FILE_DIR +#define FILE_DIR . +// END_FILE_DIR +// BEGIN_PREFERENCES +#define DEBUG +// END_PREFERENCES +// BEGIN_INCLUDE +#include "_maps\cyberiad.dm" +#include "code\_compile_options.dm" +#include "code\hub.dm" +#include "code\world.dm" +#include "code\__DEFINES\_readme.dm" +#include "code\__DEFINES\admin.dm" +#include "code\__DEFINES\atmospherics.dm" +#include "code\__DEFINES\btime.dm" +#include "code\__DEFINES\clothing.dm" +#include "code\__DEFINES\combat.dm" +#include "code\__DEFINES\flags.dm" +#include "code\__DEFINES\game.dm" +#include "code\__DEFINES\genetics.dm" +#include "code\__DEFINES\hud.dm" +#include "code\__DEFINES\hydroponics.dm" +#include "code\__DEFINES\is_helpers.dm" +#include "code\__DEFINES\language.dm" +#include "code\__DEFINES\lighting.dm" +#include "code\__DEFINES\machines.dm" +#include "code\__DEFINES\math.dm" +#include "code\__DEFINES\misc.dm" +#include "code\__DEFINES\mob.dm" +#include "code\__DEFINES\pda.dm" +#include "code\__DEFINES\preferences.dm" +#include "code\__DEFINES\process_scheduler.dm" +#include "code\__DEFINES\qdel.dm" +#include "code\__DEFINES\role_preferences.dm" +#include "code\__DEFINES\sight.dm" +#include "code\__DEFINES\stat.dm" +#include "code\__HELPERS\_string_lists.dm" +#include "code\__HELPERS\constants.dm" +#include "code\__HELPERS\experimental.dm" +#include "code\__HELPERS\files.dm" +#include "code\__HELPERS\game.dm" +#include "code\__HELPERS\global_lists.dm" +#include "code\__HELPERS\icon_smoothing.dm" +#include "code\__HELPERS\icons.dm" +#include "code\__HELPERS\lists.dm" +#include "code\__HELPERS\logging.dm" +#include "code\__HELPERS\maths.dm" +#include "code\__HELPERS\matrices.dm" +#include "code\__HELPERS\mobs.dm" +#include "code\__HELPERS\names.dm" +#include "code\__HELPERS\sanitize_values.dm" +#include "code\__HELPERS\text.dm" +#include "code\__HELPERS\time.dm" +#include "code\__HELPERS\timed_alerts.dm" +#include "code\__HELPERS\type2type.dm" +#include "code\__HELPERS\unsorted.dm" +#include "code\__HELPERS\bygex\bygex.dm" +#include "code\_DATASTRUCTURES\heap.dm" +#include "code\_DATASTRUCTURES\linked_lists.dm" +#include "code\_DATASTRUCTURES\priority_queue.dm" +#include "code\_DATASTRUCTURES\stacks.dm" +#include "code\_globalvars\configuration.dm" +#include "code\_globalvars\database.dm" +#include "code\_globalvars\game_modes.dm" +#include "code\_globalvars\genetics.dm" +#include "code\_globalvars\logging.dm" +#include "code\_globalvars\mapping.dm" +#include "code\_globalvars\misc.dm" +#include "code\_globalvars\station.dm" +#include "code\_globalvars\unused.dm" +#include "code\_globalvars\lists\flavor_misc.dm" +#include "code\_globalvars\lists\misc.dm" +#include "code\_globalvars\lists\mobs.dm" +#include "code\_globalvars\lists\names.dm" +#include "code\_globalvars\lists\objects.dm" +#include "code\_globalvars\lists\reagents.dm" +#include "code\_hooks\area.dm" +#include "code\_hooks\hooks.dm" +#include "code\_hooks\mob.dm" +#include "code\_onclick\adjacent.dm" +#include "code\_onclick\ai.dm" +#include "code\_onclick\click.dm" +#include "code\_onclick\click_override.dm" +#include "code\_onclick\cyborg.dm" +#include "code\_onclick\drag_drop.dm" +#include "code\_onclick\item_attack.dm" +#include "code\_onclick\observer.dm" +#include "code\_onclick\other_mobs.dm" +#include "code\_onclick\overmind.dm" +#include "code\_onclick\rig.dm" +#include "code\_onclick\telekinesis.dm" +#include "code\_onclick\hud\_defines.dm" +#include "code\_onclick\hud\action.dm" +#include "code\_onclick\hud\ai.dm" +#include "code\_onclick\hud\alien.dm" +#include "code\_onclick\hud\alien_larva.dm" +#include "code\_onclick\hud\hud.dm" +#include "code\_onclick\hud\human.dm" +#include "code\_onclick\hud\monkey.dm" +#include "code\_onclick\hud\movable_screen_objects.dm" +#include "code\_onclick\hud\other_mobs.dm" +#include "code\_onclick\hud\robot.dm" +#include "code\_onclick\hud\screen_objects.dm" +#include "code\ATMOSPHERICS\atmospherics.dm" +#include "code\ATMOSPHERICS\datum_icon_manager.dm" +#include "code\ATMOSPHERICS\datum_pipeline.dm" +#include "code\ATMOSPHERICS\components\binary_devices\binary_atmos_base.dm" +#include "code\ATMOSPHERICS\components\binary_devices\circulator.dm" +#include "code\ATMOSPHERICS\components\binary_devices\dp_vent_pump.dm" +#include "code\ATMOSPHERICS\components\binary_devices\passive_gate.dm" +#include "code\ATMOSPHERICS\components\binary_devices\pump.dm" +#include "code\ATMOSPHERICS\components\binary_devices\valve.dm" +#include "code\ATMOSPHERICS\components\binary_devices\volume_pump.dm" +#include "code\ATMOSPHERICS\components\omni_devices\_omni_extras.dm" +#include "code\ATMOSPHERICS\components\omni_devices\filter.dm" +#include "code\ATMOSPHERICS\components\omni_devices\mixer.dm" +#include "code\ATMOSPHERICS\components\omni_devices\omni_base.dm" +#include "code\ATMOSPHERICS\components\trinary_devices\filter.dm" +#include "code\ATMOSPHERICS\components\trinary_devices\mixer.dm" +#include "code\ATMOSPHERICS\components\trinary_devices\trinary_base.dm" +#include "code\ATMOSPHERICS\components\trinary_devices\tvalve.dm" +#include "code\ATMOSPHERICS\components\unary_devices\cold_sink.dm" +#include "code\ATMOSPHERICS\components\unary_devices\generator_input.dm" +#include "code\ATMOSPHERICS\components\unary_devices\heat_exchanger.dm" +#include "code\ATMOSPHERICS\components\unary_devices\heat_source.dm" +#include "code\ATMOSPHERICS\components\unary_devices\outlet_injector.dm" +#include "code\ATMOSPHERICS\components\unary_devices\oxygen_generator.dm" +#include "code\ATMOSPHERICS\components\unary_devices\passive_vent.dm" +#include "code\ATMOSPHERICS\components\unary_devices\portables_connector.dm" +#include "code\ATMOSPHERICS\components\unary_devices\tank.dm" +#include "code\ATMOSPHERICS\components\unary_devices\thermal_plate.dm" +#include "code\ATMOSPHERICS\components\unary_devices\unary_base.dm" +#include "code\ATMOSPHERICS\components\unary_devices\vent_pump.dm" +#include "code\ATMOSPHERICS\components\unary_devices\vent_scrubber.dm" +#include "code\ATMOSPHERICS\pipes\cap.dm" +#include "code\ATMOSPHERICS\pipes\manifold.dm" +#include "code\ATMOSPHERICS\pipes\manifold4w.dm" +#include "code\ATMOSPHERICS\pipes\pipe.dm" +#include "code\ATMOSPHERICS\pipes\simple\pipe_simple.dm" +#include "code\ATMOSPHERICS\pipes\simple\pipe_simple_he.dm" +#include "code\ATMOSPHERICS\pipes\simple\pipe_simple_hidden.dm" +#include "code\ATMOSPHERICS\pipes\simple\pipe_simple_insulated.dm" +#include "code\ATMOSPHERICS\pipes\simple\pipe_simple_visible.dm" +#include "code\controllers\communications.dm" +#include "code\controllers\configuration.dm" +#include "code\controllers\failsafe.dm" +#include "code\controllers\hooks-defs.dm" +#include "code\controllers\hooks.dm" +#include "code\controllers\master_controller.dm" +#include "code\controllers\verbs.dm" +#include "code\controllers\voting.dm" +#include "code\controllers\Processes\air.dm" +#include "code\controllers\Processes\alarm.dm" +#include "code\controllers\Processes\bot.dm" +#include "code\controllers\Processes\event.dm" +#include "code\controllers\Processes\garbage.dm" +#include "code\controllers\Processes\inactivity.dm" +#include "code\controllers\Processes\lighting.dm" +#include "code\controllers\Processes\machinery.dm" +#include "code\controllers\Processes\mob.dm" +#include "code\controllers\Processes\nanoui.dm" +#include "code\controllers\Processes\obj.dm" +#include "code\controllers\Processes\pipenet.dm" +#include "code\controllers\Processes\shuttles.dm" +#include "code\controllers\Processes\sun.dm" +#include "code\controllers\Processes\ticker.dm" +#include "code\controllers\Processes\timer.dm" +#include "code\controllers\Processes\vote.dm" +#include "code\controllers\Processes\shuttles\emergency.dm" +#include "code\controllers\Processes\shuttles\supply.dm" +#include "code\controllers\ProcessScheduler\core\_stubs.dm" +#include "code\controllers\ProcessScheduler\core\process.dm" +#include "code\controllers\ProcessScheduler\core\processScheduler.dm" +#include "code\datums\ai_law_sets.dm" +#include "code\datums\ai_laws.dm" +#include "code\datums\beam.dm" +#include "code\datums\browser.dm" +#include "code\datums\cargoprofile.dm" +#include "code\datums\computerfiles.dm" +#include "code\datums\datacore.dm" +#include "code\datums\datumvars.dm" +#include "code\datums\gas_mixture.dm" +#include "code\datums\hud.dm" +#include "code\datums\martial.dm" +#include "code\datums\material_container.dm" +#include "code\datums\mind.dm" +#include "code\datums\mixed.dm" +#include "code\datums\modules.dm" +#include "code\datums\periodic_news.dm" +#include "code\datums\recipe.dm" +#include "code\datums\spell.dm" +#include "code\datums\supplypacks.dm" +#include "code\datums\uplink_item.dm" +#include "code\datums\vision_override.dm" +#include "code\datums\cache\air_alarm.dm" +#include "code\datums\cache\apc.dm" +#include "code\datums\cache\cache.dm" +#include "code\datums\cache\crew.dm" +#include "code\datums\cache\powermonitor.dm" +#include "code\datums\helper_datums\construction_datum.dm" +#include "code\datums\helper_datums\events.dm" +#include "code\datums\helper_datums\global_iterator.dm" +#include "code\datums\helper_datums\teleport.dm" +#include "code\datums\helper_datums\topic_input.dm" +#include "code\datums\spells\area_teleport.dm" +#include "code\datums\spells\charge.dm" +#include "code\datums\spells\conjure.dm" +#include "code\datums\spells\construct_spells.dm" +#include "code\datums\spells\dumbfire.dm" +#include "code\datums\spells\emplosion.dm" +#include "code\datums\spells\ethereal_jaunt.dm" +#include "code\datums\spells\explosion.dm" +#include "code\datums\spells\fake_gib.dm" +#include "code\datums\spells\genetic.dm" +#include "code\datums\spells\horsemask.dm" +#include "code\datums\spells\infinite_guns.dm" +#include "code\datums\spells\inflict_handler.dm" +#include "code\datums\spells\knock.dm" +#include "code\datums\spells\lichdom.dm" +#include "code\datums\spells\lightning.dm" +#include "code\datums\spells\magnet.dm" +#include "code\datums\spells\mime.dm" +#include "code\datums\spells\mind_transfer.dm" +#include "code\datums\spells\projectile.dm" +#include "code\datums\spells\summonitem.dm" +#include "code\datums\spells\touch_attacks.dm" +#include "code\datums\spells\trigger.dm" +#include "code\datums\spells\turf_teleport.dm" +#include "code\datums\spells\wizard.dm" +#include "code\datums\wires\airlock.dm" +#include "code\datums\wires\alarm.dm" +#include "code\datums\wires\apc.dm" +#include "code\datums\wires\autolathe.dm" +#include "code\datums\wires\camera.dm" +#include "code\datums\wires\explosive.dm" +#include "code\datums\wires\mulebot.dm" +#include "code\datums\wires\nuclearbomb.dm" +#include "code\datums\wires\particle_accelerator.dm" +#include "code\datums\wires\radio.dm" +#include "code\datums\wires\robot.dm" +#include "code\datums\wires\smartfridge.dm" +#include "code\datums\wires\syndicatebomb.dm" +#include "code\datums\wires\vending.dm" +#include "code\datums\wires\wires.dm" +#include "code\defines\vox_sounds.dm" +#include "code\defines\procs\admin.dm" +#include "code\defines\procs\announce.dm" +#include "code\defines\procs\AStar.dm" +#include "code\defines\procs\dbcore.dm" +#include "code\defines\procs\radio.dm" +#include "code\defines\procs\records.dm" +#include "code\defines\procs\statistics.dm" +#include "code\game\asteroid.dm" +#include "code\game\atoms.dm" +#include "code\game\atoms_movable.dm" +#include "code\game\data_huds.dm" +#include "code\game\response_team.dm" +#include "code\game\shuttle_engines.dm" +#include "code\game\skincmd.dm" +#include "code\game\sound.dm" +#include "code\game\area\ai_monitored.dm" +#include "code\game\area\areas.dm" +#include "code\game\area\Dynamic areas.dm" +#include "code\game\area\Space Station 13 areas.dm" +#include "code\game\dna\dna2.dm" +#include "code\game\dna\dna2_domutcheck.dm" +#include "code\game\dna\dna2_helpers.dm" +#include "code\game\dna\dna_modifier.dm" +#include "code\game\dna\genes\disabilities.dm" +#include "code\game\dna\genes\gene.dm" +#include "code\game\dna\genes\goon_disabilities.dm" +#include "code\game\dna\genes\goon_powers.dm" +#include "code\game\dna\genes\monkey.dm" +#include "code\game\dna\genes\powers.dm" +#include "code\game\dna\genes\vg_disabilities.dm" +#include "code\game\dna\genes\vg_powers.dm" +#include "code\game\gamemodes\antag_hud.dm" +#include "code\game\gamemodes\antag_spawner.dm" +#include "code\game\gamemodes\events.dm" +#include "code\game\gamemodes\factions.dm" +#include "code\game\gamemodes\game_mode.dm" +#include "code\game\gamemodes\gameticker.dm" +#include "code\game\gamemodes\intercept_report.dm" +#include "code\game\gamemodes\objective.dm" +#include "code\game\gamemodes\scoreboard.dm" +#include "code\game\gamemodes\setupgame.dm" +#include "code\game\gamemodes\steal_items.dm" +#include "code\game\gamemodes\autotraitor\autotraitor.dm" +#include "code\game\gamemodes\blob\blob.dm" +#include "code\game\gamemodes\blob\blob_finish.dm" +#include "code\game\gamemodes\blob\blob_report.dm" +#include "code\game\gamemodes\blob\overmind.dm" +#include "code\game\gamemodes\blob\powers.dm" +#include "code\game\gamemodes\blob\theblob.dm" +#include "code\game\gamemodes\blob\blobs\blob_mobs.dm" +#include "code\game\gamemodes\blob\blobs\core.dm" +#include "code\game\gamemodes\blob\blobs\factory.dm" +#include "code\game\gamemodes\blob\blobs\node.dm" +#include "code\game\gamemodes\blob\blobs\resource.dm" +#include "code\game\gamemodes\blob\blobs\shield.dm" +#include "code\game\gamemodes\blob\blobs\storage.dm" +#include "code\game\gamemodes\borer\borer.dm" +#include "code\game\gamemodes\changeling\changeling.dm" +#include "code\game\gamemodes\changeling\changeling_power.dm" +#include "code\game\gamemodes\changeling\evolution_menu.dm" +#include "code\game\gamemodes\changeling\traitor_chan.dm" +#include "code\game\gamemodes\changeling\powers\absorb.dm" +#include "code\game\gamemodes\changeling\powers\augmented_eyesight.dm" +#include "code\game\gamemodes\changeling\powers\digitalcamo.dm" +#include "code\game\gamemodes\changeling\powers\epinephrine.dm" +#include "code\game\gamemodes\changeling\powers\fakedeath.dm" +#include "code\game\gamemodes\changeling\powers\fleshmend.dm" +#include "code\game\gamemodes\changeling\powers\glands.dm" +#include "code\game\gamemodes\changeling\powers\hivemind.dm" +#include "code\game\gamemodes\changeling\powers\humanform.dm" +#include "code\game\gamemodes\changeling\powers\lesserform.dm" +#include "code\game\gamemodes\changeling\powers\mimic_voice.dm" +#include "code\game\gamemodes\changeling\powers\mutations.dm" +#include "code\game\gamemodes\changeling\powers\panacea.dm" +#include "code\game\gamemodes\changeling\powers\revive.dm" +#include "code\game\gamemodes\changeling\powers\shriek.dm" +#include "code\game\gamemodes\changeling\powers\spiders.dm" +#include "code\game\gamemodes\changeling\powers\strained_muscles.dm" +#include "code\game\gamemodes\changeling\powers\swap_form.dm" +#include "code\game\gamemodes\changeling\powers\tiny_prick.dm" +#include "code\game\gamemodes\changeling\powers\transform.dm" +#include "code\game\gamemodes\cult\cult.dm" +#include "code\game\gamemodes\cult\cult_items.dm" +#include "code\game\gamemodes\cult\cult_structures.dm" +#include "code\game\gamemodes\cult\ritual.dm" +#include "code\game\gamemodes\cult\runes.dm" +#include "code\game\gamemodes\cult\talisman.dm" +#include "code\game\gamemodes\extended\extended.dm" +#include "code\game\gamemodes\heist\heist.dm" +#include "code\game\gamemodes\malfunction\Malf_Modules.dm" +#include "code\game\gamemodes\malfunction\malfunction.dm" +#include "code\game\gamemodes\meteor\meteor.dm" +#include "code\game\gamemodes\meteor\meteors.dm" +#include "code\game\gamemodes\miniantags\borer\borer.dm" +#include "code\game\gamemodes\miniantags\borer\borer_event.dm" +#include "code\game\gamemodes\miniantags\bot_swarm\swarmer.dm" +#include "code\game\gamemodes\miniantags\bot_swarm\swarmer_event.dm" +#include "code\game\gamemodes\miniantags\guardian\guardian.dm" +#include "code\game\gamemodes\miniantags\morph\morph.dm" +#include "code\game\gamemodes\miniantags\morph\morph_event.dm" +#include "code\game\gamemodes\miniantags\revenant\revenant.dm" +#include "code\game\gamemodes\miniantags\revenant\revenant_abilities.dm" +#include "code\game\gamemodes\miniantags\revenant\revenant_spawn_event.dm" +#include "code\game\gamemodes\miniantags\slaughter\bloodcrawl.dm" +#include "code\game\gamemodes\miniantags\slaughter\slaughter.dm" +#include "code\game\gamemodes\mutiny\auth_key.dm" +#include "code\game\gamemodes\mutiny\directive.dm" +#include "code\game\gamemodes\mutiny\emergency_authentication_device.dm" +#include "code\game\gamemodes\mutiny\key_pinpointer.dm" +#include "code\game\gamemodes\mutiny\mutiny.dm" +#include "code\game\gamemodes\mutiny\mutiny_admin.dm" +#include "code\game\gamemodes\mutiny\mutiny_fluff.dm" +#include "code\game\gamemodes\mutiny\mutiny_hooks.dm" +#include "code\game\gamemodes\mutiny\directives\alien_fraud_directive.dm" +#include "code\game\gamemodes\mutiny\directives\bluespace_contagion_directive.dm" +#include "code\game\gamemodes\mutiny\directives\financial_crisis_directive.dm" +#include "code\game\gamemodes\mutiny\directives\ipc_virus_directive.dm" +#include "code\game\gamemodes\mutiny\directives\research_to_ripleys_directive.dm" +#include "code\game\gamemodes\mutiny\directives\tau_ceti_needs_women_directive.dm" +#include "code\game\gamemodes\mutiny\directives\terminations_directive.dm" +#include "code\game\gamemodes\mutiny\directives\vox_heist.dm" +#include "code\game\gamemodes\nations\nations.dm" +#include "code\game\gamemodes\nations\nationsdatums.dm" +#include "code\game\gamemodes\nations\nationsprocs.dm" +#include "code\game\gamemodes\nuclear\nuclear.dm" +#include "code\game\gamemodes\nuclear\nuclear_challenge.dm" +#include "code\game\gamemodes\nuclear\nuclearbomb.dm" +#include "code\game\gamemodes\nuclear\pinpointer.dm" +#include "code\game\gamemodes\revolution\revolution.dm" +#include "code\game\gamemodes\revolution\rp_revolution.dm" +#include "code\game\gamemodes\shadowling\ascendant_shadowling.dm" +#include "code\game\gamemodes\shadowling\shadowling.dm" +#include "code\game\gamemodes\shadowling\shadowling_abilities.dm" +#include "code\game\gamemodes\shadowling\shadowling_items.dm" +#include "code\game\gamemodes\shadowling\special_shadowling_abilities.dm" +#include "code\game\gamemodes\traitor\traitor.dm" +#include "code\game\gamemodes\vampire\hud.dm" +#include "code\game\gamemodes\vampire\vampire.dm" +#include "code\game\gamemodes\vampire\vampire_powers.dm" +#include "code\game\gamemodes\wizard\artefact.dm" +#include "code\game\gamemodes\wizard\godhand.dm" +#include "code\game\gamemodes\wizard\raginmages.dm" +#include "code\game\gamemodes\wizard\rightandwrong.dm" +#include "code\game\gamemodes\wizard\soulstone.dm" +#include "code\game\gamemodes\wizard\spellbook.dm" +#include "code\game\gamemodes\wizard\wizard.dm" +#include "code\game\gamemodes\xenos\xenos.dm" +#include "code\game\jobs\access.dm" +#include "code\game\jobs\job_controller.dm" +#include "code\game\jobs\job_objective.dm" +#include "code\game\jobs\jobs.dm" +#include "code\game\jobs\whitelist.dm" +#include "code\game\jobs\job\civilian.dm" +#include "code\game\jobs\job\engineering.dm" +#include "code\game\jobs\job\job.dm" +#include "code\game\jobs\job\medical.dm" +#include "code\game\jobs\job\science.dm" +#include "code\game\jobs\job\security.dm" +#include "code\game\jobs\job\silicon.dm" +#include "code\game\jobs\job\supervisor.dm" +#include "code\game\jobs\job\support.dm" +#include "code\game\jobs\job\support_chaplain.dm" +#include "code\game\jobs\job_objectives\science.dm" +#include "code\game\machinery\adv_med.dm" +#include "code\game\machinery\ai_slipper.dm" +#include "code\game\machinery\alarm.dm" +#include "code\game\machinery\atmo_control.dm" +#include "code\game\machinery\autolathe.dm" +#include "code\game\machinery\Beacon.dm" +#include "code\game\machinery\bees_items.dm" +#include "code\game\machinery\biogenerator.dm" +#include "code\game\machinery\buttons.dm" +#include "code\game\machinery\cell_charger.dm" +#include "code\game\machinery\chiller.dm" +#include "code\game\machinery\cloning.dm" +#include "code\game\machinery\constructable_frame.dm" +#include "code\game\machinery\cryo.dm" +#include "code\game\machinery\cryopod.dm" +#include "code\game\machinery\deployable.dm" +#include "code\game\machinery\door_control.dm" +#include "code\game\machinery\doppler_array.dm" +#include "code\game\machinery\dye_generator.dm" +#include "code\game\machinery\firealarm.dm" +#include "code\game\machinery\flasher.dm" +#include "code\game\machinery\floodlight.dm" +#include "code\game\machinery\Freezer.dm" +#include "code\game\machinery\guestpass.dm" +#include "code\game\machinery\hologram.dm" +#include "code\game\machinery\holosign.dm" +#include "code\game\machinery\igniter.dm" +#include "code\game\machinery\iv_drip.dm" +#include "code\game\machinery\lightswitch.dm" +#include "code\game\machinery\machinery.dm" +#include "code\game\machinery\magnet.dm" +#include "code\game\machinery\mass_driver.dm" +#include "code\game\machinery\navbeacon.dm" +#include "code\game\machinery\newscaster.dm" +#include "code\game\machinery\OpTable.dm" +#include "code\game\machinery\overview.dm" +#include "code\game\machinery\PDApainter.dm" +#include "code\game\machinery\poolcontroller.dm" +#include "code\game\machinery\portable_tag_turret.dm" +#include "code\game\machinery\portable_turret.dm" +#include "code\game\machinery\programmable_unloader.dm" +#include "code\game\machinery\recharger.dm" +#include "code\game\machinery\rechargestation.dm" +#include "code\game\machinery\recycler.dm" +#include "code\game\machinery\requests_console.dm" +#include "code\game\machinery\robot_fabricator.dm" +#include "code\game\machinery\seed_extractor.dm" +#include "code\game\machinery\shieldgen.dm" +#include "code\game\machinery\Sleeper.dm" +#include "code\game\machinery\slotmachine.dm" +#include "code\game\machinery\spaceheater.dm" +#include "code\game\machinery\status_display.dm" +#include "code\game\machinery\suit_storage_unit.dm" +#include "code\game\machinery\supply_display.dm" +#include "code\game\machinery\syndicatebeacon.dm" +#include "code\game\machinery\syndicatebomb.dm" +#include "code\game\machinery\teleporter.dm" +#include "code\game\machinery\transformer.dm" +#include "code\game\machinery\turntable.dm" +#include "code\game\machinery\turret_control.dm" +#include "code\game\machinery\turrets.dm" +#include "code\game\machinery\vending.dm" +#include "code\game\machinery\washing_machine.dm" +#include "code\game\machinery\wishgranter.dm" +#include "code\game\machinery\atmoalter\area_atmos_computer.dm" +#include "code\game\machinery\atmoalter\canister.dm" +#include "code\game\machinery\atmoalter\meter.dm" +#include "code\game\machinery\atmoalter\portable_atmospherics.dm" +#include "code\game\machinery\atmoalter\pump.dm" +#include "code\game\machinery\atmoalter\scrubber.dm" +#include "code\game\machinery\atmoalter\zvent.dm" +#include "code\game\machinery\bots\bots.dm" +#include "code\game\machinery\bots\cleanbot.dm" +#include "code\game\machinery\bots\ed209bot.dm" +#include "code\game\machinery\bots\floorbot.dm" +#include "code\game\machinery\bots\medbot.dm" +#include "code\game\machinery\bots\mulebot.dm" +#include "code\game\machinery\bots\secbot.dm" +#include "code\game\machinery\camera\camera.dm" +#include "code\game\machinery\camera\camera_assembly.dm" +#include "code\game\machinery\camera\motion.dm" +#include "code\game\machinery\camera\presets.dm" +#include "code\game\machinery\camera\tracking.dm" +#include "code\game\machinery\computer\ai_core.dm" +#include "code\game\machinery\computer\aifixer.dm" +#include "code\game\machinery\computer\arcade.dm" +#include "code\game\machinery\computer\atmos_alert.dm" +#include "code\game\machinery\computer\atmos_control.dm" +#include "code\game\machinery\computer\buildandrepair.dm" +#include "code\game\machinery\computer\camera.dm" +#include "code\game\machinery\computer\card.dm" +#include "code\game\machinery\computer\cloning.dm" +#include "code\game\machinery\computer\communications.dm" +#include "code\game\machinery\computer\computer.dm" +#include "code\game\machinery\computer\crew.dm" +#include "code\game\machinery\computer\HolodeckControl.dm" +#include "code\game\machinery\computer\hologram.dm" +#include "code\game\machinery\computer\honkputer.dm" +#include "code\game\machinery\computer\law.dm" +#include "code\game\machinery\computer\medical.dm" +#include "code\game\machinery\computer\message.dm" +#include "code\game\machinery\computer\Operating.dm" +#include "code\game\machinery\computer\pod.dm" +#include "code\game\machinery\computer\pod_tracking_console.dm" +#include "code\game\machinery\computer\power.dm" +#include "code\game\machinery\computer\prisoner.dm" +#include "code\game\machinery\computer\robot.dm" +#include "code\game\machinery\computer\salvage_ship.dm" +#include "code\game\machinery\computer\security.dm" +#include "code\game\machinery\computer\shuttle.dm" +#include "code\game\machinery\computer\skills.dm" +#include "code\game\machinery\computer\specops_shuttle.dm" +#include "code\game\machinery\computer\station_alert.dm" +#include "code\game\machinery\computer\store.dm" +#include "code\game\machinery\computer\syndicate_specops_shuttle.dm" +#include "code\game\machinery\computer\telecrystalconsoles.dm" +#include "code\game\machinery\doors\airlock.dm" +#include "code\game\machinery\doors\airlock_control.dm" +#include "code\game\machinery\doors\airlock_electronics.dm" +#include "code\game\machinery\doors\alarmlock.dm" +#include "code\game\machinery\doors\brigdoors.dm" +#include "code\game\machinery\doors\checkForMultipleDoors.dm" +#include "code\game\machinery\doors\door.dm" +#include "code\game\machinery\doors\firedoor.dm" +#include "code\game\machinery\doors\multi_tile.dm" +#include "code\game\machinery\doors\poddoor.dm" +#include "code\game\machinery\doors\shutters.dm" +#include "code\game\machinery\doors\spacepod.dm" +#include "code\game\machinery\doors\unpowered.dm" +#include "code\game\machinery\doors\windowdoor.dm" +#include "code\game\machinery\embedded_controller\airlock_controllers.dm" +#include "code\game\machinery\embedded_controller\airlock_docking_controller.dm" +#include "code\game\machinery\embedded_controller\airlock_docking_controller_multi.dm" +#include "code\game\machinery\embedded_controller\airlock_program.dm" +#include "code\game\machinery\embedded_controller\docking_program.dm" +#include "code\game\machinery\embedded_controller\docking_program_multi.dm" +#include "code\game\machinery\embedded_controller\embedded_controller_base.dm" +#include "code\game\machinery\embedded_controller\embedded_program_base.dm" +#include "code\game\machinery\embedded_controller\simple_docking_controller.dm" +#include "code\game\machinery\kitchen\gibber.dm" +#include "code\game\machinery\kitchen\icecream_vat.dm" +#include "code\game\machinery\kitchen\juicer.dm" +#include "code\game\machinery\kitchen\kitchen_machine.dm" +#include "code\game\machinery\kitchen\microwave.dm" +#include "code\game\machinery\kitchen\monkeyrecycler.dm" +#include "code\game\machinery\kitchen\processor.dm" +#include "code\game\machinery\kitchen\smartfridge.dm" +#include "code\game\machinery\pipe\construction.dm" +#include "code\game\machinery\pipe\pipe_dispenser.dm" +#include "code\game\machinery\telecomms\broadcaster.dm" +#include "code\game\machinery\telecomms\logbrowser.dm" +#include "code\game\machinery\telecomms\machine_interactions.dm" +#include "code\game\machinery\telecomms\presets.dm" +#include "code\game\machinery\telecomms\telecomunications.dm" +#include "code\game\machinery\telecomms\telemonitor.dm" +#include "code\game\machinery\telecomms\traffic_control.dm" +#include "code\game\magic\Uristrunes.dm" +#include "code\game\mecha\mech_bay.dm" +#include "code\game\mecha\mech_fabricator.dm" +#include "code\game\mecha\mecha.dm" +#include "code\game\mecha\mecha_construction_paths.dm" +#include "code\game\mecha\mecha_control_console.dm" +#include "code\game\mecha\mecha_parts.dm" +#include "code\game\mecha\mecha_wreckage.dm" +#include "code\game\mecha\paintkits.dm" +#include "code\game\mecha\combat\combat.dm" +#include "code\game\mecha\combat\durand.dm" +#include "code\game\mecha\combat\gygax.dm" +#include "code\game\mecha\combat\honker.dm" +#include "code\game\mecha\combat\marauder.dm" +#include "code\game\mecha\combat\phazon.dm" +#include "code\game\mecha\combat\recitence.dm" +#include "code\game\mecha\equipment\mecha_equipment.dm" +#include "code\game\mecha\equipment\tools\medical_tools.dm" +#include "code\game\mecha\equipment\tools\tools.dm" +#include "code\game\mecha\equipment\weapons\weapons.dm" +#include "code\game\mecha\medical\medical.dm" +#include "code\game\mecha\medical\odysseus.dm" +#include "code\game\mecha\working\ripley.dm" +#include "code\game\mecha\working\working.dm" +#include "code\game\objects\buckling.dm" +#include "code\game\objects\empulse.dm" +#include "code\game\objects\explosion.dm" +#include "code\game\objects\items.dm" +#include "code\game\objects\objs.dm" +#include "code\game\objects\structures.dm" +#include "code\game\objects\weapons.dm" +#include "code\game\objects\effects\aliens.dm" +#include "code\game\objects\effects\anomalies.dm" +#include "code\game\objects\effects\bump_teleporter.dm" +#include "code\game\objects\effects\datacore-effect.dm" +#include "code\game\objects\effects\effect_system.dm" +#include "code\game\objects\effects\explosion_particles.dm" +#include "code\game\objects\effects\forcefields.dm" +#include "code\game\objects\effects\gibs.dm" +#include "code\game\objects\effects\glowshroom.dm" +#include "code\game\objects\effects\landmarks.dm" +#include "code\game\objects\effects\manifest.dm" +#include "code\game\objects\effects\mines.dm" +#include "code\game\objects\effects\misc.dm" +#include "code\game\objects\effects\overlays.dm" +#include "code\game\objects\effects\portals.dm" +#include "code\game\objects\effects\spiders.dm" +#include "code\game\objects\effects\step_triggers.dm" +#include "code\game\objects\effects\decals\cleanable.dm" +#include "code\game\objects\effects\decals\contraband.dm" +#include "code\game\objects\effects\decals\crayon.dm" +#include "code\game\objects\effects\decals\misc.dm" +#include "code\game\objects\effects\decals\remains.dm" +#include "code\game\objects\effects\decals\warning_stripes.dm" +#include "code\game\objects\effects\decals\Cleanable\aliens.dm" +#include "code\game\objects\effects\decals\Cleanable\fuel.dm" +#include "code\game\objects\effects\decals\Cleanable\humans.dm" +#include "code\game\objects\effects\decals\Cleanable\misc.dm" +#include "code\game\objects\effects\decals\Cleanable\robots.dm" +#include "code\game\objects\effects\decals\Cleanable\tracks.dm" +#include "code\game\objects\effects\spawners\bombspawner.dm" +#include "code\game\objects\effects\spawners\gibspawner.dm" +#include "code\game\objects\effects\spawners\lootdrop.dm" +#include "code\game\objects\effects\spawners\vaultspawner.dm" +#include "code\game\objects\effects\spawners\windowspawner.dm" +#include "code\game\objects\items\ashtray.dm" +#include "code\game\objects\items\blueprints.dm" +#include "code\game\objects\items\bodybag.dm" +#include "code\game\objects\items\candle.dm" +#include "code\game\objects\items\changestone.dm" +#include "code\game\objects\items\contraband.dm" +#include "code\game\objects\items\crayons.dm" +#include "code\game\objects\items\dehy_carp.dm" +#include "code\game\objects\items\documents.dm" +#include "code\game\objects\items\flag.dm" +#include "code\game\objects\items\latexballoon.dm" +#include "code\game\objects\items\misc.dm" +#include "code\game\objects\items\policetape.dm" +#include "code\game\objects\items\random_items.dm" +#include "code\game\objects\items\shooting_range.dm" +#include "code\game\objects\items\toys.dm" +#include "code\game\objects\items\trash.dm" +#include "code\game\objects\items\devices\aicard.dm" +#include "code\game\objects\items\devices\autopsy.dm" +#include "code\game\objects\items\devices\camera_bug.dm" +#include "code\game\objects\items\devices\chameleonproj.dm" +#include "code\game\objects\items\devices\debugger.dm" +#include "code\game\objects\items\devices\flash.dm" +#include "code\game\objects\items\devices\flashlight.dm" +#include "code\game\objects\items\devices\guitar.dm" +#include "code\game\objects\items\devices\laserpointer.dm" +#include "code\game\objects\items\devices\lightreplacer.dm" +#include "code\game\objects\items\devices\megaphone.dm" +#include "code\game\objects\items\devices\modkit.dm" +#include "code\game\objects\items\devices\multitool.dm" +#include "code\game\objects\items\devices\paicard.dm" +#include "code\game\objects\items\devices\pipe_painter.dm" +#include "code\game\objects\items\devices\pizza_bomb.dm" +#include "code\game\objects\items\devices\powersink.dm" +#include "code\game\objects\items\devices\scanners.dm" +#include "code\game\objects\items\devices\sensor_device.dm" +#include "code\game\objects\items\devices\taperecorder.dm" +#include "code\game\objects\items\devices\traitordevices.dm" +#include "code\game\objects\items\devices\transfer_valve.dm" +#include "code\game\objects\items\devices\uplinks.dm" +#include "code\game\objects\items\devices\violin.dm" +#include "code\game\objects\items\devices\whistle.dm" +#include "code\game\objects\items\devices\radio\beacon.dm" +#include "code\game\objects\items\devices\radio\electropack.dm" +#include "code\game\objects\items\devices\radio\encryptionkey.dm" +#include "code\game\objects\items\devices\radio\headset.dm" +#include "code\game\objects\items\devices\radio\intercom.dm" +#include "code\game\objects\items\devices\radio\radio.dm" +#include "code\game\objects\items\mountable_frames\air_alarm.dm" +#include "code\game\objects\items\mountable_frames\apc_frame.dm" +#include "code\game\objects\items\mountable_frames\driver_button.dm" +#include "code\game\objects\items\mountable_frames\fire_alarm.dm" +#include "code\game\objects\items\mountable_frames\frames.dm" +#include "code\game\objects\items\mountable_frames\intercom.dm" +#include "code\game\objects\items\mountable_frames\lights.dm" +#include "code\game\objects\items\mountable_frames\mountables.dm" +#include "code\game\objects\items\mountable_frames\newscaster_frame.dm" +#include "code\game\objects\items\robot\robot_items.dm" +#include "code\game\objects\items\robot\robot_parts.dm" +#include "code\game\objects\items\robot\robot_upgrades.dm" +#include "code\game\objects\items\stacks\medical.dm" +#include "code\game\objects\items\stacks\nanopaste.dm" +#include "code\game\objects\items\stacks\rods.dm" +#include "code\game\objects\items\stacks\stack.dm" +#include "code\game\objects\items\stacks\telecrystal.dm" +#include "code\game\objects\items\stacks\sheets\glass.dm" +#include "code\game\objects\items\stacks\sheets\leather.dm" +#include "code\game\objects\items\stacks\sheets\light.dm" +#include "code\game\objects\items\stacks\sheets\mineral.dm" +#include "code\game\objects\items\stacks\sheets\sheet_types.dm" +#include "code\game\objects\items\stacks\sheets\sheets.dm" +#include "code\game\objects\items\stacks\tiles\tile_types.dm" +#include "code\game\objects\items\weapons\AI_modules.dm" +#include "code\game\objects\items\weapons\alien_specific.dm" +#include "code\game\objects\items\weapons\cards_ids.dm" +#include "code\game\objects\items\weapons\cash.dm" +#include "code\game\objects\items\weapons\caution.dm" +#include "code\game\objects\items\weapons\chrono_eraser.dm" +#include "code\game\objects\items\weapons\cigs.dm" +#include "code\game\objects\items\weapons\clown_items.dm" +#include "code\game\objects\items\weapons\cosmetics.dm" +#include "code\game\objects\items\weapons\courtroom.dm" +#include "code\game\objects\items\weapons\defib.dm" +#include "code\game\objects\items\weapons\dice.dm" +#include "code\game\objects\items\weapons\disks.dm" +#include "code\game\objects\items\weapons\dna_injector.dm" +#include "code\game\objects\items\weapons\dnascrambler.dm" +#include "code\game\objects\items\weapons\explosives.dm" +#include "code\game\objects\items\weapons\extinguisher.dm" +#include "code\game\objects\items\weapons\fireworks.dm" +#include "code\game\objects\items\weapons\flamethrower.dm" +#include "code\game\objects\items\weapons\gift_wrappaper.dm" +#include "code\game\objects\items\weapons\handcuffs.dm" +#include "code\game\objects\items\weapons\holosign.dm" +#include "code\game\objects\items\weapons\kitchen.dm" +#include "code\game\objects\items\weapons\legcuffs.dm" +#include "code\game\objects\items\weapons\lighters.dm" +#include "code\game\objects\items\weapons\manuals.dm" +#include "code\game\objects\items\weapons\misc.dm" +#include "code\game\objects\items\weapons\mop.dm" +#include "code\game\objects\items\weapons\paint.dm" +#include "code\game\objects\items\weapons\paiwire.dm" +#include "code\game\objects\items\weapons\pneumaticCannon.dm" +#include "code\game\objects\items\weapons\power_cells.dm" +#include "code\game\objects\items\weapons\RCD.dm" +#include "code\game\objects\items\weapons\RSF.dm" +#include "code\game\objects\items\weapons\scissors.dm" +#include "code\game\objects\items\weapons\scrolls.dm" +#include "code\game\objects\items\weapons\shards.dm" +#include "code\game\objects\items\weapons\shields.dm" +#include "code\game\objects\items\weapons\signs.dm" +#include "code\game\objects\items\weapons\soap.dm" +#include "code\game\objects\items\weapons\staff.dm" +#include "code\game\objects\items\weapons\stock_parts.dm" +#include "code\game\objects\items\weapons\stunbaton.dm" +#include "code\game\objects\items\weapons\swords_axes_etc.dm" +#include "code\game\objects\items\weapons\syndie_uplink.dm" +#include "code\game\objects\items\weapons\table_rack_parts.dm" +#include "code\game\objects\items\weapons\tape.dm" +#include "code\game\objects\items\weapons\teleportation.dm" +#include "code\game\objects\items\weapons\tools.dm" +#include "code\game\objects\items\weapons\twohanded.dm" +#include "code\game\objects\items\weapons\vending_items.dm" +#include "code\game\objects\items\weapons\weaponry.dm" +#include "code\game\objects\items\weapons\whetstone.dm" +#include "code\game\objects\items\weapons\wires.dm" +#include "code\game\objects\items\weapons\grenades\bananade.dm" +#include "code\game\objects\items\weapons\grenades\chem_grenade.dm" +#include "code\game\objects\items\weapons\grenades\clowngrenade.dm" +#include "code\game\objects\items\weapons\grenades\clusterbuster.dm" +#include "code\game\objects\items\weapons\grenades\custom_grenades.dm" +#include "code\game\objects\items\weapons\grenades\emgrenade.dm" +#include "code\game\objects\items\weapons\grenades\flashbang.dm" +#include "code\game\objects\items\weapons\grenades\ghettobomb.dm" +#include "code\game\objects\items\weapons\grenades\grenade.dm" +#include "code\game\objects\items\weapons\grenades\smokebomb.dm" +#include "code\game\objects\items\weapons\grenades\spawnergrenade.dm" +#include "code\game\objects\items\weapons\grenades\syndieminibomb.dm" +#include "code\game\objects\items\weapons\implants\implant.dm" +#include "code\game\objects\items\weapons\implants\implant_chem.dm" +#include "code\game\objects\items\weapons\implants\implant_death_alarm.dm" +#include "code\game\objects\items\weapons\implants\implant_explosive.dm" +#include "code\game\objects\items\weapons\implants\implant_freedom.dm" +#include "code\game\objects\items\weapons\implants\implant_loyality.dm" +#include "code\game\objects\items\weapons\implants\implant_misc.dm" +#include "code\game\objects\items\weapons\implants\implant_storage.dm" +#include "code\game\objects\items\weapons\implants\implant_track.dm" +#include "code\game\objects\items\weapons\implants\implant_traitor.dm" +#include "code\game\objects\items\weapons\implants\implantcase.dm" +#include "code\game\objects\items\weapons\implants\implantchair.dm" +#include "code\game\objects\items\weapons\implants\implanter.dm" +#include "code\game\objects\items\weapons\implants\implantpad.dm" +#include "code\game\objects\items\weapons\implants\implantuplink.dm" +#include "code\game\objects\items\weapons\melee\energy.dm" +#include "code\game\objects\items\weapons\melee\misc.dm" +#include "code\game\objects\items\weapons\storage\backpack.dm" +#include "code\game\objects\items\weapons\storage\bags.dm" +#include "code\game\objects\items\weapons\storage\belt.dm" +#include "code\game\objects\items\weapons\storage\bible.dm" +#include "code\game\objects\items\weapons\storage\boxes.dm" +#include "code\game\objects\items\weapons\storage\briefcase.dm" +#include "code\game\objects\items\weapons\storage\fancy.dm" +#include "code\game\objects\items\weapons\storage\firstaid.dm" +#include "code\game\objects\items\weapons\storage\internal.dm" +#include "code\game\objects\items\weapons\storage\lockbox.dm" +#include "code\game\objects\items\weapons\storage\secure.dm" +#include "code\game\objects\items\weapons\storage\storage.dm" +#include "code\game\objects\items\weapons\storage\toolbox.dm" +#include "code\game\objects\items\weapons\storage\uplink_kits.dm" +#include "code\game\objects\items\weapons\storage\wallets.dm" +#include "code\game\objects\items\weapons\tanks\jetpack.dm" +#include "code\game\objects\items\weapons\tanks\tank_types.dm" +#include "code\game\objects\items\weapons\tanks\tanks.dm" +#include "code\game\objects\items\weapons\tanks\watertank.dm" +#include "code\game\objects\random\random.dm" +#include "code\game\objects\structures\artstuff.dm" +#include "code\game\objects\structures\barsign.dm" +#include "code\game\objects\structures\bedsheet_bin.dm" +#include "code\game\objects\structures\coathanger.dm" +#include "code\game\objects\structures\curtains.dm" +#include "code\game\objects\structures\displaycase.dm" +#include "code\game\objects\structures\door_assembly.dm" +#include "code\game\objects\structures\dresser.dm" +#include "code\game\objects\structures\electricchair.dm" +#include "code\game\objects\structures\engicart.dm" +#include "code\game\objects\structures\extinguisher.dm" +#include "code\game\objects\structures\false_walls.dm" +#include "code\game\objects\structures\flora.dm" +#include "code\game\objects\structures\foodcart.dm" +#include "code\game\objects\structures\fullwindow.dm" +#include "code\game\objects\structures\girders.dm" +#include "code\game\objects\structures\grille.dm" +#include "code\game\objects\structures\inflatable.dm" +#include "code\game\objects\structures\janicart.dm" +#include "code\game\objects\structures\kitchen_spike.dm" +#include "code\game\objects\structures\ladders.dm" +#include "code\game\objects\structures\lamarr_cage.dm" +#include "code\game\objects\structures\lattice.dm" +#include "code\game\objects\structures\mineral_doors.dm" +#include "code\game\objects\structures\mirror.dm" +#include "code\game\objects\structures\misc.dm" +#include "code\game\objects\structures\mop_bucket.dm" +#include "code\game\objects\structures\morgue.dm" +#include "code\game\objects\structures\musician.dm" +#include "code\game\objects\structures\noticeboard.dm" +#include "code\game\objects\structures\safe.dm" +#include "code\game\objects\structures\signs.dm" +#include "code\game\objects\structures\spirit_board.dm" +#include "code\game\objects\structures\statue.dm" +#include "code\game\objects\structures\tables_racks.dm" +#include "code\game\objects\structures\tank_dispenser.dm" +#include "code\game\objects\structures\target_stake.dm" +#include "code\game\objects\structures\watercloset.dm" +#include "code\game\objects\structures\windoor_assembly.dm" +#include "code\game\objects\structures\window.dm" +#include "code\game\objects\structures\crates_lockers\closets.dm" +#include "code\game\objects\structures\crates_lockers\crates.dm" +#include "code\game\objects\structures\crates_lockers\crittercrate.dm" +#include "code\game\objects\structures\crates_lockers\largecrate.dm" +#include "code\game\objects\structures\crates_lockers\walllocker.dm" +#include "code\game\objects\structures\crates_lockers\closets\cardboardbox.dm" +#include "code\game\objects\structures\crates_lockers\closets\coffin.dm" +#include "code\game\objects\structures\crates_lockers\closets\crittercrate.dm" +#include "code\game\objects\structures\crates_lockers\closets\fireaxe.dm" +#include "code\game\objects\structures\crates_lockers\closets\fitness.dm" +#include "code\game\objects\structures\crates_lockers\closets\gimmick.dm" +#include "code\game\objects\structures\crates_lockers\closets\job_closets.dm" +#include "code\game\objects\structures\crates_lockers\closets\l3closet.dm" +#include "code\game\objects\structures\crates_lockers\closets\malfunction.dm" +#include "code\game\objects\structures\crates_lockers\closets\statue.dm" +#include "code\game\objects\structures\crates_lockers\closets\syndicate.dm" +#include "code\game\objects\structures\crates_lockers\closets\utility_closets.dm" +#include "code\game\objects\structures\crates_lockers\closets\wardrobe.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\bar.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\cargo.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\chaplain.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\engineering.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\freezer.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\guncabinet.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\hydroponics.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\medical.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\personal.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\scientist.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\secure_closets.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\security.dm" +#include "code\game\objects\structures\stool_bed_chair_nest\alien_nests.dm" +#include "code\game\objects\structures\stool_bed_chair_nest\bed.dm" +#include "code\game\objects\structures\stool_bed_chair_nest\chairs.dm" +#include "code\game\objects\structures\stool_bed_chair_nest\stools.dm" +#include "code\game\objects\structures\stool_bed_chair_nest\wheelchair.dm" +#include "code\game\objects\structures\transit_tubes\station.dm" +#include "code\game\objects\structures\transit_tubes\transit_tube.dm" +#include "code\game\objects\structures\transit_tubes\transit_tube_pod.dm" +#include "code\game\turfs\simulated.dm" +#include "code\game\turfs\turf.dm" +#include "code\game\turfs\unsimulated.dm" +#include "code\game\turfs\simulated\floor.dm" +#include "code\game\turfs\simulated\shuttle.dm" +#include "code\game\turfs\simulated\walls.dm" +#include "code\game\turfs\simulated\walls_mineral.dm" +#include "code\game\turfs\simulated\walls_misc.dm" +#include "code\game\turfs\simulated\walls_reinforced.dm" +#include "code\game\turfs\simulated\floor\fancy_floor.dm" +#include "code\game\turfs\simulated\floor\light_floor.dm" +#include "code\game\turfs\simulated\floor\misc_floor.dm" +#include "code\game\turfs\simulated\floor\plasteel_floor.dm" +#include "code\game\turfs\simulated\floor\plating.dm" +#include "code\game\turfs\space\space.dm" +#include "code\game\turfs\space\transit.dm" +#include "code\game\turfs\unsimulated\beach.dm" +#include "code\game\turfs\unsimulated\floor.dm" +#include "code\game\turfs\unsimulated\walls.dm" +#include "code\game\vehicles\spacepods\construction.dm" +#include "code\game\vehicles\spacepods\equipment.dm" +#include "code\game\vehicles\spacepods\parts.dm" +#include "code\game\vehicles\spacepods\pod_fabricator.dm" +#include "code\game\vehicles\spacepods\spacepod.dm" +#include "code\game\verbs\ooc.dm" +#include "code\game\verbs\suicide.dm" +#include "code\game\verbs\who.dm" +#include "code\js\byjax.dm" +#include "code\js\menus.dm" +#include "code\LINDA\LINDA_fire.dm" +#include "code\LINDA\LINDA_system.dm" +#include "code\LINDA\LINDA_turf_tile.dm" +#include "code\modules\admin\admin.dm" +#include "code\modules\admin\admin_investigate.dm" +#include "code\modules\admin\admin_memo.dm" +#include "code\modules\admin\admin_ranks.dm" +#include "code\modules\admin\admin_verbs.dm" +#include "code\modules\admin\banappearance.dm" +#include "code\modules\admin\banjob.dm" +#include "code\modules\admin\buildmode.dm" +#include "code\modules\admin\create_mob.dm" +#include "code\modules\admin\create_object.dm" +#include "code\modules\admin\create_poll.dm" +#include "code\modules\admin\create_turf.dm" +#include "code\modules\admin\holder2.dm" +#include "code\modules\admin\IsBanned.dm" +#include "code\modules\admin\machine_upgrade.dm" +#include "code\modules\admin\NewBan.dm" +#include "code\modules\admin\newbanjob.dm" +#include "code\modules\admin\player_panel.dm" +#include "code\modules\admin\secrets.dm" +#include "code\modules\admin\sql_notes.dm" +#include "code\modules\admin\stickyban.dm" +#include "code\modules\admin\topic.dm" +#include "code\modules\admin\ToRban.dm" +#include "code\modules\admin\watchlist.dm" +#include "code\modules\admin\DB ban\functions.dm" +#include "code\modules\admin\permissionverbs\permissionedit.dm" +#include "code\modules\admin\verbs\adminhelp.dm" +#include "code\modules\admin\verbs\adminjump.dm" +#include "code\modules\admin\verbs\adminpm.dm" +#include "code\modules\admin\verbs\adminsay.dm" +#include "code\modules\admin\verbs\alt_check.dm" +#include "code\modules\admin\verbs\antag-ooc.dm" +#include "code\modules\admin\verbs\atmosdebug.dm" +#include "code\modules\admin\verbs\BrokenInhands.dm" +#include "code\modules\admin\verbs\cinematic.dm" +#include "code\modules\admin\verbs\custom_event.dm" +#include "code\modules\admin\verbs\deadsay.dm" +#include "code\modules\admin\verbs\debug.dm" +#include "code\modules\admin\verbs\diagnostics.dm" +#include "code\modules\admin\verbs\dice.dm" +#include "code\modules\admin\verbs\freeze.dm" +#include "code\modules\admin\verbs\getlogs.dm" +#include "code\modules\admin\verbs\honksquad.dm" +#include "code\modules\admin\verbs\mapping.dm" +#include "code\modules\admin\verbs\massmodvar.dm" +#include "code\modules\admin\verbs\modifyvariables.dm" +#include "code\modules\admin\verbs\one_click_antag.dm" +#include "code\modules\admin\verbs\onlyone.dm" +#include "code\modules\admin\verbs\onlyoneteam.dm" +#include "code\modules\admin\verbs\playsound.dm" +#include "code\modules\admin\verbs\possess.dm" +#include "code\modules\admin\verbs\pray.dm" +#include "code\modules\admin\verbs\randomverbs.dm" +#include "code\modules\admin\verbs\striketeam.dm" +#include "code\modules\admin\verbs\striketeam_syndicate.dm" +#include "code\modules\admin\verbs\ticklag.dm" +#include "code\modules\admin\verbs\tripAI.dm" +#include "code\modules\admin\verbs\vox_raiders.dm" +#include "code\modules\admin\verbs\SDQL2\SDQL_2.dm" +#include "code\modules\admin\verbs\SDQL2\SDQL_2_parser.dm" +#include "code\modules\alarm\alarm.dm" +#include "code\modules\alarm\alarm_handler.dm" +#include "code\modules\alarm\atmosphere_alarm.dm" +#include "code\modules\alarm\burglar_alarm.dm" +#include "code\modules\alarm\camera_alarm.dm" +#include "code\modules\alarm\fire_alarm.dm" +#include "code\modules\alarm\motion_alarm.dm" +#include "code\modules\alarm\power_alarm.dm" +#include "code\modules\arcade\arcade_base.dm" +#include "code\modules\arcade\arcade_prize.dm" +#include "code\modules\arcade\claw_game.dm" +#include "code\modules\arcade\prize_counter.dm" +#include "code\modules\arcade\prize_datums.dm" +#include "code\modules\assembly\assembly.dm" +#include "code\modules\assembly\bomb.dm" +#include "code\modules\assembly\health.dm" +#include "code\modules\assembly\helpers.dm" +#include "code\modules\assembly\holder.dm" +#include "code\modules\assembly\igniter.dm" +#include "code\modules\assembly\infrared.dm" +#include "code\modules\assembly\mousetrap.dm" +#include "code\modules\assembly\proximity.dm" +#include "code\modules\assembly\shock_kit.dm" +#include "code\modules\assembly\signaler.dm" +#include "code\modules\assembly\timer.dm" +#include "code\modules\assembly\voice.dm" +#include "code\modules\atmos_automation\console.dm" +#include "code\modules\atmos_automation\statements.dm" +#include "code\modules\atmos_automation\implementation\digital_valves.dm" +#include "code\modules\atmos_automation\implementation\emitters.dm" +#include "code\modules\atmos_automation\implementation\injectors.dm" +#include "code\modules\atmos_automation\implementation\scrubbers.dm" +#include "code\modules\atmos_automation\implementation\sensors.dm" +#include "code\modules\atmos_automation\implementation\vent_pump.dm" +#include "code\modules\awaymissions\bluespaceartillery.dm" +#include "code\modules\awaymissions\corpse.dm" +#include "code\modules\awaymissions\exile.dm" +#include "code\modules\awaymissions\gateway.dm" +#include "code\modules\awaymissions\loot.dm" +#include "code\modules\awaymissions\pamphlet.dm" +#include "code\modules\awaymissions\trigger.dm" +#include "code\modules\awaymissions\zlevel.dm" +#include "code\modules\awaymissions\maploader\dmm_suite.dm" +#include "code\modules\awaymissions\maploader\reader.dm" +#include "code\modules\awaymissions\maploader\swapmaps.dm" +#include "code\modules\awaymissions\maploader\writer.dm" +#include "code\modules\awaymissions\mission_code\academy.dm" +#include "code\modules\awaymissions\mission_code\beach.dm" +#include "code\modules\awaymissions\mission_code\blackmarketpackers.dm" +#include "code\modules\awaymissions\mission_code\centcomAway.dm" +#include "code\modules\awaymissions\mission_code\challenge.dm" +#include "code\modules\awaymissions\mission_code\clownplanet.dm" +#include "code\modules\awaymissions\mission_code\evil_santa.dm" +#include "code\modules\awaymissions\mission_code\spacebattle.dm" +#include "code\modules\awaymissions\mission_code\stationCollision.dm" +#include "code\modules\awaymissions\mission_code\wildwest.dm" +#include "code\modules\client\asset_cache.dm" +#include "code\modules\client\client defines.dm" +#include "code\modules\client\client procs.dm" +#include "code\modules\client\message.dm" +#include "code\modules\client\preferences.dm" +#include "code\modules\client\preferences_mysql.dm" +#include "code\modules\client\preferences_spawnpoints.dm" +#include "code\modules\client\preferences_toggles.dm" +#include "code\modules\clothing\clothing.dm" +#include "code\modules\clothing\glasses\glasses.dm" +#include "code\modules\clothing\glasses\hud.dm" +#include "code\modules\clothing\gloves\boxing.dm" +#include "code\modules\clothing\gloves\color.dm" +#include "code\modules\clothing\gloves\miscellaneous.dm" +#include "code\modules\clothing\gloves\rings.dm" +#include "code\modules\clothing\head\collectable.dm" +#include "code\modules\clothing\head\hardhat.dm" +#include "code\modules\clothing\head\helmet.dm" +#include "code\modules\clothing\head\jobs.dm" +#include "code\modules\clothing\head\misc.dm" +#include "code\modules\clothing\head\misc_special.dm" +#include "code\modules\clothing\head\soft_caps.dm" +#include "code\modules\clothing\masks\boxing.dm" +#include "code\modules\clothing\masks\breath.dm" +#include "code\modules\clothing\masks\gasmask.dm" +#include "code\modules\clothing\masks\miscellaneous.dm" +#include "code\modules\clothing\masks\voice.dm" +#include "code\modules\clothing\shoes\colour.dm" +#include "code\modules\clothing\shoes\magboots.dm" +#include "code\modules\clothing\shoes\miscellaneous.dm" +#include "code\modules\clothing\spacesuits\alien.dm" +#include "code\modules\clothing\spacesuits\breaches.dm" +#include "code\modules\clothing\spacesuits\chronosuit.dm" +#include "code\modules\clothing\spacesuits\ert.dm" +#include "code\modules\clothing\spacesuits\miscellaneous.dm" +#include "code\modules\clothing\spacesuits\plasmamen.dm" +#include "code\modules\clothing\spacesuits\rig.dm" +#include "code\modules\clothing\spacesuits\syndi.dm" +#include "code\modules\clothing\spacesuits\void.dm" +#include "code\modules\clothing\spacesuits\rig\rig.dm" +#include "code\modules\clothing\spacesuits\rig\rig_attackby.dm" +#include "code\modules\clothing\spacesuits\rig\rig_pieces.dm" +#include "code\modules\clothing\spacesuits\rig\rig_verbs.dm" +#include "code\modules\clothing\spacesuits\rig\rig_wiring.dm" +#include "code\modules\clothing\spacesuits\rig\modules\combat.dm" +#include "code\modules\clothing\spacesuits\rig\modules\computer.dm" +#include "code\modules\clothing\spacesuits\rig\modules\modules.dm" +#include "code\modules\clothing\spacesuits\rig\modules\ninja.dm" +#include "code\modules\clothing\spacesuits\rig\modules\utility.dm" +#include "code\modules\clothing\spacesuits\rig\modules\vision.dm" +#include "code\modules\clothing\spacesuits\rig\suits\alien.dm" +#include "code\modules\clothing\spacesuits\rig\suits\combat.dm" +#include "code\modules\clothing\spacesuits\rig\suits\ert.dm" +#include "code\modules\clothing\spacesuits\rig\suits\light.dm" +#include "code\modules\clothing\spacesuits\rig\suits\merc.dm" +#include "code\modules\clothing\spacesuits\rig\suits\station.dm" +#include "code\modules\clothing\suits\alien.dm" +#include "code\modules\clothing\suits\armor.dm" +#include "code\modules\clothing\suits\bio.dm" +#include "code\modules\clothing\suits\jobs.dm" +#include "code\modules\clothing\suits\labcoat.dm" +#include "code\modules\clothing\suits\miscellaneous.dm" +#include "code\modules\clothing\suits\storage.dm" +#include "code\modules\clothing\suits\utility.dm" +#include "code\modules\clothing\suits\wiz_robe.dm" +#include "code\modules\clothing\under\chameleon.dm" +#include "code\modules\clothing\under\color.dm" +#include "code\modules\clothing\under\miscellaneous.dm" +#include "code\modules\clothing\under\pants.dm" +#include "code\modules\clothing\under\shorts.dm" +#include "code\modules\clothing\under\syndicate.dm" +#include "code\modules\clothing\under\accessories\accessory.dm" +#include "code\modules\clothing\under\accessories\armband.dm" +#include "code\modules\clothing\under\accessories\holster.dm" +#include "code\modules\clothing\under\accessories\storage.dm" +#include "code\modules\clothing\under\jobs\civilian.dm" +#include "code\modules\clothing\under\jobs\engineering.dm" +#include "code\modules\clothing\under\jobs\medsci.dm" +#include "code\modules\clothing\under\jobs\security.dm" +#include "code\modules\computer3\bios.dm" +#include "code\modules\computer3\buildandrepair.dm" +#include "code\modules\computer3\component.dm" +#include "code\modules\computer3\computer.dm" +#include "code\modules\computer3\computer3_notes.dm" +#include "code\modules\computer3\file.dm" +#include "code\modules\computer3\laptop.dm" +#include "code\modules\computer3\lapvend.dm" +#include "code\modules\computer3\networking.dm" +#include "code\modules\computer3\NTOS.dm" +#include "code\modules\computer3\program.dm" +#include "code\modules\computer3\program_disks.dm" +#include "code\modules\computer3\server.dm" +#include "code\modules\computer3\storage.dm" +#include "code\modules\computer3\computers\arcade.dm" +#include "code\modules\computer3\computers\atmos_alert.dm" +#include "code\modules\computer3\computers\camera.dm" +#include "code\modules\computer3\computers\card.dm" +#include "code\modules\computer3\computers\communications.dm" +#include "code\modules\computer3\computers\crew.dm" +#include "code\modules\computer3\computers\customs.dm" +#include "code\modules\computer3\computers\HolodeckControl.dm" +#include "code\modules\computer3\computers\law.dm" +#include "code\modules\computer3\computers\medical.dm" +#include "code\modules\computer3\computers\Operating.dm" +#include "code\modules\computer3\computers\power.dm" +#include "code\modules\computer3\computers\prisoner.dm" +#include "code\modules\computer3\computers\robot.dm" +#include "code\modules\computer3\computers\security.dm" +#include "code\modules\computer3\computers\welcome.dm" +#include "code\modules\crafting\guncrafting.dm" +#include "code\modules\crafting\recipes.dm" +#include "code\modules\crafting\table.dm" +#include "code\modules\customitems\item_defines.dm" +#include "code\modules\customitems\item_spawning.dm" +#include "code\modules\detective_work\detective_work.dm" +#include "code\modules\detective_work\evidence.dm" +#include "code\modules\detective_work\footprints_and_rag.dm" +#include "code\modules\detective_work\scanner.dm" +#include "code\modules\economy\Accounts.dm" +#include "code\modules\economy\Accounts_DB.dm" +#include "code\modules\economy\ATM.dm" +#include "code\modules\economy\Economy.dm" +#include "code\modules\economy\Economy_Events.dm" +#include "code\modules\economy\Economy_Events_Mundane.dm" +#include "code\modules\economy\Economy_TradeDestinations.dm" +#include "code\modules\economy\EFTPOS.dm" +#include "code\modules\economy\Job_Departments.dm" +#include "code\modules\economy\POS.dm" +#include "code\modules\economy\utils.dm" +#include "code\modules\events\alien_infestation.dm" +#include "code\modules\events\anomaly.dm" +#include "code\modules\events\anomaly_bluespace.dm" +#include "code\modules\events\anomaly_flux.dm" +#include "code\modules\events\anomaly_grav.dm" +#include "code\modules\events\anomaly_pyro.dm" +#include "code\modules\events\anomaly_vortex.dm" +#include "code\modules\events\blob.dm" +#include "code\modules\events\brand_intelligence.dm" +#include "code\modules\events\carp_migration.dm" +#include "code\modules\events\communications_blackout.dm" +#include "code\modules\events\dust.dm" +#include "code\modules\events\electrical_storm.dm" +#include "code\modules\events\event.dm" +#include "code\modules\events\event_container.dm" +#include "code\modules\events\event_manager.dm" +#include "code\modules\events\false_alarm.dm" +#include "code\modules\events\grid_check.dm" +#include "code\modules\events\immovable_rod.dm" +#include "code\modules\events\infestation.dm" +#include "code\modules\events\ion_storm.dm" +#include "code\modules\events\mass_hallucination.dm" +#include "code\modules\events\meaty_ores.dm" +#include "code\modules\events\meteors.dm" +#include "code\modules\events\money_hacker.dm" +#include "code\modules\events\money_lotto.dm" +#include "code\modules\events\money_spam.dm" +#include "code\modules\events\prison_break.dm" +#include "code\modules\events\radiation_storm.dm" +#include "code\modules\events\rogue_drones.dm" +#include "code\modules\events\slaughterevent.dm" +#include "code\modules\events\spacevine.dm" +#include "code\modules\events\spider_infestation.dm" +#include "code\modules\events\tear.dm" +#include "code\modules\events\undead.dm" +#include "code\modules\events\vent_clog.dm" +#include "code\modules\events\viral_infection.dm" +#include "code\modules\events\viral_outbreak.dm" +#include "code\modules\events\wallrot.dm" +#include "code\modules\events\wormholes.dm" +#include "code\modules\examine\examine.dm" +#include "code\modules\examine\descriptions\atmospherics.dm" +#include "code\modules\examine\descriptions\engineering.dm" +#include "code\modules\examine\descriptions\medical.dm" +#include "code\modules\examine\descriptions\mobs.dm" +#include "code\modules\examine\descriptions\stacks.dm" +#include "code\modules\examine\descriptions\structures.dm" +#include "code\modules\examine\descriptions\turfs.dm" +#include "code\modules\examine\descriptions\weapons.dm" +#include "code\modules\ext_scripts\irc.dm" +#include "code\modules\ext_scripts\python.dm" +#include "code\modules\fish\fish_eggs.dm" +#include "code\modules\fish\fish_items.dm" +#include "code\modules\fish\fishtank.dm" +#include "code\modules\flufftext\Dreaming.dm" +#include "code\modules\flufftext\Hallucination.dm" +#include "code\modules\flufftext\TextFilters.dm" +#include "code\modules\food\candy_maker.dm" +#include "code\modules\food\cereal_maker.dm" +#include "code\modules\food\cooker.dm" +#include "code\modules\food\customizables.dm" +#include "code\modules\food\deep_fryer.dm" +#include "code\modules\food\food_grill.dm" +#include "code\modules\food\grill_new.dm" +#include "code\modules\food\icecream_vat.dm" +#include "code\modules\food\oven.dm" +#include "code\modules\food\oven_new.dm" +#include "code\modules\food\recipes_candy.dm" +#include "code\modules\food\recipes_grill.dm" +#include "code\modules\food\recipes_microwave.dm" +#include "code\modules\food\recipes_oven.dm" +#include "code\modules\food\recipes_table.dm" +#include "code\modules\garbage_collection\garbage_collector.dm" +#include "code\modules\garbage_collection\gc_testing.dm" +#include "code\modules\holiday\christmas.dm" +#include "code\modules\holiday\holiday.dm" +#include "code\modules\hydroponics\grown.dm" +#include "code\modules\hydroponics\grown_inedible.dm" +#include "code\modules\hydroponics\grown_predefined.dm" +#include "code\modules\hydroponics\hydro_reagents.dm" +#include "code\modules\hydroponics\seed.dm" +#include "code\modules\hydroponics\seed_controller.dm" +#include "code\modules\hydroponics\seed_datums.dm" +#include "code\modules\hydroponics\seed_machines.dm" +#include "code\modules\hydroponics\seed_mobs.dm" +#include "code\modules\hydroponics\seed_packets.dm" +#include "code\modules\hydroponics\seed_storage.dm" +#include "code\modules\hydroponics\spreading\spreading.dm" +#include "code\modules\hydroponics\spreading\spreading_growth.dm" +#include "code\modules\hydroponics\spreading\spreading_response.dm" +#include "code\modules\hydroponics\trays\tray.dm" +#include "code\modules\hydroponics\trays\tray_apiary.dm" +#include "code\modules\hydroponics\trays\tray_process.dm" +#include "code\modules\hydroponics\trays\tray_reagents.dm" +#include "code\modules\hydroponics\trays\tray_soil.dm" +#include "code\modules\hydroponics\trays\tray_tools.dm" +#include "code\modules\hydroponics\trays\tray_update_icons.dm" +#include "code\modules\karma\karma.dm" +#include "code\modules\library\lib_items.dm" +#include "code\modules\library\lib_machines.dm" +#include "code\modules\library\lib_readme.dm" +#include "code\modules\lighting\__lighting_docs.dm" +#include "code\modules\lighting\light_source.dm" +#include "code\modules\lighting\lighting_atom.dm" +#include "code\modules\lighting\lighting_overlay.dm" +#include "code\modules\lighting\lighting_process.dm" +#include "code\modules\lighting\lighting_system.dm" +#include "code\modules\lighting\lighting_turf.dm" +#include "code\modules\media\jukebox.dm" +#include "code\modules\media\machinery.dm" +#include "code\modules\media\mediamanager.dm" +#include "code\modules\media\broadcast\receiver.dm" +#include "code\modules\media\broadcast\transmitter.dm" +#include "code\modules\media\broadcast\receivers\radio.dm" +#include "code\modules\media\broadcast\transmitters\broadcast.dm" +#include "code\modules\mining\abandonedcrates.dm" +#include "code\modules\mining\coins.dm" +#include "code\modules\mining\equipment_locker.dm" +#include "code\modules\mining\machine_input_output_plates.dm" +#include "code\modules\mining\machine_processing.dm" +#include "code\modules\mining\machine_stacking.dm" +#include "code\modules\mining\machine_unloading.dm" +#include "code\modules\mining\mine_areas.dm" +#include "code\modules\mining\mine_items.dm" +#include "code\modules\mining\mine_turfs.dm" +#include "code\modules\mining\mint.dm" +#include "code\modules\mining\money_bag.dm" +#include "code\modules\mining\ore.dm" +#include "code\modules\mining\satchel_ore_boxdm.dm" +#include "code\modules\mining\laborcamp\laborminerals.dm" +#include "code\modules\mining\laborcamp\laborshuttle.dm" +#include "code\modules\mining\laborcamp\laborstacker.dm" +#include "code\modules\mob\abilities.dm" +#include "code\modules\mob\death.dm" +#include "code\modules\mob\emote.dm" +#include "code\modules\mob\hear_say.dm" +#include "code\modules\mob\holder.dm" +#include "code\modules\mob\inventory.dm" +#include "code\modules\mob\language.dm" +#include "code\modules\mob\login.dm" +#include "code\modules\mob\logout.dm" +#include "code\modules\mob\mob.dm" +#include "code\modules\mob\mob_defines.dm" +#include "code\modules\mob\mob_grab.dm" +#include "code\modules\mob\mob_helpers.dm" +#include "code\modules\mob\mob_movement.dm" +#include "code\modules\mob\mob_transformation_simple.dm" +#include "code\modules\mob\say.dm" +#include "code\modules\mob\transform_procs.dm" +#include "code\modules\mob\typing_indicator.dm" +#include "code\modules\mob\update_icons.dm" +#include "code\modules\mob\camera\camera.dm" +#include "code\modules\mob\dead\death.dm" +#include "code\modules\mob\dead\observer\login.dm" +#include "code\modules\mob\dead\observer\logout.dm" +#include "code\modules\mob\dead\observer\observer.dm" +#include "code\modules\mob\dead\observer\say.dm" +#include "code\modules\mob\dead\observer\spells.dm" +#include "code\modules\mob\living\autohiss.dm" +#include "code\modules\mob\living\damage_procs.dm" +#include "code\modules\mob\living\default_language.dm" +#include "code\modules\mob\living\life.dm" +#include "code\modules\mob\living\living.dm" +#include "code\modules\mob\living\living_defense.dm" +#include "code\modules\mob\living\living_defines.dm" +#include "code\modules\mob\living\login.dm" +#include "code\modules\mob\living\logout.dm" +#include "code\modules\mob\living\say.dm" +#include "code\modules\mob\living\carbon\_defines.dm" +#include "code\modules\mob\living\carbon\carbon.dm" +#include "code\modules\mob\living\carbon\carbon_defenses.dm" +#include "code\modules\mob\living\carbon\carbon_defines.dm" +#include "code\modules\mob\living\carbon\death.dm" +#include "code\modules\mob\living\carbon\give.dm" +#include "code\modules\mob\living\carbon\life.dm" +#include "code\modules\mob\living\carbon\shock.dm" +#include "code\modules\mob\living\carbon\superheroes.dm" +#include "code\modules\mob\living\carbon\update_icons.dm" +#include "code\modules\mob\living\carbon\alien\alien.dm" +#include "code\modules\mob\living\carbon\alien\alien_defenses.dm" +#include "code\modules\mob\living\carbon\alien\death.dm" +#include "code\modules\mob\living\carbon\alien\life.dm" +#include "code\modules\mob\living\carbon\alien\login.dm" +#include "code\modules\mob\living\carbon\alien\logout.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\alien_powers.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\emote.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\empress.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\humanoid.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\inventory.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\life.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\login.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\queen.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\update_icons.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\caste\drone.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\caste\hunter.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\caste\sentinel.dm" +#include "code\modules\mob\living\carbon\alien\larva\death.dm" +#include "code\modules\mob\living\carbon\alien\larva\emote.dm" +#include "code\modules\mob\living\carbon\alien\larva\inventory.dm" +#include "code\modules\mob\living\carbon\alien\larva\larva.dm" +#include "code\modules\mob\living\carbon\alien\larva\life.dm" +#include "code\modules\mob\living\carbon\alien\larva\powers.dm" +#include "code\modules\mob\living\carbon\alien\larva\update_icons.dm" +#include "code\modules\mob\living\carbon\alien\special\alien_embryo.dm" +#include "code\modules\mob\living\carbon\alien\special\facehugger.dm" +#include "code\modules\mob\living\carbon\brain\brain.dm" +#include "code\modules\mob\living\carbon\brain\brain_item.dm" +#include "code\modules\mob\living\carbon\brain\death.dm" +#include "code\modules\mob\living\carbon\brain\emote.dm" +#include "code\modules\mob\living\carbon\brain\life.dm" +#include "code\modules\mob\living\carbon\brain\login.dm" +#include "code\modules\mob\living\carbon\brain\MMI.dm" +#include "code\modules\mob\living\carbon\brain\posibrain.dm" +#include "code\modules\mob\living\carbon\brain\say.dm" +#include "code\modules\mob\living\carbon\human\appearance.dm" +#include "code\modules\mob\living\carbon\human\body_accessories.dm" +#include "code\modules\mob\living\carbon\human\death.dm" +#include "code\modules\mob\living\carbon\human\emote.dm" +#include "code\modules\mob\living\carbon\human\examine.dm" +#include "code\modules\mob\living\carbon\human\human.dm" +#include "code\modules\mob\living\carbon\human\human_attackalien.dm" +#include "code\modules\mob\living\carbon\human\human_attackhand.dm" +#include "code\modules\mob\living\carbon\human\human_damage.dm" +#include "code\modules\mob\living\carbon\human\human_defense.dm" +#include "code\modules\mob\living\carbon\human\human_defines.dm" +#include "code\modules\mob\living\carbon\human\human_movement.dm" +#include "code\modules\mob\living\carbon\human\human_organs.dm" +#include "code\modules\mob\living\carbon\human\inventory.dm" +#include "code\modules\mob\living\carbon\human\life.dm" +#include "code\modules\mob\living\carbon\human\login.dm" +#include "code\modules\mob\living\carbon\human\npcs.dm" +#include "code\modules\mob\living\carbon\human\say.dm" +#include "code\modules\mob\living\carbon\human\update_icons.dm" +#include "code\modules\mob\living\carbon\human\whisper.dm" +#include "code\modules\mob\living\carbon\human\species\apollo.dm" +#include "code\modules\mob\living\carbon\human\species\golem.dm" +#include "code\modules\mob\living\carbon\human\species\monkey.dm" +#include "code\modules\mob\living\carbon\human\species\plasmaman.dm" +#include "code\modules\mob\living\carbon\human\species\shadow.dm" +#include "code\modules\mob\living\carbon\human\species\skeleton.dm" +#include "code\modules\mob\living\carbon\human\species\species.dm" +#include "code\modules\mob\living\carbon\human\species\station.dm" +#include "code\modules\mob\living\carbon\slime\death.dm" +#include "code\modules\mob\living\carbon\slime\emote.dm" +#include "code\modules\mob\living\carbon\slime\examine.dm" +#include "code\modules\mob\living\carbon\slime\life.dm" +#include "code\modules\mob\living\carbon\slime\login.dm" +#include "code\modules\mob\living\carbon\slime\powers.dm" +#include "code\modules\mob\living\carbon\slime\say.dm" +#include "code\modules\mob\living\carbon\slime\slime.dm" +#include "code\modules\mob\living\carbon\slime\subtypes.dm" +#include "code\modules\mob\living\carbon\slime\update_icons.dm" +#include "code\modules\mob\living\silicon\death.dm" +#include "code\modules\mob\living\silicon\emote.dm" +#include "code\modules\mob\living\silicon\laws.dm" +#include "code\modules\mob\living\silicon\login.dm" +#include "code\modules\mob\living\silicon\say.dm" +#include "code\modules\mob\living\silicon\silicon.dm" +#include "code\modules\mob\living\silicon\subsystems.dm" +#include "code\modules\mob\living\silicon\ai\ai.dm" +#include "code\modules\mob\living\silicon\ai\death.dm" +#include "code\modules\mob\living\silicon\ai\examine.dm" +#include "code\modules\mob\living\silicon\ai\latejoin.dm" +#include "code\modules\mob\living\silicon\ai\laws.dm" +#include "code\modules\mob\living\silicon\ai\life.dm" +#include "code\modules\mob\living\silicon\ai\login.dm" +#include "code\modules\mob\living\silicon\ai\logout.dm" +#include "code\modules\mob\living\silicon\ai\say.dm" +#include "code\modules\mob\living\silicon\ai\freelook\cameranet.dm" +#include "code\modules\mob\living\silicon\ai\freelook\chunk.dm" +#include "code\modules\mob\living\silicon\ai\freelook\eye.dm" +#include "code\modules\mob\living\silicon\ai\freelook\read_me.dm" +#include "code\modules\mob\living\silicon\decoy\death.dm" +#include "code\modules\mob\living\silicon\decoy\decoy.dm" +#include "code\modules\mob\living\silicon\decoy\life.dm" +#include "code\modules\mob\living\silicon\pai\death.dm" +#include "code\modules\mob\living\silicon\pai\emote.dm" +#include "code\modules\mob\living\silicon\pai\examine.dm" +#include "code\modules\mob\living\silicon\pai\life.dm" +#include "code\modules\mob\living\silicon\pai\pai.dm" +#include "code\modules\mob\living\silicon\pai\personality.dm" +#include "code\modules\mob\living\silicon\pai\recruit.dm" +#include "code\modules\mob\living\silicon\pai\say.dm" +#include "code\modules\mob\living\silicon\pai\software.dm" +#include "code\modules\mob\living\silicon\pai\software_modules.dm" +#include "code\modules\mob\living\silicon\robot\component.dm" +#include "code\modules\mob\living\silicon\robot\death.dm" +#include "code\modules\mob\living\silicon\robot\emote.dm" +#include "code\modules\mob\living\silicon\robot\examine.dm" +#include "code\modules\mob\living\silicon\robot\inventory.dm" +#include "code\modules\mob\living\silicon\robot\laws.dm" +#include "code\modules\mob\living\silicon\robot\life.dm" +#include "code\modules\mob\living\silicon\robot\login.dm" +#include "code\modules\mob\living\silicon\robot\photos.dm" +#include "code\modules\mob\living\silicon\robot\robot.dm" +#include "code\modules\mob\living\silicon\robot\robot_damage.dm" +#include "code\modules\mob\living\silicon\robot\robot_items.dm" +#include "code\modules\mob\living\silicon\robot\robot_modules.dm" +#include "code\modules\mob\living\silicon\robot\robot_movement.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone_abilities.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone_console.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone_damage.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone_items.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone_manufacturer.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone_say.dm" +#include "code\modules\mob\living\simple_animal\bees.dm" +#include "code\modules\mob\living\simple_animal\constructs.dm" +#include "code\modules\mob\living\simple_animal\corpse.dm" +#include "code\modules\mob\living\simple_animal\parrot.dm" +#include "code\modules\mob\living\simple_animal\pony.dm" +#include "code\modules\mob\living\simple_animal\powers.dm" +#include "code\modules\mob\living\simple_animal\shade.dm" +#include "code\modules\mob\living\simple_animal\simple_animal.dm" +#include "code\modules\mob\living\simple_animal\tribbles.dm" +#include "code\modules\mob\living\simple_animal\vox.dm" +#include "code\modules\mob\living\simple_animal\friendly\butterfly.dm" +#include "code\modules\mob\living\simple_animal\friendly\cat.dm" +#include "code\modules\mob\living\simple_animal\friendly\corgi.dm" +#include "code\modules\mob\living\simple_animal\friendly\corgi_powers.dm" +#include "code\modules\mob\living\simple_animal\friendly\crab.dm" +#include "code\modules\mob\living\simple_animal\friendly\deer.dm" +#include "code\modules\mob\living\simple_animal\friendly\diona.dm" +#include "code\modules\mob\living\simple_animal\friendly\farm_animals.dm" +#include "code\modules\mob\living\simple_animal\friendly\fox.dm" +#include "code\modules\mob\living\simple_animal\friendly\lizard.dm" +#include "code\modules\mob\living\simple_animal\friendly\mouse.dm" +#include "code\modules\mob\living\simple_animal\friendly\pet.dm" +#include "code\modules\mob\living\simple_animal\friendly\pug.dm" +#include "code\modules\mob\living\simple_animal\friendly\slime.dm" +#include "code\modules\mob\living\simple_animal\friendly\spiderbot.dm" +#include "code\modules\mob\living\simple_animal\friendly\tomato.dm" +#include "code\modules\mob\living\simple_animal\hostile\alien.dm" +#include "code\modules\mob\living\simple_animal\hostile\bat.dm" +#include "code\modules\mob\living\simple_animal\hostile\bear.dm" +#include "code\modules\mob\living\simple_animal\hostile\carp.dm" +#include "code\modules\mob\living\simple_animal\hostile\creature.dm" +#include "code\modules\mob\living\simple_animal\hostile\faithless.dm" +#include "code\modules\mob\living\simple_animal\hostile\giant_spider.dm" +#include "code\modules\mob\living\simple_animal\hostile\hivebot.dm" +#include "code\modules\mob\living\simple_animal\hostile\hostile.dm" +#include "code\modules\mob\living\simple_animal\hostile\jungle_animals.dm" +#include "code\modules\mob\living\simple_animal\hostile\mimic.dm" +#include "code\modules\mob\living\simple_animal\hostile\mining_mobs.dm" +#include "code\modules\mob\living\simple_animal\hostile\mushroom.dm" +#include "code\modules\mob\living\simple_animal\hostile\pirate.dm" +#include "code\modules\mob\living\simple_animal\hostile\poison_bees.dm" +#include "code\modules\mob\living\simple_animal\hostile\russian.dm" +#include "code\modules\mob\living\simple_animal\hostile\spaceworms.dm" +#include "code\modules\mob\living\simple_animal\hostile\statue.dm" +#include "code\modules\mob\living\simple_animal\hostile\syndicate.dm" +#include "code\modules\mob\living\simple_animal\hostile\tree.dm" +#include "code\modules\mob\living\simple_animal\hostile\winter_mobs.dm" +#include "code\modules\mob\living\simple_animal\hostile\retaliate\clown.dm" +#include "code\modules\mob\living\simple_animal\hostile\retaliate\drone.dm" +#include "code\modules\mob\living\simple_animal\hostile\retaliate\fish.dm" +#include "code\modules\mob\living\simple_animal\hostile\retaliate\pet.dm" +#include "code\modules\mob\living\simple_animal\hostile\retaliate\retaliate.dm" +#include "code\modules\mob\living\simple_animal\hostile\retaliate\undead.dm" +#include "code\modules\mob\new_player\login.dm" +#include "code\modules\mob\new_player\logout.dm" +#include "code\modules\mob\new_player\new_player.dm" +#include "code\modules\mob\new_player\poll.dm" +#include "code\modules\mob\new_player\preferences_setup.dm" +#include "code\modules\mob\new_player\sprite_accessories.dm" +#include "code\modules\mob\spirit\cultnet.dm" +#include "code\modules\mob\spirit\movement.dm" +#include "code\modules\mob\spirit\spirit.dm" +#include "code\modules\mob\spirit\viewpoint.dm" +#include "code\modules\mob\spirit\mask\mask.dm" +#include "code\modules\mob\spirit\mask\respawn.dm" +#include "code\modules\nano\_JSON.dm" +#include "code\modules\nano\JSON Reader.dm" +#include "code\modules\nano\JSON Writer.dm" +#include "code\modules\nano\nanoexternal.dm" +#include "code\modules\nano\nanomanager.dm" +#include "code\modules\nano\nanomapgen.dm" +#include "code\modules\nano\nanoui.dm" +#include "code\modules\nano\interaction\admin.dm" +#include "code\modules\nano\interaction\base.dm" +#include "code\modules\nano\interaction\conscious.dm" +#include "code\modules\nano\interaction\contained.dm" +#include "code\modules\nano\interaction\default.dm" +#include "code\modules\nano\interaction\inventory.dm" +#include "code\modules\nano\interaction\inventory_deep.dm" +#include "code\modules\nano\interaction\physical.dm" +#include "code\modules\nano\interaction\self.dm" +#include "code\modules\nano\interaction\zlevel.dm" +#include "code\modules\nano\modules\alarm_monitor.dm" +#include "code\modules\nano\modules\atmos_control.dm" +#include "code\modules\nano\modules\crew_monitor.dm" +#include "code\modules\nano\modules\human_appearance.dm" +#include "code\modules\nano\modules\law_manager.dm" +#include "code\modules\nano\modules\nano_module.dm" +#include "code\modules\nano\modules\power_monitor.dm" +#include "code\modules\nano\modules\virus2_creator.dm" +#include "code\modules\ninja\energy_katana.dm" +#include "code\modules\ninja\suit\gloves.dm" +#include "code\modules\ninja\suit\head.dm" +#include "code\modules\ninja\suit\mask.dm" +#include "code\modules\ninja\suit\shoes.dm" +#include "code\modules\ninja\suit\suit.dm" +#include "code\modules\ninja\suit\suit_initialisation.dm" +#include "code\modules\paperwork\carbonpaper.dm" +#include "code\modules\paperwork\clipboard.dm" +#include "code\modules\paperwork\fax.dm" +#include "code\modules\paperwork\faxmachine.dm" +#include "code\modules\paperwork\filingcabinet.dm" +#include "code\modules\paperwork\folders.dm" +#include "code\modules\paperwork\frames.dm" +#include "code\modules\paperwork\handlabeler.dm" +#include "code\modules\paperwork\paper.dm" +#include "code\modules\paperwork\paper_bundle.dm" +#include "code\modules\paperwork\paperbin.dm" +#include "code\modules\paperwork\pen.dm" +#include "code\modules\paperwork\photocopier.dm" +#include "code\modules\paperwork\photography.dm" +#include "code\modules\paperwork\silicon_photography.dm" +#include "code\modules\paperwork\stamps.dm" +#include "code\modules\pda\ai.dm" +#include "code\modules\pda\app.dm" +#include "code\modules\pda\cart.dm" +#include "code\modules\pda\cart_apps.dm" +#include "code\modules\pda\chatroom.dm" +#include "code\modules\pda\core_apps.dm" +#include "code\modules\pda\messenger.dm" +#include "code\modules\pda\messenger_plugins.dm" +#include "code\modules\pda\PDA.dm" +#include "code\modules\pda\pdas.dm" +#include "code\modules\pda\radio.dm" +#include "code\modules\pda\utilities.dm" +#include "code\modules\pooling\pool.dm" +#include "code\modules\power\apc.dm" +#include "code\modules\power\cable.dm" +#include "code\modules\power\cable_heavyduty.dm" +#include "code\modules\power\cable_logic.dm" +#include "code\modules\power\cell.dm" +#include "code\modules\power\engine.dm" +#include "code\modules\power\generator.dm" +#include "code\modules\power\generator_type2.dm" +#include "code\modules\power\gravitygenerator.dm" +#include "code\modules\power\lighting.dm" +#include "code\modules\power\port_gen.dm" +#include "code\modules\power\power.dm" +#include "code\modules\power\powernet.dm" +#include "code\modules\power\smes.dm" +#include "code\modules\power\solar.dm" +#include "code\modules\power\switch.dm" +#include "code\modules\power\terminal.dm" +#include "code\modules\power\tracker.dm" +#include "code\modules\power\turbine.dm" +#include "code\modules\power\singularity\collector.dm" +#include "code\modules\power\singularity\containment_field.dm" +#include "code\modules\power\singularity\emitter.dm" +#include "code\modules\power\singularity\field_generator.dm" +#include "code\modules\power\singularity\generator.dm" +#include "code\modules\power\singularity\investigate.dm" +#include "code\modules\power\singularity\narsie.dm" +#include "code\modules\power\singularity\singularity.dm" +#include "code\modules\power\singularity\particle_accelerator\particle.dm" +#include "code\modules\power\singularity\particle_accelerator\particle_accelerator.dm" +#include "code\modules\power\singularity\particle_accelerator\particle_chamber.dm" +#include "code\modules\power\singularity\particle_accelerator\particle_control.dm" +#include "code\modules\power\singularity\particle_accelerator\particle_emitter.dm" +#include "code\modules\power\singularity\particle_accelerator\particle_power.dm" +#include "code\modules\power\supermatter\supermatter.dm" +#include "code\modules\power\tesla\coil.dm" +#include "code\modules\power\tesla\energy_ball.dm" +#include "code\modules\power\tesla\generator.dm" +#include "code\modules\procedural_mapping\mapGenerator.dm" +#include "code\modules\procedural_mapping\mapGeneratorModule.dm" +#include "code\modules\procedural_mapping\mapGeneratorReadme.dm" +#include "code\modules\procedural_mapping\mapGeneratorModules\helpers.dm" +#include "code\modules\procedural_mapping\mapGeneratorModules\nature.dm" +#include "code\modules\procedural_mapping\mapGenerators\asteroid.dm" +#include "code\modules\procedural_mapping\mapGenerators\nature.dm" +#include "code\modules\procedural_mapping\mapGenerators\syndicate.dm" +#include "code\modules\projectiles\ammunition.dm" +#include "code\modules\projectiles\gun.dm" +#include "code\modules\projectiles\medbeam.dm" +#include "code\modules\projectiles\projectile.dm" +#include "code\modules\projectiles\targeting.dm" +#include "code\modules\projectiles\ammunition\ammo_casings.dm" +#include "code\modules\projectiles\ammunition\boxes.dm" +#include "code\modules\projectiles\ammunition\magazines.dm" +#include "code\modules\projectiles\guns\alien.dm" +#include "code\modules\projectiles\guns\energy.dm" +#include "code\modules\projectiles\guns\magic.dm" +#include "code\modules\projectiles\guns\mounted.dm" +#include "code\modules\projectiles\guns\projectile.dm" +#include "code\modules\projectiles\guns\syringe_gun.dm" +#include "code\modules\projectiles\guns\energy\advtaser.dm" +#include "code\modules\projectiles\guns\energy\blueshield.dm" +#include "code\modules\projectiles\guns\energy\hos.dm" +#include "code\modules\projectiles\guns\energy\laser.dm" +#include "code\modules\projectiles\guns\energy\nuclear.dm" +#include "code\modules\projectiles\guns\energy\pulse.dm" +#include "code\modules\projectiles\guns\energy\special.dm" +#include "code\modules\projectiles\guns\energy\stun.dm" +#include "code\modules\projectiles\guns\energy\telegun.dm" +#include "code\modules\projectiles\guns\energy\temperature.dm" +#include "code\modules\projectiles\guns\magic\staff.dm" +#include "code\modules\projectiles\guns\magic\wand.dm" +#include "code\modules\projectiles\guns\projectile\automatic.dm" +#include "code\modules\projectiles\guns\projectile\crossbow.dm" +#include "code\modules\projectiles\guns\projectile\grenade launcher.dm" +#include "code\modules\projectiles\guns\projectile\launchers.dm" +#include "code\modules\projectiles\guns\projectile\pistol.dm" +#include "code\modules\projectiles\guns\projectile\revolver.dm" +#include "code\modules\projectiles\guns\projectile\rocket.dm" +#include "code\modules\projectiles\guns\projectile\shotgun.dm" +#include "code\modules\projectiles\projectile\beams.dm" +#include "code\modules\projectiles\projectile\bullets.dm" +#include "code\modules\projectiles\projectile\energy.dm" +#include "code\modules\projectiles\projectile\force.dm" +#include "code\modules\projectiles\projectile\magic.dm" +#include "code\modules\projectiles\projectile\special.dm" +#include "code\modules\reagents\Chemistry-Colours.dm" +#include "code\modules\reagents\Chemistry-Holder.dm" +#include "code\modules\reagents\Chemistry-Machinery.dm" +#include "code\modules\reagents\Chemistry-Readme.dm" +#include "code\modules\reagents\dartgun.dm" +#include "code\modules\reagents\grenade_launcher.dm" +#include "code\modules\reagents\reagent_containers.dm" +#include "code\modules\reagents\reagent_dispenser.dm" +#include "code\modules\reagents\newchem\Blob-Reagents.dm" +#include "code\modules\reagents\newchem\chem_heater.dm" +#include "code\modules\reagents\newchem\drinks.dm" +#include "code\modules\reagents\newchem\drugs.dm" +#include "code\modules\reagents\newchem\food.dm" +#include "code\modules\reagents\newchem\medicine.dm" +#include "code\modules\reagents\newchem\newchem_procs.dm" +#include "code\modules\reagents\newchem\other.dm" +#include "code\modules\reagents\newchem\patch.dm" +#include "code\modules\reagents\newchem\pyro.dm" +#include "code\modules\reagents\newchem\toxins.dm" +#include "code\modules\reagents\oldchem\chemical_reaction\_chemical_reaction_base.dm" +#include "code\modules\reagents\oldchem\chemical_reaction\chemical_reaction_drink.dm" +#include "code\modules\reagents\oldchem\chemical_reaction\chemical_reaction_food.dm" +#include "code\modules\reagents\oldchem\chemical_reaction\chemical_reaction_harm.dm" +#include "code\modules\reagents\oldchem\chemical_reaction\chemical_reaction_med.dm" +#include "code\modules\reagents\oldchem\chemical_reaction\chemical_reaction_misc.dm" +#include "code\modules\reagents\oldchem\chemical_reaction\chemical_reaction_slime.dm" +#include "code\modules\reagents\oldchem\reagents\__oldchem_defines.dm" +#include "code\modules\reagents\oldchem\reagents\_reagent_base.dm" +#include "code\modules\reagents\oldchem\reagents\reagents_admin.dm" +#include "code\modules\reagents\oldchem\reagents\reagents_drugs.dm" +#include "code\modules\reagents\oldchem\reagents\reagents_flammable.dm" +#include "code\modules\reagents\oldchem\reagents\reagents_food.dm" +#include "code\modules\reagents\oldchem\reagents\reagents_med.dm" +#include "code\modules\reagents\oldchem\reagents\reagents_misc.dm" +#include "code\modules\reagents\oldchem\reagents\reagents_toxin.dm" +#include "code\modules\reagents\oldchem\reagents\reagents_water.dm" +#include "code\modules\reagents\oldchem\reagents\drink\reagents_alcohol.dm" +#include "code\modules\reagents\oldchem\reagents\drink\reagents_drink.dm" +#include "code\modules\reagents\oldchem\reagents\drink\reagents_drink_base.dm" +#include "code\modules\reagents\oldchem\reagents\drink\reagents_drink_cold.dm" +#include "code\modules\reagents\reagent_containers\blood_pack.dm" +#include "code\modules\reagents\reagent_containers\borghydro.dm" +#include "code\modules\reagents\reagent_containers\dropper.dm" +#include "code\modules\reagents\reagent_containers\drugs.dm" +#include "code\modules\reagents\reagent_containers\food.dm" +#include "code\modules\reagents\reagent_containers\glass_containers.dm" +#include "code\modules\reagents\reagent_containers\hypospray.dm" +#include "code\modules\reagents\reagent_containers\pill.dm" +#include "code\modules\reagents\reagent_containers\robodropper.dm" +#include "code\modules\reagents\reagent_containers\spray.dm" +#include "code\modules\reagents\reagent_containers\syringes.dm" +#include "code\modules\reagents\reagent_containers\food\cans.dm" +#include "code\modules\reagents\reagent_containers\food\condiment.dm" +#include "code\modules\reagents\reagent_containers\food\drinks.dm" +#include "code\modules\reagents\reagent_containers\food\sandwich.dm" +#include "code\modules\reagents\reagent_containers\food\snacks.dm" +#include "code\modules\reagents\reagent_containers\food\drinks\bottle.dm" +#include "code\modules\reagents\reagent_containers\food\drinks\drinkingglass.dm" +#include "code\modules\reagents\reagent_containers\food\drinks\jar.dm" +#include "code\modules\reagents\reagent_containers\food\drinks\bottle\robot.dm" +#include "code\modules\reagents\reagent_containers\food\snacks\candy.dm" +#include "code\modules\reagents\reagent_containers\food\snacks\meat.dm" +#include "code\modules\reagents\reagent_containers\food\snacks\seafood.dm" +#include "code\modules\reagents\reagent_containers\glass\bottle.dm" +#include "code\modules\reagents\reagent_containers\glass\bottle\robot.dm" +#include "code\modules\recycling\conveyor2.dm" +#include "code\modules\recycling\disposal-construction.dm" +#include "code\modules\recycling\disposal.dm" +#include "code\modules\recycling\sortingmachinery.dm" +#include "code\modules\research\circuitprinter.dm" +#include "code\modules\research\designs.dm" +#include "code\modules\research\destructive_analyzer.dm" +#include "code\modules\research\experimentor.dm" +#include "code\modules\research\message_server.dm" +#include "code\modules\research\protolathe.dm" +#include "code\modules\research\rd-readme.dm" +#include "code\modules\research\rdconsole.dm" +#include "code\modules\research\rdmachines.dm" +#include "code\modules\research\research.dm" +#include "code\modules\research\server.dm" +#include "code\modules\research\designs\AI_module_designs.dm" +#include "code\modules\research\designs\autolathe_designs.dm" +#include "code\modules\research\designs\bluespace_designs.dm" +#include "code\modules\research\designs\comp_board_designs.dm" +#include "code\modules\research\designs\equipment_designs.dm" +#include "code\modules\research\designs\janitorial_designs.dm" +#include "code\modules\research\designs\machine_designs.dm" +#include "code\modules\research\designs\mecha_designs.dm" +#include "code\modules\research\designs\mechfabricator_designs.dm" +#include "code\modules\research\designs\medical_designs.dm" +#include "code\modules\research\designs\mining_designs.dm" +#include "code\modules\research\designs\misc_designs.dm" +#include "code\modules\research\designs\power_designs.dm" +#include "code\modules\research\designs\spacepod_designs.dm" +#include "code\modules\research\designs\stock_parts_designs.dm" +#include "code\modules\research\designs\telecomms_designs.dm" +#include "code\modules\research\designs\weapon_designs.dm" +#include "code\modules\research\xenoarchaeology\areas.dm" +#include "code\modules\research\xenoarchaeology\chemistry.dm" +#include "code\modules\research\xenoarchaeology\geosample.dm" +#include "code\modules\research\xenoarchaeology\manuals.dm" +#include "code\modules\research\xenoarchaeology\master_controller.dm" +#include "code\modules\research\xenoarchaeology\misc.dm" +#include "code\modules\research\xenoarchaeology\readme.dm" +#include "code\modules\research\xenoarchaeology\artifact\artifact.dm" +#include "code\modules\research\xenoarchaeology\artifact\artifact_autocloner.dm" +#include "code\modules\research\xenoarchaeology\artifact\artifact_crystal.dm" +#include "code\modules\research\xenoarchaeology\artifact\artifact_gigadrill.dm" +#include "code\modules\research\xenoarchaeology\artifact\artifact_hoverpod.dm" +#include "code\modules\research\xenoarchaeology\artifact\artifact_replicator.dm" +#include "code\modules\research\xenoarchaeology\artifact\artifact_unknown.dm" +#include "code\modules\research\xenoarchaeology\artifact\effect.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_affect_cold.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_badfeeling.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_cellcharge.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_celldrain.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_dnaswitch.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_emp.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_goodfeeling.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_heal.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_heat.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_hurt.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_radiate.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_roboheal.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_robohurt.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_sleepy.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_stun.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_teleport.dm" +#include "code\modules\research\xenoarchaeology\finds\finds.dm" +#include "code\modules\research\xenoarchaeology\finds\finds_defines.dm" +#include "code\modules\research\xenoarchaeology\finds\finds_fossils.dm" +#include "code\modules\research\xenoarchaeology\finds\finds_misc.dm" +#include "code\modules\research\xenoarchaeology\finds\finds_special.dm" +#include "code\modules\research\xenoarchaeology\finds\finds_talkingitem.dm" +#include "code\modules\research\xenoarchaeology\genetics\prehistoric_animals.dm" +#include "code\modules\research\xenoarchaeology\genetics\reconstitutor.dm" +#include "code\modules\research\xenoarchaeology\machinery\artifact_analyser.dm" +#include "code\modules\research\xenoarchaeology\machinery\artifact_harvester.dm" +#include "code\modules\research\xenoarchaeology\machinery\artifact_scanner.dm" +#include "code\modules\research\xenoarchaeology\machinery\coolant.dm" +#include "code\modules\research\xenoarchaeology\machinery\geosample_scanner.dm" +#include "code\modules\research\xenoarchaeology\tools\ano_device_battery.dm" +#include "code\modules\research\xenoarchaeology\tools\anomaly_suit.dm" +#include "code\modules\research\xenoarchaeology\tools\bunsen_burner.dm" +#include "code\modules\research\xenoarchaeology\tools\gearbelt.dm" +#include "code\modules\research\xenoarchaeology\tools\suspension_generator.dm" +#include "code\modules\research\xenoarchaeology\tools\tools.dm" +#include "code\modules\research\xenoarchaeology\tools\tools_anoscanner.dm" +#include "code\modules\research\xenoarchaeology\tools\tools_coresampler.dm" +#include "code\modules\research\xenoarchaeology\tools\tools_depthscanner.dm" +#include "code\modules\research\xenoarchaeology\tools\tools_locater.dm" +#include "code\modules\research\xenoarchaeology\tools\tools_pickaxe.dm" +#include "code\modules\research\xenobiology\xenobiology.dm" +#include "code\modules\scripting\Errors.dm" +#include "code\modules\scripting\Options.dm" +#include "code\modules\scripting\AST\AST Nodes.dm" +#include "code\modules\scripting\AST\Blocks.dm" +#include "code\modules\scripting\AST\Statements.dm" +#include "code\modules\scripting\AST\Operators\Binary Operators.dm" +#include "code\modules\scripting\AST\Operators\Unary Operators.dm" +#include "code\modules\scripting\Implementations\_Logic.dm" +#include "code\modules\scripting\Implementations\Telecomms.dm" +#include "code\modules\scripting\Interpreter\Evaluation.dm" +#include "code\modules\scripting\Interpreter\Interaction.dm" +#include "code\modules\scripting\Interpreter\Interpreter.dm" +#include "code\modules\scripting\Interpreter\Scope.dm" +#include "code\modules\scripting\Parser\Expressions.dm" +#include "code\modules\scripting\Parser\Keywords.dm" +#include "code\modules\scripting\Parser\Parser.dm" +#include "code\modules\scripting\Scanner\Scanner.dm" +#include "code\modules\scripting\Scanner\Tokens.dm" +#include "code\modules\security_levels\keycard authentication.dm" +#include "code\modules\security_levels\security levels.dm" +#include "code\modules\shuttle\shuttle.dm" +#include "code\modules\space_transition\space_transition.dm" +#include "code\modules\store\items.dm" +#include "code\modules\store\store.dm" +#include "code\modules\surgery\bones.dm" +#include "code\modules\surgery\encased.dm" +#include "code\modules\surgery\face.dm" +#include "code\modules\surgery\generic.dm" +#include "code\modules\surgery\helpers.dm" +#include "code\modules\surgery\implant.dm" +#include "code\modules\surgery\limb_reattach.dm" +#include "code\modules\surgery\organs_internal.dm" +#include "code\modules\surgery\other.dm" +#include "code\modules\surgery\robotics.dm" +#include "code\modules\surgery\slime.dm" +#include "code\modules\surgery\surgery.dm" +#include "code\modules\surgery\tools.dm" +#include "code\modules\surgery\organs\augments_eyes.dm" +#include "code\modules\surgery\organs\augments_internal.dm" +#include "code\modules\surgery\organs\blood.dm" +#include "code\modules\surgery\organs\body_egg.dm" +#include "code\modules\surgery\organs\helpers.dm" +#include "code\modules\surgery\organs\organ.dm" +#include "code\modules\surgery\organs\organ_external.dm" +#include "code\modules\surgery\organs\organ_icon.dm" +#include "code\modules\surgery\organs\organ_internal.dm" +#include "code\modules\surgery\organs\organ_stump.dm" +#include "code\modules\surgery\organs\pain.dm" +#include "code\modules\surgery\organs\robolimbs.dm" +#include "code\modules\surgery\organs\skeleton.dm" +#include "code\modules\surgery\organs\wound.dm" +#include "code\modules\surgery\organs\subtypes\diona.dm" +#include "code\modules\surgery\organs\subtypes\machine.dm" +#include "code\modules\surgery\organs\subtypes\misc.dm" +#include "code\modules\surgery\organs\subtypes\nucleation.dm" +#include "code\modules\surgery\organs\subtypes\standard.dm" +#include "code\modules\surgery\organs\subtypes\unbreakable.dm" +#include "code\modules\surgery\organs\subtypes\wryn.dm" +#include "code\modules\surgery\organs\subtypes\xenos.dm" +#include "code\modules\telesci\bscrystal.dm" +#include "code\modules\telesci\gps.dm" +#include "code\modules\telesci\telepad.dm" +#include "code\modules\telesci\telesci_computer.dm" +#include "code\modules\tram\tram.dm" +#include "code\modules\tram\tram_control_pad.dm" +#include "code\modules\tram\tram_floor.dm" +#include "code\modules\tram\tram_rail.dm" +#include "code\modules\tram\tram_wall.dm" +#include "code\modules\vehicle\vehicle.dm" +#include "code\modules\vehicle\train\train.dm" +#include "code\modules\vehicle\train\trains\ambulance.dm" +#include "code\modules\vehicle\train\trains\cargo\cargo_train.dm" +#include "code\modules\vehicle\train\trains\cargo\cargo_subtypes\fourwheeler.dm" +#include "code\modules\vehicle\train\trains\cargo\cargo_subtypes\motorcycle.dm" +#include "code\modules\vehicle\train\trains\cargo\cargo_subtypes\sportscar.dm" +#include "code\modules\virus2\analyser.dm" +#include "code\modules\virus2\antibodies.dm" +#include "code\modules\virus2\centrifuge.dm" +#include "code\modules\virus2\curer.dm" +#include "code\modules\virus2\disease2.dm" +#include "code\modules\virus2\diseasesplicer.dm" +#include "code\modules\virus2\dishincubator.dm" +#include "code\modules\virus2\effect.dm" +#include "code\modules\virus2\helpers.dm" +#include "code\modules\virus2\isolator.dm" +#include "code\modules\virus2\items_devices.dm" +#include "interface\interface.dm" +#include "interface\stylesheet.dm" +#include "interface\skin.dmf" +// END_INCLUDE From 0f5c8be3592953d2d47d262e8967e345a0bcfb5f Mon Sep 17 00:00:00 2001 From: DaveTheHeadcrab Date: Wed, 9 Mar 2016 19:40:23 -0500 Subject: [PATCH 04/44] Removes Goebbles from the last name list --- config/names/last.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/config/names/last.txt b/config/names/last.txt index 5b41e53aae8..99bb75aced8 100644 --- a/config/names/last.txt +++ b/config/names/last.txt @@ -502,7 +502,6 @@ Stamos Sagan Hawking Dawkins -Goebbles McShain McDonohugh Power @@ -617,4 +616,4 @@ Mikhaylov Pavlov Semenov Andreev -Alekseev \ No newline at end of file +Alekseev From 78eb649230c760bf1e5492c2cebadb5d4d28e946 Mon Sep 17 00:00:00 2001 From: taukausanake Date: Wed, 9 Mar 2016 19:21:57 -0600 Subject: [PATCH 05/44] Added changelog --- html/changelogs/taukausanake-PR-3815.yml | 35 ++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 html/changelogs/taukausanake-PR-3815.yml diff --git a/html/changelogs/taukausanake-PR-3815.yml b/html/changelogs/taukausanake-PR-3815.yml new file mode 100644 index 00000000000..66702cace01 --- /dev/null +++ b/html/changelogs/taukausanake-PR-3815.yml @@ -0,0 +1,35 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. Remove the quotation mark and put in your name when copy+pasting the example changelog. +author: taukausanake + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Make it possible to pick up mice in your hand." From bf51a06754f23f23672920ce048552de61c47e64 Mon Sep 17 00:00:00 2001 From: taukausanake Date: Wed, 9 Mar 2016 19:50:42 -0600 Subject: [PATCH 06/44] DOES THIS PLEASE YOU? --- html/changelogs/AutoChangeLog-pr-3815.yml | 4 +++ html/changelogs/taukausanake-PR-3815.yml | 35 ----------------------- 2 files changed, 4 insertions(+), 35 deletions(-) create mode 100644 html/changelogs/AutoChangeLog-pr-3815.yml delete mode 100644 html/changelogs/taukausanake-PR-3815.yml diff --git a/html/changelogs/AutoChangeLog-pr-3815.yml b/html/changelogs/AutoChangeLog-pr-3815.yml new file mode 100644 index 00000000000..8f5f2bf548b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3815.yml @@ -0,0 +1,4 @@ +author: Tauka Usanake +delete-after: True +changes: + - rscadd: "Make it possible to pick up mice in your hand." \ No newline at end of file diff --git a/html/changelogs/taukausanake-PR-3815.yml b/html/changelogs/taukausanake-PR-3815.yml deleted file mode 100644 index 66702cace01..00000000000 --- a/html/changelogs/taukausanake-PR-3815.yml +++ /dev/null @@ -1,35 +0,0 @@ -################################ -# Example Changelog File -# -# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. -# -# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) -# When it is, any changes listed below will disappear. -# -# Valid Prefixes: -# bugfix -# wip (For works in progress) -# tweak -# soundadd -# sounddel -# rscadd (general adding of nice things) -# rscdel (general deleting of nice things) -# imageadd -# imagedel -# spellcheck (typo fixes) -# experiment -################################# - -# Your name. Remove the quotation mark and put in your name when copy+pasting the example changelog. -author: taukausanake - -# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. -delete-after: True - -# Any changes you've made. See valid prefix list above. -# INDENT WITH TWO SPACES. NOT TABS. SPACES. -# SCREW THIS UP AND IT WON'T WORK. -# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. -# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. -changes: - - rscadd: "Make it possible to pick up mice in your hand." From 3767281549daea1e24b7142a6851e9562d792f02 Mon Sep 17 00:00:00 2001 From: taukausanake Date: Wed, 9 Mar 2016 19:57:12 -0600 Subject: [PATCH 07/44] Waaaaaaa! --- html/changelogs/AutoChangeLog-pr-3815.yml | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3815.yml diff --git a/html/changelogs/AutoChangeLog-pr-3815.yml b/html/changelogs/AutoChangeLog-pr-3815.yml deleted file mode 100644 index 8f5f2bf548b..00000000000 --- a/html/changelogs/AutoChangeLog-pr-3815.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Tauka Usanake -delete-after: True -changes: - - rscadd: "Make it possible to pick up mice in your hand." \ No newline at end of file From f2e21ab267c3160265620a15e7103cef66f2161e Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Wed, 9 Mar 2016 20:43:13 -0800 Subject: [PATCH 08/44] Makes everything work --- code/controllers/Processes/shuttles/supply.dm | 1 + code/game/gamemodes/game_mode.dm | 2 +- code/game/jobs/job_objectives/science.dm | 4 ++-- code/game/mecha/mecha_construction_paths.dm | 8 ++------ 4 files changed, 6 insertions(+), 9 deletions(-) diff --git a/code/controllers/Processes/shuttles/supply.dm b/code/controllers/Processes/shuttles/supply.dm index a1d0af01dd7..e5416d585f1 100644 --- a/code/controllers/Processes/shuttles/supply.dm +++ b/code/controllers/Processes/shuttles/supply.dm @@ -174,6 +174,7 @@ var/datum/tech/tech = disk.stored var/cost = tech.getCost(shuttle_master.techLevels[tech.id]) + world << "Disk tech: [tech.id], Disk worth: [cost]" if(cost) shuttle_master.techLevels[tech.id] = tech.level shuttle_master.points += cost diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 45fb9284638..447abac00e1 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -120,7 +120,7 @@ msg="Task #[count] completed! " if(pay>0) if(M.mind.initial_account) - M.mind.initial_account.money += objective.completion_payment + M.mind.initial_account.money += pay var/datum/transaction/T = new() T.target_name = "[command_name()] Payroll" T.purpose = "Payment" diff --git a/code/game/jobs/job_objectives/science.dm b/code/game/jobs/job_objectives/science.dm index 77867a63304..eb646e6d2b1 100644 --- a/code/game/jobs/job_objectives/science.dm +++ b/code/game/jobs/job_objectives/science.dm @@ -5,7 +5,7 @@ // MAXIMUM SCIENCE /datum/job_objective/further_research completion_payment = 50 - perunit = 1 + per_unit = 5 /datum/job_objective/further_research/get_description() var/desc = "Research tech levels, and have cargo ship them to centcomm." @@ -17,7 +17,7 @@ if(shuttle_master.techLevels[tech] > 0) return 1 return 0 - + ///////////////////////////////////////////////////////////////////////////////////////// // Robotics ///////////////////////////////////////////////////////////////////////////////////////// diff --git a/code/game/mecha/mecha_construction_paths.dm b/code/game/mecha/mecha_construction_paths.dm index 80b883bddd6..08d0541bfb5 100644 --- a/code/game/mecha/mecha_construction_paths.dm +++ b/code/game/mecha/mecha_construction_paths.dm @@ -86,9 +86,6 @@ /datum/construction/mecha/ripley_chassis/spawn_result() var/obj/item/mecha_parts/chassis/const_holder = holder - var/datum/job_objective/make_ripley/task = user.mind.findJobTask(/datum/job_objective/make_ripley) - if(istype(task)) - task.unit_completed() const_holder.construct = new /datum/construction/reversible/mecha/ripley(const_holder) const_holder.icon = 'icons/mecha/mech_construction.dmi' const_holder.icon_state = "ripley0" @@ -100,6 +97,7 @@ /datum/construction/reversible/mecha/ripley result = "/obj/mecha/working/ripley" + taskpath = /datum/job_objective/make_ripley steps = list( //1 list("key"=/obj/item/weapon/weldingtool, @@ -578,9 +576,6 @@ /datum/construction/mecha/firefighter_chassis/spawn_result() var/obj/item/mecha_parts/chassis/const_holder = holder - var/datum/job_objective/make_ripley/task = user.mind.findJobTask(/datum/job_objective/make_ripley) - if(istype(task)) - task.unit_completed() const_holder.construct = new /datum/construction/reversible/mecha/firefighter(const_holder) const_holder.icon = 'icons/mecha/mech_construction.dmi' const_holder.icon_state = "fireripley0" @@ -591,6 +586,7 @@ /datum/construction/reversible/mecha/firefighter result = "/obj/mecha/working/ripley/firefighter" + taskpath = /datum/job_objective/make_ripley steps = list( //1 list("key"=/obj/item/weapon/weldingtool, From 3d2de0a3ad9e7a3ee25202931aefe0fc637c05f6 Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Wed, 9 Mar 2016 20:51:47 -0800 Subject: [PATCH 09/44] So that research doesn't become stupid rich for their job --- code/game/gamemodes/game_mode.dm | 3 ++- code/game/jobs/job_objectives/science.dm | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 447abac00e1..e5687ba2050 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -114,6 +114,7 @@ msg="We see that you completed [newunits] new unit[newunits>1?"s":""] for Task #[count]! " pay=objective.completion_payment * newunits objective.units_compensated += newunits + objective.is_completed() // So we don't get many messages regarding completion else if(!objective.completed) if(objective.is_completed()) pay=objective.completion_payment @@ -124,7 +125,7 @@ var/datum/transaction/T = new() T.target_name = "[command_name()] Payroll" T.purpose = "Payment" - T.amount = objective.completion_payment + T.amount = pay T.date = current_date_string T.time = worldtime2text() T.source_terminal = "\[CLASSIFIED\] Terminal #[rand(111,333)]" diff --git a/code/game/jobs/job_objectives/science.dm b/code/game/jobs/job_objectives/science.dm index eb646e6d2b1..4067fd7aebc 100644 --- a/code/game/jobs/job_objectives/science.dm +++ b/code/game/jobs/job_objectives/science.dm @@ -4,8 +4,8 @@ // MAXIMUM SCIENCE /datum/job_objective/further_research - completion_payment = 50 - per_unit = 5 + completion_payment = 5 + per_unit = 1 /datum/job_objective/further_research/get_description() var/desc = "Research tech levels, and have cargo ship them to centcomm." From 621c28aa6459b930a5b3c096ffbea7fb8fa231c3 Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Wed, 9 Mar 2016 20:52:30 -0800 Subject: [PATCH 10/44] Makes ripley objective more clear --- code/game/jobs/job_objectives/science.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/jobs/job_objectives/science.dm b/code/game/jobs/job_objectives/science.dm index 4067fd7aebc..ac646b24080 100644 --- a/code/game/jobs/job_objectives/science.dm +++ b/code/game/jobs/job_objectives/science.dm @@ -40,6 +40,6 @@ per_unit = 1 /datum/job_objective/make_ripley/get_description() - var/desc = "Make a Ripley." + var/desc = "Make a Ripley or Firefighter." desc += "([units_completed] created.)" return desc \ No newline at end of file From 82edb1269c7d592665938a67fb17634f396a0ee3 Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Wed, 9 Mar 2016 20:54:06 -0800 Subject: [PATCH 11/44] No no no debug prints --- code/controllers/Processes/shuttles/supply.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/controllers/Processes/shuttles/supply.dm b/code/controllers/Processes/shuttles/supply.dm index e5416d585f1..a1d0af01dd7 100644 --- a/code/controllers/Processes/shuttles/supply.dm +++ b/code/controllers/Processes/shuttles/supply.dm @@ -174,7 +174,6 @@ var/datum/tech/tech = disk.stored var/cost = tech.getCost(shuttle_master.techLevels[tech.id]) - world << "Disk tech: [tech.id], Disk worth: [cost]" if(cost) shuttle_master.techLevels[tech.id] = tech.level shuttle_master.points += cost From a647de7a6b6035f1b6ab201116b1d833e284dca9 Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Thu, 10 Mar 2016 01:19:29 -0800 Subject: [PATCH 12/44] Slime people can now regrow their limbs at a lower nutrition cost --- code/modules/mob/living/carbon/human/species/station.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/human/species/station.dm b/code/modules/mob/living/carbon/human/species/station.dm index 18d2727214f..d94731fdb1e 100644 --- a/code/modules/mob/living/carbon/human/species/station.dm +++ b/code/modules/mob/living/carbon/human/species/station.dm @@ -453,8 +453,8 @@ set name = "Regrow Limbs" set desc = "Regrow one of your missing limbs at the cost of a large amount of hunger" -#define SLIMEPERSON_HUNGERCOST 125 -#define SLIMEPERSON_MINHUNGER 300 +#define SLIMEPERSON_HUNGERCOST 50 +#define SLIMEPERSON_MINHUNGER 250 #define SLIMEPERSON_REGROWTHDELAY 450 // 45 seconds if(stat || paralysis || stunned) From 730194023867ade15ab0b729ac302f5399ef13fb Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Thu, 10 Mar 2016 01:28:45 -0800 Subject: [PATCH 13/44] Buffs the nutrition pump to work for repeatable limb regrowth --- code/modules/surgery/organs/augments_internal.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/surgery/organs/augments_internal.dm b/code/modules/surgery/organs/augments_internal.dm index 7e7eaf75ff9..1e5e3eaceb7 100644 --- a/code/modules/surgery/organs/augments_internal.dm +++ b/code/modules/surgery/organs/augments_internal.dm @@ -188,7 +188,7 @@ desc = "This implant will synthesize and pump into your bloodstream a small amount of nutriment when you are hungry." icon_state = "chest_implant" implant_color = "#006607" - hunger_threshold = 250 + hunger_threshold = 300 poison_amount = 10 origin_tech = "materials=5;programming=3;biotech=5" From bf74e65b80a632d791b975d54f80c5d9b0b8c761 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Thu, 10 Mar 2016 06:09:36 -0500 Subject: [PATCH 14/44] Slot Machine Update --- code/game/machinery/slotmachine.dm | 58 ++++++++++++++++-------- sound/goonstation/misc/airraid_loop.ogg | Bin 0 -> 29849 bytes sound/goonstation/misc/bell.ogg | Bin 0 -> 26609 bytes sound/goonstation/misc/klaxon.ogg | Bin 0 -> 20290 bytes 4 files changed, 38 insertions(+), 20 deletions(-) create mode 100644 sound/goonstation/misc/airraid_loop.ogg create mode 100644 sound/goonstation/misc/bell.ogg create mode 100644 sound/goonstation/misc/klaxon.ogg diff --git a/code/game/machinery/slotmachine.dm b/code/game/machinery/slotmachine.dm index 0c2894ff960..dd8060ef827 100644 --- a/code/game/machinery/slotmachine.dm +++ b/code/game/machinery/slotmachine.dm @@ -47,37 +47,55 @@ var/datum/announcement/minor/slotmachine_announcement = new(do_log = 0) if(operation == 1) // Play if (working == 1) return - if (!account || account.money < 5) + if (!account || account.money < 10) return - if(!account.charge(5, transaction_purpose = "Bet", dest_name = name)) + if(!account.charge(10, transaction_purpose = "Bet", dest_name = name)) return plays += 1 working = 1 icon_state = "slots-on" - var/roll = rand(1,10000) + var/roll = rand(1,1350) playsound(src.loc, 'sound/machines/ding.ogg', 50, 1) - spawn(30) + spawn(25) if (roll == 1) - visible_message("[src] says, 'JACKPOT! [usr.name] has won two hundred and fifty thousand credits!'") - slotmachine_announcement.Announce("Congratulations to [usr.name] on winning the jackpot of two hundred and fifty thousand credits!", "Jackpot Winner") - result = "JACKPOT! You win two hundred and fifty thousand credits!" + visible_message("[src] says, 'JACKPOT! [usr.name] has won a MILLION CREDITS!'") + slotmachine_announcement.Announce("Congratulations to [usr.name] on winning the Jackpot of ONE MILLION CREDITS!", "Jackpot Winner") + result = "JACKPOT! You win one million credits!" resultlvl = "highlight" - win_money(250000, 'sound/effects/engine_alert2.ogg') - else if (roll > 1 && roll <= 10) - visible_message("[src] says, 'Big Winner! [usr.name] has won five thousand credits!'") - result = "Big Winner! You win five thousand credits!" + win_money(1000000, 'sound/goonstation/misc/airraid_loop.ogg') + else if (roll > 1 && roll <= 5) + visible_message("[src] says, 'Big Winner! [usr.name] has won a hundred thousand credits!'") + slotmachine_announcement.Announce("Congratulations to [usr.name] on winning a hundred thousand credits!", "Big Winner") + result = "Big Winner! You win a hundred thousand credits!" resultlvl = "good" - win_money(5000) - else if (roll > 10 && roll <= 100) - visible_message("[src] says, 'Winner! [usr.name] has won five hundred credits!'") - result = "You win five hundred credits!" + win_money(100000, 'sound/goonstation/misc/klaxon.ogg') + else if (roll > 5 && roll <= 25) + visible_message("[src] says, 'Big Winner! [usr.name] has won ten thousand credits!'") + result = "You win ten thousand credits!" resultlvl = "good" - win_money(500) - else if (roll > 100 && roll <= 1000) - result = "You win 5 credits!" + win_money(10000, 'sound/goonstation/misc/klaxon.ogg') + else if (roll > 25 && roll <= 50) + visible_message("[src] says, 'Winner! [usr.name] has won a thousand credits!'") + result = "You win a thousand credits!" resultlvl = "good" - win_money(5) + win_money(1000, 'sound/goonstation/misc/bell.ogg') + else if (roll > 50 && roll <= 100) + visible_message("[src] says, 'Winner! [usr.name] has won a hundred credits!'") + result = "You win a hundred credits!" + resultlvl = "good" + win_money(100, 'sound/goonstation/misc/bell.ogg') + else if (roll > 100 && roll <= 200) + visible_message("[src] says, 'Winner! [usr.name] has won fifty credits!'") + result = "You win fifty credits!" + resultlvl = "good" + win_money(50) + else if (roll > 200 && roll <= 500) + visible_message("[src] says, 'Winner! [usr.name] has won ten credits!'") + result = "You win ten credits!" + resultlvl = "good" + win_money(10) else + visible_message("[src] says, 'No Luck!'") result = "No luck!" resultlvl = "average" working = 0 @@ -85,7 +103,7 @@ var/datum/announcement/minor/slotmachine_announcement = new(do_log = 0) /obj/machinery/slot_machine/proc/win_money(amt, sound='sound/machines/ping.ogg') if(sound) - playsound(loc, sound, 50) + playsound(loc, sound, 55, 1) if(!account) return diff --git a/sound/goonstation/misc/airraid_loop.ogg b/sound/goonstation/misc/airraid_loop.ogg new file mode 100644 index 0000000000000000000000000000000000000000..820eaccf91d73c3f8761aefec59247b1e2326a1b GIT binary patch literal 29849 zcmce;c|28b)Hl5L861vzmZ?)@PLxccqk$3;4jB$d@=J=ykYw1RGzgU`iBnRd&|pk# zDVkFfMVwMmNs17~d!2sw{oeO;Kkw)He4c;a^VxRS-upWHtZVJ>TGw~2b?qFtZF2z< z{EyGzv)uxiDi*bC_m=J9{A<{n%V;0>Uw`*8NB%eemk)-HPN!Fti`&lq_s??jzxOdg zm#rOFF#LA8M!GS!EN6HvH83zXG+1iHW@v5k3lG@J*cHOqygf8f-*NXg&2Yxf?OWXb zN}$dE8I1bxZRW39?S_5{0~voe?SD==pYS>|FFe<9+dTglo<|lX%dFBW4tMh^)2_<% zd{B2cKm1A77H93Xr<|QoKYwR!fq5=cUfUO-ezddUsCA{d+cU_lIzRkMmh(pK^9nA9 z?1plk?fI=Ec0>8$?PeeIT~h4?muGpp+&4Us>9s*SV&f{>rQ|2h8?HuV*wGe6IGOJ- z%aU@@KI8AUDyXhl+2z5N3%TK`iR~FIzMKS8Lh%|MoB$*ap4B=+Nb<^3kJ`gL@miJ%Jc4?+KpNZ&gUBro#B7u)?`8Wh*=kEohjy>>0`R85vxC5UeFch@+n z`d5EAfI+K*f2#H0E91bz&s=f8cnA2 z5yMu6@F!;fIZOunL1vhYZJ6@?+Y$T1VdTPoGd~q?A=eOrw@W{J>_Wu`~;$MJg062vyx1sGg8kMr`zuHB% zKmsQbG*a6WdiPHlJ-lY*Ft%n>ghQthyMyxI9{~C~{~0)R7@_^Y4ciX>;s0^ddw7k% zA;m62RtJPXnzQZVqRb#Y?Wh;d zsm0X@EhJ_1r_ld9dO5OL5@KqWlQdN4oPS!Xae!pZKA zLU@{4Nq&;^Qq8O+Cp*nE065UlpYYlC3|Wks54iOS3&$Tun=*|YW!Abxus0d8x_(%6 zjN7}gET6fuTv!3GTv_hb7Eg^VU0hjDjaZ$otXIoftf;lD&VUY9B)a-0D)?0w+e0pX z6D#12E8EM2)%B9?@iNXmJI?oq1?#7MN2Fy(1iLdb*ejCVGvVqI<TSfCPHbj2Rh@1zQ}UVjzm{qMX)`L*{p2VtIkOG zs7Q3!k2-fbbo~tWsyXJH9sI_G-8I4Tn22LV1^d2?9LSA)Rb$Ee8RwFHpg)4`TNC$Y z-akEZ2cJd8`DO+CZVq@g8Ob(#T_2)c^o8D}bMtmZ{WbmJ#*KB6US>W$A0Jj9 zMfGnRZr!MWybTXc2%J^(w2Zc{1qn^y99Q3zsrOK3(L*VOW;V;np)1SivC;C!%UBL$ z_MJv7mazjXYq7&JhsPbRE@MU=MyyS44xO2-4x?c7V7<`QYPS2!$gZq_9wP^LW0p%c z>L1{a9(Y!OS2q7vPhA`yk0G$IJdDw(&>`!wv_qHlS{BQ}y^7VD74UG(o+Z7!YkZ9h z@+&u3oqqwGd+8Kb!qVHp+K04k?F?WX=xolK-b?QBVC9X@`H+#J8O+ zb`QF>yiG@DKqo7*%ZT+VC)lGV;ML1GzI-h9D`R$Nb$~~8q(@HNn=CdvDiVQ~Rn7Oa zeo?_5(d?d=NSZj7Tilz8xU-AP8g&6U1O^Nud8t$2Jv(5~(PKYoILI)fBUX`Yqdk~^ z@`Rbdf@IgFgN$S+=RxIUXXnrP$oTEfX1Y2DEzWdyw!4C+d#ArxNxE?79UM4#nF7uj zh@|;@6l}{YE&YGk=14g_f$vvPOJPpIV>U0z~g8gHxhtnOeTgF{+&6H7U3Uz(}>e$4JhwUboNX3DEhT^o|g~AtyWS;uo9HF4Gz9PVjesTYq=1|Lfs@UHJcQeb)MK-~HdaTsr^1 zpZo8>_CK%wzf%2s!R~(%?SFRuzmxR;?^|X4pT#4=`Gv}GUe#WU{GV_F|4e7P`B47q zR6{fgZZton5T0tLed$J~8Eru(fAHZ?tObiRGd({lC!cWMu(t!jPkyyMDUg&midSGjqmE^hVQfq|*07;tIE zm(xO>jpR1}H4KDtLmTbZ{3HqUqzvaL*0cr50t+tWhl`mH$@o7)G9*jrAa*2%DBIR2 zW;B&#sa5yURdks7{4Zm(6Dm&nOX!^J1kWZrp&%fWf0&8zwg7e3KAY*hN^ns!AAT|b zoB!HV%V$B&wf>2JRe&S>2An;Zp@(PqXL$Q7B)P6RpXo2Qvn~Im+nNuVE*sa_sstR` zXJ|9zig3*k1VICgA|Ob&Ss*CUia@?#>1uTuw`Nk((!kJM8i-3sN@2_``_FYA5N^K< z`t1j9DogBV2<~U-DdHq`B2l`RC$wvnViHPHS-V~Z-4adqB!~r2mSL`06D}(!uP{$h zNm)hpU*biD`2cM+3CU;P2kugB4z>!|rXV}~kB@`|qS5Gs7$rzZ{2Q3zH~yabyW?}$ zJ))Vy3JcP+v$+?q)|cPBPY`W)Z{MqLs%>j~*xvhYpFGaZr~Iq2H98)@WmRQH(rO$URJ?Va)KsHjFtI*WklBc;>(xW#Us)khSi! zUy)uq ztX102yiQt#l7qzTf2+TO3hhxo)O8LR5f}Tl zz}Ragn_`~+&aX0l>V0lO{TW9Z_)iXfBEzGn)VqV)qhWccCh_KG$HFD+Md8(B1>tuM zK3A+k{|tv|(DAk#?`W3Ya!qWvHWb*9rcPReG-w!s>f^@n=qWGC^Wf?Fs4fK|KZ@PF z?_eKVQPxj~l8=2tpk-?RK$5~_><5rpoa%DSKhyFu7x2n&;5y@qwf-toXEa_fT$vmm z+>(BMJ}4N|iI_j)bqV)q`fT%`;|1aj*Hp=^cRE|k`q{ee=@lCdpfAJ-^3^I#4k+HZ zzaVNi-~zR$U|J9^GHFa-XpaOdB-QWHP?qzpCY`Z7(M`r{SM-dJyq&#_;a))uSboIw zq{2Z73T6wrE;s*BfY~=GCbqkR1(}hr>*BAdo>TW*wkK`y>%)b6cAf2a6lalB&HQ0= zTwmDAl{*`+P(D?sNEY;_kvKu@`js_maZo4&{=xpfQH#~PY!EU^+vykL)TTCD+$9QaMuTyTTYS>Nb)c6%uc*Nb}<-!;J zUXbHlI``jf{Jml|?~0w~>B-t6;(L5&uM0y}r$ZKl_P4tXLyyeeRD{})s_s3lKA&~I zVdBIdd^V8hPv(*}NLnCM35<5s6H_NaV{H7ZnuK#pS>@@*6&_~C^yN~|t@`$6;!Beh zUUa=g^u?5f)NemG<%1Ui7Yz7WP?>Y&=Ukyy?8^(B;``5c?;MKXVfxU$rT411%LkXi z9E)PCyIXI#ts@x=dv21ZBkT9=_D6pg8L!rJoZ*2paZe72yT;blhtaTTUSsS&57O`L zAyPCvyXlc7&;I9+aHRt2av>+IyP+#VrhCDF9?>_COI9`TBiVx>E^riZYQfIC0Wn?&8+A9W$dwUp?j-*8e@}%5XBtr(Q9dU0bT%L}H#= zhBpSM`8W7G#;<~X<~n$CGnpa_V%hNVLpzq?gbP3(1*e!7>}*^;H+3;8z^iHVt$$k1 z&aAXqb~o17a9M&l5oOf2`PCyy(jVJ+fibIBEDUU>C*E&KRTRH_%vbo$yo&GYSGD_t zRDLfWI_W%Au2IUVJ$65L^xNJ1L3*f5KTL0%S7hF*Wo2Q$9#Zu*XMRmbyI~AAr3 z0CfpmU=)NanV1Cwn-#X|^_@+s7xc0^ykl#Bf3`xZ9X)mWtz}5x7OdAeiK<(793Nh@ z?W5M|_j7YUTM82wiQy^x=-Xt^ZBVip8!9KnT0tV{A;Z7C)Z)PgF^Cz|-(&AowKeql z#AMfAIxaa-Fc6c!qf=W*!7=Gib)ngx!KzZ7?z$yLfrcz+mVv5DecRr+z0XPa&I~%k zsCeWT@*mxwAIutPy~WNy<#>%|X(TQfl(k~sXPD6UolP}R0G)It5JZlHqXcxOFc*^% zhIspOtGVw>o}6oVC|{^)wpeX=F50Lx_shOFBVlBoljuhE8^UcbUhaJ4%1EY@;=Yh? z#oRb61M2rKQ!E~8^1P#Cu6CVxdVEig{h5{h=Z_V{-V#t)aqEK%2`a5zo6~;NVMyY8 zj5-)bz2AH7$Kd-NW_V=4x5@6wbXjhj|4>_L+r+-+WuHt~Yq3Ms=>=sF+CSVwqfNaD z*BbgkV>|q|6Rq_8ata%e#WvnhF?J=x9-KmAU=f_RSO)VX6nMv%EScLa`@yx)$MN;9 zy}Lx`MIPPzIz4&e3wN`oT z{jX1wa0{O?+qEIgB1-V`%>Kxm;ydSb&#uPjr6kd8=2@B6?(g9`;l>jJJvxNA4#%nh zwAwM8V$VyoA@MMCTx?1R=|7&gWKN;`G=tFuHT`U^HJ33+|r|Fw7Mbd~ut zo8H##;N4JH7-d=K2D~EG)cKFD49sfHURD_}aS@;Q=FGQ;mMXqg%kf92xxMe_j+CJj5}Z7Bs9dI)H6in;i{9_rHD{bi}R5g!UvDJn7vBf))(OAjmR8 zAj3HYR(g#|@sqobT>g{R|6<4ap3-MI3X8R4&h2vSJOw6FSZyy6$UL3IhH_YX;vbvL zgN}=)E}z}-^U?u9hOWr>Gv!Vhwxw$S%#(>8+@PsS+laW^$h(ibzTX#p5L|8EFwb=5 z`1j=!@cd;#VcP8$iYN|!ULTAHCdStBw6y5VJlU|&=@^5;Hy6CgAqky7gNUoi4&Q9s z`xS0oOQhz^OWc^Qy^i{5!8RDch_8)OJPnvCxx5ME*fTLHb!5-cLr@7m7V+)#=bQru zR1071kkc<~(Ojyi9TR1h+cikZ)x^`1l>)I)->pErd}Q=dJl=>su*aZ^oB_lxdf_KJ zJ}YZO$n24HUP1*3k5(Ib=3T4M;oF&Mu*cR6KW6n={%T!dNn{cx`O_P$@luDm@(=gzFQuVYXgC0(473em?K3ie= zx>$Y+nBKhwrVR}s<&?oB^RQ$pP7}A%i$5nmCm`{~B;i$qO^kBz&TBS{?>5vuKH)-o zL|wCTpHy3)+?<99_ofR8K{Bl! zWaOMc7#eprO2^OG66enRD*I|PTeY3;Y^!~@VdmD3=q7S6P7U>TP=vHbhiG-mA0NMl zmxe{ajIN|?r#oF#ZhO8X1_L~$OY`o%jucO`?(+1pnqeK33bf<$DSnqDf; zBM%)5{~o*IjaACzH+^HiZ zV<)NC&5Gc4U(5>Y#oRHWP{fZw4#}ogIuU>D$1JH_#3VY@q0M` zmgecGrp4r8%f7w8=5F>cr&(4`F8+NHxzx;_m5uM;t=|NP=E%Y+^OO?H^3>cKH8_J< zcVobt&>V`hyfY%!va+xb^s5o8oaOlXs#!qD^IOF;LNdD)9AZOsICv9w0igQIy z;?0UP;JEL4!rb`>KU~s8V7m74KXqNK%A6BH*Yo<`Y#}o=b)!<*E7$s-xmvDIJaUxdVN?R|}Tnv2T{@7}N8(aViaaX(3(vQ-s zAIfq9;;3n3-dJo#;Wi=A9XvrH?zfx~ubfqKJ!UeR=olR@6NQ&e`OCsKIQYXf)C9b! zu{2DO3xPPbJr@XayhZ%+oP@J^GwenK+u38}cZt7Cww@Ze;6cy1=_Fq`|#0EZomNq!S^bI)k?chADYG1h- zQP^6Q=q&V$RuX_;4XsdoU2vGUgEj|REs!_ZSOZhfzK2vomIkzod&7^u72Qo?}PUsCMRq!P5~#$p6rd zal0m2It=Ta<%Enu%&V&{Clv}6=WIFSVFpq+_nfU3wW({V2MQN%WF z-$Ogp-`TaSkAHFP(KFV=!zKjz5Jer2C{_Z|c$Yt3A(NS4P$X#O>B347CY{C>I#xFzJd5G3eU^^!mTVC4}!a{t$I%B+?_ z*A=1V1jj!Gqd?oGpf^N;-ufpcCy{AHLxdva1_H*UY5YfuW9z@k5%k+YMt^3DUUkXc zZM@yodZ*@kWn*pA%^UY>>TlGvRn}W6Hwwr6GRcUxY7_r_uPN&I$%ncJN=M(vTI%=j z0C9swyewE%r3)HU0Zk@S0Jk{)pVr|UJDOhz%H|6Gm>GK$s{eGQ81PgL49SN?E}DYs z4msp@!ZRgDC7x8vN1@pWYO5z61qEe4e}{Pfy=cXE7sz76|4i2SOEF6eHu{acuoW3@ zw1y@(-?FCy5R-awN@l*LETMbAfmYdrm$}fsVNRBl-1(B2>4)95-tTm=sgszf46KvL zh4$@W&j+M#_*nX#7h@Aks%QuG@Hjfy@4HCP)~w_Jt-P~<@+wEAenKguWAb4`o!BC+n%;9vpS|y zf;nleOi$@oeg+Ydv9g@W9G4@|szr)W_7$$N#%W4nhtCT_RG-P$GE+ z^R;C{zlDAq{;^Yl;~T9wHVPh;NjB=aILg&@2ShGAv+?>Bi)hL?kmm$d}Pb1GjIDe zL2QuTZW+14x@CO^uJ$6bALFI6A-_7|mcWo&??GvesTG>?M7m)VscK;Vz%qbgAp^_; z#Yt#JA=c19g$}BG5Y4o0)lkYT%#@0+yS+O@LG-BE$ggwrrE~pByjp1xHM#wTT|=?m zw*94G;$ddOxw=Wcy-`@kC#fWGJurrpzsP@*^g8xQ_>J%{k+5R&r)U0Pv}Muj;oc&9 zNvx)6LTb9h+S6nVGhxDkzecc?A{HijtGy`sZ(2@bFshcr z=DNRQ5NzU))@dSozGM*m*zI9bX|xqKnt`4ML{lYzLyE#Un2+8p(_~H|JL20t-%zt( zTW3S4HhVo{YFA!T+f7m>j3p5LaQSegs$XhRE;&&kt@y?f`oX%Na|KW5l56cFFrbcC z`(i;)R*F#J=d8q@^!q7R*)|X&5xFqjQ`#u6HSb|sjqD)B|~@d@Fh8bdtIBT z^Cn-P6vfRpn81Py&y`~LkENLE!^J-~R3N(#TX4S7i`5%!4a}9PqsL8RcKcHCj3|}F z&MQ8!iZld@L-k}B9l~iq-5d?;W|hjLCi+%h*iwJ9e@sB7gHkrvSJIM-Y32>A~3rxaiHoxoi@ze50cT;F+x8i9XNu02&GkYQDn4kVGc_ z91y5}U{HBcU-^bqzTjBwF9i#OR%TQTIYWLfOwrV@g{{)I_YqVN$bmRx0p?T*6a#EF zwLI$g4-<`vnfFI8yPa0q-I-)te8jBbkJSxQG-Tq^aNbM;>`7sM`^^|b)HCPKscKMs zgcdyYcI0Y(<#IQ6&S!!99}$S|qD-l|FGh9!nfa?TR2GBN12MTCtfa(;{y~27;`f&H z3())JB0cC^zX0HmZ<=M){2_z?qLi^F_c}X5I57U)oHQnua*VXJ`2Bv-Mqj50R$uo23pA>X!U5sWHtyrHrC+UFhmdwFm%#5JDyn;) zBSG&ZIdsoqGuFLq!B%vL%3Y$L26tmo@tSC0MxxV)PNKkNr98A2jri3)@pz=*;XYfKsk^*|T}FX)SH6t4Z1BKY}M=gkVYf^yc) z?h<#ylwTFKbWU1{0OyS+mho7fxtx?Xkn5yLpB}nWajkT|C~e%YUJG6f-Nztw%!qsc zanA$KB04^HZ{~f?eSynELi5SSMR^iL<6$an?cX)BYNL-jbk7!_jce$@2wM$UsfLqb z^ODrXJ1yrkS3Y<~X>7M`cEb(Z!R8Wl`$6nT=Snh>n~Mu@Fsc@q}EBY>gW!()eLQ0^C ziJXAn&AfOg4vD7_?L<(R1Z4=Mk%QEYnQEgfe5t)FLvWtFQc30}C93LlkKmDdf-E7F zy9j<~L$W{wDVMTYD@+ZTNfk1C1)Z0CpYf9au?tC7F{+Od!D1*lFjN%)hJDv&=th+f zSYPJ&C22g!!5z)`4D91xE3=7rWrEQyO5cBKCZ4)Me?Q==mbe$DD$ajBgRN7bPYHRJmTLft&Wy=bL%$=r}fzS*|;)OtN4tWSvs9dtT1c=Vg{Nbq1lJ!O^;+)s4 zTaj8(yz`Z;>Xg^$xZEgsFChvj#I`t+pbGAQuP0sxNAXO}A8M>8Nykh#rhn>fDM3mv zEgFEI2jA0y^N|Nc^({3pdF_aV^&M0e`~C?(o>SA6U<{B}lyK}y!WALdIp<*?AuAsM zsj5?2N>bBkzL`nd1moYANx?t+3O42u-ZcND9G;k|15Z3#zmv>d2|Uw}Tr8uFY1y7g z!*Q^1Ak-JZW`4w99yRqN{kT)ZT#shJjc>bSzho;^NsjVj6uqkwX^e7;1&L@=K`4s@ z1EG7@m;-_44!8C*hFIj5$O`&Z!~)_kia>ILpbGGEo6sV(uM${EfC)PPFej}wUqB?) z-B^FxL`( zz#`~G&Z7cjLJwvj#8aV}D1x$Uu}ub;Uq(|iQ)nWW9-c{p5}pf|{RxF_FdAj@d<%Wk zLk;A1qJO*E(aX9DZ}|xPbduzNui#!3>p->JvUtl63y{S;gj-E+_`?Dz;)@Jt8(eJO zPT|CVl_Y*~Dx|P&wSu*@p3v8J#QGcHtr0dKMK}}J^l$;7s<#s;WE zZ)N(E9wkF5_>%Py%U??BmFCW^?iHH{Z0Z*vl822c0=vRSN|_40wo&Ipg6ME{V7CJ$?0 z#3b?Fkl_?i33Ys)p4fvZDu`-I>YQED@Mmw>*!FCsXX+jS<;{ln?!f$kY}9-G*~G3Z zGU#EH%v1dR*mnz6dItYKpMMANy3>l# z+IpE1%PAq2n--0)V^;JEaK0(_yf@H-+RR!}F$8ulh%(lL+z`r@qRDgI(fRwIv|VA_ zsw#BbzotLSJ4dT%YUv}X0-L0Y@x(y_Ukn;pEUh;Xn4iu9d_cv+RSN~NcFC=A*v?u6 z2d4%0vM_(41BQ?7r2|n_2elS#zVNqaA6S52Ad=re81hg@)cH$KrzaHcl&yKX37b_{ zUH0Czi^gyx86;ean5N(=bAC)Vp~Y$2-(;$Zal(c1mFrs8>xPQrV}49j-ndOdWu$dz zGKwENoxqTqo1D^^L6Z^Ta`;&uDM^YC8YT_O)xq4JRH85W2*c$wRiz*zJ7g=USol{V zKQdM2342nt00vW0pfL+huEx>ZktI|+zy2giL!qPLuQ*AA4Q&>8dTs%}FLXyI`A!9L z89YL+dHP~5{_FNWSh+qEjc??s5S0G3TnMRGv3hlmxSNpDPt#-A>G?3dJarH6Z9Ys{ z3xcY}I$(e{hBDI~DG8bO4Rd2TSKQ)#kH$LN1j{H0%t;T*@=?MOfIe-E>&@MOuLoa1 zQUgWN?xNm?qpnb2UGUBGMWG(zS);d(=`br0NYpgQAaP9}3!Jn@N4R=p0{){MAs%>l z=oDf|i$E+po1 zf|5(Aq@w5woec~tCJ zI-_LnZU5yXW?t7mT__5WiLR{JKl7AO_Mt)_37@2hAl2_zd4vT<5IbmOg#1(7CM3=|iuQ-S+A93~{RP=wDGv2H~%tBT~94V%tWU4|Y(i6ny4Rd{`D z^3J)k1Y?X+d1H7hUeTm_13n77Q$g+VtTUKOreI#;uII=yCh+8i#}F9|@SelCm@pIo z2cZSo=BVSsV>UAycY}&@mL@pc1h`rr`X)O*AEz)@xCZfU)|)S-9v$fzeuoa;Je@*@izhcE}F4tju4eQgT3tkC+dx zLvMDGwI1j|;IB)kT-=2Od1oiX1sEe8!uC|0wF9`5&(UMa*~Y8EJV`xvoc$F9jmw59 zf;ZxwI{?w$jh;@RN>Cy=|FN1KSLQ?U-w!esP?}}O%hxvCAnNL>%WvMQYiM{{eXX9T zxmtg%Wj4QYS;DUs*Y6ZJT-UtdZJ+6E%Qp;n>p7E9GFLbn2qh-T8@vIFsf3b5%#_M-quaf2(1rF1I?;iu?j1vP<_)wy48oKtS40dppi3}%a24+puzCdm zeBPny;Br9QCr+dnhR=K?*zFD zQ0ed5J((!!un)K>q61VP-UPF;@t<>=)bi$b`tE)jM6-IoKGlw;AcF#r-X+Kjg-C&_ z1L+X6c{NI@NW_S?!-FtAsk2*17Ml}MGBNZ#4PtINBiVFF;Ce+Km<{u`FJg9-@Rb%F zx$CkF1=kq>Tt!XtMd(b@_~e}UQoL4UdZ5Of_Yq&ea-MvJ7ahOxQx|b9xI|;p;cKTly`L!24e0zvCV$wEq$(vy|wefoV^v%Snr{A~l z+w$_RpuSO%oPsM_Z&FX$iQzrQpnMWW61R$h7H<(jQrxt4%_gkfT8UqY3Ek#K^lV3s z1UWR_{vB? zrNmx(@iA36G{?F^R2+}$fST{7R4%K*o$$ea=2Am*dWAT~a$6SibWWY7bAg*ACWV8l zD)jAa6mFWLC9WxsduVy}@!gWb%uVHVzSrmMfC>^gLc6Mx6Um-5#2jr$N|Z4_^G}cB z*>e&@){e?ZT=(e;xa)}kKg&k(e$F>-*y7AW77}-)-5E<3$hYSenPh z?L=s?0J#M7{u7RmOy-wCDV4WZI+WzJr|uvPCI%52m9Ac2xd>GYHYC^CO4V-n9uZI| zf>D?JKh18SG0j5iqzg02aui$u#U_ZN3CB&*79O*m$+Rp}@lB1L$7cCC3G%SfAVLnJ zMZpJg1S(+}YDfd~@r9TW_mKZ3R|zUNslXIrh$)PPe5pp}%3oVDeWZdM-D8c0#fw7I z7K{sUzn%wGSy`z0nEdq4yiRGcW0t1{xODE!Q!0b>?a@QwXf_sBKmDc)!fsY2?}xBxLukU_d{XZ%=A0yxhV#a+Ap`cqzm zj5FO$!4<_()qqwlVfZa_45on@iNv5dqzh>6ud0n#EsAd6fEI3p#42)$rh*KVY(_S@ zJkJTnFCwAw3XLmuNQ5gn!#AC==&zRmPO24c_Aw>|6+d;q8)2Q zUiABfBlY{2Uo981+LWH_E)A;UI8jDnC73{Z;p!Q%s?L}9{z9SmpHnyF#!Qgxcd{L2E9em0GE0uAqV@Rz|RwC|pa zAcBhtf)u3^A}qjsHZ}g}>853+b2s)(T-IZsbr4VWEH&%ac{S&iL}T`Y3?P@N!a%Gn z;_!-aV1B*@atyn0Yche;Wk;PJTxb2BLDFcwlvKe3_|q&Zf9<)a!hb&jkrr<9X$&~~ zcPxg{Rmxo8JLhtjNz)wqR1{Q-7>JFC6gY2|Wj>Co1A{y@yyCXDX?fxoe7-}7kODRE z@O{6Q)s#RG!YM{5E6zZHhj-(k_27;l5*|4} zW^f#-l0efiajR}JO2^a_T}Ly?`HW|>#Lc4!`2w30zHB}JSV{b#h$|_n-BmVGYngy4 zjoH-u;TLcUg-^rqhg1F*>mjtRRpZenJggTs-kyR`JF32pUx6Oht_JuTtes&58X8TN znG8c5>JubdX(FT@L2@JUr_IDj%ppFhG*DO)i>UFp3RBs{+B{O_34G^%G?90!>~H>Y zH-J=LL57>(ywxyzsCPBxbxV4hK$IX51<9L$_Y3e_WrWLa(|z;Co8N8)&13#Ba{5>^ zRapimc4L=mDl!BmLlLC->FWfPzLpD!^Gnk^xIxl$XT&jj(kf(*R3?Vg-~~Ao+`(%L z0!((FFo&e|xLW4yQi{rD0-?Iy%nH+biBdA?!~9k40O=`+E#GOQ#&L#sD6C_BWqRt^9rI(#fSb8a8iEr$-s<+YyqXwR_ zP?U|+h&YVzP)e{8fn3U{o$^N@o}a|2P7h?6B;&&+?PRJx67x7~GyZxta(`&XmUyiO z-|HFZtdz0?ii{dhzHqn?OasJ*nIt;6`E28L>K}t2OI=>96cB-#e~fU9Sg|6S>w7`| z1d(Ih>nxxZUKc*5pKFWGXTd@9U#j7HwVnkK~5FiNLpO1z#{&8 zN`m1<&zJK3x`w2cKknE(+-#tQ&^|54C8ODsX-Sa0p}{$3s~EB6({d&`CJ;aH1j%20 zVbdl`Ogni7$(nzKO8l-w*hhnii6iOHEJAJ_D2{Q6e#A(8UT+9a^-f?XDZ`Wl$h5`4 zB0B3p9<6oof`q5yb{tsu8Wn@gr*>u|eln-rQXh##h*M=@5Ga86zS>(Q?sU#FzrjkFf& zqFmEgUIINDb_O%$A({jlh#H_OI~_fagB!&`?!n8qCJ-<4XS)U zQfaA7u)y|JC=@=}m!B&AVB4t6F$dhvb< zLFMr~h-`yR2TXrPEEq3P16b>ZY!mqy$e~O|5=&46a7X!98z{ta4}h$1Qk=)Z+`7FB z%(wzv0g<%E3o!iwuGs;zvCJG`!b%bv@TG#ps`HNcKi&*?8=68SiUcX80v3cj0Wp0J`S8$o3eSS?dW;OCW6>({t(_k~5g0EV ztvJW&&d{AyZl?#=R>!yUrna2K?cfwDblOl1w)@Z!yDzj6gV<~;3_LRl#?379DF%TY zhABCkHoY zVMxG2e%|7u&xyMh%{nB}a4DqtE@AkIH-bJGhnbEl^6_0JsY7SFb4@!dKJne;@J1~C zGkV8|8I1TjTF#ndC4q3nbffHvbE9!-7!-UHMJ0;Xxl#e(&33GPTPTD?-n-q2>zg=| z0)eFkJv2~~#)#Z)ufp31Hzxj&;zre{83YO9;=f6nlCV!m52ywU&SLgJZ$voxJ}xdG zHyH1}&rPW>G4fK;t^>50!ozcs&14Qgqf{UTcEn5Y#@1z8pt@pZH(mq6rqx#vlc6-= zm%ppsS#k%d9Lpw+uTzu({5Fa(w$DgH|6_jmd0YBy5%Vr`@c^z8l1h8Xc&IP%C@S*= z2o>la&?V!AAGl-T7Q!|9STzQ$@rO@+_iQ6uRP3Dok3oe%^D|aICG+-uo)MFhG6vCr38Ywoy-m~(2EAe zb`RrC6l>Cu>F#gVO5e+nNH4mn(L+m-Mb02kZne!7_|ygeVVqfwUVO+nUXqon>*V# zF9xkP8DKaTg)L$|4eYa;QN7pKYSmz(7A;oU)4}^ zue_=3W?ggL!}_}Vma@9~>o=P!5TU$}IdFtV0<>cw!%{ywI^uBeL! zbXz;QZax4nX#6TBfN8}21TE~HAh28v0d(?hlCY>d>nW?5 zi)<(yaUdi+>PV-{Y4{ovz8`Qg(z)oD#P29(Ops<}A? zq+a=UD&H(ZUJ8%+H`(XiHR%iZ_wu_^x{@O?=eXaHZFGP(e29Q7} zC|Z^;&|6B7x=N8&VsewO#yk2oTF-TVAL2gpiJrVUP5k@evuc zo;)s!FF!y?kgRDb#5{llt`>TDOQs+&kD&-#qXT>3izFs$Hoe?T{7FJhh`ztNX2h1F zRo99hgzXD+s61hskyF{UwOXg@%LjaW0)wGqYQ z?cD>UJ0(x6TV95z0MD6f)n^RtVIHZ2CoLCtt1cV;op6h|taDpnP5lm1$&ItXNnd#p z{dW<)WX?M)LW|eP`+@1Gh!B5-c*D>9J93bxHb)fP9#uiO{In9%y5^;|S8jbd(|PdL zv+%LwoBmD9C;}CHmOulUg7}!F(~nRx0`s((52$lpTDp79+7bRDk`K;CuBOO*TlnWXkvlgx=4u|S~(`D9rh z9xucZrV$-|aXt_jDUI=VY-EEe78SxP7OWvCwNDm+jnK&3nTc+zn<6;n1jz|7T!6vc zPvc`fW@bgn)RF;qlv~^f(%0%;g7R^>QlbKYGF!W|Z=pJf2_6So5)N-f;BPc^a zXBa&XouBE>uVV9>wYb-U5vkX^f@a@2fZ{&M5k(Bdf3)tWK(rI!VYeDRN5`6k)ybUr zi_*ZACy&RLzM)L!CDjN_pCymn&u;}zdk8!#Gw>%y6BRWGUIYlxtro@}W|D{^U~a=S zfWp^w%r9E=)UE-xTbW9VLi1W%@4pd9JwK21m4Z^*nQ#&)V&W*4(-(}!D)A!wEE|dB z2Q<5Uq)$#Pg)2Zo(YA`cG!SoUQ2H0ms(6M{qYaV6w^-P8OZM7@dXioa35*MM&g@?h z8m_fvBHOQE`{bqMzM= z1aX=KK~beJA%XK4fQttse1>vdx{d}>%s;m0+J z&G;I7ym^I+>Cq*Nxv!s7fYJ^Ok5NDYg`xx$ppy3QAL$ZO$9{x#K3F|}qBp{|wT0YY zdVY>J3bpPeG<*7Vk(riER3GMCO}9WYjyJC|%PTSxMY-x}r_tSkmMxJ;wvr9x_5zfi zG0?CDX8M?i>Js-Ad zK2Rcqu3+yl)4%hCSCA0xQSo(hHL*EovWoiNcNU!p5}Va|l|YMz63PS>Y8rtXfmI$xL7x4(%pz}4PeiiSPl2=EQRi6nZEuME~c>3UFF1l(7VOkt$yt5fw(bDX|Lk8UH<#LKR}p zHQ58Pw=`BgKfzT5#s&rO=nz7H>3cn<3M~{>5@VK4dE?>BMrBROt|QyA-#p#u=|!@z zGZMXurw$RK9845csUR&5jrQeH)8mfGYl>n&231+lpGdaZZeh_qr~ao26UW_!qA}u& z6z=v6&HLE8X*Q~h86in*lV}W7-hi!O?yvv>$Cq(cEP8^Un>n0rT9$qG+50`bhWCNa3S9;pk=pRi!bQPX8v($;*I6@{nGCXs z;+2bNX=C>24k4<7D6VEAt;?I*wK!*$V(va^e!bqrnplh|i<9rhnidH#1^Kb%Of!so z&Y33A5_^|zkgJ7UWC)LBQR3#*>_D4C-b=fU_6}$IrT1d!zOByo4sL`2hZ5OM!Li zHUqeGg>mWDYpWCmN6{Sz{;{BUPbl%iuw$-v2-3Y^l#fAb$iZ{59p;RJ>4)gw&Z+@N zttL!|X1qyGC0TTcsSW7n?%z&tYQBoz15VJnU?9W=JygYnen<^t>CG-{y|puRXkHhh z{n7=bo9vh@NnwkSi=jmv#zf~z2q0rH@Hdr5u3nD-TxUw~dd)I&j_%dYTz} zvqv$_I;$t;gSP0__oP%QM&81%f5-UUwaN?lCkrSFu!ysOmwrGW7+zx)PlC+wq(~`t zI30C>TX-n2p_NBPhH2=dmH+$xXsXw}Wh;-Ou6qu2$Lp9x14ig#XRy84-tgox|Jhf>h_>FIBAANr%jpFiPo1HRdd5CaeH5RONS@;3xdIfB@Gx=<;$2RzYV#XIks zn$ks_E9((KStQ9Z*0j6&&WS?wa)vp(**;+cps|4J{wyccxx7qP&!@uL(qLMDh+p+Ij$wgOz}~SMx>i2^l+R**cm_Bnoy{fKaq4vQ_r&o09{8!tGn+L{8Sx~M6a zr1DZIi>an06?GSLJ*?oLmOrguclCC6YtBFPY&U<+?9Nzwsv78^3b$Aud556@3anQ# zG&CIBT_E>jhU7Y|69SiwtwU5Ls=!59vEQ^2gpE2m)4Wfzyc}ipL}?q&UqMw##=Lq~ z_eTsccJF#w;^=oe$tHhP8XC{)QQ4InQKQFISPn@HF?Qdt5*tbZxr8UGH1a+?1Khsz zp+G0NTM$4cPf)ax77|%vXdpZ%m_bmIbnC~`e@(yJ7f{DGDL!&SYu4{{Q$yW_lt2xF za)7mhhi$>NDQ{EIHS9V6F@C)cH5~j1FJ>W^_=kY?u$Z)>`IQ zFgy8(II1&~es*P`NP)U2VNog_V}o-FDNd#uzye$bt>!OsP=q-ng>P}LVl~FnRNZ~+z}f|pgm_;#N-Ja~1zwsx0JyJA19I4v z7JmgHy(k+lI9-iHUnVV488bCiNW;EbWvv}5Y!)&;9(KwcwNS&o>s(o1!U7=pP&VE= z(|%SO8*Ke*#RPtkeg+LXKg}MZaB1J|gqPcpfp!{Vdz1cI2hm?3rf@GF{M!T*5ka;M zHYQ<;EZC@g8Iq8E6?QE!U}x0csLBH`0=VbCmxto)m{Q>HL`BhJEaTh-_ms3W3CuIC zC}n0_;Mf|t6JmorRIMohSyni|Nh?ZAmD&>@H89!s(dYt=H(RhpsxCHEls%g(f~w%?oDREiJ zCcLBim<%w~O$jR|VTX8O&~%}Kj1st@3sIjCw&B$skI92Z-%VVnIip=ENI5>H)pDF* zuo)T*m`Xws1}AA>3$Ce#r_`spR5%FX5{s7k{2Ez{R_JX6O~a!+ApSwgf2`;V2$s8| zBgb3$T&v3uPVJ0#|AbW=**}#=XQuCt*M;4bH{DTtl;mT(`o3WytKDf+euF!FAmDkn zo3PnKtRW=6~!TQj??sjLrj+W_)0|9s_kyKD&&i4h#4+L@dE6oNrNz zAfRan5r~hKRU(4btG+h8mXZ85czpFrL@V!ymQB(>zKDqeCv@A);eEiF8bYQ=AVVG3 z`m z8}nx4%@?0OxX6oE%;-#hrmC^ZXq<2KuK`Uwn-M0je%Ee;IO)!f#luvy*+uAd3`_|T z;%#GjIPn$sT6Yfz7vikaWUJscYdgZ$6Uk8*di3{1BT5X2vC)ruNV2`yc`DSD#t)m# z4k;S@ZUWiC@F+u>>24{Q*KL`xkC-Xz)>UV{jcWpL+haFJY^s+jmokMvQTlSaq{(y> zQgwp6kiU+z6h__ycQLpbda}+k2@v>!-XBDOhnAn76`KYZU=R>; zdfjJnKIRAarAhkd#XyRsM5{vb`;S6PBd$vN!O@-1uTB|@@_Ow)x1$;pw#r}`&y}*4 z!gU7(mt9;=Q!#oq+}Q9)=Y4J1fCfq?XB_|f>udB`JJ}UKOD1BQ$e#3`Kh&@3io~+s zh5bkQmQ4xv85EZX+j7EvU-M5nvGr2drt(7}G2mx9&bM=x0b!LX7Tzf}o8}NW=GfCH*9hNz9$LVt1BFW!QI=vWli?>z5A04To2)WfmoaV*V}uqzl&kItr(@lOVLZ(9l$vAPtP`F5 z)BN>^Xl{;^ifn%0Cs8mCwa9pzsWcW_-8_(gD3e~j;w{%FhWW31Caz-g=qjg)5>%CT zCtn7ewsZXlqrAzJm(cje92_{i@3#UwYYXre+q==o;W|T1LkDpPBEkgSlLrEXz0B=7 z@~<%Fm7Siwe&qSLsvUWZ*nbkORkH;R(1e(hfTyW1XmF@evqF+;O=YR?56!+|MMEZ` znd1A%yF#vA01&j1Im1C zXIhMp*Z|LXf#oCkn|9H)i0Z|*a)+%Xiw3B&wnOlz<8TP!Oss^MraGc5V~jpx;>2Y4LX-?Pf6z`~XMKKP?7pgJ%F{IRH1%*V zb-6UraWh4l{qF~g1^15Q1z*vf>lt6aQ@9BYHR+hciQTYO6#9Zi5uPZai}TPPN8xqo zXq4*D2m%+5paCKeg|66sbAS9H@o0?m!Lb^u8hdx0G}KBoJ{MUgO}IDeRSMzr`PN!{ zZ>!heLE&B7RSTv~Xt4It)Yng=$!|16P#bdWPtxaW?7@UsbETA)4ZO%}H<=)5+p_nf zt$hcVLPVMnmuz2}n>jMhNF^gfeR1%lmwm7265^)TBiw!8<6(<*QI{VSJ>PRkeCVXQ zNH6p|@afW$EQ-c{q+xeJhoV$JWSoJGgv8qKv2BTyoN(E%{`tJgM9ODbMN&)>;}*S7 zd~QIvd+AwikyN@j>8p9oN*e{eb(KQ=NAK+`Cz@1&eL5$<3! zxb&?0XiQFC#9J3cZDY=0eKa=YI*H2-B5)hkZ@Qm-AT zHGw<|);}~gr9H@;qAO0ge zoibspZ1KQb1wjkhKgoYjoq&RVucXZ=N22FZJDzh4o9KN|-0Z`uoP3}vDSgxV&{nIM zwjaSjF8N00xI^6;ul=d+cfyx;CQNQoJFKM_7}TtAgni7%8LM9!x(qhBPn>KJ+z3~X zFyppOGxhSofm5^}hLCMlm_=bpv2o%8mFfVU+UQD_#vy~y2d>fBs7T0_#U|2gJ)cF_ zRn$Ab5Ee0KF@aoc&QBDR0|$4ryf+f_C5INMnJ!9Qeh-lLtr2F*lW}tCApncAlWf%m zD7jR?V9lQct-Y`F*BS93Q`Ic-pylejOvM z_S)w`9TYo8okScw?%09$@$WcmWzR7997n-CerO)V_m8dX`ObRncDF2MrGJtKq;;)u z!o5We_2!K=gw9vq_bY#%jhfER@foH@Uh7^8d!bi-BZXsCHVSmbhdadIDC!Ec{6mjV zVzMcaZ~&`_O~bSo@q;9xTAa|Y0|!LAAu4+d8bpz8Io)5|={FKO-ik) ztA9vAOSsa+nV>+V>wV9V7?!87SBQ)?uru5w=wI_2 zBN4-WY!T8;xkFpINKz(eXk4{GtXGjgJP#w^I^v}4*5>`VE&(J}28ET7QcBo_*7|R% zqX|vP&#sl6AQq&=ABcIR^H~cj&ov{YNJzz*5S1@j0L1qN)1nm_DfuU2E@D3 z#B!SK6C8-9B4Awzxyvt(zbQ_G9n?N~$1_%MepCO9InsMxd{E|$oEeDeu1`v~MWM6v zCj$}|gzp&8)b2h`W55fT$(Kg3QiN4|nP`scJagU(@P&nKb}8(r3RBYc3I43@67X1FZr zxZe1-kKULXwy*d-7!CVJ26`w$r&~!?ih2U_XHV#7S#(W&d8f*^lJ=^VA!@pQJNnOq zFUu!wlEZc0>}&aD`y(L}=pI{$`L84$!W~0hfps993QQ$6xPt>G1ISCj|2tFqw z5Ipn*vpi%l#0|CUUF}Ddk&saQ!29-WdX}1dQ|QhHddKXHR&M3*b)l2f$5xxX`O=E8 zyV{PpGmpM{sfWipVZ?ZF%Aob91LZAIyw+oZ-}_n=VUJStFgRGGqnLCgbOl|2ZRe<2pD+Q4{kQUd6kIZu{!T`rQBR((eEr1q z_9m;Xu1x-#z_TUW!QO@5vlk`iBk zr?`H>IvcOcCU>&4PC>yMFPDOQ1uWvdSm8SS)6FG{5t2e@_q{ol&^7Jji+qxasis-w zF6N@A(%0se9;bYA?ojkVlMrqsPg(jmwTr&;nH41J!9efeuh$))6nKSYa_WYtY1%`P zXfRr#D`=L4+NM)rHjn5z^1IDI1yrmuYY-Dx(n>FRb7GMvbL_)bys}S;ESKVMetNY0 z5m|!NxWy#pB2KQLY3iaLxItWfkV}CBXJ|iDk;eaVmvzR4ES_ql605o zq=I-|BO)~j3X$iTC^6mA8n`*?B*K>_rk*=&suUkdmrLQCGjc~cp--h@^{k&PO2XDJ zJ4;ZMEnT+v?_W0=btjRb^jNr|Z_L`ljEU5e+0eJW+V;=LEaX}=tNmpYVd6_@{~ifm zN*2ct-aQ_^&(+%PpDkxF6-N`{Bn_f}vnnxJ4m0Q3=sLfr=_(;vkOdHuX!3%D!5s2> z`E;0vlY8Ult!6fE1`BM=UMD#(npG0fV|e3DSD9k*DMvP$ZTXdu-*cv7FXBSMW$ET6 z@H}!2)#&hck=nl*yD6gQv7M{Uh0&pF&H0>8;!k`s!w65_^#}&NI0u` zvS$C^Ew|2*vu7?%z~Eoc;FW~x@*7w{^#|wM{h@-kPSS}|w^W_4jrDNbpW>VbrVKn} zdd^WdT#(?25J+Jdx}~&VefDF;`=cx%~8 z4OjJB?b6K1#ECIqHH>%X@!Y9YBOF^_E0TK$7{v6wzOhi}nUnRS2`9mF<}bHHx92mP zc=V#d((W^rh{}4ynbL18yjQzOo`}<3vyJ*S+w5d&5e~h7ja7M1k`2OJ^Zsm+O~Ui{ zBg@9r8bt<~o?B5Ts>(WZ30ZPFg?JQl2O!On=T#Piq#FF+=re_t`geZF4r@vb1Yf-N z;rfC1kylEc>cQw4Fl$+L-+&`atY00z6|^G_&Iqv@yszw>I=%zQ70{ z&UyPL^im$mdYWAPik@m{`d3Kd)YzQ_-)v(0T`QE~LTB=U(`1>nM~i8wv}fj;#g~1` z@c2PvS0EiGYW#)u+NW-bc^X^nJzn?qzzqi_Fdkg&2uTOYX}1>fIw&a15(X*G>h~L| zC^pF;?UF_~1J!Avo$9j+zoP5+X*XmgEno3dVHsVtv1`HoB22};Luwn&e#|zB*%Tvc zsp;xko9aP>+3VAqR#n^4P~`&;RNBNm>r(YyRK=gqE~S^2UjD377pC=;i>$dJFZ?7) zM**jP55~4yC2}(Jk0QBoCsXCYil{CZ@ZB(px@(D|0MV(>d?lg1?u*N}-^koSi!deS ziNbTTk|Fp-bX3SCAZiLUl1iRuAYnPCG*?*amyX8%$e!8}`^ii9Z5sEI?dtXRWvZhR zw?SedX-N1Z{l*7s0T6p*9$vE#RcFX5#(E&DRqd@c-Py>^AA#UcLOaJ`S0p++tY%tq z-|Y(TOI|i$c(_bTwI(`VvXz6J(eat#W?ox&_oHe6vbCYW zB3(9G+w(3V*y+p3r?x5DTm9lQ6DON4)cSkiO&rPwF6HDqn(b3RIrVU|;YC(un_3Jw zB)_}w(5`RI(EeiBrXPb77N@4#4ecw>1{E4G9Gc})&&`ZD4qOGI?6nR?_BH-(^HM=dY@&xijT@e`Qf-Fk$WvUw@Mum_&p7p&y06)Rc8SjkKkumLb)h zapm5^-GT3R(h$8mJVd892}7NH>I6E@{2wM*^yJph42?UZYFo|UvWBaY;>;KbVl~|= zL7bXysxvd!acj82yByvqyWEGkTz=OO@}VFHHy%@f?Bz#2fd|rpybbJA+8dtH35GC@ zq_B`zwDc)DI|t+nyBRAM93JNmtkC|Q7Tj_;PM^t!Pt}Mwo@! zqpB!WS6a1;IAqI1S8*M3x2zos>BDK$D>{OAG}OMl*u1_-kg|;?LeAF(F>|P;8W8vvBnX|;@2CHrxpm`LXO2boN-28ACL7-!782{niY`+H z3Pd99E0ry7+JlQbydwgqVWTBJnVJuR2W>Ht`Dall>y#FiPA;0?-}uTSKN3HWOh%(#-}9~zFKie^1iy8YMhYYqD2Ih%}a(2yGt!F z%Wp6Gt+|Jdys>uo%+W#vHic7}j9pw4P9ICp7ZE@l6U0;j6Cuxu3qS@{_(%yfJP@m+ z|J*XCN@itdrC8Z{8^?PcT7CWuu$Sj`pn*Vj6-sjCnm^s5pVOf;C(pli^p7y`bL2UZ zE0#hiw^Efzbm;Gy)!S4jPEJ03<{fvs^_~z&tGuQYZTA zY`cZf6mv0>%0p8WN$S-(i0NtQIAi@!uZe>8)lzz0p_gJ>^aj=TTW&{=b!M=1b^pWch(>V#78&q;>H$&+y% zvjLj0qyCdBOnz8z)Yst<9wRhzNV;=jhGOTRNEat>qN$}ui(`^|VwDbXRjmfo$~O*o z{P0kC-Mq#wQrMcXV}08IrBcN9LRrXSpy6CD;8zz;Me-$=t8*gSr_+MbPTf2~d8+E0 zzBuh4AJT=-=@1>L>N7z*y+w+Z`c2zFnz|Sdy|n|qAzg>@Iw#@ID|gZKM7h4zKD$kd za3Z}&mHD1mehdVU^~HrQ5m3*-~Kanr;s@ z^;whl)9Yz7**?KCx!jOFFg=iY(?^JN#}G+Z*=Fy2_72Qvlaswi9LyJ0Zhuug>SSS&56jUNnP zzv>$?;=`_a{)6w-Bx(na$_a+G<`Zq|A5wL^p`bQA^pu^M_3B#UT8X7YJdHNF|_J$6{b8 zm1e#ew-xUi=uTaobK;*X%#~}FWG1%Wz4AS_5stf3cH<=$yZr1S=I|by#I@VTeclaw z#Rh=RKK+B?jf-@0d#*Tr+$K5?9D*kXD;t(6gcRS(Z2a&wfBP+-yD{t5+ks`8q}pix z>7=P|9m{yXztP-oh`sKKxMt<`{PDd=;i=3AZ(*l@=#XLxK9ziYfhMLhZFag4dXT?f zZ2>za;+U+lnkat^ae6_r?1p)D;Yj0NcNyw#>CNY3i;f8EaayqkH9 zPR*&m9`4awWlOSG<(FOrPWNUFik?xSM!RpH&f%U586Q!;rtYCkL-pNokf3}TzLXujKY9IX*oH?jKI^osZ_hQHbLJJ~{ zFj5mkk`xynK_{5hxp{iGLnmT27sPZ+bi_>^ONrSOG^886@P$>s1qA7{HXzZfT=0uv zNl**G;JOQ2+04aa$Y(MleH=xgX?faIJsOz1?WQT05F;gLwwQb*tUV&mVjw}$V%*fQpNC-%;8NF2hzFtCH-B_y<;AP)X?4Ns zL|ZrQa&3uo&ZXla$-r72hA9!((&eFDV;AvpOBnU6<%830I#N(@HSVnZeegf+cI^qO zc*~n_Ix<)Swn@`=(TLBlb{-@7Qz@0F=40D#8@Ik!an`I%C{y^-d-nMUiwE#EtcVK& zr+V{T>%G|#5?elz8-vm*!ApoLTABtaCPtDg`D3fFv6U1*7V0O~QCOg@3x2Hsc|WKh zoaXwo|NRgI4R&cSQ>ev{%RNH3%;Xx)3a35H3X2b}$#CBjuaGQL(l9hWLM3~*Yhb~{ zy&9N`vgPwP&S8U(*s(225Y)QdDf-F-VcqZFdXbxk@Ac)y&sAkN?bmzcj=HV5uDW>M z;?U5oicBJK;@G_%E69D950zz{&(F~_wmQ_ZM7FbIVZ0WUO*j<+r~37Zzt)$Yjz1oH zFLnRvR^nDruMpqhI;|%Nmc_2Ayu{?HgDoal{SRc2CpM{KA`wSMQqMuKK&Nr8I6sk|52QYb6nD?}a{>f+>TMGH}(9 z@|VH#XdLP)yXkAGj=r*@XUFH($il~HVTe~|Uz!6kI`mb?69G;yj|q8Vp>}#`?}Rq5 z)%BC@NsA0BH@(x|l%DJhldVU5*>uiL-+CCjGO0;zbTBrQV_0X{mzP6(b1CJ&e}xdFM4uma&}f$ zPF8Mq-Y0Aj_-%>_&S{1V0C0d09dcyOjH1wQv?x!)n^jN0g8e&$7l3~nSRgM2gv>9*nj25 zDe(O&%!%aNqpO(^dCpWbB_qc+t6^H+ilFb|G{*Zg?Ozr0-+7ROyoewWnqi0_J)sYV z<|jFVsQ#H2Ip70M6OfF-k*>rUt|S?qq*6R(RL16-MjK8Uj-Ty1pTXAd#+tQmA_LbhX9!`c@sCG*_1@tKX|iY1A<8z9pPtyOMN?e7i-;ojVuY?BxP^UsFjJ=MWl1`lcPOrft=`1!FFE@HFhyHIRJgFT3 zgxE-W-;)f2(okWVcI47@5}0?Ap9e+pB$5C9^8ITs;6y0WEfQ^fkT{}^|BA&2L`#r` zB#QD6CGdgZtS$1CiIlTZUbK|$%p#oB>COPMb1a%1=O76`}o=9;T zlSWC&`=|8@D;2S*(q$q0b3#QskF6?YX9K- zmsu1Uq>Xj*Zh#{~mQrmSk@dmWjal07QRJt-|7ku#px%rZ2>R0f$UP$wOmHajDdNbS zqtN0q*#@AwWD$`PGDZGMDulFo&VGMqP7VM87=Nw!-_>7J{>O@QV?*hO=&DE9hZ&!$ z((W<7{fcf3Q4}`NiW#{;D~_n$$#5#?m9ovNozr2+i&v3>=KbSQpi;@rqJ#u-E?L^1VJ#f5ByK-g9j} z!Vo{`e;U?*c@6+NO~7BDj5i5q>reAn5JCP&!T_Q;eghoQh|h zli1?Qobsx;`jfaW(|G2p-1^g8=F{rtvmeYC>&$iQJ+b1?S{(toBp5WzdT3MkqRuJ=ZHH}{fFmtu#t#@-c-dXfA-HD1tvj(I*a4~rvd<= zBN|2aZyZrpVVYIpnpI&^R}=W(JqCo%a>`G0f`Ux|073wG2`V`NBh)ck#6ds{iEW1p zK8qJ2tA`+<0D}XC7nRaET9{U#A(pormhI)lOD_z8)HLGk00Qr&5N6ohB74*a6qZ^u}nA9a;BsQbK?nQL(_AyOhd}R zK>#B7d!98BjSCUN0RR&em1oevc$G2ePPEDp+ct@c3~xc2>KHE)X}}O0Lb^W&G>=4e z4BAf;Fe1F2=071!2LR+95b!5L$7v=GV9)~V@2JM(IAw9DWwFJ_am?qj<>wPPM>)Ba z)zpWv)o0bzzvIcP*HO!3%gdjusbh<)(0o zs;k$jFJ9QICwgu;tLtl;FJ7r@<9X@M2X0(?ZV)_So}YCAp~iFO#`P|1bk-@>Hra*6 zDRjlfMa6aY#pPwX*}KKr#Y0t=#pR_#Ro_a=?e;-vd0}xCV{tKKNmc1xG2?z+VR2L0 zP*p{0dC7j=(erM`{ib)t<>e(+2T#zZvi-jI`%SDK`Ox9~lD(#)rY48|ruQRt_9QvQ zdu{Z?T@^!BNBd1IH7*p&>Mkqs`kR{IJnRiWX6Rl8R@w8nm)#A42&S%i$KR4Pg2SpE zh{3+TGln_`Cjf}*XJ#&% zh)iBCj;sum#t3N0Ia9(?MY&k2(nYl(s=Qo0SsAuE99;*tITCP0E|#t|v=2wso~bY8 zWgj_+YVe8pUmDv<@gS;X|5zEBvV>Tbk+ircRQ{1N($KnC899(E8JWsJ6&*Xaxil3! zE|4n_RjiC1Q=g8mT&)X+&hx)qmDOt4+LZNy#HsTLWMwLA@oXK~c8FxG%btiA_2TJ9 zg2YvAx$@_1o&dV`0&^)&GG%i!DiI*S)V_5##r^2tGdHne>YFnudm>I>nGg#S-&xWL z=Z&8-0a3-Ogo7h=?HcnFZ9qVZN?7gAl9L_R<%~}06AfAL4dE2kc%cDC9UoXg$OqXx z^C^Tpxvg-p%9yk@hT{k?J+jCMFKv;doCp-EJ|c`nT|34Lh4#+zB2nkz$&BLiZf7x$5aaR-4gkHCL|AQ#6JgEEf*)Jqwu2P0Rgt7jR3F=j|f!25{q-w5+Kua zn*E)G4>>5taJC>ElTfywX`)Eb-Xt)`$tQS9J;0ajQ~nVS0>Ilo5WxGB7U#G$l3opd;i~By0&GY$^B;q z2(>>$1RfEIH6(eUM9&$Y=7@m?CVJgTAjb%#0YT8++yGELS)ww$bkv}gK%t=dfF2#M zBa`f;qC!udm-rMqW^`njK-`Gbd2=c@AQe8OyqcLOQVYUT(7ZXFFecFDWWZaKaIPQ~ z@R8mHlTx5In#Y5Yy^;#Hn35){o7 z;IFCvZ6Q-UiRvG60B0C8wlJ;f+L#LXXCX!HmU z&lVi@U+`0fg!Io+1@3SApCxgJ-ap`{CGis(Zo;D$Di#)I#{8tz%TCb=J#p{g(h>U+@)^xyr%J9j(N0QgT_(4`=n)gp0HuL8Qr4e{UO%0>wUV(Gu zd5;psor;2w+$+Vi1@;e9BG2qMq_u21sG?m_Ri6QcKRjDU4iElB3@;`&29aGLS`sA`h+q7%&A>tZ-DT#Qr<4o0?-S?0vr`iTGYz0)WZ8oki zDHc_-H}+S-Nti2dD|RPRYk4)K%sH#Mc=nHDjs-np2@}jMgo#(i(H8nD?B6b^Wh#%e z@jA&YyB@}-y$%@hPl;gXbT4;%46>Nieb=-Rm9~gja zFK|yYmYeU7s?S3=oTAQ-J61UiK?flOh%=DG0zJ)a?Rro^=V*KZbI?}Wc5r91e2?o+ zO1lEy9y_$CQ#-J8Vwy&{jw6FK{DO+qObTG}iC7u?wIEcv~SDlBMJ)s<^3Igt_KjMRJx^K3oG7(0D?o* z4d1q!GUFeOjzus2)Qz~)tS=!vzsv@FYHa02g`hykPIEU$lZj)x-G^Q1=9T}i@&=V7 zdDd6+aaC%@U7>{-!33C;KcF5zJIy#XEkZ29=VaT>zl^Fm)5M|8G&F5F?)q3A3i#wP z|7kS;BqsGz&?5!gspNni4r}4XxXL{W?d7XJR_SeY+P`OxsS(9x^fn+{uS!jz}*D0QZ_f~u^bz?F~-{( zlfdu^O6P?3Q#A9v@!S;-K9Mi%rp6>B=`q}AQyAIgHGD?R{6dN3oV>WiSG`mE$Udnq zz153RSSL$(<1=?*#IO2SdSet-Gg-D&%Y|U$K->Jt=lW?N=yoN07u0sU(#Q!MnqNaEo9d|cI#=aB%xrUrRv7UuhflNa{Qn4pw zqXH^Anxw7#vi(D7B8T1e3~}#xvVtZ#&$bjwu)ha|DO<=!aSD7dJ9;9s?~Qqqxhzg) z6Pixd$qzIky^A_?cw5_NdDYI1QUNj?=2JHm0x7w%H#ZH+>{;%vN)UGBW#n*(7><&V zwdv0eHpaNz-I2`2U!R2nxqp&Z9bvEofHSZy9U3W*UvH~xe^>;xJHHeum(WBEwl00t>}J(iAd>EKpqm!0L{@ZG+~ zz^$K98NrqczlC7POLpJ@LMG^M=kDJQ*xrsVMoh0$O}3=gQJMI_Vg>UJxPIEVCn2A+ z5r;9nIptY@y$8dV-zB{%mQ<3#06zm4pI&9|AcwRY$*BFZrD!4E!p5gL$T)_j>Uqk7 z{tx%^(;g?^lI0?&K24qWDo0oaQ^imuJ===>50|oG_7_N297#%WbX2N{09h#Y%~w`h zXByv5MYqi+g9Q(GT@sj%O^8-z_Xxnz)W>3h07w}`CMPPJ{BmSwmKdtP6v2p_jhr<2 z(i@A>P|KC+N7-PV4M!16f`%o6)vGv9GqyG7l!bEQWi^4JIhVnUw{`qc*k@=h@isw$ zYv?c}lwogA$o{wtB8?THML@Bs+n~zG#YzxaK~_j9S(qjk-fg%vS>B>wK9NH&Ef*{t zI>q22gYZkaOl%83PlT;ak&{@kII!nqAw0()#QPUOhaFL7C*g)Mx+kEOMV=7m118CZ z^NomTC%01 zt#41NL;SuG^A3lXUWMdey#F}5ti-NvHNMEg>HhtraDPp~S*OhIMMLs;adArt9_et6 zTT`)H@^~Hv{~I!yA%(E5bk`&W{lPwcm8M!uY#%{fz=TX(XUT|!tZ94Vn^|?`%H|t_ zTh^le@kh%0aD`b>7*{*U0+7i9q5qD<0RV%QlNE9ePN6HI=(TiwQy<>Ae<2Z%?M4ty z6!od2$%F`%j$m}C@>+SYQ+%(PRl{QqE1n#av%sa9C@1&B${@L7V=NgN*f3z-^~Tr3 zA^(XZ`h1YGED?5=0DeVQbG$N>1aUuTTSVEs>rRvXitE?jq%5-F6s%ZhECPT5g^VCi z+ks(Jd{=Xd5vBiyl{Wxfs8bkq3fe)mcmVY9$y~Th0KmD>ddVtuvdK{PwVU1Qem26s^4jv9 zy{P%`Ln~#nXGj1!IfQJFdgAM+)#ua4uubTJZFhI1s521fuzcQtam265H!qCLHW;Fz9Dz2GZB|o zaA!hs0!%|%3Ty}cKq(h zAXWt8*CadVI%)AP(a|rgBVP)8VDD2IekRmg&|EkOn#N|5u70&oI7?$s=*Vb#MW0ul zz_I*BlkVn?rwkx zE|(GXR$Rzq9?E`u^)Cigvc&}DFbn(}QNs%pb*8`XZVu z)_ELwG=HGqT;7g=c31VfCmEY^cOHD?$A2kiOz)jOI^}1572sHRFu~s(cweScZrL$B zllP)b-AWn#<9So-wAs+u?Y0~ACHO@H7T~_wJ}^9Mp>Fv8JtO-P5r`fqNa}CX3}JGS=r5e-PX*-hKoXH zlixlWwrm|eFE&*cdVXA{_dbv?{)HtAiz$;a7dETgMO{u5_t8VL(%k`72|`n~FnUOx zCbkKtm90ERgsY`6_M)d`tigIOqx#DS`|>SCUKofED$o;JJ5P96e`Tm7Hu?tkI3S~# z{7ZrX_E;tTRd3IgG_G8f7A9~IS~OpE={?>aXoR`<0s?2u`sFcy@_H(#z88gySw!}Y z^`O=p6Ihg}LBzpU?{-Wkky=!7SkVFAuVe`)3>fZ~0feK3@88$Jy#}^IPi!Od);1Np z6xS$yA~WAUR#~serg~w&r&l8SI5K%A!AyD{wDH-b-1HtkROyTexeIytB+bW)@%v=l zKJvzAifm7Rgi@HTpibL}UtYhy%EfRh0z5ErcLP^hyPMNv^#2ntf(w2;m}WR?GU z=pcE~NE3B=jYoQN-`$0!dl4|ZG#?sjP-9=!?wLYYMWrQ(EGI!Sgf{xxg|2Ke{o`%3 zgUsr~!qVWW2EKakmk@`~=u!>Q?o$%eYO79K6{(-LFD)^+ukC1xyZA%iZ!b)S%Komj zvB_W5`LP3?`F>Zy(rO2=LNaa=lB3L+q=VN8mtFuyhjblVSY&8ESU%ixWp`$(}eg(7%4;wFeNXTztc zmXGwEGz|~c^rKyY4!7G(C;MT}EqRe9OxvRQrDRnGT<8mmr_k>y?>lZ}i6R8MKnXh` z(MU}WG6}yD<@cT7He;XAC)tF{qIrcFrag(ffOtFIjxi7x(}@9V23AAHA7QY`*WEfC zofs=Ew4XC7vc($1w5i=8VqK=S#i>J_GnsG1$z&Nb^|$T>EpNbzZwFQ(yPG=(k_f)b z?S^yUYbwbZzsNWeQRGIaVsr<$&aR7VINuKMD7h(}FHY@*V-r#x<;UKl}pqk;W&{K5eYbC@BgU&^oHeeYg zb5aEvjC37BZzWwL3tOdsA37rv==X~uJ>MHP8{?RyZ#Ub{NGt&~$55^JmCdGyX06SzgId7NHJ<&jS5-AAe@UR)p7wY=j z6pIWPsbdH+K>z?voR90M`HoxN#ZmClLxO=g8vJ>MJ}|wh!Z5OkeN3@aKB3!Tq~WH{cQE5o6Pg_%f^xwQHHav@)H$IhkW|Jb7vJFmj?Y+T;JFj|72 zifj%cW=HJ4?z|3fvDs+Jf{Ds^l;p$S3%C~(u~HL0SKJ-_=b^liw&dR3WDjN)doYzf zc+0;bc1KyM$kj29oGSjh7DjE4LlqE$+C9?Rn@02q=QILzGm07yoDhs(A)y>_(TckA zFI8C3LVj@O6^1J@%Vg#|eEs1ZxXj{jh22tuvC1}-_Nn$#HDP2U!s@o=r9yCA1dA?z zCa#)$iWnq#&_xjikvJndK4Y` zhr(_KjQCnA~v`B48PV@Wwj~b_l*^= z5SOU(B9?WjyEqpypBawHCZwP}KnO0)X6Oye1WUI%y*TyC4}|@y=Njsnw3!Cyar-9C z&2jg~pM?}8saiad7P5XQu9o4UM z-RJxvAFjmw9_rEvF=)LLq_TA}I`(SHINohQ`6sMV#u+Y@g*~7t%_eVmQGthK+#dc9 z+>IRfi2g5VF7&=FydiP^Anr4WY>7L;N^t#d(2<)17BDjvc8E#q!wCuEuR!)dD|2f0 zh0QPIjd>P+^8(47fdJ(;`}q=~cdoAaTLG-qKJG1fVgci?~i1U4P*Xe=AF_kHg>mnS}@u=vnw5tYQ#^#k|nxN4+Hwy zugk{TM~iZ`D;j*fqnP391afq#UUgkg*kFMT94;f@2quiAhSzr&1Fu=n`+1)Wou7VY z+L761sy#4}a)piJikTLO2z*hMI=AI4GG(E2f=hv^xaYN^gHO_LyZw$>kihB!G1-mafH~BwXaBw3lJ(^6WU#KiM;<=lMf@8Drd}P{I&Xvi1{i4XGUTE=Qi>A z4pO(uw|ASwRKKmHsNQ>QrHop2PHPLmY|{`>>Z(isLQ2^C;}*K49`HGZlR?uyjf9>@ zxZssezp&p|V?Av2ls-G1rMs19Opum20M%vLr=J5tmeSi}`Nw+K4rb+ZefVkzi%@Ij zdcjN@GOIBf*)hWcoCi!k0IaQ&MXVj-ieB=6rVV$yjXw}VK_tg^bRlPtUvVMLdG2)= zEb_MIf<)I($(S&r$MwoWht996-qm{G;bYuvzWQV}vssVh%^t0nvB{`E*BCERO~|!#da&D=g<2=Fs$>|BD@nVa)27#}zs^NtLjXtx-7eON zc+qW85&gd|DB@6`dR4lI!2rY`LJ1? z+c$fO(mJb4Pm1_9CE7@Ye&u~T2*!J+a2E?x-5sOc<+^zh*-|;u-_Mz`yLIoMK#(Cr zL`F9}2g;T1crUDv#uXe3rf67!iKJ5Lq;BE$I>Uic|ER!2ttWSTYv{XMU^m zi^>(zS3H9rAqneSKZ5W|2r}a)@`cZCIwFCjX`YavWGE2-?Pz>BZzrNq`gbp<_ybNo>3)rh`MAaAYjh|vz7K+} zdIuRl4D5QCvZQEBzCQc*+%mI&b*_|{Q z0wwA>B3TT5Z;h*LHT|`*DL%z83_uE9Y{YV&zq!H~mI@sZ zEWWtTD1D{e9X+Aq-~N<3$iDPIq7h24MM{DJDsphwsXO+8U^wj3-_vH=A0Ao!s8Y~F zi*4MhXfdldrwRyWe@H}}Hm2sYdwdy2C_1NG&v(j5PK)K?^(FKDk*l|i__(2gn+MSR z2p`VHvJ^VOew|n7taHWZ$nzqy;@}FVZUa#ljf(SE`5a@PfG2{A$_HJ3<1+pnb2~{| zRp51!`D$k8l0VEt(JUxamUM0$ycJscgS|j+cB?g9NE;l9D-T9uYY(jvxIM@j78JRX z4x@3a=xrPo*+cuBDYK1?8W-}pDmr&^RTu7Cu4{Ht19vse28YaKY{B%*+b`1(5G8I> z%>JJ0Mc9 zGg{ujOc?2^D;3b4LWm!d6M9~n7+Q%;cvBWnYU7^dQ70>6uG@A%LJ(nnSel={1CtlA zzOk2VKV{PAJbW38@3KNnWQO!(ytf_*M-LAn(p%bJw0)T?V)j8TKKlxi)v8_H*^1LY zQD*|Z+MiKqiuhAP#8(tYz*;$RLP@Try&c2-qFMIZ?+;9+r5v+b^?Aw67{ScawC99g zrkmq07_=fcm<}uH%h#xTzsiAKGXPM2Dj#(4z0|YunMz;G! zq)AAvZz+jVq)x9%!hYs7wzclfP)>YZbjDUX5!-_)II!xSE~BbGZS0{6kK@$NF>p^?R*ybfY0#!9Wo^h+7>r^eEfs0#AYZ_gPYfSj?f48BQ~4l z*B&!4erm4l-<^?bY>4i-=`lY3sM#GI522lYE#t_$xiRE;*<_V!eg6<*l$F2A@=dP# zNzn04lWyEKg3J94qu9VrF9K;8&E_H6Panwrj zRnR`%k>Tpi{Y?V%BnwsbKIQ<5*wk~%_fB0DSn;jyMZ)v+Qz;uS&7Ef53548~eoxZc z>IP~yQtV^UZeeF2@R>thUYQMy4mA;T=IsRxCa2cLTSfKrG7Y- z*%A{lRlN`5q9QpldW^9+W(d+Kqlpt6?mW5DuAB(azF8c*zAxlC*A%UfoH zEqwOL&>t{@=eL~m0edD7*Ctiyr)}M`fqNk@Oi;SV1kq-|V5 zjxWy1rfJnM3t!xQ{?vw(7HvPXUVxRDD5`8qO$sgpqPee(LwvnI>7V5 z@g>c06^E!QcVjMZmX)bFc z_6%UPyN~LR#20#8iY3doT-S!Vm{wib6<;wbayDad6>W%VLc|b zu1P77nq0`AT>m&T`re>9x=vz;$QTM9I*5|i^`r&xL?u&qGB<;(;`i8=tQqKZ$sL^D zGcpOB^~@D68h;6r16+9_UTDbd&g586z- zu`Tl9^k}!}*wa_oZB)^y*V#UvN~l6POR>5%gn*F~(b0hMhEa`roT{qLTVgORE)}YZ z(1roj6U|Fs0TmgQ3tUmJ4PoH~Sfz0iEKIz-K9OB&tU!)N%(V<64zCCDDocR3=G4aT zx^2faq6u|Kj4Jjya~RlSZ$oG+*|vx&eyi*VO@)1MHynqV=S_5$|8aZ?pK&#AeZ)S& zTaDNEoSKVomKS9uggSFG4$Z(CcbVgoQ<|D7Yw{if>{i1nLQ49<^N6_5X#gPpJulK2 zoT2B~91$GOow4}DU-i&ngo?J`5qga_2NsZhZ zugKO+zMi*WGO61j+iT%Unk}h+88CX$BHoQ_vfpeF^PSq0zR)4!L~(PhCCd_O@tFYr z{`jTaiLnQ5>#BZ^u8Xvr()!DTR)&wX&aD?Ky=rUO+3QOLOhOzybFG!0Ty4 z;pqSbsw#mfUR`->eO-HZds|miYkO0BPfuG{cYo*Vr;GI%J0@l7v57|ruz=iQSb@%u zz*!^Rn3zlmR4^!`A&QDBc}G~muui9_rm*5f%a@+v#gZASz?jy$(`KuLIRz6>E&YVq znygo3NL<&(5254Rk*1$sB{a`reQRr~?xGhLbQ!(h$MBf4Z;RHC`TxZH3XVl;oze9`o-7S#zh;ro9-j34pwW5YTT7w$(IRemgzbs7osy$!4_&!;y z35(w?6$ThH7|6p>`=ObMqj_c#a|@ir)rrz_x=hgNFPQl!gsBTk_$r7tC4AMb=)X(u zFQE-8p4;sj!ldEcO!0L-;oLm?`lEa=A|U5VRHxpyZd6;-xHD;eWDTMx+k3e}SD01vtkX?Zu!n2S{IQ_r|g>OmZ~t9@YWF2hRM|-RdSFd(CuIDpe*fSt{+`3oF4r+Uam7}Cbzkp$hVOk|0f6f{@+d5CZRf)pvz6T|A`s%`ZTbBUSX~K2QXBnEaw-C#qxi(EXmP{O3w`iR=eBprty; z+-Tw22H{c4INcludD4i`O|y}EM{hSGoe7pH-l8R}nCt~}wLw``Jqo=`Zw%WAt@5sk zNq$~u?xB2HZYRx3Sjq}Ycl$!EzCqd&(Q9WRNE^sDSu>3`?pKlMH@DveA0^-6-x|Jw z=Rve|;c;EptcBW&Lpmb!m#?R-f^(2Xr(Q~%CJ%?v02*5~uVM8b)OFNf2ufoO(1ef> zcj)U$Uy`pJn~~OSHGG?2utkU)v0=F9x2w!e@bd`SpD@R+6i`KXQzMHZo@MwMB;TW= zPG*aN+UZz^yyU0akZN+=G&5T5@k@G}7#5d!rDtfWvXtDonH4j(pC#!-ljpobhwDeo zVHl|lX|5j`ha4eg*Cg{cPiddmSNLVrg<<%2!U;!TCSqU!2iw|rXsali66?NvUvo6! zqG2MCo{`@)<*LLk?M40hFv49XQZYv|Y**gm0u`^)-Q)VwK~<0AQ+^Nir&pt;sM}PF zGn;Qt+N91UsJ)slZhPe0SVhUh+w|#?u>4)-(h{sE6Nj=#rt%H@lM~-D{?-m+2bY|m z*UPE6uB5|VS)ST_nRSe@9nu(fQ*D(cEJWTgEdGR`bok*=2b2e1`P+;Qx!52v*ctRU zzrGlD;z#Q<9n)5PVSs36qiW*1heCu9u0*j6vMVgA^2gZ*>6IT0n*eTrTKf$0bx*OV<)kR(Ix*) z`)KC}_zkfDRNQE(nUVsxaV{y`KMlq!`!Jgu%7`8=%ru#MR{kO?QdxHUjC|borTIa~ zH(I2inU_$KMJ5LB}ksUZAxO5VuO(Jm7T_%$fd}%2|c{~R=)PU%?~`$plS4? z3C=k?wnDFq4HoFS$&7n&HbKfE3!V1r@H~~U9;GB(A%+JWk5FPEbTnuc{>mtmZ*hGMhYHOdbQAD%b;ChRqkFirO(-tBECpw)zhlz?k(ip z*!{xJ#w3G95EXUO8H9dMBfuS3S>a;m2I{s)R*l~6E)#>t%d(3XT zmbj})=Xn;$I#W@Ex+>z%@rF~x&=i{yP6uOX<7N2_o;JoeldaQP$o)OLyE|2Xkbcwk z%QuZhj`=@Fr*9n~lD`{nr^1aYi)WF9_2UPt#=as*IR#k0`_X}}#qvxFRs!W%9e0N&XE=u`BK#yLocfNd-T>)xvOu?zRl;Q$O2_|+JpukM`nAB+c_ z^KC;^AJp+sdi{xPV9DBA3N(ero1VKvngyvGP3;Vx$39!zh^u*y;(-`yauK*|Y&dySq@xyy_DLGCLctYD4i5YJ+i9j&C@+yPNQKtH$wwl7dUpRE77pxLn~P=<=x1 z-5+aIxQKA^GtMqM>0$zQLfGQ-h!qago^cYWaAg*XP0D$ zQmy;*(Gb{^0LUR*G&{blV?kUR#t(a(c-A@rPTLgDgW=zwKPg6Rq78_02g%32dt7UY z&-p5yDKcRo=c}eME2uRCs!x6R1UFi|8r-nbNz*6OPAw^ z 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 Y{b&+pmzpB(*oSZ0r}2BY*a2k literal 0 HcmV?d00001 From 1bb98edc0d157bbd019f3c73dc480a4722ba3968 Mon Sep 17 00:00:00 2001 From: Tastyfish Date: Thu, 10 Mar 2016 03:09:07 -0500 Subject: [PATCH 15/44] Refactors vampire abiliies to be spells --- code/__DEFINES/mob.dm | 14 - code/datums/mind.dm | 5 +- code/datums/spell.dm | 7 +- code/game/gamemodes/vampire/vampire.dm | 357 ++++---- code/game/gamemodes/vampire/vampire_powers.dm | 856 +++++++++--------- code/game/objects/items/weapons/weaponry.dm | 2 +- .../living/carbon/human/human_attackhand.dm | 2 +- code/modules/mob/living/carbon/human/life.dm | 2 +- .../living/carbon/human/species/species.dm | 8 +- .../oldchem/reagents/reagents_water.dm | 62 +- icons/mob/actions.dmi | Bin 50699 -> 53928 bytes 11 files changed, 651 insertions(+), 664 deletions(-) diff --git a/code/__DEFINES/mob.dm b/code/__DEFINES/mob.dm index 5442c621e1b..11500e125e4 100644 --- a/code/__DEFINES/mob.dm +++ b/code/__DEFINES/mob.dm @@ -1,17 +1,3 @@ -// Vampire power defines -#define VAMP_REJUV 1 -#define VAMP_GLARE 2 -#define VAMP_HYPNO 3 -#define VAMP_SHAPE 4 -#define VAMP_VISION 5 -#define VAMP_DISEASE 6 -#define VAMP_CLOAK 7 -#define VAMP_BATS 8 -#define VAMP_SCREAM 9 -#define VAMP_JAUNT 10 -#define VAMP_SLAVE 11 -#define VAMP_BLINK 12 -#define VAMP_FULL 13 ///////////////////ORGAN DEFINES/////////////////// // Organ defines. diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 56d8fac2d57..cfe913bd94e 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -886,9 +886,10 @@ if(src in ticker.mode.vampires) ticker.mode.vampires -= src special_role = null - current.remove_vampire_powers() + if(vampire) + vampire.remove_vampire_powers() + qdel(vampire) ticker.mode.update_vampire_icons_removed(src) - if(vampire) qdel(vampire) current << "You grow weak and lose your powers! You are no longer a vampire and are stuck in your current form!" log_admin("[key_name(usr)] has de-vampired [key_name(current)]") message_admins("[key_name_admin(usr)] has de-vampired [key_name_admin(current)]") diff --git a/code/datums/spell.dm b/code/datums/spell.dm index f129f085bdc..31da89fd424 100644 --- a/code/datums/spell.dm +++ b/code/datums/spell.dm @@ -88,10 +88,9 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin user << "Not when you're incapacitated." return 0 - if(ishuman(user)) - if(user.is_muzzled()) - user << "Mmmf mrrfff!" - return 0 + if(ishuman(user) && (invocation_type == "whisper" || invocation_type == "shout") && user.is_muzzled()) + user << "Mmmf mrrfff!" + return 0 var/obj/effect/proc_holder/spell/noclothes/spell = locate() in (user.spell_list | (user.mind ? user.mind.spell_list : list())) if(clothes_req && !(spell && istype(spell)))//clothes check if(!istype(user, /mob/living/carbon/human)) diff --git a/code/game/gamemodes/vampire/vampire.dm b/code/game/gamemodes/vampire/vampire.dm index 7d304204613..16ef84e7064 100644 --- a/code/game/gamemodes/vampire/vampire.dm +++ b/code/game/gamemodes/vampire/vampire.dm @@ -37,7 +37,6 @@ var/vampire_amount = 4 - /datum/game_mode/vampire/announce() world << "The current game mode is - Vampires!" world << "There are Vampires from Space Transylvania on the station, keep your blood close and neck safe!" @@ -171,7 +170,8 @@ return /datum/game_mode/proc/grant_vampire_powers(mob/living/carbon/vampire_mob) - if(!istype(vampire_mob)) return + if(!istype(vampire_mob)) + return vampire_mob.make_vampire() /datum/game_mode/proc/greet_vampire(var/datum/mind/vampire, var/you_are=1) @@ -200,188 +200,131 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha var/mob/living/owner = null var/gender = FEMALE var/iscloaking = 0 // handles the vampire cloak toggle - var/list/powers = list() // list of available powers and passives, see defines in setup.dm + var/list/powers = list() // list of available powers and passives var/mob/living/carbon/human/draining // who the vampire is draining of blood var/nullified = 0 //Nullrod makes them useless for a short while. - var/upgradedRegen = 0 + var/list/upgrade_tiers = list( + /obj/effect/proc_holder/spell/vampire/self/rejuvinate = 0, + /obj/effect/proc_holder/spell/vampire/targetted/hypnotise = 0, + /obj/effect/proc_holder/spell/vampire/mob_aoe/glare = 0, + /datum/vampire_passive/vision = 100, + /obj/effect/proc_holder/spell/vampire/self/shapeshift = 100, + /obj/effect/proc_holder/spell/vampire/self/cloak = 150, + /obj/effect/proc_holder/spell/vampire/targetted/disease = 150, + /obj/effect/proc_holder/spell/vampire/bats = 200, + /obj/effect/proc_holder/spell/vampire/self/screech = 200, + /datum/vampire_passive/regen = 200, + /obj/effect/proc_holder/spell/vampire/shadowstep = 250, + /obj/effect/proc_holder/spell/vampire/self/jaunt = 300, + /obj/effect/proc_holder/spell/vampire/targetted/enthrall = 300, + /datum/vampire_passive/full = 500) + /datum/vampire/New(gend = FEMALE) gender = gend +/datum/vampire/proc/force_add_ability(path) + var/spell = new path(owner) + if(istype(spell, /obj/effect/proc_holder/spell)) + owner.mind.AddSpell(spell) + powers += spell + +/datum/vampire/proc/get_ability(path) + for(var/P in powers) + var/datum/power = P + if(power.type == path) + return power + return null + +/datum/vampire/proc/add_ability(path) + if(!get_ability(path)) + force_add_ability(path) + +/datum/vampire/proc/remove_ability(path) + var/A = get_ability(path) + if(A) + powers -= A + owner.spell_list.Remove(A) + qdel(A) + /mob/proc/make_vampire() - if(!mind) return + if(!mind) + return + var/datum/vampire/vamp if(!mind.vampire) - mind.vampire = new /datum/vampire(gender) - mind.vampire.owner = src - verbs += /client/vampire/proc/vampire_rejuvinate - verbs += /client/vampire/proc/vampire_hypnotise - verbs += /client/vampire/proc/vampire_glare - //testing purposes REMOVE BEFORE PUSH TO MASTER - /*for(var/handler in typesof(/client/proc)) - if(findtext("[handler]","vampire_")) - verbs += handler*/ - for(var/i = 1; i <= 3; i++) // CHANGE TO 3 RATHER THAN 12 AFTER TESTING IS DONE - if(!(i in mind.vampire.powers)) - mind.vampire.powers.Add(i) + vamp = new /datum/vampire(gender) + vamp.owner = src + mind.vampire = vamp + else + vamp = mind.vampire + vamp.powers.Cut() + vamp.check_vampire_upgrade(0) - for(var/n in mind.vampire.powers) - switch(n) - if(VAMP_SHAPE) - verbs += /client/vampire/proc/vampire_shapeshift - if(VAMP_VISION) - continue - if(VAMP_DISEASE) - verbs += /client/vampire/proc/vampire_disease - if(VAMP_CLOAK) - verbs += /client/vampire/proc/vampire_cloak - if(VAMP_BATS) - verbs += /client/vampire/proc/vampire_bats - if(VAMP_SCREAM) - verbs += /client/vampire/proc/vampire_screech - if(VAMP_JAUNT) - verbs += /client/vampire/proc/vampire_jaunt - if(VAMP_BLINK) - verbs += /client/vampire/proc/vampire_shadowstep - if(VAMP_SLAVE) - verbs += /client/vampire/proc/vampire_enthrall - if(VAMP_FULL) - continue -/mob/proc/remove_vampire_powers() - for(var/handler in typesof(/client/vampire/proc)) - if(findtext("[handler]","vampire_")) - verbs -= handler +/datum/vampire/proc/remove_vampire_powers() + for(var/P in powers) + remove_ability(P) + owner.alpha = 255 -/mob/proc/handle_bloodsucking(mob/living/carbon/human/H) - src.mind.vampire.draining = H +/datum/vampire/proc/handle_bloodsucking(mob/living/carbon/human/H) + draining = H var/blood = 0 - var/bloodtotal = 0 //used to see if we increased our blood total - var/bloodusable = 0 //used to see if we increased our blood usable - src.attack_log += text("\[[time_stamp()]\] Bit [src.name] ([src.ckey]) in the neck and draining their blood") - H.attack_log += text("\[[time_stamp()]\] Has been bit in the neck by [src.name] ([src.ckey])") - log_attack("[src.name] ([src.ckey]) bit [H.name] ([H.ckey]) in the neck") - src.visible_message("\red [src.name] bites [H.name]'s neck!", "\red You bite [H.name]'s neck and begin to drain their blood.", "\blue You hear a soft puncture and a wet sucking noise") - if(!iscarbon(src)) + var/old_bloodtotal = 0 //used to see if we increased our blood total + var/old_bloodusable = 0 //used to see if we increased our blood usable + owner.attack_log += text("\[[time_stamp()]\] Bit [H] ([H.ckey]) in the neck and draining their blood") + H.attack_log += text("\[[time_stamp()]\] Has been bit in the neck by [owner] ([owner.ckey])") + log_attack("[owner] ([owner.ckey]) bit [H] ([H.ckey]) in the neck") + owner.visible_message("[owner] bites [H]'s neck!", "You bite [H]'s neck and begin to drain their blood.", "You hear a soft puncture and a wet sucking noise.") + if(!iscarbon(owner)) H.LAssailant = null else - H.LAssailant = src - while(do_mob(src, H, 50)) - if(!mind.vampire || !(mind in ticker.mode.vampires)) - src << "\red Your fangs have disappeared!" - return 0 - bloodtotal = src.mind.vampire.bloodtotal - bloodusable = src.mind.vampire.bloodusable + H.LAssailant = owner + while(do_mob(owner, H, 50)) + if(!(owner.mind in ticker.mode.vampires)) + owner << "Your fangs have disappeared!" + return + old_bloodtotal = bloodtotal + old_bloodusable = bloodusable if(!H.vessel.get_reagent_amount("blood")) - src << "\red They've got no blood left to give." + src << "They've got no blood left to give." break - if(H.stat < 2) //alive + if(H.stat < DEAD) blood = min(20, H.vessel.get_reagent_amount("blood")) // if they have less than 20 blood, give them the remnant else they get 20 blood - src.mind.vampire.bloodtotal += blood/2 //divide by 2 to counted the double suction since removing cloneloss -Melandor0 - src.mind.vampire.bloodusable += blood/2 - //H.adjust CloneLoss(10) No cloneloss -Melandor0 + bloodtotal += blood / 2 //divide by 2 to counted the double suction since removing cloneloss -Melandor0 + bloodusable += blood / 2 else blood = min(5, H.vessel.get_reagent_amount("blood")) // The dead only give 5 bloods - src.mind.vampire.bloodtotal += blood - if(bloodtotal != src.mind.vampire.bloodtotal) - src << "\blue You have accumulated [src.mind.vampire.bloodtotal] [src.mind.vampire.bloodtotal > 1 ? "units" : "unit"] of blood[src.mind.vampire.bloodusable != bloodusable ?", and have [src.mind.vampire.bloodusable] left to use" : "."]" - check_vampire_upgrade(mind) - H.vessel.remove_reagent("blood",25) - if(ishuman(src)) - var/mob/living/carbon/human/V = src - V.nutrition = min(450,V.nutrition+(blood/2)) + bloodtotal += blood + if(old_bloodtotal != bloodtotal) + owner << "You have accumulated [bloodtotal] [bloodtotal > 1 ? "units" : "unit"] of blood[bloodusable != old_bloodusable ? ", and have [bloodusable] left to use" : ""]." + check_vampire_upgrade() + H.vessel.remove_reagent("blood", 25) + if(ishuman(owner)) + var/mob/living/carbon/human/V = owner + V.nutrition = min(450, V.nutrition + (blood / 2)) - src.mind.vampire.draining = null - src << "\blue You stop draining [H.name] of blood." - return 1 + draining = null + owner << "You stop draining [H.name] of blood." -/mob/proc/check_vampire_upgrade(datum/mind/v) - if(!v) return - if(!v.vampire) return - var/datum/vampire/vamp = v.vampire - var/list/old_powers = vamp.powers.Copy() +/datum/vampire/proc/check_vampire_upgrade(announce = 1) + var/list/old_powers = powers.Copy() - // This used to be a switch statement. - // Don't use switch statements for shit like this, since blood can be any random-ass value. - // if(100) requires the blood to be at EXACTLY 100 units to trigger. - // if(blud >= 100) activates when blood is at or over 100 units. - // TODO: Make this modular. + for(var/ptype in upgrade_tiers) + var/level = upgrade_tiers[ptype] + if(bloodtotal >= level) + add_ability(ptype) - // TIER 1 - if(vamp.bloodtotal >= 100) - if(!(VAMP_VISION in vamp.powers)) - vamp.powers.Add(VAMP_VISION) - if(!(VAMP_SHAPE in vamp.powers)) - vamp.powers.Add(VAMP_SHAPE) + if(announce) + announce_new_power(old_powers) - // TIER 2 - if(vamp.bloodtotal >= 150) - if(!(VAMP_CLOAK in vamp.powers)) - vamp.powers.Add(VAMP_CLOAK) - if(!(VAMP_DISEASE in vamp.powers)) - vamp.powers.Add(VAMP_DISEASE) - - // TIER 3 - if(vamp.bloodtotal >= 200) - if(!(VAMP_BATS in vamp.powers)) - vamp.powers.Add(VAMP_BATS) - if(!(VAMP_SCREAM in vamp.powers)) - vamp.powers.Add(VAMP_SCREAM) - if(!(vamp.upgradedRegen)) // to prevent spamming - src << "Your rejuvination abilities have improved and will now heal you over time when used." - vamp.upgradedRegen = 1 - - // TIER 3.5 (/vg/) - if(vamp.bloodtotal >= 250) - if(!(VAMP_BLINK in vamp.powers)) - vamp.powers.Add(VAMP_BLINK) - - // TIER 4 - if(vamp.bloodtotal >= 300) - if(!(VAMP_JAUNT in vamp.powers)) - vamp.powers.Add(VAMP_JAUNT) - if(!(VAMP_SLAVE in vamp.powers)) - vamp.powers.Add(VAMP_SLAVE) - - // TIER 5 - if(vamp.bloodtotal >= 500) - if(!(VAMP_FULL in vamp.powers)) - vamp.powers.Add(VAMP_FULL) - - announce_new_power(old_powers, vamp.powers) - -/mob/proc/announce_new_power(list/old_powers, list/new_powers) - for(var/n in new_powers) - if(!(n in old_powers)) - switch(n) - if(VAMP_SHAPE) - src << "\blue You have gained the shapeshifting ability, at the cost of stored blood you can change your form permanently." - verbs += /client/vampire/proc/vampire_shapeshift - if(VAMP_VISION) - src << "\blue Your vampiric vision has improved." - //no verb - if(VAMP_DISEASE) - src << "\blue You have gained the Diseased Touch ability which causes those you touch to die shortly after unless treated medically." - verbs += /client/vampire/proc/vampire_disease - if(VAMP_CLOAK) - src << "\blue You have gained the Cloak of Darkness ability which when toggled makes you near invisible in the shroud of darkness." - verbs += /client/vampire/proc/vampire_cloak - if(VAMP_BATS) - src << "\blue You have gained the Summon Bats ability." - verbs += /client/vampire/proc/vampire_bats // work in progress - if(VAMP_SCREAM) - src << "\blue You have gained the Chriopteran Screech ability which stuns anything with ears in a large radius and shatters glass in the process." - verbs += /client/vampire/proc/vampire_screech - if(VAMP_JAUNT) - src << "\blue You have gained the Mist Form ability which allows you to take on the form of mist for a short period and pass over any obstacle in your path." - verbs += /client/vampire/proc/vampire_jaunt - if(VAMP_SLAVE) - src << "\blue You have gained the Enthrall ability which at a heavy blood cost allows you to enslave a human that is not loyal to any other for a random period of time." - verbs += /client/vampire/proc/vampire_enthrall - if(VAMP_BLINK) - src << "\blue You have gained the ability to shadowstep, which makes you disappear into nearby shadows at the cost of blood." - verbs += /client/vampire/proc/vampire_shadowstep - if(VAMP_FULL) - src << "\blue You have reached your full potential and are no longer weak to the effects of anything holy and your vision has been improved greatly." - //no verb +/datum/vampire/proc/announce_new_power(list/old_powers) + for(var/p in powers) + if(!(p in old_powers)) + if(istype(p, /obj/effect/proc_holder/spell/vampire)) + var/obj/effect/proc_holder/spell/vampire/power = p + owner << "[power.gain_desc]" + else if(istype(p, /datum/vampire_passive)) + var/datum/vampire_passive/power = p + owner << "[power.gain_desc]" //prepare for copypaste /datum/game_mode/proc/update_vampire_icons_added(datum/mind/vampire_mind) @@ -411,55 +354,79 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha //world << "Removed [vampire_mind.current.name] from vampire shit" vampire_mind.current << "\red The fog clouding your mind clears. You remember nothing from the moment you were enthralled until now." -/mob/living/carbon/human/proc/check_sun() - - var/ax = x - var/ay = y +/datum/vampire/proc/check_sun() + var/ax = owner.x + var/ay = owner.y for(var/i = 1 to 20) ax += sun.dx ay += sun.dy - var/turf/T = locate( round(ax,0.5),round(ay,0.5),z) + var/turf/T = locate(round(ax, 0.5), round(ay, 0.5), owner.z) - if(T.x == 1 || T.x==world.maxx || T.y==1 || T.y==world.maxy) + if(T.x == 1 || T.x == world.maxx || T.y == 1 || T.y == world.maxy) break if(T.density) return vamp_burn() -/mob/living/carbon/human/proc/handle_vampire() - if(hud_used) - if(!hud_used.vampire_blood_display) - hud_used.vampire_hud() - hud_used.vampire_blood_display.maptext = "
[mind.vampire.bloodusable]
" +/datum/vampire/proc/handle_vampire() + if(owner.hud_used) + var/datum/hud/hud = owner.hud_used + if(!hud.vampire_blood_display) + hud.vampire_hud() + hud.vampire_blood_display.maptext = "
[bloodusable]
" handle_vampire_cloak() - if(istype(loc, /turf/space)) + if(istype(owner.loc, /turf/space)) check_sun() - if(istype(loc.loc, /area/chapel) && !(VAMP_FULL in src.mind.vampire.powers)) + if(istype(owner.loc.loc, /area/chapel) && !get_ability(/datum/vampire_passive/full)) vamp_burn() - mind.vampire.nullified = max(0, mind.vampire.nullified - 1) + nullified = max(0, nullified - 1) -mob/living/carbon/human/proc/vamp_burn() - if(prob(35)) - switch(health) - if(80 to 100) - src << "\red Your skin flakes away..." - if(60 to 80) - src << "Your skin sizzles!" - if((-INFINITY) to 60) - if(!on_fire) - src << "\red Your skin catches fire!" - else - src << "\red You continue to burn!" - fire_stacks += 5 - IgniteMob() - emote("scream") +/datum/vampire/proc/handle_vampire_cloak() + if(!ishuman(owner)) + owner.alpha = 255 + return + var/turf/simulated/T = get_turf(owner) + var/atom/movable/lighting_overlay/L = locate(/atom/movable/lighting_overlay) in T + var/light_available + if(L) + light_available = L.get_clamped_lum(0.5) * 10 else - switch(health) + light_available = 10 + + if(!istype(T)) + return 0 + + if(!iscloaking) + owner.alpha = 255 + return 0 + if(light_available <= 2) + owner.alpha = round((255 * 0.15)) + return 1 + else + owner.alpha = round((255 * 0.80)) + +/datum/vampire/proc/vamp_burn() + if(prob(35)) + switch(owner.health) + if(80 to 100) + owner << "Your skin flakes away..." + if(60 to 80) + owner << "Your skin sizzles!" if((-INFINITY) to 60) - fire_stacks++ - IgniteMob() - adjustFireLoss(3) - return + if(!owner.on_fire) + owner << "Your skin catches fire!" + else + owner << "You continue to burn!" + owner.fire_stacks += 5 + owner.IgniteMob() + owner.emote("scream") + else + switch(owner.health) + if((-INFINITY) to 60) + owner.fire_stacks++ + owner.IgniteMob() + owner.adjustFireLoss(3) + return \ No newline at end of file diff --git a/code/game/gamemodes/vampire/vampire_powers.dm b/code/game/gamemodes/vampire/vampire_powers.dm index 5794b144d51..13894ddf025 100644 --- a/code/game/gamemodes/vampire/vampire_powers.dm +++ b/code/game/gamemodes/vampire/vampire_powers.dm @@ -1,296 +1,307 @@ //This should hold all the vampire related powers +/obj/effect/proc_holder/spell/vampire + panel = "Vampire" + school = "vampire" + clothes_req = 0 + range = 1 + charge_max = 1800 + action_background_icon_state = "bg_vampire" + var/required_blood = 0 + var/gain_desc = null -/mob/proc/vampire_power(required_blood=0, max_stat=0) +/obj/effect/proc_holder/spell/vampire/New() + ..() + if(!gain_desc) + gain_desc = "You have gained \the [src] ability." - if(!src.mind) return 0 - if(!ishuman(src)) - src << "You are in too weak of a form to do this!" +/obj/effect/proc_holder/spell/vampire/cast_check(skipcharge = 0, mob/living/user = usr) + if(!user.mind) + return 0 + if(!ishuman(user)) + user << "You are in too weak of a form to do this!" return 0 - var/datum/vampire/vampire = src.mind.vampire + var/datum/vampire/vampire = user.mind.vampire if(!vampire) - log_to_dd("[src] has vampire verbs but isn't a vampire.") return 0 - var/fullpower = (VAMP_FULL in vampire.powers) + var/fullpower = vampire.get_ability(/datum/vampire_passive/full) - if(src.stat > max_stat) - src << "You are incapacitated." + if(user.stat >= DEAD) + user << "Not when you're dead!" return 0 - if(vampire.nullified) - if(!fullpower) - src << "Something is blocking your powers!" - return 0 + if(vampire.nullified && !fullpower) + user << "Something is blocking your powers!" + return 0 if(vampire.bloodusable < required_blood) - src << "You require at least [required_blood] units of usable blood to do that!" + user << "You require at least [required_blood] units of usable blood to do that!" return 0 //chapel check - if(istype(loc.loc, /area/chapel)) - if(!fullpower) - src << "Your powers are useless on this holy ground." - return 0 - return 1 + if(istype(loc.loc, /area/chapel) && !fullpower) + user << "Your powers are useless on this holy ground." + return 0 + return ..() -/mob/proc/vampire_affected(datum/mind/M) +/obj/effect/proc_holder/spell/vampire/can_cast(mob/user = usr) + if(!user.mind) + return 0 + if(!ishuman(user)) + return 0 + + var/datum/vampire/vampire = user.mind.vampire + + if(!vampire) + return 0 + + var/fullpower = vampire.get_ability(/datum/vampire_passive/full) + + if(user.stat >= DEAD) + return 0 + + if(vampire.nullified && !fullpower) + return 0 + if(vampire.bloodusable < required_blood) + return 0 + if(istype(loc.loc, /area/chapel) && !fullpower) + return 0 + return ..() + +/obj/effect/proc_holder/spell/vampire/proc/affects(mob/target, mob/user = usr) //Other vampires aren't affected - if(mind && mind.vampire) return 0 + if(target.mind && target.mind.vampire) + return 0 //Vampires who have reached their full potential can affect nearly everything - if(M && M.vampire && (VAMP_FULL in M.vampire.powers)) + if(user.mind.vampire.get_ability(/datum/vampire_passive/full)) return 1 //Chaplains are resistant to vampire powers - if(mind && mind.assigned_role == "Chaplain") + if(target.mind && target.mind.assigned_role == "Chaplain") return 0 return 1 -/mob/proc/vampire_can_reach(mob/M as mob, active_range = 1) - if(M.loc == src.loc) return 1 //target and source are in the same thing - if(!isturf(src.loc) || !isturf(M.loc)) return 0 //One is inside, the other is outside something. - if(Adjacent(M))//if(AStar(src.loc, M.loc, /turf/proc/AdjacentTurfs, /turf/proc/Distance, active_range)) //If a path exists, good! - return 1 - return 0 +/obj/effect/proc_holder/spell/vampire/proc/can_reach(mob/M as mob) + if(M.loc == usr.loc) + return 1 //target and source are in the same thing + return M in oview_or_orange(range, usr, selection_type) -/mob/proc/vampire_active(required_blood=0, max_stat=0, active_range=1) - var/pass = vampire_power(required_blood, max_stat) - if(!pass) return - var/datum/vampire/vampire = mind.vampire - if(!vampire) return - var/list/victims = list() - for(var/mob/living/carbon/C in view(active_range)) - victims += C - var/mob/living/carbon/T = input(src, "Victim?") as null|anything in victims +/obj/effect/proc_holder/spell/vampire/before_cast(list/targets) + // sanity check before we cast + if(!usr.mind || !usr.mind.vampire) + targets.Cut() + return - if(!T) return - if(!(T in view(active_range))) return - if(!vampire_can_reach(T, active_range)) return - if(!vampire_power(required_blood, max_stat)) return - return T + if(!required_blood) + return -/client/vampire/proc/vampire_rejuvinate() - set category = "Abilities" - set name = "Rejuvinate " - set desc= "Flush your system with spare blood to remove any incapacitating effects" - var/datum/mind/M = usr.mind - if(!M) return - if(M.current.vampire_power(0, 1)) - M.current.SetWeakened(0) - M.current.SetStunned(0) - M.current.SetParalysis(0) - M.current.adjustStaminaLoss(-75) - //M.vampire.bloodusable -= 10 - M.current << "\blue You flush your system with clean blood and remove any incapacitating effects." - spawn(1) - if(M.vampire.bloodtotal >= 200) - for(var/i = 0; i < 5; i++) - M.current.adjustBruteLoss(-2) - M.current.adjustOxyLoss(-5) - M.current.adjustToxLoss(-2) - M.current.adjustFireLoss(-2) - sleep(35) - M.current.verbs -= /client/vampire/proc/vampire_rejuvinate - spawn(200) - M.current.verbs += /client/vampire/proc/vampire_rejuvinate + // enforce blood + var/datum/vampire/vampire = usr.mind.vampire -/client/vampire/proc/vampire_hypnotise() - set category = "Abilities" - set name = "Hypnotise (20)" - set desc= "A piercing stare that incapacitates your victim for a good length of time." - var/datum/mind/M = usr.mind - if(!M) return + if(required_blood <= vampire.bloodusable) + vampire.bloodusable -= required_blood + else + // stop!! + targets.Cut() - var/mob/living/carbon/C = M.current.vampire_active(20, 0, 1) + if(targets.len) + usr << "You have [vampire.bloodusable] left to use." - if(!C) return - M.current.visible_message("[M]'s eyes flash briefly as he stares into [C.name]'s eyes") - M.current.remove_vampire_blood(20) - M.current.verbs -= /client/vampire/proc/vampire_hypnotise - spawn(1800) - M.current.verbs += /client/vampire/proc/vampire_hypnotise - if(do_mob(M.current, C, 50)) - if(C.mind && C.mind.vampire) - M.current << "\red Your piercing gaze fails to knock out [C.name]." - C << "\blue [M.current]'s feeble gaze is ineffective." - return +/obj/effect/proc_holder/spell/vampire/targetted/choose_targets(mob/user = usr) + var/list/possible_targets[0] + for(var/mob/living/carbon/C in oview_or_orange(range, user, selection_type)) + possible_targets += C + var/mob/living/carbon/T = input(user, "Choose your victim.", name) as null|mob in possible_targets + + if(!T || !can_reach(T)) + revert_cast(user) + return + + perform(list(T)) + +/obj/effect/proc_holder/spell/vampire/self/choose_targets(mob/user = usr) + perform(list(user)) + +/obj/effect/proc_holder/spell/vampire/mob_aoe/choose_targets(mob/user = usr) + var/list/targets[0] + for(var/mob/living/carbon/C in oview_or_orange(range, user, selection_type)) + targets += C + + if(!targets.len) + revert_cast(user) + return + + perform(targets) + +/datum/vampire_passive + var/gain_desc + +/datum/vampire_passive/New() + ..() + if(!gain_desc) + gain_desc = "You have gained \the [src] ability." + +//////////////////////////////////////////////////////////////////////////////////////////////////////// + +/obj/effect/proc_holder/spell/vampire/self/rejuvinate + name = "Rejuvinate" + desc= "Flush your system with spare blood to remove any incapacitating effects." + action_icon_state = "vampire_rejuvinate" + charge_max = 200 + stat_allowed = 1 + +/obj/effect/proc_holder/spell/vampire/self/rejuvinate/cast() + var/mob/living/U = usr + + usr.SetWeakened(0) + usr.SetStunned(0) + usr.SetParalysis(0) + U.adjustStaminaLoss(-75) + usr << "You flush your system with clean blood and remove any incapacitating effects." + spawn(1) + if(usr.mind.vampire.get_ability(/datum/vampire_passive/regen)) + for(var/i = 1 to 5) + U.adjustBruteLoss(-2) + U.adjustOxyLoss(-5) + U.adjustToxLoss(-2) + U.adjustFireLoss(-2) + sleep(35) + +/obj/effect/proc_holder/spell/vampire/targetted/hypnotise + name = "Hypnotise (20)" + desc= "A piercing stare that incapacitates your victim for a good length of time." + action_icon_state = "vampire_hypnotise" + required_blood = 20 + +/obj/effect/proc_holder/spell/vampire/targetted/hypnotise/cast(list/targets) + for(var/mob/living/target in targets) + usr.visible_message("[usr]'s eyes flash briefly as he stares into [target]'s eyes") + if(do_mob(usr, target, 50)) + if(!affects(target)) + usr << "Your piercing gaze fails to knock out [target]." + target << "\blue [usr]'s feeble gaze is ineffective." + else + usr << "Your piercing gaze knocks out [target]." + target << "You find yourself unable to move and barely able to speak." + target.Weaken(10) + target.Stun(10) + target.stuttering = 10 else - M.current << "\red Your piercing gaze knocks out [C.name]." - C << "\red You find yourself unable to move and barely able to speak" - C.Weaken(10) - C.Stun(10) - C.stuttering = 10 - else - M.current << "\red You broke your gaze." + revert_cast(usr) + usr << "You broke your gaze." + +/obj/effect/proc_holder/spell/vampire/targetted/disease + name = "Diseased Touch (100)" + desc = "Touches your victim with infected blood giving them the Shutdown Syndrome which quickly shutsdown their major organs resulting in a quick painful death." + gain_desc = "You have gained the Diseased Touch ability which causes those you touch to die shortly after unless treated medically." + action_icon_state = "vampire_disease" + required_blood = 100 + +/obj/effect/proc_holder/spell/vampire/targetted/disease/cast(list/targets) + for(var/mob/living/carbon/target in targets) + usr << "You stealthily infect [target] with your diseased touch." + target.help_shake_act(usr) + if(!affects(target)) + usr << "They seem to be unaffected." + continue + var/datum/disease2/disease/shutdown = new /datum/disease2/disease + var/datum/disease2/effectholder/holder = new /datum/disease2/effectholder + var/datum/disease2/effect/organs/vampire/O = new /datum/disease2/effect/organs/vampire + holder.effect += O + holder.chance = 10 + shutdown.infectionchance = 100 + shutdown.antigen |= text2num(pick(ANTIGENS)) + shutdown.antigen |= text2num(pick(ANTIGENS)) + shutdown.spreadtype = "None" + shutdown.uniqueID = rand(0,10000) + shutdown.effects += holder + shutdown.speed = 1 + shutdown.stage = 2 + shutdown.clicks = 185 + infect_virus2(target, shutdown, 0) + +/obj/effect/proc_holder/spell/vampire/mob_aoe/glare + name = "Glare" + desc = "A scary glare that incapacitates people for a short while around you." + action_icon_state = "vampire_glare" + charge_max = 300 + stat_allowed = 1 + +/obj/effect/proc_holder/spell/vampire/mob_aoe/glare/cast(list/targets) + usr.visible_message("[usr]'s eyes emit a blinding flash!") + if(istype(usr:glasses, /obj/item/clothing/glasses/sunglasses/blindfold)) + usr << "You're blindfolded!" return + for(var/mob/living/target in targets) + if(!affects(target)) + continue + target.Stun(5) + target.Weaken(5) + target.stuttering = 20 + target << "You are blinded by [usr]'s glare." -/client/vampire/proc/vampire_disease() - set category = "Abilities" - set name = "Diseased Touch (100)" - set desc = "Touches your victim with infected blood giving them the Shutdown Syndrome which quickly shutsdown their major organs resulting in a quick painful death." - var/datum/mind/M = usr.mind - if(!M) return +/obj/effect/proc_holder/spell/vampire/self/shapeshift + name = "Shapeshift (50)" + desc = "Changes your name and appearance at the cost of 50 blood and has a cooldown of 3 minutes." + gain_desc = "You have gained the shapeshifting ability, at the cost of stored blood you can change your form permanently." + action_icon_state = "genetic_poly" + required_blood = 50 - var/mob/living/carbon/C = M.current.vampire_active(100, 0, 1) - if(!C) return - if(!M.current.vampire_can_reach(C, 1)) - M.current << "\red You cannot touch [C.name] from where you are standing!" - return - M.current << "\red You stealthily infect [C.name] with your diseased touch." - /*var/t_him = "it" - if (src.gender == MALE) - t_him = "him" - else if (src.gender == FEMALE) - t_him = "her" - M.current.visible_message("\blue [M] shakes [src] trying to wake [t_him] up!" ) - playsound(get_turf(src), 'sound/weapons/thudswoosh.ogg', 50, 1, -1)*/ - C.help_shake_act(M.current) // i use da colon - if(!C.vampire_affected(M)) - M.current << "\red They seem to be unaffected." - return - var/datum/disease2/disease/shutdown = new /datum/disease2/disease - var/datum/disease2/effectholder/holder = new /datum/disease2/effectholder - var/datum/disease2/effect/organs/vampire/O = new /datum/disease2/effect/organs/vampire - holder.effect += O - holder.chance = 10 - shutdown.infectionchance = 100 - shutdown.antigen |= text2num(pick(ANTIGENS)) - shutdown.antigen |= text2num(pick(ANTIGENS)) - shutdown.spreadtype = "None" - shutdown.uniqueID = rand(0,10000) - shutdown.effects += holder - shutdown.speed = 1 - shutdown.stage = 2 - shutdown.clicks = 185 - infect_virus2(C,shutdown,0) - M.current.remove_vampire_blood(100) - M.current.verbs -= /client/vampire/proc/vampire_disease - spawn(1800) M.current.verbs += /client/vampire/proc/vampire_disease +/obj/effect/proc_holder/spell/vampire/self/shapeshift/cast() + usr.visible_message("[usr] transforms!") + usr.client.prefs.real_name = usr.generate_name() + usr.client.prefs.random_character() + usr.client.prefs.copy_to(usr) + usr.regenerate_icons() -/client/vampire/proc/vampire_glare() - set category = "Abilities" - set name = "Glare" - set desc= "A scary glare that incapacitates people for a short while around you." - var/datum/mind/M = usr.mind - if(!M) return - if(M.current.vampire_power(0, 1)) - M.current.visible_message("\red [M.current]'s eyes emit a blinding flash!") - //M.vampire.bloodusable -= 10 - M.current.verbs -= /client/vampire/proc/vampire_glare - spawn(300) - M.current.verbs += /client/vampire/proc/vampire_glare - if(istype(M.current:glasses, /obj/item/clothing/glasses/sunglasses/blindfold)) - M.current << "You're blindfolded!" - return - for(var/mob/living/carbon/C in view(1)) - if(!C.vampire_affected(M)) continue - if(!M.current.vampire_can_reach(C, 1)) continue - C.Stun(5) - C.Weaken(5) - C.stuttering = 20 - C << "\red You are blinded by [M.current]'s glare" +/obj/effect/proc_holder/spell/vampire/self/screech + name = "Chiroptean Screech (30)" + desc = "An extremely loud shriek that stuns nearby humans and breaks windows as well." + gain_desc = "You have gained the Chriopteran Screech ability which stuns anything with ears in a large radius and shatters glass in the process." + action_icon_state = "vampire_screech" + required_blood = 30 -/client/vampire/proc/vampire_shapeshift() - set category = "Abilities" - set name = "Shapeshift (50)" - set desc = "Changes your name and appearance at the cost of 50 blood and has a cooldown of 3 minutes." - var/datum/mind/M = usr.mind - if(!M) return - if(M.current.vampire_power(50, 0)) - M.current.visible_message("[M.current.name] transforms!") - M.current.client.prefs.real_name = M.current.generate_name() //random_name(M.current.gender) - M.current.client.prefs.random_character() - M.current.client.prefs.copy_to(M.current) - M.current.regenerate_icons() - M.current.remove_vampire_blood(50) - M.current.verbs -= /client/vampire/proc/vampire_shapeshift - spawn(1800) M.current.verbs += /client/vampire/proc/vampire_shapeshift +/obj/effect/proc_holder/spell/vampire/self/screech/cast() + usr.visible_message("[usr] lets out an ear piercing shriek!", "You let out a loud shriek.", "You hear a loud painful shriek!") + for(var/mob/living/carbon/C in hearers(4)) + if(C == usr) + continue + if(ishuman(C) && (C:l_ear || C:r_ear) && istype((C:l_ear || C:r_ear), /obj/item/clothing/ears/earmuffs)) + continue + if(!affects(C)) + continue + C << "You hear a ear piercing shriek and your senses dull!" + C.Weaken(4) + C.ear_deaf = 20 + C.stuttering = 20 + C.Stun(4) + C.Jitter(150) + for(var/obj/structure/window/W in view(4)) + W.destroy() + playsound(usr.loc, 'sound/effects/creepyshriek.ogg', 100, 1) -/client/vampire/proc/vampire_screech() - set category = "Abilities" - set name = "Chiroptean Screech (30)" - set desc = "An extremely loud shriek that stuns nearby humans and breaks windows as well." - var/datum/mind/M = usr.mind - if(!M) return - if(M.current.vampire_power(30, 0)) - M.current.visible_message("\red [M.current.name] lets out an ear piercing shriek!", "\red You let out a loud shriek.", "\red You hear a loud painful shriek!") - for(var/mob/living/carbon/C in hearers(4, M.current)) - if(C == M.current) continue - if(ishuman(C) && (C:l_ear || C:r_ear) && istype((C:l_ear || C:r_ear), /obj/item/clothing/ears/earmuffs)) continue - if(!C.vampire_affected(M)) continue - C << "You hear a ear piercing shriek and your senses dull!" - C.Weaken(4) - C.ear_deaf = 20 - C.stuttering = 20 - C.Stun(4) - C.Jitter(150) - for(var/obj/structure/window/W in view(4)) - W.destroy() - playsound(M.current.loc, 'sound/effects/creepyshriek.ogg', 100, 1) - M.current.remove_vampire_blood(30) - M.current.verbs -= /client/vampire/proc/vampire_screech - spawn(1800) M.current.verbs += /client/vampire/proc/vampire_screech +/obj/effect/proc_holder/spell/vampire/targetted/enthrall + name = "Enthrall (300)" + desc = "You use a large portion of your power to sway those loyal to none to be loyal to you only." + gain_desc = "You have gained the Enthrall ability which at a heavy blood cost allows you to enslave a human that is not loyal to any other for a random period of time." + action_icon_state = "vampire_enthrall" + required_blood = 300 -/client/vampire/proc/vampire_enthrall() - set category = "Abilities" - set name = "Enthrall (300)" - set desc = "You use a large portion of your power to sway those loyal to none to be loyal to you only." - var/datum/mind/M = usr.mind - if(!M) return - var/mob/living/carbon/C = M.current.vampire_active(300, 0, 1) - if(!C) return - M.current.visible_message("\red [M.current.name] bites [C.name]'s neck!", "\red You bite [C.name]'s neck and begin the flow of power.") - C << "You feel the tendrils of evil invade your mind." - if(!ishuman(C)) - M.current << "\red You can only enthrall humans" - return +/obj/effect/proc_holder/spell/vampire/targetted/enthrall/cast(list/targets) + for(var/mob/living/target in targets) + usr.visible_message("[usr] bites [target]'s neck!", "You bite [target]'s neck and begin the flow of power.") + target << "You feel the tendrils of evil invade your mind." + if(!ishuman(target)) + usr << "You can only enthrall humans." + break + if(do_mob(usr, target, 50)) + if(can_enthrall(usr, target)) + handle_enthrall(usr, target) + else + revert_cast(usr) + usr << "You or your target either moved or you dont have enough usable blood." - if(do_mob(M.current, C, 50)) - if(M.current.can_enthrall(C) && M.current.vampire_power(300, 0)) // recheck - M.current.handle_enthrall(C) - M.current.remove_vampire_blood(300) - M.current.verbs -= /client/vampire/proc/vampire_enthrall - spawn(1800) M.current.verbs += /client/vampire/proc/vampire_enthrall - else - M.current << "\red You or your target either moved or you dont have enough usable blood." - return - - - -/client/vampire/proc/vampire_cloak() - set category = "Abilities" - set name = "Cloak of Darkness (toggle)" - set desc = "Toggles whether you are currently cloaking yourself in darkness." - var/datum/mind/M = usr.mind - if(!M) return - if(M.current.vampire_power(0, 0)) - M.vampire.iscloaking = !M.vampire.iscloaking - M.current << "\blue You will now be [M.vampire.iscloaking ? "hidden" : "seen"] in darkness." - -/mob/proc/handle_vampire_cloak() - if(!mind || !mind.vampire || !ishuman(src)) - alpha = 255 - return - var/turf/simulated/T = get_turf(src) - var/atom/movable/lighting_overlay/L = locate(/atom/movable/lighting_overlay) in T - var/light_available - if(L) - light_available = L.get_clamped_lum(0.5)*10 - else - light_available = 10 - - if(!istype(T)) - return 0 - - if(!mind.vampire.iscloaking) - alpha = 255 - return 0 - if(light_available <= 2) - alpha = round((255 * 0.15)) - return 1 - else - alpha = round((255 * 0.80)) - -/mob/proc/can_enthrall(mob/living/carbon/C) +/obj/effect/proc_holder/spell/vampire/targetted/enthrall/proc/can_enthrall(mob/living/user, mob/living/carbon/C) var/enthrall_safe = 0 for(var/obj/item/weapon/implant/loyalty/L in C) if(L && L.implanted) @@ -301,197 +312,226 @@ enthrall_safe = 1 break if(!C) - log_to_dd("something bad happened on enthralling a mob src is [src] [src.key] \ref[src]") + log_to_dd("something bad happened on enthralling a mob, attacker is [user] [user.key] \ref[user]") return 0 if(!C.mind) - src << "\red [C.name]'s mind is not there for you to enthrall." + user << "" return 0 if(enthrall_safe || ( C.mind in ticker.mode.vampires )||( C.mind.vampire )||( C.mind in ticker.mode.vampire_enthralled )) - C.visible_message("\red [C] seems to resist the takeover!", "\blue You feel a familiar sensation in your skull that quickly dissipates.") + C.visible_message("[C] seems to resist the takeover!", "You feel a familiar sensation in your skull that quickly dissipates.") return 0 - if(!C.vampire_affected(mind)) - C.visible_message("\red [C] seems to resist the takeover!", "\blue Your faith of [ticker.Bible_deity_name] has kept your mind clear of all evil") + if(!affects(C)) + C.visible_message("[C] seems to resist the takeover!", "Your faith of [ticker.Bible_deity_name] has kept your mind clear of all evil.") if(!ishuman(C)) - src << "\red You can only enthrall humans!" + user << "You can only enthrall humans!" return 0 return 1 -/mob/proc/handle_enthrall(mob/living/carbon/human/H as mob) +/obj/effect/proc_holder/spell/vampire/targetted/enthrall/proc/handle_enthrall(mob/living/user, mob/living/carbon/human/H as mob) if(!istype(H)) - src << "\red SOMETHING WENT WRONG, YELL AT POMF OR NEXIS" return 0 - var/ref = "\ref[src.mind]" + var/ref = "\ref[user.mind]" if(!(ref in ticker.mode.vampire_thralls)) ticker.mode.vampire_thralls[ref] = list(H.mind) else ticker.mode.vampire_thralls[ref] += H.mind ticker.mode.update_vampire_icons_added(H.mind) - ticker.mode.update_vampire_icons_added(src.mind) - var/datum/mindslaves/slaved = src.mind.som + ticker.mode.update_vampire_icons_added(user.mind) + var/datum/mindslaves/slaved = user.mind.som H.mind.som = slaved slaved.serv += H - slaved.add_serv_hud(src.mind,"vampire")//handles master servent icons - slaved.add_serv_hud(H.mind,"vampthrall") + slaved.add_serv_hud(user.mind, "vampire")//handles master servent icons + slaved.add_serv_hud(H.mind, "vampthrall") ticker.mode.vampire_enthralled.Add(H.mind) - ticker.mode.vampire_enthralled[H.mind] = src.mind + ticker.mode.vampire_enthralled[H.mind] = user.mind H.mind.special_role = "VampThrall" - H << "\red You have been Enthralled by [name]. Follow their every command." - src << "\red You have successfully Enthralled [H.name]. If they refuse to do as you say just adminhelp." - log_admin("[ckey(src.key)] has mind-slaved [ckey(H.key)].") + H << "You have been Enthralled by [user]. Follow their every command." + src << "You have successfully Enthralled [H]. If they refuse to do as you say just adminhelp." + log_admin("[ckey(user.key)] has mind-slaved [ckey(H.key)].") -/client/vampire/proc/vampire_bats() - set category = "Abilities" - set name = "Summon Bats (75)" - set desc = "You summon a pair of space bats who attack nearby targets until they or their target is dead." - var/datum/mind/M = usr.mind - if(!M) return - if(M.current.vampire_power(75, 0)) - var/list/turf/locs = new - var/number = 0 - for(var/direction in alldirs) //looking for bat spawns - if(locs.len == 2) //we found 2 locations and thats all we need - break - var/turf/T = get_step(M.current,direction) //getting a loc in that direction - if(AStar(M.current.loc, T, /turf/proc/AdjacentTurfs, /turf/proc/Distance, 1, simulated_only = 0)) // if a path exists, so no dense objects in the way its valid salid - locs += T - if(locs.len) - for(var/turf/tospawn in locs) - number++ - new /mob/living/simple_animal/hostile/scarybat(tospawn, M.current) - if(number != 2) //if we only found one location, spawn one on top of our tile so we dont get stacked bats - new /mob/living/simple_animal/hostile/scarybat(M.current.loc, M.current) - else // we had no good locations so make two on top of us - new /mob/living/simple_animal/hostile/scarybat(M.current.loc, M.current) - new /mob/living/simple_animal/hostile/scarybat(M.current.loc, M.current) - M.current.remove_vampire_blood(75) - M.current.verbs -= /client/vampire/proc/vampire_bats - spawn(1200) M.current.verbs += /client/vampire/proc/vampire_bats +/obj/effect/proc_holder/spell/vampire/self/cloak + name = "Cloak of Darkness" + desc = "Toggles whether you are currently cloaking yourself in darkness." + gain_desc = "You have gained the Cloak of Darkness ability which when toggled makes you near invisible in the shroud of darkness." + action_icon_state = "vampire_cloak" + charge_max = 10 -/client/vampire/proc/vampire_jaunt() - //AHOY COPY PASTE INCOMING - set category = "Abilities" - set name = "Mist Form (30)" - set desc = "You take on the form of mist for a short period of time." +/obj/effect/proc_holder/spell/vampire/self/cloak/New() + ..() + update_name() + +/obj/effect/proc_holder/spell/vampire/self/cloak/proc/update_name() + var/mob/living/user = loc + if(!ishuman(user) || !user.mind || !user.mind.vampire) + return + name = "[initial(name)] ([user.mind.vampire.iscloaking ? "Deactivate" : "Activate"])" + +/obj/effect/proc_holder/spell/vampire/self/cloak/cast() + var/datum/vampire/V = usr.mind.vampire + V.iscloaking = !V.iscloaking + update_name() + usr << "You will now be [V.iscloaking ? "hidden" : "seen"] in darkness." + +/obj/effect/proc_holder/spell/vampire/bats + name = "Summon Bats (75)" + desc = "You summon a pair of space bats who attack nearby targets until they or their target is dead." + gain_desc = "You have gained the Summon Bats ability." + action_icon_state = "vampire_bats" + charge_max = 1200 + required_blood = 75 + var/num_bats = 2 + +/obj/effect/proc_holder/spell/vampire/bats/choose_targets(mob/user = usr) + var/list/turf/locs = new + for(var/direction in alldirs) //looking for bat spawns + if(locs.len == num_bats) //we found 2 locations and thats all we need + break + var/turf/T = get_step(usr, direction) //getting a loc in that direction + if(AStar(usr.loc, T, /turf/proc/AdjacentTurfs, /turf/proc/Distance, 1, simulated_only = 0)) // if a path exists, so no dense objects in the way its valid salid + locs += T + + // pad with player location + for(var/i = locs.len + 1 to num_bats) + locs += user.loc + + perform(locs) + +/obj/effect/proc_holder/spell/vampire/bats/cast(list/targets) + for(var/T in targets) + new /mob/living/simple_animal/hostile/scarybat(T, usr) + +/obj/effect/proc_holder/spell/vampire/self/jaunt + name = "Mist Form (30)" + desc = "You take on the form of mist for a short period of time." + gain_desc = "You have gained the Mist Form ability which allows you to take on the form of mist for a short period and pass over any obstacle in your path." + action_icon_state = "jaunt" + charge_max = 600 + required_blood = 30 var/jaunt_duration = 50 //in deciseconds - var/datum/mind/M = usr.mind - if(!M) return - if(M.current.vampire_power(30, 0)) - if(M.current.buckled) M.current.buckled.unbuckle_mob() - spawn(0) - var/originalloc = get_turf(M.current.loc) - var/obj/effect/dummy/spell_jaunt/holder = new /obj/effect/dummy/spell_jaunt( originalloc ) - var/atom/movable/overlay/animation = new /atom/movable/overlay( originalloc ) - animation.name = "water" - animation.density = 0 - animation.anchored = 1 - animation.icon = 'icons/mob/mob.dmi' - animation.icon_state = "liquify" - animation.layer = 5 - animation.master = holder - M.current.ExtinguishMob() - if(M.current.buckled) - M.current.buckled.unbuckle_mob() - flick("liquify",animation) - M.current.loc = holder - M.current.client.eye = holder - var/datum/effect/system/steam_spread/steam = new /datum/effect/system/steam_spread() - steam.set_up(10, 0, originalloc) - steam.start() - sleep(jaunt_duration) - var/mobloc = get_turf(M.current.loc) - if(get_area(mobloc) == /area/security/armoury/gamma) - M << "A strange energy repels you!" - mobloc = originalloc - animation.loc = mobloc - steam.location = mobloc - steam.start() - M.current.canmove = 0 - sleep(20) - flick("reappear",animation) - sleep(5) - if(!M.current.Move(mobloc)) - for(var/direction in list(1,2,4,8,5,6,9,10)) - var/turf/T = get_step(mobloc, direction) - if(T) - if(M.current.Move(T)) - break - M.current.canmove = 1 - M.current.client.eye = M.current - qdel(animation) - qdel(holder) - M.current.remove_vampire_blood(30) - M.current.verbs -= /client/vampire/proc/vampire_jaunt - spawn(600) M.current.verbs += /client/vampire/proc/vampire_jaunt +/obj/effect/proc_holder/spell/vampire/self/jaunt/cast() + if(usr.buckled) + usr.buckled.unbuckle_mob() + spawn(0) + var/mob/living/U = usr + var/originalloc = get_turf(usr.loc) + var/obj/effect/dummy/spell_jaunt/holder = new /obj/effect/dummy/spell_jaunt(originalloc) + var/atom/movable/overlay/animation = new /atom/movable/overlay(originalloc) + animation.name = "water" + animation.density = 0 + animation.anchored = 1 + animation.icon = 'icons/mob/mob.dmi' + animation.icon_state = "liquify" + animation.layer = 5 + animation.master = holder + U.ExtinguishMob() + if(usr.buckled) + usr.buckled.unbuckle_mob() + flick("liquify", animation) + usr.forceMove(holder) + usr.client.eye = holder + var/datum/effect/system/steam_spread/steam = new /datum/effect/system/steam_spread() + steam.set_up(10, 0, originalloc) + steam.start() + sleep(jaunt_duration) + var/mobloc = get_turf(usr.loc) + if(get_area(mobloc) == /area/security/armoury/gamma) + usr << "A strange energy repels you!" + mobloc = originalloc + animation.loc = mobloc + steam.location = mobloc + steam.start() + usr.canmove = 0 + sleep(20) + flick("reappear",animation) + sleep(5) + if(!usr.Move(mobloc)) + for(var/direction in list(1,2,4,8,5,6,9,10)) + var/turf/T = get_step(mobloc, direction) + if(T) + if(usr.Move(T)) + break + usr.canmove = 1 + usr.client.eye = usr + qdel(animation) + qdel(holder) // Blink for vamps // Less smoke spam. -/client/vampire/proc/vampire_shadowstep() - set category = "Abilities" - set name = "Shadowstep (30)" - set desc = "Vanish into the shadows." - var/datum/mind/M = usr.mind - if(!M) return +/obj/effect/proc_holder/spell/vampire/shadowstep + name = "Shadowstep (30)" + desc = "Vanish into the shadows." + gain_desc = "You have gained the ability to shadowstep, which makes you disappear into nearby shadows at the cost of blood." + action_icon_state = "blink" + charge_max = 20 + required_blood = 30 // Teleport radii var/inner_tele_radius = 0 var/outer_tele_radius = 6 - // Maximum lighting_lumcount. var/max_lum = 1 - if(M.current.vampire_power(30, 0)) - if(M.current.buckled) M.current.buckled.unbuckle_mob() - spawn(0) - var/list/turfs = new/list() - for(var/turf/T in range(usr,outer_tele_radius)) - if(T in range(usr,inner_tele_radius)) continue - if(istype(T,/turf/space)) continue - if(T.density) continue - if(T.x>world.maxx-outer_tele_radius || T.xworld.maxy-outer_tele_radius || T.y world.maxx-outer_tele_radius || T.x < outer_tele_radius) + continue //putting them at the edge is dumb + if(T.y > world.maxy-outer_tele_radius || T.y < outer_tele_radius) + continue - var/atom/movable/lighting_overlay/L = locate(/atom/movable/lighting_overlay) in T - var/lightingcount = L.get_clamped_lum(0.5)*10 + var/atom/movable/lighting_overlay/L = locate(/atom/movable/lighting_overlay) in T + var/lightingcount = L.get_clamped_lum(0.5) * 10 - // LIGHTING CHECK - if(lightingcount > max_lum) continue - turfs += T + // LIGHTING CHECK + if(lightingcount > max_lum) + continue + turfs += T - if(!turfs.len) - usr << "\red You cannot find darkness to step to." - return - - var/turf/picked = pick(turfs) - - if(!picked || !isturf(picked)) - return - M.current.ExtinguishMob() - if(M.current.buckled) - M.current.buckled.unbuckle_mob() - var/atom/movable/overlay/animation = new /atom/movable/overlay( get_turf(usr) ) - animation.name = usr.name - animation.density = 0 - animation.anchored = 1 - animation.icon = usr.icon - animation.alpha = 127 - animation.layer = 5 - //animation.master = src - usr.loc = picked - spawn(10) - qdel(animation) - M.current.remove_vampire_blood(30) - M.current.verbs -= /client/vampire/proc/vampire_shadowstep - spawn(20) - M.current.verbs += /client/vampire/proc/vampire_shadowstep - -/mob/proc/remove_vampire_blood(amount = 0) - var/bloodold - if(!mind || !mind.vampire) + if(!turfs.len) + revert_cast(user) + user << "\red You cannot find darkness to step to." return - bloodold = mind.vampire.bloodusable - mind.vampire.bloodusable = max(0, (mind.vampire.bloodusable - amount)) - if(bloodold != mind.vampire.bloodusable) - src << "\blue You have [mind.vampire.bloodusable] left to use." \ No newline at end of file + + perform(turfs) + +/obj/effect/proc_holder/spell/vampire/shadowstep/cast(list/targets) + if(usr.buckled) + usr.buckled.unbuckle_mob() + spawn(0) + var/turf/picked = pick(targets) + + if(!picked || !isturf(picked)) + return + var/mob/living/U = usr + U.ExtinguishMob() + if(usr.buckled) + usr.buckled.unbuckle_mob() + var/atom/movable/overlay/animation = new /atom/movable/overlay(get_turf(usr)) + animation.name = usr.name + animation.density = 0 + animation.anchored = 1 + animation.icon = usr.icon + animation.alpha = 127 + animation.layer = 5 + //animation.master = src + usr.forceMove(picked) + spawn(10) + qdel(animation) + +/datum/vampire_passive/regen + gain_desc = "Your rejuvination abilities have improved and will now heal you over time when used." + +/datum/vampire_passive/vision + gain_desc = "Your vampiric vision has improved." + +/datum/vampire_passive/full + gain_desc = "You have reached your full potential and are no longer weak to the effects of anything holy and your vision has been improved greatly." diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm index f0579af36b4..9202405cb2f 100644 --- a/code/game/objects/items/weapons/weaponry.dm +++ b/code/game/objects/items/weapons/weaponry.dm @@ -55,7 +55,7 @@ if(M.mind) if(M.mind.vampire) if(ishuman(M)) - if(!(VAMP_FULL in M.mind.vampire.powers)) + if(!M.mind.vampire.get_ability(/datum/vampire_passive/full)) M << "The nullrod's power interferes with your own!" M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2) ..() diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index e8ca0524f01..fa4e557a200 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -135,7 +135,7 @@ M << "Blood from a monkey is useless!" return 0 //we're good to suck the blood, blaah - M.handle_bloodsucking(src) + M.mind.vampire.handle_bloodsucking(src) add_logs(src, M, "vampirebit") msg_admin_attack("[key_name_admin(M)] vampirebit [key_name_admin(src)]") return diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 22c7ed648ae..7ed777ebf77 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -88,7 +88,7 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc pulse = handle_pulse() if(mind && mind.vampire) - handle_vampire() + mind.vampire.handle_vampire() if(life_tick == 1) regenerate_icons() // Make sure the inventory updates diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index 2aa84f9c95e..dddd2522ff2 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -423,14 +423,12 @@ H.see_invisible = SEE_INVISIBLE_LIVING if(H.mind && H.mind.vampire) - if((VAMP_VISION in H.mind.vampire.powers) && (!(VAMP_FULL in H.mind.vampire.powers))) - H.sight |= SEE_MOBS - - else if(VAMP_FULL in H.mind.vampire.powers) + if(H.mind.vampire.get_ability(/datum/vampire_passive/full)) H.sight |= SEE_TURFS|SEE_MOBS|SEE_OBJS H.see_in_dark = 8 H.see_invisible = SEE_INVISIBLE_MINIMUM - + else if(H.mind.vampire.get_ability(/datum/vampire_passive/vision)) + H.sight |= SEE_MOBS if(XRAY in H.mutations) H.sight |= SEE_TURFS|SEE_MOBS|SEE_OBJS diff --git a/code/modules/reagents/oldchem/reagents/reagents_water.dm b/code/modules/reagents/oldchem/reagents/reagents_water.dm index b7c296443b5..c0b2de12fc3 100644 --- a/code/modules/reagents/oldchem/reagents/reagents_water.dm +++ b/code/modules/reagents/oldchem/reagents/reagents_water.dm @@ -264,44 +264,40 @@ M.stuttering = 0 M.confused = 0 return - if(ishuman(M) && M.mind) . - if(((M.mind in ticker.mode.vampires) || M.mind.vampire) && (!(VAMP_FULL in M.mind.vampire.powers)) && prob(80)) - switch(data) - if(1 to 4) - M << "Something sizzles in your veins!" - M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2) - if(5 to 12) - M << "You feel an intense burning inside of you!" - M.adjustFireLoss(1) - M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2) - if(13 to INFINITY) - M << "You suddenly ignite in a holy fire!" - for(var/mob/O in viewers(M, null)) - O.show_message(text("[] suddenly bursts into flames!", M), 1) - M.fire_stacks = min(5,M.fire_stacks + 3) - M.IgniteMob() //Only problem with igniting people is currently the commonly availible fire suits make you immune to being on fire - M.adjustFireLoss(3) //Hence the other damages... ain't I a bastard? - M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2) + if(ishuman(M) && M.mind && M.mind.vampire && !M.mind.vampire.get_ability(/datum/vampire_passive/full) && prob(80)) + switch(data) + if(1 to 4) + M << "Something sizzles in your veins!" + M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2) + if(5 to 12) + M << "You feel an intense burning inside of you!" + M.adjustFireLoss(1) + M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2) + if(13 to INFINITY) + M << "You suddenly ignite in a holy fire!" + for(var/mob/O in viewers(M, null)) + O.show_message(text("[] suddenly bursts into flames!", M), 1) + M.fire_stacks = min(5,M.fire_stacks + 3) + M.IgniteMob() //Only problem with igniting people is currently the commonly availible fire suits make you immune to being on fire + M.adjustFireLoss(3) //Hence the other damages... ain't I a bastard? + M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2) ..() - return /datum/reagent/holywater/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume) // Vampires have their powers weakened by holy water applied to the skin. - if(ishuman(M)) - if((M.mind in ticker.mode.vampires) && !(VAMP_FULL in M.mind.vampire.powers)) - var/mob/living/carbon/human/H=M - if(method == TOUCH) - if(H.wear_mask) - H << "\red Your mask protects you from the holy water!" - return - else if(H.head) - H << "\red Your helmet protects you from the holy water!" - return - else - M << "Something holy interferes with your powers!" - M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2) - return + if(ishuman(M) && M.mind && M.mind.vampire && !M.mind.vampire.get_ability(/datum/vampire_passive/full)) + var/mob/living/carbon/human/H=M + if(method == TOUCH) + if(H.wear_mask) + H << "\red Your mask protects you from the holy water!" + return + else if(H.head) + H << "\red Your helmet protects you from the holy water!" + return + else + M << "Something holy interferes with your powers!" + M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2) /datum/reagent/holywater/reaction_turf(var/turf/simulated/T, var/volume) diff --git a/icons/mob/actions.dmi b/icons/mob/actions.dmi index a45ae88ca5894b9e48cf7d1b6e57dd6384a418f5..22d7d9cd166a39f17d17980534ecacbf2826b7cb 100644 GIT binary patch literal 53928 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

t3-JR=} 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 Date: Thu, 10 Mar 2016 07:10:29 -0500 Subject: [PATCH 16/44] Implements Nuke Ops Cybernetics --- code/datums/uplink_item.dm | 50 ++++++++++++++++++ .../surgery/organs/augments_internal.dm | 17 ++++-- code/modules/surgery/organs/autoimplanter.dm | 35 ++++++++++++ icons/obj/device.dmi | Bin 32304 -> 33124 bytes paradise.dme | 1 + 5 files changed, 99 insertions(+), 4 deletions(-) create mode 100644 code/modules/surgery/organs/autoimplanter.dm diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index 2e25e2fd816..2b8ff255420 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -924,6 +924,56 @@ var/list/uplink_items = list() cost = 2 gamemodes = list(/datum/game_mode/nuclear) +// Cybernetics +/datum/uplink_item/cyber_implants + category = "Cybernetic Implants" + surplus = 0 + gamemodes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/cyber_implants/spawn_item(turf/loc, obj/item/device/uplink/U) + if(item) + if(findtext(item, /obj/item/organ/internal/cyberimp)) + return new /obj/item/weapon/storage/box/cyber_implants(loc, item) + else + return ..() + +/datum/uplink_item/cyber_implants/thermals + name = "Thermal Vision Implant" + desc = "These cybernetic eyes will give you thermal vision. Comes with an automated implanting tool." + reference = "CIT" + item = /obj/item/organ/internal/cyberimp/eyes/thermals + cost = 8 + +/datum/uplink_item/cyber_implants/xray + name = "X-Ray Vision Implant" + desc = "These cybernetic eyes will give you X-ray vision. Comes with an automated implanting tool." + reference = "CIX" + item = /obj/item/organ/internal/cyberimp/eyes/xray + cost = 10 + +/datum/uplink_item/cyber_implants/antistun + name = "CNS Rebooter Implant" + desc = "This implant will help you get back up on your feet faster after being stunned. \ + Comes with an automated implanting tool." + reference = "CIAS" + item = /obj/item/organ/internal/cyberimp/brain/anti_stun + cost = 12 + +/datum/uplink_item/cyber_implants/reviver + name = "Reviver Implant" + desc = "This implant will attempt to revive you if you lose consciousness. Comes with an automated implanting tool." + reference = "CIR" + item = /obj/item/organ/internal/cyberimp/chest/reviver + cost = 8 + +/datum/uplink_item/cyber_implants/bundle + name = "Cybernetic Implants Bundle" + desc = "A random selection of cybernetic implants. Guaranteed 5 high quality implants. \ + Comes with an automated implanting tool." + reference = "CIB" + item = /obj/item/weapon/storage/box/cyber_implants/bundle + cost = 40 + // POINTLESS BADASSERY /datum/uplink_item/badass diff --git a/code/modules/surgery/organs/augments_internal.dm b/code/modules/surgery/organs/augments_internal.dm index 7e7eaf75ff9..3b5769b07ec 100644 --- a/code/modules/surgery/organs/augments_internal.dm +++ b/code/modules/surgery/organs/augments_internal.dm @@ -328,18 +328,27 @@ holder = new /obj/item/weapon/gun/energy/laser/mounted(src) //BOX O' IMPLANTS + /obj/item/weapon/storage/box/cyber_implants - name = "boxed cybernetic implants" + name = "boxed cybernetic implant" desc = "A sleek, sturdy box." icon_state = "cyber_implants" + +/obj/item/weapon/storage/box/cyber_implants/New(loc, implant) + ..() + new /obj/item/device/autoimplanter(src) + if(ispath(implant)) + new implant(src) + +/obj/item/weapon/storage/box/cyber_implants/bundle + name = "boxed cybernetic implants" var/list/boxed = list(/obj/item/organ/internal/cyberimp/eyes/xray,/obj/item/organ/internal/cyberimp/eyes/thermals, /obj/item/organ/internal/cyberimp/brain/anti_stun, /obj/item/organ/internal/cyberimp/chest/reviver) var/amount = 5 -/obj/item/weapon/storage/box/cyber_implants/New() +/obj/item/weapon/storage/box/cyber_implants/bundle/New() ..() - var/i var/implant - for(i = 0, i < amount, i++) + while(contents.len <= amount + 1) // +1 for the autoimplanter. implant = pick(boxed) new implant(src) \ No newline at end of file diff --git a/code/modules/surgery/organs/autoimplanter.dm b/code/modules/surgery/organs/autoimplanter.dm new file mode 100644 index 00000000000..98d7867c8c8 --- /dev/null +++ b/code/modules/surgery/organs/autoimplanter.dm @@ -0,0 +1,35 @@ +/obj/item/device/autoimplanter + name = "autoimplanter" + desc = "A device that automatically injects a cyber-implant into the user without the hassle of extensive surgery. It has a slot to insert implants and a screwdriver slot for removing accidentally added implants." + icon_state = "autoimplanter" + item_state = "walkietalkie"//left as this so as to intentionally not have inhands + w_class = 2 + var/obj/item/organ/internal/cyberimp/storedorgan + +/obj/item/device/autoimplanter/attack_self(mob/user)//when the object it used... + if(!storedorgan) + user << "[src] currently has no implant stored." + return + storedorgan.insert(user)//insert stored organ into the user + user.visible_message("[user] presses a button on [src], and you hear a short mechanical noise.", "You feel a sharp sting as [src] plunges into your body.") + playsound(get_turf(user), 'sound/weapons/circsawhit.ogg', 50, 1) + storedorgan = null + +/obj/item/device/autoimplanter/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/organ/internal/cyberimp)) + if(storedorgan) + user << "[src] already has an implant stored." + return + if(!user.drop_item()) + return + I.forceMove(src) + storedorgan = I + user << "You insert the [I] into [src]." + else if(istype(I, /obj/item/weapon/screwdriver)) + if(!storedorgan) + user << "There's no implant in [src] for you to remove." + else + storedorgan.forceMove(get_turf(user)) + storedorgan = null + user << "You remove the [storedorgan] from [src]." + playsound(get_turf(user), 'sound/items/Screwdriver.ogg', 50, 1) diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index 6cbf410527620692d91e788dd1410ac866291d17..37026b153be5d3829010a8c9c01bb4f36e5c24b8 100644 GIT binary patch delta 12365 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 IYSy9uAB^#`s{jB1 diff --git a/paradise.dme b/paradise.dme index 111dc8d88eb..dd87fb61193 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1871,6 +1871,7 @@ #include "code\modules\surgery\tools.dm" #include "code\modules\surgery\organs\augments_eyes.dm" #include "code\modules\surgery\organs\augments_internal.dm" +#include "code\modules\surgery\organs\autoimplanter.dm" #include "code\modules\surgery\organs\blood.dm" #include "code\modules\surgery\organs\body_egg.dm" #include "code\modules\surgery\organs\helpers.dm" From beaf6344f9bccfe65e3639fffd1b0d6ffef6b772 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Thu, 10 Mar 2016 08:24:04 -0500 Subject: [PATCH 17/44] slot icons --- code/game/machinery/slotmachine.dm | 2 +- icons/goonstation/machines/slots.dmi | Bin 0 -> 708 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 icons/goonstation/machines/slots.dmi diff --git a/code/game/machinery/slotmachine.dm b/code/game/machinery/slotmachine.dm index dd8060ef827..72f72fc621c 100644 --- a/code/game/machinery/slotmachine.dm +++ b/code/game/machinery/slotmachine.dm @@ -3,7 +3,7 @@ var/datum/announcement/minor/slotmachine_announcement = new(do_log = 0) /obj/machinery/slot_machine name = "slot machine" desc = "Gambling for the antisocial." - icon = 'icons/obj/objects.dmi' + icon = 'icons/goonstation/machines/slots.dmi' icon_state = "slots-off" anchored = 1 density = 1 diff --git a/icons/goonstation/machines/slots.dmi b/icons/goonstation/machines/slots.dmi new file mode 100644 index 0000000000000000000000000000000000000000..d63b55693f4b52278f468ab57268b432ca2c3635 GIT binary patch literal 708 zcmV;#0z3VQP)fFDZ*Bkpc$`yK zaB_9`^iy#0_2eo`Eh^5;&r`5fFwryM;w;ZhDainGjE%TBGg33tGfE(w;*!LYR3KBS zI48fPST{c{O^J&$C9|j)C}zmTnO2mTn+jp0tIWf$&=e?|nv+-w64rr2E@cH*KNqmG z0C-O;&3Y15Z2$lPrb$FWR9J=Wm(h~KAPhwlQL3z#c3J=bSC<4u38}L)Fnw9>11~2e zfhv;=u$NG%J3p902kgs7fxi?GLOAy1)sF!2cszCFfL2H*XykxqDr6A4a=__)xt!k? z1Sj~{={#Mdrt9r?RrtsKF@W~Yd5HnOE-=&HEq+-dUss(2&eWIB%PbRcZl4#0#|Hem zEUUVo3KS=p@!Qn}QirKP#rcHK6G;9@@VY}KLEJl0hv_oZ2DbOd0ADBubmf3yE)?Wb z(8vRtP{?5D$tggnO3=h(z>knj(8eKH`5M~LlY_PLh}QPxV8dM~*q%HF$PQ$JHV)R@ z%jf)VY){Ss@6WlGpoOOZm!&6Y;2hwbPvyOHT7nkN0q<{>mY{|2@R4m0l7FN&4sz%q z_2heK_=EpYVEBX2d=G!XQ~zrK-J1WGE&q_lRx%MBwBZl(2(8Wkgq|ir;d$`pD)spO z82y*6`JWo_YyvpdC;vcQ=mk=Tx<6oB!9jEx8~)*S4Vpio>t!Rx4y7tU#wdLVK7q>f qhaCQ3_=DjOhCdkoVEBW5{lPDzX>tcJI0mW!0000 Date: Thu, 10 Mar 2016 19:39:14 -0500 Subject: [PATCH 18/44] Makes Xenobotany User-friendly Removes the gene masking from xenobotany in favor of more readable labels. - No changes to how things work, just removes the obfuscation that existed simply to make you push a bunch of buttons before you could do anything meaningful with them. --- code/modules/hydroponics/seed_controller.dm | 23 +++++++-------------- code/modules/hydroponics/seed_machines.dm | 10 ++++----- nano/templates/botany_isolator.tmpl | 4 ++-- 3 files changed, 15 insertions(+), 22 deletions(-) diff --git a/code/modules/hydroponics/seed_controller.dm b/code/modules/hydroponics/seed_controller.dm index b7a6b31cb7c..7e373bfd2a6 100644 --- a/code/modules/hydroponics/seed_controller.dm +++ b/code/modules/hydroponics/seed_controller.dm @@ -4,20 +4,20 @@ #define PLANTS_PER_TICK 500 // Cap on number of plant segments processed. #define PLANT_TICK_TIME 75 // Number of ticks between the plant processor cycling. -// Debug for testing seed genes. +// Debug for testing seed genes (less useful now that the obfuscation is gone, but still might be useful for the future. /client/proc/show_plant_genes() set category = "Debug" set name = "Show Plant Genes" - set desc = "Prints the round's plant gene masks." + set desc = "Prints the round's plant gene tags." if(!holder) return - if(!plant_controller || !plant_controller.gene_tag_masks) - usr << "Gene masks not set." + if(!plant_controller || !plant_controller.gene_tag_list) + usr << "Gene tags not set." return - for(var/mask in plant_controller.gene_tag_masks) - usr << "[mask]: [plant_controller.gene_tag_masks[mask]]" + for(var/gene_tag in plant_controller.gene_tag_list) + usr << "[gene_tag]" var/global/datum/controller/plants/plant_controller // Set in New(). @@ -28,7 +28,7 @@ var/global/datum/controller/plants/plant_controller // Set in New(). var/list/product_descs = list() // Stores generated fruit descs. var/list/plant_queue = list() // All queued plants. var/list/seeds = list() // All seed data stored here. - var/list/gene_tag_masks = list() // Gene obfuscation for delicious trial and error goodness. + var/list/gene_tag_list = list() // List of gene tags for xenobotany fun var/list/plant_icon_cache = list() // Stores images of growth, fruits and seeds. var/list/plant_sprites = list() // List of all harvested product sprites. var/list/plant_product_sprites = list() // List of all growth sprites plus number of growth stages. @@ -83,18 +83,11 @@ var/global/datum/controller/plants/plant_controller // Set in New(). S.update_seed() //Might as well mask the gene types while we're at it. - var/list/used_masks = list() var/list/plant_traits = ALL_GENES while(plant_traits && plant_traits.len) var/gene_tag = pick(plant_traits) - var/gene_mask = "[uppertext(num2hex(rand(0,255)))]" - - while(gene_mask in used_masks) - gene_mask = "[uppertext(num2hex(rand(0,255)))]" - - used_masks += gene_mask plant_traits -= gene_tag - gene_tag_masks[gene_tag] = gene_mask + gene_tag_list.Add(gene_tag) // Proc for creating a random seed type. /datum/controller/plants/proc/create_random_seed(var/survive_on_station) diff --git a/code/modules/hydroponics/seed_machines.dm b/code/modules/hydroponics/seed_machines.dm index 550a1935a02..2b1a7213644 100644 --- a/code/modules/hydroponics/seed_machines.dm +++ b/code/modules/hydroponics/seed_machines.dm @@ -144,8 +144,8 @@ var/list/data = list() var/list/geneMasks[0] - for(var/gene_tag in plant_controller.gene_tag_masks) - geneMasks.Add(list(list("tag" = gene_tag, "mask" = plant_controller.gene_tag_masks[gene_tag]))) + for(var/gene_tag in plant_controller.gene_tag_list) + geneMasks.Add(gene_tag) data["geneMasks"] = geneMasks data["activity"] = active @@ -242,8 +242,8 @@ if(!genetics.roundstart) loaded_disk.genesource += " (variety #[genetics.uid])" - loaded_disk.name += " ([plant_controller.gene_tag_masks[href_list["get_gene"]]], #[genetics.uid])" - loaded_disk.desc += " The label reads \'gene [plant_controller.gene_tag_masks[href_list["get_gene"]]], sampled from [genetics.display_name]\'." + loaded_disk.name += " ([href_list["get_gene"]], #[genetics.uid])" + loaded_disk.desc += " The label reads \'[href_list["get_gene"]] gene, sampled from [genetics.display_name]\'." eject_disk = 1 degradation += rand(20,60) @@ -288,7 +288,7 @@ for(var/datum/plantgene/P in loaded_disk.genes) if(data["locus"] != "") data["locus"] += ", " - data["locus"] += "[plant_controller.gene_tag_masks[P.genetype]]" + data["locus"] += "[plant_controller.gene_tag_list[P.genetype]]" else data["disk"] = 0 diff --git a/nano/templates/botany_isolator.tmpl b/nano/templates/botany_isolator.tmpl index 610fdd5116a..a5efbc4a212 100644 --- a/nano/templates/botany_isolator.tmpl +++ b/nano/templates/botany_isolator.tmpl @@ -26,10 +26,10 @@ Used In File(s): \code\modules\hydroponics\seed_machines.dm {{for data.geneMasks}}

{{empty}} From bc1c68035246e7eeee63bd150fa086e8f576f4a5 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Thu, 10 Mar 2016 20:10:09 -0500 Subject: [PATCH 19/44] eyethings --- code/modules/mob/living/carbon/human/species/station.dm | 3 ++- code/modules/surgery/organs/subtypes/diona.dm | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/human/species/station.dm b/code/modules/mob/living/carbon/human/species/station.dm index 18d2727214f..9133978d351 100644 --- a/code/modules/mob/living/carbon/human/species/station.dm +++ b/code/modules/mob/living/carbon/human/species/station.dm @@ -620,12 +620,13 @@ has_organ = list( "nutrient channel" = /obj/item/organ/internal/liver/diona, "neural strata" = /obj/item/organ/internal/heart/diona, - "receptor node" = /obj/item/organ/internal/eyes/diona, + "receptor node" = /obj/item/organ/internal/diona_receptor, "gas bladder" = /obj/item/organ/internal/brain/diona, "polyp segment" = /obj/item/organ/internal/kidneys/diona, "anchoring ligament" = /obj/item/organ/internal/appendix/diona ) + vision_organ = /obj/item/organ/internal/diona_receptor has_limbs = list( "chest" = list("path" = /obj/item/organ/external/diona/chest), "groin" = list("path" = /obj/item/organ/external/diona/groin), diff --git a/code/modules/surgery/organs/subtypes/diona.dm b/code/modules/surgery/organs/subtypes/diona.dm index 8b9b2447b33..170f93ecddc 100644 --- a/code/modules/surgery/organs/subtypes/diona.dm +++ b/code/modules/surgery/organs/subtypes/diona.dm @@ -185,7 +185,7 @@ parent_organ = "groin" slot = "appendix" -/obj/item/organ/internal/eyes/diona +/obj/item/organ/internal/diona_receptor name = "receptor node" organ_tag = "eyes" icon = 'icons/mob/alien.dmi' From 09de63672468af06e341230f0514af1b40001c59 Mon Sep 17 00:00:00 2001 From: FalseIncarnate Date: Thu, 10 Mar 2016 20:57:09 -0500 Subject: [PATCH 20/44] Adds Air Connectors to Hydroponics Adds a connector port to the "isolation tray" that connects to a port in the back room of hydroponics and to the scrubbers network. - Minor re-arrangement of the backroom to make it easier to move around with a canister hooked up back there. --- _maps/map_files/cyberiad/cyberiad.dmm | 68 +++++++++++++++------------ 1 file changed, 39 insertions(+), 29 deletions(-) diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 7d30ae7a4b5..e8a45ce24a0 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -2254,8 +2254,8 @@ "aRr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aRs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/wall,/area/maintenance/fsmaint2) "aRt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aRu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aRv" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aRu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aRv" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aRw" = (/obj/effect/spawner/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aRx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/lattice,/turf/space,/area/space) "aRy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) @@ -2348,13 +2348,13 @@ "aTh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aTi" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aTj" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; level = 1},/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j1s"; sortType = 21; tag = "icon-pipe-j1s (EAST)"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aTk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aTl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aTm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j2s"; sortType = 17},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aTn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/wall,/area/maintenance/fsmaint2) -"aTo" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/maintenance/fsmaint2) -"aTp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/wall,/area/maintenance/fsmaint2) -"aTq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/maintenance/fsmaint2) +"aTk" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aTl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j2s"; sortType = 17},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aTm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) +"aTn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/wall,/area/hydroponics) +"aTo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/hydroponics) +"aTp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/wall,/area/hydroponics) +"aTq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/hydroponics) "aTr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{level = 1},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aTs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall,/area/library) "aTt" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/wall,/area/library) @@ -2528,10 +2528,10 @@ "aWF" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/closet/crate/hydroponics/prespawned,/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) "aWG" = (/obj/structure/table,/obj/item/weapon/watertank,/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) "aWH" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) -"aWI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/closet/secure_closet/hydroponics,/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) +"aWI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/hydroponics) "aWJ" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/structure/closet/secure_closet/hydroponics,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) "aWK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/obj/structure/closet/secure_closet/hydroponics,/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) -"aWL" = (/obj/machinery/alarm{pixel_y = 24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/camera{c_tag = "Hydroponics Storage"; network = list("SS13")},/obj/structure/table,/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 8; pixel_y = 8},/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 13; pixel_y = 5},/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 0; pixel_y = 3},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) +"aWL" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/wall,/area/hydroponics) "aWM" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) "aWN" = (/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) "aWO" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) @@ -2628,10 +2628,10 @@ "aYB" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 8; icon_state = "left"; name = "Hydroponics Pasture"; req_access_txt = "35"},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) "aYC" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) "aYD" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) -"aYE" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = -31},/obj/machinery/light,/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) -"aYF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) -"aYG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) -"aYH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) +"aYE" = (/obj/machinery/alarm{pixel_y = 24},/obj/machinery/camera{c_tag = "Hydroponics Storage"; network = list("SS13")},/obj/structure/table,/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 8; pixel_y = 8},/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 13; pixel_y = 5},/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 0; pixel_y = 3},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) +"aYF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/closet/secure_closet/hydroponics,/obj/machinery/atmospherics/binary/pump{dir = 1},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) +"aYG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) +"aYH" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = -31},/obj/machinery/light,/obj/machinery/atmospherics/binary/valve{dir = 4},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) "aYI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 11; level = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/wood,/area/library) "aYJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/library) "aYK" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/library) @@ -2787,7 +2787,7 @@ "bbE" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor/grass,/area/hydroponics) "bbF" = (/obj/machinery/botany/editor,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hydroponics) "bbG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hydroponics) -"bbH" = (/obj/machinery/seed_extractor,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hydroponics) +"bbH" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) "bbI" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hydroponics) "bbJ" = (/obj/machinery/vending/hydroseeds,/obj/machinery/camera{c_tag = "Hydroponics North"; network = list("SS13")},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hydroponics) "bbK" = (/obj/machinery/biogenerator,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hydroponics) @@ -3187,7 +3187,7 @@ "bjo" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 3},/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) "bjp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) "bjq" = (/obj/machinery/processor,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) -"bjr" = (/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hydroponics) +"bjr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) "bjs" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hydroponics) "bjt" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "bju" = (/turf/simulated/wall,/area/hallway/primary/starboard/east) @@ -7180,6 +7180,7 @@ "cId" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cIe" = (/obj/structure/table/reinforced,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/photocopier/faxmachine{department = "Chief Engineer's Office"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cIf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/folder/yellow,/obj/item/weapon/stamp/ce,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) +"cIg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) "cIh" = (/obj/structure/closet/secure_closet/engineering_welding,/turf/simulated/floor/plasteel,/area/engine/equipmentstorage) "cIi" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plasteel,/area/engine/equipmentstorage) "cIj" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/engine/equipmentstorage) @@ -7732,6 +7733,7 @@ "cSK" = (/obj/machinery/light/spot,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate) "cSL" = (/obj/machinery/light/small{dir = 8},/obj/machinery/power/emitter,/turf/simulated/floor/plating,/area/storage/secure) "cSM" = (/obj/machinery/power/emitter,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/storage/secure) +"cSN" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 8},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) "cSO" = (/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless,/area/engine/engineering) "cSP" = (/obj/machinery/power/emitter{anchored = 1; dir = 4; state = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/engine/engineering) "cSQ" = (/obj/machinery/field/generator{anchored = 1; state = 2},/turf/simulated/floor/plating/airless,/area/space) @@ -8023,6 +8025,7 @@ "cYq" = (/turf/simulated/floor/plating{icon_state = "platingdmg3"},/area/maintenance/asmaint2) "cYr" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4; level = 2},/turf/simulated/wall/r_wall,/area/maintenance/turbine) "cYs" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 5; tag = "icon-intact-y (NORTHWEST)"},/turf/simulated/wall/r_wall,/area/maintenance/turbine) +"cYt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/plasteel{icon_state = "hydrofloor"},/area/hydroponics) "cYu" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitegreencorner"},/area/medical/virology) "cYv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plating,/area/maintenance/turbine) "cYw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine) @@ -8071,6 +8074,8 @@ "cZn" = (/obj/structure/rack,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/obj/item/latexballon,/turf/simulated/floor/plating,/area/maintenance/asmaint) "cZo" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/asmaint2) "cZp" = (/obj/structure/grille,/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"; tag = ""},/obj/structure/window/reinforced/tinted{dir = 1},/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"; tag = ""},/obj/structure/window/reinforced/tinted,/turf/simulated/floor/plating,/area/maintenance/asmaint2) +"cZq" = (/obj/effect/spawner/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/hydroponics) +"cZr" = (/obj/machinery/seed_extractor,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hydroponics) "cZs" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/weapon/pen,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine) "cZt" = (/obj/machinery/atmospherics/binary/valve,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine) "cZu" = (/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/turbine) @@ -8222,6 +8227,7 @@ "dck" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/medical/patients_rooms) "dcl" = (/obj/structure/sign/securearea{pixel_x = -32},/turf/simulated/floor/plating,/area/maintenance/asmaint) "dcm" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "blue"},/area/medical/patients_rooms) +"dcn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plasteel{dir = 1; icon_state = "green"},/area/hydroponics) "dco" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/warning_stripes/south,/turf/simulated/floor/plasteel,/area/engine/engineering) "dcp" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; level = 1},/obj/effect/decal/warning_stripes/southeastcorner,/turf/simulated/floor/plasteel,/area/engine/engineering) "dcq" = (/obj/effect/decal/warning_stripes/south,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{dir = 0; icon_state = "blue"},/area/medical/patients_rooms) @@ -8709,6 +8715,10 @@ "dlE" = (/obj/structure/table,/obj/structure/bedsheetbin{pixel_x = -1; pixel_y = 2},/turf/simulated/floor/plasteel{dir = 8; icon_state = "barber"},/area/crew_quarters/locker) "dlF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/surgery) "dlG" = (/obj/machinery/camera{c_tag = "Aft Starboard Solar Access"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint2) +"dlH" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plasteel,/area/hydroponics) +"dlI" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "green"; dir = 8},/area/hydroponics) +"dlJ" = (/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/obj/machinery/atmospherics/unary/portables_connector{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/hydroponics) +"dlK" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"},/turf/simulated/floor/plasteel,/area/hydroponics) (1,1,1) = {" bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik @@ -8820,18 +8830,18 @@ bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbi bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaInaKAaKzaKzaKzaKzaKzaKzaKAaInaMlaCuaMmaMnaMoaMoaMoaMoaMoaMoaMpaKHaLHaMqaLJaMraMqaMqaLHaKHaMsaMtaMuaMuaMuaMuaMuaMuaMuaMuaMvbikaLRaMwaMxaMyaMzaMAaLRbikaJGaJLaJMaMBaMCaMDaMEaLSaJMaGvaIKaMFaMFaKPaMGaMHaKSaKTaKSaMHaMIaMJaKOaKOaIKaJZaxqaKaazIaMKaBRaMLaCZaDaaDbaEgaMbaMcaMMaMNaMOaMOaMcaMPaMQaMRaMeaMSaMTaMUaMeaMVayGbikaMWaMXaMXaMXaMXaMXaMYbikayGayHaMZaNaayJayJayGayGayJayJaNbaNcayJayGazxayGayGayJayJaNdaNeayGayGayGaHYaMiayHaDxayHaMjazwayKaFSayGaNfaNgaNfayGayGayGaabaabaabaabaabaabaabaabbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaNhaNiaNjaNiaNiaNkaNlaNiaNiaNjaNmaNnaCuaKBaNoaMoaNpaNqaNraNsaNtaNuaKHaLHaMqaLJaNvaMqaMqaLHaKHaNwaNxaNyaNzaNAaNBaNCaNDaNEaNFaMvaabaLRaNGaNHaNIaNJaNKaLRaabaJGaJLaJMaNLaNMaNNaNOaNPaJMaGvaIKaJNaJOaNQaNRaLXaJOaNSaJOaLXaNTaNUaJOaJYaIKaJZaxqaNVazIaKbaEeaEfaCZaDaaDbaNWaNXaMcaNYaMQaMQaMQaNZaOaaObaOcaMeaOdaOeaOfaOgaOhazxbikbikbikbikbikbikbikbikbikayGaOiaOjaOkaOlaOmayGaEtayHaHVaDxayHayGbikayGayHayHayHayHaDxaOnaOoaOpaOpaOpaOpaOqaOraOsaOtaOuaOvaOuaOwaOxaOxaOyaOzaOAaOBaOCaOCbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaNhaNmaNiaODaOEaOFaOGaOHaOIaOJaOKaOLaOMaONaOOaKzaKBaOPaMoaOQaORaOSaOTaOSaOUaKHaOVaMqaOWaOXaOYaOXaOZaPaaPbaPcaPdaPdaPdaPdaPdaPdaPeaPfaMvbikaLRaPgaNHaPhaNJaPiaLRbikaJGaJLaJMaPjaPkaPlaPmaPnaJMaGvaIKaPoaPoaKPaPpaMHaKSaPqaKSaMHaPraKWaPsaPsaIKaPtazUaPuazIaKbaEeaPvaPvaPvaPvaPwaPxaPyaPzaPAaPBaPBaPBaPCaPBaPDaPEaPFaPGaPHaPEaPIaPJazxayGayGayGayGayGayGayGayGayGayGayGayGaBMayGayGayGayGayHaDxaOiazvaabazvayHaPLaPMaPNaPOaPPaPQaPRaPRaPRaPRaPSaPTaPUaPVaPWaPXaPWaPYaPWaPWaPZaQaaQbaQbaQcaQdaQeaQeaQeaQeaQeaQeaQeaQeaQeabLadbbikbikbikbikbikbikbikaaabdBaQfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaONaQgaQhaQiaOMaQjaOFaQjaOFaQjaOFaQjaOMaQkaQlaKzaKBaQmaMoaQnaQoaQpaQqaQraQsaKHaQtaMqaQuaQvaQwaQxaQyaKHaQzaPdaPdaPdaPdaPdaPdaPdaPeaQAaMvaabaLRaQBaQCaQDaQEaQFaLRaabaJGaJLaJMaQGaQHaQIaQJaQKaJMaGvaIKaIKaIKaIKaQLaLXaJOaLYaJOaLXaQMaIKaIKaIKaIKaQNaQOaQPazIaMKaQQaQRaQRaQRaQSaQTaQUaQVaQWaQXaQVaQYaQZaRaaQVaRbaRcaRdaReaRfaMeaRgaRhaRiaRjaRjaRhaRkaRlaRlaRlaRlaRlaRmaRnaRlaRoaRpaRqaRraRsaRtaRuaRvaRwaRxaRwaRyaRzayHayGaRAaRBaRCaRDaREaRFaRGaRHaRIaRJaRIaRKaRLaRMaRNaROaRPaRQaRRaRSaRTaRUaQdaRVaRWaRXaRYaRZaSaaSbaScaSdaprbikbikbikbikbikbikbikaaabfmbifbieaQfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaSfaOFaOFaNjaOMaQjaOFaQjaSgaQjaOFaQjaOMaQkaQlaKzaKBaShaMoaMoaSiaSjaSkaSjaMoaKHaKHaKHaKHaSlaSmaSnaSoaKHaSpaSqaSraPdaPdaSsaPdaStaSuaSvaMvbikaLRaLRaSwaSxaSwaLRaLRbikaJGaJLaJMaSyaSzaSAaQJaSBaJMaGvaIKaJNaJOaSCaNRaLXaJOaLYaJOaLXaNTaSDaIKaIKaIKaSEaSFaSGaSHaSIaSJamKamKaSKaSLaSMaSNaMcaSOaMQaMcaSPaMcaSQaMcaSRaSSaSTaSUaSVaSWaSXaSYaSZaTaaTbaTcaTdaTbaTbaTeaTbaSYaTfaSYaOvaTgaSYaThaTiaTjaTkaTlaTmaTnaToaTpaTqaTraOuaTsaTtaTuaTvaTwaTxaTyaTzaRHaTAaTBaRIaTCaTDaTEaTFaROaTGaRQaRRaRSaTHaTIaQdaTJaTKaTKaTLaScaScaScaScaSdaprbikbikbikbikbikbikaaabfmbigbijbihbieaQfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaONaTMaTNaQiaOMaQjaOFaQjaOFaQjaOFaQjaOMaQkaQlaKzaKBaTOaTPaTQaTRaTSaTSaJraTTaTUaTVaTWaTXaTYaTZaMqcoCaKHaUbaUcaUdaUeaUfaUgaUhaUiaUjaUkaMvbikaabbikaUlaUmaUlbikaabbikaCuaJLaJMaUnaUoaUpaUqaUraJMaGvaIKaUsaUtaKPaUuaUvaKSaUwaKSaUxaUyaUzaIKaUAaUBaUCaUDaUEaUFaUGaUHbikbikaSKaUIaUJaUKaMcaULaUMaMQaMQaUNaMQaMQaMQaUOaMeaUPaMeaUQaURaMeaUSaMeaUTaUUaUVaUWaUXaUYaUTaUZaVaaVbaVcaVbaVbaVbaVbaVdaVbaVbaVeaVbaVfaVgaVbaVhayHaRDaViaTvaVjaVkaVlaVmaVnaVoaVpaVqaRIaVraVsaVtaVuaVvaTGaRQaRRaRSaRTaVwaQdaVxaTKaTKaTLaScaScaScaScaSdaprbikbikbikbikbikbikbdBblqbjMbmKbjMbqQbdBbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaVyaVzaNiaODaOMaOFaVAaVBaOFaOFaVCaVAaOMaONaVDaKzaKBaVEaVFaVGaVHaVGaVGaVGaVGaVGaVIaJraKHaVJaVKaVJaKHaKHaVLaVMaVLaMuaMuaMuaMuaVLaVNaVOaMvaVPaVQaVQaVRaVSaVRaVQaVQaVTaVUaVVaJMaVWaJMaVXaVYaVZaJMaWaaIKaIKaIKaIKaWbaWcaWdaWeaWdaWcaWbaIKaIKaWfaUDaUDaUDaUDaWgaWhaWiaWjaWkaSKaWlaUJaWmaMcaMcaMcaMcaMcaMcaMcaMeaMeaUOaWnaWoaWpaWqaWraWsaWuaWtaUTaWvaWwaWxaWyaWzaUTaWAaWBaWCaWDaWCaWEaWFaWGaWHaWIaWJaWKaWLaWMaWNaVbaWOaRtaWPaWQaWRaVjaWSaVlaVmaWTaRIaWUaWVaWWaWXaWYaTFaTFaRIaRIaRQaRRaRSaTHaWZaQdaXaaXbaXcaXdaXeaXfaScaScaXgaprbikbikbikbikbikaaabfmbqRbmKbmKbmKbqSbieaQfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaVyaNiaNjaNiaNiaNkaNlaNiaNiaNjaVzaXhaCuaXiaVEaInaXjaXjaXkaXjaXlaDEaXmaXnaJraXoaXpaXqaXqaXraXsaXqaXtaXqaXqaXqaXuaXqaXqaXvaXwaXxaXyaXzaXAaXyaXBaXyaXyaXyaXyaXCaXDaXEaXqaXqaXFaXGaXHaXIaXJaXKaXLaXMaXRaXPaXPaXPaXPaXPaXPaXPaXQaXWaXXaXSaXTaXUaXVaXYaZHaXZaUDaUDaYaaYbaYcaYbaYcaYdaYeaYfaYgaYhaYiaMeaYkaYjaYmaYlaYnaYnaYoaYpaYqaYraUTaYsaYtaYuaYuaYvaUTaYwaYxaYyaYzaYAaYAaYBaYCaYDaWNaYEaYFaYGaYHaWNaVbaVhaKsaRDaYIaYJaYJaYKaYLaYJaYMaRIaYNaYOaRIaYPaYQaTFaYRaRIaYSaYTaYUaRSaQbaQbaQdaYVaQeaYWaYXaQeaQeaQeaQeaQeabLadbbikbikbikbikbqUbqTbqVbmKbmKbrUbthbmKbqUbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaInaYYaKzaKzaKzaKzaKzaKzaYYaInaMlaCuaYZaZaaInaZbaZcaZdaZdaZeaDEaZfaXnaZgaZhaXpaZiaZjaZkaZlaZlaZmaZnaZnaZnaZoaZpaZpaZqaZraZsaZlaZlaZtaZpaZvaZwaZxaZxaZyaZzaZAaZuaZuaZuaZBaXGaXHaXIaXJaXJaXJaXJaZCaXJaXJaXJaXJaXJaXJaZDaZEaZNaZFaZGaZJaZIaZLaZKaZMaZNaZNaZNaZOaZPaZPaZPaZQaYiaYiaYiaZRaZSaYiaMebbsaZUaYnaYnaZVaYnaZWaZXaYqaZYaUTaZZbaababbacbadaUTbaebafbagbahbaibajaVbbakbalbakaVbaVbaVbaVeaVbaVbaVhayHaRDbamaTvaTvaTvbanaTvbaoaRIaRIaRIaRIaRIaRIaRIbapaRIaRSaRSaRRaRSbaqbaraQbbasbatbaubavbawbaxbaybazbaAbikbikbikbikaaabtibtjbtibtibtibtkbtibtlbtibtjbtiaQfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabaLyaCuaInaGdaKzbaBbaCbaDbaEaKzaGdaInaInaCubaFaVEaInbaGbaHaZdaZdaZeaDEbaIaXnaJraZhaXpaXqbaJbaKbaLbaLbaMbaNbaObaLbaPbaLbaQbaLbaRbaSbaLbaLbaWbaLbaLbaUbaVbaLbaWbaXbaYbaZaXqaXqbbabbbbbcbbdbbebbfbbebbgbbhbbgbbgbbgbbgbbgbbgbbibbjbbkbbkbbkbbkbblbbkbbmbbnbbkbbkbbobbpbbqbbqbbqbbqbbqbbqbbqbbraYiaYiaMebcTbbtbbubbvbbvbbwbbxaZXaYqbbyaUTaUTaUTaUTaUTbbzaUTbbAbbBbbCbbDaWCbbEaVbbbFbbGbbHbbIbbJbbKbbLbbMaVbaVhaHYaRDbbNbbOaTvbbPbbQaTvbbRbbRaRDbbSbbTbbUaQbbbVbbWbbXaRSaRSbbYbbZaQbbcaaQbbcbbatbccbcdbcebatbatbcfbaAbikbikbikbikbqUbtmbwlbutbwmbtmbmKbutbwmbtmbwlbutbqUbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabaDEaInaYYaKzaKBaJraJraKCaKzaYYaKzbcgbchbcibcjaInbckbckaXkbckaXlaDEbclaXnaJraDEbcmbcmbcnbcobcobcobcobcobcobcpbcqbcobcobcobcobcobcobcrbcsbctbctbcubctbcvbcwbcxbcvbcvbcybczbcAbcmbcBbcBbcCbcCbcCbcDbcDbcDbcDbcDbcDbcDbcDbcEbcFbcFbcGbcFbcHbcHbcHbcHbcIbcJbcHbcEbcKbcKbcKbcKbcKbcKbcKbcKbcLbcLbcLaMebcMbcNbcObcObcObcObcPbcQbcRbmwbcUaZTbcVbcWbcXbcYaUTaUTbcZbdabdbbdabdaaVbbdcbddbdebdebdebdebdfbdgaVbbdhbdiaRDbdjaTvbbPbbPbbQbbPaTvbdkaRDbdlbdmbdnaQbaRSbdobdpbdqbdqbdrbdsbdtbdubdvbdwbdxbdybdzbavbatbatbdAbaAbikbikbikbikbqUbwnbmKbutbBQbtmbmKbutbBQbtmbmKbFmbqUbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbdCbdDaJrbdEbdFbdGbdHbdIbdJbdHbdKbdLbdHbdHbdMbdNbdObdPbdQbdQbdQbdRbdQbdSbdTaDEbdUbdVbdWbcobdXbdYbdZbeabebbecbedbeebefbegbehbeibcobejbekbctbelbembenbcvbeobepbeqbcvberbesbetberberberbeuaXJaXObcDbikbikbikbikbikbikbikbcEbevbewbexbeybezbeAbeBbeCbeDbeEbeFbcEbikbikbikbikbikbikbikbcKbeGaYibeHaMebeIbcNbmwbmwbmwbmwbmwbeJbeKbmwbmwbmwbnMbeMbeMbeNbeObePbeQbeRbeSbeTbeUaVbbeVbeWbeXbeYbeYbeXbeZbfaaVbaVhayHaRDbfbbfcaTvbbPbbQaTvbfdbfdaRDaRDbfeaRDaQbbffbbWbbZbfgbfgbfhbbZaQbaQbaQbbfibatbfjbfjbfkbfjbatbflbaAaabbikbikaabbdBbtmbmKbutbBQbtmbmKbutbBQbtmbmKbutbdBbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbdCbfnbfobfnbfnbfnbfnbfnbfnbfobfnbfnbfpaJrbfqbfrbfsaJrbftaJrbfubfvbfwbfxbfyaDEbdVbdVbfzbcobfAbecbecbecbecbecbedbfBbecbecbecbfCbcobejbfDbctbfEbfFbfGbcvbfHbfIbfJbcvbfKbfLbfMbfNbfObesbeuaXJaXObcDbikbikbikbikbcEbcEbcEbcEbfPbfQbfRbfSbfTbfUbfVbfWbfXbfYbfZbcEbcEbcEbcEbikbikbikbikbcKbeGaYibgabgbbgcbgdbgebgfbgcbggbghbgibgjbgkbglbmwbeLbgmbeMbgnbgobeMbgpbgqbgrbgsbeMbgtbgubgvbeXbeYbeYbeXbgwbgxaVbaVhaKsaRDbdjaTvbbPbbPbbQbbPaTvaTvbgybgzaTvbgAaQbbgBbgCbgDbfgbfgbgEbgDbgFaQbbgGbgHbatbgIbgIbgJbgIbatbdAbaAbgKbaAbaAbaAbqUbtmbmKbutbGVbtmbmKbutbGVbtmbmKbutbqUbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaCuaCuaInaInaInaInaInaInaInaInaInaCuaDEbgLbgMbgNbgNbgNbgNbgNbgNbgObgNbgNbgNaDEbdVbejbgPbcobgQbecbecbgRbgSbgTbgUbgRbecbecbecbgVbcobejbekbctbgWbgXbgYbcvbgZbhabhbbcvbhcbhdbhebhfbhgbesbhhbhiaXObcDbcDbhjbcEbcEbcEbhkbhlbhmbhnbhobhobhpbhqbhobhrbhobhsbhtbhubhvbhwbhxbcEbcEbcEbhjbcKbcKbeGaYiaYiaMebhybhzbgkbhAbmwbhBbhCbmwbhDbhEbglbmwbnMbeMbeMbhFbcSbhHbhIbhJbhKbhLbeMbhMbgubhNbeXbeYbeYbhObhPbhQaVbaVhayHaRDbhRbhSbhTbbPbbQbhUaTvaTvbhVaTvbhWbhXaQbbhYbhZbiabfgbfgbibbiabicaQbbidbgHbatbatbatbavbatbatbKnbIzbPfbNjbiibPfddJbmKbmKbmKbmKbmKbmKbmKbmKbmKbmKbutbqUbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik -bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikblsbltbltblubltbltbltblvbltbltbmPaabaInaLAaJtbilbgNbimbinbiobipbiqbirbisbitbgNbiubivbiwbixbcobiybecbecbgRbgTbizbiAbgRbecbecbiBbiCbcobejbekbctbctbiDbctbcvbiEbiFbiGbcvbiHbhfbiIbhfbiJbesbeubiKaXOaXPaXPbiLbiMbiNbcEbiObfRbiPbhobhobiQbiRbiSakybiSbiUbiVbiWbiXbiYbiZbjabcEbjbbiMbjcbjdbjebeGaYiaYibjfbmwbjgbmwbmwbmwbjhbjibmwbhDbjjbglbmwbeLbeMbeMbjkbjlbjmbjnbjobjpbhLbjqaVbbjrbhNbeXbeYbeYbeXbhPbjsaVbbjtbjuaRDbjvaRDaRDbjwbbQbjxbjyaTvbjzbjAaWSbjBbdvbjCbjDbjEbjFbjFbjGbjHbjIbdvbjJbjKbatbjLbatbavbatbatddAbaAbaAbaAbaAbgKbqUddBbmKbutbwmbtmbmKbutbwmbtmbmKddCbqUbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaONaQgaQhaQiaOMaQjaOFaQjaOFaQjaOFaQjaOMaQkaQlaKzaKBaQmaMoaQnaQoaQpaQqaQraQsaKHaQtaMqaQuaQvaQwaQxaQyaKHaQzaPdaPdaPdaPdaPdaPdaPdaPeaQAaMvaabaLRaQBaQCaQDaQEaQFaLRaabaJGaJLaJMaQGaQHaQIaQJaQKaJMaGvaIKaIKaIKaIKaQLaLXaJOaLYaJOaLXaQMaIKaIKaIKaIKaQNaQOaQPazIaMKaQQaQRaQRaQRaQSaQTaQUaQVaQWaQXaQVaQYaQZaRaaQVaRbaRcaRdaReaRfaMeaRgaRhaRiaRjaRjaRhaRkaRlaRlaRlaRlaRlaRmaRnaRlaRoaRpaRqaRraRsaRvaRuaTkaRwaRxaRwaRyaRzayHayGaRAaRBaRCaRDaREaRFaRGaRHaRIaRJaRIaRKaRLaRMaRNaROaRPaRQaRRaRSaRTaRUaQdaRVaRWaRXaRYaRZaSaaSbaScaSdaprbikbikbikbikbikbikbikaaabfmbifbieaQfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaSfaOFaOFaNjaOMaQjaOFaQjaSgaQjaOFaQjaOMaQkaQlaKzaKBaShaMoaMoaSiaSjaSkaSjaMoaKHaKHaKHaKHaSlaSmaSnaSoaKHaSpaSqaSraPdaPdaSsaPdaStaSuaSvaMvbikaLRaLRaSwaSxaSwaLRaLRbikaJGaJLaJMaSyaSzaSAaQJaSBaJMaGvaIKaJNaJOaSCaNRaLXaJOaLYaJOaLXaNTaSDaIKaIKaIKaSEaSFaSGaSHaSIaSJamKamKaSKaSLaSMaSNaMcaSOaMQaMcaSPaMcaSQaMcaSRaSSaSTaSUaSVaSWaSXaSYaSZaTaaTbaTcaTdaTbaTbaTeaTbaSYaTfaSYaOvaTgaSYaThaTiaTjaTmaTlaToaTnaTqaTpaWIaTraOuaTsaTtaTuaTvaTwaTxaTyaTzaRHaTAaTBaRIaTCaTDaTEaTFaROaTGaRQaRRaRSaTHaTIaQdaTJaTKaTKaTLaScaScaScaScaSdaprbikbikbikbikbikbikaaabfmbigbijbihbieaQfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaONaTMaTNaQiaOMaQjaOFaQjaOFaQjaOFaQjaOMaQkaQlaKzaKBaTOaTPaTQaTRaTSaTSaJraTTaTUaTVaTWaTXaTYaTZaMqcoCaKHaUbaUcaUdaUeaUfaUgaUhaUiaUjaUkaMvbikaabbikaUlaUmaUlbikaabbikaCuaJLaJMaUnaUoaUpaUqaUraJMaGvaIKaUsaUtaKPaUuaUvaKSaUwaKSaUxaUyaUzaIKaUAaUBaUCaUDaUEaUFaUGaUHbikbikaSKaUIaUJaUKaMcaULaUMaMQaMQaUNaMQaMQaMQaUOaMeaUPaMeaUQaURaMeaUSaMeaUTaUUaUVaUWaUXaUYaUTaUZaVaaVbaVcaVbaVbaVbaVbaVdaWLaVbaVeaYEaVfaVgaVbaVhayHaRDaViaTvaVjaVkaVlaVmaVnaVoaVpaVqaRIaVraVsaVtaVuaVvaTGaRQaRRaRSaRTaVwaQdaVxaTKaTKaTLaScaScaScaScaSdaprbikbikbikbikbikbikbdBblqbjMbmKbjMbqQbdBbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaVyaVzaNiaODaOMaOFaVAaVBaOFaOFaVCaVAaOMaONaVDaKzaKBaVEaVFaVGaVHaVGaVGaVGaVGaVGaVIaJraKHaVJaVKaVJaKHaKHaVLaVMaVLaMuaMuaMuaMuaVLaVNaVOaMvaVPaVQaVQaVRaVSaVRaVQaVQaVTaVUaVVaJMaVWaJMaVXaVYaVZaJMaWaaIKaIKaIKaIKaWbaWcaWdaWeaWdaWcaWbaIKaIKaWfaUDaUDaUDaUDaWgaWhaWiaWjaWkaSKaWlaUJaWmaMcaMcaMcaMcaMcaMcaMcaMeaMeaUOaWnaWoaWpaWqaWraWsaWuaWtaUTaWvaWwaWxaWyaWzaUTaWAaWBaWCaWDaWCaWEaWFaWGaWHaYFaWJaWKaYGaWMaWNaVbaWOaRtaWPaWQaWRaVjaWSaVlaVmaWTaRIaWUaWVaWWaWXaWYaTFaTFaRIaRIaRQaRRaRSaTHaWZaQdaXaaXbaXcaXdaXeaXfaScaScaXgaprbikbikbikbikbikaaabfmbqRbmKbmKbmKbqSbieaQfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaVyaNiaNjaNiaNiaNkaNlaNiaNiaNjaVzaXhaCuaXiaVEaInaXjaXjaXkaXjaXlaDEaXmaXnaJraXoaXpaXqaXqaXraXsaXqaXtaXqaXqaXqaXuaXqaXqaXvaXwaXxaXyaXzaXAaXyaXBaXyaXyaXyaXyaXCaXDaXEaXqaXqaXFaXGaXHaXIaXJaXKaXLaXMaXRaXPaXPaXPaXPaXPaXPaXPaXQaXWaXXaXSaXTaXUaXVaXYaZHaXZaUDaUDaYaaYbaYcaYbaYcaYdaYeaYfaYgaYhaYiaMeaYkaYjaYmaYlaYnaYnaYoaYpaYqaYraUTaYsaYtaYuaYuaYvaUTaYwaYxaYyaYzaYAaYAaYBaYCaYDbbHaYHcIgbjrcYtcSNaVbaVhaKsaRDaYIaYJaYJaYKaYLaYJaYMaRIaYNaYOaRIaYPaYQaTFaYRaRIaYSaYTaYUaRSaQbaQbaQdaYVaQeaYWaYXaQeaQeaQeaQeaQeabLadbbikbikbikbikbqUbqTbqVbmKbmKbrUbthbmKbqUbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaInaYYaKzaKzaKzaKzaKzaKzaYYaInaMlaCuaYZaZaaInaZbaZcaZdaZdaZeaDEaZfaXnaZgaZhaXpaZiaZjaZkaZlaZlaZmaZnaZnaZnaZoaZpaZpaZqaZraZsaZlaZlaZtaZpaZvaZwaZxaZxaZyaZzaZAaZuaZuaZuaZBaXGaXHaXIaXJaXJaXJaXJaZCaXJaXJaXJaXJaXJaXJaZDaZEaZNaZFaZGaZJaZIaZLaZKaZMaZNaZNaZNaZOaZPaZPaZPaZQaYiaYiaYiaZRaZSaYiaMebbsaZUaYnaYnaZVaYnaZWaZXaYqaZYaUTaZZbaababbacbadaUTbaebafbagbahbaibajaVbbakbalcZqaVbaVbaVbaVeaVbaVbaVhayHaRDbamaTvaTvaTvbanaTvbaoaRIaRIaRIaRIaRIaRIaRIbapaRIaRSaRSaRRaRSbaqbaraQbbasbatbaubavbawbaxbaybazbaAbikbikbikbikaaabtibtjbtibtibtibtkbtibtlbtibtjbtiaQfbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabaLyaCuaInaGdaKzbaBbaCbaDbaEaKzaGdaInaInaCubaFaVEaInbaGbaHaZdaZdaZeaDEbaIaXnaJraZhaXpaXqbaJbaKbaLbaLbaMbaNbaObaLbaPbaLbaQbaLbaRbaSbaLbaLbaWbaLbaLbaUbaVbaLbaWbaXbaYbaZaXqaXqbbabbbbbcbbdbbebbfbbebbgbbhbbgbbgbbgbbgbbgbbgbbibbjbbkbbkbbkbbkbblbbkbbmbbnbbkbbkbbobbpbbqbbqbbqbbqbbqbbqbbqbbraYiaYiaMebcTbbtbbubbvbbvbbwbbxaZXaYqbbyaUTaUTaUTaUTaUTbbzaUTbbAbbBbbCbbDaWCbbEaVbbbFbbGcZrbbIbbJbbKbbLbbMaVbaVhaHYaRDbbNbbOaTvbbPbbQaTvbbRbbRaRDbbSbbTbbUaQbbbVbbWbbXaRSaRSbbYbbZaQbbcaaQbbcbbatbccbcdbcebatbatbcfbaAbikbikbikbikbqUbtmbwlbutbwmbtmbmKbutbwmbtmbwlbutbqUbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaabaabaDEaInaYYaKzaKBaJraJraKCaKzaYYaKzbcgbchbcibcjaInbckbckaXkbckaXlaDEbclaXnaJraDEbcmbcmbcnbcobcobcobcobcobcobcpbcqbcobcobcobcobcobcobcrbcsbctbctbcubctbcvbcwbcxbcvbcvbcybczbcAbcmbcBbcBbcCbcCbcCbcDbcDbcDbcDbcDbcDbcDbcDbcEbcFbcFbcGbcFbcHbcHbcHbcHbcIbcJbcHbcEbcKbcKbcKbcKbcKbcKbcKbcKbcLbcLbcLaMebcMbcNbcObcObcObcObcPbcQbcRbmwbcUaZTbcVbcWbcXbcYaUTaUTbcZbdabdbbdabdaaVbbdcbdddcnbdebdebdebdfbdgaVbbdhbdiaRDbdjaTvbbPbbPbbQbbPaTvbdkaRDbdlbdmbdnaQbaRSbdobdpbdqbdqbdrbdsbdtbdubdvbdwbdxbdybdzbavbatbatbdAbaAbikbikbikbikbqUbwnbmKbutbBQbtmbmKbutbBQbtmbmKbFmbqUbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbdCbdDaJrbdEbdFbdGbdHbdIbdJbdHbdKbdLbdHbdHbdMbdNbdObdPbdQbdQbdQbdRbdQbdSbdTaDEbdUbdVbdWbcobdXbdYbdZbeabebbecbedbeebefbegbehbeibcobejbekbctbelbembenbcvbeobepbeqbcvberbesbetberberberbeuaXJaXObcDbikbikbikbikbikbikbikbcEbevbewbexbeybezbeAbeBbeCbeDbeEbeFbcEbikbikbikbikbikbikbikbcKbeGaYibeHaMebeIbcNbmwbmwbmwbmwbmwbeJbeKbmwbmwbmwbnMbeMbeMbeNbeObePbeQbeRbeSbeTbeUaVbbeVbeWdlHbeYbeYbeXbeZbfaaVbaVhayHaRDbfbbfcaTvbbPbbQaTvbfdbfdaRDaRDbfeaRDaQbbffbbWbbZbfgbfgbfhbbZaQbaQbaQbbfibatbfjbfjbfkbfjbatbflbaAaabbikbikaabbdBbtmbmKbutbBQbtmbmKbutbBQbtmbmKbutbdBbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbdCbfnbfobfnbfnbfnbfnbfnbfnbfobfnbfnbfpaJrbfqbfrbfsaJrbftaJrbfubfvbfwbfxbfyaDEbdVbdVbfzbcobfAbecbecbecbecbecbedbfBbecbecbecbfCbcobejbfDbctbfEbfFbfGbcvbfHbfIbfJbcvbfKbfLbfMbfNbfObesbeuaXJaXObcDbikbikbikbikbcEbcEbcEbcEbfPbfQbfRbfSbfTbfUbfVbfWbfXbfYbfZbcEbcEbcEbcEbikbikbikbikbcKbeGaYibgabgbbgcbgdbgebgfbgcbggbghbgibgjbgkbglbmwbeLbgmbeMbgnbgobeMbgpbgqbgrbgsbeMbgtbgubgvdlHbeYbeYbeXbgwbgxaVbaVhaKsaRDbdjaTvbbPbbPbbQbbPaTvaTvbgybgzaTvbgAaQbbgBbgCbgDbfgbfgbgEbgDbgFaQbbgGbgHbatbgIbgIbgJbgIbatbdAbaAbgKbaAbaAbaAbqUbtmbmKbutbGVbtmbmKbutbGVbtmbmKbutbqUbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikaCuaCuaInaInaInaInaInaInaInaInaInaCuaDEbgLbgMbgNbgNbgNbgNbgNbgNbgObgNbgNbgNaDEbdVbejbgPbcobgQbecbecbgRbgSbgTbgUbgRbecbecbecbgVbcobejbekbctbgWbgXbgYbcvbgZbhabhbbcvbhcbhdbhebhfbhgbesbhhbhiaXObcDbcDbhjbcEbcEbcEbhkbhlbhmbhnbhobhobhpbhqbhobhrbhobhsbhtbhubhvbhwbhxbcEbcEbcEbhjbcKbcKbeGaYiaYiaMebhybhzbgkbhAbmwbhBbhCbmwbhDbhEbglbmwbnMbeMbeMbhFbcSbhHbhIbhJbhKbhLbeMbhMbgubhNdlHbeYbeYbhObhPbhQaVbaVhayHaRDbhRbhSbhTbbPbbQbhUaTvaTvbhVaTvbhWbhXaQbbhYbhZbiabfgbfgbibbiabicaQbbidbgHbatbatbatbavbatbatbKnbIzbPfbNjbiibPfddJbmKbmKbmKbmKbmKbmKbmKbmKbmKbmKbutbqUbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik +bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikblsbltbltblubltbltbltblvbltbltbmPaabaInaLAaJtbilbgNbimbinbiobipbiqbirbisbitbgNbiubivbiwbixbcobiybecbecbgRbgTbizbiAbgRbecbecbiBbiCbcobejbekbctbctbiDbctbcvbiEbiFbiGbcvbiHbhfbiIbhfbiJbesbeubiKaXOaXPaXPbiLbiMbiNbcEbiObfRbiPbhobhobiQbiRbiSakybiSbiUbiVbiWbiXbiYbiZbjabcEbjbbiMbjcbjdbjebeGaYiaYibjfbmwbjgbmwbmwbmwbjhbjibmwbhDbjjbglbmwbeLbeMbeMbjkbjlbjmbjnbjobjpbhLbjqaVbdlJdlIdlKbeYbeYbeXbhPbjsaVbbjtbjuaRDbjvaRDaRDbjwbbQbjxbjyaTvbjzbjAaWSbjBbdvbjCbjDbjEbjFbjFbjGbjHbjIbdvbjJbjKbatbjLbatbavbatbatddAbaAbaAbaAbaAbgKbqUddBbmKbutbwmbtmbmKbutbwmbtmbmKddCbqUbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikblsbohbptbojbpwbpwbqWbpwbpwbpwbqWblubjNaInaKzaKBbfqbgNbimbjObjPbimbjQbjRbjSbjTbgNbjUaFmbjWbcsbcobjXbjYbjZbkabkbbkcbkdbkebkebkebkfbkgbcobejbivbkhbkibkjbkkbcvbcvbcvbcvbcvbklbkmbknbkobkpbesbeubiKaXJaXJaXJbkqbkrbksbktbkubkvbhobkwbkxbkybkzbkAbkBbkCbkDbkEbkFbkGbkubkHbkIbkJbkKbkMbkLbkObkObkPaYibkQaMebmwbkRbkSbglbmwbkTbkUbmwbkVbkWbglbmwbnMbeMbeMbeMbeNbeMbkXbeMbjpbhLbkYaVbbkZbhNbeXbeYbeYbeXbhPblaaVbblbblcbldbleblfblgblhblibljbljbljbljbljbljblkbllblmbfgbfgbfgbfgbfgbfgblnbloblpbgHbatbatbatbavbatbatddDbgKblrblrblrbaAbwmbtmbmKbutbBQbtmbmKbutbBQbtmbmKbutbwmbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbqYbqXbqXbqXbqXbqXbqXbqXbqXbqXbqXbqZbraaGdbraaJrbfqbgNblwbimblxblxblxblybimblzbgNblAblBbjWblCblCblCblCblDblCblEbecblFblGblHblHblIblJbcoblKblLblMblNblOblPblQblRblSblRblTblTblTblTblTblUberbeublVblWblXblYblZbmabmbbmcbmdbkBbmebmfbmgbmgbmgbmgbmhbmgbmibmjbmkbmlbmebmmbmnbcEbmobmpbmqbkNbmsbmtaYiaYibjfbmwbnCbmwbmwbmwaRebmwbmwbmvbmvbmwbmwbmxbeMbeMbmybmzbeMbeMbeMbmAbmBbmCaVbbgxbhNbeXbeXbeXbeXbhPbmDaVbbmEbmFbmFbmGbmFbmHbbPbbPbbPbbPbmIbbPbbPbbPbmJblobfgbfgbfgbfgbfgbfgbfgblnbloblpbgHbatbfjbfjbfkbfjbatddEbaAbmLbmMbmNbaAbBQbtmbmKbutbBQbtmbmKbutbBQbtmbmKbutbBQbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik bikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbrcbrbbrebrdbrfbrfbrgbrfbrfbrfbrgbluaInaInaKzbrVbcjbmQbimbmRblxblxblxblybmRbimbgNbmSbmTbjWblCbmUbmVbmWbmXblCbmYbmZbnabcobnbbncbndbnebcobejbnfbngbngbnhbngbngbngbngbnibnjbnjbnjbnkbnjbnlbnmbnnbnobnpbnqbnqbnqbnqbnqbnqbnrbnsbnrbmgbmgbntbnubnvbnwbnxbnybntbnzbmgbnAbnBbnAbnAbnAbnAbnAbnAbnAbmtaYiaYiaMebnEbnDcakbnGbmwbnFbmwbnIbnHbnJbmwbpjaUTbnKbnLaUTaUTczObnNddybnNaUTaUTaVbbnObnPbnQbnQbnQbnQbnPbnRaVbbnSbmFbmFbmGbnTaRDbnUbnVbnWbnXbnYbnZboabobbocaQbbodaRSboebfgbfgboeaRSbofaQbbogbgHbatbgIbgIbgJbgIbatddDbgKblrblrblrbaAbGVbtmbmKbutbGVbtmbmKbutbGVbtmbmKbutbGVbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbikbik From f4191293eb940f5555d451f0371bb9eda3e938df Mon Sep 17 00:00:00 2001 From: monster860 Date: Thu, 10 Mar 2016 21:24:21 -0500 Subject: [PATCH 21/44] Spesspod Mining Laser - Fuck You Git edition --- _maps/map_files/cyberiad/z5.dmm | 84 ++++++++++++------ code/game/vehicles/spacepods/equipment.dm | 70 ++++++++++++++- code/game/vehicles/spacepods/spacepod.dm | 86 ++++++++++++++++--- code/modules/mining/mine_areas.dm | 5 +- .../research/designs/spacepod_designs.dm | 44 ++++++++++ 5 files changed, 244 insertions(+), 45 deletions(-) diff --git a/_maps/map_files/cyberiad/z5.dmm b/_maps/map_files/cyberiad/z5.dmm index 87a769d34d2..9e758ffef7a 100644 --- a/_maps/map_files/cyberiad/z5.dmm +++ b/_maps/map_files/cyberiad/z5.dmm @@ -220,6 +220,7 @@ "el" = (/obj/docking_port/stationary{dwidth = 3; height = 5; id = "science_away"; name = "research outpost dock"; width = 7},/turf/space,/area/space) "em" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = -30; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/research_outpost/hallway) "en" = (/turf/simulated/floor/plasteel{icon_state = "white"},/area/research_outpost/hallway) +"eo" = (/turf/simulated/wall/r_wall,/area/mine/podbay) "ep" = (/obj/machinery/camera{c_tag = "Research Outpost Lobby"; dir = 2; network = list("Research Outpost")},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/obj/machinery/light{dir = 1},/obj/structure/noticeboard/anomaly{icon_state = "nboard05"; pixel_y = 32},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitegreencorner"},/area/research_outpost/hallway) "eq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/structure/sign/science{desc = "A warning sign which reads 'MASS SPECTROMETRY'"; name = "\improper MASS SPECTROMETRY"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{level = 1},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitegreencorner"},/area/research_outpost/hallway) "er" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{level = 1},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitegreen"},/area/research_outpost/hallway) @@ -250,6 +251,7 @@ "eQ" = (/turf/simulated/floor/plasteel/airless{icon_state = "damaged2"},/area/mine/abandoned) "eR" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/research_outpost/hallway) "eS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/research_outpost/hallway) +"eT" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/mine/podbay) "eU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6; level = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/research_outpost/hallway) "eV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{level = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/research_outpost/hallway) "eW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/research_outpost/hallway) @@ -1129,7 +1131,7 @@ "vM" = (/obj/structure/ore_box,/turf/simulated/floor/plasteel,/area/mine/living_quarters) "vN" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel,/area/mine/living_quarters) "vO" = (/obj/structure/closet/secure_closet/miner,/turf/simulated/floor/plasteel,/area/mine/living_quarters) -"vP" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/mine/eva) +"vP" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/light{dir = 1; in_use = 1},/turf/simulated/floor/engine,/area/mine/podbay) "vQ" = (/turf/simulated/wall,/area/mine/eva) "vR" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/firedoor{dir = 2},/turf/simulated/floor/plating,/area/mine/eva) "vS" = (/obj/structure/table,/obj/item/weapon/shovel,/turf/simulated/floor/plasteel,/area/mine/west_outpost) @@ -1189,7 +1191,7 @@ "wU" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/firedoor{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/mining{name = "Mining Station Storage"; req_access_txt = "48"},/turf/simulated/floor/plasteel,/area/mine/living_quarters) "wV" = (/obj/machinery/alarm{pixel_y = 24},/obj/machinery/portable_atmospherics/scrubber,/obj/machinery/camera{c_tag = "Mining Outpost Starboard Connector"; network = list("Mining Outpost")},/turf/simulated/floor/plasteel,/area/mine/lobby) "wW" = (/turf/simulated/floor/plasteel,/area/mine/lobby) -"wX" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/plasteel,/area/mine/lobby) +"wX" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/floor/plasteel/airless{icon_state = "circuit"},/area/mine/explored) "wY" = (/obj/effect/spawner/window/reinforced,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/eva) "wZ" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"},/obj/item/device/gps/mining{gpstag = "MINE2"},/obj/item/device/gps/mining{gpstag = "MINE1"},/obj/item/device/gps/mining,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -3},/turf/simulated/floor/plasteel,/area/mine/eva) "xa" = (/turf/simulated/floor/plasteel,/area/mine/eva) @@ -1214,7 +1216,7 @@ "xt" = (/obj/structure/sink{pixel_y = 30},/obj/machinery/light/small,/obj/structure/mirror{pixel_y = -32},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/mine/living_quarters) "xu" = (/obj/machinery/door/firedoor{dir = 4; name = "Firelock"},/obj/machinery/door/airlock{name = "Toilet"},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/mine/living_quarters) "xv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel,/area/mine/living_quarters) -"xw" = (/obj/machinery/power/apc{dir = 1; name = "Mining Station Port Wing APC"; pixel_x = 1; pixel_y = 25},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plasteel,/area/mine/living_quarters) +"xw" = (/obj/structure/grille,/turf/simulated/floor/plasteel/airless{icon_state = "circuit"},/area/mine/explored) "xx" = (/obj/machinery/camera{c_tag = "Mining Outpost Crew Area Hallway"; network = list("Mining Outpost")},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/simulated/floor/plasteel,/area/mine/living_quarters) "xy" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel,/area/mine/living_quarters) "xz" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/plasteel,/area/mine/living_quarters) @@ -1223,7 +1225,7 @@ "xC" = (/obj/structure/window/reinforced,/obj/structure/lattice,/turf/space,/area/mine/living_quarters) "xD" = (/obj/structure/window/reinforced,/obj/structure/lattice,/turf/space,/area/mine/lobby) "xE" = (/turf/simulated/floor/plasteel{dir = 9; icon_state = "warning"},/area/mine/lobby) -"xF" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plasteel,/area/mine/lobby) +"xF" = (/obj/machinery/camera{c_tag = "Mining Outpost Starboard Connector"; network = list("Mining Outpost")},/turf/simulated/floor/engine,/area/mine/podbay) "xG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plasteel,/area/mine/lobby) "xH" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door/firedoor{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/glass_mining{name = "Mining Station EVA"; req_access_txt = "54"},/turf/simulated/floor/plasteel,/area/mine/eva) "xI" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel,/area/mine/eva) @@ -1302,7 +1304,7 @@ "zd" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor/plasteel,/area/mine/production{name = "Mining Station Mech Bay"}) "ze" = (/obj/structure/table/reinforced,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plasteel,/area/mine/production{name = "Mining Station Mech Bay"}) "zf" = (/obj/structure/table/reinforced,/obj/item/weapon/wrench,/obj/item/weapon/screwdriver,/obj/item/weapon/crowbar,/obj/machinery/power/apc{dir = 1; name = "Mining Station Mech Bay APC"; pixel_x = 1; pixel_y = 25},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plasteel,/area/mine/production{name = "Mining Station Mech Bay"}) -"zg" = (/obj/machinery/mech_bay_recharge_port,/turf/simulated/floor/plating,/area/mine/production) +"zg" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/plasteel{tag = "icon-stage_stairs"; icon_state = "stage_stairs"},/area/mine/podbay) "zh" = (/turf/simulated/floor/mech_bay_recharge_floor,/area/mine/production{name = "Mining Station Mech Bay"}) "zi" = (/obj/machinery/computer/mech_bay_power_console,/turf/simulated/floor/plasteel,/area/mine/production{name = "Mining Station Mech Bay"}) "zj" = (/turf/simulated/floor/plasteel/airless{icon_state = "asteroidwarning"; dir = 5},/area/mine/explored) @@ -1339,7 +1341,7 @@ "zO" = (/obj/machinery/camera{c_tag = "Mining Outpost Port Exterior Airlock"; dir = 4; network = list("Mining Outpost")},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "mining_west_pump"},/turf/simulated/floor/plasteel{icon_state = "warning"},/area/mine/living_quarters) "zP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/plasteel{icon_state = "warning"},/area/mine/living_quarters) "zQ" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "mining_west_pump"},/turf/simulated/floor/plasteel{icon_state = "warning"},/area/mine/living_quarters) -"zR" = (/obj/machinery/door/airlock/external{id_tag = "mining_away"; name = "Mining Dock Airlock"; req_access_txt = "48"},/turf/simulated/floor/plasteel,/area/mine/production) +"zR" = (/turf/simulated/wall/r_wall,/area/mine/eva) "zS" = (/obj/machinery/power/apc{dir = 8; name = "Mining Station Starboard Wing APC"; pixel_x = -27; pixel_y = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plasteel,/area/mine/lobby) "zT" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel,/area/mine/lobby) "zU" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/mine/lobby) @@ -1373,6 +1375,9 @@ "Aw" = (/obj/machinery/power/apc{dir = 1; name = "Mining Station External APC"; pixel_x = 1; pixel_y = 25},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/explored) "Ax" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/explored) "Ay" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/explored) +"Az" = (/obj/machinery/door_control{desc = "A remote control-switch for the pod doors."; id = "minepodbay"; name = "Pod Door Control"; pixel_x = 0; pixel_y = 24; req_access_txt = "0"; req_one_access_txt = "48;70"},/turf/simulated/floor/engine,/area/mine/podbay) +"AA" = (/turf/simulated/floor/engine,/area/mine/podbay) +"AB" = (/obj/structure/spacepoddoor,/turf/simulated/floor/engine,/area/mine/podbay) "AC" = (/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/mine/lobby) "AD" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/disposalpipe/segment,/obj/machinery/camera{c_tag = "Mining Shuttle Airlock"; dir = 8; network = list("Mining Outpost")},/turf/simulated/floor/plasteel,/area/mine/lobby) "AE" = (/obj/machinery/vending/snack,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/mine/living_quarters{name = "Mining Station Break Room"}) @@ -1383,6 +1388,7 @@ "AJ" = (/obj/machinery/alarm{pixel_y = 25},/obj/structure/closet/crate/bin{name = "Garbage bin"},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/mine/living_quarters{name = "Mining Station Break Room"}) "AK" = (/obj/structure/flora/kirbyplants,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/mine/living_quarters{name = "Mining Station Break Room"}) "AL" = (/obj/machinery/door/firedoor,/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/mine/living_quarters{name = "Mining Station Break Room"}) +"AM" = (/obj/machinery/firealarm{pixel_y = 24},/obj/structure/disposalpipe/segment,/turf/simulated/floor/engine,/area/mine/podbay) "AN" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel,/area/mine/lobby) "AO" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel,/area/mine/lobby) "AP" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{name = "Mining Break Room"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/mine/lobby) @@ -1392,6 +1398,7 @@ "AT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/mine/living_quarters{name = "Mining Station Break Room"}) "AU" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/mine/living_quarters{name = "Mining Station Break Room"}) "AV" = (/turf/simulated/floor/plasteel{icon_state = "bar"},/area/mine/living_quarters{name = "Mining Station Break Room"}) +"AW" = (/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/engine/vacuum,/area/mine/podbay) "AX" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/mine/lobby) "AY" = (/obj/machinery/door/firedoor,/obj/effect/spawner/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plating,/area/mine/lobby) "AZ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4; level = 1},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/mine/living_quarters{name = "Mining Station Break Room"}) @@ -1437,6 +1444,29 @@ "BN" = (/obj/machinery/conveyor{dir = 4; id = "mining_internal"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/mine/production) "BO" = (/obj/machinery/telepad_cargo,/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/mine/production) "BP" = (/obj/docking_port/stationary{dir = 2; dwidth = 2; height = 18; id = "skipjack_z5"; name = "south of asteroid"; width = 19},/turf/space,/area/space) +"BQ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; initialize_directions = 10},/turf/simulated/floor/engine,/area/mine/podbay) +"BR" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor/engine,/area/mine/podbay) +"BS" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/engine,/area/mine/podbay) +"BT" = (/obj/machinery/power/apc{dir = 8; name = "Mining Station Podbay APC"; pixel_x = -27; pixel_y = 2},/obj/structure/cable{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/engine,/area/mine/podbay) +"BU" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/engine,/area/mine/podbay) +"BV" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/engine,/area/mine/podbay) +"BW" = (/obj/structure/spacepoddoor,/obj/machinery/door/poddoor/three_tile_ver{id_tag = "minepodbay"; req_one_access_txt = "48;70"},/turf/simulated/floor/engine,/area/mine/podbay) +"BX" = (/obj/effect/decal/warning_stripes/north,/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plasteel,/area/mine/podbay) +"BY" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/mine/podbay) +"BZ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plasteel{tag = "icon-stage_stairs"; icon_state = "stage_stairs"},/area/mine/podbay) +"Ca" = (/obj/effect/decal/warning_stripes/north,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel,/area/mine/podbay) +"Cb" = (/obj/machinery/computer/podtracker,/turf/simulated/floor/plasteel,/area/mine/podbay) +"Cc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel,/area/mine/podbay) +"Cd" = (/obj/machinery/door/firedoor{dir = 2},/obj/machinery/door/airlock/glass_mining{name = "Mining Station Pod Bay"; req_access_txt = "54"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plasteel,/area/mine/lobby) +"Ce" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/firedoor{dir = 2},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/mine/lobby) +"Cf" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8},/turf/simulated/floor/plasteel,/area/mine/lobby) +"Cg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel,/area/mine/lobby) +"Ch" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plasteel,/area/mine/living_quarters) +"Ci" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel,/area/mine/lobby) +"Cj" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/mine/eva) +"Ck" = (/turf/simulated/wall/r_wall,/area/mine/lobby) +"Cl" = (/obj/machinery/mech_bay_recharge_port,/turf/simulated/floor/plating,/area/mine/production{name = "Mining Station Mech Bay"}) +"Cm" = (/obj/machinery/door/airlock/external{id_tag = "mining_away"; name = "Mining Dock Airlock"; req_access_txt = "48"},/turf/simulated/floor/plasteel,/area/mine/lobby) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -1606,40 +1636,40 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacacacaaaaaaaaaaaaaaaaacacaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaeaepOpOukukukukukukukuluhujaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjumumumumumumumbjacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafoVoVoVafafaeaeaeaeqCnWnlafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacaaaaaaaaaaaaaaaaaaaaaeaeaeaeufunununununununuoupujaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjumuqurusutuuumbjacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaafafafoVoVoVoVafafafaeaeaeqCaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacacacaaaaaaaaaaaaaaaaafaeaeaepOpOqoqoqoqoqoqouvuhuwuaaaaaaaaaaaafacacbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjumuxuyuzuAuBumbjbjacacacaaaaaaaaaaaaaaaaaaaaaaaaaaafafafoVoVoVoVafafafaeaeaeqCaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaacacacaaaaaaaaaaaaafafafaeaeaeaeaaaaaaaaaaaauguhujaaaaaaaeaeaeafacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjoeuCuDbjuEumumumuFumumumbjbjacacacaaaaaaaaaaaaaaaaaaaaaaaaafafafafoVoVoVoVafafafaeaeaeqCaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaacacafafaeaeaeaaaaaaaaaaaaaauguhujaaaeaeaeaeaeafafacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjuGuDuHbjuEuIuJuEuKuEafafacacacacacaaaaaaaaaaaaaaaaaaaaaaafafafafoVoVoVoVoVafafafafaeaeqCaeaeafafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacafafafaeaeaaaaaaaaaaaaaauLuhujaeaeaeaeaeaeaeafacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjoenlacuEuMuNuOuPuEaeafafacacacacaaaaaaaaaaaaaaaaaaaaafafafafoVoVoVoVoVoVafafafafaeaeqCaeaeaeaeafafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaaaaaaapOufpOaeaeaeaeaeaeaeafafacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjuQbjacuEuEuEuEuRuEaeaeafafnlafafaaaaaaaaaaaaaaaaaaaaaaafafafoVoVoVafafafafafafafafaeqCaeaeaeaeaeaeafafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjacacaaaaaaaaaaaaaaaaaaaeaepOoepOaeaeaeaeaeaeaeaeafacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjuSbjbjuEuIuTuEuUuVaeaeaeaeuWaeafafaaaaaaaaaaaaaaaaaaaaafafafafafafafnlnlnlnlnlnlafaeqCaeaeaeaeaeaeaeafafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacaaaaaaaaaaaaaaaaaaaaacacbjbjacaaaaaaaaaaaaaaaaaaaeaeaeaeoeoeoeoeuXuXuXaeaeaeafacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjuSbjbjuEuMuNuYuKuVaeaeaeaeaeaeaeaeaeaaaaaaaaaaaaaaaaaaaaafafafafafafnluZvavbvbvcaeaeqCaeaeaeaeaeaeaeaeaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaccsacacacacaaaaaaaaaaaaaaacacacbjbjacaaaaaaaaaaaaaaaaaaaeaeaeaeaeaeaeaevdvevfaeaeaeafacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjacacacafafafafafafafacacacacacacacacbjbjbjbjbjbjbjbjbjbjuEvguEuEuEuEuEuEuKuVaeaeaeaeaeaeaeaeaeaeaeaaaaaaaaaaaaaaaaaaafafafafafnlvhvivivivjaerTqtquaeaeaeaeaeaeaeaeaeafafafafafoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacaaaaaaaaaaaaaaacacacbjbjacaaaaaaaaaeaevkvkvkvkvkvkvlvlvlvkvmvkvkvkaeaeaeafacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacafafaeaeaeaeaeafafafafafacacacacacacacbjbjbjbjuEuEuEuEvnvovpuEuIvquEvruEuEuEuVuVuVuEaeaeaeaeaeaeaaaaaaaaaaaaaaaaaaafafafafnlvsvtvtvtvuaeqpqyqraeaeaeaeaeaeaeaeaeafafafafafoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacaaaaaaaaaaaaaaacacacacacaaaaafaeaeaevkvvvwvxvyvzvAvBvCvDvEvFvGvyquaeaeafafafafacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacafafaeaeaeaeaeaeaeaeaeaeafafafafafacacacacbjbjbjuEvHvIvJvKvIvIuEuMuNvLuKuEvMvNvOvOvOuVaeaeaeaeaeaeaeaaaaaaaaaaaaaaaaaaafafafaeaeaeaeaeaeaeaevPvQvRvRvQvQaeaeaeaeaeaeafafafafoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaacacacaaaaacafaeaeaevkvSvTvUvyvTvVvTvTvWvXvYvGvZwaaeaeaeaeaeafafafacacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjacacafafnlaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafacacacacacacuEwbvIwcwdwewfuEuEuEuEuKuEvMwgwgwgwhuVaeaeaeaeaeaeaeaaaaaaaaaaaaaaaaaaaeaeaeaeaeaeaeaeaeaeaevPwiwjwjwkvQaewlaeaeaenWnlafafafoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaacafaeaeaevkwmvTvTwnvTvVwovTvTvywpwqvyqraeaeaeaeaeaeaeafafafafacacacacacacbjbjbjbjbjbjbjbjbjacacafafaeuWaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafacacacuEwrwswtvIwuwvwwwhwxwywzuEwAwgwBwCwDuVaeaeaeaeaeaeaaaaaaaaaaaaaaaaaaaaaaaaaeaeaeaeaewEwEwFwFvPwGwHwIwJvQvQvQvQaeaeaeaeafafafafoVoVoVoVoVoVoVoVoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacafafaeaevkwKvTwLvEwMwNwOvTvkvkvkvkvkvmrTquaeaeaeaeaeaeaeaeafafafacacacacacbjbjbjbjbjbjbjacacacafaeaeaeaeaeaeaeaeaeaeaerTquaeaeaeaeaeaeaeaeaeafafacacwPuEuEuEwQuEuEwRwSwTwRwSuEuEuEuEuEwUuEuEuVuVaeaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaewFwFwVwWwXwYwZxaxaxbxcxdxexcquaeaeaenmafafafoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacafaeaevkxfxgxhvyxixjxkxlxmxnxoxpxqxrtTtUrsrsrsrsrsqLaeaeaeaeafafafacacacacacbjbjbjacacacacafafaeaetRrsrsrsrsrsrsrsrstTtUrsrsrsrsqLaeaeaeaeaeafacacacacacwQxsxtxuwgwDxvwhwDwwxwxxxywhwDwgxzxAuVuVuVxBxCxCxCxCxCxCxCxDxDxDxDxDxDxDwFwFwFxEwWxFxGxHxIxaxaxJxKxLxMxNxOaeaeaenmafafafoVoVoVoVoVoVafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaacacacaaaaaaaaaaaaafafafaeaeaeaeaaaaaaaaaaaauguhujaaaaaaaeaeaeafacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjoeuCuDbjuEumumumuFumumumbjbjacacacaaaaaaaaaaaaaaaaaaaaaaaaafafafafoVoVnlnlnlnlnlnlaeaeqCaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaacacafafaeaeaeaaaaaaaaaaaaaauguhujaaaeaeaeaeaeafafacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjuGuDuHbjuEuIuJuEuKuEafafacacacacacaaaaaaaaaaaaaaaaaaaaaaafafafafoVoVoVnluZvavbvbvcaeaeqCaeaeafafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacafafafaeaeaaaaaaaaaaaaaauLuhujaeaeaeaeaeaeaeafacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjoenlacuEuMuNuOuPuEaeafafacacacacaaaaaaaaaaaaaaaaaaaaafafafafoVoVoVoVnlvhvivivivjaeaeqCaeaeaeaeaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaaaaaaapOufpOaeaeaeaeaeaeaeafafacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjuQbjacuEuEuEuEuRuEaeaeafafnlafafaaaaaaaaaaaaaaaaaaaaaaafafafoVoVoVafnlvsvtvtvtvuaeaeqCaeaeaeaeaeaeafafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjacacaaaaaaaaaaaaaaaaaaaeaepOoepOaeaeaeaeaeaeaeaeafacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjuSbjbjuEuIuTuEuUuVaeaeaeaeuWaeafafaaaaaaaaaaaaaaaaaaaaafafafafafafafaeaeaeaeeoeoeoeoeTeoxwwXaeaeaeaeafafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacaaaaaaaaaaaaaaaaaaaaacacbjbjacaaaaaaaaaaaaaaaaaaaeaeaeaeoeoeoeoeuXuXuXaeaeaeafacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjuSbjbjuEuMuNuYuKuVaeaeaeaeaeaeaeaeaeaaaaaaaaaaaaaaaaaaaaafafafafafafaeaeaeaeeovPxFAzAMABAWaeaeaeaeaeaeaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaccsacacacacaaaaaaaaaaaaaaacacacbjbjacaaaaaaaaaaaaaaaaaaaeaeaeaeaeaeaeaevdvevfaeaeaeafacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjacacacafafafafafafafacacacacacacacacbjbjbjbjbjbjbjbjbjbjuEvguEuEuEuEuEuEuKuVaeaeaeaeaeaeaeaeaeaeaeaaaaaaaaaaaaaaaaaaafafafafafaeaeaeaeeoAABRBQBSABAWaeaeaeaeaeaeaeaeafafafafafoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacaaaaaaaaaaaaaaacacacbjbjacaaaaaaaaaeaevkvkvkvkvkvkvlvlvlvkvmvkvkvkaeaeaeafacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacafafaeaeaeaeaeafafafafafacacacacacacacbjbjbjbjuEuEuEuEvnvovpuEuIvquEvruEuEuEuVuVuVuEaeaeaeaeaeaeaaaaaaaaaaaaaaaaaaafafafafaeaeaeaeeoBTBVBUBSBWAWaeaeaeaeaeaeaeaeafafafafafoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacaaaaaaaaaaaaaaacacacacacaaaaafaeaeaevkvvvwvxvyvzvAvBvCvDvEvFvGvyquaeaeafafafafacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacafafaeaeaeaeaeaeaeaeaeaeafafafafafacacacacbjbjbjuEvHvIvJvKvIvIuEuMuNvLuKuEvMvNvOvOvOuVaeaeaeaeaeaeaeaaaaaaaaaaaaaaaaaaafafafaeaeaeaeBYBXCazgCjzRvRvRvQvQaeaeaeaeaeaeafafafafoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaacacacaaaaacafaeaeaevkvSvTvUvyvTvVvTvTvWvXvYvGvZwaaeaeaeaeaeafafafacacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjacacafafnlaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafacacacacacacuEwbvIwcwdwewfuEuEuEuEuKuEvMwgwgwgwhuVaeaeaeaeaeaeaeaaaaaaaaaaaaaaaaaaaeaeaeaeaeaeaeBYCbCcBZCjwiwjwjwkvQaewlaeaeaenWnlafafafoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaacafaeaeaevkwmvTvTwnvTvVwovTvTvywpwqvyqraeaeaeaeaeaeaeafafafafacacacacacacbjbjbjbjbjbjbjbjbjacacafafaeuWaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafacacacuEwrwswtvIwuwvwwwhwxwywzuEwAwgwBwCwDuVaeaeaeaeaeaeaaaaaaaaaaaaaaaaaaaaaaaaaeaeaeaeaeCkCkCeCdCjwGwHwIwJvQvQvQvQaeaeaeaeafafafafoVoVoVoVoVoVoVoVoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacafafaeaevkwKvTwLvEwMwNwOvTvkvkvkvkvkvmrTquaeaeaeaeaeaeaeaeafafafacacacacacbjbjbjbjbjbjbjacacacafaeaeaeaeaeaeaeaeaeaeaerTquaeaeaeaeaeaeaeaeaeafafacacwPuEuEuEwQuEuEwRwSwTwRwSuEuEuEuEuEwUuEuEuVuVaeaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaewFwFwVCgCfwYwZxaxaxbxcxdxexcquaeaeaenmafafafoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacafaeaevkxfxgxhvyxixjxkxlxmxnxoxpxqxrtTtUrsrsrsrsrsqLaeaeaeaeafafafacacacacacbjbjbjacacacacafafaeaetRrsrsrsrsrsrsrsrstTtUrsrsrsrsqLaeaeaeaeaeafacacacacacwQxsxtxuwgwDxvwhwDwwChxxxywhwDwgxzxAuVuVuVxBxCxCxCxCxCxCxCxDxDxDxDxDxDxDwFwFwFxEwWCixGxHxIxaxaxJxKxLxMxNxOaeaeaenmafafafoVoVoVoVoVoVafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacafaeaevkvkvkvkvkxPxQxRvkvkxSvkvkvkvkqpqraeaeaeaeaeqCaeaeaeaeafaeafafacacacacacacacacacacafafaeaeaeqCaeaeaeaeaeaeaeaeqpqraeaeaeaeqCaeaeaeaeaeafafnlafafacuEuEuEuEwgwDxTxUxVwyxWxXxXxYxYxZxXyaybxXybycycycycycycycycydydydydydydydyeyfyeygyfyhyiyjykylymynxcyoypxcqraeaeaeaeafafafafoVoVoVoVoVafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacafafaeaeaeaeaevkyqyrysytvkyuyvoeaeaeaeaeaeqEaeaeaeqKrsrsqLaeaeaeaeafacacacacacacacacacacafaeaetRrstSaeaeaeaeafaeaeqEaeaeaeaeaeaeqCaeaeaeaeaeaeaeuWaeafafafafafuEwgywyxyyyyyxyzyAyByyyyyCyxyDyEyEyEyFyFyFyFyFyFyFyFyGyGyGyGyGyGyHyIyIyIyJyKyLyMyNyOyPyOyOyOyOyOyOyQaeaeaeaenmafafafoVoVoVoVafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacafafaeaeaeaevkyRySyTyUvkaeaeaeaeaeaeafafnlafaeaeaeaeaeqCaeaeaeaeaeafacacacacacafafafafafaetRtSaeaeaeafafafafafafnlaeaeaeaeaeaeqCaeaeaeaeaeaeaeaeaeaeaeafafuEuEwRyVwRuEuEyWyXyYuEuEuEyZwRuEuVaeaeaeaaaaaaaaagaaaaaaagaaaaaaaaaaagaawFwFwWzazbzczdzezfzgzhziyOvbzjaeaeaeaeaeafafafoVoVoVoVafafafoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacafafaeaeaeaevkyRySyTyUvkaeaeaeaeaeaeafafnlafaeaeaeaeaeqCaeaeaeaeaeafacacacacacafafafafafaetRtSaeaeaeafafafafafafnlaeaeaeaeaeaeqCaeaeaeaeaeaeaeaeaeaeaeafafuEuEwRyVwRuEuEyWyXyYuEuEuEyZwRuEuVaeaeaeaaaaaaaaagaaaaaaagaaaaaaaaaaagaawFwFwWzazbzczdzezfClzhziyOvbzjaeaeaeaeaeafafafoVoVoVoVafafafoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacafafaeaeaevkvkvkvkvkvkaeaeafafafafafacacafafaeaeaeaeqCaeaeaeaeaeaeafafafafafafaeaeaeaeaeqCaeaeafafafacacacacacafaeaeaeaeaeaeqCaeaeaerTquaeaeaeaeaeaeaeafuEzkzlzmznuEzozpzqzrzsuEztzuzvuEaeaeaeaeaeaeaaaaagaaaaaaagagagagagagagagagwEzwzxzyzzzAzAzBzCzCzDzEzFvjaeaeaeaeaeafafafoVoVoVafafoVoVoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacafaeaeaeaeaeaeaeaeaeaeaeafacacacacacacacafafaeaeaeqKrsrsrsqLaeaeaeaeaeaeaeaeaeaeaeaeaeqCaeafafacacacacacacacafafaeaeaeaeaeqKrsrsrstTtUrsrsrsqLaeaeaeaeuEzGzHzIzJuEzKzLzLzMzNuEzOzPzQuEaeaeaeaeaeaeagagagagagagagaaaaaaaaaaagaaaawEzSzTzUzVzWzXzYzCzCzDzEzFvjaeaeaeaeafafafafoVoVafafafoVoVoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacafaeaeaeaeaeaeaeaeaeaeaeafacacacacacacacafafaeaeaeqKrsrsrsqLaeaeaeaeaeaeaeaeaeaeaeaeaeqCaeafafacacacacacacacafafaeaeaeaeaeqKrsrsrstTtUrsrsrsqLaeaeaeaeuEzGzHzIzJuEzKzLzLzMzNuEzOzPzQuEaeaeaeaeaeaeagagagagagagagaaaaaaaaaaagaaaawEzSzTzUzVzWzXzWzCzCzDzEzFvjaeaeaeaeafafafafoVoVafafafoVoVoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacafaeaeaeaeaeaeaeaeaeafafafacacacacacacacacafafafaeaeaeaeaeqKqLaeaerTquaeaetRrsrsrsrsrstSaeafacacacacbjbjbjacacafafafaeaeaeaeaeaeaeqpqraeaeaeqCaeaeaeaewPuEuEuEuEuEzZAaAbAczNuEuEAdwRwPaeaeaeaeaeaeaaaaagaaaaaaagaaaaaaaaaaagaawFwFAeAfAgyOAhAiAjAkzhziyOvtvuaeaeaeaeafafafoVoVoVafafafafoVoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacafafafafaeaeaeaeafafafacacacacacacacacacacacacafafafaeqEaeaeqKrsrstTtUrsrstSaeaeaeaeaeaeaeafacacacbjbjbjbjbjacacacafafafafaeaeaeaeaeaeaeaeaeqKrsrsqLaeaeaeaeaeaewPuEuEuEuEuEwPzFAlAmAnaeaeaeaeaeaaaaaaagaaaaaaagaaaaaaaaaaAowFApAqArAsAtwEAuAvAuAuAuAuAuAutNaeaeaeafafafafoVoVafafafafoVoVoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacafafafafafafacacacacacacacacacacacacacacacacafafnlafaeaeaeaeqpqraeaeaeaeqEaeafafafafafacacbjbjbjbjbjbjbjacacacacacafafafafafafafafaeaeaeaeaeqCaeaeaeaeaeaeaeaeqpAwAxAxAxAxAyqraeaeaeaeaeaeagagagagagagagagaaaaaaaahMhgwWzRwWwWAsADwEAEAFAGAHAIAJAKALaeaeaeaeafafafafoVoVafafafoVoVoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacafafafafafafacacacacacacacacacacacacacacacacafafnlafaeaeaeaeqpqraeaeaeaeqEaeafafafafafacacbjbjbjbjbjbjbjacacacacacafafafafafafafafaeaeaeaeaeqCaeaeaeaeaeaeaeaeqpAwAxAxAxAxAyqraeaeaeaeaeaeagagagagagagagagaaaaaaaahMhgwWCmwWwWAsADwEAEAFAGAHAIAJAKALaeaeaeaeafafafafoVoVafafafoVoVoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacbjbjbjbjbjbjacacacacacacafafaeaeaeaeaeaeaeaeaenlafafacacacacacbjbjbjbjbjbjbjbjacacacacacacacacacacacacafafaeaeaeaeqCaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaaaaaaaaaaaaagaaaaaaaaaawFwFwFACwWANAOAPAQARASATAUAVAVALaeaeaerCnlafafafoVafafafafoVoVoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacbjbjbjbjbjbjbjbjbjbjbjacacacacacacafafafaeaeaeafafafafafacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacafaeaeaeaeqKrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsqLaeaeaeaeaeaeaaaaaaaaaaagaaaaaaaaaaagaawFwFwWAsAXAYAZBaAVAVBbBbBcAuaeaeaeaeafafafafafafafafoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacafafafafafacacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeqCaerTquaeaeaenlnlaaaaaaagaaaaaaaaaaagaaaawEBdAszUBeAVAVAVBfBgBgBhALaeaeaeaeafafafafafoVafafoVoVoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeqKrstTtUrsrsrsBiBjBkBkBkBkBkBkBkBkBkBkBkBkBlBmBnBowEBpBqBrAVBsBsAVALaeaeafafafafafoVoVoVafoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeqKrstTtUrsrsrsBiBjBkBkBkBkBkBkBkBkBkBkBkBkBlBmBnBowEBpBqBrAVBsBsAVALaeaeaeafafafafoVoVoVafoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacafafafaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeqpqraeaeaenlnlagaaaaaaaaaaaaaaaaaaaaaaBtBtBuBvBtAuAuAuALALALALAuaeaeafafafafoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacafafafafafafafafafafnltNaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaaaaaaaaaaaaaaaaaaaaaaBtBwBxByBzBABBBtaeaeaeaeaeaeaeafafafafoVoVoVoVoVoVoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacacacacafaeaeaeaeaeaeaeaeaeaeaeaeaeqEaeaeaaaaaaaaaaaaaaaaaaaaaaBtBCBDBEBFzYBGBtaeaeaeaeaeaeafafafafoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacacacacafaeaeaeaeaeaeaeaeaeaeaeaeaeqEaeaeaaaaaaaaaaaaaaaaaaaaaaBtBCBDBEBFzYBGBtaeaeaeaeaeaeaeafafafoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacacacafaeaeaeaeaeaeaeaeaeaeaeaeafnlafafaaaaaaaaaaaaaaaaaaaaaaBtBHBIBJBKzYBLBtaeaeaeaenWnlafafafoVoVoVoVoVoVoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacafafaeaeaeaeaeaeaeaeaeafacacafafafaaaaaaaaaaaaaaaaaaaaaaBtBMBNBNBNBNBOBtaeaeaeaeaeafafafoVoVoVoVoVoVoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacafafafafafafafafafafafacacacafafafaaaaaaaaaaaaaaaaaaaaBtBtBtBtBtBtBtBtaeaeaeaeafafafoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaeaeaeaeaeueaeaeaeafafafafafafoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacacacbjbjbjbjbjacacaaaaaaaaaaaaaaaaaaaaaeaeaeafnlafafafafafafafafoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaeaeafafafafafafafafafafoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaeaeaeaeaeaeaeaeaeaeaeafafafafoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacacacbjbjbjbjbjacacaaaaaaaaaaaaaaaaaaaaaeaeaeaeueaeaeaeaeafafafafoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaeaeafafnlafafafafafafafoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaaaeaeafafafafafafoVoVoVoVoVoVoVafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaaaaaeaeafafafafoVoVoVoVoVoVoVafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaaaaaaaeaeafafafoVoVoVoVoVafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/code/game/vehicles/spacepods/equipment.dm b/code/game/vehicles/spacepods/equipment.dm index b9868a78c8f..5053012df1a 100644 --- a/code/game/vehicles/spacepods/equipment.dm +++ b/code/game/vehicles/spacepods/equipment.dm @@ -17,13 +17,13 @@ firstloc = get_step(my_atom, NORTH) secondloc = get_step(firstloc,EAST) if(SOUTH) - firstloc = get_step(my_atom, SOUTH) + firstloc = get_turf(my_atom) secondloc = get_step(firstloc,EAST) if(EAST) firstloc = get_step(my_atom, EAST) secondloc = get_step(firstloc,NORTH) if(WEST) - firstloc = get_step(my_atom, WEST) + firstloc = get_turf(my_atom) secondloc = get_step(firstloc,NORTH) olddir = dir var/proj_type = text2path(projectile_type) @@ -48,6 +48,7 @@ var/obj/spacepod/my_atom var/obj/item/device/spacepod_equipment/weaponry/weapon_system // weapons system var/obj/item/device/spacepod_equipment/misc/misc_system // misc system + var/obj/item/device/spacepod_equipment/cargo/cargo_system // cargo system //var/obj/item/device/spacepod_equipment/engine/engine_system // engine system //var/obj/item/device/spacepod_equipment/shield/shield_system // shielding system @@ -59,6 +60,10 @@ /obj/item/device/spacepod_equipment name = "equipment" var/obj/spacepod/my_atom + +/obj/item/device/spacepod_equipment/proc/removed(var/mob/user) // So that you can unload cargo when you remove the module + return + // base item for spacepod weapons /obj/item/device/spacepod_equipment/weaponry @@ -98,6 +103,34 @@ shot_cost = 600 fire_sound = 'sound/weapons/Laser.ogg' +// MINING LASERS +/obj/item/device/spacepod_equipment/weaponry/mining_laser_basic + name = "weak mining laser system" + desc = "A weak mining laser system for space pods, fires bursts of energy that cut through rock" + icon_state = "pod_taser" + projectile_type = "/obj/item/projectile/kinetic" + shot_cost = 300 + fire_delay = 14 + fire_sound = 'sound/weapons/Kenetic_accel.ogg' + +/obj/item/device/spacepod_equipment/weaponry/mining_laser + name = "mining laser system" + desc = "A mining laser system for space pods, fires bursts of energy that cut through rock" + icon_state = "pod_m_laser" + projectile_type = "/obj/item/projectile/kinetic/super" + shot_cost = 250 + fire_delay = 10 + fire_sound = 'sound/weapons/Kenetic_accel.ogg' + +/obj/item/device/spacepod_equipment/weaponry/mining_laser_hyper + name = "enhanced mining laser system" + desc = "An enhanced mining laser system for space pods, fires bursts of energy that cut through rock" + icon_state = "pod_w_laser" + projectile_type = "/obj/item/projectile/kinetic/hyper" + shot_cost = 200 + fire_delay = 8 + fire_sound = 'sound/weapons/Kenetic_accel.ogg' + //base item for spacepod misc equipment (tracker) /obj/item/device/spacepod_equipment/misc name = "pod misc" @@ -121,4 +154,35 @@ enabled = 1 user.show_message("You enable \the [src]'s power.") else - ..() \ No newline at end of file + ..() + +/obj/item/device/spacepod_equipment/cargo + name = "pod cargo" + desc = "You shouldn't be seeing this" + icon = 'icons/goonstation/pods/ship.dmi' + icon_state = "blank" + +/obj/item/device/spacepod_equipment/cargo/proc/passover(var/obj/item/I) + return + +/obj/item/device/spacepod_equipment/cargo/proc/unload() + return + +/obj/item/device/spacepod_equipment/cargo/ore + name = "\improper spacepod ore storage system" + desc = "An ore storage system for spacepods. Scoops up any ore you drive over." + icon_state = "pod_locator" + var/obj/structure/ore_box/box + +/obj/item/device/spacepod_equipment/cargo/ore/passover(var/obj/item/I) + if(box && istype(I,/obj/item/weapon/ore)) + I.forceMove(box) + +/obj/item/device/spacepod_equipment/cargo/ore/unload() + if(box) + box.forceMove(get_turf(my_atom)) + box = null + +/obj/item/device/spacepod_equipment/cargo/ore/removed(var/mob/user) + . = ..() + unload() diff --git a/code/game/vehicles/spacepods/spacepod.dm b/code/game/vehicles/spacepods/spacepod.dm index d6b02e9da26..d5e2c45182c 100644 --- a/code/game/vehicles/spacepods/spacepod.dm +++ b/code/game/vehicles/spacepods/spacepod.dm @@ -74,6 +74,8 @@ spacepods_list += src /obj/spacepod/Destroy() + if (equipment_system.cargo_system) + equipment_system.cargo_system.removed(null) qdel(equipment_system) equipment_system = null qdel(battery) @@ -283,6 +285,17 @@ equipment_system.misc_system = W equipment_system.misc_system.my_atom = src return + if(istype(W, /obj/item/device/spacepod_equipment/cargo)) + if(equipment_system.cargo_system) + user << "The pod already has a cargo system, remove it first." + return + else + user << "You insert \the [W] into the cargo system." + user.drop_item(W) + W.forceMove(src) + equipment_system.cargo_system = W + equipment_system.cargo_system.my_atom = src + return if(istype(W, /obj/item/weapon/weldingtool)) if(!hatch_open) @@ -316,6 +329,8 @@ possible.Add("Weapon System") if(equipment_system.misc_system) possible.Add("Misc. System") + if(equipment_system.cargo_system) + possible.Add("Cargo System") /* Not yet implemented if(equipment_system.engine_system) possible.Add("Engine System") @@ -332,6 +347,7 @@ SPE = equipment_system.weapon_system if(user.put_in_any_hand_if_possible(SPE)) user << "You remove \the [SPE] from the equipment system." + SPE.removed(user) SPE.my_atom = null equipment_system.weapon_system = null else @@ -340,10 +356,20 @@ SPE = equipment_system.misc_system if(user.put_in_any_hand_if_possible(SPE)) user << "You remove \the [SPE] from the equipment system." + SPE.removed(user) SPE.my_atom = null equipment_system.misc_system = null else user << "You need an open hand to do that." + if("Cargo System") + SPE = equipment_system.cargo_system + if(user.put_in_any_hand_if_possible(SPE)) + user << "You remove \the [SPE] from the equipment system." + SPE.removed(user) + SPE.my_atom = null + equipment_system.cargo_system = null + else + user << "You need an open hand to do that." /* if("engine system") SPE = equipment_system.engine_system @@ -481,24 +507,40 @@ playsound(src, 'sound/machines/windowdoor.ogg', 50, 1) return 1 -/obj/spacepod/MouseDrop_T(mob/M, mob/user) - if(!isliving(M)) - return +/obj/spacepod/MouseDrop_T(atom/A, mob/user) + if(istype(A,/mob)) + var/mob/M = A + if(!isliving(M)) + return - occupant_sanity_check() + occupant_sanity_check() - if(M != user && M.stat == DEAD && allow2enter) - if(occupant2 && !occupant) - usr << "You can't put a corpse into the driver's seat!" - return 0 - if(!occupant2) - visible_message("[user.name] starts loading [M.name] into the pod!") - sleep(10) - moved_other_inside(M) + if(M != user && M.stat == DEAD && allow2enter) + if(occupant2 && !occupant) + usr << "You can't put a corpse into the driver's seat!" + return 0 + if(!occupant2) + visible_message("[user.name] starts loading [M.name] into the pod!") + sleep(10) + moved_other_inside(M) - if(M == user) - enter_pod(user) + if(M == user) + enter_pod(user) + if(istype(A, /obj/structure/ore_box)) // For loading ore boxes + var/obj/structure/ore_box/O = A + if(equipment_system.cargo_system && istype(equipment_system.cargo_system,/obj/item/device/spacepod_equipment/cargo/ore)) + var/obj/item/device/spacepod_equipment/cargo/ore/C = equipment_system.cargo_system + if(!C.box) + user << "You begin loading \the [O] into \the [src]'s [equipment_system.cargo_system]" + if(do_after(user, 40, target = src)) + C.box = O + O.forceMove(C) + user << "You load \the [O] into \the [src]'s [equipment_system.cargo_system]!" + else + user << "You fail to load \the [O] into \the [src]'s [equipment_system.cargo_system]" + else + user << "\The [src] already has \an [C.box]" /obj/spacepod/verb/enter_pod(mob/user = usr) set category = "Object" @@ -686,6 +728,17 @@ return equipment_system.weapon_system.fire_weapons() +/obj/spacepod/verb/unload() + if(!CheckIfOccupant2(usr)) + set name = "Unload Cargo" + set desc = "Unloads the cargo" + set category = "Spacepod" + set src = usr.loc + if(!equipment_system.cargo_system) + usr << "\The [src] has no cargo system!" + return + equipment_system.cargo_system.unload() + /obj/spacepod/verb/toggleLights() set name = "Toggle Lights" set category = "Spacepod" @@ -785,6 +838,11 @@ moveship = 0 if(moveship) Move(get_step(src, direction), direction) + if(equipment_system.cargo_system) + for (var/turf/T in locs) + for (var/obj/item/I in T.contents) + equipment_system.cargo_system.passover(I) + else if(!battery) user << "No energy cell detected." diff --git a/code/modules/mining/mine_areas.dm b/code/modules/mining/mine_areas.dm index ba8a3053ed9..20aaf97647a 100644 --- a/code/modules/mining/mine_areas.dm +++ b/code/modules/mining/mine_areas.dm @@ -64,4 +64,7 @@ name = "North Mining Outpost" /area/mine/west_outpost - name = "West Mining Outpost" \ No newline at end of file + name = "West Mining Outpost" + +/area/mine/podbay + name = "Mining Podbay" \ No newline at end of file diff --git a/code/modules/research/designs/spacepod_designs.dm b/code/modules/research/designs/spacepod_designs.dm index 57f8490be5e..cd965caf540 100644 --- a/code/modules/research/designs/spacepod_designs.dm +++ b/code/modules/research/designs/spacepod_designs.dm @@ -124,6 +124,39 @@ category = list("Pod_Weaponry") materials = list(MAT_METAL=10000,MAT_GLASS=5000,MAT_GOLD=1000,MAT_SILVER=2000) locked = 1 + +/datum/design/pod_mining_laser_basic + construction_time = 200 + name = "Basic Mining Laser" + desc = "Allows for the construction of a weak mining laser" + id = "pod_mining_laser_basic" + req_tech = list("materials" = 3, "powerstorage" = 2, "engineering" = 2, "magnets" = 3, "combat" = 2) + build_type = PODFAB + materials = list(MAT_METAL = 10000, MAT_GLASS = 5000, MAT_SILVER = 2000, MAT_URANIUM = 2000) + build_path = /obj/item/device/spacepod_equipment/weaponry/mining_laser_basic + category = list("Pod_Weaponry") + +/datum/design/pod_mining_laser + construction_time = 200 + name = "Mining Laser" + desc = "Allows for the construction of a mining laser." + id = "pod_mining_laser" + req_tech = list("materials" = 6, "powerstorage" = 6, "engineering" = 5, "magnets" = 6, "combat" = 4) + build_type = PODFAB + materials = list(MAT_METAL = 10000, MAT_GLASS = 5000, MAT_SILVER = 2000, MAT_GOLD = 2000, MAT_DIAMOND = 2000) + build_path = /obj/item/device/spacepod_equipment/weaponry/mining_laser + category = list("Pod_Weaponry") + +/datum/design/pod_mining_laser_hyper + construction_time = 200 + name = "Enhanced Mining Laser" + desc = "Allows for the construction of an enhanced mining laser." + id = "pod_mining_laser_hyper" + req_tech = list("materials" = 7, "powerstorage" = 6, "engineering" = 5, "magnets" = 6, "combat" = 4) + build_type = PODFAB + materials = list(MAT_METAL = 10000, MAT_GLASS = 5000, MAT_SILVER = 4000, MAT_GOLD = 4000, MAT_DIAMOND = 4000) + build_path = /obj/item/device/spacepod_equipment/weaponry/mining_laser_hyper + category = list("Pod_Weaponry") ////////////////////////////////////////// //////SPACEPOD MISC. ITEMS//////////////// ////////////////////////////////////////// @@ -137,4 +170,15 @@ build_type = PODFAB materials = list(MAT_METAL=5000) build_path = /obj/item/device/spacepod_equipment/misc/tracker + category = list("Pod_Parts") + +/datum/design/pod_cargo_ore + construction_time = 100 + name = "Spacepod Ore Storage Module" + desc = "Allows for the construction of a Space Pod Ore Storage Module." + id = "podcargo_ore" + req_tech = list("materials" = 3) + build_type = PODFAB + materials = list(MAT_METAL=20000, MAT_GLASS=2000) + build_path = /obj/item/device/spacepod_equipment/cargo/ore category = list("Pod_Parts") \ No newline at end of file From 474dbb6b82a56a94bebb8520f17c20e647ded432 Mon Sep 17 00:00:00 2001 From: FalseIncarnate Date: Thu, 10 Mar 2016 21:46:07 -0500 Subject: [PATCH 22/44] Buildable Xenobotany Machines A long-requested feature, you can now build the two xenobotany machines - Lysis-Isolation Centrifuge - Requires 1 matter bin, 1 scanning module, and 1 console screen - Upgrading the scanning module causes less degradation when extracting genes, meaning seeds last longer - Bioballistic Delivery System - Requires 1 matter bin, 1 manipulator, and 1 console screen - Upgrading the manipulator decreases the degradation caused by splicing genes, meaning you can (theoretically) splice more onto a pack before it fails --- code/game/machinery/constructable_frame.dm | 22 +++++++++- code/modules/hydroponics/seed_machines.dm | 44 ++++++++++++++++++- .../research/designs/machine_designs.dm | 22 +++++++++- 3 files changed, 84 insertions(+), 4 deletions(-) diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index b52a15d77c3..62b090ba1db 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -858,4 +858,24 @@ obj/item/weapon/circuitboard/rdserver /obj/item/weapon/stock_parts/matter_bin = 1, /obj/item/weapon/stock_parts/manipulator = 1, /obj/item/weapon/stock_parts/console_screen = 1, - /obj/item/stack/cable_coil = 1) \ No newline at end of file + /obj/item/stack/cable_coil = 1) + +/obj/item/weapon/circuitboard/botany_extractor + name = "circuit board (Lysis-Isolation Centrifuge)" + build_path = /obj/machinery/botany/extractor + board_type = "machine" + origin_tech = "biotech=3;programming=3" + req_components = list( + /obj/item/weapon/stock_parts/matter_bin = 1, + /obj/item/weapon/stock_parts/scanning_module = 1, + /obj/item/weapon/stock_parts/console_screen = 1) + +/obj/item/weapon/circuitboard/botany_editor + name = "circuit board (Bioballistic Delivery System)" + build_path = /obj/machinery/botany/editor + board_type = "machine" + origin_tech = "biotech=3;programming=3" + req_components = list( + /obj/item/weapon/stock_parts/matter_bin = 1, + /obj/item/weapon/stock_parts/manipulator = 1, + /obj/item/weapon/stock_parts/console_screen = 1) \ No newline at end of file diff --git a/code/modules/hydroponics/seed_machines.dm b/code/modules/hydroponics/seed_machines.dm index 2b1a7213644..3f01f903763 100644 --- a/code/modules/hydroponics/seed_machines.dm +++ b/code/modules/hydroponics/seed_machines.dm @@ -136,6 +136,26 @@ var/datum/seed/genetics // Currently scanned seed genetic structure. var/degradation = 0 // Increments with each scan, stops allowing gene mods after a certain point. + var/degrade_lower = 20 + var/degrade_upper = 60 + +/obj/machinery/botany/extractor/New() + ..() + + component_parts = list() + component_parts += new /obj/item/weapon/circuitboard/botany_extractor(null) + component_parts += new /obj/item/weapon/stock_parts/matter_bin(null) + component_parts += new /obj/item/weapon/stock_parts/scanning_module(null) + component_parts += new /obj/item/weapon/stock_parts/console_screen(null) + RefreshParts() + +/obj/machinery/botany/extractor/RefreshParts() + var/tier = 1 + for (var/obj/item/weapon/stock_parts/scanning_module/S in component_parts) + tier = S.rating + degrade_lower = 25 - (tier * 5) //Tier 1: 20, Tier 4: 5 + degrade_upper = 70 - (tier * 10) //Tier 1: 60, Tier 4: 30 + /obj/machinery/botany/extractor/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) if(!user) @@ -246,7 +266,7 @@ loaded_disk.desc += " The label reads \'[href_list["get_gene"]] gene, sampled from [genetics.display_name]\'." eject_disk = 1 - degradation += rand(20,60) + degradation += rand(degrade_lower, degrade_upper) if(degradation >= 100) failed_task = 1 genetics = null @@ -267,6 +287,26 @@ icon_state = "traitgun" disk_needs_genes = 1 + var/degrade_lower = 5 + var/degrade_upper = 10 + +/obj/machinery/botany/editor/New() + ..() + + component_parts = list() + component_parts += new /obj/item/weapon/circuitboard/botany_editor(null) + component_parts += new /obj/item/weapon/stock_parts/matter_bin(null) + component_parts += new /obj/item/weapon/stock_parts/manipulator(null) + component_parts += new /obj/item/weapon/stock_parts/console_screen(null) + RefreshParts() + +/obj/machinery/botany/editor/RefreshParts() + var/tier = 1 + for (var/obj/item/weapon/stock_parts/manipulator/M in component_parts) + tier = M.rating + degrade_lower = 6 - tier //Tier 1: 5, Tier 4: 1 + degrade_upper = 11 - tier //Tier 1: 10, Tier 4: 6 + /obj/machinery/botany/editor/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) if(!user) @@ -329,7 +369,7 @@ for(var/datum/plantgene/gene in loaded_disk.genes) seed.seed.apply_gene(gene) - seed.modified += rand(5,10) + seed.modified += rand(degrade_lower, degrade_upper) usr.set_machine(src) src.add_fingerprint(usr) diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index 25ec52af226..e2a89b38bec 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -500,4 +500,24 @@ build_type = IMPRINTER materials = list(MAT_GLASS=1000, "sacid"=20) build_path = /obj/item/weapon/circuitboard/prize_counter - category = list("Misc. Machinery") \ No newline at end of file + category = list("Misc. Machinery") + +/datum/design/botany_extractor + name = "Machine Design (Lysis-Isolation Centrifuge)" + desc = "The circuit board for a lysis-isolation centrifuge." + id = "botany_extractor" + req_tech = list("biotech" = 3, "programming" = 3) + build_type = IMPRINTER + materials = list(MAT_GLASS=1000, "sacid"=20) + build_path = /obj/item/weapon/circuitboard/botany_extractor + category = list("Hydroponics Machinery") + +/datum/design/botany_editor + name = "Machine Design (Bioballistic Delivery System)" + desc = "The circuit board for a bioballistic delivery system." + id = "botany_editor" + req_tech = list("biotech" = 3, "programming" = 3) + build_type = IMPRINTER + materials = list(MAT_GLASS=1000, "sacid"=20) + build_path = /obj/item/weapon/circuitboard/botany_editor + category = list("Hydroponics Machinery") \ No newline at end of file From 0d2640b20e076d590cec3b74ec393d69e156b2f7 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Thu, 10 Mar 2016 21:48:49 -0500 Subject: [PATCH 23/44] no --- code/modules/surgery/organs/organ_internal.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index 0e35aef343d..21fd0a21d08 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -76,6 +76,8 @@ return ..() /obj/item/organ/internal/proc/prepare_eat() + if(robotic >= 2) + return //no eating cybernetic implants! var/obj/item/weapon/reagent_containers/food/snacks/organ/S = new S.name = name S.desc = desc From dcbe168d161fa8b62b030549dfa1b03f99957d0e Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Thu, 10 Mar 2016 22:58:27 -0500 Subject: [PATCH 24/44] still no. --- code/modules/surgery/organs/organ_internal.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index 21fd0a21d08..48b97ed4c88 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -76,7 +76,7 @@ return ..() /obj/item/organ/internal/proc/prepare_eat() - if(robotic >= 2) + if(robotic) return //no eating cybernetic implants! var/obj/item/weapon/reagent_containers/food/snacks/organ/S = new S.name = name From b3e1abd884a4cecf2bdbe6f622e9adf940e20c78 Mon Sep 17 00:00:00 2001 From: Tastyfish Date: Thu, 10 Mar 2016 23:31:54 -0500 Subject: [PATCH 25/44] Rejuventate spelling --- code/game/gamemodes/vampire/vampire.dm | 2 +- code/game/gamemodes/vampire/vampire_powers.dm | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/game/gamemodes/vampire/vampire.dm b/code/game/gamemodes/vampire/vampire.dm index 16ef84e7064..c1d23e0c1b0 100644 --- a/code/game/gamemodes/vampire/vampire.dm +++ b/code/game/gamemodes/vampire/vampire.dm @@ -204,7 +204,7 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha var/mob/living/carbon/human/draining // who the vampire is draining of blood var/nullified = 0 //Nullrod makes them useless for a short while. var/list/upgrade_tiers = list( - /obj/effect/proc_holder/spell/vampire/self/rejuvinate = 0, + /obj/effect/proc_holder/spell/vampire/self/rejuvenate = 0, /obj/effect/proc_holder/spell/vampire/targetted/hypnotise = 0, /obj/effect/proc_holder/spell/vampire/mob_aoe/glare = 0, /datum/vampire_passive/vision = 100, diff --git a/code/game/gamemodes/vampire/vampire_powers.dm b/code/game/gamemodes/vampire/vampire_powers.dm index 13894ddf025..d8dc1211b7b 100644 --- a/code/game/gamemodes/vampire/vampire_powers.dm +++ b/code/game/gamemodes/vampire/vampire_powers.dm @@ -143,14 +143,14 @@ //////////////////////////////////////////////////////////////////////////////////////////////////////// -/obj/effect/proc_holder/spell/vampire/self/rejuvinate - name = "Rejuvinate" +/obj/effect/proc_holder/spell/vampire/self/rejuvenate + name = "Rejuvenate" desc= "Flush your system with spare blood to remove any incapacitating effects." action_icon_state = "vampire_rejuvinate" charge_max = 200 stat_allowed = 1 -/obj/effect/proc_holder/spell/vampire/self/rejuvinate/cast() +/obj/effect/proc_holder/spell/vampire/self/rejuvenate/cast() var/mob/living/U = usr usr.SetWeakened(0) From 29c460d64b4adbf81b81ddb1082390139621949b Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Thu, 10 Mar 2016 23:41:18 -0500 Subject: [PATCH 26/44] ARGH --- code/modules/surgery/other.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/surgery/other.dm b/code/modules/surgery/other.dm index 3b5c68db550..42b00daddff 100644 --- a/code/modules/surgery/other.dm +++ b/code/modules/surgery/other.dm @@ -200,7 +200,7 @@ ////////////////////////////////////////////////////////////////// /datum/surgery/remove_thrall name = "clense contaminations"//RENAME MEH - steps = list(/datum/surgery_step/generic/cut_open, /datum/surgery_step/generic/clamp_bleeders, /datum/surgery_step/generic/retract_skin, /datum/surgery_step/open_encased/saw,/datum/surgery_step/open_encased/retract, /datum/surgery_step/internal/dethrall,/datum/surgery_step/glue_bone, /datum/surgery_step/set_bone,/datum/surgery_step/finish_bone,/datum/surgery_step/generic/cauterize) + steps = list(/datum/surgery_step/generic/cut_open, /datum/surgery_step/generic/clamp_bleeders, /datum/surgery_step/generic/retract_skin, /datum/surgery_step/open_encased/saw,/datum/surgery_step/open_encased/retract, /datum/surgery_step/dethrall,/datum/surgery_step/glue_bone, /datum/surgery_step/set_bone,/datum/surgery_step/finish_bone,/datum/surgery_step/generic/cauterize) possible_locs = list("head") /datum/surgery/remove_thrall/synth From 610e8ad190158bd3c4e1ec1f38a2869813d12e6f Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Fri, 11 Mar 2016 00:09:23 -0500 Subject: [PATCH 27/44] i canspull good --- code/modules/surgery/organs/subtypes/xenos.dm | 2 +- code/modules/surgery/other.dm | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/surgery/organs/subtypes/xenos.dm b/code/modules/surgery/organs/subtypes/xenos.dm index 133634bf489..a24bb94b5ed 100644 --- a/code/modules/surgery/organs/subtypes/xenos.dm +++ b/code/modules/surgery/organs/subtypes/xenos.dm @@ -150,7 +150,7 @@ name = "xeno resin organ"//...there tiger.... parent_organ = "mouth" icon_state = "liver-x" - slot = "hivenode" + slot = "spinner" origin_tech = "biotech=5;materials=4" alien_powers = list(/mob/living/carbon/alien/humanoid/proc/resin) diff --git a/code/modules/surgery/other.dm b/code/modules/surgery/other.dm index 42b00daddff..004cea35e59 100644 --- a/code/modules/surgery/other.dm +++ b/code/modules/surgery/other.dm @@ -199,12 +199,12 @@ // Dethrall Shadowling // ////////////////////////////////////////////////////////////////// /datum/surgery/remove_thrall - name = "clense contaminations"//RENAME MEH + name = "cleanse contaminations"//RENAME MEH steps = list(/datum/surgery_step/generic/cut_open, /datum/surgery_step/generic/clamp_bleeders, /datum/surgery_step/generic/retract_skin, /datum/surgery_step/open_encased/saw,/datum/surgery_step/open_encased/retract, /datum/surgery_step/dethrall,/datum/surgery_step/glue_bone, /datum/surgery_step/set_bone,/datum/surgery_step/finish_bone,/datum/surgery_step/generic/cauterize) possible_locs = list("head") /datum/surgery/remove_thrall/synth - name = "clense contaminations"//RENAME MEH + name = "cleanse contaminations"//RENAME MEH steps = list(/datum/surgery_step/robotics/external/unscrew_hatch,/datum/surgery_step/robotics/external/open_hatch,/datum/surgery_step/internal/dethrall,/datum/surgery_step/robotics/external/close_hatch) possible_locs = list("chest") From 862f061d4a91e4d0b4348ae77b60f2fee973df31 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Fri, 11 Mar 2016 00:15:40 -0500 Subject: [PATCH 28/44] Automatic changelog generation for PR #3833 --- html/changelogs/AutoChangeLog-pr-3833.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3833.yml diff --git a/html/changelogs/AutoChangeLog-pr-3833.yml b/html/changelogs/AutoChangeLog-pr-3833.yml new file mode 100644 index 00000000000..9759e315f4a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3833.yml @@ -0,0 +1,4 @@ +author: Fethas +delete-after: True +changes: + - bugfix: "Though shalt not eat robotic organs..including cybernetic implants.." From fc56227ac4efd6bf727004bab1e83454e697f919 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Fri, 11 Mar 2016 00:16:00 -0500 Subject: [PATCH 29/44] Automatic changelog generation for PR #3830 --- html/changelogs/AutoChangeLog-pr-3830.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3830.yml diff --git a/html/changelogs/AutoChangeLog-pr-3830.yml b/html/changelogs/AutoChangeLog-pr-3830.yml new file mode 100644 index 00000000000..c1de0d2a4e3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3830.yml @@ -0,0 +1,4 @@ +author: Fethas +delete-after: True +changes: + - bugfix: "Hopefully fixes issues with diona eyes" From c5aa787a8c8458c34d8820544c8db8f877c810e4 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Fri, 11 Mar 2016 00:17:56 -0500 Subject: [PATCH 30/44] because people want shitty things and ask for shitty things and like shitty things they get shitty things --- code/game/machinery/slotmachine.dm | 2 +- icons/goonstation/machines/slots.dmi | Bin 708 -> 0 bytes 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 icons/goonstation/machines/slots.dmi diff --git a/code/game/machinery/slotmachine.dm b/code/game/machinery/slotmachine.dm index 72f72fc621c..dd8060ef827 100644 --- a/code/game/machinery/slotmachine.dm +++ b/code/game/machinery/slotmachine.dm @@ -3,7 +3,7 @@ var/datum/announcement/minor/slotmachine_announcement = new(do_log = 0) /obj/machinery/slot_machine name = "slot machine" desc = "Gambling for the antisocial." - icon = 'icons/goonstation/machines/slots.dmi' + icon = 'icons/obj/objects.dmi' icon_state = "slots-off" anchored = 1 density = 1 diff --git a/icons/goonstation/machines/slots.dmi b/icons/goonstation/machines/slots.dmi deleted file mode 100644 index d63b55693f4b52278f468ab57268b432ca2c3635..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 708 zcmV;#0z3VQP)fFDZ*Bkpc$`yK zaB_9`^iy#0_2eo`Eh^5;&r`5fFwryM;w;ZhDainGjE%TBGg33tGfE(w;*!LYR3KBS zI48fPST{c{O^J&$C9|j)C}zmTnO2mTn+jp0tIWf$&=e?|nv+-w64rr2E@cH*KNqmG z0C-O;&3Y15Z2$lPrb$FWR9J=Wm(h~KAPhwlQL3z#c3J=bSC<4u38}L)Fnw9>11~2e zfhv;=u$NG%J3p902kgs7fxi?GLOAy1)sF!2cszCFfL2H*XykxqDr6A4a=__)xt!k? z1Sj~{={#Mdrt9r?RrtsKF@W~Yd5HnOE-=&HEq+-dUss(2&eWIB%PbRcZl4#0#|Hem zEUUVo3KS=p@!Qn}QirKP#rcHK6G;9@@VY}KLEJl0hv_oZ2DbOd0ADBubmf3yE)?Wb z(8vRtP{?5D$tggnO3=h(z>knj(8eKH`5M~LlY_PLh}QPxV8dM~*q%HF$PQ$JHV)R@ z%jf)VY){Ss@6WlGpoOOZm!&6Y;2hwbPvyOHT7nkN0q<{>mY{|2@R4m0l7FN&4sz%q z_2heK_=EpYVEBX2d=G!XQ~zrK-J1WGE&q_lRx%MBwBZl(2(8Wkgq|ir;d$`pD)spO z82y*6`JWo_YyvpdC;vcQ=mk=Tx<6oB!9jEx8~)*S4Vpio>t!Rx4y7tU#wdLVK7q>f qhaCQ3_=DjOhCdkoVEBW5{lPDzX>tcJI0mW!0000 Date: Fri, 11 Mar 2016 00:21:19 -0500 Subject: [PATCH 31/44] Automatic changelog generation for PR #3818 --- html/changelogs/AutoChangeLog-pr-3818.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3818.yml diff --git a/html/changelogs/AutoChangeLog-pr-3818.yml b/html/changelogs/AutoChangeLog-pr-3818.yml new file mode 100644 index 00000000000..982559d492d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3818.yml @@ -0,0 +1,6 @@ +author: Crazylemon64 +delete-after: True +changes: + - rscadd: "Science members now get compensated when they ship tech disks to centcomm." + - rscdel: "Science crew are no longer paid when they \"max\" research." + - bugfix: "Roboticists now get credit for making RIPLEYs and Firefighters" From 1a8b5ce49bc79722e6a15267529c876425ada681 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Fri, 11 Mar 2016 00:24:53 -0500 Subject: [PATCH 32/44] Automatic changelog generation for PR #3834 --- html/changelogs/AutoChangeLog-pr-3834.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3834.yml diff --git a/html/changelogs/AutoChangeLog-pr-3834.yml b/html/changelogs/AutoChangeLog-pr-3834.yml new file mode 100644 index 00000000000..66bf318663c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3834.yml @@ -0,0 +1,4 @@ +author: Fethas +delete-after: True +changes: + - bugfix: "ITS SURGERY_STEP/DETHRALL NOT SURGERY_STEP/INTERNAL/DETHRALL" From c6b6221c6aac5328ea643576d315df8ca74ea8d3 Mon Sep 17 00:00:00 2001 From: Dylan Larkins Date: Fri, 11 Mar 2016 00:52:33 -0500 Subject: [PATCH 33/44] Remove binary radio message from description Binary speak ( :b ) was removed from positronic brains, but the message sent to players when initially becoming one still said that they could use it. I've gone ahead and removed that line of the message so people won't get confused. --- code/modules/mob/living/carbon/brain/posibrain.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/brain/posibrain.dm b/code/modules/mob/living/carbon/brain/posibrain.dm index 174b582eec3..aa589713cb9 100644 --- a/code/modules/mob/living/carbon/brain/posibrain.dm +++ b/code/modules/mob/living/carbon/brain/posibrain.dm @@ -98,7 +98,6 @@ src.brainmob << "You are a positronic brain, brought into existence on [station_name()]." src.brainmob << "As a synthetic intelligence, you answer to all crewmembers, as well as the AI." src.brainmob << "Remember, the purpose of your existence is to serve the crew and the station. Above all else, do no harm." - src.brainmob << "Use say :b to speak to other artificial intelligences." src.brainmob.mind.assigned_role = "Positronic Brain" var/turf/T = get_turf_or_move(src.loc) @@ -200,4 +199,4 @@ /obj/item/device/mmi/posibrain/ipc desc = "A cube of shining metal, four inches to a side and covered in shallow grooves. The speaker switch is set to 'off'." - silenced = 1 \ No newline at end of file + silenced = 1 From 880f115d56428c788dfef603773a882584705bc0 Mon Sep 17 00:00:00 2001 From: taukausanake Date: Thu, 10 Mar 2016 23:58:45 -0600 Subject: [PATCH 34/44] I DID IT! Added a check for mice in get_scooped(). Shouldn't conflict with pAI but might argue it's "snowflake" code. Well fuck that, it WORKS --- code/modules/mob/holder.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/holder.dm b/code/modules/mob/holder.dm index 832a0688254..14e6e815374 100644 --- a/code/modules/mob/holder.dm +++ b/code/modules/mob/holder.dm @@ -62,7 +62,7 @@ var/obj/item/weapon/holder/H = new holder_type(loc) src.forceMove(H) H.name = name - H.icon_state = icon_state + if(istype(H, /obj/item/weapon/holder/mouse)) H.icon_state = icon_state if(desc) H.desc = desc H.attack_hand(grabber) From 93493c930edffccf2045167fcf5a5616e720c752 Mon Sep 17 00:00:00 2001 From: taukausanake Date: Fri, 11 Mar 2016 00:55:48 -0600 Subject: [PATCH 35/44] I cheated Just copy/pasted from Paradise/master their .dme file. Why does it do this to me? --- paradise.dme | 3848 +++++++++++++++++++++++++------------------------- 1 file changed, 1924 insertions(+), 1924 deletions(-) diff --git a/paradise.dme b/paradise.dme index 0c6052aba05..111dc8d88eb 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1,1924 +1,1924 @@ -// DM Environment file for paradise.dme. -// All manual changes should be made outside the BEGIN_ and END_ blocks. - // New source code should be placed in .dm files: choose File/New --> Code File. -// BEGIN_INTERNALS -// END_INTERNALS -// BEGIN_FILE_DIR -#define FILE_DIR . -// END_FILE_DIR -// BEGIN_PREFERENCES -#define DEBUG -// END_PREFERENCES -// BEGIN_INCLUDE -#include "_maps\cyberiad.dm" -#include "code\_compile_options.dm" -#include "code\hub.dm" -#include "code\world.dm" -#include "code\__DEFINES\_readme.dm" -#include "code\__DEFINES\admin.dm" -#include "code\__DEFINES\atmospherics.dm" -#include "code\__DEFINES\btime.dm" -#include "code\__DEFINES\clothing.dm" -#include "code\__DEFINES\combat.dm" -#include "code\__DEFINES\flags.dm" -#include "code\__DEFINES\game.dm" -#include "code\__DEFINES\genetics.dm" -#include "code\__DEFINES\hud.dm" -#include "code\__DEFINES\hydroponics.dm" -#include "code\__DEFINES\is_helpers.dm" -#include "code\__DEFINES\language.dm" -#include "code\__DEFINES\lighting.dm" -#include "code\__DEFINES\machines.dm" -#include "code\__DEFINES\math.dm" -#include "code\__DEFINES\misc.dm" -#include "code\__DEFINES\mob.dm" -#include "code\__DEFINES\pda.dm" -#include "code\__DEFINES\preferences.dm" -#include "code\__DEFINES\process_scheduler.dm" -#include "code\__DEFINES\qdel.dm" -#include "code\__DEFINES\role_preferences.dm" -#include "code\__DEFINES\sight.dm" -#include "code\__DEFINES\stat.dm" -#include "code\__HELPERS\_string_lists.dm" -#include "code\__HELPERS\constants.dm" -#include "code\__HELPERS\experimental.dm" -#include "code\__HELPERS\files.dm" -#include "code\__HELPERS\game.dm" -#include "code\__HELPERS\global_lists.dm" -#include "code\__HELPERS\icon_smoothing.dm" -#include "code\__HELPERS\icons.dm" -#include "code\__HELPERS\lists.dm" -#include "code\__HELPERS\logging.dm" -#include "code\__HELPERS\maths.dm" -#include "code\__HELPERS\matrices.dm" -#include "code\__HELPERS\mobs.dm" -#include "code\__HELPERS\names.dm" -#include "code\__HELPERS\sanitize_values.dm" -#include "code\__HELPERS\text.dm" -#include "code\__HELPERS\time.dm" -#include "code\__HELPERS\timed_alerts.dm" -#include "code\__HELPERS\type2type.dm" -#include "code\__HELPERS\unsorted.dm" -#include "code\__HELPERS\bygex\bygex.dm" -#include "code\_DATASTRUCTURES\heap.dm" -#include "code\_DATASTRUCTURES\linked_lists.dm" -#include "code\_DATASTRUCTURES\priority_queue.dm" -#include "code\_DATASTRUCTURES\stacks.dm" -#include "code\_globalvars\configuration.dm" -#include "code\_globalvars\database.dm" -#include "code\_globalvars\game_modes.dm" -#include "code\_globalvars\genetics.dm" -#include "code\_globalvars\logging.dm" -#include "code\_globalvars\mapping.dm" -#include "code\_globalvars\misc.dm" -#include "code\_globalvars\station.dm" -#include "code\_globalvars\unused.dm" -#include "code\_globalvars\lists\flavor_misc.dm" -#include "code\_globalvars\lists\misc.dm" -#include "code\_globalvars\lists\mobs.dm" -#include "code\_globalvars\lists\names.dm" -#include "code\_globalvars\lists\objects.dm" -#include "code\_globalvars\lists\reagents.dm" -#include "code\_hooks\area.dm" -#include "code\_hooks\hooks.dm" -#include "code\_hooks\mob.dm" -#include "code\_onclick\adjacent.dm" -#include "code\_onclick\ai.dm" -#include "code\_onclick\click.dm" -#include "code\_onclick\click_override.dm" -#include "code\_onclick\cyborg.dm" -#include "code\_onclick\drag_drop.dm" -#include "code\_onclick\item_attack.dm" -#include "code\_onclick\observer.dm" -#include "code\_onclick\other_mobs.dm" -#include "code\_onclick\overmind.dm" -#include "code\_onclick\rig.dm" -#include "code\_onclick\telekinesis.dm" -#include "code\_onclick\hud\_defines.dm" -#include "code\_onclick\hud\action.dm" -#include "code\_onclick\hud\ai.dm" -#include "code\_onclick\hud\alien.dm" -#include "code\_onclick\hud\alien_larva.dm" -#include "code\_onclick\hud\hud.dm" -#include "code\_onclick\hud\human.dm" -#include "code\_onclick\hud\monkey.dm" -#include "code\_onclick\hud\movable_screen_objects.dm" -#include "code\_onclick\hud\other_mobs.dm" -#include "code\_onclick\hud\robot.dm" -#include "code\_onclick\hud\screen_objects.dm" -#include "code\ATMOSPHERICS\atmospherics.dm" -#include "code\ATMOSPHERICS\datum_icon_manager.dm" -#include "code\ATMOSPHERICS\datum_pipeline.dm" -#include "code\ATMOSPHERICS\components\binary_devices\binary_atmos_base.dm" -#include "code\ATMOSPHERICS\components\binary_devices\circulator.dm" -#include "code\ATMOSPHERICS\components\binary_devices\dp_vent_pump.dm" -#include "code\ATMOSPHERICS\components\binary_devices\passive_gate.dm" -#include "code\ATMOSPHERICS\components\binary_devices\pump.dm" -#include "code\ATMOSPHERICS\components\binary_devices\valve.dm" -#include "code\ATMOSPHERICS\components\binary_devices\volume_pump.dm" -#include "code\ATMOSPHERICS\components\omni_devices\_omni_extras.dm" -#include "code\ATMOSPHERICS\components\omni_devices\filter.dm" -#include "code\ATMOSPHERICS\components\omni_devices\mixer.dm" -#include "code\ATMOSPHERICS\components\omni_devices\omni_base.dm" -#include "code\ATMOSPHERICS\components\trinary_devices\filter.dm" -#include "code\ATMOSPHERICS\components\trinary_devices\mixer.dm" -#include "code\ATMOSPHERICS\components\trinary_devices\trinary_base.dm" -#include "code\ATMOSPHERICS\components\trinary_devices\tvalve.dm" -#include "code\ATMOSPHERICS\components\unary_devices\cold_sink.dm" -#include "code\ATMOSPHERICS\components\unary_devices\generator_input.dm" -#include "code\ATMOSPHERICS\components\unary_devices\heat_exchanger.dm" -#include "code\ATMOSPHERICS\components\unary_devices\heat_source.dm" -#include "code\ATMOSPHERICS\components\unary_devices\outlet_injector.dm" -#include "code\ATMOSPHERICS\components\unary_devices\oxygen_generator.dm" -#include "code\ATMOSPHERICS\components\unary_devices\passive_vent.dm" -#include "code\ATMOSPHERICS\components\unary_devices\portables_connector.dm" -#include "code\ATMOSPHERICS\components\unary_devices\tank.dm" -#include "code\ATMOSPHERICS\components\unary_devices\thermal_plate.dm" -#include "code\ATMOSPHERICS\components\unary_devices\unary_base.dm" -#include "code\ATMOSPHERICS\components\unary_devices\vent_pump.dm" -#include "code\ATMOSPHERICS\components\unary_devices\vent_scrubber.dm" -#include "code\ATMOSPHERICS\pipes\cap.dm" -#include "code\ATMOSPHERICS\pipes\manifold.dm" -#include "code\ATMOSPHERICS\pipes\manifold4w.dm" -#include "code\ATMOSPHERICS\pipes\pipe.dm" -#include "code\ATMOSPHERICS\pipes\simple\pipe_simple.dm" -#include "code\ATMOSPHERICS\pipes\simple\pipe_simple_he.dm" -#include "code\ATMOSPHERICS\pipes\simple\pipe_simple_hidden.dm" -#include "code\ATMOSPHERICS\pipes\simple\pipe_simple_insulated.dm" -#include "code\ATMOSPHERICS\pipes\simple\pipe_simple_visible.dm" -#include "code\controllers\communications.dm" -#include "code\controllers\configuration.dm" -#include "code\controllers\failsafe.dm" -#include "code\controllers\hooks-defs.dm" -#include "code\controllers\hooks.dm" -#include "code\controllers\master_controller.dm" -#include "code\controllers\verbs.dm" -#include "code\controllers\voting.dm" -#include "code\controllers\Processes\air.dm" -#include "code\controllers\Processes\alarm.dm" -#include "code\controllers\Processes\bot.dm" -#include "code\controllers\Processes\event.dm" -#include "code\controllers\Processes\garbage.dm" -#include "code\controllers\Processes\inactivity.dm" -#include "code\controllers\Processes\lighting.dm" -#include "code\controllers\Processes\machinery.dm" -#include "code\controllers\Processes\mob.dm" -#include "code\controllers\Processes\nanoui.dm" -#include "code\controllers\Processes\obj.dm" -#include "code\controllers\Processes\pipenet.dm" -#include "code\controllers\Processes\shuttles.dm" -#include "code\controllers\Processes\sun.dm" -#include "code\controllers\Processes\ticker.dm" -#include "code\controllers\Processes\timer.dm" -#include "code\controllers\Processes\vote.dm" -#include "code\controllers\Processes\shuttles\emergency.dm" -#include "code\controllers\Processes\shuttles\supply.dm" -#include "code\controllers\ProcessScheduler\core\_stubs.dm" -#include "code\controllers\ProcessScheduler\core\process.dm" -#include "code\controllers\ProcessScheduler\core\processScheduler.dm" -#include "code\datums\ai_law_sets.dm" -#include "code\datums\ai_laws.dm" -#include "code\datums\beam.dm" -#include "code\datums\browser.dm" -#include "code\datums\cargoprofile.dm" -#include "code\datums\computerfiles.dm" -#include "code\datums\datacore.dm" -#include "code\datums\datumvars.dm" -#include "code\datums\gas_mixture.dm" -#include "code\datums\hud.dm" -#include "code\datums\martial.dm" -#include "code\datums\material_container.dm" -#include "code\datums\mind.dm" -#include "code\datums\mixed.dm" -#include "code\datums\modules.dm" -#include "code\datums\periodic_news.dm" -#include "code\datums\recipe.dm" -#include "code\datums\spell.dm" -#include "code\datums\supplypacks.dm" -#include "code\datums\uplink_item.dm" -#include "code\datums\vision_override.dm" -#include "code\datums\cache\air_alarm.dm" -#include "code\datums\cache\apc.dm" -#include "code\datums\cache\cache.dm" -#include "code\datums\cache\crew.dm" -#include "code\datums\cache\powermonitor.dm" -#include "code\datums\helper_datums\construction_datum.dm" -#include "code\datums\helper_datums\events.dm" -#include "code\datums\helper_datums\global_iterator.dm" -#include "code\datums\helper_datums\teleport.dm" -#include "code\datums\helper_datums\topic_input.dm" -#include "code\datums\spells\area_teleport.dm" -#include "code\datums\spells\charge.dm" -#include "code\datums\spells\conjure.dm" -#include "code\datums\spells\construct_spells.dm" -#include "code\datums\spells\dumbfire.dm" -#include "code\datums\spells\emplosion.dm" -#include "code\datums\spells\ethereal_jaunt.dm" -#include "code\datums\spells\explosion.dm" -#include "code\datums\spells\fake_gib.dm" -#include "code\datums\spells\genetic.dm" -#include "code\datums\spells\horsemask.dm" -#include "code\datums\spells\infinite_guns.dm" -#include "code\datums\spells\inflict_handler.dm" -#include "code\datums\spells\knock.dm" -#include "code\datums\spells\lichdom.dm" -#include "code\datums\spells\lightning.dm" -#include "code\datums\spells\magnet.dm" -#include "code\datums\spells\mime.dm" -#include "code\datums\spells\mind_transfer.dm" -#include "code\datums\spells\projectile.dm" -#include "code\datums\spells\summonitem.dm" -#include "code\datums\spells\touch_attacks.dm" -#include "code\datums\spells\trigger.dm" -#include "code\datums\spells\turf_teleport.dm" -#include "code\datums\spells\wizard.dm" -#include "code\datums\wires\airlock.dm" -#include "code\datums\wires\alarm.dm" -#include "code\datums\wires\apc.dm" -#include "code\datums\wires\autolathe.dm" -#include "code\datums\wires\camera.dm" -#include "code\datums\wires\explosive.dm" -#include "code\datums\wires\mulebot.dm" -#include "code\datums\wires\nuclearbomb.dm" -#include "code\datums\wires\particle_accelerator.dm" -#include "code\datums\wires\radio.dm" -#include "code\datums\wires\robot.dm" -#include "code\datums\wires\smartfridge.dm" -#include "code\datums\wires\syndicatebomb.dm" -#include "code\datums\wires\vending.dm" -#include "code\datums\wires\wires.dm" -#include "code\defines\vox_sounds.dm" -#include "code\defines\procs\admin.dm" -#include "code\defines\procs\announce.dm" -#include "code\defines\procs\AStar.dm" -#include "code\defines\procs\dbcore.dm" -#include "code\defines\procs\radio.dm" -#include "code\defines\procs\records.dm" -#include "code\defines\procs\statistics.dm" -#include "code\game\asteroid.dm" -#include "code\game\atoms.dm" -#include "code\game\atoms_movable.dm" -#include "code\game\data_huds.dm" -#include "code\game\response_team.dm" -#include "code\game\shuttle_engines.dm" -#include "code\game\skincmd.dm" -#include "code\game\sound.dm" -#include "code\game\area\ai_monitored.dm" -#include "code\game\area\areas.dm" -#include "code\game\area\Dynamic areas.dm" -#include "code\game\area\Space Station 13 areas.dm" -#include "code\game\dna\dna2.dm" -#include "code\game\dna\dna2_domutcheck.dm" -#include "code\game\dna\dna2_helpers.dm" -#include "code\game\dna\dna_modifier.dm" -#include "code\game\dna\genes\disabilities.dm" -#include "code\game\dna\genes\gene.dm" -#include "code\game\dna\genes\goon_disabilities.dm" -#include "code\game\dna\genes\goon_powers.dm" -#include "code\game\dna\genes\monkey.dm" -#include "code\game\dna\genes\powers.dm" -#include "code\game\dna\genes\vg_disabilities.dm" -#include "code\game\dna\genes\vg_powers.dm" -#include "code\game\gamemodes\antag_hud.dm" -#include "code\game\gamemodes\antag_spawner.dm" -#include "code\game\gamemodes\events.dm" -#include "code\game\gamemodes\factions.dm" -#include "code\game\gamemodes\game_mode.dm" -#include "code\game\gamemodes\gameticker.dm" -#include "code\game\gamemodes\intercept_report.dm" -#include "code\game\gamemodes\objective.dm" -#include "code\game\gamemodes\scoreboard.dm" -#include "code\game\gamemodes\setupgame.dm" -#include "code\game\gamemodes\steal_items.dm" -#include "code\game\gamemodes\autotraitor\autotraitor.dm" -#include "code\game\gamemodes\blob\blob.dm" -#include "code\game\gamemodes\blob\blob_finish.dm" -#include "code\game\gamemodes\blob\blob_report.dm" -#include "code\game\gamemodes\blob\overmind.dm" -#include "code\game\gamemodes\blob\powers.dm" -#include "code\game\gamemodes\blob\theblob.dm" -#include "code\game\gamemodes\blob\blobs\blob_mobs.dm" -#include "code\game\gamemodes\blob\blobs\core.dm" -#include "code\game\gamemodes\blob\blobs\factory.dm" -#include "code\game\gamemodes\blob\blobs\node.dm" -#include "code\game\gamemodes\blob\blobs\resource.dm" -#include "code\game\gamemodes\blob\blobs\shield.dm" -#include "code\game\gamemodes\blob\blobs\storage.dm" -#include "code\game\gamemodes\borer\borer.dm" -#include "code\game\gamemodes\changeling\changeling.dm" -#include "code\game\gamemodes\changeling\changeling_power.dm" -#include "code\game\gamemodes\changeling\evolution_menu.dm" -#include "code\game\gamemodes\changeling\traitor_chan.dm" -#include "code\game\gamemodes\changeling\powers\absorb.dm" -#include "code\game\gamemodes\changeling\powers\augmented_eyesight.dm" -#include "code\game\gamemodes\changeling\powers\digitalcamo.dm" -#include "code\game\gamemodes\changeling\powers\epinephrine.dm" -#include "code\game\gamemodes\changeling\powers\fakedeath.dm" -#include "code\game\gamemodes\changeling\powers\fleshmend.dm" -#include "code\game\gamemodes\changeling\powers\glands.dm" -#include "code\game\gamemodes\changeling\powers\hivemind.dm" -#include "code\game\gamemodes\changeling\powers\humanform.dm" -#include "code\game\gamemodes\changeling\powers\lesserform.dm" -#include "code\game\gamemodes\changeling\powers\mimic_voice.dm" -#include "code\game\gamemodes\changeling\powers\mutations.dm" -#include "code\game\gamemodes\changeling\powers\panacea.dm" -#include "code\game\gamemodes\changeling\powers\revive.dm" -#include "code\game\gamemodes\changeling\powers\shriek.dm" -#include "code\game\gamemodes\changeling\powers\spiders.dm" -#include "code\game\gamemodes\changeling\powers\strained_muscles.dm" -#include "code\game\gamemodes\changeling\powers\swap_form.dm" -#include "code\game\gamemodes\changeling\powers\tiny_prick.dm" -#include "code\game\gamemodes\changeling\powers\transform.dm" -#include "code\game\gamemodes\cult\cult.dm" -#include "code\game\gamemodes\cult\cult_items.dm" -#include "code\game\gamemodes\cult\cult_structures.dm" -#include "code\game\gamemodes\cult\ritual.dm" -#include "code\game\gamemodes\cult\runes.dm" -#include "code\game\gamemodes\cult\talisman.dm" -#include "code\game\gamemodes\extended\extended.dm" -#include "code\game\gamemodes\heist\heist.dm" -#include "code\game\gamemodes\malfunction\Malf_Modules.dm" -#include "code\game\gamemodes\malfunction\malfunction.dm" -#include "code\game\gamemodes\meteor\meteor.dm" -#include "code\game\gamemodes\meteor\meteors.dm" -#include "code\game\gamemodes\miniantags\borer\borer.dm" -#include "code\game\gamemodes\miniantags\borer\borer_event.dm" -#include "code\game\gamemodes\miniantags\bot_swarm\swarmer.dm" -#include "code\game\gamemodes\miniantags\bot_swarm\swarmer_event.dm" -#include "code\game\gamemodes\miniantags\guardian\guardian.dm" -#include "code\game\gamemodes\miniantags\morph\morph.dm" -#include "code\game\gamemodes\miniantags\morph\morph_event.dm" -#include "code\game\gamemodes\miniantags\revenant\revenant.dm" -#include "code\game\gamemodes\miniantags\revenant\revenant_abilities.dm" -#include "code\game\gamemodes\miniantags\revenant\revenant_spawn_event.dm" -#include "code\game\gamemodes\miniantags\slaughter\bloodcrawl.dm" -#include "code\game\gamemodes\miniantags\slaughter\slaughter.dm" -#include "code\game\gamemodes\mutiny\auth_key.dm" -#include "code\game\gamemodes\mutiny\directive.dm" -#include "code\game\gamemodes\mutiny\emergency_authentication_device.dm" -#include "code\game\gamemodes\mutiny\key_pinpointer.dm" -#include "code\game\gamemodes\mutiny\mutiny.dm" -#include "code\game\gamemodes\mutiny\mutiny_admin.dm" -#include "code\game\gamemodes\mutiny\mutiny_fluff.dm" -#include "code\game\gamemodes\mutiny\mutiny_hooks.dm" -#include "code\game\gamemodes\mutiny\directives\alien_fraud_directive.dm" -#include "code\game\gamemodes\mutiny\directives\bluespace_contagion_directive.dm" -#include "code\game\gamemodes\mutiny\directives\financial_crisis_directive.dm" -#include "code\game\gamemodes\mutiny\directives\ipc_virus_directive.dm" -#include "code\game\gamemodes\mutiny\directives\research_to_ripleys_directive.dm" -#include "code\game\gamemodes\mutiny\directives\tau_ceti_needs_women_directive.dm" -#include "code\game\gamemodes\mutiny\directives\terminations_directive.dm" -#include "code\game\gamemodes\mutiny\directives\vox_heist.dm" -#include "code\game\gamemodes\nations\nations.dm" -#include "code\game\gamemodes\nations\nationsdatums.dm" -#include "code\game\gamemodes\nations\nationsprocs.dm" -#include "code\game\gamemodes\nuclear\nuclear.dm" -#include "code\game\gamemodes\nuclear\nuclear_challenge.dm" -#include "code\game\gamemodes\nuclear\nuclearbomb.dm" -#include "code\game\gamemodes\nuclear\pinpointer.dm" -#include "code\game\gamemodes\revolution\revolution.dm" -#include "code\game\gamemodes\revolution\rp_revolution.dm" -#include "code\game\gamemodes\shadowling\ascendant_shadowling.dm" -#include "code\game\gamemodes\shadowling\shadowling.dm" -#include "code\game\gamemodes\shadowling\shadowling_abilities.dm" -#include "code\game\gamemodes\shadowling\shadowling_items.dm" -#include "code\game\gamemodes\shadowling\special_shadowling_abilities.dm" -#include "code\game\gamemodes\traitor\traitor.dm" -#include "code\game\gamemodes\vampire\hud.dm" -#include "code\game\gamemodes\vampire\vampire.dm" -#include "code\game\gamemodes\vampire\vampire_powers.dm" -#include "code\game\gamemodes\wizard\artefact.dm" -#include "code\game\gamemodes\wizard\godhand.dm" -#include "code\game\gamemodes\wizard\raginmages.dm" -#include "code\game\gamemodes\wizard\rightandwrong.dm" -#include "code\game\gamemodes\wizard\soulstone.dm" -#include "code\game\gamemodes\wizard\spellbook.dm" -#include "code\game\gamemodes\wizard\wizard.dm" -#include "code\game\gamemodes\xenos\xenos.dm" -#include "code\game\jobs\access.dm" -#include "code\game\jobs\job_controller.dm" -#include "code\game\jobs\job_objective.dm" -#include "code\game\jobs\jobs.dm" -#include "code\game\jobs\whitelist.dm" -#include "code\game\jobs\job\civilian.dm" -#include "code\game\jobs\job\engineering.dm" -#include "code\game\jobs\job\job.dm" -#include "code\game\jobs\job\medical.dm" -#include "code\game\jobs\job\science.dm" -#include "code\game\jobs\job\security.dm" -#include "code\game\jobs\job\silicon.dm" -#include "code\game\jobs\job\supervisor.dm" -#include "code\game\jobs\job\support.dm" -#include "code\game\jobs\job\support_chaplain.dm" -#include "code\game\jobs\job_objectives\science.dm" -#include "code\game\machinery\adv_med.dm" -#include "code\game\machinery\ai_slipper.dm" -#include "code\game\machinery\alarm.dm" -#include "code\game\machinery\atmo_control.dm" -#include "code\game\machinery\autolathe.dm" -#include "code\game\machinery\Beacon.dm" -#include "code\game\machinery\bees_items.dm" -#include "code\game\machinery\biogenerator.dm" -#include "code\game\machinery\buttons.dm" -#include "code\game\machinery\cell_charger.dm" -#include "code\game\machinery\chiller.dm" -#include "code\game\machinery\cloning.dm" -#include "code\game\machinery\constructable_frame.dm" -#include "code\game\machinery\cryo.dm" -#include "code\game\machinery\cryopod.dm" -#include "code\game\machinery\deployable.dm" -#include "code\game\machinery\door_control.dm" -#include "code\game\machinery\doppler_array.dm" -#include "code\game\machinery\dye_generator.dm" -#include "code\game\machinery\firealarm.dm" -#include "code\game\machinery\flasher.dm" -#include "code\game\machinery\floodlight.dm" -#include "code\game\machinery\Freezer.dm" -#include "code\game\machinery\guestpass.dm" -#include "code\game\machinery\hologram.dm" -#include "code\game\machinery\holosign.dm" -#include "code\game\machinery\igniter.dm" -#include "code\game\machinery\iv_drip.dm" -#include "code\game\machinery\lightswitch.dm" -#include "code\game\machinery\machinery.dm" -#include "code\game\machinery\magnet.dm" -#include "code\game\machinery\mass_driver.dm" -#include "code\game\machinery\navbeacon.dm" -#include "code\game\machinery\newscaster.dm" -#include "code\game\machinery\OpTable.dm" -#include "code\game\machinery\overview.dm" -#include "code\game\machinery\PDApainter.dm" -#include "code\game\machinery\poolcontroller.dm" -#include "code\game\machinery\portable_tag_turret.dm" -#include "code\game\machinery\portable_turret.dm" -#include "code\game\machinery\programmable_unloader.dm" -#include "code\game\machinery\recharger.dm" -#include "code\game\machinery\rechargestation.dm" -#include "code\game\machinery\recycler.dm" -#include "code\game\machinery\requests_console.dm" -#include "code\game\machinery\robot_fabricator.dm" -#include "code\game\machinery\seed_extractor.dm" -#include "code\game\machinery\shieldgen.dm" -#include "code\game\machinery\Sleeper.dm" -#include "code\game\machinery\slotmachine.dm" -#include "code\game\machinery\spaceheater.dm" -#include "code\game\machinery\status_display.dm" -#include "code\game\machinery\suit_storage_unit.dm" -#include "code\game\machinery\supply_display.dm" -#include "code\game\machinery\syndicatebeacon.dm" -#include "code\game\machinery\syndicatebomb.dm" -#include "code\game\machinery\teleporter.dm" -#include "code\game\machinery\transformer.dm" -#include "code\game\machinery\turntable.dm" -#include "code\game\machinery\turret_control.dm" -#include "code\game\machinery\turrets.dm" -#include "code\game\machinery\vending.dm" -#include "code\game\machinery\washing_machine.dm" -#include "code\game\machinery\wishgranter.dm" -#include "code\game\machinery\atmoalter\area_atmos_computer.dm" -#include "code\game\machinery\atmoalter\canister.dm" -#include "code\game\machinery\atmoalter\meter.dm" -#include "code\game\machinery\atmoalter\portable_atmospherics.dm" -#include "code\game\machinery\atmoalter\pump.dm" -#include "code\game\machinery\atmoalter\scrubber.dm" -#include "code\game\machinery\atmoalter\zvent.dm" -#include "code\game\machinery\bots\bots.dm" -#include "code\game\machinery\bots\cleanbot.dm" -#include "code\game\machinery\bots\ed209bot.dm" -#include "code\game\machinery\bots\floorbot.dm" -#include "code\game\machinery\bots\medbot.dm" -#include "code\game\machinery\bots\mulebot.dm" -#include "code\game\machinery\bots\secbot.dm" -#include "code\game\machinery\camera\camera.dm" -#include "code\game\machinery\camera\camera_assembly.dm" -#include "code\game\machinery\camera\motion.dm" -#include "code\game\machinery\camera\presets.dm" -#include "code\game\machinery\camera\tracking.dm" -#include "code\game\machinery\computer\ai_core.dm" -#include "code\game\machinery\computer\aifixer.dm" -#include "code\game\machinery\computer\arcade.dm" -#include "code\game\machinery\computer\atmos_alert.dm" -#include "code\game\machinery\computer\atmos_control.dm" -#include "code\game\machinery\computer\buildandrepair.dm" -#include "code\game\machinery\computer\camera.dm" -#include "code\game\machinery\computer\card.dm" -#include "code\game\machinery\computer\cloning.dm" -#include "code\game\machinery\computer\communications.dm" -#include "code\game\machinery\computer\computer.dm" -#include "code\game\machinery\computer\crew.dm" -#include "code\game\machinery\computer\HolodeckControl.dm" -#include "code\game\machinery\computer\hologram.dm" -#include "code\game\machinery\computer\honkputer.dm" -#include "code\game\machinery\computer\law.dm" -#include "code\game\machinery\computer\medical.dm" -#include "code\game\machinery\computer\message.dm" -#include "code\game\machinery\computer\Operating.dm" -#include "code\game\machinery\computer\pod.dm" -#include "code\game\machinery\computer\pod_tracking_console.dm" -#include "code\game\machinery\computer\power.dm" -#include "code\game\machinery\computer\prisoner.dm" -#include "code\game\machinery\computer\robot.dm" -#include "code\game\machinery\computer\salvage_ship.dm" -#include "code\game\machinery\computer\security.dm" -#include "code\game\machinery\computer\shuttle.dm" -#include "code\game\machinery\computer\skills.dm" -#include "code\game\machinery\computer\specops_shuttle.dm" -#include "code\game\machinery\computer\station_alert.dm" -#include "code\game\machinery\computer\store.dm" -#include "code\game\machinery\computer\syndicate_specops_shuttle.dm" -#include "code\game\machinery\computer\telecrystalconsoles.dm" -#include "code\game\machinery\doors\airlock.dm" -#include "code\game\machinery\doors\airlock_control.dm" -#include "code\game\machinery\doors\airlock_electronics.dm" -#include "code\game\machinery\doors\alarmlock.dm" -#include "code\game\machinery\doors\brigdoors.dm" -#include "code\game\machinery\doors\checkForMultipleDoors.dm" -#include "code\game\machinery\doors\door.dm" -#include "code\game\machinery\doors\firedoor.dm" -#include "code\game\machinery\doors\multi_tile.dm" -#include "code\game\machinery\doors\poddoor.dm" -#include "code\game\machinery\doors\shutters.dm" -#include "code\game\machinery\doors\spacepod.dm" -#include "code\game\machinery\doors\unpowered.dm" -#include "code\game\machinery\doors\windowdoor.dm" -#include "code\game\machinery\embedded_controller\airlock_controllers.dm" -#include "code\game\machinery\embedded_controller\airlock_docking_controller.dm" -#include "code\game\machinery\embedded_controller\airlock_docking_controller_multi.dm" -#include "code\game\machinery\embedded_controller\airlock_program.dm" -#include "code\game\machinery\embedded_controller\docking_program.dm" -#include "code\game\machinery\embedded_controller\docking_program_multi.dm" -#include "code\game\machinery\embedded_controller\embedded_controller_base.dm" -#include "code\game\machinery\embedded_controller\embedded_program_base.dm" -#include "code\game\machinery\embedded_controller\simple_docking_controller.dm" -#include "code\game\machinery\kitchen\gibber.dm" -#include "code\game\machinery\kitchen\icecream_vat.dm" -#include "code\game\machinery\kitchen\juicer.dm" -#include "code\game\machinery\kitchen\kitchen_machine.dm" -#include "code\game\machinery\kitchen\microwave.dm" -#include "code\game\machinery\kitchen\monkeyrecycler.dm" -#include "code\game\machinery\kitchen\processor.dm" -#include "code\game\machinery\kitchen\smartfridge.dm" -#include "code\game\machinery\pipe\construction.dm" -#include "code\game\machinery\pipe\pipe_dispenser.dm" -#include "code\game\machinery\telecomms\broadcaster.dm" -#include "code\game\machinery\telecomms\logbrowser.dm" -#include "code\game\machinery\telecomms\machine_interactions.dm" -#include "code\game\machinery\telecomms\presets.dm" -#include "code\game\machinery\telecomms\telecomunications.dm" -#include "code\game\machinery\telecomms\telemonitor.dm" -#include "code\game\machinery\telecomms\traffic_control.dm" -#include "code\game\magic\Uristrunes.dm" -#include "code\game\mecha\mech_bay.dm" -#include "code\game\mecha\mech_fabricator.dm" -#include "code\game\mecha\mecha.dm" -#include "code\game\mecha\mecha_construction_paths.dm" -#include "code\game\mecha\mecha_control_console.dm" -#include "code\game\mecha\mecha_parts.dm" -#include "code\game\mecha\mecha_wreckage.dm" -#include "code\game\mecha\paintkits.dm" -#include "code\game\mecha\combat\combat.dm" -#include "code\game\mecha\combat\durand.dm" -#include "code\game\mecha\combat\gygax.dm" -#include "code\game\mecha\combat\honker.dm" -#include "code\game\mecha\combat\marauder.dm" -#include "code\game\mecha\combat\phazon.dm" -#include "code\game\mecha\combat\recitence.dm" -#include "code\game\mecha\equipment\mecha_equipment.dm" -#include "code\game\mecha\equipment\tools\medical_tools.dm" -#include "code\game\mecha\equipment\tools\tools.dm" -#include "code\game\mecha\equipment\weapons\weapons.dm" -#include "code\game\mecha\medical\medical.dm" -#include "code\game\mecha\medical\odysseus.dm" -#include "code\game\mecha\working\ripley.dm" -#include "code\game\mecha\working\working.dm" -#include "code\game\objects\buckling.dm" -#include "code\game\objects\empulse.dm" -#include "code\game\objects\explosion.dm" -#include "code\game\objects\items.dm" -#include "code\game\objects\objs.dm" -#include "code\game\objects\structures.dm" -#include "code\game\objects\weapons.dm" -#include "code\game\objects\effects\aliens.dm" -#include "code\game\objects\effects\anomalies.dm" -#include "code\game\objects\effects\bump_teleporter.dm" -#include "code\game\objects\effects\datacore-effect.dm" -#include "code\game\objects\effects\effect_system.dm" -#include "code\game\objects\effects\explosion_particles.dm" -#include "code\game\objects\effects\forcefields.dm" -#include "code\game\objects\effects\gibs.dm" -#include "code\game\objects\effects\glowshroom.dm" -#include "code\game\objects\effects\landmarks.dm" -#include "code\game\objects\effects\manifest.dm" -#include "code\game\objects\effects\mines.dm" -#include "code\game\objects\effects\misc.dm" -#include "code\game\objects\effects\overlays.dm" -#include "code\game\objects\effects\portals.dm" -#include "code\game\objects\effects\spiders.dm" -#include "code\game\objects\effects\step_triggers.dm" -#include "code\game\objects\effects\decals\cleanable.dm" -#include "code\game\objects\effects\decals\contraband.dm" -#include "code\game\objects\effects\decals\crayon.dm" -#include "code\game\objects\effects\decals\misc.dm" -#include "code\game\objects\effects\decals\remains.dm" -#include "code\game\objects\effects\decals\warning_stripes.dm" -#include "code\game\objects\effects\decals\Cleanable\aliens.dm" -#include "code\game\objects\effects\decals\Cleanable\fuel.dm" -#include "code\game\objects\effects\decals\Cleanable\humans.dm" -#include "code\game\objects\effects\decals\Cleanable\misc.dm" -#include "code\game\objects\effects\decals\Cleanable\robots.dm" -#include "code\game\objects\effects\decals\Cleanable\tracks.dm" -#include "code\game\objects\effects\spawners\bombspawner.dm" -#include "code\game\objects\effects\spawners\gibspawner.dm" -#include "code\game\objects\effects\spawners\lootdrop.dm" -#include "code\game\objects\effects\spawners\vaultspawner.dm" -#include "code\game\objects\effects\spawners\windowspawner.dm" -#include "code\game\objects\items\ashtray.dm" -#include "code\game\objects\items\blueprints.dm" -#include "code\game\objects\items\bodybag.dm" -#include "code\game\objects\items\candle.dm" -#include "code\game\objects\items\changestone.dm" -#include "code\game\objects\items\contraband.dm" -#include "code\game\objects\items\crayons.dm" -#include "code\game\objects\items\dehy_carp.dm" -#include "code\game\objects\items\documents.dm" -#include "code\game\objects\items\flag.dm" -#include "code\game\objects\items\latexballoon.dm" -#include "code\game\objects\items\misc.dm" -#include "code\game\objects\items\policetape.dm" -#include "code\game\objects\items\random_items.dm" -#include "code\game\objects\items\shooting_range.dm" -#include "code\game\objects\items\toys.dm" -#include "code\game\objects\items\trash.dm" -#include "code\game\objects\items\devices\aicard.dm" -#include "code\game\objects\items\devices\autopsy.dm" -#include "code\game\objects\items\devices\camera_bug.dm" -#include "code\game\objects\items\devices\chameleonproj.dm" -#include "code\game\objects\items\devices\debugger.dm" -#include "code\game\objects\items\devices\flash.dm" -#include "code\game\objects\items\devices\flashlight.dm" -#include "code\game\objects\items\devices\guitar.dm" -#include "code\game\objects\items\devices\laserpointer.dm" -#include "code\game\objects\items\devices\lightreplacer.dm" -#include "code\game\objects\items\devices\megaphone.dm" -#include "code\game\objects\items\devices\modkit.dm" -#include "code\game\objects\items\devices\multitool.dm" -#include "code\game\objects\items\devices\paicard.dm" -#include "code\game\objects\items\devices\pipe_painter.dm" -#include "code\game\objects\items\devices\pizza_bomb.dm" -#include "code\game\objects\items\devices\powersink.dm" -#include "code\game\objects\items\devices\scanners.dm" -#include "code\game\objects\items\devices\sensor_device.dm" -#include "code\game\objects\items\devices\taperecorder.dm" -#include "code\game\objects\items\devices\traitordevices.dm" -#include "code\game\objects\items\devices\transfer_valve.dm" -#include "code\game\objects\items\devices\uplinks.dm" -#include "code\game\objects\items\devices\violin.dm" -#include "code\game\objects\items\devices\whistle.dm" -#include "code\game\objects\items\devices\radio\beacon.dm" -#include "code\game\objects\items\devices\radio\electropack.dm" -#include "code\game\objects\items\devices\radio\encryptionkey.dm" -#include "code\game\objects\items\devices\radio\headset.dm" -#include "code\game\objects\items\devices\radio\intercom.dm" -#include "code\game\objects\items\devices\radio\radio.dm" -#include "code\game\objects\items\mountable_frames\air_alarm.dm" -#include "code\game\objects\items\mountable_frames\apc_frame.dm" -#include "code\game\objects\items\mountable_frames\driver_button.dm" -#include "code\game\objects\items\mountable_frames\fire_alarm.dm" -#include "code\game\objects\items\mountable_frames\frames.dm" -#include "code\game\objects\items\mountable_frames\intercom.dm" -#include "code\game\objects\items\mountable_frames\lights.dm" -#include "code\game\objects\items\mountable_frames\mountables.dm" -#include "code\game\objects\items\mountable_frames\newscaster_frame.dm" -#include "code\game\objects\items\robot\robot_items.dm" -#include "code\game\objects\items\robot\robot_parts.dm" -#include "code\game\objects\items\robot\robot_upgrades.dm" -#include "code\game\objects\items\stacks\medical.dm" -#include "code\game\objects\items\stacks\nanopaste.dm" -#include "code\game\objects\items\stacks\rods.dm" -#include "code\game\objects\items\stacks\stack.dm" -#include "code\game\objects\items\stacks\telecrystal.dm" -#include "code\game\objects\items\stacks\sheets\glass.dm" -#include "code\game\objects\items\stacks\sheets\leather.dm" -#include "code\game\objects\items\stacks\sheets\light.dm" -#include "code\game\objects\items\stacks\sheets\mineral.dm" -#include "code\game\objects\items\stacks\sheets\sheet_types.dm" -#include "code\game\objects\items\stacks\sheets\sheets.dm" -#include "code\game\objects\items\stacks\tiles\tile_types.dm" -#include "code\game\objects\items\weapons\AI_modules.dm" -#include "code\game\objects\items\weapons\alien_specific.dm" -#include "code\game\objects\items\weapons\cards_ids.dm" -#include "code\game\objects\items\weapons\cash.dm" -#include "code\game\objects\items\weapons\caution.dm" -#include "code\game\objects\items\weapons\chrono_eraser.dm" -#include "code\game\objects\items\weapons\cigs.dm" -#include "code\game\objects\items\weapons\clown_items.dm" -#include "code\game\objects\items\weapons\cosmetics.dm" -#include "code\game\objects\items\weapons\courtroom.dm" -#include "code\game\objects\items\weapons\defib.dm" -#include "code\game\objects\items\weapons\dice.dm" -#include "code\game\objects\items\weapons\disks.dm" -#include "code\game\objects\items\weapons\dna_injector.dm" -#include "code\game\objects\items\weapons\dnascrambler.dm" -#include "code\game\objects\items\weapons\explosives.dm" -#include "code\game\objects\items\weapons\extinguisher.dm" -#include "code\game\objects\items\weapons\fireworks.dm" -#include "code\game\objects\items\weapons\flamethrower.dm" -#include "code\game\objects\items\weapons\gift_wrappaper.dm" -#include "code\game\objects\items\weapons\handcuffs.dm" -#include "code\game\objects\items\weapons\holosign.dm" -#include "code\game\objects\items\weapons\kitchen.dm" -#include "code\game\objects\items\weapons\legcuffs.dm" -#include "code\game\objects\items\weapons\lighters.dm" -#include "code\game\objects\items\weapons\manuals.dm" -#include "code\game\objects\items\weapons\misc.dm" -#include "code\game\objects\items\weapons\mop.dm" -#include "code\game\objects\items\weapons\paint.dm" -#include "code\game\objects\items\weapons\paiwire.dm" -#include "code\game\objects\items\weapons\pneumaticCannon.dm" -#include "code\game\objects\items\weapons\power_cells.dm" -#include "code\game\objects\items\weapons\RCD.dm" -#include "code\game\objects\items\weapons\RSF.dm" -#include "code\game\objects\items\weapons\scissors.dm" -#include "code\game\objects\items\weapons\scrolls.dm" -#include "code\game\objects\items\weapons\shards.dm" -#include "code\game\objects\items\weapons\shields.dm" -#include "code\game\objects\items\weapons\signs.dm" -#include "code\game\objects\items\weapons\soap.dm" -#include "code\game\objects\items\weapons\staff.dm" -#include "code\game\objects\items\weapons\stock_parts.dm" -#include "code\game\objects\items\weapons\stunbaton.dm" -#include "code\game\objects\items\weapons\swords_axes_etc.dm" -#include "code\game\objects\items\weapons\syndie_uplink.dm" -#include "code\game\objects\items\weapons\table_rack_parts.dm" -#include "code\game\objects\items\weapons\tape.dm" -#include "code\game\objects\items\weapons\teleportation.dm" -#include "code\game\objects\items\weapons\tools.dm" -#include "code\game\objects\items\weapons\twohanded.dm" -#include "code\game\objects\items\weapons\vending_items.dm" -#include "code\game\objects\items\weapons\weaponry.dm" -#include "code\game\objects\items\weapons\whetstone.dm" -#include "code\game\objects\items\weapons\wires.dm" -#include "code\game\objects\items\weapons\grenades\bananade.dm" -#include "code\game\objects\items\weapons\grenades\chem_grenade.dm" -#include "code\game\objects\items\weapons\grenades\clowngrenade.dm" -#include "code\game\objects\items\weapons\grenades\clusterbuster.dm" -#include "code\game\objects\items\weapons\grenades\custom_grenades.dm" -#include "code\game\objects\items\weapons\grenades\emgrenade.dm" -#include "code\game\objects\items\weapons\grenades\flashbang.dm" -#include "code\game\objects\items\weapons\grenades\ghettobomb.dm" -#include "code\game\objects\items\weapons\grenades\grenade.dm" -#include "code\game\objects\items\weapons\grenades\smokebomb.dm" -#include "code\game\objects\items\weapons\grenades\spawnergrenade.dm" -#include "code\game\objects\items\weapons\grenades\syndieminibomb.dm" -#include "code\game\objects\items\weapons\implants\implant.dm" -#include "code\game\objects\items\weapons\implants\implant_chem.dm" -#include "code\game\objects\items\weapons\implants\implant_death_alarm.dm" -#include "code\game\objects\items\weapons\implants\implant_explosive.dm" -#include "code\game\objects\items\weapons\implants\implant_freedom.dm" -#include "code\game\objects\items\weapons\implants\implant_loyality.dm" -#include "code\game\objects\items\weapons\implants\implant_misc.dm" -#include "code\game\objects\items\weapons\implants\implant_storage.dm" -#include "code\game\objects\items\weapons\implants\implant_track.dm" -#include "code\game\objects\items\weapons\implants\implant_traitor.dm" -#include "code\game\objects\items\weapons\implants\implantcase.dm" -#include "code\game\objects\items\weapons\implants\implantchair.dm" -#include "code\game\objects\items\weapons\implants\implanter.dm" -#include "code\game\objects\items\weapons\implants\implantpad.dm" -#include "code\game\objects\items\weapons\implants\implantuplink.dm" -#include "code\game\objects\items\weapons\melee\energy.dm" -#include "code\game\objects\items\weapons\melee\misc.dm" -#include "code\game\objects\items\weapons\storage\backpack.dm" -#include "code\game\objects\items\weapons\storage\bags.dm" -#include "code\game\objects\items\weapons\storage\belt.dm" -#include "code\game\objects\items\weapons\storage\bible.dm" -#include "code\game\objects\items\weapons\storage\boxes.dm" -#include "code\game\objects\items\weapons\storage\briefcase.dm" -#include "code\game\objects\items\weapons\storage\fancy.dm" -#include "code\game\objects\items\weapons\storage\firstaid.dm" -#include "code\game\objects\items\weapons\storage\internal.dm" -#include "code\game\objects\items\weapons\storage\lockbox.dm" -#include "code\game\objects\items\weapons\storage\secure.dm" -#include "code\game\objects\items\weapons\storage\storage.dm" -#include "code\game\objects\items\weapons\storage\toolbox.dm" -#include "code\game\objects\items\weapons\storage\uplink_kits.dm" -#include "code\game\objects\items\weapons\storage\wallets.dm" -#include "code\game\objects\items\weapons\tanks\jetpack.dm" -#include "code\game\objects\items\weapons\tanks\tank_types.dm" -#include "code\game\objects\items\weapons\tanks\tanks.dm" -#include "code\game\objects\items\weapons\tanks\watertank.dm" -#include "code\game\objects\random\random.dm" -#include "code\game\objects\structures\artstuff.dm" -#include "code\game\objects\structures\barsign.dm" -#include "code\game\objects\structures\bedsheet_bin.dm" -#include "code\game\objects\structures\coathanger.dm" -#include "code\game\objects\structures\curtains.dm" -#include "code\game\objects\structures\displaycase.dm" -#include "code\game\objects\structures\door_assembly.dm" -#include "code\game\objects\structures\dresser.dm" -#include "code\game\objects\structures\electricchair.dm" -#include "code\game\objects\structures\engicart.dm" -#include "code\game\objects\structures\extinguisher.dm" -#include "code\game\objects\structures\false_walls.dm" -#include "code\game\objects\structures\flora.dm" -#include "code\game\objects\structures\foodcart.dm" -#include "code\game\objects\structures\fullwindow.dm" -#include "code\game\objects\structures\girders.dm" -#include "code\game\objects\structures\grille.dm" -#include "code\game\objects\structures\inflatable.dm" -#include "code\game\objects\structures\janicart.dm" -#include "code\game\objects\structures\kitchen_spike.dm" -#include "code\game\objects\structures\ladders.dm" -#include "code\game\objects\structures\lamarr_cage.dm" -#include "code\game\objects\structures\lattice.dm" -#include "code\game\objects\structures\mineral_doors.dm" -#include "code\game\objects\structures\mirror.dm" -#include "code\game\objects\structures\misc.dm" -#include "code\game\objects\structures\mop_bucket.dm" -#include "code\game\objects\structures\morgue.dm" -#include "code\game\objects\structures\musician.dm" -#include "code\game\objects\structures\noticeboard.dm" -#include "code\game\objects\structures\safe.dm" -#include "code\game\objects\structures\signs.dm" -#include "code\game\objects\structures\spirit_board.dm" -#include "code\game\objects\structures\statue.dm" -#include "code\game\objects\structures\tables_racks.dm" -#include "code\game\objects\structures\tank_dispenser.dm" -#include "code\game\objects\structures\target_stake.dm" -#include "code\game\objects\structures\watercloset.dm" -#include "code\game\objects\structures\windoor_assembly.dm" -#include "code\game\objects\structures\window.dm" -#include "code\game\objects\structures\crates_lockers\closets.dm" -#include "code\game\objects\structures\crates_lockers\crates.dm" -#include "code\game\objects\structures\crates_lockers\crittercrate.dm" -#include "code\game\objects\structures\crates_lockers\largecrate.dm" -#include "code\game\objects\structures\crates_lockers\walllocker.dm" -#include "code\game\objects\structures\crates_lockers\closets\cardboardbox.dm" -#include "code\game\objects\structures\crates_lockers\closets\coffin.dm" -#include "code\game\objects\structures\crates_lockers\closets\crittercrate.dm" -#include "code\game\objects\structures\crates_lockers\closets\fireaxe.dm" -#include "code\game\objects\structures\crates_lockers\closets\fitness.dm" -#include "code\game\objects\structures\crates_lockers\closets\gimmick.dm" -#include "code\game\objects\structures\crates_lockers\closets\job_closets.dm" -#include "code\game\objects\structures\crates_lockers\closets\l3closet.dm" -#include "code\game\objects\structures\crates_lockers\closets\malfunction.dm" -#include "code\game\objects\structures\crates_lockers\closets\statue.dm" -#include "code\game\objects\structures\crates_lockers\closets\syndicate.dm" -#include "code\game\objects\structures\crates_lockers\closets\utility_closets.dm" -#include "code\game\objects\structures\crates_lockers\closets\wardrobe.dm" -#include "code\game\objects\structures\crates_lockers\closets\secure\bar.dm" -#include "code\game\objects\structures\crates_lockers\closets\secure\cargo.dm" -#include "code\game\objects\structures\crates_lockers\closets\secure\chaplain.dm" -#include "code\game\objects\structures\crates_lockers\closets\secure\engineering.dm" -#include "code\game\objects\structures\crates_lockers\closets\secure\freezer.dm" -#include "code\game\objects\structures\crates_lockers\closets\secure\guncabinet.dm" -#include "code\game\objects\structures\crates_lockers\closets\secure\hydroponics.dm" -#include "code\game\objects\structures\crates_lockers\closets\secure\medical.dm" -#include "code\game\objects\structures\crates_lockers\closets\secure\personal.dm" -#include "code\game\objects\structures\crates_lockers\closets\secure\scientist.dm" -#include "code\game\objects\structures\crates_lockers\closets\secure\secure_closets.dm" -#include "code\game\objects\structures\crates_lockers\closets\secure\security.dm" -#include "code\game\objects\structures\stool_bed_chair_nest\alien_nests.dm" -#include "code\game\objects\structures\stool_bed_chair_nest\bed.dm" -#include "code\game\objects\structures\stool_bed_chair_nest\chairs.dm" -#include "code\game\objects\structures\stool_bed_chair_nest\stools.dm" -#include "code\game\objects\structures\stool_bed_chair_nest\wheelchair.dm" -#include "code\game\objects\structures\transit_tubes\station.dm" -#include "code\game\objects\structures\transit_tubes\transit_tube.dm" -#include "code\game\objects\structures\transit_tubes\transit_tube_pod.dm" -#include "code\game\turfs\simulated.dm" -#include "code\game\turfs\turf.dm" -#include "code\game\turfs\unsimulated.dm" -#include "code\game\turfs\simulated\floor.dm" -#include "code\game\turfs\simulated\shuttle.dm" -#include "code\game\turfs\simulated\walls.dm" -#include "code\game\turfs\simulated\walls_mineral.dm" -#include "code\game\turfs\simulated\walls_misc.dm" -#include "code\game\turfs\simulated\walls_reinforced.dm" -#include "code\game\turfs\simulated\floor\fancy_floor.dm" -#include "code\game\turfs\simulated\floor\light_floor.dm" -#include "code\game\turfs\simulated\floor\misc_floor.dm" -#include "code\game\turfs\simulated\floor\plasteel_floor.dm" -#include "code\game\turfs\simulated\floor\plating.dm" -#include "code\game\turfs\space\space.dm" -#include "code\game\turfs\space\transit.dm" -#include "code\game\turfs\unsimulated\beach.dm" -#include "code\game\turfs\unsimulated\floor.dm" -#include "code\game\turfs\unsimulated\walls.dm" -#include "code\game\vehicles\spacepods\construction.dm" -#include "code\game\vehicles\spacepods\equipment.dm" -#include "code\game\vehicles\spacepods\parts.dm" -#include "code\game\vehicles\spacepods\pod_fabricator.dm" -#include "code\game\vehicles\spacepods\spacepod.dm" -#include "code\game\verbs\ooc.dm" -#include "code\game\verbs\suicide.dm" -#include "code\game\verbs\who.dm" -#include "code\js\byjax.dm" -#include "code\js\menus.dm" -#include "code\LINDA\LINDA_fire.dm" -#include "code\LINDA\LINDA_system.dm" -#include "code\LINDA\LINDA_turf_tile.dm" -#include "code\modules\admin\admin.dm" -#include "code\modules\admin\admin_investigate.dm" -#include "code\modules\admin\admin_memo.dm" -#include "code\modules\admin\admin_ranks.dm" -#include "code\modules\admin\admin_verbs.dm" -#include "code\modules\admin\banappearance.dm" -#include "code\modules\admin\banjob.dm" -#include "code\modules\admin\buildmode.dm" -#include "code\modules\admin\create_mob.dm" -#include "code\modules\admin\create_object.dm" -#include "code\modules\admin\create_poll.dm" -#include "code\modules\admin\create_turf.dm" -#include "code\modules\admin\holder2.dm" -#include "code\modules\admin\IsBanned.dm" -#include "code\modules\admin\machine_upgrade.dm" -#include "code\modules\admin\NewBan.dm" -#include "code\modules\admin\newbanjob.dm" -#include "code\modules\admin\player_panel.dm" -#include "code\modules\admin\secrets.dm" -#include "code\modules\admin\sql_notes.dm" -#include "code\modules\admin\stickyban.dm" -#include "code\modules\admin\topic.dm" -#include "code\modules\admin\ToRban.dm" -#include "code\modules\admin\watchlist.dm" -#include "code\modules\admin\DB ban\functions.dm" -#include "code\modules\admin\permissionverbs\permissionedit.dm" -#include "code\modules\admin\verbs\adminhelp.dm" -#include "code\modules\admin\verbs\adminjump.dm" -#include "code\modules\admin\verbs\adminpm.dm" -#include "code\modules\admin\verbs\adminsay.dm" -#include "code\modules\admin\verbs\alt_check.dm" -#include "code\modules\admin\verbs\antag-ooc.dm" -#include "code\modules\admin\verbs\atmosdebug.dm" -#include "code\modules\admin\verbs\BrokenInhands.dm" -#include "code\modules\admin\verbs\cinematic.dm" -#include "code\modules\admin\verbs\custom_event.dm" -#include "code\modules\admin\verbs\deadsay.dm" -#include "code\modules\admin\verbs\debug.dm" -#include "code\modules\admin\verbs\diagnostics.dm" -#include "code\modules\admin\verbs\dice.dm" -#include "code\modules\admin\verbs\freeze.dm" -#include "code\modules\admin\verbs\getlogs.dm" -#include "code\modules\admin\verbs\honksquad.dm" -#include "code\modules\admin\verbs\mapping.dm" -#include "code\modules\admin\verbs\massmodvar.dm" -#include "code\modules\admin\verbs\modifyvariables.dm" -#include "code\modules\admin\verbs\one_click_antag.dm" -#include "code\modules\admin\verbs\onlyone.dm" -#include "code\modules\admin\verbs\onlyoneteam.dm" -#include "code\modules\admin\verbs\playsound.dm" -#include "code\modules\admin\verbs\possess.dm" -#include "code\modules\admin\verbs\pray.dm" -#include "code\modules\admin\verbs\randomverbs.dm" -#include "code\modules\admin\verbs\striketeam.dm" -#include "code\modules\admin\verbs\striketeam_syndicate.dm" -#include "code\modules\admin\verbs\ticklag.dm" -#include "code\modules\admin\verbs\tripAI.dm" -#include "code\modules\admin\verbs\vox_raiders.dm" -#include "code\modules\admin\verbs\SDQL2\SDQL_2.dm" -#include "code\modules\admin\verbs\SDQL2\SDQL_2_parser.dm" -#include "code\modules\alarm\alarm.dm" -#include "code\modules\alarm\alarm_handler.dm" -#include "code\modules\alarm\atmosphere_alarm.dm" -#include "code\modules\alarm\burglar_alarm.dm" -#include "code\modules\alarm\camera_alarm.dm" -#include "code\modules\alarm\fire_alarm.dm" -#include "code\modules\alarm\motion_alarm.dm" -#include "code\modules\alarm\power_alarm.dm" -#include "code\modules\arcade\arcade_base.dm" -#include "code\modules\arcade\arcade_prize.dm" -#include "code\modules\arcade\claw_game.dm" -#include "code\modules\arcade\prize_counter.dm" -#include "code\modules\arcade\prize_datums.dm" -#include "code\modules\assembly\assembly.dm" -#include "code\modules\assembly\bomb.dm" -#include "code\modules\assembly\health.dm" -#include "code\modules\assembly\helpers.dm" -#include "code\modules\assembly\holder.dm" -#include "code\modules\assembly\igniter.dm" -#include "code\modules\assembly\infrared.dm" -#include "code\modules\assembly\mousetrap.dm" -#include "code\modules\assembly\proximity.dm" -#include "code\modules\assembly\shock_kit.dm" -#include "code\modules\assembly\signaler.dm" -#include "code\modules\assembly\timer.dm" -#include "code\modules\assembly\voice.dm" -#include "code\modules\atmos_automation\console.dm" -#include "code\modules\atmos_automation\statements.dm" -#include "code\modules\atmos_automation\implementation\digital_valves.dm" -#include "code\modules\atmos_automation\implementation\emitters.dm" -#include "code\modules\atmos_automation\implementation\injectors.dm" -#include "code\modules\atmos_automation\implementation\scrubbers.dm" -#include "code\modules\atmos_automation\implementation\sensors.dm" -#include "code\modules\atmos_automation\implementation\vent_pump.dm" -#include "code\modules\awaymissions\bluespaceartillery.dm" -#include "code\modules\awaymissions\corpse.dm" -#include "code\modules\awaymissions\exile.dm" -#include "code\modules\awaymissions\gateway.dm" -#include "code\modules\awaymissions\loot.dm" -#include "code\modules\awaymissions\pamphlet.dm" -#include "code\modules\awaymissions\trigger.dm" -#include "code\modules\awaymissions\zlevel.dm" -#include "code\modules\awaymissions\maploader\dmm_suite.dm" -#include "code\modules\awaymissions\maploader\reader.dm" -#include "code\modules\awaymissions\maploader\swapmaps.dm" -#include "code\modules\awaymissions\maploader\writer.dm" -#include "code\modules\awaymissions\mission_code\academy.dm" -#include "code\modules\awaymissions\mission_code\beach.dm" -#include "code\modules\awaymissions\mission_code\blackmarketpackers.dm" -#include "code\modules\awaymissions\mission_code\centcomAway.dm" -#include "code\modules\awaymissions\mission_code\challenge.dm" -#include "code\modules\awaymissions\mission_code\clownplanet.dm" -#include "code\modules\awaymissions\mission_code\evil_santa.dm" -#include "code\modules\awaymissions\mission_code\spacebattle.dm" -#include "code\modules\awaymissions\mission_code\stationCollision.dm" -#include "code\modules\awaymissions\mission_code\wildwest.dm" -#include "code\modules\client\asset_cache.dm" -#include "code\modules\client\client defines.dm" -#include "code\modules\client\client procs.dm" -#include "code\modules\client\message.dm" -#include "code\modules\client\preferences.dm" -#include "code\modules\client\preferences_mysql.dm" -#include "code\modules\client\preferences_spawnpoints.dm" -#include "code\modules\client\preferences_toggles.dm" -#include "code\modules\clothing\clothing.dm" -#include "code\modules\clothing\glasses\glasses.dm" -#include "code\modules\clothing\glasses\hud.dm" -#include "code\modules\clothing\gloves\boxing.dm" -#include "code\modules\clothing\gloves\color.dm" -#include "code\modules\clothing\gloves\miscellaneous.dm" -#include "code\modules\clothing\gloves\rings.dm" -#include "code\modules\clothing\head\collectable.dm" -#include "code\modules\clothing\head\hardhat.dm" -#include "code\modules\clothing\head\helmet.dm" -#include "code\modules\clothing\head\jobs.dm" -#include "code\modules\clothing\head\misc.dm" -#include "code\modules\clothing\head\misc_special.dm" -#include "code\modules\clothing\head\soft_caps.dm" -#include "code\modules\clothing\masks\boxing.dm" -#include "code\modules\clothing\masks\breath.dm" -#include "code\modules\clothing\masks\gasmask.dm" -#include "code\modules\clothing\masks\miscellaneous.dm" -#include "code\modules\clothing\masks\voice.dm" -#include "code\modules\clothing\shoes\colour.dm" -#include "code\modules\clothing\shoes\magboots.dm" -#include "code\modules\clothing\shoes\miscellaneous.dm" -#include "code\modules\clothing\spacesuits\alien.dm" -#include "code\modules\clothing\spacesuits\breaches.dm" -#include "code\modules\clothing\spacesuits\chronosuit.dm" -#include "code\modules\clothing\spacesuits\ert.dm" -#include "code\modules\clothing\spacesuits\miscellaneous.dm" -#include "code\modules\clothing\spacesuits\plasmamen.dm" -#include "code\modules\clothing\spacesuits\rig.dm" -#include "code\modules\clothing\spacesuits\syndi.dm" -#include "code\modules\clothing\spacesuits\void.dm" -#include "code\modules\clothing\spacesuits\rig\rig.dm" -#include "code\modules\clothing\spacesuits\rig\rig_attackby.dm" -#include "code\modules\clothing\spacesuits\rig\rig_pieces.dm" -#include "code\modules\clothing\spacesuits\rig\rig_verbs.dm" -#include "code\modules\clothing\spacesuits\rig\rig_wiring.dm" -#include "code\modules\clothing\spacesuits\rig\modules\combat.dm" -#include "code\modules\clothing\spacesuits\rig\modules\computer.dm" -#include "code\modules\clothing\spacesuits\rig\modules\modules.dm" -#include "code\modules\clothing\spacesuits\rig\modules\ninja.dm" -#include "code\modules\clothing\spacesuits\rig\modules\utility.dm" -#include "code\modules\clothing\spacesuits\rig\modules\vision.dm" -#include "code\modules\clothing\spacesuits\rig\suits\alien.dm" -#include "code\modules\clothing\spacesuits\rig\suits\combat.dm" -#include "code\modules\clothing\spacesuits\rig\suits\ert.dm" -#include "code\modules\clothing\spacesuits\rig\suits\light.dm" -#include "code\modules\clothing\spacesuits\rig\suits\merc.dm" -#include "code\modules\clothing\spacesuits\rig\suits\station.dm" -#include "code\modules\clothing\suits\alien.dm" -#include "code\modules\clothing\suits\armor.dm" -#include "code\modules\clothing\suits\bio.dm" -#include "code\modules\clothing\suits\jobs.dm" -#include "code\modules\clothing\suits\labcoat.dm" -#include "code\modules\clothing\suits\miscellaneous.dm" -#include "code\modules\clothing\suits\storage.dm" -#include "code\modules\clothing\suits\utility.dm" -#include "code\modules\clothing\suits\wiz_robe.dm" -#include "code\modules\clothing\under\chameleon.dm" -#include "code\modules\clothing\under\color.dm" -#include "code\modules\clothing\under\miscellaneous.dm" -#include "code\modules\clothing\under\pants.dm" -#include "code\modules\clothing\under\shorts.dm" -#include "code\modules\clothing\under\syndicate.dm" -#include "code\modules\clothing\under\accessories\accessory.dm" -#include "code\modules\clothing\under\accessories\armband.dm" -#include "code\modules\clothing\under\accessories\holster.dm" -#include "code\modules\clothing\under\accessories\storage.dm" -#include "code\modules\clothing\under\jobs\civilian.dm" -#include "code\modules\clothing\under\jobs\engineering.dm" -#include "code\modules\clothing\under\jobs\medsci.dm" -#include "code\modules\clothing\under\jobs\security.dm" -#include "code\modules\computer3\bios.dm" -#include "code\modules\computer3\buildandrepair.dm" -#include "code\modules\computer3\component.dm" -#include "code\modules\computer3\computer.dm" -#include "code\modules\computer3\computer3_notes.dm" -#include "code\modules\computer3\file.dm" -#include "code\modules\computer3\laptop.dm" -#include "code\modules\computer3\lapvend.dm" -#include "code\modules\computer3\networking.dm" -#include "code\modules\computer3\NTOS.dm" -#include "code\modules\computer3\program.dm" -#include "code\modules\computer3\program_disks.dm" -#include "code\modules\computer3\server.dm" -#include "code\modules\computer3\storage.dm" -#include "code\modules\computer3\computers\arcade.dm" -#include "code\modules\computer3\computers\atmos_alert.dm" -#include "code\modules\computer3\computers\camera.dm" -#include "code\modules\computer3\computers\card.dm" -#include "code\modules\computer3\computers\communications.dm" -#include "code\modules\computer3\computers\crew.dm" -#include "code\modules\computer3\computers\customs.dm" -#include "code\modules\computer3\computers\HolodeckControl.dm" -#include "code\modules\computer3\computers\law.dm" -#include "code\modules\computer3\computers\medical.dm" -#include "code\modules\computer3\computers\Operating.dm" -#include "code\modules\computer3\computers\power.dm" -#include "code\modules\computer3\computers\prisoner.dm" -#include "code\modules\computer3\computers\robot.dm" -#include "code\modules\computer3\computers\security.dm" -#include "code\modules\computer3\computers\welcome.dm" -#include "code\modules\crafting\guncrafting.dm" -#include "code\modules\crafting\recipes.dm" -#include "code\modules\crafting\table.dm" -#include "code\modules\customitems\item_defines.dm" -#include "code\modules\customitems\item_spawning.dm" -#include "code\modules\detective_work\detective_work.dm" -#include "code\modules\detective_work\evidence.dm" -#include "code\modules\detective_work\footprints_and_rag.dm" -#include "code\modules\detective_work\scanner.dm" -#include "code\modules\economy\Accounts.dm" -#include "code\modules\economy\Accounts_DB.dm" -#include "code\modules\economy\ATM.dm" -#include "code\modules\economy\Economy.dm" -#include "code\modules\economy\Economy_Events.dm" -#include "code\modules\economy\Economy_Events_Mundane.dm" -#include "code\modules\economy\Economy_TradeDestinations.dm" -#include "code\modules\economy\EFTPOS.dm" -#include "code\modules\economy\Job_Departments.dm" -#include "code\modules\economy\POS.dm" -#include "code\modules\economy\utils.dm" -#include "code\modules\events\alien_infestation.dm" -#include "code\modules\events\anomaly.dm" -#include "code\modules\events\anomaly_bluespace.dm" -#include "code\modules\events\anomaly_flux.dm" -#include "code\modules\events\anomaly_grav.dm" -#include "code\modules\events\anomaly_pyro.dm" -#include "code\modules\events\anomaly_vortex.dm" -#include "code\modules\events\blob.dm" -#include "code\modules\events\brand_intelligence.dm" -#include "code\modules\events\carp_migration.dm" -#include "code\modules\events\communications_blackout.dm" -#include "code\modules\events\dust.dm" -#include "code\modules\events\electrical_storm.dm" -#include "code\modules\events\event.dm" -#include "code\modules\events\event_container.dm" -#include "code\modules\events\event_manager.dm" -#include "code\modules\events\false_alarm.dm" -#include "code\modules\events\grid_check.dm" -#include "code\modules\events\immovable_rod.dm" -#include "code\modules\events\infestation.dm" -#include "code\modules\events\ion_storm.dm" -#include "code\modules\events\mass_hallucination.dm" -#include "code\modules\events\meaty_ores.dm" -#include "code\modules\events\meteors.dm" -#include "code\modules\events\money_hacker.dm" -#include "code\modules\events\money_lotto.dm" -#include "code\modules\events\money_spam.dm" -#include "code\modules\events\prison_break.dm" -#include "code\modules\events\radiation_storm.dm" -#include "code\modules\events\rogue_drones.dm" -#include "code\modules\events\slaughterevent.dm" -#include "code\modules\events\spacevine.dm" -#include "code\modules\events\spider_infestation.dm" -#include "code\modules\events\tear.dm" -#include "code\modules\events\undead.dm" -#include "code\modules\events\vent_clog.dm" -#include "code\modules\events\viral_infection.dm" -#include "code\modules\events\viral_outbreak.dm" -#include "code\modules\events\wallrot.dm" -#include "code\modules\events\wormholes.dm" -#include "code\modules\examine\examine.dm" -#include "code\modules\examine\descriptions\atmospherics.dm" -#include "code\modules\examine\descriptions\engineering.dm" -#include "code\modules\examine\descriptions\medical.dm" -#include "code\modules\examine\descriptions\mobs.dm" -#include "code\modules\examine\descriptions\stacks.dm" -#include "code\modules\examine\descriptions\structures.dm" -#include "code\modules\examine\descriptions\turfs.dm" -#include "code\modules\examine\descriptions\weapons.dm" -#include "code\modules\ext_scripts\irc.dm" -#include "code\modules\ext_scripts\python.dm" -#include "code\modules\fish\fish_eggs.dm" -#include "code\modules\fish\fish_items.dm" -#include "code\modules\fish\fishtank.dm" -#include "code\modules\flufftext\Dreaming.dm" -#include "code\modules\flufftext\Hallucination.dm" -#include "code\modules\flufftext\TextFilters.dm" -#include "code\modules\food\candy_maker.dm" -#include "code\modules\food\cereal_maker.dm" -#include "code\modules\food\cooker.dm" -#include "code\modules\food\customizables.dm" -#include "code\modules\food\deep_fryer.dm" -#include "code\modules\food\food_grill.dm" -#include "code\modules\food\grill_new.dm" -#include "code\modules\food\icecream_vat.dm" -#include "code\modules\food\oven.dm" -#include "code\modules\food\oven_new.dm" -#include "code\modules\food\recipes_candy.dm" -#include "code\modules\food\recipes_grill.dm" -#include "code\modules\food\recipes_microwave.dm" -#include "code\modules\food\recipes_oven.dm" -#include "code\modules\food\recipes_table.dm" -#include "code\modules\garbage_collection\garbage_collector.dm" -#include "code\modules\garbage_collection\gc_testing.dm" -#include "code\modules\holiday\christmas.dm" -#include "code\modules\holiday\holiday.dm" -#include "code\modules\hydroponics\grown.dm" -#include "code\modules\hydroponics\grown_inedible.dm" -#include "code\modules\hydroponics\grown_predefined.dm" -#include "code\modules\hydroponics\hydro_reagents.dm" -#include "code\modules\hydroponics\seed.dm" -#include "code\modules\hydroponics\seed_controller.dm" -#include "code\modules\hydroponics\seed_datums.dm" -#include "code\modules\hydroponics\seed_machines.dm" -#include "code\modules\hydroponics\seed_mobs.dm" -#include "code\modules\hydroponics\seed_packets.dm" -#include "code\modules\hydroponics\seed_storage.dm" -#include "code\modules\hydroponics\spreading\spreading.dm" -#include "code\modules\hydroponics\spreading\spreading_growth.dm" -#include "code\modules\hydroponics\spreading\spreading_response.dm" -#include "code\modules\hydroponics\trays\tray.dm" -#include "code\modules\hydroponics\trays\tray_apiary.dm" -#include "code\modules\hydroponics\trays\tray_process.dm" -#include "code\modules\hydroponics\trays\tray_reagents.dm" -#include "code\modules\hydroponics\trays\tray_soil.dm" -#include "code\modules\hydroponics\trays\tray_tools.dm" -#include "code\modules\hydroponics\trays\tray_update_icons.dm" -#include "code\modules\karma\karma.dm" -#include "code\modules\library\lib_items.dm" -#include "code\modules\library\lib_machines.dm" -#include "code\modules\library\lib_readme.dm" -#include "code\modules\lighting\__lighting_docs.dm" -#include "code\modules\lighting\light_source.dm" -#include "code\modules\lighting\lighting_atom.dm" -#include "code\modules\lighting\lighting_overlay.dm" -#include "code\modules\lighting\lighting_process.dm" -#include "code\modules\lighting\lighting_system.dm" -#include "code\modules\lighting\lighting_turf.dm" -#include "code\modules\media\jukebox.dm" -#include "code\modules\media\machinery.dm" -#include "code\modules\media\mediamanager.dm" -#include "code\modules\media\broadcast\receiver.dm" -#include "code\modules\media\broadcast\transmitter.dm" -#include "code\modules\media\broadcast\receivers\radio.dm" -#include "code\modules\media\broadcast\transmitters\broadcast.dm" -#include "code\modules\mining\abandonedcrates.dm" -#include "code\modules\mining\coins.dm" -#include "code\modules\mining\equipment_locker.dm" -#include "code\modules\mining\machine_input_output_plates.dm" -#include "code\modules\mining\machine_processing.dm" -#include "code\modules\mining\machine_stacking.dm" -#include "code\modules\mining\machine_unloading.dm" -#include "code\modules\mining\mine_areas.dm" -#include "code\modules\mining\mine_items.dm" -#include "code\modules\mining\mine_turfs.dm" -#include "code\modules\mining\mint.dm" -#include "code\modules\mining\money_bag.dm" -#include "code\modules\mining\ore.dm" -#include "code\modules\mining\satchel_ore_boxdm.dm" -#include "code\modules\mining\laborcamp\laborminerals.dm" -#include "code\modules\mining\laborcamp\laborshuttle.dm" -#include "code\modules\mining\laborcamp\laborstacker.dm" -#include "code\modules\mob\abilities.dm" -#include "code\modules\mob\death.dm" -#include "code\modules\mob\emote.dm" -#include "code\modules\mob\hear_say.dm" -#include "code\modules\mob\holder.dm" -#include "code\modules\mob\inventory.dm" -#include "code\modules\mob\language.dm" -#include "code\modules\mob\login.dm" -#include "code\modules\mob\logout.dm" -#include "code\modules\mob\mob.dm" -#include "code\modules\mob\mob_defines.dm" -#include "code\modules\mob\mob_grab.dm" -#include "code\modules\mob\mob_helpers.dm" -#include "code\modules\mob\mob_movement.dm" -#include "code\modules\mob\mob_transformation_simple.dm" -#include "code\modules\mob\say.dm" -#include "code\modules\mob\transform_procs.dm" -#include "code\modules\mob\typing_indicator.dm" -#include "code\modules\mob\update_icons.dm" -#include "code\modules\mob\camera\camera.dm" -#include "code\modules\mob\dead\death.dm" -#include "code\modules\mob\dead\observer\login.dm" -#include "code\modules\mob\dead\observer\logout.dm" -#include "code\modules\mob\dead\observer\observer.dm" -#include "code\modules\mob\dead\observer\say.dm" -#include "code\modules\mob\dead\observer\spells.dm" -#include "code\modules\mob\living\autohiss.dm" -#include "code\modules\mob\living\damage_procs.dm" -#include "code\modules\mob\living\default_language.dm" -#include "code\modules\mob\living\life.dm" -#include "code\modules\mob\living\living.dm" -#include "code\modules\mob\living\living_defense.dm" -#include "code\modules\mob\living\living_defines.dm" -#include "code\modules\mob\living\login.dm" -#include "code\modules\mob\living\logout.dm" -#include "code\modules\mob\living\say.dm" -#include "code\modules\mob\living\carbon\_defines.dm" -#include "code\modules\mob\living\carbon\carbon.dm" -#include "code\modules\mob\living\carbon\carbon_defenses.dm" -#include "code\modules\mob\living\carbon\carbon_defines.dm" -#include "code\modules\mob\living\carbon\death.dm" -#include "code\modules\mob\living\carbon\give.dm" -#include "code\modules\mob\living\carbon\life.dm" -#include "code\modules\mob\living\carbon\shock.dm" -#include "code\modules\mob\living\carbon\superheroes.dm" -#include "code\modules\mob\living\carbon\update_icons.dm" -#include "code\modules\mob\living\carbon\alien\alien.dm" -#include "code\modules\mob\living\carbon\alien\alien_defenses.dm" -#include "code\modules\mob\living\carbon\alien\death.dm" -#include "code\modules\mob\living\carbon\alien\life.dm" -#include "code\modules\mob\living\carbon\alien\login.dm" -#include "code\modules\mob\living\carbon\alien\logout.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\alien_powers.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\emote.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\empress.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\humanoid.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\inventory.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\life.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\login.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\queen.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\update_icons.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\caste\drone.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\caste\hunter.dm" -#include "code\modules\mob\living\carbon\alien\humanoid\caste\sentinel.dm" -#include "code\modules\mob\living\carbon\alien\larva\death.dm" -#include "code\modules\mob\living\carbon\alien\larva\emote.dm" -#include "code\modules\mob\living\carbon\alien\larva\inventory.dm" -#include "code\modules\mob\living\carbon\alien\larva\larva.dm" -#include "code\modules\mob\living\carbon\alien\larva\life.dm" -#include "code\modules\mob\living\carbon\alien\larva\powers.dm" -#include "code\modules\mob\living\carbon\alien\larva\update_icons.dm" -#include "code\modules\mob\living\carbon\alien\special\alien_embryo.dm" -#include "code\modules\mob\living\carbon\alien\special\facehugger.dm" -#include "code\modules\mob\living\carbon\brain\brain.dm" -#include "code\modules\mob\living\carbon\brain\brain_item.dm" -#include "code\modules\mob\living\carbon\brain\death.dm" -#include "code\modules\mob\living\carbon\brain\emote.dm" -#include "code\modules\mob\living\carbon\brain\life.dm" -#include "code\modules\mob\living\carbon\brain\login.dm" -#include "code\modules\mob\living\carbon\brain\MMI.dm" -#include "code\modules\mob\living\carbon\brain\posibrain.dm" -#include "code\modules\mob\living\carbon\brain\say.dm" -#include "code\modules\mob\living\carbon\human\appearance.dm" -#include "code\modules\mob\living\carbon\human\body_accessories.dm" -#include "code\modules\mob\living\carbon\human\death.dm" -#include "code\modules\mob\living\carbon\human\emote.dm" -#include "code\modules\mob\living\carbon\human\examine.dm" -#include "code\modules\mob\living\carbon\human\human.dm" -#include "code\modules\mob\living\carbon\human\human_attackalien.dm" -#include "code\modules\mob\living\carbon\human\human_attackhand.dm" -#include "code\modules\mob\living\carbon\human\human_damage.dm" -#include "code\modules\mob\living\carbon\human\human_defense.dm" -#include "code\modules\mob\living\carbon\human\human_defines.dm" -#include "code\modules\mob\living\carbon\human\human_movement.dm" -#include "code\modules\mob\living\carbon\human\human_organs.dm" -#include "code\modules\mob\living\carbon\human\inventory.dm" -#include "code\modules\mob\living\carbon\human\life.dm" -#include "code\modules\mob\living\carbon\human\login.dm" -#include "code\modules\mob\living\carbon\human\npcs.dm" -#include "code\modules\mob\living\carbon\human\say.dm" -#include "code\modules\mob\living\carbon\human\update_icons.dm" -#include "code\modules\mob\living\carbon\human\whisper.dm" -#include "code\modules\mob\living\carbon\human\species\apollo.dm" -#include "code\modules\mob\living\carbon\human\species\golem.dm" -#include "code\modules\mob\living\carbon\human\species\monkey.dm" -#include "code\modules\mob\living\carbon\human\species\plasmaman.dm" -#include "code\modules\mob\living\carbon\human\species\shadow.dm" -#include "code\modules\mob\living\carbon\human\species\skeleton.dm" -#include "code\modules\mob\living\carbon\human\species\species.dm" -#include "code\modules\mob\living\carbon\human\species\station.dm" -#include "code\modules\mob\living\carbon\slime\death.dm" -#include "code\modules\mob\living\carbon\slime\emote.dm" -#include "code\modules\mob\living\carbon\slime\examine.dm" -#include "code\modules\mob\living\carbon\slime\life.dm" -#include "code\modules\mob\living\carbon\slime\login.dm" -#include "code\modules\mob\living\carbon\slime\powers.dm" -#include "code\modules\mob\living\carbon\slime\say.dm" -#include "code\modules\mob\living\carbon\slime\slime.dm" -#include "code\modules\mob\living\carbon\slime\subtypes.dm" -#include "code\modules\mob\living\carbon\slime\update_icons.dm" -#include "code\modules\mob\living\silicon\death.dm" -#include "code\modules\mob\living\silicon\emote.dm" -#include "code\modules\mob\living\silicon\laws.dm" -#include "code\modules\mob\living\silicon\login.dm" -#include "code\modules\mob\living\silicon\say.dm" -#include "code\modules\mob\living\silicon\silicon.dm" -#include "code\modules\mob\living\silicon\subsystems.dm" -#include "code\modules\mob\living\silicon\ai\ai.dm" -#include "code\modules\mob\living\silicon\ai\death.dm" -#include "code\modules\mob\living\silicon\ai\examine.dm" -#include "code\modules\mob\living\silicon\ai\latejoin.dm" -#include "code\modules\mob\living\silicon\ai\laws.dm" -#include "code\modules\mob\living\silicon\ai\life.dm" -#include "code\modules\mob\living\silicon\ai\login.dm" -#include "code\modules\mob\living\silicon\ai\logout.dm" -#include "code\modules\mob\living\silicon\ai\say.dm" -#include "code\modules\mob\living\silicon\ai\freelook\cameranet.dm" -#include "code\modules\mob\living\silicon\ai\freelook\chunk.dm" -#include "code\modules\mob\living\silicon\ai\freelook\eye.dm" -#include "code\modules\mob\living\silicon\ai\freelook\read_me.dm" -#include "code\modules\mob\living\silicon\decoy\death.dm" -#include "code\modules\mob\living\silicon\decoy\decoy.dm" -#include "code\modules\mob\living\silicon\decoy\life.dm" -#include "code\modules\mob\living\silicon\pai\death.dm" -#include "code\modules\mob\living\silicon\pai\emote.dm" -#include "code\modules\mob\living\silicon\pai\examine.dm" -#include "code\modules\mob\living\silicon\pai\life.dm" -#include "code\modules\mob\living\silicon\pai\pai.dm" -#include "code\modules\mob\living\silicon\pai\personality.dm" -#include "code\modules\mob\living\silicon\pai\recruit.dm" -#include "code\modules\mob\living\silicon\pai\say.dm" -#include "code\modules\mob\living\silicon\pai\software.dm" -#include "code\modules\mob\living\silicon\pai\software_modules.dm" -#include "code\modules\mob\living\silicon\robot\component.dm" -#include "code\modules\mob\living\silicon\robot\death.dm" -#include "code\modules\mob\living\silicon\robot\emote.dm" -#include "code\modules\mob\living\silicon\robot\examine.dm" -#include "code\modules\mob\living\silicon\robot\inventory.dm" -#include "code\modules\mob\living\silicon\robot\laws.dm" -#include "code\modules\mob\living\silicon\robot\life.dm" -#include "code\modules\mob\living\silicon\robot\login.dm" -#include "code\modules\mob\living\silicon\robot\photos.dm" -#include "code\modules\mob\living\silicon\robot\robot.dm" -#include "code\modules\mob\living\silicon\robot\robot_damage.dm" -#include "code\modules\mob\living\silicon\robot\robot_items.dm" -#include "code\modules\mob\living\silicon\robot\robot_modules.dm" -#include "code\modules\mob\living\silicon\robot\robot_movement.dm" -#include "code\modules\mob\living\silicon\robot\drone\drone.dm" -#include "code\modules\mob\living\silicon\robot\drone\drone_abilities.dm" -#include "code\modules\mob\living\silicon\robot\drone\drone_console.dm" -#include "code\modules\mob\living\silicon\robot\drone\drone_damage.dm" -#include "code\modules\mob\living\silicon\robot\drone\drone_items.dm" -#include "code\modules\mob\living\silicon\robot\drone\drone_manufacturer.dm" -#include "code\modules\mob\living\silicon\robot\drone\drone_say.dm" -#include "code\modules\mob\living\simple_animal\bees.dm" -#include "code\modules\mob\living\simple_animal\constructs.dm" -#include "code\modules\mob\living\simple_animal\corpse.dm" -#include "code\modules\mob\living\simple_animal\parrot.dm" -#include "code\modules\mob\living\simple_animal\pony.dm" -#include "code\modules\mob\living\simple_animal\powers.dm" -#include "code\modules\mob\living\simple_animal\shade.dm" -#include "code\modules\mob\living\simple_animal\simple_animal.dm" -#include "code\modules\mob\living\simple_animal\tribbles.dm" -#include "code\modules\mob\living\simple_animal\vox.dm" -#include "code\modules\mob\living\simple_animal\friendly\butterfly.dm" -#include "code\modules\mob\living\simple_animal\friendly\cat.dm" -#include "code\modules\mob\living\simple_animal\friendly\corgi.dm" -#include "code\modules\mob\living\simple_animal\friendly\corgi_powers.dm" -#include "code\modules\mob\living\simple_animal\friendly\crab.dm" -#include "code\modules\mob\living\simple_animal\friendly\deer.dm" -#include "code\modules\mob\living\simple_animal\friendly\diona.dm" -#include "code\modules\mob\living\simple_animal\friendly\farm_animals.dm" -#include "code\modules\mob\living\simple_animal\friendly\fox.dm" -#include "code\modules\mob\living\simple_animal\friendly\lizard.dm" -#include "code\modules\mob\living\simple_animal\friendly\mouse.dm" -#include "code\modules\mob\living\simple_animal\friendly\pet.dm" -#include "code\modules\mob\living\simple_animal\friendly\pug.dm" -#include "code\modules\mob\living\simple_animal\friendly\slime.dm" -#include "code\modules\mob\living\simple_animal\friendly\spiderbot.dm" -#include "code\modules\mob\living\simple_animal\friendly\tomato.dm" -#include "code\modules\mob\living\simple_animal\hostile\alien.dm" -#include "code\modules\mob\living\simple_animal\hostile\bat.dm" -#include "code\modules\mob\living\simple_animal\hostile\bear.dm" -#include "code\modules\mob\living\simple_animal\hostile\carp.dm" -#include "code\modules\mob\living\simple_animal\hostile\creature.dm" -#include "code\modules\mob\living\simple_animal\hostile\faithless.dm" -#include "code\modules\mob\living\simple_animal\hostile\giant_spider.dm" -#include "code\modules\mob\living\simple_animal\hostile\hivebot.dm" -#include "code\modules\mob\living\simple_animal\hostile\hostile.dm" -#include "code\modules\mob\living\simple_animal\hostile\jungle_animals.dm" -#include "code\modules\mob\living\simple_animal\hostile\mimic.dm" -#include "code\modules\mob\living\simple_animal\hostile\mining_mobs.dm" -#include "code\modules\mob\living\simple_animal\hostile\mushroom.dm" -#include "code\modules\mob\living\simple_animal\hostile\pirate.dm" -#include "code\modules\mob\living\simple_animal\hostile\poison_bees.dm" -#include "code\modules\mob\living\simple_animal\hostile\russian.dm" -#include "code\modules\mob\living\simple_animal\hostile\spaceworms.dm" -#include "code\modules\mob\living\simple_animal\hostile\statue.dm" -#include "code\modules\mob\living\simple_animal\hostile\syndicate.dm" -#include "code\modules\mob\living\simple_animal\hostile\tree.dm" -#include "code\modules\mob\living\simple_animal\hostile\winter_mobs.dm" -#include "code\modules\mob\living\simple_animal\hostile\retaliate\clown.dm" -#include "code\modules\mob\living\simple_animal\hostile\retaliate\drone.dm" -#include "code\modules\mob\living\simple_animal\hostile\retaliate\fish.dm" -#include "code\modules\mob\living\simple_animal\hostile\retaliate\pet.dm" -#include "code\modules\mob\living\simple_animal\hostile\retaliate\retaliate.dm" -#include "code\modules\mob\living\simple_animal\hostile\retaliate\undead.dm" -#include "code\modules\mob\new_player\login.dm" -#include "code\modules\mob\new_player\logout.dm" -#include "code\modules\mob\new_player\new_player.dm" -#include "code\modules\mob\new_player\poll.dm" -#include "code\modules\mob\new_player\preferences_setup.dm" -#include "code\modules\mob\new_player\sprite_accessories.dm" -#include "code\modules\mob\spirit\cultnet.dm" -#include "code\modules\mob\spirit\movement.dm" -#include "code\modules\mob\spirit\spirit.dm" -#include "code\modules\mob\spirit\viewpoint.dm" -#include "code\modules\mob\spirit\mask\mask.dm" -#include "code\modules\mob\spirit\mask\respawn.dm" -#include "code\modules\nano\_JSON.dm" -#include "code\modules\nano\JSON Reader.dm" -#include "code\modules\nano\JSON Writer.dm" -#include "code\modules\nano\nanoexternal.dm" -#include "code\modules\nano\nanomanager.dm" -#include "code\modules\nano\nanomapgen.dm" -#include "code\modules\nano\nanoui.dm" -#include "code\modules\nano\interaction\admin.dm" -#include "code\modules\nano\interaction\base.dm" -#include "code\modules\nano\interaction\conscious.dm" -#include "code\modules\nano\interaction\contained.dm" -#include "code\modules\nano\interaction\default.dm" -#include "code\modules\nano\interaction\inventory.dm" -#include "code\modules\nano\interaction\inventory_deep.dm" -#include "code\modules\nano\interaction\physical.dm" -#include "code\modules\nano\interaction\self.dm" -#include "code\modules\nano\interaction\zlevel.dm" -#include "code\modules\nano\modules\alarm_monitor.dm" -#include "code\modules\nano\modules\atmos_control.dm" -#include "code\modules\nano\modules\crew_monitor.dm" -#include "code\modules\nano\modules\human_appearance.dm" -#include "code\modules\nano\modules\law_manager.dm" -#include "code\modules\nano\modules\nano_module.dm" -#include "code\modules\nano\modules\power_monitor.dm" -#include "code\modules\nano\modules\virus2_creator.dm" -#include "code\modules\ninja\energy_katana.dm" -#include "code\modules\ninja\suit\gloves.dm" -#include "code\modules\ninja\suit\head.dm" -#include "code\modules\ninja\suit\mask.dm" -#include "code\modules\ninja\suit\shoes.dm" -#include "code\modules\ninja\suit\suit.dm" -#include "code\modules\ninja\suit\suit_initialisation.dm" -#include "code\modules\paperwork\carbonpaper.dm" -#include "code\modules\paperwork\clipboard.dm" -#include "code\modules\paperwork\fax.dm" -#include "code\modules\paperwork\faxmachine.dm" -#include "code\modules\paperwork\filingcabinet.dm" -#include "code\modules\paperwork\folders.dm" -#include "code\modules\paperwork\frames.dm" -#include "code\modules\paperwork\handlabeler.dm" -#include "code\modules\paperwork\paper.dm" -#include "code\modules\paperwork\paper_bundle.dm" -#include "code\modules\paperwork\paperbin.dm" -#include "code\modules\paperwork\pen.dm" -#include "code\modules\paperwork\photocopier.dm" -#include "code\modules\paperwork\photography.dm" -#include "code\modules\paperwork\silicon_photography.dm" -#include "code\modules\paperwork\stamps.dm" -#include "code\modules\pda\ai.dm" -#include "code\modules\pda\app.dm" -#include "code\modules\pda\cart.dm" -#include "code\modules\pda\cart_apps.dm" -#include "code\modules\pda\chatroom.dm" -#include "code\modules\pda\core_apps.dm" -#include "code\modules\pda\messenger.dm" -#include "code\modules\pda\messenger_plugins.dm" -#include "code\modules\pda\PDA.dm" -#include "code\modules\pda\pdas.dm" -#include "code\modules\pda\radio.dm" -#include "code\modules\pda\utilities.dm" -#include "code\modules\pooling\pool.dm" -#include "code\modules\power\apc.dm" -#include "code\modules\power\cable.dm" -#include "code\modules\power\cable_heavyduty.dm" -#include "code\modules\power\cable_logic.dm" -#include "code\modules\power\cell.dm" -#include "code\modules\power\engine.dm" -#include "code\modules\power\generator.dm" -#include "code\modules\power\generator_type2.dm" -#include "code\modules\power\gravitygenerator.dm" -#include "code\modules\power\lighting.dm" -#include "code\modules\power\port_gen.dm" -#include "code\modules\power\power.dm" -#include "code\modules\power\powernet.dm" -#include "code\modules\power\smes.dm" -#include "code\modules\power\solar.dm" -#include "code\modules\power\switch.dm" -#include "code\modules\power\terminal.dm" -#include "code\modules\power\tracker.dm" -#include "code\modules\power\turbine.dm" -#include "code\modules\power\singularity\collector.dm" -#include "code\modules\power\singularity\containment_field.dm" -#include "code\modules\power\singularity\emitter.dm" -#include "code\modules\power\singularity\field_generator.dm" -#include "code\modules\power\singularity\generator.dm" -#include "code\modules\power\singularity\investigate.dm" -#include "code\modules\power\singularity\narsie.dm" -#include "code\modules\power\singularity\singularity.dm" -#include "code\modules\power\singularity\particle_accelerator\particle.dm" -#include "code\modules\power\singularity\particle_accelerator\particle_accelerator.dm" -#include "code\modules\power\singularity\particle_accelerator\particle_chamber.dm" -#include "code\modules\power\singularity\particle_accelerator\particle_control.dm" -#include "code\modules\power\singularity\particle_accelerator\particle_emitter.dm" -#include "code\modules\power\singularity\particle_accelerator\particle_power.dm" -#include "code\modules\power\supermatter\supermatter.dm" -#include "code\modules\power\tesla\coil.dm" -#include "code\modules\power\tesla\energy_ball.dm" -#include "code\modules\power\tesla\generator.dm" -#include "code\modules\procedural_mapping\mapGenerator.dm" -#include "code\modules\procedural_mapping\mapGeneratorModule.dm" -#include "code\modules\procedural_mapping\mapGeneratorReadme.dm" -#include "code\modules\procedural_mapping\mapGeneratorModules\helpers.dm" -#include "code\modules\procedural_mapping\mapGeneratorModules\nature.dm" -#include "code\modules\procedural_mapping\mapGenerators\asteroid.dm" -#include "code\modules\procedural_mapping\mapGenerators\nature.dm" -#include "code\modules\procedural_mapping\mapGenerators\syndicate.dm" -#include "code\modules\projectiles\ammunition.dm" -#include "code\modules\projectiles\gun.dm" -#include "code\modules\projectiles\medbeam.dm" -#include "code\modules\projectiles\projectile.dm" -#include "code\modules\projectiles\targeting.dm" -#include "code\modules\projectiles\ammunition\ammo_casings.dm" -#include "code\modules\projectiles\ammunition\boxes.dm" -#include "code\modules\projectiles\ammunition\magazines.dm" -#include "code\modules\projectiles\guns\alien.dm" -#include "code\modules\projectiles\guns\energy.dm" -#include "code\modules\projectiles\guns\magic.dm" -#include "code\modules\projectiles\guns\mounted.dm" -#include "code\modules\projectiles\guns\projectile.dm" -#include "code\modules\projectiles\guns\syringe_gun.dm" -#include "code\modules\projectiles\guns\energy\advtaser.dm" -#include "code\modules\projectiles\guns\energy\blueshield.dm" -#include "code\modules\projectiles\guns\energy\hos.dm" -#include "code\modules\projectiles\guns\energy\laser.dm" -#include "code\modules\projectiles\guns\energy\nuclear.dm" -#include "code\modules\projectiles\guns\energy\pulse.dm" -#include "code\modules\projectiles\guns\energy\special.dm" -#include "code\modules\projectiles\guns\energy\stun.dm" -#include "code\modules\projectiles\guns\energy\telegun.dm" -#include "code\modules\projectiles\guns\energy\temperature.dm" -#include "code\modules\projectiles\guns\magic\staff.dm" -#include "code\modules\projectiles\guns\magic\wand.dm" -#include "code\modules\projectiles\guns\projectile\automatic.dm" -#include "code\modules\projectiles\guns\projectile\crossbow.dm" -#include "code\modules\projectiles\guns\projectile\grenade launcher.dm" -#include "code\modules\projectiles\guns\projectile\launchers.dm" -#include "code\modules\projectiles\guns\projectile\pistol.dm" -#include "code\modules\projectiles\guns\projectile\revolver.dm" -#include "code\modules\projectiles\guns\projectile\rocket.dm" -#include "code\modules\projectiles\guns\projectile\shotgun.dm" -#include "code\modules\projectiles\projectile\beams.dm" -#include "code\modules\projectiles\projectile\bullets.dm" -#include "code\modules\projectiles\projectile\energy.dm" -#include "code\modules\projectiles\projectile\force.dm" -#include "code\modules\projectiles\projectile\magic.dm" -#include "code\modules\projectiles\projectile\special.dm" -#include "code\modules\reagents\Chemistry-Colours.dm" -#include "code\modules\reagents\Chemistry-Holder.dm" -#include "code\modules\reagents\Chemistry-Machinery.dm" -#include "code\modules\reagents\Chemistry-Readme.dm" -#include "code\modules\reagents\dartgun.dm" -#include "code\modules\reagents\grenade_launcher.dm" -#include "code\modules\reagents\reagent_containers.dm" -#include "code\modules\reagents\reagent_dispenser.dm" -#include "code\modules\reagents\newchem\Blob-Reagents.dm" -#include "code\modules\reagents\newchem\chem_heater.dm" -#include "code\modules\reagents\newchem\drinks.dm" -#include "code\modules\reagents\newchem\drugs.dm" -#include "code\modules\reagents\newchem\food.dm" -#include "code\modules\reagents\newchem\medicine.dm" -#include "code\modules\reagents\newchem\newchem_procs.dm" -#include "code\modules\reagents\newchem\other.dm" -#include "code\modules\reagents\newchem\patch.dm" -#include "code\modules\reagents\newchem\pyro.dm" -#include "code\modules\reagents\newchem\toxins.dm" -#include "code\modules\reagents\oldchem\chemical_reaction\_chemical_reaction_base.dm" -#include "code\modules\reagents\oldchem\chemical_reaction\chemical_reaction_drink.dm" -#include "code\modules\reagents\oldchem\chemical_reaction\chemical_reaction_food.dm" -#include "code\modules\reagents\oldchem\chemical_reaction\chemical_reaction_harm.dm" -#include "code\modules\reagents\oldchem\chemical_reaction\chemical_reaction_med.dm" -#include "code\modules\reagents\oldchem\chemical_reaction\chemical_reaction_misc.dm" -#include "code\modules\reagents\oldchem\chemical_reaction\chemical_reaction_slime.dm" -#include "code\modules\reagents\oldchem\reagents\__oldchem_defines.dm" -#include "code\modules\reagents\oldchem\reagents\_reagent_base.dm" -#include "code\modules\reagents\oldchem\reagents\reagents_admin.dm" -#include "code\modules\reagents\oldchem\reagents\reagents_drugs.dm" -#include "code\modules\reagents\oldchem\reagents\reagents_flammable.dm" -#include "code\modules\reagents\oldchem\reagents\reagents_food.dm" -#include "code\modules\reagents\oldchem\reagents\reagents_med.dm" -#include "code\modules\reagents\oldchem\reagents\reagents_misc.dm" -#include "code\modules\reagents\oldchem\reagents\reagents_toxin.dm" -#include "code\modules\reagents\oldchem\reagents\reagents_water.dm" -#include "code\modules\reagents\oldchem\reagents\drink\reagents_alcohol.dm" -#include "code\modules\reagents\oldchem\reagents\drink\reagents_drink.dm" -#include "code\modules\reagents\oldchem\reagents\drink\reagents_drink_base.dm" -#include "code\modules\reagents\oldchem\reagents\drink\reagents_drink_cold.dm" -#include "code\modules\reagents\reagent_containers\blood_pack.dm" -#include "code\modules\reagents\reagent_containers\borghydro.dm" -#include "code\modules\reagents\reagent_containers\dropper.dm" -#include "code\modules\reagents\reagent_containers\drugs.dm" -#include "code\modules\reagents\reagent_containers\food.dm" -#include "code\modules\reagents\reagent_containers\glass_containers.dm" -#include "code\modules\reagents\reagent_containers\hypospray.dm" -#include "code\modules\reagents\reagent_containers\pill.dm" -#include "code\modules\reagents\reagent_containers\robodropper.dm" -#include "code\modules\reagents\reagent_containers\spray.dm" -#include "code\modules\reagents\reagent_containers\syringes.dm" -#include "code\modules\reagents\reagent_containers\food\cans.dm" -#include "code\modules\reagents\reagent_containers\food\condiment.dm" -#include "code\modules\reagents\reagent_containers\food\drinks.dm" -#include "code\modules\reagents\reagent_containers\food\sandwich.dm" -#include "code\modules\reagents\reagent_containers\food\snacks.dm" -#include "code\modules\reagents\reagent_containers\food\drinks\bottle.dm" -#include "code\modules\reagents\reagent_containers\food\drinks\drinkingglass.dm" -#include "code\modules\reagents\reagent_containers\food\drinks\jar.dm" -#include "code\modules\reagents\reagent_containers\food\drinks\bottle\robot.dm" -#include "code\modules\reagents\reagent_containers\food\snacks\candy.dm" -#include "code\modules\reagents\reagent_containers\food\snacks\meat.dm" -#include "code\modules\reagents\reagent_containers\food\snacks\seafood.dm" -#include "code\modules\reagents\reagent_containers\glass\bottle.dm" -#include "code\modules\reagents\reagent_containers\glass\bottle\robot.dm" -#include "code\modules\recycling\conveyor2.dm" -#include "code\modules\recycling\disposal-construction.dm" -#include "code\modules\recycling\disposal.dm" -#include "code\modules\recycling\sortingmachinery.dm" -#include "code\modules\research\circuitprinter.dm" -#include "code\modules\research\designs.dm" -#include "code\modules\research\destructive_analyzer.dm" -#include "code\modules\research\experimentor.dm" -#include "code\modules\research\message_server.dm" -#include "code\modules\research\protolathe.dm" -#include "code\modules\research\rd-readme.dm" -#include "code\modules\research\rdconsole.dm" -#include "code\modules\research\rdmachines.dm" -#include "code\modules\research\research.dm" -#include "code\modules\research\server.dm" -#include "code\modules\research\designs\AI_module_designs.dm" -#include "code\modules\research\designs\autolathe_designs.dm" -#include "code\modules\research\designs\bluespace_designs.dm" -#include "code\modules\research\designs\comp_board_designs.dm" -#include "code\modules\research\designs\equipment_designs.dm" -#include "code\modules\research\designs\janitorial_designs.dm" -#include "code\modules\research\designs\machine_designs.dm" -#include "code\modules\research\designs\mecha_designs.dm" -#include "code\modules\research\designs\mechfabricator_designs.dm" -#include "code\modules\research\designs\medical_designs.dm" -#include "code\modules\research\designs\mining_designs.dm" -#include "code\modules\research\designs\misc_designs.dm" -#include "code\modules\research\designs\power_designs.dm" -#include "code\modules\research\designs\spacepod_designs.dm" -#include "code\modules\research\designs\stock_parts_designs.dm" -#include "code\modules\research\designs\telecomms_designs.dm" -#include "code\modules\research\designs\weapon_designs.dm" -#include "code\modules\research\xenoarchaeology\areas.dm" -#include "code\modules\research\xenoarchaeology\chemistry.dm" -#include "code\modules\research\xenoarchaeology\geosample.dm" -#include "code\modules\research\xenoarchaeology\manuals.dm" -#include "code\modules\research\xenoarchaeology\master_controller.dm" -#include "code\modules\research\xenoarchaeology\misc.dm" -#include "code\modules\research\xenoarchaeology\readme.dm" -#include "code\modules\research\xenoarchaeology\artifact\artifact.dm" -#include "code\modules\research\xenoarchaeology\artifact\artifact_autocloner.dm" -#include "code\modules\research\xenoarchaeology\artifact\artifact_crystal.dm" -#include "code\modules\research\xenoarchaeology\artifact\artifact_gigadrill.dm" -#include "code\modules\research\xenoarchaeology\artifact\artifact_hoverpod.dm" -#include "code\modules\research\xenoarchaeology\artifact\artifact_replicator.dm" -#include "code\modules\research\xenoarchaeology\artifact\artifact_unknown.dm" -#include "code\modules\research\xenoarchaeology\artifact\effect.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_affect_cold.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_badfeeling.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_cellcharge.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_celldrain.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_dnaswitch.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_emp.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_goodfeeling.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_heal.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_heat.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_hurt.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_radiate.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_roboheal.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_robohurt.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_sleepy.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_stun.dm" -#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_teleport.dm" -#include "code\modules\research\xenoarchaeology\finds\finds.dm" -#include "code\modules\research\xenoarchaeology\finds\finds_defines.dm" -#include "code\modules\research\xenoarchaeology\finds\finds_fossils.dm" -#include "code\modules\research\xenoarchaeology\finds\finds_misc.dm" -#include "code\modules\research\xenoarchaeology\finds\finds_special.dm" -#include "code\modules\research\xenoarchaeology\finds\finds_talkingitem.dm" -#include "code\modules\research\xenoarchaeology\genetics\prehistoric_animals.dm" -#include "code\modules\research\xenoarchaeology\genetics\reconstitutor.dm" -#include "code\modules\research\xenoarchaeology\machinery\artifact_analyser.dm" -#include "code\modules\research\xenoarchaeology\machinery\artifact_harvester.dm" -#include "code\modules\research\xenoarchaeology\machinery\artifact_scanner.dm" -#include "code\modules\research\xenoarchaeology\machinery\coolant.dm" -#include "code\modules\research\xenoarchaeology\machinery\geosample_scanner.dm" -#include "code\modules\research\xenoarchaeology\tools\ano_device_battery.dm" -#include "code\modules\research\xenoarchaeology\tools\anomaly_suit.dm" -#include "code\modules\research\xenoarchaeology\tools\bunsen_burner.dm" -#include "code\modules\research\xenoarchaeology\tools\gearbelt.dm" -#include "code\modules\research\xenoarchaeology\tools\suspension_generator.dm" -#include "code\modules\research\xenoarchaeology\tools\tools.dm" -#include "code\modules\research\xenoarchaeology\tools\tools_anoscanner.dm" -#include "code\modules\research\xenoarchaeology\tools\tools_coresampler.dm" -#include "code\modules\research\xenoarchaeology\tools\tools_depthscanner.dm" -#include "code\modules\research\xenoarchaeology\tools\tools_locater.dm" -#include "code\modules\research\xenoarchaeology\tools\tools_pickaxe.dm" -#include "code\modules\research\xenobiology\xenobiology.dm" -#include "code\modules\scripting\Errors.dm" -#include "code\modules\scripting\Options.dm" -#include "code\modules\scripting\AST\AST Nodes.dm" -#include "code\modules\scripting\AST\Blocks.dm" -#include "code\modules\scripting\AST\Statements.dm" -#include "code\modules\scripting\AST\Operators\Binary Operators.dm" -#include "code\modules\scripting\AST\Operators\Unary Operators.dm" -#include "code\modules\scripting\Implementations\_Logic.dm" -#include "code\modules\scripting\Implementations\Telecomms.dm" -#include "code\modules\scripting\Interpreter\Evaluation.dm" -#include "code\modules\scripting\Interpreter\Interaction.dm" -#include "code\modules\scripting\Interpreter\Interpreter.dm" -#include "code\modules\scripting\Interpreter\Scope.dm" -#include "code\modules\scripting\Parser\Expressions.dm" -#include "code\modules\scripting\Parser\Keywords.dm" -#include "code\modules\scripting\Parser\Parser.dm" -#include "code\modules\scripting\Scanner\Scanner.dm" -#include "code\modules\scripting\Scanner\Tokens.dm" -#include "code\modules\security_levels\keycard authentication.dm" -#include "code\modules\security_levels\security levels.dm" -#include "code\modules\shuttle\shuttle.dm" -#include "code\modules\space_transition\space_transition.dm" -#include "code\modules\store\items.dm" -#include "code\modules\store\store.dm" -#include "code\modules\surgery\bones.dm" -#include "code\modules\surgery\encased.dm" -#include "code\modules\surgery\face.dm" -#include "code\modules\surgery\generic.dm" -#include "code\modules\surgery\helpers.dm" -#include "code\modules\surgery\implant.dm" -#include "code\modules\surgery\limb_reattach.dm" -#include "code\modules\surgery\organs_internal.dm" -#include "code\modules\surgery\other.dm" -#include "code\modules\surgery\robotics.dm" -#include "code\modules\surgery\slime.dm" -#include "code\modules\surgery\surgery.dm" -#include "code\modules\surgery\tools.dm" -#include "code\modules\surgery\organs\augments_eyes.dm" -#include "code\modules\surgery\organs\augments_internal.dm" -#include "code\modules\surgery\organs\blood.dm" -#include "code\modules\surgery\organs\body_egg.dm" -#include "code\modules\surgery\organs\helpers.dm" -#include "code\modules\surgery\organs\organ.dm" -#include "code\modules\surgery\organs\organ_external.dm" -#include "code\modules\surgery\organs\organ_icon.dm" -#include "code\modules\surgery\organs\organ_internal.dm" -#include "code\modules\surgery\organs\organ_stump.dm" -#include "code\modules\surgery\organs\pain.dm" -#include "code\modules\surgery\organs\robolimbs.dm" -#include "code\modules\surgery\organs\skeleton.dm" -#include "code\modules\surgery\organs\wound.dm" -#include "code\modules\surgery\organs\subtypes\diona.dm" -#include "code\modules\surgery\organs\subtypes\machine.dm" -#include "code\modules\surgery\organs\subtypes\misc.dm" -#include "code\modules\surgery\organs\subtypes\nucleation.dm" -#include "code\modules\surgery\organs\subtypes\standard.dm" -#include "code\modules\surgery\organs\subtypes\unbreakable.dm" -#include "code\modules\surgery\organs\subtypes\wryn.dm" -#include "code\modules\surgery\organs\subtypes\xenos.dm" -#include "code\modules\telesci\bscrystal.dm" -#include "code\modules\telesci\gps.dm" -#include "code\modules\telesci\telepad.dm" -#include "code\modules\telesci\telesci_computer.dm" -#include "code\modules\tram\tram.dm" -#include "code\modules\tram\tram_control_pad.dm" -#include "code\modules\tram\tram_floor.dm" -#include "code\modules\tram\tram_rail.dm" -#include "code\modules\tram\tram_wall.dm" -#include "code\modules\vehicle\vehicle.dm" -#include "code\modules\vehicle\train\train.dm" -#include "code\modules\vehicle\train\trains\ambulance.dm" -#include "code\modules\vehicle\train\trains\cargo\cargo_train.dm" -#include "code\modules\vehicle\train\trains\cargo\cargo_subtypes\fourwheeler.dm" -#include "code\modules\vehicle\train\trains\cargo\cargo_subtypes\motorcycle.dm" -#include "code\modules\vehicle\train\trains\cargo\cargo_subtypes\sportscar.dm" -#include "code\modules\virus2\analyser.dm" -#include "code\modules\virus2\antibodies.dm" -#include "code\modules\virus2\centrifuge.dm" -#include "code\modules\virus2\curer.dm" -#include "code\modules\virus2\disease2.dm" -#include "code\modules\virus2\diseasesplicer.dm" -#include "code\modules\virus2\dishincubator.dm" -#include "code\modules\virus2\effect.dm" -#include "code\modules\virus2\helpers.dm" -#include "code\modules\virus2\isolator.dm" -#include "code\modules\virus2\items_devices.dm" -#include "interface\interface.dm" -#include "interface\stylesheet.dm" -#include "interface\skin.dmf" -// END_INCLUDE +// DM Environment file for paradise.dme. +// All manual changes should be made outside the BEGIN_ and END_ blocks. + // New source code should be placed in .dm files: choose File/New --> Code File. +// BEGIN_INTERNALS +// END_INTERNALS +// BEGIN_FILE_DIR +#define FILE_DIR . +// END_FILE_DIR +// BEGIN_PREFERENCES +#define DEBUG +// END_PREFERENCES +// BEGIN_INCLUDE +#include "_maps\cyberiad.dm" +#include "code\_compile_options.dm" +#include "code\hub.dm" +#include "code\world.dm" +#include "code\__DEFINES\_readme.dm" +#include "code\__DEFINES\admin.dm" +#include "code\__DEFINES\atmospherics.dm" +#include "code\__DEFINES\btime.dm" +#include "code\__DEFINES\clothing.dm" +#include "code\__DEFINES\combat.dm" +#include "code\__DEFINES\flags.dm" +#include "code\__DEFINES\game.dm" +#include "code\__DEFINES\genetics.dm" +#include "code\__DEFINES\hud.dm" +#include "code\__DEFINES\hydroponics.dm" +#include "code\__DEFINES\is_helpers.dm" +#include "code\__DEFINES\language.dm" +#include "code\__DEFINES\lighting.dm" +#include "code\__DEFINES\machines.dm" +#include "code\__DEFINES\math.dm" +#include "code\__DEFINES\misc.dm" +#include "code\__DEFINES\mob.dm" +#include "code\__DEFINES\pda.dm" +#include "code\__DEFINES\preferences.dm" +#include "code\__DEFINES\process_scheduler.dm" +#include "code\__DEFINES\qdel.dm" +#include "code\__DEFINES\role_preferences.dm" +#include "code\__DEFINES\sight.dm" +#include "code\__DEFINES\stat.dm" +#include "code\__HELPERS\_string_lists.dm" +#include "code\__HELPERS\constants.dm" +#include "code\__HELPERS\experimental.dm" +#include "code\__HELPERS\files.dm" +#include "code\__HELPERS\game.dm" +#include "code\__HELPERS\global_lists.dm" +#include "code\__HELPERS\icon_smoothing.dm" +#include "code\__HELPERS\icons.dm" +#include "code\__HELPERS\lists.dm" +#include "code\__HELPERS\logging.dm" +#include "code\__HELPERS\maths.dm" +#include "code\__HELPERS\matrices.dm" +#include "code\__HELPERS\mobs.dm" +#include "code\__HELPERS\names.dm" +#include "code\__HELPERS\sanitize_values.dm" +#include "code\__HELPERS\text.dm" +#include "code\__HELPERS\time.dm" +#include "code\__HELPERS\timed_alerts.dm" +#include "code\__HELPERS\type2type.dm" +#include "code\__HELPERS\unsorted.dm" +#include "code\__HELPERS\bygex\bygex.dm" +#include "code\_DATASTRUCTURES\heap.dm" +#include "code\_DATASTRUCTURES\linked_lists.dm" +#include "code\_DATASTRUCTURES\priority_queue.dm" +#include "code\_DATASTRUCTURES\stacks.dm" +#include "code\_globalvars\configuration.dm" +#include "code\_globalvars\database.dm" +#include "code\_globalvars\game_modes.dm" +#include "code\_globalvars\genetics.dm" +#include "code\_globalvars\logging.dm" +#include "code\_globalvars\mapping.dm" +#include "code\_globalvars\misc.dm" +#include "code\_globalvars\station.dm" +#include "code\_globalvars\unused.dm" +#include "code\_globalvars\lists\flavor_misc.dm" +#include "code\_globalvars\lists\misc.dm" +#include "code\_globalvars\lists\mobs.dm" +#include "code\_globalvars\lists\names.dm" +#include "code\_globalvars\lists\objects.dm" +#include "code\_globalvars\lists\reagents.dm" +#include "code\_hooks\area.dm" +#include "code\_hooks\hooks.dm" +#include "code\_hooks\mob.dm" +#include "code\_onclick\adjacent.dm" +#include "code\_onclick\ai.dm" +#include "code\_onclick\click.dm" +#include "code\_onclick\click_override.dm" +#include "code\_onclick\cyborg.dm" +#include "code\_onclick\drag_drop.dm" +#include "code\_onclick\item_attack.dm" +#include "code\_onclick\observer.dm" +#include "code\_onclick\other_mobs.dm" +#include "code\_onclick\overmind.dm" +#include "code\_onclick\rig.dm" +#include "code\_onclick\telekinesis.dm" +#include "code\_onclick\hud\_defines.dm" +#include "code\_onclick\hud\action.dm" +#include "code\_onclick\hud\ai.dm" +#include "code\_onclick\hud\alien.dm" +#include "code\_onclick\hud\alien_larva.dm" +#include "code\_onclick\hud\hud.dm" +#include "code\_onclick\hud\human.dm" +#include "code\_onclick\hud\monkey.dm" +#include "code\_onclick\hud\movable_screen_objects.dm" +#include "code\_onclick\hud\other_mobs.dm" +#include "code\_onclick\hud\robot.dm" +#include "code\_onclick\hud\screen_objects.dm" +#include "code\ATMOSPHERICS\atmospherics.dm" +#include "code\ATMOSPHERICS\datum_icon_manager.dm" +#include "code\ATMOSPHERICS\datum_pipeline.dm" +#include "code\ATMOSPHERICS\components\binary_devices\binary_atmos_base.dm" +#include "code\ATMOSPHERICS\components\binary_devices\circulator.dm" +#include "code\ATMOSPHERICS\components\binary_devices\dp_vent_pump.dm" +#include "code\ATMOSPHERICS\components\binary_devices\passive_gate.dm" +#include "code\ATMOSPHERICS\components\binary_devices\pump.dm" +#include "code\ATMOSPHERICS\components\binary_devices\valve.dm" +#include "code\ATMOSPHERICS\components\binary_devices\volume_pump.dm" +#include "code\ATMOSPHERICS\components\omni_devices\_omni_extras.dm" +#include "code\ATMOSPHERICS\components\omni_devices\filter.dm" +#include "code\ATMOSPHERICS\components\omni_devices\mixer.dm" +#include "code\ATMOSPHERICS\components\omni_devices\omni_base.dm" +#include "code\ATMOSPHERICS\components\trinary_devices\filter.dm" +#include "code\ATMOSPHERICS\components\trinary_devices\mixer.dm" +#include "code\ATMOSPHERICS\components\trinary_devices\trinary_base.dm" +#include "code\ATMOSPHERICS\components\trinary_devices\tvalve.dm" +#include "code\ATMOSPHERICS\components\unary_devices\cold_sink.dm" +#include "code\ATMOSPHERICS\components\unary_devices\generator_input.dm" +#include "code\ATMOSPHERICS\components\unary_devices\heat_exchanger.dm" +#include "code\ATMOSPHERICS\components\unary_devices\heat_source.dm" +#include "code\ATMOSPHERICS\components\unary_devices\outlet_injector.dm" +#include "code\ATMOSPHERICS\components\unary_devices\oxygen_generator.dm" +#include "code\ATMOSPHERICS\components\unary_devices\passive_vent.dm" +#include "code\ATMOSPHERICS\components\unary_devices\portables_connector.dm" +#include "code\ATMOSPHERICS\components\unary_devices\tank.dm" +#include "code\ATMOSPHERICS\components\unary_devices\thermal_plate.dm" +#include "code\ATMOSPHERICS\components\unary_devices\unary_base.dm" +#include "code\ATMOSPHERICS\components\unary_devices\vent_pump.dm" +#include "code\ATMOSPHERICS\components\unary_devices\vent_scrubber.dm" +#include "code\ATMOSPHERICS\pipes\cap.dm" +#include "code\ATMOSPHERICS\pipes\manifold.dm" +#include "code\ATMOSPHERICS\pipes\manifold4w.dm" +#include "code\ATMOSPHERICS\pipes\pipe.dm" +#include "code\ATMOSPHERICS\pipes\simple\pipe_simple.dm" +#include "code\ATMOSPHERICS\pipes\simple\pipe_simple_he.dm" +#include "code\ATMOSPHERICS\pipes\simple\pipe_simple_hidden.dm" +#include "code\ATMOSPHERICS\pipes\simple\pipe_simple_insulated.dm" +#include "code\ATMOSPHERICS\pipes\simple\pipe_simple_visible.dm" +#include "code\controllers\communications.dm" +#include "code\controllers\configuration.dm" +#include "code\controllers\failsafe.dm" +#include "code\controllers\hooks-defs.dm" +#include "code\controllers\hooks.dm" +#include "code\controllers\master_controller.dm" +#include "code\controllers\verbs.dm" +#include "code\controllers\voting.dm" +#include "code\controllers\Processes\air.dm" +#include "code\controllers\Processes\alarm.dm" +#include "code\controllers\Processes\bot.dm" +#include "code\controllers\Processes\event.dm" +#include "code\controllers\Processes\garbage.dm" +#include "code\controllers\Processes\inactivity.dm" +#include "code\controllers\Processes\lighting.dm" +#include "code\controllers\Processes\machinery.dm" +#include "code\controllers\Processes\mob.dm" +#include "code\controllers\Processes\nanoui.dm" +#include "code\controllers\Processes\obj.dm" +#include "code\controllers\Processes\pipenet.dm" +#include "code\controllers\Processes\shuttles.dm" +#include "code\controllers\Processes\sun.dm" +#include "code\controllers\Processes\ticker.dm" +#include "code\controllers\Processes\timer.dm" +#include "code\controllers\Processes\vote.dm" +#include "code\controllers\Processes\shuttles\emergency.dm" +#include "code\controllers\Processes\shuttles\supply.dm" +#include "code\controllers\ProcessScheduler\core\_stubs.dm" +#include "code\controllers\ProcessScheduler\core\process.dm" +#include "code\controllers\ProcessScheduler\core\processScheduler.dm" +#include "code\datums\ai_law_sets.dm" +#include "code\datums\ai_laws.dm" +#include "code\datums\beam.dm" +#include "code\datums\browser.dm" +#include "code\datums\cargoprofile.dm" +#include "code\datums\computerfiles.dm" +#include "code\datums\datacore.dm" +#include "code\datums\datumvars.dm" +#include "code\datums\gas_mixture.dm" +#include "code\datums\hud.dm" +#include "code\datums\martial.dm" +#include "code\datums\material_container.dm" +#include "code\datums\mind.dm" +#include "code\datums\mixed.dm" +#include "code\datums\modules.dm" +#include "code\datums\periodic_news.dm" +#include "code\datums\recipe.dm" +#include "code\datums\spell.dm" +#include "code\datums\supplypacks.dm" +#include "code\datums\uplink_item.dm" +#include "code\datums\vision_override.dm" +#include "code\datums\cache\air_alarm.dm" +#include "code\datums\cache\apc.dm" +#include "code\datums\cache\cache.dm" +#include "code\datums\cache\crew.dm" +#include "code\datums\cache\powermonitor.dm" +#include "code\datums\helper_datums\construction_datum.dm" +#include "code\datums\helper_datums\events.dm" +#include "code\datums\helper_datums\global_iterator.dm" +#include "code\datums\helper_datums\teleport.dm" +#include "code\datums\helper_datums\topic_input.dm" +#include "code\datums\spells\area_teleport.dm" +#include "code\datums\spells\charge.dm" +#include "code\datums\spells\conjure.dm" +#include "code\datums\spells\construct_spells.dm" +#include "code\datums\spells\dumbfire.dm" +#include "code\datums\spells\emplosion.dm" +#include "code\datums\spells\ethereal_jaunt.dm" +#include "code\datums\spells\explosion.dm" +#include "code\datums\spells\fake_gib.dm" +#include "code\datums\spells\genetic.dm" +#include "code\datums\spells\horsemask.dm" +#include "code\datums\spells\infinite_guns.dm" +#include "code\datums\spells\inflict_handler.dm" +#include "code\datums\spells\knock.dm" +#include "code\datums\spells\lichdom.dm" +#include "code\datums\spells\lightning.dm" +#include "code\datums\spells\magnet.dm" +#include "code\datums\spells\mime.dm" +#include "code\datums\spells\mind_transfer.dm" +#include "code\datums\spells\projectile.dm" +#include "code\datums\spells\summonitem.dm" +#include "code\datums\spells\touch_attacks.dm" +#include "code\datums\spells\trigger.dm" +#include "code\datums\spells\turf_teleport.dm" +#include "code\datums\spells\wizard.dm" +#include "code\datums\wires\airlock.dm" +#include "code\datums\wires\alarm.dm" +#include "code\datums\wires\apc.dm" +#include "code\datums\wires\autolathe.dm" +#include "code\datums\wires\camera.dm" +#include "code\datums\wires\explosive.dm" +#include "code\datums\wires\mulebot.dm" +#include "code\datums\wires\nuclearbomb.dm" +#include "code\datums\wires\particle_accelerator.dm" +#include "code\datums\wires\radio.dm" +#include "code\datums\wires\robot.dm" +#include "code\datums\wires\smartfridge.dm" +#include "code\datums\wires\syndicatebomb.dm" +#include "code\datums\wires\vending.dm" +#include "code\datums\wires\wires.dm" +#include "code\defines\vox_sounds.dm" +#include "code\defines\procs\admin.dm" +#include "code\defines\procs\announce.dm" +#include "code\defines\procs\AStar.dm" +#include "code\defines\procs\dbcore.dm" +#include "code\defines\procs\radio.dm" +#include "code\defines\procs\records.dm" +#include "code\defines\procs\statistics.dm" +#include "code\game\asteroid.dm" +#include "code\game\atoms.dm" +#include "code\game\atoms_movable.dm" +#include "code\game\data_huds.dm" +#include "code\game\response_team.dm" +#include "code\game\shuttle_engines.dm" +#include "code\game\skincmd.dm" +#include "code\game\sound.dm" +#include "code\game\area\ai_monitored.dm" +#include "code\game\area\areas.dm" +#include "code\game\area\Dynamic areas.dm" +#include "code\game\area\Space Station 13 areas.dm" +#include "code\game\dna\dna2.dm" +#include "code\game\dna\dna2_domutcheck.dm" +#include "code\game\dna\dna2_helpers.dm" +#include "code\game\dna\dna_modifier.dm" +#include "code\game\dna\genes\disabilities.dm" +#include "code\game\dna\genes\gene.dm" +#include "code\game\dna\genes\goon_disabilities.dm" +#include "code\game\dna\genes\goon_powers.dm" +#include "code\game\dna\genes\monkey.dm" +#include "code\game\dna\genes\powers.dm" +#include "code\game\dna\genes\vg_disabilities.dm" +#include "code\game\dna\genes\vg_powers.dm" +#include "code\game\gamemodes\antag_hud.dm" +#include "code\game\gamemodes\antag_spawner.dm" +#include "code\game\gamemodes\events.dm" +#include "code\game\gamemodes\factions.dm" +#include "code\game\gamemodes\game_mode.dm" +#include "code\game\gamemodes\gameticker.dm" +#include "code\game\gamemodes\intercept_report.dm" +#include "code\game\gamemodes\objective.dm" +#include "code\game\gamemodes\scoreboard.dm" +#include "code\game\gamemodes\setupgame.dm" +#include "code\game\gamemodes\steal_items.dm" +#include "code\game\gamemodes\autotraitor\autotraitor.dm" +#include "code\game\gamemodes\blob\blob.dm" +#include "code\game\gamemodes\blob\blob_finish.dm" +#include "code\game\gamemodes\blob\blob_report.dm" +#include "code\game\gamemodes\blob\overmind.dm" +#include "code\game\gamemodes\blob\powers.dm" +#include "code\game\gamemodes\blob\theblob.dm" +#include "code\game\gamemodes\blob\blobs\blob_mobs.dm" +#include "code\game\gamemodes\blob\blobs\core.dm" +#include "code\game\gamemodes\blob\blobs\factory.dm" +#include "code\game\gamemodes\blob\blobs\node.dm" +#include "code\game\gamemodes\blob\blobs\resource.dm" +#include "code\game\gamemodes\blob\blobs\shield.dm" +#include "code\game\gamemodes\blob\blobs\storage.dm" +#include "code\game\gamemodes\borer\borer.dm" +#include "code\game\gamemodes\changeling\changeling.dm" +#include "code\game\gamemodes\changeling\changeling_power.dm" +#include "code\game\gamemodes\changeling\evolution_menu.dm" +#include "code\game\gamemodes\changeling\traitor_chan.dm" +#include "code\game\gamemodes\changeling\powers\absorb.dm" +#include "code\game\gamemodes\changeling\powers\augmented_eyesight.dm" +#include "code\game\gamemodes\changeling\powers\digitalcamo.dm" +#include "code\game\gamemodes\changeling\powers\epinephrine.dm" +#include "code\game\gamemodes\changeling\powers\fakedeath.dm" +#include "code\game\gamemodes\changeling\powers\fleshmend.dm" +#include "code\game\gamemodes\changeling\powers\glands.dm" +#include "code\game\gamemodes\changeling\powers\hivemind.dm" +#include "code\game\gamemodes\changeling\powers\humanform.dm" +#include "code\game\gamemodes\changeling\powers\lesserform.dm" +#include "code\game\gamemodes\changeling\powers\mimic_voice.dm" +#include "code\game\gamemodes\changeling\powers\mutations.dm" +#include "code\game\gamemodes\changeling\powers\panacea.dm" +#include "code\game\gamemodes\changeling\powers\revive.dm" +#include "code\game\gamemodes\changeling\powers\shriek.dm" +#include "code\game\gamemodes\changeling\powers\spiders.dm" +#include "code\game\gamemodes\changeling\powers\strained_muscles.dm" +#include "code\game\gamemodes\changeling\powers\swap_form.dm" +#include "code\game\gamemodes\changeling\powers\tiny_prick.dm" +#include "code\game\gamemodes\changeling\powers\transform.dm" +#include "code\game\gamemodes\cult\cult.dm" +#include "code\game\gamemodes\cult\cult_items.dm" +#include "code\game\gamemodes\cult\cult_structures.dm" +#include "code\game\gamemodes\cult\ritual.dm" +#include "code\game\gamemodes\cult\runes.dm" +#include "code\game\gamemodes\cult\talisman.dm" +#include "code\game\gamemodes\extended\extended.dm" +#include "code\game\gamemodes\heist\heist.dm" +#include "code\game\gamemodes\malfunction\Malf_Modules.dm" +#include "code\game\gamemodes\malfunction\malfunction.dm" +#include "code\game\gamemodes\meteor\meteor.dm" +#include "code\game\gamemodes\meteor\meteors.dm" +#include "code\game\gamemodes\miniantags\borer\borer.dm" +#include "code\game\gamemodes\miniantags\borer\borer_event.dm" +#include "code\game\gamemodes\miniantags\bot_swarm\swarmer.dm" +#include "code\game\gamemodes\miniantags\bot_swarm\swarmer_event.dm" +#include "code\game\gamemodes\miniantags\guardian\guardian.dm" +#include "code\game\gamemodes\miniantags\morph\morph.dm" +#include "code\game\gamemodes\miniantags\morph\morph_event.dm" +#include "code\game\gamemodes\miniantags\revenant\revenant.dm" +#include "code\game\gamemodes\miniantags\revenant\revenant_abilities.dm" +#include "code\game\gamemodes\miniantags\revenant\revenant_spawn_event.dm" +#include "code\game\gamemodes\miniantags\slaughter\bloodcrawl.dm" +#include "code\game\gamemodes\miniantags\slaughter\slaughter.dm" +#include "code\game\gamemodes\mutiny\auth_key.dm" +#include "code\game\gamemodes\mutiny\directive.dm" +#include "code\game\gamemodes\mutiny\emergency_authentication_device.dm" +#include "code\game\gamemodes\mutiny\key_pinpointer.dm" +#include "code\game\gamemodes\mutiny\mutiny.dm" +#include "code\game\gamemodes\mutiny\mutiny_admin.dm" +#include "code\game\gamemodes\mutiny\mutiny_fluff.dm" +#include "code\game\gamemodes\mutiny\mutiny_hooks.dm" +#include "code\game\gamemodes\mutiny\directives\alien_fraud_directive.dm" +#include "code\game\gamemodes\mutiny\directives\bluespace_contagion_directive.dm" +#include "code\game\gamemodes\mutiny\directives\financial_crisis_directive.dm" +#include "code\game\gamemodes\mutiny\directives\ipc_virus_directive.dm" +#include "code\game\gamemodes\mutiny\directives\research_to_ripleys_directive.dm" +#include "code\game\gamemodes\mutiny\directives\tau_ceti_needs_women_directive.dm" +#include "code\game\gamemodes\mutiny\directives\terminations_directive.dm" +#include "code\game\gamemodes\mutiny\directives\vox_heist.dm" +#include "code\game\gamemodes\nations\nations.dm" +#include "code\game\gamemodes\nations\nationsdatums.dm" +#include "code\game\gamemodes\nations\nationsprocs.dm" +#include "code\game\gamemodes\nuclear\nuclear.dm" +#include "code\game\gamemodes\nuclear\nuclear_challenge.dm" +#include "code\game\gamemodes\nuclear\nuclearbomb.dm" +#include "code\game\gamemodes\nuclear\pinpointer.dm" +#include "code\game\gamemodes\revolution\revolution.dm" +#include "code\game\gamemodes\revolution\rp_revolution.dm" +#include "code\game\gamemodes\shadowling\ascendant_shadowling.dm" +#include "code\game\gamemodes\shadowling\shadowling.dm" +#include "code\game\gamemodes\shadowling\shadowling_abilities.dm" +#include "code\game\gamemodes\shadowling\shadowling_items.dm" +#include "code\game\gamemodes\shadowling\special_shadowling_abilities.dm" +#include "code\game\gamemodes\traitor\traitor.dm" +#include "code\game\gamemodes\vampire\hud.dm" +#include "code\game\gamemodes\vampire\vampire.dm" +#include "code\game\gamemodes\vampire\vampire_powers.dm" +#include "code\game\gamemodes\wizard\artefact.dm" +#include "code\game\gamemodes\wizard\godhand.dm" +#include "code\game\gamemodes\wizard\raginmages.dm" +#include "code\game\gamemodes\wizard\rightandwrong.dm" +#include "code\game\gamemodes\wizard\soulstone.dm" +#include "code\game\gamemodes\wizard\spellbook.dm" +#include "code\game\gamemodes\wizard\wizard.dm" +#include "code\game\gamemodes\xenos\xenos.dm" +#include "code\game\jobs\access.dm" +#include "code\game\jobs\job_controller.dm" +#include "code\game\jobs\job_objective.dm" +#include "code\game\jobs\jobs.dm" +#include "code\game\jobs\whitelist.dm" +#include "code\game\jobs\job\civilian.dm" +#include "code\game\jobs\job\engineering.dm" +#include "code\game\jobs\job\job.dm" +#include "code\game\jobs\job\medical.dm" +#include "code\game\jobs\job\science.dm" +#include "code\game\jobs\job\security.dm" +#include "code\game\jobs\job\silicon.dm" +#include "code\game\jobs\job\supervisor.dm" +#include "code\game\jobs\job\support.dm" +#include "code\game\jobs\job\support_chaplain.dm" +#include "code\game\jobs\job_objectives\science.dm" +#include "code\game\machinery\adv_med.dm" +#include "code\game\machinery\ai_slipper.dm" +#include "code\game\machinery\alarm.dm" +#include "code\game\machinery\atmo_control.dm" +#include "code\game\machinery\autolathe.dm" +#include "code\game\machinery\Beacon.dm" +#include "code\game\machinery\bees_items.dm" +#include "code\game\machinery\biogenerator.dm" +#include "code\game\machinery\buttons.dm" +#include "code\game\machinery\cell_charger.dm" +#include "code\game\machinery\chiller.dm" +#include "code\game\machinery\cloning.dm" +#include "code\game\machinery\constructable_frame.dm" +#include "code\game\machinery\cryo.dm" +#include "code\game\machinery\cryopod.dm" +#include "code\game\machinery\deployable.dm" +#include "code\game\machinery\door_control.dm" +#include "code\game\machinery\doppler_array.dm" +#include "code\game\machinery\dye_generator.dm" +#include "code\game\machinery\firealarm.dm" +#include "code\game\machinery\flasher.dm" +#include "code\game\machinery\floodlight.dm" +#include "code\game\machinery\Freezer.dm" +#include "code\game\machinery\guestpass.dm" +#include "code\game\machinery\hologram.dm" +#include "code\game\machinery\holosign.dm" +#include "code\game\machinery\igniter.dm" +#include "code\game\machinery\iv_drip.dm" +#include "code\game\machinery\lightswitch.dm" +#include "code\game\machinery\machinery.dm" +#include "code\game\machinery\magnet.dm" +#include "code\game\machinery\mass_driver.dm" +#include "code\game\machinery\navbeacon.dm" +#include "code\game\machinery\newscaster.dm" +#include "code\game\machinery\OpTable.dm" +#include "code\game\machinery\overview.dm" +#include "code\game\machinery\PDApainter.dm" +#include "code\game\machinery\poolcontroller.dm" +#include "code\game\machinery\portable_tag_turret.dm" +#include "code\game\machinery\portable_turret.dm" +#include "code\game\machinery\programmable_unloader.dm" +#include "code\game\machinery\recharger.dm" +#include "code\game\machinery\rechargestation.dm" +#include "code\game\machinery\recycler.dm" +#include "code\game\machinery\requests_console.dm" +#include "code\game\machinery\robot_fabricator.dm" +#include "code\game\machinery\seed_extractor.dm" +#include "code\game\machinery\shieldgen.dm" +#include "code\game\machinery\Sleeper.dm" +#include "code\game\machinery\slotmachine.dm" +#include "code\game\machinery\spaceheater.dm" +#include "code\game\machinery\status_display.dm" +#include "code\game\machinery\suit_storage_unit.dm" +#include "code\game\machinery\supply_display.dm" +#include "code\game\machinery\syndicatebeacon.dm" +#include "code\game\machinery\syndicatebomb.dm" +#include "code\game\machinery\teleporter.dm" +#include "code\game\machinery\transformer.dm" +#include "code\game\machinery\turntable.dm" +#include "code\game\machinery\turret_control.dm" +#include "code\game\machinery\turrets.dm" +#include "code\game\machinery\vending.dm" +#include "code\game\machinery\washing_machine.dm" +#include "code\game\machinery\wishgranter.dm" +#include "code\game\machinery\atmoalter\area_atmos_computer.dm" +#include "code\game\machinery\atmoalter\canister.dm" +#include "code\game\machinery\atmoalter\meter.dm" +#include "code\game\machinery\atmoalter\portable_atmospherics.dm" +#include "code\game\machinery\atmoalter\pump.dm" +#include "code\game\machinery\atmoalter\scrubber.dm" +#include "code\game\machinery\atmoalter\zvent.dm" +#include "code\game\machinery\bots\bots.dm" +#include "code\game\machinery\bots\cleanbot.dm" +#include "code\game\machinery\bots\ed209bot.dm" +#include "code\game\machinery\bots\floorbot.dm" +#include "code\game\machinery\bots\medbot.dm" +#include "code\game\machinery\bots\mulebot.dm" +#include "code\game\machinery\bots\secbot.dm" +#include "code\game\machinery\camera\camera.dm" +#include "code\game\machinery\camera\camera_assembly.dm" +#include "code\game\machinery\camera\motion.dm" +#include "code\game\machinery\camera\presets.dm" +#include "code\game\machinery\camera\tracking.dm" +#include "code\game\machinery\computer\ai_core.dm" +#include "code\game\machinery\computer\aifixer.dm" +#include "code\game\machinery\computer\arcade.dm" +#include "code\game\machinery\computer\atmos_alert.dm" +#include "code\game\machinery\computer\atmos_control.dm" +#include "code\game\machinery\computer\buildandrepair.dm" +#include "code\game\machinery\computer\camera.dm" +#include "code\game\machinery\computer\card.dm" +#include "code\game\machinery\computer\cloning.dm" +#include "code\game\machinery\computer\communications.dm" +#include "code\game\machinery\computer\computer.dm" +#include "code\game\machinery\computer\crew.dm" +#include "code\game\machinery\computer\HolodeckControl.dm" +#include "code\game\machinery\computer\hologram.dm" +#include "code\game\machinery\computer\honkputer.dm" +#include "code\game\machinery\computer\law.dm" +#include "code\game\machinery\computer\medical.dm" +#include "code\game\machinery\computer\message.dm" +#include "code\game\machinery\computer\Operating.dm" +#include "code\game\machinery\computer\pod.dm" +#include "code\game\machinery\computer\pod_tracking_console.dm" +#include "code\game\machinery\computer\power.dm" +#include "code\game\machinery\computer\prisoner.dm" +#include "code\game\machinery\computer\robot.dm" +#include "code\game\machinery\computer\salvage_ship.dm" +#include "code\game\machinery\computer\security.dm" +#include "code\game\machinery\computer\shuttle.dm" +#include "code\game\machinery\computer\skills.dm" +#include "code\game\machinery\computer\specops_shuttle.dm" +#include "code\game\machinery\computer\station_alert.dm" +#include "code\game\machinery\computer\store.dm" +#include "code\game\machinery\computer\syndicate_specops_shuttle.dm" +#include "code\game\machinery\computer\telecrystalconsoles.dm" +#include "code\game\machinery\doors\airlock.dm" +#include "code\game\machinery\doors\airlock_control.dm" +#include "code\game\machinery\doors\airlock_electronics.dm" +#include "code\game\machinery\doors\alarmlock.dm" +#include "code\game\machinery\doors\brigdoors.dm" +#include "code\game\machinery\doors\checkForMultipleDoors.dm" +#include "code\game\machinery\doors\door.dm" +#include "code\game\machinery\doors\firedoor.dm" +#include "code\game\machinery\doors\multi_tile.dm" +#include "code\game\machinery\doors\poddoor.dm" +#include "code\game\machinery\doors\shutters.dm" +#include "code\game\machinery\doors\spacepod.dm" +#include "code\game\machinery\doors\unpowered.dm" +#include "code\game\machinery\doors\windowdoor.dm" +#include "code\game\machinery\embedded_controller\airlock_controllers.dm" +#include "code\game\machinery\embedded_controller\airlock_docking_controller.dm" +#include "code\game\machinery\embedded_controller\airlock_docking_controller_multi.dm" +#include "code\game\machinery\embedded_controller\airlock_program.dm" +#include "code\game\machinery\embedded_controller\docking_program.dm" +#include "code\game\machinery\embedded_controller\docking_program_multi.dm" +#include "code\game\machinery\embedded_controller\embedded_controller_base.dm" +#include "code\game\machinery\embedded_controller\embedded_program_base.dm" +#include "code\game\machinery\embedded_controller\simple_docking_controller.dm" +#include "code\game\machinery\kitchen\gibber.dm" +#include "code\game\machinery\kitchen\icecream_vat.dm" +#include "code\game\machinery\kitchen\juicer.dm" +#include "code\game\machinery\kitchen\kitchen_machine.dm" +#include "code\game\machinery\kitchen\microwave.dm" +#include "code\game\machinery\kitchen\monkeyrecycler.dm" +#include "code\game\machinery\kitchen\processor.dm" +#include "code\game\machinery\kitchen\smartfridge.dm" +#include "code\game\machinery\pipe\construction.dm" +#include "code\game\machinery\pipe\pipe_dispenser.dm" +#include "code\game\machinery\telecomms\broadcaster.dm" +#include "code\game\machinery\telecomms\logbrowser.dm" +#include "code\game\machinery\telecomms\machine_interactions.dm" +#include "code\game\machinery\telecomms\presets.dm" +#include "code\game\machinery\telecomms\telecomunications.dm" +#include "code\game\machinery\telecomms\telemonitor.dm" +#include "code\game\machinery\telecomms\traffic_control.dm" +#include "code\game\magic\Uristrunes.dm" +#include "code\game\mecha\mech_bay.dm" +#include "code\game\mecha\mech_fabricator.dm" +#include "code\game\mecha\mecha.dm" +#include "code\game\mecha\mecha_construction_paths.dm" +#include "code\game\mecha\mecha_control_console.dm" +#include "code\game\mecha\mecha_parts.dm" +#include "code\game\mecha\mecha_wreckage.dm" +#include "code\game\mecha\paintkits.dm" +#include "code\game\mecha\combat\combat.dm" +#include "code\game\mecha\combat\durand.dm" +#include "code\game\mecha\combat\gygax.dm" +#include "code\game\mecha\combat\honker.dm" +#include "code\game\mecha\combat\marauder.dm" +#include "code\game\mecha\combat\phazon.dm" +#include "code\game\mecha\combat\recitence.dm" +#include "code\game\mecha\equipment\mecha_equipment.dm" +#include "code\game\mecha\equipment\tools\medical_tools.dm" +#include "code\game\mecha\equipment\tools\tools.dm" +#include "code\game\mecha\equipment\weapons\weapons.dm" +#include "code\game\mecha\medical\medical.dm" +#include "code\game\mecha\medical\odysseus.dm" +#include "code\game\mecha\working\ripley.dm" +#include "code\game\mecha\working\working.dm" +#include "code\game\objects\buckling.dm" +#include "code\game\objects\empulse.dm" +#include "code\game\objects\explosion.dm" +#include "code\game\objects\items.dm" +#include "code\game\objects\objs.dm" +#include "code\game\objects\structures.dm" +#include "code\game\objects\weapons.dm" +#include "code\game\objects\effects\aliens.dm" +#include "code\game\objects\effects\anomalies.dm" +#include "code\game\objects\effects\bump_teleporter.dm" +#include "code\game\objects\effects\datacore-effect.dm" +#include "code\game\objects\effects\effect_system.dm" +#include "code\game\objects\effects\explosion_particles.dm" +#include "code\game\objects\effects\forcefields.dm" +#include "code\game\objects\effects\gibs.dm" +#include "code\game\objects\effects\glowshroom.dm" +#include "code\game\objects\effects\landmarks.dm" +#include "code\game\objects\effects\manifest.dm" +#include "code\game\objects\effects\mines.dm" +#include "code\game\objects\effects\misc.dm" +#include "code\game\objects\effects\overlays.dm" +#include "code\game\objects\effects\portals.dm" +#include "code\game\objects\effects\spiders.dm" +#include "code\game\objects\effects\step_triggers.dm" +#include "code\game\objects\effects\decals\cleanable.dm" +#include "code\game\objects\effects\decals\contraband.dm" +#include "code\game\objects\effects\decals\crayon.dm" +#include "code\game\objects\effects\decals\misc.dm" +#include "code\game\objects\effects\decals\remains.dm" +#include "code\game\objects\effects\decals\warning_stripes.dm" +#include "code\game\objects\effects\decals\Cleanable\aliens.dm" +#include "code\game\objects\effects\decals\Cleanable\fuel.dm" +#include "code\game\objects\effects\decals\Cleanable\humans.dm" +#include "code\game\objects\effects\decals\Cleanable\misc.dm" +#include "code\game\objects\effects\decals\Cleanable\robots.dm" +#include "code\game\objects\effects\decals\Cleanable\tracks.dm" +#include "code\game\objects\effects\spawners\bombspawner.dm" +#include "code\game\objects\effects\spawners\gibspawner.dm" +#include "code\game\objects\effects\spawners\lootdrop.dm" +#include "code\game\objects\effects\spawners\vaultspawner.dm" +#include "code\game\objects\effects\spawners\windowspawner.dm" +#include "code\game\objects\items\ashtray.dm" +#include "code\game\objects\items\blueprints.dm" +#include "code\game\objects\items\bodybag.dm" +#include "code\game\objects\items\candle.dm" +#include "code\game\objects\items\changestone.dm" +#include "code\game\objects\items\contraband.dm" +#include "code\game\objects\items\crayons.dm" +#include "code\game\objects\items\dehy_carp.dm" +#include "code\game\objects\items\documents.dm" +#include "code\game\objects\items\flag.dm" +#include "code\game\objects\items\latexballoon.dm" +#include "code\game\objects\items\misc.dm" +#include "code\game\objects\items\policetape.dm" +#include "code\game\objects\items\random_items.dm" +#include "code\game\objects\items\shooting_range.dm" +#include "code\game\objects\items\toys.dm" +#include "code\game\objects\items\trash.dm" +#include "code\game\objects\items\devices\aicard.dm" +#include "code\game\objects\items\devices\autopsy.dm" +#include "code\game\objects\items\devices\camera_bug.dm" +#include "code\game\objects\items\devices\chameleonproj.dm" +#include "code\game\objects\items\devices\debugger.dm" +#include "code\game\objects\items\devices\flash.dm" +#include "code\game\objects\items\devices\flashlight.dm" +#include "code\game\objects\items\devices\guitar.dm" +#include "code\game\objects\items\devices\laserpointer.dm" +#include "code\game\objects\items\devices\lightreplacer.dm" +#include "code\game\objects\items\devices\megaphone.dm" +#include "code\game\objects\items\devices\modkit.dm" +#include "code\game\objects\items\devices\multitool.dm" +#include "code\game\objects\items\devices\paicard.dm" +#include "code\game\objects\items\devices\pipe_painter.dm" +#include "code\game\objects\items\devices\pizza_bomb.dm" +#include "code\game\objects\items\devices\powersink.dm" +#include "code\game\objects\items\devices\scanners.dm" +#include "code\game\objects\items\devices\sensor_device.dm" +#include "code\game\objects\items\devices\taperecorder.dm" +#include "code\game\objects\items\devices\traitordevices.dm" +#include "code\game\objects\items\devices\transfer_valve.dm" +#include "code\game\objects\items\devices\uplinks.dm" +#include "code\game\objects\items\devices\violin.dm" +#include "code\game\objects\items\devices\whistle.dm" +#include "code\game\objects\items\devices\radio\beacon.dm" +#include "code\game\objects\items\devices\radio\electropack.dm" +#include "code\game\objects\items\devices\radio\encryptionkey.dm" +#include "code\game\objects\items\devices\radio\headset.dm" +#include "code\game\objects\items\devices\radio\intercom.dm" +#include "code\game\objects\items\devices\radio\radio.dm" +#include "code\game\objects\items\mountable_frames\air_alarm.dm" +#include "code\game\objects\items\mountable_frames\apc_frame.dm" +#include "code\game\objects\items\mountable_frames\driver_button.dm" +#include "code\game\objects\items\mountable_frames\fire_alarm.dm" +#include "code\game\objects\items\mountable_frames\frames.dm" +#include "code\game\objects\items\mountable_frames\intercom.dm" +#include "code\game\objects\items\mountable_frames\lights.dm" +#include "code\game\objects\items\mountable_frames\mountables.dm" +#include "code\game\objects\items\mountable_frames\newscaster_frame.dm" +#include "code\game\objects\items\robot\robot_items.dm" +#include "code\game\objects\items\robot\robot_parts.dm" +#include "code\game\objects\items\robot\robot_upgrades.dm" +#include "code\game\objects\items\stacks\medical.dm" +#include "code\game\objects\items\stacks\nanopaste.dm" +#include "code\game\objects\items\stacks\rods.dm" +#include "code\game\objects\items\stacks\stack.dm" +#include "code\game\objects\items\stacks\telecrystal.dm" +#include "code\game\objects\items\stacks\sheets\glass.dm" +#include "code\game\objects\items\stacks\sheets\leather.dm" +#include "code\game\objects\items\stacks\sheets\light.dm" +#include "code\game\objects\items\stacks\sheets\mineral.dm" +#include "code\game\objects\items\stacks\sheets\sheet_types.dm" +#include "code\game\objects\items\stacks\sheets\sheets.dm" +#include "code\game\objects\items\stacks\tiles\tile_types.dm" +#include "code\game\objects\items\weapons\AI_modules.dm" +#include "code\game\objects\items\weapons\alien_specific.dm" +#include "code\game\objects\items\weapons\cards_ids.dm" +#include "code\game\objects\items\weapons\cash.dm" +#include "code\game\objects\items\weapons\caution.dm" +#include "code\game\objects\items\weapons\chrono_eraser.dm" +#include "code\game\objects\items\weapons\cigs.dm" +#include "code\game\objects\items\weapons\clown_items.dm" +#include "code\game\objects\items\weapons\cosmetics.dm" +#include "code\game\objects\items\weapons\courtroom.dm" +#include "code\game\objects\items\weapons\defib.dm" +#include "code\game\objects\items\weapons\dice.dm" +#include "code\game\objects\items\weapons\disks.dm" +#include "code\game\objects\items\weapons\dna_injector.dm" +#include "code\game\objects\items\weapons\dnascrambler.dm" +#include "code\game\objects\items\weapons\explosives.dm" +#include "code\game\objects\items\weapons\extinguisher.dm" +#include "code\game\objects\items\weapons\fireworks.dm" +#include "code\game\objects\items\weapons\flamethrower.dm" +#include "code\game\objects\items\weapons\gift_wrappaper.dm" +#include "code\game\objects\items\weapons\handcuffs.dm" +#include "code\game\objects\items\weapons\holosign.dm" +#include "code\game\objects\items\weapons\kitchen.dm" +#include "code\game\objects\items\weapons\legcuffs.dm" +#include "code\game\objects\items\weapons\lighters.dm" +#include "code\game\objects\items\weapons\manuals.dm" +#include "code\game\objects\items\weapons\misc.dm" +#include "code\game\objects\items\weapons\mop.dm" +#include "code\game\objects\items\weapons\paint.dm" +#include "code\game\objects\items\weapons\paiwire.dm" +#include "code\game\objects\items\weapons\pneumaticCannon.dm" +#include "code\game\objects\items\weapons\power_cells.dm" +#include "code\game\objects\items\weapons\RCD.dm" +#include "code\game\objects\items\weapons\RSF.dm" +#include "code\game\objects\items\weapons\scissors.dm" +#include "code\game\objects\items\weapons\scrolls.dm" +#include "code\game\objects\items\weapons\shards.dm" +#include "code\game\objects\items\weapons\shields.dm" +#include "code\game\objects\items\weapons\signs.dm" +#include "code\game\objects\items\weapons\soap.dm" +#include "code\game\objects\items\weapons\staff.dm" +#include "code\game\objects\items\weapons\stock_parts.dm" +#include "code\game\objects\items\weapons\stunbaton.dm" +#include "code\game\objects\items\weapons\swords_axes_etc.dm" +#include "code\game\objects\items\weapons\syndie_uplink.dm" +#include "code\game\objects\items\weapons\table_rack_parts.dm" +#include "code\game\objects\items\weapons\tape.dm" +#include "code\game\objects\items\weapons\teleportation.dm" +#include "code\game\objects\items\weapons\tools.dm" +#include "code\game\objects\items\weapons\twohanded.dm" +#include "code\game\objects\items\weapons\vending_items.dm" +#include "code\game\objects\items\weapons\weaponry.dm" +#include "code\game\objects\items\weapons\whetstone.dm" +#include "code\game\objects\items\weapons\wires.dm" +#include "code\game\objects\items\weapons\grenades\bananade.dm" +#include "code\game\objects\items\weapons\grenades\chem_grenade.dm" +#include "code\game\objects\items\weapons\grenades\clowngrenade.dm" +#include "code\game\objects\items\weapons\grenades\clusterbuster.dm" +#include "code\game\objects\items\weapons\grenades\custom_grenades.dm" +#include "code\game\objects\items\weapons\grenades\emgrenade.dm" +#include "code\game\objects\items\weapons\grenades\flashbang.dm" +#include "code\game\objects\items\weapons\grenades\ghettobomb.dm" +#include "code\game\objects\items\weapons\grenades\grenade.dm" +#include "code\game\objects\items\weapons\grenades\smokebomb.dm" +#include "code\game\objects\items\weapons\grenades\spawnergrenade.dm" +#include "code\game\objects\items\weapons\grenades\syndieminibomb.dm" +#include "code\game\objects\items\weapons\implants\implant.dm" +#include "code\game\objects\items\weapons\implants\implant_chem.dm" +#include "code\game\objects\items\weapons\implants\implant_death_alarm.dm" +#include "code\game\objects\items\weapons\implants\implant_explosive.dm" +#include "code\game\objects\items\weapons\implants\implant_freedom.dm" +#include "code\game\objects\items\weapons\implants\implant_loyality.dm" +#include "code\game\objects\items\weapons\implants\implant_misc.dm" +#include "code\game\objects\items\weapons\implants\implant_storage.dm" +#include "code\game\objects\items\weapons\implants\implant_track.dm" +#include "code\game\objects\items\weapons\implants\implant_traitor.dm" +#include "code\game\objects\items\weapons\implants\implantcase.dm" +#include "code\game\objects\items\weapons\implants\implantchair.dm" +#include "code\game\objects\items\weapons\implants\implanter.dm" +#include "code\game\objects\items\weapons\implants\implantpad.dm" +#include "code\game\objects\items\weapons\implants\implantuplink.dm" +#include "code\game\objects\items\weapons\melee\energy.dm" +#include "code\game\objects\items\weapons\melee\misc.dm" +#include "code\game\objects\items\weapons\storage\backpack.dm" +#include "code\game\objects\items\weapons\storage\bags.dm" +#include "code\game\objects\items\weapons\storage\belt.dm" +#include "code\game\objects\items\weapons\storage\bible.dm" +#include "code\game\objects\items\weapons\storage\boxes.dm" +#include "code\game\objects\items\weapons\storage\briefcase.dm" +#include "code\game\objects\items\weapons\storage\fancy.dm" +#include "code\game\objects\items\weapons\storage\firstaid.dm" +#include "code\game\objects\items\weapons\storage\internal.dm" +#include "code\game\objects\items\weapons\storage\lockbox.dm" +#include "code\game\objects\items\weapons\storage\secure.dm" +#include "code\game\objects\items\weapons\storage\storage.dm" +#include "code\game\objects\items\weapons\storage\toolbox.dm" +#include "code\game\objects\items\weapons\storage\uplink_kits.dm" +#include "code\game\objects\items\weapons\storage\wallets.dm" +#include "code\game\objects\items\weapons\tanks\jetpack.dm" +#include "code\game\objects\items\weapons\tanks\tank_types.dm" +#include "code\game\objects\items\weapons\tanks\tanks.dm" +#include "code\game\objects\items\weapons\tanks\watertank.dm" +#include "code\game\objects\random\random.dm" +#include "code\game\objects\structures\artstuff.dm" +#include "code\game\objects\structures\barsign.dm" +#include "code\game\objects\structures\bedsheet_bin.dm" +#include "code\game\objects\structures\coathanger.dm" +#include "code\game\objects\structures\curtains.dm" +#include "code\game\objects\structures\displaycase.dm" +#include "code\game\objects\structures\door_assembly.dm" +#include "code\game\objects\structures\dresser.dm" +#include "code\game\objects\structures\electricchair.dm" +#include "code\game\objects\structures\engicart.dm" +#include "code\game\objects\structures\extinguisher.dm" +#include "code\game\objects\structures\false_walls.dm" +#include "code\game\objects\structures\flora.dm" +#include "code\game\objects\structures\foodcart.dm" +#include "code\game\objects\structures\fullwindow.dm" +#include "code\game\objects\structures\girders.dm" +#include "code\game\objects\structures\grille.dm" +#include "code\game\objects\structures\inflatable.dm" +#include "code\game\objects\structures\janicart.dm" +#include "code\game\objects\structures\kitchen_spike.dm" +#include "code\game\objects\structures\ladders.dm" +#include "code\game\objects\structures\lamarr_cage.dm" +#include "code\game\objects\structures\lattice.dm" +#include "code\game\objects\structures\mineral_doors.dm" +#include "code\game\objects\structures\mirror.dm" +#include "code\game\objects\structures\misc.dm" +#include "code\game\objects\structures\mop_bucket.dm" +#include "code\game\objects\structures\morgue.dm" +#include "code\game\objects\structures\musician.dm" +#include "code\game\objects\structures\noticeboard.dm" +#include "code\game\objects\structures\safe.dm" +#include "code\game\objects\structures\signs.dm" +#include "code\game\objects\structures\spirit_board.dm" +#include "code\game\objects\structures\statue.dm" +#include "code\game\objects\structures\tables_racks.dm" +#include "code\game\objects\structures\tank_dispenser.dm" +#include "code\game\objects\structures\target_stake.dm" +#include "code\game\objects\structures\watercloset.dm" +#include "code\game\objects\structures\windoor_assembly.dm" +#include "code\game\objects\structures\window.dm" +#include "code\game\objects\structures\crates_lockers\closets.dm" +#include "code\game\objects\structures\crates_lockers\crates.dm" +#include "code\game\objects\structures\crates_lockers\crittercrate.dm" +#include "code\game\objects\structures\crates_lockers\largecrate.dm" +#include "code\game\objects\structures\crates_lockers\walllocker.dm" +#include "code\game\objects\structures\crates_lockers\closets\cardboardbox.dm" +#include "code\game\objects\structures\crates_lockers\closets\coffin.dm" +#include "code\game\objects\structures\crates_lockers\closets\crittercrate.dm" +#include "code\game\objects\structures\crates_lockers\closets\fireaxe.dm" +#include "code\game\objects\structures\crates_lockers\closets\fitness.dm" +#include "code\game\objects\structures\crates_lockers\closets\gimmick.dm" +#include "code\game\objects\structures\crates_lockers\closets\job_closets.dm" +#include "code\game\objects\structures\crates_lockers\closets\l3closet.dm" +#include "code\game\objects\structures\crates_lockers\closets\malfunction.dm" +#include "code\game\objects\structures\crates_lockers\closets\statue.dm" +#include "code\game\objects\structures\crates_lockers\closets\syndicate.dm" +#include "code\game\objects\structures\crates_lockers\closets\utility_closets.dm" +#include "code\game\objects\structures\crates_lockers\closets\wardrobe.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\bar.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\cargo.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\chaplain.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\engineering.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\freezer.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\guncabinet.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\hydroponics.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\medical.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\personal.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\scientist.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\secure_closets.dm" +#include "code\game\objects\structures\crates_lockers\closets\secure\security.dm" +#include "code\game\objects\structures\stool_bed_chair_nest\alien_nests.dm" +#include "code\game\objects\structures\stool_bed_chair_nest\bed.dm" +#include "code\game\objects\structures\stool_bed_chair_nest\chairs.dm" +#include "code\game\objects\structures\stool_bed_chair_nest\stools.dm" +#include "code\game\objects\structures\stool_bed_chair_nest\wheelchair.dm" +#include "code\game\objects\structures\transit_tubes\station.dm" +#include "code\game\objects\structures\transit_tubes\transit_tube.dm" +#include "code\game\objects\structures\transit_tubes\transit_tube_pod.dm" +#include "code\game\turfs\simulated.dm" +#include "code\game\turfs\turf.dm" +#include "code\game\turfs\unsimulated.dm" +#include "code\game\turfs\simulated\floor.dm" +#include "code\game\turfs\simulated\shuttle.dm" +#include "code\game\turfs\simulated\walls.dm" +#include "code\game\turfs\simulated\walls_mineral.dm" +#include "code\game\turfs\simulated\walls_misc.dm" +#include "code\game\turfs\simulated\walls_reinforced.dm" +#include "code\game\turfs\simulated\floor\fancy_floor.dm" +#include "code\game\turfs\simulated\floor\light_floor.dm" +#include "code\game\turfs\simulated\floor\misc_floor.dm" +#include "code\game\turfs\simulated\floor\plasteel_floor.dm" +#include "code\game\turfs\simulated\floor\plating.dm" +#include "code\game\turfs\space\space.dm" +#include "code\game\turfs\space\transit.dm" +#include "code\game\turfs\unsimulated\beach.dm" +#include "code\game\turfs\unsimulated\floor.dm" +#include "code\game\turfs\unsimulated\walls.dm" +#include "code\game\vehicles\spacepods\construction.dm" +#include "code\game\vehicles\spacepods\equipment.dm" +#include "code\game\vehicles\spacepods\parts.dm" +#include "code\game\vehicles\spacepods\pod_fabricator.dm" +#include "code\game\vehicles\spacepods\spacepod.dm" +#include "code\game\verbs\ooc.dm" +#include "code\game\verbs\suicide.dm" +#include "code\game\verbs\who.dm" +#include "code\js\byjax.dm" +#include "code\js\menus.dm" +#include "code\LINDA\LINDA_fire.dm" +#include "code\LINDA\LINDA_system.dm" +#include "code\LINDA\LINDA_turf_tile.dm" +#include "code\modules\admin\admin.dm" +#include "code\modules\admin\admin_investigate.dm" +#include "code\modules\admin\admin_memo.dm" +#include "code\modules\admin\admin_ranks.dm" +#include "code\modules\admin\admin_verbs.dm" +#include "code\modules\admin\banappearance.dm" +#include "code\modules\admin\banjob.dm" +#include "code\modules\admin\buildmode.dm" +#include "code\modules\admin\create_mob.dm" +#include "code\modules\admin\create_object.dm" +#include "code\modules\admin\create_poll.dm" +#include "code\modules\admin\create_turf.dm" +#include "code\modules\admin\holder2.dm" +#include "code\modules\admin\IsBanned.dm" +#include "code\modules\admin\machine_upgrade.dm" +#include "code\modules\admin\NewBan.dm" +#include "code\modules\admin\newbanjob.dm" +#include "code\modules\admin\player_panel.dm" +#include "code\modules\admin\secrets.dm" +#include "code\modules\admin\sql_notes.dm" +#include "code\modules\admin\stickyban.dm" +#include "code\modules\admin\topic.dm" +#include "code\modules\admin\ToRban.dm" +#include "code\modules\admin\watchlist.dm" +#include "code\modules\admin\DB ban\functions.dm" +#include "code\modules\admin\permissionverbs\permissionedit.dm" +#include "code\modules\admin\verbs\adminhelp.dm" +#include "code\modules\admin\verbs\adminjump.dm" +#include "code\modules\admin\verbs\adminpm.dm" +#include "code\modules\admin\verbs\adminsay.dm" +#include "code\modules\admin\verbs\alt_check.dm" +#include "code\modules\admin\verbs\antag-ooc.dm" +#include "code\modules\admin\verbs\atmosdebug.dm" +#include "code\modules\admin\verbs\BrokenInhands.dm" +#include "code\modules\admin\verbs\cinematic.dm" +#include "code\modules\admin\verbs\custom_event.dm" +#include "code\modules\admin\verbs\deadsay.dm" +#include "code\modules\admin\verbs\debug.dm" +#include "code\modules\admin\verbs\diagnostics.dm" +#include "code\modules\admin\verbs\dice.dm" +#include "code\modules\admin\verbs\freeze.dm" +#include "code\modules\admin\verbs\getlogs.dm" +#include "code\modules\admin\verbs\honksquad.dm" +#include "code\modules\admin\verbs\mapping.dm" +#include "code\modules\admin\verbs\massmodvar.dm" +#include "code\modules\admin\verbs\modifyvariables.dm" +#include "code\modules\admin\verbs\one_click_antag.dm" +#include "code\modules\admin\verbs\onlyone.dm" +#include "code\modules\admin\verbs\onlyoneteam.dm" +#include "code\modules\admin\verbs\playsound.dm" +#include "code\modules\admin\verbs\possess.dm" +#include "code\modules\admin\verbs\pray.dm" +#include "code\modules\admin\verbs\randomverbs.dm" +#include "code\modules\admin\verbs\striketeam.dm" +#include "code\modules\admin\verbs\striketeam_syndicate.dm" +#include "code\modules\admin\verbs\ticklag.dm" +#include "code\modules\admin\verbs\tripAI.dm" +#include "code\modules\admin\verbs\vox_raiders.dm" +#include "code\modules\admin\verbs\SDQL2\SDQL_2.dm" +#include "code\modules\admin\verbs\SDQL2\SDQL_2_parser.dm" +#include "code\modules\alarm\alarm.dm" +#include "code\modules\alarm\alarm_handler.dm" +#include "code\modules\alarm\atmosphere_alarm.dm" +#include "code\modules\alarm\burglar_alarm.dm" +#include "code\modules\alarm\camera_alarm.dm" +#include "code\modules\alarm\fire_alarm.dm" +#include "code\modules\alarm\motion_alarm.dm" +#include "code\modules\alarm\power_alarm.dm" +#include "code\modules\arcade\arcade_base.dm" +#include "code\modules\arcade\arcade_prize.dm" +#include "code\modules\arcade\claw_game.dm" +#include "code\modules\arcade\prize_counter.dm" +#include "code\modules\arcade\prize_datums.dm" +#include "code\modules\assembly\assembly.dm" +#include "code\modules\assembly\bomb.dm" +#include "code\modules\assembly\health.dm" +#include "code\modules\assembly\helpers.dm" +#include "code\modules\assembly\holder.dm" +#include "code\modules\assembly\igniter.dm" +#include "code\modules\assembly\infrared.dm" +#include "code\modules\assembly\mousetrap.dm" +#include "code\modules\assembly\proximity.dm" +#include "code\modules\assembly\shock_kit.dm" +#include "code\modules\assembly\signaler.dm" +#include "code\modules\assembly\timer.dm" +#include "code\modules\assembly\voice.dm" +#include "code\modules\atmos_automation\console.dm" +#include "code\modules\atmos_automation\statements.dm" +#include "code\modules\atmos_automation\implementation\digital_valves.dm" +#include "code\modules\atmos_automation\implementation\emitters.dm" +#include "code\modules\atmos_automation\implementation\injectors.dm" +#include "code\modules\atmos_automation\implementation\scrubbers.dm" +#include "code\modules\atmos_automation\implementation\sensors.dm" +#include "code\modules\atmos_automation\implementation\vent_pump.dm" +#include "code\modules\awaymissions\bluespaceartillery.dm" +#include "code\modules\awaymissions\corpse.dm" +#include "code\modules\awaymissions\exile.dm" +#include "code\modules\awaymissions\gateway.dm" +#include "code\modules\awaymissions\loot.dm" +#include "code\modules\awaymissions\pamphlet.dm" +#include "code\modules\awaymissions\trigger.dm" +#include "code\modules\awaymissions\zlevel.dm" +#include "code\modules\awaymissions\maploader\dmm_suite.dm" +#include "code\modules\awaymissions\maploader\reader.dm" +#include "code\modules\awaymissions\maploader\swapmaps.dm" +#include "code\modules\awaymissions\maploader\writer.dm" +#include "code\modules\awaymissions\mission_code\academy.dm" +#include "code\modules\awaymissions\mission_code\beach.dm" +#include "code\modules\awaymissions\mission_code\blackmarketpackers.dm" +#include "code\modules\awaymissions\mission_code\centcomAway.dm" +#include "code\modules\awaymissions\mission_code\challenge.dm" +#include "code\modules\awaymissions\mission_code\clownplanet.dm" +#include "code\modules\awaymissions\mission_code\evil_santa.dm" +#include "code\modules\awaymissions\mission_code\spacebattle.dm" +#include "code\modules\awaymissions\mission_code\stationCollision.dm" +#include "code\modules\awaymissions\mission_code\wildwest.dm" +#include "code\modules\client\asset_cache.dm" +#include "code\modules\client\client defines.dm" +#include "code\modules\client\client procs.dm" +#include "code\modules\client\message.dm" +#include "code\modules\client\preferences.dm" +#include "code\modules\client\preferences_mysql.dm" +#include "code\modules\client\preferences_spawnpoints.dm" +#include "code\modules\client\preferences_toggles.dm" +#include "code\modules\clothing\clothing.dm" +#include "code\modules\clothing\glasses\glasses.dm" +#include "code\modules\clothing\glasses\hud.dm" +#include "code\modules\clothing\gloves\boxing.dm" +#include "code\modules\clothing\gloves\color.dm" +#include "code\modules\clothing\gloves\miscellaneous.dm" +#include "code\modules\clothing\gloves\rings.dm" +#include "code\modules\clothing\head\collectable.dm" +#include "code\modules\clothing\head\hardhat.dm" +#include "code\modules\clothing\head\helmet.dm" +#include "code\modules\clothing\head\jobs.dm" +#include "code\modules\clothing\head\misc.dm" +#include "code\modules\clothing\head\misc_special.dm" +#include "code\modules\clothing\head\soft_caps.dm" +#include "code\modules\clothing\masks\boxing.dm" +#include "code\modules\clothing\masks\breath.dm" +#include "code\modules\clothing\masks\gasmask.dm" +#include "code\modules\clothing\masks\miscellaneous.dm" +#include "code\modules\clothing\masks\voice.dm" +#include "code\modules\clothing\shoes\colour.dm" +#include "code\modules\clothing\shoes\magboots.dm" +#include "code\modules\clothing\shoes\miscellaneous.dm" +#include "code\modules\clothing\spacesuits\alien.dm" +#include "code\modules\clothing\spacesuits\breaches.dm" +#include "code\modules\clothing\spacesuits\chronosuit.dm" +#include "code\modules\clothing\spacesuits\ert.dm" +#include "code\modules\clothing\spacesuits\miscellaneous.dm" +#include "code\modules\clothing\spacesuits\plasmamen.dm" +#include "code\modules\clothing\spacesuits\rig.dm" +#include "code\modules\clothing\spacesuits\syndi.dm" +#include "code\modules\clothing\spacesuits\void.dm" +#include "code\modules\clothing\spacesuits\rig\rig.dm" +#include "code\modules\clothing\spacesuits\rig\rig_attackby.dm" +#include "code\modules\clothing\spacesuits\rig\rig_pieces.dm" +#include "code\modules\clothing\spacesuits\rig\rig_verbs.dm" +#include "code\modules\clothing\spacesuits\rig\rig_wiring.dm" +#include "code\modules\clothing\spacesuits\rig\modules\combat.dm" +#include "code\modules\clothing\spacesuits\rig\modules\computer.dm" +#include "code\modules\clothing\spacesuits\rig\modules\modules.dm" +#include "code\modules\clothing\spacesuits\rig\modules\ninja.dm" +#include "code\modules\clothing\spacesuits\rig\modules\utility.dm" +#include "code\modules\clothing\spacesuits\rig\modules\vision.dm" +#include "code\modules\clothing\spacesuits\rig\suits\alien.dm" +#include "code\modules\clothing\spacesuits\rig\suits\combat.dm" +#include "code\modules\clothing\spacesuits\rig\suits\ert.dm" +#include "code\modules\clothing\spacesuits\rig\suits\light.dm" +#include "code\modules\clothing\spacesuits\rig\suits\merc.dm" +#include "code\modules\clothing\spacesuits\rig\suits\station.dm" +#include "code\modules\clothing\suits\alien.dm" +#include "code\modules\clothing\suits\armor.dm" +#include "code\modules\clothing\suits\bio.dm" +#include "code\modules\clothing\suits\jobs.dm" +#include "code\modules\clothing\suits\labcoat.dm" +#include "code\modules\clothing\suits\miscellaneous.dm" +#include "code\modules\clothing\suits\storage.dm" +#include "code\modules\clothing\suits\utility.dm" +#include "code\modules\clothing\suits\wiz_robe.dm" +#include "code\modules\clothing\under\chameleon.dm" +#include "code\modules\clothing\under\color.dm" +#include "code\modules\clothing\under\miscellaneous.dm" +#include "code\modules\clothing\under\pants.dm" +#include "code\modules\clothing\under\shorts.dm" +#include "code\modules\clothing\under\syndicate.dm" +#include "code\modules\clothing\under\accessories\accessory.dm" +#include "code\modules\clothing\under\accessories\armband.dm" +#include "code\modules\clothing\under\accessories\holster.dm" +#include "code\modules\clothing\under\accessories\storage.dm" +#include "code\modules\clothing\under\jobs\civilian.dm" +#include "code\modules\clothing\under\jobs\engineering.dm" +#include "code\modules\clothing\under\jobs\medsci.dm" +#include "code\modules\clothing\under\jobs\security.dm" +#include "code\modules\computer3\bios.dm" +#include "code\modules\computer3\buildandrepair.dm" +#include "code\modules\computer3\component.dm" +#include "code\modules\computer3\computer.dm" +#include "code\modules\computer3\computer3_notes.dm" +#include "code\modules\computer3\file.dm" +#include "code\modules\computer3\laptop.dm" +#include "code\modules\computer3\lapvend.dm" +#include "code\modules\computer3\networking.dm" +#include "code\modules\computer3\NTOS.dm" +#include "code\modules\computer3\program.dm" +#include "code\modules\computer3\program_disks.dm" +#include "code\modules\computer3\server.dm" +#include "code\modules\computer3\storage.dm" +#include "code\modules\computer3\computers\arcade.dm" +#include "code\modules\computer3\computers\atmos_alert.dm" +#include "code\modules\computer3\computers\camera.dm" +#include "code\modules\computer3\computers\card.dm" +#include "code\modules\computer3\computers\communications.dm" +#include "code\modules\computer3\computers\crew.dm" +#include "code\modules\computer3\computers\customs.dm" +#include "code\modules\computer3\computers\HolodeckControl.dm" +#include "code\modules\computer3\computers\law.dm" +#include "code\modules\computer3\computers\medical.dm" +#include "code\modules\computer3\computers\Operating.dm" +#include "code\modules\computer3\computers\power.dm" +#include "code\modules\computer3\computers\prisoner.dm" +#include "code\modules\computer3\computers\robot.dm" +#include "code\modules\computer3\computers\security.dm" +#include "code\modules\computer3\computers\welcome.dm" +#include "code\modules\crafting\guncrafting.dm" +#include "code\modules\crafting\recipes.dm" +#include "code\modules\crafting\table.dm" +#include "code\modules\customitems\item_defines.dm" +#include "code\modules\customitems\item_spawning.dm" +#include "code\modules\detective_work\detective_work.dm" +#include "code\modules\detective_work\evidence.dm" +#include "code\modules\detective_work\footprints_and_rag.dm" +#include "code\modules\detective_work\scanner.dm" +#include "code\modules\economy\Accounts.dm" +#include "code\modules\economy\Accounts_DB.dm" +#include "code\modules\economy\ATM.dm" +#include "code\modules\economy\Economy.dm" +#include "code\modules\economy\Economy_Events.dm" +#include "code\modules\economy\Economy_Events_Mundane.dm" +#include "code\modules\economy\Economy_TradeDestinations.dm" +#include "code\modules\economy\EFTPOS.dm" +#include "code\modules\economy\Job_Departments.dm" +#include "code\modules\economy\POS.dm" +#include "code\modules\economy\utils.dm" +#include "code\modules\events\alien_infestation.dm" +#include "code\modules\events\anomaly.dm" +#include "code\modules\events\anomaly_bluespace.dm" +#include "code\modules\events\anomaly_flux.dm" +#include "code\modules\events\anomaly_grav.dm" +#include "code\modules\events\anomaly_pyro.dm" +#include "code\modules\events\anomaly_vortex.dm" +#include "code\modules\events\blob.dm" +#include "code\modules\events\brand_intelligence.dm" +#include "code\modules\events\carp_migration.dm" +#include "code\modules\events\communications_blackout.dm" +#include "code\modules\events\dust.dm" +#include "code\modules\events\electrical_storm.dm" +#include "code\modules\events\event.dm" +#include "code\modules\events\event_container.dm" +#include "code\modules\events\event_manager.dm" +#include "code\modules\events\false_alarm.dm" +#include "code\modules\events\grid_check.dm" +#include "code\modules\events\immovable_rod.dm" +#include "code\modules\events\infestation.dm" +#include "code\modules\events\ion_storm.dm" +#include "code\modules\events\mass_hallucination.dm" +#include "code\modules\events\meaty_ores.dm" +#include "code\modules\events\meteors.dm" +#include "code\modules\events\money_hacker.dm" +#include "code\modules\events\money_lotto.dm" +#include "code\modules\events\money_spam.dm" +#include "code\modules\events\prison_break.dm" +#include "code\modules\events\radiation_storm.dm" +#include "code\modules\events\rogue_drones.dm" +#include "code\modules\events\slaughterevent.dm" +#include "code\modules\events\spacevine.dm" +#include "code\modules\events\spider_infestation.dm" +#include "code\modules\events\tear.dm" +#include "code\modules\events\undead.dm" +#include "code\modules\events\vent_clog.dm" +#include "code\modules\events\viral_infection.dm" +#include "code\modules\events\viral_outbreak.dm" +#include "code\modules\events\wallrot.dm" +#include "code\modules\events\wormholes.dm" +#include "code\modules\examine\examine.dm" +#include "code\modules\examine\descriptions\atmospherics.dm" +#include "code\modules\examine\descriptions\engineering.dm" +#include "code\modules\examine\descriptions\medical.dm" +#include "code\modules\examine\descriptions\mobs.dm" +#include "code\modules\examine\descriptions\stacks.dm" +#include "code\modules\examine\descriptions\structures.dm" +#include "code\modules\examine\descriptions\turfs.dm" +#include "code\modules\examine\descriptions\weapons.dm" +#include "code\modules\ext_scripts\irc.dm" +#include "code\modules\ext_scripts\python.dm" +#include "code\modules\fish\fish_eggs.dm" +#include "code\modules\fish\fish_items.dm" +#include "code\modules\fish\fishtank.dm" +#include "code\modules\flufftext\Dreaming.dm" +#include "code\modules\flufftext\Hallucination.dm" +#include "code\modules\flufftext\TextFilters.dm" +#include "code\modules\food\candy_maker.dm" +#include "code\modules\food\cereal_maker.dm" +#include "code\modules\food\cooker.dm" +#include "code\modules\food\customizables.dm" +#include "code\modules\food\deep_fryer.dm" +#include "code\modules\food\food_grill.dm" +#include "code\modules\food\grill_new.dm" +#include "code\modules\food\icecream_vat.dm" +#include "code\modules\food\oven.dm" +#include "code\modules\food\oven_new.dm" +#include "code\modules\food\recipes_candy.dm" +#include "code\modules\food\recipes_grill.dm" +#include "code\modules\food\recipes_microwave.dm" +#include "code\modules\food\recipes_oven.dm" +#include "code\modules\food\recipes_table.dm" +#include "code\modules\garbage_collection\garbage_collector.dm" +#include "code\modules\garbage_collection\gc_testing.dm" +#include "code\modules\holiday\christmas.dm" +#include "code\modules\holiday\holiday.dm" +#include "code\modules\hydroponics\grown.dm" +#include "code\modules\hydroponics\grown_inedible.dm" +#include "code\modules\hydroponics\grown_predefined.dm" +#include "code\modules\hydroponics\hydro_reagents.dm" +#include "code\modules\hydroponics\seed.dm" +#include "code\modules\hydroponics\seed_controller.dm" +#include "code\modules\hydroponics\seed_datums.dm" +#include "code\modules\hydroponics\seed_machines.dm" +#include "code\modules\hydroponics\seed_mobs.dm" +#include "code\modules\hydroponics\seed_packets.dm" +#include "code\modules\hydroponics\seed_storage.dm" +#include "code\modules\hydroponics\spreading\spreading.dm" +#include "code\modules\hydroponics\spreading\spreading_growth.dm" +#include "code\modules\hydroponics\spreading\spreading_response.dm" +#include "code\modules\hydroponics\trays\tray.dm" +#include "code\modules\hydroponics\trays\tray_apiary.dm" +#include "code\modules\hydroponics\trays\tray_process.dm" +#include "code\modules\hydroponics\trays\tray_reagents.dm" +#include "code\modules\hydroponics\trays\tray_soil.dm" +#include "code\modules\hydroponics\trays\tray_tools.dm" +#include "code\modules\hydroponics\trays\tray_update_icons.dm" +#include "code\modules\karma\karma.dm" +#include "code\modules\library\lib_items.dm" +#include "code\modules\library\lib_machines.dm" +#include "code\modules\library\lib_readme.dm" +#include "code\modules\lighting\__lighting_docs.dm" +#include "code\modules\lighting\light_source.dm" +#include "code\modules\lighting\lighting_atom.dm" +#include "code\modules\lighting\lighting_overlay.dm" +#include "code\modules\lighting\lighting_process.dm" +#include "code\modules\lighting\lighting_system.dm" +#include "code\modules\lighting\lighting_turf.dm" +#include "code\modules\media\jukebox.dm" +#include "code\modules\media\machinery.dm" +#include "code\modules\media\mediamanager.dm" +#include "code\modules\media\broadcast\receiver.dm" +#include "code\modules\media\broadcast\transmitter.dm" +#include "code\modules\media\broadcast\receivers\radio.dm" +#include "code\modules\media\broadcast\transmitters\broadcast.dm" +#include "code\modules\mining\abandonedcrates.dm" +#include "code\modules\mining\coins.dm" +#include "code\modules\mining\equipment_locker.dm" +#include "code\modules\mining\machine_input_output_plates.dm" +#include "code\modules\mining\machine_processing.dm" +#include "code\modules\mining\machine_stacking.dm" +#include "code\modules\mining\machine_unloading.dm" +#include "code\modules\mining\mine_areas.dm" +#include "code\modules\mining\mine_items.dm" +#include "code\modules\mining\mine_turfs.dm" +#include "code\modules\mining\mint.dm" +#include "code\modules\mining\money_bag.dm" +#include "code\modules\mining\ore.dm" +#include "code\modules\mining\satchel_ore_boxdm.dm" +#include "code\modules\mining\laborcamp\laborminerals.dm" +#include "code\modules\mining\laborcamp\laborshuttle.dm" +#include "code\modules\mining\laborcamp\laborstacker.dm" +#include "code\modules\mob\abilities.dm" +#include "code\modules\mob\death.dm" +#include "code\modules\mob\emote.dm" +#include "code\modules\mob\hear_say.dm" +#include "code\modules\mob\holder.dm" +#include "code\modules\mob\inventory.dm" +#include "code\modules\mob\language.dm" +#include "code\modules\mob\login.dm" +#include "code\modules\mob\logout.dm" +#include "code\modules\mob\mob.dm" +#include "code\modules\mob\mob_defines.dm" +#include "code\modules\mob\mob_grab.dm" +#include "code\modules\mob\mob_helpers.dm" +#include "code\modules\mob\mob_movement.dm" +#include "code\modules\mob\mob_transformation_simple.dm" +#include "code\modules\mob\say.dm" +#include "code\modules\mob\transform_procs.dm" +#include "code\modules\mob\typing_indicator.dm" +#include "code\modules\mob\update_icons.dm" +#include "code\modules\mob\camera\camera.dm" +#include "code\modules\mob\dead\death.dm" +#include "code\modules\mob\dead\observer\login.dm" +#include "code\modules\mob\dead\observer\logout.dm" +#include "code\modules\mob\dead\observer\observer.dm" +#include "code\modules\mob\dead\observer\say.dm" +#include "code\modules\mob\dead\observer\spells.dm" +#include "code\modules\mob\living\autohiss.dm" +#include "code\modules\mob\living\damage_procs.dm" +#include "code\modules\mob\living\default_language.dm" +#include "code\modules\mob\living\life.dm" +#include "code\modules\mob\living\living.dm" +#include "code\modules\mob\living\living_defense.dm" +#include "code\modules\mob\living\living_defines.dm" +#include "code\modules\mob\living\login.dm" +#include "code\modules\mob\living\logout.dm" +#include "code\modules\mob\living\say.dm" +#include "code\modules\mob\living\carbon\_defines.dm" +#include "code\modules\mob\living\carbon\carbon.dm" +#include "code\modules\mob\living\carbon\carbon_defenses.dm" +#include "code\modules\mob\living\carbon\carbon_defines.dm" +#include "code\modules\mob\living\carbon\death.dm" +#include "code\modules\mob\living\carbon\give.dm" +#include "code\modules\mob\living\carbon\life.dm" +#include "code\modules\mob\living\carbon\shock.dm" +#include "code\modules\mob\living\carbon\superheroes.dm" +#include "code\modules\mob\living\carbon\update_icons.dm" +#include "code\modules\mob\living\carbon\alien\alien.dm" +#include "code\modules\mob\living\carbon\alien\alien_defenses.dm" +#include "code\modules\mob\living\carbon\alien\death.dm" +#include "code\modules\mob\living\carbon\alien\life.dm" +#include "code\modules\mob\living\carbon\alien\login.dm" +#include "code\modules\mob\living\carbon\alien\logout.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\alien_powers.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\emote.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\empress.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\humanoid.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\inventory.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\life.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\login.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\queen.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\update_icons.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\caste\drone.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\caste\hunter.dm" +#include "code\modules\mob\living\carbon\alien\humanoid\caste\sentinel.dm" +#include "code\modules\mob\living\carbon\alien\larva\death.dm" +#include "code\modules\mob\living\carbon\alien\larva\emote.dm" +#include "code\modules\mob\living\carbon\alien\larva\inventory.dm" +#include "code\modules\mob\living\carbon\alien\larva\larva.dm" +#include "code\modules\mob\living\carbon\alien\larva\life.dm" +#include "code\modules\mob\living\carbon\alien\larva\powers.dm" +#include "code\modules\mob\living\carbon\alien\larva\update_icons.dm" +#include "code\modules\mob\living\carbon\alien\special\alien_embryo.dm" +#include "code\modules\mob\living\carbon\alien\special\facehugger.dm" +#include "code\modules\mob\living\carbon\brain\brain.dm" +#include "code\modules\mob\living\carbon\brain\brain_item.dm" +#include "code\modules\mob\living\carbon\brain\death.dm" +#include "code\modules\mob\living\carbon\brain\emote.dm" +#include "code\modules\mob\living\carbon\brain\life.dm" +#include "code\modules\mob\living\carbon\brain\login.dm" +#include "code\modules\mob\living\carbon\brain\MMI.dm" +#include "code\modules\mob\living\carbon\brain\posibrain.dm" +#include "code\modules\mob\living\carbon\brain\say.dm" +#include "code\modules\mob\living\carbon\human\appearance.dm" +#include "code\modules\mob\living\carbon\human\body_accessories.dm" +#include "code\modules\mob\living\carbon\human\death.dm" +#include "code\modules\mob\living\carbon\human\emote.dm" +#include "code\modules\mob\living\carbon\human\examine.dm" +#include "code\modules\mob\living\carbon\human\human.dm" +#include "code\modules\mob\living\carbon\human\human_attackalien.dm" +#include "code\modules\mob\living\carbon\human\human_attackhand.dm" +#include "code\modules\mob\living\carbon\human\human_damage.dm" +#include "code\modules\mob\living\carbon\human\human_defense.dm" +#include "code\modules\mob\living\carbon\human\human_defines.dm" +#include "code\modules\mob\living\carbon\human\human_movement.dm" +#include "code\modules\mob\living\carbon\human\human_organs.dm" +#include "code\modules\mob\living\carbon\human\inventory.dm" +#include "code\modules\mob\living\carbon\human\life.dm" +#include "code\modules\mob\living\carbon\human\login.dm" +#include "code\modules\mob\living\carbon\human\npcs.dm" +#include "code\modules\mob\living\carbon\human\say.dm" +#include "code\modules\mob\living\carbon\human\update_icons.dm" +#include "code\modules\mob\living\carbon\human\whisper.dm" +#include "code\modules\mob\living\carbon\human\species\apollo.dm" +#include "code\modules\mob\living\carbon\human\species\golem.dm" +#include "code\modules\mob\living\carbon\human\species\monkey.dm" +#include "code\modules\mob\living\carbon\human\species\plasmaman.dm" +#include "code\modules\mob\living\carbon\human\species\shadow.dm" +#include "code\modules\mob\living\carbon\human\species\skeleton.dm" +#include "code\modules\mob\living\carbon\human\species\species.dm" +#include "code\modules\mob\living\carbon\human\species\station.dm" +#include "code\modules\mob\living\carbon\slime\death.dm" +#include "code\modules\mob\living\carbon\slime\emote.dm" +#include "code\modules\mob\living\carbon\slime\examine.dm" +#include "code\modules\mob\living\carbon\slime\life.dm" +#include "code\modules\mob\living\carbon\slime\login.dm" +#include "code\modules\mob\living\carbon\slime\powers.dm" +#include "code\modules\mob\living\carbon\slime\say.dm" +#include "code\modules\mob\living\carbon\slime\slime.dm" +#include "code\modules\mob\living\carbon\slime\subtypes.dm" +#include "code\modules\mob\living\carbon\slime\update_icons.dm" +#include "code\modules\mob\living\silicon\death.dm" +#include "code\modules\mob\living\silicon\emote.dm" +#include "code\modules\mob\living\silicon\laws.dm" +#include "code\modules\mob\living\silicon\login.dm" +#include "code\modules\mob\living\silicon\say.dm" +#include "code\modules\mob\living\silicon\silicon.dm" +#include "code\modules\mob\living\silicon\subsystems.dm" +#include "code\modules\mob\living\silicon\ai\ai.dm" +#include "code\modules\mob\living\silicon\ai\death.dm" +#include "code\modules\mob\living\silicon\ai\examine.dm" +#include "code\modules\mob\living\silicon\ai\latejoin.dm" +#include "code\modules\mob\living\silicon\ai\laws.dm" +#include "code\modules\mob\living\silicon\ai\life.dm" +#include "code\modules\mob\living\silicon\ai\login.dm" +#include "code\modules\mob\living\silicon\ai\logout.dm" +#include "code\modules\mob\living\silicon\ai\say.dm" +#include "code\modules\mob\living\silicon\ai\freelook\cameranet.dm" +#include "code\modules\mob\living\silicon\ai\freelook\chunk.dm" +#include "code\modules\mob\living\silicon\ai\freelook\eye.dm" +#include "code\modules\mob\living\silicon\ai\freelook\read_me.dm" +#include "code\modules\mob\living\silicon\decoy\death.dm" +#include "code\modules\mob\living\silicon\decoy\decoy.dm" +#include "code\modules\mob\living\silicon\decoy\life.dm" +#include "code\modules\mob\living\silicon\pai\death.dm" +#include "code\modules\mob\living\silicon\pai\emote.dm" +#include "code\modules\mob\living\silicon\pai\examine.dm" +#include "code\modules\mob\living\silicon\pai\life.dm" +#include "code\modules\mob\living\silicon\pai\pai.dm" +#include "code\modules\mob\living\silicon\pai\personality.dm" +#include "code\modules\mob\living\silicon\pai\recruit.dm" +#include "code\modules\mob\living\silicon\pai\say.dm" +#include "code\modules\mob\living\silicon\pai\software.dm" +#include "code\modules\mob\living\silicon\pai\software_modules.dm" +#include "code\modules\mob\living\silicon\robot\component.dm" +#include "code\modules\mob\living\silicon\robot\death.dm" +#include "code\modules\mob\living\silicon\robot\emote.dm" +#include "code\modules\mob\living\silicon\robot\examine.dm" +#include "code\modules\mob\living\silicon\robot\inventory.dm" +#include "code\modules\mob\living\silicon\robot\laws.dm" +#include "code\modules\mob\living\silicon\robot\life.dm" +#include "code\modules\mob\living\silicon\robot\login.dm" +#include "code\modules\mob\living\silicon\robot\photos.dm" +#include "code\modules\mob\living\silicon\robot\robot.dm" +#include "code\modules\mob\living\silicon\robot\robot_damage.dm" +#include "code\modules\mob\living\silicon\robot\robot_items.dm" +#include "code\modules\mob\living\silicon\robot\robot_modules.dm" +#include "code\modules\mob\living\silicon\robot\robot_movement.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone_abilities.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone_console.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone_damage.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone_items.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone_manufacturer.dm" +#include "code\modules\mob\living\silicon\robot\drone\drone_say.dm" +#include "code\modules\mob\living\simple_animal\bees.dm" +#include "code\modules\mob\living\simple_animal\constructs.dm" +#include "code\modules\mob\living\simple_animal\corpse.dm" +#include "code\modules\mob\living\simple_animal\parrot.dm" +#include "code\modules\mob\living\simple_animal\pony.dm" +#include "code\modules\mob\living\simple_animal\powers.dm" +#include "code\modules\mob\living\simple_animal\shade.dm" +#include "code\modules\mob\living\simple_animal\simple_animal.dm" +#include "code\modules\mob\living\simple_animal\tribbles.dm" +#include "code\modules\mob\living\simple_animal\vox.dm" +#include "code\modules\mob\living\simple_animal\friendly\butterfly.dm" +#include "code\modules\mob\living\simple_animal\friendly\cat.dm" +#include "code\modules\mob\living\simple_animal\friendly\corgi.dm" +#include "code\modules\mob\living\simple_animal\friendly\corgi_powers.dm" +#include "code\modules\mob\living\simple_animal\friendly\crab.dm" +#include "code\modules\mob\living\simple_animal\friendly\deer.dm" +#include "code\modules\mob\living\simple_animal\friendly\diona.dm" +#include "code\modules\mob\living\simple_animal\friendly\farm_animals.dm" +#include "code\modules\mob\living\simple_animal\friendly\fox.dm" +#include "code\modules\mob\living\simple_animal\friendly\lizard.dm" +#include "code\modules\mob\living\simple_animal\friendly\mouse.dm" +#include "code\modules\mob\living\simple_animal\friendly\pet.dm" +#include "code\modules\mob\living\simple_animal\friendly\pug.dm" +#include "code\modules\mob\living\simple_animal\friendly\slime.dm" +#include "code\modules\mob\living\simple_animal\friendly\spiderbot.dm" +#include "code\modules\mob\living\simple_animal\friendly\tomato.dm" +#include "code\modules\mob\living\simple_animal\hostile\alien.dm" +#include "code\modules\mob\living\simple_animal\hostile\bat.dm" +#include "code\modules\mob\living\simple_animal\hostile\bear.dm" +#include "code\modules\mob\living\simple_animal\hostile\carp.dm" +#include "code\modules\mob\living\simple_animal\hostile\creature.dm" +#include "code\modules\mob\living\simple_animal\hostile\faithless.dm" +#include "code\modules\mob\living\simple_animal\hostile\giant_spider.dm" +#include "code\modules\mob\living\simple_animal\hostile\hivebot.dm" +#include "code\modules\mob\living\simple_animal\hostile\hostile.dm" +#include "code\modules\mob\living\simple_animal\hostile\jungle_animals.dm" +#include "code\modules\mob\living\simple_animal\hostile\mimic.dm" +#include "code\modules\mob\living\simple_animal\hostile\mining_mobs.dm" +#include "code\modules\mob\living\simple_animal\hostile\mushroom.dm" +#include "code\modules\mob\living\simple_animal\hostile\pirate.dm" +#include "code\modules\mob\living\simple_animal\hostile\poison_bees.dm" +#include "code\modules\mob\living\simple_animal\hostile\russian.dm" +#include "code\modules\mob\living\simple_animal\hostile\spaceworms.dm" +#include "code\modules\mob\living\simple_animal\hostile\statue.dm" +#include "code\modules\mob\living\simple_animal\hostile\syndicate.dm" +#include "code\modules\mob\living\simple_animal\hostile\tree.dm" +#include "code\modules\mob\living\simple_animal\hostile\winter_mobs.dm" +#include "code\modules\mob\living\simple_animal\hostile\retaliate\clown.dm" +#include "code\modules\mob\living\simple_animal\hostile\retaliate\drone.dm" +#include "code\modules\mob\living\simple_animal\hostile\retaliate\fish.dm" +#include "code\modules\mob\living\simple_animal\hostile\retaliate\pet.dm" +#include "code\modules\mob\living\simple_animal\hostile\retaliate\retaliate.dm" +#include "code\modules\mob\living\simple_animal\hostile\retaliate\undead.dm" +#include "code\modules\mob\new_player\login.dm" +#include "code\modules\mob\new_player\logout.dm" +#include "code\modules\mob\new_player\new_player.dm" +#include "code\modules\mob\new_player\poll.dm" +#include "code\modules\mob\new_player\preferences_setup.dm" +#include "code\modules\mob\new_player\sprite_accessories.dm" +#include "code\modules\mob\spirit\cultnet.dm" +#include "code\modules\mob\spirit\movement.dm" +#include "code\modules\mob\spirit\spirit.dm" +#include "code\modules\mob\spirit\viewpoint.dm" +#include "code\modules\mob\spirit\mask\mask.dm" +#include "code\modules\mob\spirit\mask\respawn.dm" +#include "code\modules\nano\_JSON.dm" +#include "code\modules\nano\JSON Reader.dm" +#include "code\modules\nano\JSON Writer.dm" +#include "code\modules\nano\nanoexternal.dm" +#include "code\modules\nano\nanomanager.dm" +#include "code\modules\nano\nanomapgen.dm" +#include "code\modules\nano\nanoui.dm" +#include "code\modules\nano\interaction\admin.dm" +#include "code\modules\nano\interaction\base.dm" +#include "code\modules\nano\interaction\conscious.dm" +#include "code\modules\nano\interaction\contained.dm" +#include "code\modules\nano\interaction\default.dm" +#include "code\modules\nano\interaction\inventory.dm" +#include "code\modules\nano\interaction\inventory_deep.dm" +#include "code\modules\nano\interaction\physical.dm" +#include "code\modules\nano\interaction\self.dm" +#include "code\modules\nano\interaction\zlevel.dm" +#include "code\modules\nano\modules\alarm_monitor.dm" +#include "code\modules\nano\modules\atmos_control.dm" +#include "code\modules\nano\modules\crew_monitor.dm" +#include "code\modules\nano\modules\human_appearance.dm" +#include "code\modules\nano\modules\law_manager.dm" +#include "code\modules\nano\modules\nano_module.dm" +#include "code\modules\nano\modules\power_monitor.dm" +#include "code\modules\nano\modules\virus2_creator.dm" +#include "code\modules\ninja\energy_katana.dm" +#include "code\modules\ninja\suit\gloves.dm" +#include "code\modules\ninja\suit\head.dm" +#include "code\modules\ninja\suit\mask.dm" +#include "code\modules\ninja\suit\shoes.dm" +#include "code\modules\ninja\suit\suit.dm" +#include "code\modules\ninja\suit\suit_initialisation.dm" +#include "code\modules\paperwork\carbonpaper.dm" +#include "code\modules\paperwork\clipboard.dm" +#include "code\modules\paperwork\fax.dm" +#include "code\modules\paperwork\faxmachine.dm" +#include "code\modules\paperwork\filingcabinet.dm" +#include "code\modules\paperwork\folders.dm" +#include "code\modules\paperwork\frames.dm" +#include "code\modules\paperwork\handlabeler.dm" +#include "code\modules\paperwork\paper.dm" +#include "code\modules\paperwork\paper_bundle.dm" +#include "code\modules\paperwork\paperbin.dm" +#include "code\modules\paperwork\pen.dm" +#include "code\modules\paperwork\photocopier.dm" +#include "code\modules\paperwork\photography.dm" +#include "code\modules\paperwork\silicon_photography.dm" +#include "code\modules\paperwork\stamps.dm" +#include "code\modules\pda\ai.dm" +#include "code\modules\pda\app.dm" +#include "code\modules\pda\cart.dm" +#include "code\modules\pda\cart_apps.dm" +#include "code\modules\pda\chatroom.dm" +#include "code\modules\pda\core_apps.dm" +#include "code\modules\pda\messenger.dm" +#include "code\modules\pda\messenger_plugins.dm" +#include "code\modules\pda\PDA.dm" +#include "code\modules\pda\pdas.dm" +#include "code\modules\pda\radio.dm" +#include "code\modules\pda\utilities.dm" +#include "code\modules\pooling\pool.dm" +#include "code\modules\power\apc.dm" +#include "code\modules\power\cable.dm" +#include "code\modules\power\cable_heavyduty.dm" +#include "code\modules\power\cable_logic.dm" +#include "code\modules\power\cell.dm" +#include "code\modules\power\engine.dm" +#include "code\modules\power\generator.dm" +#include "code\modules\power\generator_type2.dm" +#include "code\modules\power\gravitygenerator.dm" +#include "code\modules\power\lighting.dm" +#include "code\modules\power\port_gen.dm" +#include "code\modules\power\power.dm" +#include "code\modules\power\powernet.dm" +#include "code\modules\power\smes.dm" +#include "code\modules\power\solar.dm" +#include "code\modules\power\switch.dm" +#include "code\modules\power\terminal.dm" +#include "code\modules\power\tracker.dm" +#include "code\modules\power\turbine.dm" +#include "code\modules\power\singularity\collector.dm" +#include "code\modules\power\singularity\containment_field.dm" +#include "code\modules\power\singularity\emitter.dm" +#include "code\modules\power\singularity\field_generator.dm" +#include "code\modules\power\singularity\generator.dm" +#include "code\modules\power\singularity\investigate.dm" +#include "code\modules\power\singularity\narsie.dm" +#include "code\modules\power\singularity\singularity.dm" +#include "code\modules\power\singularity\particle_accelerator\particle.dm" +#include "code\modules\power\singularity\particle_accelerator\particle_accelerator.dm" +#include "code\modules\power\singularity\particle_accelerator\particle_chamber.dm" +#include "code\modules\power\singularity\particle_accelerator\particle_control.dm" +#include "code\modules\power\singularity\particle_accelerator\particle_emitter.dm" +#include "code\modules\power\singularity\particle_accelerator\particle_power.dm" +#include "code\modules\power\supermatter\supermatter.dm" +#include "code\modules\power\tesla\coil.dm" +#include "code\modules\power\tesla\energy_ball.dm" +#include "code\modules\power\tesla\generator.dm" +#include "code\modules\procedural_mapping\mapGenerator.dm" +#include "code\modules\procedural_mapping\mapGeneratorModule.dm" +#include "code\modules\procedural_mapping\mapGeneratorReadme.dm" +#include "code\modules\procedural_mapping\mapGeneratorModules\helpers.dm" +#include "code\modules\procedural_mapping\mapGeneratorModules\nature.dm" +#include "code\modules\procedural_mapping\mapGenerators\asteroid.dm" +#include "code\modules\procedural_mapping\mapGenerators\nature.dm" +#include "code\modules\procedural_mapping\mapGenerators\syndicate.dm" +#include "code\modules\projectiles\ammunition.dm" +#include "code\modules\projectiles\gun.dm" +#include "code\modules\projectiles\medbeam.dm" +#include "code\modules\projectiles\projectile.dm" +#include "code\modules\projectiles\targeting.dm" +#include "code\modules\projectiles\ammunition\ammo_casings.dm" +#include "code\modules\projectiles\ammunition\boxes.dm" +#include "code\modules\projectiles\ammunition\magazines.dm" +#include "code\modules\projectiles\guns\alien.dm" +#include "code\modules\projectiles\guns\energy.dm" +#include "code\modules\projectiles\guns\magic.dm" +#include "code\modules\projectiles\guns\mounted.dm" +#include "code\modules\projectiles\guns\projectile.dm" +#include "code\modules\projectiles\guns\syringe_gun.dm" +#include "code\modules\projectiles\guns\energy\advtaser.dm" +#include "code\modules\projectiles\guns\energy\blueshield.dm" +#include "code\modules\projectiles\guns\energy\hos.dm" +#include "code\modules\projectiles\guns\energy\laser.dm" +#include "code\modules\projectiles\guns\energy\nuclear.dm" +#include "code\modules\projectiles\guns\energy\pulse.dm" +#include "code\modules\projectiles\guns\energy\special.dm" +#include "code\modules\projectiles\guns\energy\stun.dm" +#include "code\modules\projectiles\guns\energy\telegun.dm" +#include "code\modules\projectiles\guns\energy\temperature.dm" +#include "code\modules\projectiles\guns\magic\staff.dm" +#include "code\modules\projectiles\guns\magic\wand.dm" +#include "code\modules\projectiles\guns\projectile\automatic.dm" +#include "code\modules\projectiles\guns\projectile\crossbow.dm" +#include "code\modules\projectiles\guns\projectile\grenade launcher.dm" +#include "code\modules\projectiles\guns\projectile\launchers.dm" +#include "code\modules\projectiles\guns\projectile\pistol.dm" +#include "code\modules\projectiles\guns\projectile\revolver.dm" +#include "code\modules\projectiles\guns\projectile\rocket.dm" +#include "code\modules\projectiles\guns\projectile\shotgun.dm" +#include "code\modules\projectiles\projectile\beams.dm" +#include "code\modules\projectiles\projectile\bullets.dm" +#include "code\modules\projectiles\projectile\energy.dm" +#include "code\modules\projectiles\projectile\force.dm" +#include "code\modules\projectiles\projectile\magic.dm" +#include "code\modules\projectiles\projectile\special.dm" +#include "code\modules\reagents\Chemistry-Colours.dm" +#include "code\modules\reagents\Chemistry-Holder.dm" +#include "code\modules\reagents\Chemistry-Machinery.dm" +#include "code\modules\reagents\Chemistry-Readme.dm" +#include "code\modules\reagents\dartgun.dm" +#include "code\modules\reagents\grenade_launcher.dm" +#include "code\modules\reagents\reagent_containers.dm" +#include "code\modules\reagents\reagent_dispenser.dm" +#include "code\modules\reagents\newchem\Blob-Reagents.dm" +#include "code\modules\reagents\newchem\chem_heater.dm" +#include "code\modules\reagents\newchem\drinks.dm" +#include "code\modules\reagents\newchem\drugs.dm" +#include "code\modules\reagents\newchem\food.dm" +#include "code\modules\reagents\newchem\medicine.dm" +#include "code\modules\reagents\newchem\newchem_procs.dm" +#include "code\modules\reagents\newchem\other.dm" +#include "code\modules\reagents\newchem\patch.dm" +#include "code\modules\reagents\newchem\pyro.dm" +#include "code\modules\reagents\newchem\toxins.dm" +#include "code\modules\reagents\oldchem\chemical_reaction\_chemical_reaction_base.dm" +#include "code\modules\reagents\oldchem\chemical_reaction\chemical_reaction_drink.dm" +#include "code\modules\reagents\oldchem\chemical_reaction\chemical_reaction_food.dm" +#include "code\modules\reagents\oldchem\chemical_reaction\chemical_reaction_harm.dm" +#include "code\modules\reagents\oldchem\chemical_reaction\chemical_reaction_med.dm" +#include "code\modules\reagents\oldchem\chemical_reaction\chemical_reaction_misc.dm" +#include "code\modules\reagents\oldchem\chemical_reaction\chemical_reaction_slime.dm" +#include "code\modules\reagents\oldchem\reagents\__oldchem_defines.dm" +#include "code\modules\reagents\oldchem\reagents\_reagent_base.dm" +#include "code\modules\reagents\oldchem\reagents\reagents_admin.dm" +#include "code\modules\reagents\oldchem\reagents\reagents_drugs.dm" +#include "code\modules\reagents\oldchem\reagents\reagents_flammable.dm" +#include "code\modules\reagents\oldchem\reagents\reagents_food.dm" +#include "code\modules\reagents\oldchem\reagents\reagents_med.dm" +#include "code\modules\reagents\oldchem\reagents\reagents_misc.dm" +#include "code\modules\reagents\oldchem\reagents\reagents_toxin.dm" +#include "code\modules\reagents\oldchem\reagents\reagents_water.dm" +#include "code\modules\reagents\oldchem\reagents\drink\reagents_alcohol.dm" +#include "code\modules\reagents\oldchem\reagents\drink\reagents_drink.dm" +#include "code\modules\reagents\oldchem\reagents\drink\reagents_drink_base.dm" +#include "code\modules\reagents\oldchem\reagents\drink\reagents_drink_cold.dm" +#include "code\modules\reagents\reagent_containers\blood_pack.dm" +#include "code\modules\reagents\reagent_containers\borghydro.dm" +#include "code\modules\reagents\reagent_containers\dropper.dm" +#include "code\modules\reagents\reagent_containers\drugs.dm" +#include "code\modules\reagents\reagent_containers\food.dm" +#include "code\modules\reagents\reagent_containers\glass_containers.dm" +#include "code\modules\reagents\reagent_containers\hypospray.dm" +#include "code\modules\reagents\reagent_containers\pill.dm" +#include "code\modules\reagents\reagent_containers\robodropper.dm" +#include "code\modules\reagents\reagent_containers\spray.dm" +#include "code\modules\reagents\reagent_containers\syringes.dm" +#include "code\modules\reagents\reagent_containers\food\cans.dm" +#include "code\modules\reagents\reagent_containers\food\condiment.dm" +#include "code\modules\reagents\reagent_containers\food\drinks.dm" +#include "code\modules\reagents\reagent_containers\food\sandwich.dm" +#include "code\modules\reagents\reagent_containers\food\snacks.dm" +#include "code\modules\reagents\reagent_containers\food\drinks\bottle.dm" +#include "code\modules\reagents\reagent_containers\food\drinks\drinkingglass.dm" +#include "code\modules\reagents\reagent_containers\food\drinks\jar.dm" +#include "code\modules\reagents\reagent_containers\food\drinks\bottle\robot.dm" +#include "code\modules\reagents\reagent_containers\food\snacks\candy.dm" +#include "code\modules\reagents\reagent_containers\food\snacks\meat.dm" +#include "code\modules\reagents\reagent_containers\food\snacks\seafood.dm" +#include "code\modules\reagents\reagent_containers\glass\bottle.dm" +#include "code\modules\reagents\reagent_containers\glass\bottle\robot.dm" +#include "code\modules\recycling\conveyor2.dm" +#include "code\modules\recycling\disposal-construction.dm" +#include "code\modules\recycling\disposal.dm" +#include "code\modules\recycling\sortingmachinery.dm" +#include "code\modules\research\circuitprinter.dm" +#include "code\modules\research\designs.dm" +#include "code\modules\research\destructive_analyzer.dm" +#include "code\modules\research\experimentor.dm" +#include "code\modules\research\message_server.dm" +#include "code\modules\research\protolathe.dm" +#include "code\modules\research\rd-readme.dm" +#include "code\modules\research\rdconsole.dm" +#include "code\modules\research\rdmachines.dm" +#include "code\modules\research\research.dm" +#include "code\modules\research\server.dm" +#include "code\modules\research\designs\AI_module_designs.dm" +#include "code\modules\research\designs\autolathe_designs.dm" +#include "code\modules\research\designs\bluespace_designs.dm" +#include "code\modules\research\designs\comp_board_designs.dm" +#include "code\modules\research\designs\equipment_designs.dm" +#include "code\modules\research\designs\janitorial_designs.dm" +#include "code\modules\research\designs\machine_designs.dm" +#include "code\modules\research\designs\mecha_designs.dm" +#include "code\modules\research\designs\mechfabricator_designs.dm" +#include "code\modules\research\designs\medical_designs.dm" +#include "code\modules\research\designs\mining_designs.dm" +#include "code\modules\research\designs\misc_designs.dm" +#include "code\modules\research\designs\power_designs.dm" +#include "code\modules\research\designs\spacepod_designs.dm" +#include "code\modules\research\designs\stock_parts_designs.dm" +#include "code\modules\research\designs\telecomms_designs.dm" +#include "code\modules\research\designs\weapon_designs.dm" +#include "code\modules\research\xenoarchaeology\areas.dm" +#include "code\modules\research\xenoarchaeology\chemistry.dm" +#include "code\modules\research\xenoarchaeology\geosample.dm" +#include "code\modules\research\xenoarchaeology\manuals.dm" +#include "code\modules\research\xenoarchaeology\master_controller.dm" +#include "code\modules\research\xenoarchaeology\misc.dm" +#include "code\modules\research\xenoarchaeology\readme.dm" +#include "code\modules\research\xenoarchaeology\artifact\artifact.dm" +#include "code\modules\research\xenoarchaeology\artifact\artifact_autocloner.dm" +#include "code\modules\research\xenoarchaeology\artifact\artifact_crystal.dm" +#include "code\modules\research\xenoarchaeology\artifact\artifact_gigadrill.dm" +#include "code\modules\research\xenoarchaeology\artifact\artifact_hoverpod.dm" +#include "code\modules\research\xenoarchaeology\artifact\artifact_replicator.dm" +#include "code\modules\research\xenoarchaeology\artifact\artifact_unknown.dm" +#include "code\modules\research\xenoarchaeology\artifact\effect.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_affect_cold.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_badfeeling.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_cellcharge.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_celldrain.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_dnaswitch.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_emp.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_goodfeeling.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_heal.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_heat.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_hurt.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_radiate.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_roboheal.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_robohurt.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_sleepy.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_stun.dm" +#include "code\modules\research\xenoarchaeology\artifact\effects\unknown_effect_teleport.dm" +#include "code\modules\research\xenoarchaeology\finds\finds.dm" +#include "code\modules\research\xenoarchaeology\finds\finds_defines.dm" +#include "code\modules\research\xenoarchaeology\finds\finds_fossils.dm" +#include "code\modules\research\xenoarchaeology\finds\finds_misc.dm" +#include "code\modules\research\xenoarchaeology\finds\finds_special.dm" +#include "code\modules\research\xenoarchaeology\finds\finds_talkingitem.dm" +#include "code\modules\research\xenoarchaeology\genetics\prehistoric_animals.dm" +#include "code\modules\research\xenoarchaeology\genetics\reconstitutor.dm" +#include "code\modules\research\xenoarchaeology\machinery\artifact_analyser.dm" +#include "code\modules\research\xenoarchaeology\machinery\artifact_harvester.dm" +#include "code\modules\research\xenoarchaeology\machinery\artifact_scanner.dm" +#include "code\modules\research\xenoarchaeology\machinery\coolant.dm" +#include "code\modules\research\xenoarchaeology\machinery\geosample_scanner.dm" +#include "code\modules\research\xenoarchaeology\tools\ano_device_battery.dm" +#include "code\modules\research\xenoarchaeology\tools\anomaly_suit.dm" +#include "code\modules\research\xenoarchaeology\tools\bunsen_burner.dm" +#include "code\modules\research\xenoarchaeology\tools\gearbelt.dm" +#include "code\modules\research\xenoarchaeology\tools\suspension_generator.dm" +#include "code\modules\research\xenoarchaeology\tools\tools.dm" +#include "code\modules\research\xenoarchaeology\tools\tools_anoscanner.dm" +#include "code\modules\research\xenoarchaeology\tools\tools_coresampler.dm" +#include "code\modules\research\xenoarchaeology\tools\tools_depthscanner.dm" +#include "code\modules\research\xenoarchaeology\tools\tools_locater.dm" +#include "code\modules\research\xenoarchaeology\tools\tools_pickaxe.dm" +#include "code\modules\research\xenobiology\xenobiology.dm" +#include "code\modules\scripting\Errors.dm" +#include "code\modules\scripting\Options.dm" +#include "code\modules\scripting\AST\AST Nodes.dm" +#include "code\modules\scripting\AST\Blocks.dm" +#include "code\modules\scripting\AST\Statements.dm" +#include "code\modules\scripting\AST\Operators\Binary Operators.dm" +#include "code\modules\scripting\AST\Operators\Unary Operators.dm" +#include "code\modules\scripting\Implementations\_Logic.dm" +#include "code\modules\scripting\Implementations\Telecomms.dm" +#include "code\modules\scripting\Interpreter\Evaluation.dm" +#include "code\modules\scripting\Interpreter\Interaction.dm" +#include "code\modules\scripting\Interpreter\Interpreter.dm" +#include "code\modules\scripting\Interpreter\Scope.dm" +#include "code\modules\scripting\Parser\Expressions.dm" +#include "code\modules\scripting\Parser\Keywords.dm" +#include "code\modules\scripting\Parser\Parser.dm" +#include "code\modules\scripting\Scanner\Scanner.dm" +#include "code\modules\scripting\Scanner\Tokens.dm" +#include "code\modules\security_levels\keycard authentication.dm" +#include "code\modules\security_levels\security levels.dm" +#include "code\modules\shuttle\shuttle.dm" +#include "code\modules\space_transition\space_transition.dm" +#include "code\modules\store\items.dm" +#include "code\modules\store\store.dm" +#include "code\modules\surgery\bones.dm" +#include "code\modules\surgery\encased.dm" +#include "code\modules\surgery\face.dm" +#include "code\modules\surgery\generic.dm" +#include "code\modules\surgery\helpers.dm" +#include "code\modules\surgery\implant.dm" +#include "code\modules\surgery\limb_reattach.dm" +#include "code\modules\surgery\organs_internal.dm" +#include "code\modules\surgery\other.dm" +#include "code\modules\surgery\robotics.dm" +#include "code\modules\surgery\slime.dm" +#include "code\modules\surgery\surgery.dm" +#include "code\modules\surgery\tools.dm" +#include "code\modules\surgery\organs\augments_eyes.dm" +#include "code\modules\surgery\organs\augments_internal.dm" +#include "code\modules\surgery\organs\blood.dm" +#include "code\modules\surgery\organs\body_egg.dm" +#include "code\modules\surgery\organs\helpers.dm" +#include "code\modules\surgery\organs\organ.dm" +#include "code\modules\surgery\organs\organ_external.dm" +#include "code\modules\surgery\organs\organ_icon.dm" +#include "code\modules\surgery\organs\organ_internal.dm" +#include "code\modules\surgery\organs\organ_stump.dm" +#include "code\modules\surgery\organs\pain.dm" +#include "code\modules\surgery\organs\robolimbs.dm" +#include "code\modules\surgery\organs\skeleton.dm" +#include "code\modules\surgery\organs\wound.dm" +#include "code\modules\surgery\organs\subtypes\diona.dm" +#include "code\modules\surgery\organs\subtypes\machine.dm" +#include "code\modules\surgery\organs\subtypes\misc.dm" +#include "code\modules\surgery\organs\subtypes\nucleation.dm" +#include "code\modules\surgery\organs\subtypes\standard.dm" +#include "code\modules\surgery\organs\subtypes\unbreakable.dm" +#include "code\modules\surgery\organs\subtypes\wryn.dm" +#include "code\modules\surgery\organs\subtypes\xenos.dm" +#include "code\modules\telesci\bscrystal.dm" +#include "code\modules\telesci\gps.dm" +#include "code\modules\telesci\telepad.dm" +#include "code\modules\telesci\telesci_computer.dm" +#include "code\modules\tram\tram.dm" +#include "code\modules\tram\tram_control_pad.dm" +#include "code\modules\tram\tram_floor.dm" +#include "code\modules\tram\tram_rail.dm" +#include "code\modules\tram\tram_wall.dm" +#include "code\modules\vehicle\vehicle.dm" +#include "code\modules\vehicle\train\train.dm" +#include "code\modules\vehicle\train\trains\ambulance.dm" +#include "code\modules\vehicle\train\trains\cargo\cargo_train.dm" +#include "code\modules\vehicle\train\trains\cargo\cargo_subtypes\fourwheeler.dm" +#include "code\modules\vehicle\train\trains\cargo\cargo_subtypes\motorcycle.dm" +#include "code\modules\vehicle\train\trains\cargo\cargo_subtypes\sportscar.dm" +#include "code\modules\virus2\analyser.dm" +#include "code\modules\virus2\antibodies.dm" +#include "code\modules\virus2\centrifuge.dm" +#include "code\modules\virus2\curer.dm" +#include "code\modules\virus2\disease2.dm" +#include "code\modules\virus2\diseasesplicer.dm" +#include "code\modules\virus2\dishincubator.dm" +#include "code\modules\virus2\effect.dm" +#include "code\modules\virus2\helpers.dm" +#include "code\modules\virus2\isolator.dm" +#include "code\modules\virus2\items_devices.dm" +#include "interface\interface.dm" +#include "interface\stylesheet.dm" +#include "interface\skin.dmf" +// END_INCLUDE From dd248b4bc01a12b7039c1153a46e668d64349bf2 Mon Sep 17 00:00:00 2001 From: Tastyfish Date: Fri, 11 Mar 2016 04:44:39 -0500 Subject: [PATCH 36/44] Makes doors not process unless controlled by an airlock controller, fixes fire alarm processing leak --- code/game/machinery/doors/airlock.dm | 71 ++++++++++++-------- code/game/machinery/doors/airlock_control.dm | 10 ++- code/game/machinery/doors/brigdoors.dm | 15 ++--- code/game/machinery/firealarm.dm | 9 ++- 4 files changed, 63 insertions(+), 42 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 960bc9c3b50..c929e279d6b 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -30,6 +30,9 @@ var/electrified_until = 0 // World time when the door is no longer electrified. -1 if it is permanently electrified until someone fixes it. var/main_power_lost_until = 0 //World time when main power is restored. var/backup_power_lost_until = -1 //World time when backup power is restored. + var/electrified_timer = null + var/main_power_timer = null + var/backup_power_timer = null var/spawnPowerRestoreRunning = 0 var/welded = null var/locked = 0 @@ -208,30 +211,17 @@ desc = "And they said I was crazy." icon = 'icons/obj/doors/Dooruranium.dmi' mineral = "uranium" - var/last_event = 0 + var/event_step = 20 -/obj/machinery/door/airlock/process() - // Deliberate no call to parent. - if(main_power_lost_until > 0 && world.time >= main_power_lost_until) - regainMainPower() - - if(backup_power_lost_until > 0 && world.time >= backup_power_lost_until) - regainBackupPower() - - else if(electrified_until > 0 && world.time >= electrified_until) - electrify(0) - -/obj/machinery/door/airlock/uranium/process() - if(world.time > last_event+20) - if(prob(50)) - radiate() - last_event = world.time +/obj/machinery/door/airlock/uranium/New() ..() + addtimer(src, "radiate", event_step) /obj/machinery/door/airlock/uranium/proc/radiate() - for(var/mob/living/L in range (3,src)) - L.apply_effect(15,IRRADIATE,0) - return + if(prob(50)) + for(var/mob/living/L in range (3,src)) + L.apply_effect(15,IRRADIATE,0) + addtimer(src, "radiate", event_step) /obj/machinery/door/airlock/plasma name = "plasma airlock" @@ -338,6 +328,15 @@ About the new airlock wires panel: /obj/machinery/door/airlock/Destroy() qdel(wires) wires = null + if(main_power_timer) + deltimer(main_power_timer) + main_power_timer = null + if(backup_power_timer) + deltimer(backup_power_timer) + backup_power_timer = null + if(electrified_timer) + deltimer(electrified_timer) + electrified_timer = null return ..() /obj/machinery/door/airlock/bumpopen(mob/living/user as mob) //Airlocks now zap you when you 'bump' them open when they're electrified. --NeoFite @@ -399,10 +398,13 @@ About the new airlock wires panel: /obj/machinery/door/airlock/proc/loseMainPower() main_power_lost_until = mainPowerCablesCut() ? -1 : world.time + SecondsToTicks(60) + if(main_power_lost_until > 0) + main_power_timer = addtimer(src, "regainMainPower", SecondsToTicks(60), 1) // If backup power is permanently disabled then activate in 10 seconds if possible, otherwise it's already enabled or a timer is already running if(backup_power_lost_until == -1 && !backupPowerCablesCut()) backup_power_lost_until = world.time + SecondsToTicks(10) + backup_power_timer = addtimer(src, "regainBackupPower", SecondsToTicks(10), 1) // Disable electricity if required if(electrified_until && isAllPowerLoss()) @@ -410,12 +412,16 @@ About the new airlock wires panel: /obj/machinery/door/airlock/proc/loseBackupPower() backup_power_lost_until = backupPowerCablesCut() ? -1 : world.time + SecondsToTicks(60) + if(backup_power_lost_until > 0) + backup_power_timer = addtimer(src, "regainBackupPower", SecondsToTicks(60), 1) // Disable electricity if required if(electrified_until && isAllPowerLoss()) electrify(0) /obj/machinery/door/airlock/proc/regainMainPower() + main_power_timer = null + if(!mainPowerCablesCut()) main_power_lost_until = 0 // If backup power is currently active then disable, otherwise let it count down and disable itself later @@ -424,22 +430,28 @@ About the new airlock wires panel: update_icon() /obj/machinery/door/airlock/proc/regainBackupPower() + backup_power_timer = null + if(!backupPowerCablesCut()) // Restore backup power only if main power is offline, otherwise permanently disable backup_power_lost_until = main_power_lost_until == 0 ? -1 : 0 update_icon() /obj/machinery/door/airlock/proc/electrify(var/duration, var/feedback = 0) + if(electrified_timer) + deltimer(electrified_timer) + electrified_timer = null + var/message = "" - if(src.isWireCut(AIRLOCK_WIRE_ELECTRIFY) && arePowerSystemsOn()) + if(isWireCut(AIRLOCK_WIRE_ELECTRIFY) && arePowerSystemsOn()) message = text("The electrification wire is cut - Door permanently electrified.") - src.electrified_until = -1 + electrified_until = -1 else if(duration && !arePowerSystemsOn()) message = text("The door is unpowered - Cannot electrify the door.") - src.electrified_until = 0 + electrified_until = 0 else if(!duration && electrified_until != 0) message = "The door is now un-electrified." - src.electrified_until = 0 + electrified_until = 0 else if(duration) //electrify door for the given duration seconds if(usr) shockedby += text("\[[time_stamp()]\] - [usr](ckey:[usr.ckey])") @@ -447,7 +459,8 @@ About the new airlock wires panel: else shockedby += text("\[[time_stamp()]\] - EMP)") message = "The door is now electrified [duration == -1 ? "permanently" : "for [duration] second\s"]." - src.electrified_until = duration == -1 ? -1 : world.time + SecondsToTicks(duration) + electrified_until = duration == -1 ? -1 : world.time + SecondsToTicks(duration) + electrified_timer = addtimer(src, "electrify", SecondsToTicks(duration), 1, 0) if(feedback && message) usr << message @@ -686,23 +699,23 @@ About the new airlock wires panel: usr << text("The electrification wire is cut - Door permanently electrified.") else if(!activate && electrified_until != 0) usr << "The door is now un-electrified." - src.electrified_until = 0 + electrify(0) else if(activate) //electrify door for 30 seconds shockedby += text("\[[time_stamp()]\][usr](ckey:[usr.ckey])") usr.attack_log += text("\[[time_stamp()]\] Electrified the [name] at [x] [y] [z]") usr << "The door is now electrified for thirty seconds." - src.electrified_until = world.time + SecondsToTicks(30) + electrify(30) if("electrify_permanently") if(src.isWireCut(AIRLOCK_WIRE_ELECTRIFY)) usr << text("The electrification wire is cut - Cannot electrify the door.") else if(!activate && electrified_until != 0) usr << "The door is now un-electrified." - src.electrified_until = 0 + electrify(0) else if(activate) shockedby += text("\[[time_stamp()]\][usr](ckey:[usr.ckey])") usr.attack_log += text("\[[time_stamp()]\] Electrified the [name] at [x] [y] [z]") usr << "The door is now electrified." - electrified_until = -1 + electrify(-1) if("open") if(src.welded) usr << text("The airlock has been welded shut!") diff --git a/code/game/machinery/doors/airlock_control.dm b/code/game/machinery/doors/airlock_control.dm index 81ea94c6e12..e9e1d03831f 100644 --- a/code/game/machinery/doors/airlock_control.dm +++ b/code/game/machinery/doors/airlock_control.dm @@ -9,10 +9,11 @@ obj/machinery/door/airlock var/cur_command = null //the command the door is currently attempting to complete obj/machinery/door/airlock/process() - ..() - if (arePowerSystemsOn()) + if(arePowerSystemsOn() && cur_command) spawn() execute_current_command() + else + return PROCESS_KILL obj/machinery/door/airlock/receive_signal(datum/signal/signal) if (!arePowerSystemsOn()) return //no power @@ -33,8 +34,11 @@ obj/machinery/door/airlock/proc/execute_current_command() return do_command(cur_command) - if (command_completed(cur_command)) + if(command_completed(cur_command)) cur_command = null + else + if(!(src in machines)) + addAtProcessing() obj/machinery/door/airlock/proc/do_command(var/command) switch(command) diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm index b150723c704..378ea22c6da 100644 --- a/code/game/machinery/doors/brigdoors.dm +++ b/code/game/machinery/doors/brigdoors.dm @@ -65,7 +65,6 @@ // if it's less than 0, open door, reset timer // update the door_timer window and the icon /obj/machinery/door_timer/process() - if(stat & (NOPOWER|BROKEN)) return if(timing) @@ -73,22 +72,20 @@ // (no seriously there's gotta be a better way to do this) var/timeleft = timeleft() if(timeleft > 1e5) - src.releasetime = 0 + releasetime = 0 - if(world.timeofday > src.releasetime) - Radio.autosay("Timer has expired. Releasing prisoner.", src.name, "Security", list(src.z)) + if(world.timeofday > releasetime) + Radio.autosay("Timer has expired. Releasing prisoner.", name, "Security", list(z)) timer_end() // open doors, reset timer, clear status screen timing = 0 + . = PROCESS_KILL src.updateUsrDialog() src.update_icon() - else timer_end() - - return - + return PROCESS_KILL // has the door power situation changed, if so update icon. /obj/machinery/door_timer/power_change() @@ -106,6 +103,8 @@ // Set releasetime releasetime = world.timeofday + timetoset + if(!(src in machines)) + addAtProcessing() for(var/obj/machinery/door/window/brigdoor/door in targets) if(door.density) continue diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index b6fd5a66e1c..113a4f0be9e 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -142,7 +142,7 @@ FIRE ALARM alarm() time = 0 timing = 0 - processing_objects.Remove(src) + processing_objects -= src updateDialog() last_process = world.timeofday @@ -244,9 +244,14 @@ FIRE ALARM else if(href_list["alarm"]) alarm() else if(href_list["time"]) + var/oldTiming = timing timing = text2num(href_list["time"]) last_process = world.timeofday - processing_objects.Add(src) + if(oldTiming != timing) + if(timing) + processing_objects += src + else + processing_objects -= src else if(href_list["tp"]) var/tp = text2num(href_list["tp"]) time += tp From 1030cd1c4d280c238a14488e90add2ad10c68c44 Mon Sep 17 00:00:00 2001 From: Tastyfish Date: Fri, 11 Mar 2016 18:29:14 -0500 Subject: [PATCH 37/44] Fixes admin removing vamp --- code/game/gamemodes/vampire/vampire.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/vampire/vampire.dm b/code/game/gamemodes/vampire/vampire.dm index c1d23e0c1b0..264a280e3e0 100644 --- a/code/game/gamemodes/vampire/vampire.dm +++ b/code/game/gamemodes/vampire/vampire.dm @@ -243,7 +243,7 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha var/A = get_ability(path) if(A) powers -= A - owner.spell_list.Remove(A) + owner.mind.spell_list.Remove(A) qdel(A) /mob/proc/make_vampire() From 785aa11c1ae4dd7b2484051a115763d8114734a7 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Fri, 11 Mar 2016 21:22:29 -0500 Subject: [PATCH 38/44] Automatic changelog generation for PR #3831 --- html/changelogs/AutoChangeLog-pr-3831.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3831.yml diff --git a/html/changelogs/AutoChangeLog-pr-3831.yml b/html/changelogs/AutoChangeLog-pr-3831.yml new file mode 100644 index 00000000000..c3577cfbfe7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3831.yml @@ -0,0 +1,6 @@ +author: FalseIncarnate +delete-after: True +changes: + - tweak: "Xeno-botany is now more user-friendly, and less random letters/numbers." + - rscadd: "Hydroponics now has a connector hooked up to the isolation tray and a new connector in their back room for those strange plants that like spewing plasma or eating nitrogen." + - rscadd: "You can now (finally) build the xeno-botany machines, and science can print off their respective boards." From af6d3e28ff127a6e85f2446c48d2c264835e7ed5 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Fri, 11 Mar 2016 21:22:46 -0500 Subject: [PATCH 39/44] Automatic changelog generation for PR #3824 --- html/changelogs/AutoChangeLog-pr-3824.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3824.yml diff --git a/html/changelogs/AutoChangeLog-pr-3824.yml b/html/changelogs/AutoChangeLog-pr-3824.yml new file mode 100644 index 00000000000..5f786630679 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3824.yml @@ -0,0 +1,7 @@ +author: Tastyfish +delete-after: True +changes: + - tweak: "Vampire abilities are now in their own Vampire tab, as well being action buttons at the top, like spells." + - bugfix: "Cloning a vampire no longer makes them lose their abilities." + - bugfix: "Vampires can no longer hypnotize chaplains." + - bugfix: "Being a full vampire (500+ total blood) actually makes you immune to holy water reliably now." From c315c5289780bb1ab458cf22a090d6e7a667bd52 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Fri, 11 Mar 2016 21:26:45 -0500 Subject: [PATCH 40/44] Automatic changelog generation for PR #3823 --- html/changelogs/AutoChangeLog-pr-3823.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3823.yml diff --git a/html/changelogs/AutoChangeLog-pr-3823.yml b/html/changelogs/AutoChangeLog-pr-3823.yml new file mode 100644 index 00000000000..e3a1489bb76 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3823.yml @@ -0,0 +1,5 @@ +author: Fox McCloud +delete-after: True +changes: + - rscadd: "Adds X-Ray, Thermal, Anti-tun, and Reviver implants to the nuke ops uplink (augments come with one auto-implanter) +rcsadd: Adds in augment auto-implanter, which inserts and implant without surgery" From 6103483dbb7f3c97a8bb9efc2d82a5a43d67a60e Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Fri, 11 Mar 2016 21:26:55 -0500 Subject: [PATCH 41/44] Automatic changelog generation for PR #3822 --- html/changelogs/AutoChangeLog-pr-3822.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3822.yml diff --git a/html/changelogs/AutoChangeLog-pr-3822.yml b/html/changelogs/AutoChangeLog-pr-3822.yml new file mode 100644 index 00000000000..8da4f8c5a22 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3822.yml @@ -0,0 +1,4 @@ +author: Fox McCloud +delete-after: True +changes: + - rscadd: "Updates slot machines to have higher jackpots and more payouts with more interesting sounds" From bd86c2209cc7c3f383ec7be730ada6eec1314529 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Fri, 11 Mar 2016 21:27:55 -0500 Subject: [PATCH 42/44] Automatic changelog generation for PR #3832 --- html/changelogs/AutoChangeLog-pr-3832.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3832.yml diff --git a/html/changelogs/AutoChangeLog-pr-3832.yml b/html/changelogs/AutoChangeLog-pr-3832.yml new file mode 100644 index 00000000000..4e07ac83591 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3832.yml @@ -0,0 +1,7 @@ +author: monster860 +delete-after: True +changes: + - rscadd: "Mining station now has a podbay." + - rscadd: "Ore scooping module for the spacepod." + - rscadd: "Three mining lasers for spacepod: Basic, normal, and burst." + - bugfix: "Shooting weapons south or west of spacepod will actually hit adjacent targets now, and won't shoot through walls anymore." From 617822108db2a6a86b3b98f03d8189eb28ee5554 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Fri, 11 Mar 2016 21:28:23 -0500 Subject: [PATCH 43/44] Automatic changelog generation for PR #3821 --- html/changelogs/AutoChangeLog-pr-3821.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3821.yml diff --git a/html/changelogs/AutoChangeLog-pr-3821.yml b/html/changelogs/AutoChangeLog-pr-3821.yml new file mode 100644 index 00000000000..10c4d49d537 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3821.yml @@ -0,0 +1,5 @@ +author: Crazylemon64 +delete-after: True +changes: + - tweak: "Slime people can now regrow limbs on a more lax nutrition requirement" + - tweak: "Enhances the nutripump+ to let slime people regrow limbs with it active" From da806675881509b3d3d70b6db4bf89e75e2e70dc Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Fri, 11 Mar 2016 22:21:02 -0500 Subject: [PATCH 44/44] Automatic changelog generation for PR #3815 --- html/changelogs/AutoChangeLog-pr-3815.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3815.yml diff --git a/html/changelogs/AutoChangeLog-pr-3815.yml b/html/changelogs/AutoChangeLog-pr-3815.yml new file mode 100644 index 00000000000..d1e17047310 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3815.yml @@ -0,0 +1,4 @@ +author: taukausanake +delete-after: True +changes: + - rscadd: "Mice can now be picked up like diona"