From 6dbdfa0c145d114bd21f71565acce8d3a6d4e164 Mon Sep 17 00:00:00 2001
From: Ghom <42542238+Ghommie@users.noreply.github.com>
Date: Fri, 17 Jan 2020 22:34:38 +0100
Subject: [PATCH] Merge pull request #10570 from kevinz000/map_network_helpers
Power cable + auto mapping helpers
---
.../_mapping_helpers.dm} | 87 -
.../mapping/mapping_helpers/baseturf.dm | 82 +
.../network_builder/_network_builder.dm | 43 +
.../network_builder/atmos_pipe.dm | 96 +
.../network_builder/power_cables.dm | 189 +
code/modules/power/cable.dm | 1704 ++---
icons/effects/mapping_helpers.dmi | Bin 5656 -> 6878 bytes
tgstation.dme | 6556 +++++++++--------
8 files changed, 4544 insertions(+), 4213 deletions(-)
rename code/modules/mapping/{mapping_helpers.dm => mapping_helpers/_mapping_helpers.dm} (59%)
create mode 100644 code/modules/mapping/mapping_helpers/baseturf.dm
create mode 100644 code/modules/mapping/mapping_helpers/network_builder/_network_builder.dm
create mode 100644 code/modules/mapping/mapping_helpers/network_builder/atmos_pipe.dm
create mode 100644 code/modules/mapping/mapping_helpers/network_builder/power_cables.dm
diff --git a/code/modules/mapping/mapping_helpers.dm b/code/modules/mapping/mapping_helpers/_mapping_helpers.dm
similarity index 59%
rename from code/modules/mapping/mapping_helpers.dm
rename to code/modules/mapping/mapping_helpers/_mapping_helpers.dm
index 5f0df36d..68bafcc2 100644
--- a/code/modules/mapping/mapping_helpers.dm
+++ b/code/modules/mapping/mapping_helpers/_mapping_helpers.dm
@@ -1,90 +1,4 @@
//Landmarks and other helpers which speed up the mapping process and reduce the number of unique instances/subtypes of items/turf/ect
-
-
-
-/obj/effect/baseturf_helper //Set the baseturfs of every turf in the /area/ it is placed.
- name = "baseturf editor"
- icon = 'icons/effects/mapping_helpers.dmi'
- icon_state = ""
-
- var/list/baseturf_to_replace
- var/baseturf
-
- layer = POINT_LAYER
-
-/obj/effect/baseturf_helper/Initialize()
- . = ..()
- return INITIALIZE_HINT_LATELOAD
-
-/obj/effect/baseturf_helper/LateInitialize()
- if(!baseturf_to_replace)
- baseturf_to_replace = typecacheof(list(/turf/open/space,/turf/baseturf_bottom))
- else if(!length(baseturf_to_replace))
- baseturf_to_replace = list(baseturf_to_replace = TRUE)
- else if(baseturf_to_replace[baseturf_to_replace[1]] != TRUE) // It's not associative
- var/list/formatted = list()
- for(var/i in baseturf_to_replace)
- formatted[i] = TRUE
- baseturf_to_replace = formatted
-
- var/area/our_area = get_area(src)
- for(var/i in get_area_turfs(our_area, z))
- replace_baseturf(i)
-
- qdel(src)
-
-/obj/effect/baseturf_helper/proc/replace_baseturf(turf/thing)
- var/list/baseturf_cache = thing.baseturfs
- if(length(baseturf_cache))
- for(var/i in baseturf_cache)
- if(baseturf_to_replace[i])
- baseturf_cache -= i
- if(!baseturf_cache.len)
- thing.assemble_baseturfs(baseturf)
- else
- thing.PlaceOnBottom(null, baseturf)
- else if(baseturf_to_replace[thing.baseturfs])
- thing.assemble_baseturfs(baseturf)
- else
- thing.PlaceOnBottom(null, baseturf)
-
-/obj/effect/baseturf_helper/space
- name = "space baseturf editor"
- baseturf = /turf/open/space
-
-/obj/effect/baseturf_helper/asteroid
- name = "asteroid baseturf editor"
- baseturf = /turf/open/floor/plating/asteroid
-
-/obj/effect/baseturf_helper/asteroid/airless
- name = "asteroid airless baseturf editor"
- baseturf = /turf/open/floor/plating/asteroid/airless
-
-/obj/effect/baseturf_helper/asteroid/basalt
- name = "asteroid basalt baseturf editor"
- baseturf = /turf/open/floor/plating/asteroid/basalt
-
-/obj/effect/baseturf_helper/asteroid/snow
- name = "asteroid snow baseturf editor"
- baseturf = /turf/open/floor/plating/asteroid/snow
-
-/obj/effect/baseturf_helper/beach/sand
- name = "beach sand baseturf editor"
- baseturf = /turf/open/floor/plating/beach/sand
-
-/obj/effect/baseturf_helper/beach/water
- name = "water baseturf editor"
- baseturf = /turf/open/floor/plating/beach/water
-
-/obj/effect/baseturf_helper/lava
- name = "lava baseturf editor"
- baseturf = /turf/open/lava/smooth
-
-/obj/effect/baseturf_helper/lava_land/surface
- name = "lavaland baseturf editor"
- baseturf = /turf/open/lava/smooth/lava_land_surface
-
-
/obj/effect/mapping_helpers
icon = 'icons/effects/mapping_helpers.dmi'
icon_state = ""
@@ -94,7 +8,6 @@
..()
return late ? INITIALIZE_HINT_LATELOAD : INITIALIZE_HINT_QDEL
-
//airlock helpers
/obj/effect/mapping_helpers/airlock
layer = DOOR_HELPER_LAYER
diff --git a/code/modules/mapping/mapping_helpers/baseturf.dm b/code/modules/mapping/mapping_helpers/baseturf.dm
new file mode 100644
index 00000000..f4bd0d7c
--- /dev/null
+++ b/code/modules/mapping/mapping_helpers/baseturf.dm
@@ -0,0 +1,82 @@
+/obj/effect/baseturf_helper //Set the baseturfs of every turf in the /area/ it is placed.
+ name = "baseturf editor"
+ icon = 'icons/effects/mapping_helpers.dmi'
+ icon_state = ""
+
+ var/list/baseturf_to_replace
+ var/baseturf
+
+ layer = POINT_LAYER
+
+/obj/effect/baseturf_helper/Initialize()
+ . = ..()
+ return INITIALIZE_HINT_LATELOAD
+
+/obj/effect/baseturf_helper/LateInitialize()
+ if(!baseturf_to_replace)
+ baseturf_to_replace = typecacheof(list(/turf/open/space,/turf/baseturf_bottom))
+ else if(!length(baseturf_to_replace))
+ baseturf_to_replace = list(baseturf_to_replace = TRUE)
+ else if(baseturf_to_replace[baseturf_to_replace[1]] != TRUE) // It's not associative
+ var/list/formatted = list()
+ for(var/i in baseturf_to_replace)
+ formatted[i] = TRUE
+ baseturf_to_replace = formatted
+
+ var/area/our_area = get_area(src)
+ for(var/i in get_area_turfs(our_area, z))
+ replace_baseturf(i)
+
+ qdel(src)
+
+/obj/effect/baseturf_helper/proc/replace_baseturf(turf/thing)
+ var/list/baseturf_cache = thing.baseturfs
+ if(length(baseturf_cache))
+ for(var/i in baseturf_cache)
+ if(baseturf_to_replace[i])
+ baseturf_cache -= i
+ if(!baseturf_cache.len)
+ thing.assemble_baseturfs(baseturf)
+ else
+ thing.PlaceOnBottom(null, baseturf)
+ else if(baseturf_to_replace[thing.baseturfs])
+ thing.assemble_baseturfs(baseturf)
+ else
+ thing.PlaceOnBottom(null, baseturf)
+
+/obj/effect/baseturf_helper/space
+ name = "space baseturf editor"
+ baseturf = /turf/open/space
+
+/obj/effect/baseturf_helper/asteroid
+ name = "asteroid baseturf editor"
+ baseturf = /turf/open/floor/plating/asteroid
+
+/obj/effect/baseturf_helper/asteroid/airless
+ name = "asteroid airless baseturf editor"
+ baseturf = /turf/open/floor/plating/asteroid/airless
+
+/obj/effect/baseturf_helper/asteroid/basalt
+ name = "asteroid basalt baseturf editor"
+ baseturf = /turf/open/floor/plating/asteroid/basalt
+
+/obj/effect/baseturf_helper/asteroid/snow
+ name = "asteroid snow baseturf editor"
+ baseturf = /turf/open/floor/plating/asteroid/snow
+
+/obj/effect/baseturf_helper/beach/sand
+ name = "beach sand baseturf editor"
+ baseturf = /turf/open/floor/plating/beach/sand
+
+/obj/effect/baseturf_helper/beach/water
+ name = "water baseturf editor"
+ baseturf = /turf/open/floor/plating/beach/water
+
+/obj/effect/baseturf_helper/lava
+ name = "lava baseturf editor"
+ baseturf = /turf/open/lava/smooth
+
+/obj/effect/baseturf_helper/lava_land/surface
+ name = "lavaland baseturf editor"
+ baseturf = /turf/open/lava/smooth/lava_land_surface
+
diff --git a/code/modules/mapping/mapping_helpers/network_builder/_network_builder.dm b/code/modules/mapping/mapping_helpers/network_builder/_network_builder.dm
new file mode 100644
index 00000000..78a835cf
--- /dev/null
+++ b/code/modules/mapping/mapping_helpers/network_builder/_network_builder.dm
@@ -0,0 +1,43 @@
+//Builds networks like power cables/atmos lines/etc
+//Just a holder parent type for now..
+/obj/effect/mapping_helpers/network_builder
+ /// set var to true to not del on lateload
+ var/custom_spawned = FALSE
+
+ icon = 'icons/effects/mapping_helpers.dmi'
+
+ late = TRUE
+ /// what directions we know connections are in
+ var/list/network_directions = list()
+
+/obj/effect/mapping_helpers/network_builder/Initialize(mapload)
+ . = ..()
+ to_chat(world, "DEBUG: Initializing [COORD(src)]")
+ var/conflict = check_duplicates()
+ if(conflict)
+ stack_trace("WARNING: [type] network building helper found check_duplicates() conflict [conflict] in its location.!")
+ return INITIALIZE_HINT_QDEL
+ if(!mapload)
+ if(GLOB.Debug2)
+ custom_spawned = TRUE
+ return INITIALIZE_HINT_NORMAL
+ else
+ return INITIALIZE_HINT_QDEL
+ return INITIALIZE_HINT_LATELOAD
+
+/// How this works: On LateInitialize, detect all directions that this should be applicable to, and do what it needs to do, and then inform all network builders in said directions that it's been around since it won't be around afterwards.
+/obj/effect/mapping_helpers/network_builder/LateInitialize()
+ to_chat(world, "DEBUG: LateInitializing [COORD(src)]")
+ scan_directions()
+ build_network()
+ if(!custom_spawned)
+ qdel(src)
+
+/obj/effect/mapping_helpers/network_builder/proc/check_duplicates()
+ CRASH("Base abstract network builder tried to check duplicates.")
+
+/obj/effect/mapping_helpers/network_builder/proc/scan_directions()
+ CRASH("Base abstract network builder tried to scan directions.")
+
+/obj/effect/mapping_helpers/network_builder/proc/build_network()
+ CRASH("Base abstract network builder tried to build network.")
diff --git a/code/modules/mapping/mapping_helpers/network_builder/atmos_pipe.dm b/code/modules/mapping/mapping_helpers/network_builder/atmos_pipe.dm
new file mode 100644
index 00000000..1983bab3
--- /dev/null
+++ b/code/modules/mapping/mapping_helpers/network_builder/atmos_pipe.dm
@@ -0,0 +1,96 @@
+/* Automatically places pipes on init based on any pipes connecting to it and adjacent helpers. Only supports cardinals.
+ * Conflicts with ANY PIPE ON ITS LAYER, as well as atmos network build helpers on the same layer, as well as any pipe on all layers. Do those manually.
+*/
+/obj/effect/mapping_helpers/network_builder/atmos_pipe
+ name = "atmos pipe autobuilder"
+ icon_state = "atmospipebuilder"
+
+ /// Layer to put our pipes on
+ var/pipe_layer = PIPING_LAYER_DEFAULT
+
+ /// Color to set our pipes to
+ var/pipe_color
+
+ /// Whether or not pipes we make are visible
+ var/visible_pipes = FALSE
+
+ color = null
+
+/obj/effect/mapping_helpers/network_builder/atmos_pipe/check_duplicates()
+ for(var/obj/effect/mapping_helpers/network_builder/atmos_pipe/other in loc)
+ if(other == src)
+ continue
+ if(other.pipe_layer == pipe_layer)
+ return other
+ for(var/obj/machinery/atmospherics/A in loc)
+ if(A.pipe_flags & PIPING_ALL_LAYER)
+ return A
+ if(A.piping_layer == pipe_layer)
+ return A
+ return FALSE
+
+/// Scans directions, sets network_directions to have every direction that we can link to. If there's another power cable builder detected, make sure they know we're here by adding us to their cable directions list before we're deleted.
+/obj/effect/mapping_helpers/network_builder/atmos_pipe/scan_directions()
+ var/turf/T
+ for(var/i in GLOB.cardinals)
+ if(i in network_directions)
+ continue //we're already set, that means another builder set us.
+ T = get_step(loc, i)
+ if(!T)
+ continue
+ var/found = FALSE
+ for(var/obj/effect/mapping_helpers/network_builder/atmos_pipe/other in T)
+ if(other.pipe_layer == pipe_layer)
+ network_directions += i
+ other.network_directions += turn(i, 180)
+ found = TRUE
+ break
+ if(found)
+ continue
+ for(var/obj/machinery/atmospherics/A in T)
+ if((A.piping_layer == pipe_layer) && (A.initialize_directions & turn(i, 180)))
+ network_directions += i
+ break
+ return network_directions
+
+/// Directions should only ever have cardinals.
+/obj/effect/mapping_helpers/network_builder/atmos_pipe/build_network()
+ if(length(network_directions) <= 1)
+ return
+ var/obj/machinery/atmospherics/pipe/built
+ switch(length(network_directions))
+ if(2) //straight pipe
+ built = new /obj/machinery/atmospherics/pipe/simple(loc)
+ var/d1 = network_directions[1]
+ var/d2 = network_directions[2]
+ var/combined = d1 | d2
+ if(combined in GLOB.diagonals)
+ built.setDir(combined)
+ else
+ built.setDir(d1)
+ if(3) //manifold
+ var/list/missing = network_directions ^ GLOB.cardinals
+ missing = missing[1]
+ built = new /obj/machinery/atmospherics/pipe/manifold(loc)
+ built.setDir(missing)
+ if(4) //4 way manifold
+ built = new /obj/machinery/atmospherics/pipe/manifold4w(loc)
+ built.SetInitDirections()
+ built.on_construction(pipe_color, pipe_layer)
+ built.hide(!visible_pipes)
+
+/obj/effect/mapping_helpers/network_builder/atmos_pipe/distro
+ name = "distro line autobuilder"
+ pipe_layer = PIPING_LAYER_MIN
+ pixel_x = -PIPING_LAYER_P_X
+ pixel_y = -PIPING_LAYER_P_Y
+ pipe_color = rgb(130,43,255)
+ color = rgb(130,43,255)
+
+/obj/effect/mapping_helpers/network_builder/atmos_pipe/scrubbers
+ name = "scrubbers line autobuilder"
+ pipe_layer = PIPING_LAYER_MAX
+ pixel_x = PIPING_LAYER_P_X
+ pixel_y = PIPING_LAYER_P_Y
+ pipe_color = rgb(255,0,0)
+ color = rgb(255,0,0)
diff --git a/code/modules/mapping/mapping_helpers/network_builder/power_cables.dm b/code/modules/mapping/mapping_helpers/network_builder/power_cables.dm
new file mode 100644
index 00000000..53850456
--- /dev/null
+++ b/code/modules/mapping/mapping_helpers/network_builder/power_cables.dm
@@ -0,0 +1,189 @@
+#define NO_KNOT 0
+#define KNOT_AUTO 1
+#define KNOT_FORCED 2
+
+/// Automatically links on init to power cables and other cable builder helpers. Only supports cardinals.
+/obj/effect/mapping_helpers/network_builder/power_cable
+ name = "power line autobuilder"
+ icon_state = "powerlinebuilder"
+
+ color = "#ff0000"
+
+ /// Whether or not we forcefully make a knot
+ var/knot = NO_KNOT
+
+ /// cable color as from GLOB.cable_colors
+ var/cable_color = "red"
+
+/obj/effect/mapping_helpers/network_builder/power_cable/check_duplicates()
+ var/obj/structure/cable/C = locate() in loc
+ if(C)
+ return C
+ for(var/obj/effect/mapping_helpers/network_builder/power_cable/other in loc)
+ if(other == src)
+ continue
+ return other
+
+/// Scans directions, sets network_directions to have every direction that we can link to. If there's another power cable builder detected, make sure they know we're here by adding us to their cable directions list before we're deleted.
+/obj/effect/mapping_helpers/network_builder/power_cable/scan_directions()
+ var/turf/T
+ for(var/i in GLOB.cardinals)
+ if(i in network_directions)
+ continue //we're already set, that means another builder set us.
+ T = get_step(loc, i)
+ if(!T)
+ continue
+ var/obj/effect/mapping_helpers/network_builder/power_cable/other = locate() in T
+ if(other)
+ network_directions += i
+ other.network_directions += turn(i, 180)
+ continue
+ for(var/obj/structure/cable/C in T)
+ if(C.d1 == turn(i, 180) || C.d2 == turn(i, 180))
+ network_directions += i
+ continue
+ return network_directions
+
+/// Directions should only ever have cardinals.
+/obj/effect/mapping_helpers/network_builder/power_cable/build_network()
+ if(!length(network_directions))
+ return
+ else if(length(network_directions) == 1)
+ new /obj/structure/cable(loc, cable_color, NONE, network_directions[1])
+ else
+ if(knot == KNOT_FORCED)
+ for(var/d in network_directions)
+ new /obj/structure/cable(loc, cable_color, NONE, d)
+ else
+ var/do_knot = (knot == KNOT_FORCED) || ((knot == KNOT_AUTO) && should_auto_knot())
+ var/dirs = length(network_directions)
+ for(var/i in 1 to dirs - 1)
+ var/li = (i == 1)? dirs : (i - 1)
+ var/d1 = network_directions[i]
+ var/d2 = network_directions[li]
+ if(d1 > d2) //this is ugly please help me
+ d1 = network_directions[li]
+ d2 = network_directions[i]
+ new /obj/structure/cable(loc, cable_color, d1, d2)
+ if(do_knot)
+ new /obj/structure/cable(loc, cable_color, NONE, network_directions[i])
+ do_knot = FALSE
+
+/obj/effect/mapping_helpers/network_builder/power_cable/proc/should_auto_knot()
+ return (locate(/obj/machinery/power/terminal) in loc)
+
+/obj/effect/mapping_helpers/network_builder/power_cable/knot
+ icon_state = "powerlinebuilderknot"
+ knot = KNOT_FORCED
+
+/obj/effect/mapping_helpers/network_builder/power_cable/auto
+ icon_state = "powerlinebuilderauto"
+ knot = KNOT_AUTO
+
+// Red
+/obj/effect/mapping_helpers/network_builder/power_cable/red
+ color = "#ff0000"
+ cable_color = "red"
+
+/obj/effect/mapping_helpers/network_builder/power_cable/red/knot
+ icon_state = "powerlinebuilderknot"
+ knot = KNOT_FORCED
+
+/obj/effect/mapping_helpers/network_builder/power_cable/red/auto
+ icon_state = "powerlinebuilderauto"
+ knot = KNOT_AUTO
+
+// White
+/obj/effect/mapping_helpers/network_builder/power_cable/white
+ color = "#ffffff"
+ cable_color = "white"
+
+/obj/effect/mapping_helpers/network_builder/power_cable/white/knot
+ icon_state = "powerlinebuilderknot"
+ knot = KNOT_FORCED
+
+/obj/effect/mapping_helpers/network_builder/power_cable/white/auto
+ icon_state = "powerlinebuilderauto"
+ knot = KNOT_AUTO
+
+// Cyan
+/obj/effect/mapping_helpers/network_builder/power_cable/cyan
+ color = "#00ffff"
+ cable_color = "cyan"
+
+/obj/effect/mapping_helpers/network_builder/power_cable/cyan/knot
+ icon_state = "powerlinebuilderknot"
+ knot = KNOT_FORCED
+
+/obj/effect/mapping_helpers/network_builder/power_cable/cyan/auto
+ icon_state = "powerlinebuilderauto"
+ knot = KNOT_AUTO
+
+// Orange
+/obj/effect/mapping_helpers/network_builder/power_cable/orange
+ color = "#ff8000"
+ cable_color = "orange"
+
+/obj/effect/mapping_helpers/network_builder/power_cable/orange/knot
+ icon_state = "powerlinebuilderknot"
+ knot = KNOT_FORCED
+
+/obj/effect/mapping_helpers/network_builder/power_cable/orange/auto
+ icon_state = "powerlinebuilderauto"
+ knot = KNOT_AUTO
+
+// Pink
+/obj/effect/mapping_helpers/network_builder/power_cable/pink
+ color = "#ff3cc8"
+ cable_color = "pink"
+
+/obj/effect/mapping_helpers/network_builder/power_cable/pink/knot
+ icon_state = "powerlinebuilderknot"
+ knot = KNOT_FORCED
+
+/obj/effect/mapping_helpers/network_builder/power_cable/pink/auto
+ icon_state = "powerlinebuilderauto"
+ knot = KNOT_AUTO
+
+// Blue
+/obj/effect/mapping_helpers/network_builder/power_cable/blue
+ color = "#1919c8"
+ cable_color = "blue"
+
+/obj/effect/mapping_helpers/network_builder/power_cable/blue/knot
+ icon_state = "powerlinebuilderknot"
+ knot = KNOT_FORCED
+
+/obj/effect/mapping_helpers/network_builder/power_cable/blue/auto
+ icon_state = "powerlinebuilderauto"
+ knot = KNOT_AUTO
+
+// Green
+/obj/effect/mapping_helpers/network_builder/power_cable/green
+ color = "#00aa00"
+ cable_color = "green"
+
+/obj/effect/mapping_helpers/network_builder/power_cable/green/knot
+ icon_state = "powerlinebuilderknot"
+ knot = KNOT_FORCED
+
+/obj/effect/mapping_helpers/network_builder/power_cable/green/auto
+ icon_state = "powerlinebuilderauto"
+ knot = KNOT_AUTO
+
+// Yellow
+/obj/effect/mapping_helpers/network_builder/power_cable/yellow
+ color = "#ffff00"
+ cable_color = "yellow"
+
+/obj/effect/mapping_helpers/network_builder/power_cable/yellow/knot
+ icon_state = "powerlinebuilderknot"
+ knot = KNOT_FORCED
+
+/obj/effect/mapping_helpers/network_builder/power_cable/yellow/auto
+ icon_state = "powerlinebuilderauto"
+ knot = KNOT_AUTO
+
+#undef NO_KNOT
+#undef KNOT_AUTO
+#undef KNOT_FORCED
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index d4ca9a16..3c926ef4 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -1,851 +1,855 @@
-GLOBAL_LIST_INIT(cable_colors, list(
- "yellow" = "#ffff00",
- "green" = "#00aa00",
- "blue" = "#1919c8",
- "pink" = "#ff3cc8",
- "orange" = "#ff8000",
- "cyan" = "#00ffff",
- "white" = "#ffffff",
- "red" = "#ff0000"
- ))
-
-///////////////////////////////
-//CABLE STRUCTURE
-///////////////////////////////
-
-
-////////////////////////////////
-// Definitions
-////////////////////////////////
-
-/* Cable directions (d1 and d2)
-
-
- 9 1 5
- \ | /
- 8 - 0 - 4
- / | \
- 10 2 6
-
-If d1 = 0 and d2 = 0, there's no cable
-If d1 = 0 and d2 = dir, it's a O-X cable, getting from the center of the tile to dir (knot cable)
-If d1 = dir1 and d2 = dir2, it's a full X-X cable, getting from dir1 to dir2
-By design, d1 is the smallest direction and d2 is the highest
-*/
-
-/obj/structure/cable
- name = "power cable"
- desc = "A flexible, superconducting insulated cable for heavy-duty power transfer."
- icon = 'icons/obj/power_cond/cables.dmi'
- icon_state = "0-1"
- level = 1 //is underfloor
- layer = WIRE_LAYER //Above hidden pipes, GAS_PIPE_HIDDEN_LAYER
- anchored = TRUE
- obj_flags = CAN_BE_HIT | ON_BLUEPRINTS
- var/d1 = 0 // cable direction 1 (see above)
- var/d2 = 1 // cable direction 2 (see above)
- var/datum/powernet/powernet
- var/obj/item/stack/cable_coil/stored
-
- var/cable_color = "red"
- color = "#ff0000"
-
-/obj/structure/cable/yellow
- cable_color = "yellow"
- color = "#ffff00"
-
-/obj/structure/cable/green
- cable_color = "green"
- color = "#00aa00"
-
-/obj/structure/cable/blue
- cable_color = "blue"
- color = "#1919c8"
-
-/obj/structure/cable/pink
- cable_color = "pink"
- color = "#ff3cc8"
-
-/obj/structure/cable/orange
- cable_color = "orange"
- color = "#ff8000"
-
-/obj/structure/cable/cyan
- cable_color = "cyan"
- color = "#00ffff"
-
-/obj/structure/cable/white
- cable_color = "white"
- color = "#ffffff"
-
-// the power cable object
-/obj/structure/cable/Initialize(mapload, param_color)
- . = ..()
-
- // ensure d1 & d2 reflect the icon_state for entering and exiting cable
- var/dash = findtext(icon_state, "-")
- d1 = text2num( copytext( icon_state, 1, dash ) )
- d2 = text2num( copytext( icon_state, dash+1 ) )
-
- var/turf/T = get_turf(src) // hide if turf is not intact
- if(level==1)
- hide(T.intact)
- GLOB.cable_list += src //add it to the global cable list
-
- if(d1)
- stored = new/obj/item/stack/cable_coil(null,2,cable_color)
- else
- stored = new/obj/item/stack/cable_coil(null,1,cable_color)
-
- var/list/cable_colors = GLOB.cable_colors
- cable_color = param_color || cable_color || pick(cable_colors)
- if(cable_colors[cable_color])
- cable_color = cable_colors[cable_color]
- update_icon()
-
-/obj/structure/cable/Destroy() // called when a cable is deleted
- if(powernet)
- cut_cable_from_powernet() // update the powernets
- GLOB.cable_list -= src //remove it from global cable list
- return ..() // then go ahead and delete the cable
-
-/obj/structure/cable/deconstruct(disassembled = TRUE)
- if(!(flags_1 & NODECONSTRUCT_1))
- var/turf/T = loc
- stored.forceMove(T)
- qdel(src)
-
-///////////////////////////////////
-// General procedures
-///////////////////////////////////
-
-//If underfloor, hide the cable
-/obj/structure/cable/hide(i)
-
- if(level == 1 && isturf(loc))
- invisibility = i ? INVISIBILITY_MAXIMUM : 0
- update_icon()
-
-/obj/structure/cable/update_icon()
- icon_state = "[d1]-[d2]"
- color = null
- add_atom_colour(cable_color, FIXED_COLOUR_PRIORITY)
-
-/obj/structure/cable/proc/handlecable(obj/item/W, mob/user, params)
- var/turf/T = get_turf(src)
- if(T.intact)
- return
- if(istype(W, /obj/item/wirecutters))
- if (shock(user, 50))
- return
- user.visible_message("[user] cuts the cable.", "You cut the cable.")
- stored.add_fingerprint(user)
- investigate_log("was cut by [key_name(usr)] in [AREACOORD(src)]", INVESTIGATE_WIRES)
- deconstruct()
- return
-
- else if(istype(W, /obj/item/stack/cable_coil))
- var/obj/item/stack/cable_coil/coil = W
- if (coil.get_amount() < 1)
- to_chat(user, "Not enough cable!")
- return
- coil.cable_join(src, user)
-
- else if(istype(W, /obj/item/twohanded/rcl))
- var/obj/item/twohanded/rcl/R = W
- if(R.loaded)
- R.loaded.cable_join(src, user)
- R.is_empty(user)
-
- else if(istype(W, /obj/item/multitool))
- if(powernet && (powernet.avail > 0)) // is it powered?
- to_chat(user, "[DisplayPower(powernet.avail)] in power network.")
- else
- to_chat(user, "The cable is not powered.")
- shock(user, 5, 0.2)
-
- src.add_fingerprint(user)
-
-// Items usable on a cable :
-// - Wirecutters : cut it duh !
-// - Cable coil : merge cables
-// - Multitool : get the power currently passing through the cable
-//
-/obj/structure/cable/attackby(obj/item/W, mob/user, params)
- handlecable(W, user, params)
-
-
-// shock the user with probability prb
-/obj/structure/cable/proc/shock(mob/user, prb, siemens_coeff = 1)
- if(!prob(prb))
- return 0
- if (electrocute_mob(user, powernet, src, siemens_coeff))
- do_sparks(5, TRUE, src)
- return 1
- else
- return 0
-
-/obj/structure/cable/singularity_pull(S, current_size)
- ..()
- if(current_size >= STAGE_FIVE)
- deconstruct()
-
-/obj/structure/cable/proc/update_stored(length = 1, colorC = "red")
- stored.amount = length
- stored.item_color = colorC
- stored.update_icon()
-
-////////////////////////////////////////////
-// Power related
-///////////////////////////////////////////
-
-// All power generation handled in add_avail()
-// Machines should use add_load(), surplus(), avail()
-// Non-machines should use add_delayedload(), delayed_surplus(), newavail()
-
-/obj/structure/cable/proc/add_avail(amount)
- if(powernet)
- powernet.newavail += amount
-
-/obj/structure/cable/proc/add_load(amount)
- if(powernet)
- powernet.load += amount
-
-/obj/structure/cable/proc/surplus()
- if(powernet)
- return CLAMP(powernet.avail-powernet.load, 0, powernet.avail)
- else
- return 0
-
-/obj/structure/cable/proc/avail()
- if(powernet)
- return powernet.avail
- else
- return 0
-
-/obj/structure/cable/proc/add_delayedload(amount)
- if(powernet)
- powernet.delayedload += amount
-
-/obj/structure/cable/proc/delayed_surplus()
- if(powernet)
- return CLAMP(powernet.newavail - powernet.delayedload, 0, powernet.newavail)
- else
- return 0
-
-/obj/structure/cable/proc/newavail()
- if(powernet)
- return powernet.newavail
- else
- return 0
-
-/////////////////////////////////////////////////
-// Cable laying helpers
-////////////////////////////////////////////////
-
-//handles merging diagonally matching cables
-//for info : direction^3 is flipping horizontally, direction^12 is flipping vertically
-/obj/structure/cable/proc/mergeDiagonalsNetworks(direction)
-
- //search for and merge diagonally matching cables from the first direction component (north/south)
- var/turf/T = get_step(src, direction&3)//go north/south
-
- for(var/obj/structure/cable/C in T)
-
- if(!C)
- continue
-
- if(src == C)
- continue
-
- if(C.d1 == (direction^3) || C.d2 == (direction^3)) //we've got a diagonally matching cable
- if(!C.powernet) //if the matching cable somehow got no powernet, make him one (should not happen for cables)
- var/datum/powernet/newPN = new()
- newPN.add_cable(C)
-
- if(powernet) //if we already have a powernet, then merge the two powernets
- merge_powernets(powernet,C.powernet)
- else
- C.powernet.add_cable(src) //else, we simply connect to the matching cable powernet
-
- //the same from the second direction component (east/west)
- T = get_step(src, direction&12)//go east/west
-
- for(var/obj/structure/cable/C in T)
-
- if(!C)
- continue
-
- if(src == C)
- continue
- if(C.d1 == (direction^12) || C.d2 == (direction^12)) //we've got a diagonally matching cable
- if(!C.powernet) //if the matching cable somehow got no powernet, make him one (should not happen for cables)
- var/datum/powernet/newPN = new()
- newPN.add_cable(C)
-
- if(powernet) //if we already have a powernet, then merge the two powernets
- merge_powernets(powernet,C.powernet)
- else
- C.powernet.add_cable(src) //else, we simply connect to the matching cable powernet
-
-// merge with the powernets of power objects in the given direction
-/obj/structure/cable/proc/mergeConnectedNetworks(direction)
-
- var/fdir = (!direction)? 0 : turn(direction, 180) //flip the direction, to match with the source position on its turf
-
- if(!(d1 == direction || d2 == direction)) //if the cable is not pointed in this direction, do nothing
- return
-
- var/turf/TB = get_step(src, direction)
-
- for(var/obj/structure/cable/C in TB)
-
- if(!C)
- continue
-
- if(src == C)
- continue
-
- if(C.d1 == fdir || C.d2 == fdir) //we've got a matching cable in the neighbor turf
- if(!C.powernet) //if the matching cable somehow got no powernet, make him one (should not happen for cables)
- var/datum/powernet/newPN = new()
- newPN.add_cable(C)
-
- if(powernet) //if we already have a powernet, then merge the two powernets
- merge_powernets(powernet,C.powernet)
- else
- C.powernet.add_cable(src) //else, we simply connect to the matching cable powernet
-
-// merge with the powernets of power objects in the source turf
-/obj/structure/cable/proc/mergeConnectedNetworksOnTurf()
- var/list/to_connect = list()
-
- if(!powernet) //if we somehow have no powernet, make one (should not happen for cables)
- var/datum/powernet/newPN = new()
- newPN.add_cable(src)
-
- //first let's add turf cables to our powernet
- //then we'll connect machines on turf with a node cable is present
- for(var/AM in loc)
- if(istype(AM, /obj/structure/cable))
- var/obj/structure/cable/C = AM
- if(C.d1 == d1 || C.d2 == d1 || C.d1 == d2 || C.d2 == d2) //only connected if they have a common direction
- if(C.powernet == powernet)
- continue
- if(C.powernet)
- merge_powernets(powernet, C.powernet)
- else
- powernet.add_cable(C) //the cable was powernetless, let's just add it to our powernet
-
- else if(istype(AM, /obj/machinery/power/apc))
- var/obj/machinery/power/apc/N = AM
- if(!N.terminal)
- continue // APC are connected through their terminal
-
- if(N.terminal.powernet == powernet)
- continue
-
- to_connect += N.terminal //we'll connect the machines after all cables are merged
-
- else if(istype(AM, /obj/machinery/power)) //other power machines
- var/obj/machinery/power/M = AM
-
- if(M.powernet == powernet)
- continue
-
- to_connect += M //we'll connect the machines after all cables are merged
-
- //now that cables are done, let's connect found machines
- for(var/obj/machinery/power/PM in to_connect)
- if(!PM.connect_to_network())
- PM.disconnect_from_network() //if we somehow can't connect the machine to the new powernet, remove it from the old nonetheless
-
-//////////////////////////////////////////////
-// Powernets handling helpers
-//////////////////////////////////////////////
-
-//if powernetless_only = 1, will only get connections without powernet
-/obj/structure/cable/proc/get_connections(powernetless_only = 0)
- . = list() // this will be a list of all connected power objects
- var/turf/T
-
- //get matching cables from the first direction
- if(d1) //if not a node cable
- T = get_step(src, d1)
- if(T)
- . += power_list(T, src, turn(d1, 180), powernetless_only) //get adjacents matching cables
-
- if(d1&(d1-1)) //diagonal direction, must check the 4 possibles adjacents tiles
- T = get_step(src,d1&3) // go north/south
- if(T)
- . += power_list(T, src, d1 ^ 3, powernetless_only) //get diagonally matching cables
- T = get_step(src,d1&12) // go east/west
- if(T)
- . += power_list(T, src, d1 ^ 12, powernetless_only) //get diagonally matching cables
-
- . += power_list(loc, src, d1, powernetless_only) //get on turf matching cables
-
- //do the same on the second direction (which can't be 0)
- T = get_step(src, d2)
- if(T)
- . += power_list(T, src, turn(d2, 180), powernetless_only) //get adjacents matching cables
-
- if(d2&(d2-1)) //diagonal direction, must check the 4 possibles adjacents tiles
- T = get_step(src,d2&3) // go north/south
- if(T)
- . += power_list(T, src, d2 ^ 3, powernetless_only) //get diagonally matching cables
- T = get_step(src,d2&12) // go east/west
- if(T)
- . += power_list(T, src, d2 ^ 12, powernetless_only) //get diagonally matching cables
- . += power_list(loc, src, d2, powernetless_only) //get on turf matching cables
-
- return .
-
-//should be called after placing a cable which extends another cable, creating a "smooth" cable that no longer terminates in the centre of a turf.
-//needed as this can, unlike other placements, disconnect cables
-/obj/structure/cable/proc/denode()
- var/turf/T1 = loc
- if(!T1)
- return
-
- var/list/powerlist = power_list(T1,src,0,0) //find the other cables that ended in the centre of the turf, with or without a powernet
- if(powerlist.len>0)
- var/datum/powernet/PN = new()
- propagate_network(powerlist[1],PN) //propagates the new powernet beginning at the source cable
-
- if(PN.is_empty()) //can happen with machines made nodeless when smoothing cables
- qdel(PN)
-
-/obj/structure/cable/proc/auto_propogate_cut_cable(obj/O)
- if(O && !QDELETED(O))
- var/datum/powernet/newPN = new()// creates a new powernet...
- propagate_network(O, newPN)//... and propagates it to the other side of the cable
-
-// cut the cable's powernet at this cable and updates the powergrid
-/obj/structure/cable/proc/cut_cable_from_powernet(remove=TRUE)
- var/turf/T1 = loc
- var/list/P_list
- if(!T1)
- return
- if(d1)
- T1 = get_step(T1, d1)
- P_list = power_list(T1, src, turn(d1,180),0,cable_only = 1) // what adjacently joins on to cut cable...
-
- P_list += power_list(loc, src, d1, 0, cable_only = 1)//... and on turf
-
-
- if(P_list.len == 0)//if nothing in both list, then the cable was a lone cable, just delete it and its powernet
- powernet.remove_cable(src)
-
- for(var/obj/machinery/power/P in T1)//check if it was powering a machine
- if(!P.connect_to_network()) //can't find a node cable on a the turf to connect to
- P.disconnect_from_network() //remove from current network (and delete powernet)
- return
-
- var/obj/O = P_list[1]
- // remove the cut cable from its turf and powernet, so that it doesn't get count in propagate_network worklist
- if(remove)
- moveToNullspace()
- powernet.remove_cable(src) //remove the cut cable from its powernet
-
- addtimer(CALLBACK(O, .proc/auto_propogate_cut_cable, O), 0) //so we don't rebuild the network X times when singulo/explosion destroys a line of X cables
-
- // Disconnect machines connected to nodes
- if(d1 == 0) // if we cut a node (O-X) cable
- for(var/obj/machinery/power/P in T1)
- if(!P.connect_to_network()) //can't find a node cable on a the turf to connect to
- P.disconnect_from_network() //remove from current network
-
-
-///////////////////////////////////////////////
-// The cable coil object, used for laying cable
-///////////////////////////////////////////////
-
-////////////////////////////////
-// Definitions
-////////////////////////////////
-
-GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restraints", /obj/item/restraints/handcuffs/cable, 15)))
-
-/obj/item/stack/cable_coil
- name = "cable coil"
- gender = NEUTER //That's a cable coil sounds better than that's some cable coils
- icon = 'icons/obj/power.dmi'
- icon_state = "coil"
- item_state = "coil"
- lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
- righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
- max_amount = MAXCOIL
- amount = MAXCOIL
- merge_type = /obj/item/stack/cable_coil // This is here to let its children merge between themselves
- item_color = "red"
- desc = "A coil of insulated power cable."
- throwforce = 0
- w_class = WEIGHT_CLASS_SMALL
- throw_speed = 3
- throw_range = 5
- materials = list(MAT_METAL=10, MAT_GLASS=5)
- flags_1 = CONDUCT_1
- slot_flags = ITEM_SLOT_BELT
- attack_verb = list("whipped", "lashed", "disciplined", "flogged")
- singular_name = "cable piece"
- full_w_class = WEIGHT_CLASS_SMALL
- grind_results = list(/datum/reagent/copper = 2) //2 copper per cable in the coil
- usesound = 'sound/items/deconstruct.ogg'
-
-/obj/item/stack/cable_coil/cyborg
- is_cyborg = 1
- materials = list()
- cost = 1
-
-/obj/item/stack/cable_coil/cyborg/attack_self(mob/user)
- var/cable_color = input(user,"Pick a cable color.","Cable Color") in list("red","yellow","green","blue","pink","orange","cyan","white")
- item_color = cable_color
- update_icon()
-
-/obj/item/stack/cable_coil/suicide_act(mob/user)
- if(locate(/obj/structure/chair/stool) in get_turf(user))
- user.visible_message("[user] is making a noose with [src]! It looks like [user.p_theyre()] trying to commit suicide!")
- else
- user.visible_message("[user] is strangling [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!")
- return(OXYLOSS)
-
-/obj/item/stack/cable_coil/Initialize(mapload, new_amount = null, param_color = null)
- . = ..()
-
- var/list/cable_colors = GLOB.cable_colors
- item_color = param_color || item_color || pick(cable_colors)
- if(cable_colors[item_color])
- item_color = cable_colors[item_color]
-
- pixel_x = rand(-2,2)
- pixel_y = rand(-2,2)
- update_icon()
- recipes = GLOB.cable_coil_recipes
-
-///////////////////////////////////
-// General procedures
-///////////////////////////////////
-
-
-//you can use wires to heal robotics
-/obj/item/stack/cable_coil/attack(mob/living/carbon/human/H, mob/user)
- if(!istype(H))
- return ..()
-
- var/obj/item/bodypart/affecting = H.get_bodypart(check_zone(user.zone_selected))
- if(affecting && affecting.status == BODYPART_ROBOTIC)
- if(user == H)
- user.visible_message("[user] starts to fix some of the wires in [H]'s [affecting.name].", "You start fixing some of the wires in [H]'s [affecting.name].")
- if(!do_mob(user, H, 50))
- return
- if(item_heal_robotic(H, user, 0, 15))
- use(1)
- return
- else
- return ..()
-
-
-/obj/item/stack/cable_coil/update_icon()
- icon_state = "[initial(item_state)][amount < 3 ? amount : ""]"
- name = "cable [amount < 3 ? "piece" : "coil"]"
- color = null
- add_atom_colour(item_color, FIXED_COLOUR_PRIORITY)
-
-/obj/item/stack/cable_coil/attack_hand(mob/user)
- . = ..()
- if(.)
- return
- var/obj/item/stack/cable_coil/new_cable = ..()
- if(istype(new_cable))
- new_cable.item_color = item_color
- new_cable.update_icon()
-
-//add cables to the stack
-/obj/item/stack/cable_coil/proc/give(extra)
- if(amount + extra > max_amount)
- amount = max_amount
- else
- amount += extra
- update_icon()
-
-
-
-///////////////////////////////////////////////
-// Cable laying procedures
-//////////////////////////////////////////////
-
-/obj/item/stack/cable_coil/proc/get_new_cable(location)
- var/path = /obj/structure/cable
- return new path(location, item_color)
-
-// called when cable_coil is clicked on a turf
-/obj/item/stack/cable_coil/proc/place_turf(turf/T, mob/user, dirnew)
- if(!isturf(user.loc))
- return
-
- if(!isturf(T) || T.intact || !T.can_have_cabling())
- to_chat(user, "You can only lay cables on catwalks and plating!")
- return
-
- if(get_amount() < 1) // Out of cable
- to_chat(user, "There is no cable left!")
- return
-
- if(get_dist(T,user) > 1) // Too far
- to_chat(user, "You can't lay cable at a place that far away!")
- return
-
- var/dirn
- if(!dirnew) //If we weren't given a direction, come up with one! (Called as null from catwalk.dm and floor.dm)
- if(user.loc == T)
- dirn = user.dir //If laying on the tile we're on, lay in the direction we're facing
- else
- dirn = get_dir(T, user)
- else
- dirn = dirnew
-
- for(var/obj/structure/cable/LC in T)
- if(LC.d2 == dirn && LC.d1 == 0)
- to_chat(user, "There's already a cable at that position!")
- return
-
- var/obj/structure/cable/C = get_new_cable(T)
-
- //set up the new cable
- C.d1 = 0 //it's a O-X node cable
- C.d2 = dirn
- C.add_fingerprint(user)
- C.update_icon()
-
- //create a new powernet with the cable, if needed it will be merged later
- var/datum/powernet/PN = new()
- PN.add_cable(C)
-
- C.mergeConnectedNetworks(C.d2) //merge the powernet with adjacents powernets
- C.mergeConnectedNetworksOnTurf() //merge the powernet with on turf powernets
-
- if(C.d2 & (C.d2 - 1))// if the cable is layed diagonally, check the others 2 possible directions
- C.mergeDiagonalsNetworks(C.d2)
-
- use(1)
-
- if(C.shock(user, 50))
- if(prob(50)) //fail
- new /obj/item/stack/cable_coil(get_turf(C), 1, C.color)
- C.deconstruct()
-
- return C
-
-// called when cable_coil is click on an installed obj/cable
-// or click on a turf that already contains a "node" cable
-/obj/item/stack/cable_coil/proc/cable_join(obj/structure/cable/C, mob/user, showerror = TRUE, forceddir)
- var/turf/U = user.loc
- if(!isturf(U))
- return
-
- var/turf/T = C.loc
-
- if(!isturf(T) || T.intact) // sanity checks, also stop use interacting with T-scanner revealed cable
- return
-
- if(get_dist(C, user) > 1) // make sure it's close enough
- to_chat(user, "You can't lay cable at a place that far away!")
- return
-
-
- if(U == T && !forceddir) //if clicked on the turf we're standing on and a direction wasn't supplied, try to put a cable in the direction we're facing
- place_turf(T,user)
- return
-
- var/dirn = get_dir(C, user)
-
- // one end of the clicked cable is pointing towards us and no direction was supplied
- if((C.d1 == dirn || C.d2 == dirn) && !forceddir)
- if(!U.can_have_cabling()) //checking if it's a plating or catwalk
- if (showerror)
- to_chat(user, "You can only lay cables on catwalks and plating!")
- return
- if(U.intact) //can't place a cable if it's a plating with a tile on it
- to_chat(user, "You can't lay cable there unless the floor tiles are removed!")
- return
- else
- // cable is pointing at us, we're standing on an open tile
- // so create a stub pointing at the clicked cable on our tile
-
- var/fdirn = turn(dirn, 180) // the opposite direction
-
- for(var/obj/structure/cable/LC in U) // check to make sure there's not a cable there already
- if(LC.d1 == fdirn || LC.d2 == fdirn)
- if (showerror)
- to_chat(user, "There's already a cable at that position!")
- return
-
- var/obj/structure/cable/NC = get_new_cable (U)
-
- NC.d1 = 0
- NC.d2 = fdirn
- NC.add_fingerprint(user)
- NC.update_icon()
-
- //create a new powernet with the cable, if needed it will be merged later
- var/datum/powernet/newPN = new()
- newPN.add_cable(NC)
-
- NC.mergeConnectedNetworks(NC.d2) //merge the powernet with adjacents powernets
- NC.mergeConnectedNetworksOnTurf() //merge the powernet with on turf powernets
-
- if(NC.d2 & (NC.d2 - 1))// if the cable is layed diagonally, check the others 2 possible directions
- NC.mergeDiagonalsNetworks(NC.d2)
-
- use(1)
-
- if (NC.shock(user, 50))
- if (prob(50)) //fail
- NC.deconstruct()
-
- return
-
- // exisiting cable doesn't point at our position or we have a supplied direction, so see if it's a stub
- else if(C.d1 == 0)
- // if so, make it a full cable pointing from it's old direction to our dirn
- var/nd1 = C.d2 // these will be the new directions
- var/nd2 = dirn
-
-
- if(nd1 > nd2) // swap directions to match icons/states
- nd1 = dirn
- nd2 = C.d2
-
-
- for(var/obj/structure/cable/LC in T) // check to make sure there's no matching cable
- if(LC == C) // skip the cable we're interacting with
- continue
- if((LC.d1 == nd1 && LC.d2 == nd2) || (LC.d1 == nd2 && LC.d2 == nd1) ) // make sure no cable matches either direction
- if (showerror)
- to_chat(user, "There's already a cable at that position!")
-
- return
-
-
- C.update_icon()
-
- C.d1 = nd1
- C.d2 = nd2
-
- //updates the stored cable coil
- C.update_stored(2, item_color)
-
- C.add_fingerprint(user)
- C.update_icon()
-
-
- C.mergeConnectedNetworks(C.d1) //merge the powernets...
- C.mergeConnectedNetworks(C.d2) //...in the two new cable directions
- C.mergeConnectedNetworksOnTurf()
-
- if(C.d1 & (C.d1 - 1))// if the cable is layed diagonally, check the others 2 possible directions
- C.mergeDiagonalsNetworks(C.d1)
-
- if(C.d2 & (C.d2 - 1))// if the cable is layed diagonally, check the others 2 possible directions
- C.mergeDiagonalsNetworks(C.d2)
-
- use(1)
-
- if (C.shock(user, 50))
- if (prob(50)) //fail
- C.deconstruct()
- return
-
- C.denode()// this call may have disconnected some cables that terminated on the centre of the turf, if so split the powernets.
- return
-
-//////////////////////////////
-// Misc.
-/////////////////////////////
-
-/obj/item/stack/cable_coil/red
- item_color = "red"
- color = "#ff0000"
-
-/obj/item/stack/cable_coil/yellow
- item_color = "yellow"
- color = "#ffff00"
-
-/obj/item/stack/cable_coil/blue
- item_color = "blue"
- color = "#1919c8"
-
-/obj/item/stack/cable_coil/green
- item_color = "green"
- color = "#00aa00"
-
-/obj/item/stack/cable_coil/pink
- item_color = "pink"
- color = "#ff3ccd"
-
-/obj/item/stack/cable_coil/orange
- item_color = "orange"
- color = "#ff8000"
-
-/obj/item/stack/cable_coil/cyan
- item_color = "cyan"
- color = "#00ffff"
-
-/obj/item/stack/cable_coil/white
- item_color = "white"
-
-/obj/item/stack/cable_coil/random
- item_color = null
- color = "#ffffff"
-
-
-/obj/item/stack/cable_coil/random/five
- amount = 5
-
-/obj/item/stack/cable_coil/cut
- amount = null
- icon_state = "coil2"
-
-/obj/item/stack/cable_coil/cut/Initialize(mapload)
- . = ..()
- if(!amount)
- amount = rand(1,2)
- pixel_x = rand(-2,2)
- pixel_y = rand(-2,2)
- update_icon()
-
-/obj/item/stack/cable_coil/cut/red
- item_color = "red"
- color = "#ff0000"
-
-/obj/item/stack/cable_coil/cut/yellow
- item_color = "yellow"
- color = "#ffff00"
-
-/obj/item/stack/cable_coil/cut/blue
- item_color = "blue"
- color = "#1919c8"
-
-/obj/item/stack/cable_coil/cut/green
- item_color = "green"
- color = "#00aa00"
-
-/obj/item/stack/cable_coil/cut/pink
- item_color = "pink"
- color = "#ff3ccd"
-
-/obj/item/stack/cable_coil/cut/orange
- item_color = "orange"
- color = "#ff8000"
-
-/obj/item/stack/cable_coil/cut/cyan
- item_color = "cyan"
- color = "#00ffff"
-
-/obj/item/stack/cable_coil/cut/white
- item_color = "white"
-
-/obj/item/stack/cable_coil/cut/random
- item_color = null
+GLOBAL_LIST_INIT(cable_colors, list(
+ "yellow" = "#ffff00",
+ "green" = "#00aa00",
+ "blue" = "#1919c8",
+ "pink" = "#ff3cc8",
+ "orange" = "#ff8000",
+ "cyan" = "#00ffff",
+ "white" = "#ffffff",
+ "red" = "#ff0000"
+ ))
+
+///////////////////////////////
+//CABLE STRUCTURE
+///////////////////////////////
+
+
+////////////////////////////////
+// Definitions
+////////////////////////////////
+
+/* Cable directions (d1 and d2)
+
+
+ 9 1 5
+ \ | /
+ 8 - 0 - 4
+ / | \
+ 10 2 6
+
+If d1 = 0 and d2 = 0, there's no cable
+If d1 = 0 and d2 = dir, it's a O-X cable, getting from the center of the tile to dir (knot cable)
+If d1 = dir1 and d2 = dir2, it's a full X-X cable, getting from dir1 to dir2
+By design, d1 is the smallest direction and d2 is the highest
+*/
+
+/obj/structure/cable
+ name = "power cable"
+ desc = "A flexible, superconducting insulated cable for heavy-duty power transfer."
+ icon = 'icons/obj/power_cond/cables.dmi'
+ icon_state = "0-1"
+ level = 1 //is underfloor
+ layer = WIRE_LAYER //Above hidden pipes, GAS_PIPE_HIDDEN_LAYER
+ anchored = TRUE
+ obj_flags = CAN_BE_HIT | ON_BLUEPRINTS
+ var/d1 = 0 // cable direction 1 (see above)
+ var/d2 = 1 // cable direction 2 (see above)
+ var/datum/powernet/powernet
+ var/obj/item/stack/cable_coil/stored
+
+ var/cable_color = "red"
+ color = "#ff0000"
+
+/obj/structure/cable/yellow
+ cable_color = "yellow"
+ color = "#ffff00"
+
+/obj/structure/cable/green
+ cable_color = "green"
+ color = "#00aa00"
+
+/obj/structure/cable/blue
+ cable_color = "blue"
+ color = "#1919c8"
+
+/obj/structure/cable/pink
+ cable_color = "pink"
+ color = "#ff3cc8"
+
+/obj/structure/cable/orange
+ cable_color = "orange"
+ color = "#ff8000"
+
+/obj/structure/cable/cyan
+ cable_color = "cyan"
+ color = "#00ffff"
+
+/obj/structure/cable/white
+ cable_color = "white"
+ color = "#ffffff"
+
+// the power cable object
+/obj/structure/cable/Initialize(mapload, param_color, _d1, _d2)
+ . = ..()
+
+ if(isnull(_d1) || isnull(_d2))
+ // ensure d1 & d2 reflect the icon_state for entering and exiting cable
+ var/dash = findtext(icon_state, "-")
+ d1 = text2num( copytext( icon_state, 1, dash ) )
+ d2 = text2num( copytext( icon_state, dash+1 ) )
+ else
+ d1 = _d1
+ d2 = _d2
+
+ var/turf/T = get_turf(src) // hide if turf is not intact
+ if(level==1)
+ hide(T.intact)
+ GLOB.cable_list += src //add it to the global cable list
+
+ if(d1)
+ stored = new/obj/item/stack/cable_coil(null,2,cable_color)
+ else
+ stored = new/obj/item/stack/cable_coil(null,1,cable_color)
+
+ var/list/cable_colors = GLOB.cable_colors
+ cable_color = param_color || cable_color || pick(cable_colors)
+ if(cable_colors[cable_color])
+ cable_color = cable_colors[cable_color]
+ update_icon()
+
+/obj/structure/cable/Destroy() // called when a cable is deleted
+ if(powernet)
+ cut_cable_from_powernet() // update the powernets
+ GLOB.cable_list -= src //remove it from global cable list
+ return ..() // then go ahead and delete the cable
+
+/obj/structure/cable/deconstruct(disassembled = TRUE)
+ if(!(flags_1 & NODECONSTRUCT_1))
+ var/turf/T = loc
+ stored.forceMove(T)
+ qdel(src)
+
+///////////////////////////////////
+// General procedures
+///////////////////////////////////
+
+//If underfloor, hide the cable
+/obj/structure/cable/hide(i)
+
+ if(level == 1 && isturf(loc))
+ invisibility = i ? INVISIBILITY_MAXIMUM : 0
+ update_icon()
+
+/obj/structure/cable/update_icon()
+ icon_state = "[d1]-[d2]"
+ color = null
+ add_atom_colour(cable_color, FIXED_COLOUR_PRIORITY)
+
+/obj/structure/cable/proc/handlecable(obj/item/W, mob/user, params)
+ var/turf/T = get_turf(src)
+ if(T.intact)
+ return
+ if(istype(W, /obj/item/wirecutters))
+ if (shock(user, 50))
+ return
+ user.visible_message("[user] cuts the cable.", "You cut the cable.")
+ stored.add_fingerprint(user)
+ investigate_log("was cut by [key_name(usr)] in [AREACOORD(src)]", INVESTIGATE_WIRES)
+ deconstruct()
+ return
+
+ else if(istype(W, /obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/coil = W
+ if (coil.get_amount() < 1)
+ to_chat(user, "Not enough cable!")
+ return
+ coil.cable_join(src, user)
+
+ else if(istype(W, /obj/item/twohanded/rcl))
+ var/obj/item/twohanded/rcl/R = W
+ if(R.loaded)
+ R.loaded.cable_join(src, user)
+ R.is_empty(user)
+
+ else if(istype(W, /obj/item/multitool))
+ if(powernet && (powernet.avail > 0)) // is it powered?
+ to_chat(user, "[DisplayPower(powernet.avail)] in power network.")
+ else
+ to_chat(user, "The cable is not powered.")
+ shock(user, 5, 0.2)
+
+ src.add_fingerprint(user)
+
+// Items usable on a cable :
+// - Wirecutters : cut it duh !
+// - Cable coil : merge cables
+// - Multitool : get the power currently passing through the cable
+//
+/obj/structure/cable/attackby(obj/item/W, mob/user, params)
+ handlecable(W, user, params)
+
+
+// shock the user with probability prb
+/obj/structure/cable/proc/shock(mob/user, prb, siemens_coeff = 1)
+ if(!prob(prb))
+ return 0
+ if (electrocute_mob(user, powernet, src, siemens_coeff))
+ do_sparks(5, TRUE, src)
+ return 1
+ else
+ return 0
+
+/obj/structure/cable/singularity_pull(S, current_size)
+ ..()
+ if(current_size >= STAGE_FIVE)
+ deconstruct()
+
+/obj/structure/cable/proc/update_stored(length = 1, colorC = "red")
+ stored.amount = length
+ stored.item_color = colorC
+ stored.update_icon()
+
+////////////////////////////////////////////
+// Power related
+///////////////////////////////////////////
+
+// All power generation handled in add_avail()
+// Machines should use add_load(), surplus(), avail()
+// Non-machines should use add_delayedload(), delayed_surplus(), newavail()
+
+/obj/structure/cable/proc/add_avail(amount)
+ if(powernet)
+ powernet.newavail += amount
+
+/obj/structure/cable/proc/add_load(amount)
+ if(powernet)
+ powernet.load += amount
+
+/obj/structure/cable/proc/surplus()
+ if(powernet)
+ return CLAMP(powernet.avail-powernet.load, 0, powernet.avail)
+ else
+ return 0
+
+/obj/structure/cable/proc/avail()
+ if(powernet)
+ return powernet.avail
+ else
+ return 0
+
+/obj/structure/cable/proc/add_delayedload(amount)
+ if(powernet)
+ powernet.delayedload += amount
+
+/obj/structure/cable/proc/delayed_surplus()
+ if(powernet)
+ return CLAMP(powernet.newavail - powernet.delayedload, 0, powernet.newavail)
+ else
+ return 0
+
+/obj/structure/cable/proc/newavail()
+ if(powernet)
+ return powernet.newavail
+ else
+ return 0
+
+/////////////////////////////////////////////////
+// Cable laying helpers
+////////////////////////////////////////////////
+
+//handles merging diagonally matching cables
+//for info : direction^3 is flipping horizontally, direction^12 is flipping vertically
+/obj/structure/cable/proc/mergeDiagonalsNetworks(direction)
+
+ //search for and merge diagonally matching cables from the first direction component (north/south)
+ var/turf/T = get_step(src, direction&3)//go north/south
+
+ for(var/obj/structure/cable/C in T)
+
+ if(!C)
+ continue
+
+ if(src == C)
+ continue
+
+ if(C.d1 == (direction^3) || C.d2 == (direction^3)) //we've got a diagonally matching cable
+ if(!C.powernet) //if the matching cable somehow got no powernet, make him one (should not happen for cables)
+ var/datum/powernet/newPN = new()
+ newPN.add_cable(C)
+
+ if(powernet) //if we already have a powernet, then merge the two powernets
+ merge_powernets(powernet,C.powernet)
+ else
+ C.powernet.add_cable(src) //else, we simply connect to the matching cable powernet
+
+ //the same from the second direction component (east/west)
+ T = get_step(src, direction&12)//go east/west
+
+ for(var/obj/structure/cable/C in T)
+
+ if(!C)
+ continue
+
+ if(src == C)
+ continue
+ if(C.d1 == (direction^12) || C.d2 == (direction^12)) //we've got a diagonally matching cable
+ if(!C.powernet) //if the matching cable somehow got no powernet, make him one (should not happen for cables)
+ var/datum/powernet/newPN = new()
+ newPN.add_cable(C)
+
+ if(powernet) //if we already have a powernet, then merge the two powernets
+ merge_powernets(powernet,C.powernet)
+ else
+ C.powernet.add_cable(src) //else, we simply connect to the matching cable powernet
+
+// merge with the powernets of power objects in the given direction
+/obj/structure/cable/proc/mergeConnectedNetworks(direction)
+
+ var/fdir = (!direction)? 0 : turn(direction, 180) //flip the direction, to match with the source position on its turf
+
+ if(!(d1 == direction || d2 == direction)) //if the cable is not pointed in this direction, do nothing
+ return
+
+ var/turf/TB = get_step(src, direction)
+
+ for(var/obj/structure/cable/C in TB)
+
+ if(!C)
+ continue
+
+ if(src == C)
+ continue
+
+ if(C.d1 == fdir || C.d2 == fdir) //we've got a matching cable in the neighbor turf
+ if(!C.powernet) //if the matching cable somehow got no powernet, make him one (should not happen for cables)
+ var/datum/powernet/newPN = new()
+ newPN.add_cable(C)
+
+ if(powernet) //if we already have a powernet, then merge the two powernets
+ merge_powernets(powernet,C.powernet)
+ else
+ C.powernet.add_cable(src) //else, we simply connect to the matching cable powernet
+
+// merge with the powernets of power objects in the source turf
+/obj/structure/cable/proc/mergeConnectedNetworksOnTurf()
+ var/list/to_connect = list()
+
+ if(!powernet) //if we somehow have no powernet, make one (should not happen for cables)
+ var/datum/powernet/newPN = new()
+ newPN.add_cable(src)
+
+ //first let's add turf cables to our powernet
+ //then we'll connect machines on turf with a node cable is present
+ for(var/AM in loc)
+ if(istype(AM, /obj/structure/cable))
+ var/obj/structure/cable/C = AM
+ if(C.d1 == d1 || C.d2 == d1 || C.d1 == d2 || C.d2 == d2) //only connected if they have a common direction
+ if(C.powernet == powernet)
+ continue
+ if(C.powernet)
+ merge_powernets(powernet, C.powernet)
+ else
+ powernet.add_cable(C) //the cable was powernetless, let's just add it to our powernet
+
+ else if(istype(AM, /obj/machinery/power/apc))
+ var/obj/machinery/power/apc/N = AM
+ if(!N.terminal)
+ continue // APC are connected through their terminal
+
+ if(N.terminal.powernet == powernet)
+ continue
+
+ to_connect += N.terminal //we'll connect the machines after all cables are merged
+
+ else if(istype(AM, /obj/machinery/power)) //other power machines
+ var/obj/machinery/power/M = AM
+
+ if(M.powernet == powernet)
+ continue
+
+ to_connect += M //we'll connect the machines after all cables are merged
+
+ //now that cables are done, let's connect found machines
+ for(var/obj/machinery/power/PM in to_connect)
+ if(!PM.connect_to_network())
+ PM.disconnect_from_network() //if we somehow can't connect the machine to the new powernet, remove it from the old nonetheless
+
+//////////////////////////////////////////////
+// Powernets handling helpers
+//////////////////////////////////////////////
+
+//if powernetless_only = 1, will only get connections without powernet
+/obj/structure/cable/proc/get_connections(powernetless_only = 0)
+ . = list() // this will be a list of all connected power objects
+ var/turf/T
+
+ //get matching cables from the first direction
+ if(d1) //if not a node cable
+ T = get_step(src, d1)
+ if(T)
+ . += power_list(T, src, turn(d1, 180), powernetless_only) //get adjacents matching cables
+
+ if(d1&(d1-1)) //diagonal direction, must check the 4 possibles adjacents tiles
+ T = get_step(src,d1&3) // go north/south
+ if(T)
+ . += power_list(T, src, d1 ^ 3, powernetless_only) //get diagonally matching cables
+ T = get_step(src,d1&12) // go east/west
+ if(T)
+ . += power_list(T, src, d1 ^ 12, powernetless_only) //get diagonally matching cables
+
+ . += power_list(loc, src, d1, powernetless_only) //get on turf matching cables
+
+ //do the same on the second direction (which can't be 0)
+ T = get_step(src, d2)
+ if(T)
+ . += power_list(T, src, turn(d2, 180), powernetless_only) //get adjacents matching cables
+
+ if(d2&(d2-1)) //diagonal direction, must check the 4 possibles adjacents tiles
+ T = get_step(src,d2&3) // go north/south
+ if(T)
+ . += power_list(T, src, d2 ^ 3, powernetless_only) //get diagonally matching cables
+ T = get_step(src,d2&12) // go east/west
+ if(T)
+ . += power_list(T, src, d2 ^ 12, powernetless_only) //get diagonally matching cables
+ . += power_list(loc, src, d2, powernetless_only) //get on turf matching cables
+
+ return .
+
+//should be called after placing a cable which extends another cable, creating a "smooth" cable that no longer terminates in the centre of a turf.
+//needed as this can, unlike other placements, disconnect cables
+/obj/structure/cable/proc/denode()
+ var/turf/T1 = loc
+ if(!T1)
+ return
+
+ var/list/powerlist = power_list(T1,src,0,0) //find the other cables that ended in the centre of the turf, with or without a powernet
+ if(powerlist.len>0)
+ var/datum/powernet/PN = new()
+ propagate_network(powerlist[1],PN) //propagates the new powernet beginning at the source cable
+
+ if(PN.is_empty()) //can happen with machines made nodeless when smoothing cables
+ qdel(PN)
+
+/obj/structure/cable/proc/auto_propogate_cut_cable(obj/O)
+ if(O && !QDELETED(O))
+ var/datum/powernet/newPN = new()// creates a new powernet...
+ propagate_network(O, newPN)//... and propagates it to the other side of the cable
+
+// cut the cable's powernet at this cable and updates the powergrid
+/obj/structure/cable/proc/cut_cable_from_powernet(remove=TRUE)
+ var/turf/T1 = loc
+ var/list/P_list
+ if(!T1)
+ return
+ if(d1)
+ T1 = get_step(T1, d1)
+ P_list = power_list(T1, src, turn(d1,180),0,cable_only = 1) // what adjacently joins on to cut cable...
+
+ P_list += power_list(loc, src, d1, 0, cable_only = 1)//... and on turf
+
+
+ if(P_list.len == 0)//if nothing in both list, then the cable was a lone cable, just delete it and its powernet
+ powernet.remove_cable(src)
+
+ for(var/obj/machinery/power/P in T1)//check if it was powering a machine
+ if(!P.connect_to_network()) //can't find a node cable on a the turf to connect to
+ P.disconnect_from_network() //remove from current network (and delete powernet)
+ return
+
+ var/obj/O = P_list[1]
+ // remove the cut cable from its turf and powernet, so that it doesn't get count in propagate_network worklist
+ if(remove)
+ moveToNullspace()
+ powernet.remove_cable(src) //remove the cut cable from its powernet
+
+ addtimer(CALLBACK(O, .proc/auto_propogate_cut_cable, O), 0) //so we don't rebuild the network X times when singulo/explosion destroys a line of X cables
+
+ // Disconnect machines connected to nodes
+ if(d1 == 0) // if we cut a node (O-X) cable
+ for(var/obj/machinery/power/P in T1)
+ if(!P.connect_to_network()) //can't find a node cable on a the turf to connect to
+ P.disconnect_from_network() //remove from current network
+
+
+///////////////////////////////////////////////
+// The cable coil object, used for laying cable
+///////////////////////////////////////////////
+
+////////////////////////////////
+// Definitions
+////////////////////////////////
+
+GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restraints", /obj/item/restraints/handcuffs/cable, 15)))
+
+/obj/item/stack/cable_coil
+ name = "cable coil"
+ gender = NEUTER //That's a cable coil sounds better than that's some cable coils
+ icon = 'icons/obj/power.dmi'
+ icon_state = "coil"
+ item_state = "coil"
+ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
+ max_amount = MAXCOIL
+ amount = MAXCOIL
+ merge_type = /obj/item/stack/cable_coil // This is here to let its children merge between themselves
+ item_color = "red"
+ desc = "A coil of insulated power cable."
+ throwforce = 0
+ w_class = WEIGHT_CLASS_SMALL
+ throw_speed = 3
+ throw_range = 5
+ materials = list(MAT_METAL=10, MAT_GLASS=5)
+ flags_1 = CONDUCT_1
+ slot_flags = ITEM_SLOT_BELT
+ attack_verb = list("whipped", "lashed", "disciplined", "flogged")
+ singular_name = "cable piece"
+ full_w_class = WEIGHT_CLASS_SMALL
+ grind_results = list(/datum/reagent/copper = 2) //2 copper per cable in the coil
+ usesound = 'sound/items/deconstruct.ogg'
+
+/obj/item/stack/cable_coil/cyborg
+ is_cyborg = 1
+ materials = list()
+ cost = 1
+
+/obj/item/stack/cable_coil/cyborg/attack_self(mob/user)
+ var/cable_color = input(user,"Pick a cable color.","Cable Color") in list("red","yellow","green","blue","pink","orange","cyan","white")
+ item_color = cable_color
+ update_icon()
+
+/obj/item/stack/cable_coil/suicide_act(mob/user)
+ if(locate(/obj/structure/chair/stool) in get_turf(user))
+ user.visible_message("[user] is making a noose with [src]! It looks like [user.p_theyre()] trying to commit suicide!")
+ else
+ user.visible_message("[user] is strangling [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!")
+ return(OXYLOSS)
+
+/obj/item/stack/cable_coil/Initialize(mapload, new_amount = null, param_color = null)
+ . = ..()
+
+ var/list/cable_colors = GLOB.cable_colors
+ item_color = param_color || item_color || pick(cable_colors)
+ if(cable_colors[item_color])
+ item_color = cable_colors[item_color]
+
+ pixel_x = rand(-2,2)
+ pixel_y = rand(-2,2)
+ update_icon()
+ recipes = GLOB.cable_coil_recipes
+
+///////////////////////////////////
+// General procedures
+///////////////////////////////////
+
+
+//you can use wires to heal robotics
+/obj/item/stack/cable_coil/attack(mob/living/carbon/human/H, mob/user)
+ if(!istype(H))
+ return ..()
+
+ var/obj/item/bodypart/affecting = H.get_bodypart(check_zone(user.zone_selected))
+ if(affecting && affecting.status == BODYPART_ROBOTIC)
+ if(user == H)
+ user.visible_message("[user] starts to fix some of the wires in [H]'s [affecting.name].", "You start fixing some of the wires in [H]'s [affecting.name].")
+ if(!do_mob(user, H, 50))
+ return
+ if(item_heal_robotic(H, user, 0, 15))
+ use(1)
+ return
+ else
+ return ..()
+
+
+/obj/item/stack/cable_coil/update_icon()
+ icon_state = "[initial(item_state)][amount < 3 ? amount : ""]"
+ name = "cable [amount < 3 ? "piece" : "coil"]"
+ color = null
+ add_atom_colour(item_color, FIXED_COLOUR_PRIORITY)
+
+/obj/item/stack/cable_coil/attack_hand(mob/user)
+ . = ..()
+ if(.)
+ return
+ var/obj/item/stack/cable_coil/new_cable = ..()
+ if(istype(new_cable))
+ new_cable.item_color = item_color
+ new_cable.update_icon()
+
+//add cables to the stack
+/obj/item/stack/cable_coil/proc/give(extra)
+ if(amount + extra > max_amount)
+ amount = max_amount
+ else
+ amount += extra
+ update_icon()
+
+
+
+///////////////////////////////////////////////
+// Cable laying procedures
+//////////////////////////////////////////////
+
+/obj/item/stack/cable_coil/proc/get_new_cable(location)
+ var/path = /obj/structure/cable
+ return new path(location, item_color)
+
+// called when cable_coil is clicked on a turf
+/obj/item/stack/cable_coil/proc/place_turf(turf/T, mob/user, dirnew)
+ if(!isturf(user.loc))
+ return
+
+ if(!isturf(T) || T.intact || !T.can_have_cabling())
+ to_chat(user, "You can only lay cables on catwalks and plating!")
+ return
+
+ if(get_amount() < 1) // Out of cable
+ to_chat(user, "There is no cable left!")
+ return
+
+ if(get_dist(T,user) > 1) // Too far
+ to_chat(user, "You can't lay cable at a place that far away!")
+ return
+
+ var/dirn
+ if(!dirnew) //If we weren't given a direction, come up with one! (Called as null from catwalk.dm and floor.dm)
+ if(user.loc == T)
+ dirn = user.dir //If laying on the tile we're on, lay in the direction we're facing
+ else
+ dirn = get_dir(T, user)
+ else
+ dirn = dirnew
+
+ for(var/obj/structure/cable/LC in T)
+ if(LC.d2 == dirn && LC.d1 == 0)
+ to_chat(user, "There's already a cable at that position!")
+ return
+
+ var/obj/structure/cable/C = get_new_cable(T)
+
+ //set up the new cable
+ C.d1 = 0 //it's a O-X node cable
+ C.d2 = dirn
+ C.add_fingerprint(user)
+ C.update_icon()
+
+ //create a new powernet with the cable, if needed it will be merged later
+ var/datum/powernet/PN = new()
+ PN.add_cable(C)
+
+ C.mergeConnectedNetworks(C.d2) //merge the powernet with adjacents powernets
+ C.mergeConnectedNetworksOnTurf() //merge the powernet with on turf powernets
+
+ if(C.d2 & (C.d2 - 1))// if the cable is layed diagonally, check the others 2 possible directions
+ C.mergeDiagonalsNetworks(C.d2)
+
+ use(1)
+
+ if(C.shock(user, 50))
+ if(prob(50)) //fail
+ new /obj/item/stack/cable_coil(get_turf(C), 1, C.color)
+ C.deconstruct()
+
+ return C
+
+// called when cable_coil is click on an installed obj/cable
+// or click on a turf that already contains a "node" cable
+/obj/item/stack/cable_coil/proc/cable_join(obj/structure/cable/C, mob/user, showerror = TRUE, forceddir)
+ var/turf/U = user.loc
+ if(!isturf(U))
+ return
+
+ var/turf/T = C.loc
+
+ if(!isturf(T) || T.intact) // sanity checks, also stop use interacting with T-scanner revealed cable
+ return
+
+ if(get_dist(C, user) > 1) // make sure it's close enough
+ to_chat(user, "You can't lay cable at a place that far away!")
+ return
+
+
+ if(U == T && !forceddir) //if clicked on the turf we're standing on and a direction wasn't supplied, try to put a cable in the direction we're facing
+ place_turf(T,user)
+ return
+
+ var/dirn = get_dir(C, user)
+
+ // one end of the clicked cable is pointing towards us and no direction was supplied
+ if((C.d1 == dirn || C.d2 == dirn) && !forceddir)
+ if(!U.can_have_cabling()) //checking if it's a plating or catwalk
+ if (showerror)
+ to_chat(user, "You can only lay cables on catwalks and plating!")
+ return
+ if(U.intact) //can't place a cable if it's a plating with a tile on it
+ to_chat(user, "You can't lay cable there unless the floor tiles are removed!")
+ return
+ else
+ // cable is pointing at us, we're standing on an open tile
+ // so create a stub pointing at the clicked cable on our tile
+
+ var/fdirn = turn(dirn, 180) // the opposite direction
+
+ for(var/obj/structure/cable/LC in U) // check to make sure there's not a cable there already
+ if(LC.d1 == fdirn || LC.d2 == fdirn)
+ if (showerror)
+ to_chat(user, "There's already a cable at that position!")
+ return
+
+ var/obj/structure/cable/NC = get_new_cable (U)
+
+ NC.d1 = 0
+ NC.d2 = fdirn
+ NC.add_fingerprint(user)
+ NC.update_icon()
+
+ //create a new powernet with the cable, if needed it will be merged later
+ var/datum/powernet/newPN = new()
+ newPN.add_cable(NC)
+
+ NC.mergeConnectedNetworks(NC.d2) //merge the powernet with adjacents powernets
+ NC.mergeConnectedNetworksOnTurf() //merge the powernet with on turf powernets
+
+ if(NC.d2 & (NC.d2 - 1))// if the cable is layed diagonally, check the others 2 possible directions
+ NC.mergeDiagonalsNetworks(NC.d2)
+
+ use(1)
+
+ if (NC.shock(user, 50))
+ if (prob(50)) //fail
+ NC.deconstruct()
+
+ return
+
+ // exisiting cable doesn't point at our position or we have a supplied direction, so see if it's a stub
+ else if(C.d1 == 0)
+ // if so, make it a full cable pointing from it's old direction to our dirn
+ var/nd1 = C.d2 // these will be the new directions
+ var/nd2 = dirn
+
+
+ if(nd1 > nd2) // swap directions to match icons/states
+ nd1 = dirn
+ nd2 = C.d2
+
+
+ for(var/obj/structure/cable/LC in T) // check to make sure there's no matching cable
+ if(LC == C) // skip the cable we're interacting with
+ continue
+ if((LC.d1 == nd1 && LC.d2 == nd2) || (LC.d1 == nd2 && LC.d2 == nd1) ) // make sure no cable matches either direction
+ if (showerror)
+ to_chat(user, "There's already a cable at that position!")
+
+ return
+
+
+ C.update_icon()
+
+ C.d1 = nd1
+ C.d2 = nd2
+
+ //updates the stored cable coil
+ C.update_stored(2, item_color)
+
+ C.add_fingerprint(user)
+ C.update_icon()
+
+
+ C.mergeConnectedNetworks(C.d1) //merge the powernets...
+ C.mergeConnectedNetworks(C.d2) //...in the two new cable directions
+ C.mergeConnectedNetworksOnTurf()
+
+ if(C.d1 & (C.d1 - 1))// if the cable is layed diagonally, check the others 2 possible directions
+ C.mergeDiagonalsNetworks(C.d1)
+
+ if(C.d2 & (C.d2 - 1))// if the cable is layed diagonally, check the others 2 possible directions
+ C.mergeDiagonalsNetworks(C.d2)
+
+ use(1)
+
+ if (C.shock(user, 50))
+ if (prob(50)) //fail
+ C.deconstruct()
+ return
+
+ C.denode()// this call may have disconnected some cables that terminated on the centre of the turf, if so split the powernets.
+ return
+
+//////////////////////////////
+// Misc.
+/////////////////////////////
+
+/obj/item/stack/cable_coil/red
+ item_color = "red"
+ color = "#ff0000"
+
+/obj/item/stack/cable_coil/yellow
+ item_color = "yellow"
+ color = "#ffff00"
+
+/obj/item/stack/cable_coil/blue
+ item_color = "blue"
+ color = "#1919c8"
+
+/obj/item/stack/cable_coil/green
+ item_color = "green"
+ color = "#00aa00"
+
+/obj/item/stack/cable_coil/pink
+ item_color = "pink"
+ color = "#ff3ccd"
+
+/obj/item/stack/cable_coil/orange
+ item_color = "orange"
+ color = "#ff8000"
+
+/obj/item/stack/cable_coil/cyan
+ item_color = "cyan"
+ color = "#00ffff"
+
+/obj/item/stack/cable_coil/white
+ item_color = "white"
+
+/obj/item/stack/cable_coil/random
+ item_color = null
+ color = "#ffffff"
+
+
+/obj/item/stack/cable_coil/random/five
+ amount = 5
+
+/obj/item/stack/cable_coil/cut
+ amount = null
+ icon_state = "coil2"
+
+/obj/item/stack/cable_coil/cut/Initialize(mapload)
+ . = ..()
+ if(!amount)
+ amount = rand(1,2)
+ pixel_x = rand(-2,2)
+ pixel_y = rand(-2,2)
+ update_icon()
+
+/obj/item/stack/cable_coil/cut/red
+ item_color = "red"
+ color = "#ff0000"
+
+/obj/item/stack/cable_coil/cut/yellow
+ item_color = "yellow"
+ color = "#ffff00"
+
+/obj/item/stack/cable_coil/cut/blue
+ item_color = "blue"
+ color = "#1919c8"
+
+/obj/item/stack/cable_coil/cut/green
+ item_color = "green"
+ color = "#00aa00"
+
+/obj/item/stack/cable_coil/cut/pink
+ item_color = "pink"
+ color = "#ff3ccd"
+
+/obj/item/stack/cable_coil/cut/orange
+ item_color = "orange"
+ color = "#ff8000"
+
+/obj/item/stack/cable_coil/cut/cyan
+ item_color = "cyan"
+ color = "#00ffff"
+
+/obj/item/stack/cable_coil/cut/white
+ item_color = "white"
+
+/obj/item/stack/cable_coil/cut/random
+ item_color = null
color = "#ffffff"
\ No newline at end of file
diff --git a/icons/effects/mapping_helpers.dmi b/icons/effects/mapping_helpers.dmi
index dec83046b9112f1bcfbca17c0d6ac10a6e24ba62..e3cc3865b27fcc3771a19dabe0f40c2bba6a0e17 100644
GIT binary patch
literal 6878
zcmXwe1zb~a*!D(ucQ;5QC`ybjNd*B>QW}XrAUQUWE{CLqj24xYP;&G@MM}Cs8fj!>
z1HR+?z3=b0J?GwYp7Wf$uIs+fS)!SV9yJ9A1qcM9Hqh681RRV0eaT3GF?qyI3OF2u
zSy%^Zy97M<_wWn!@bv+KLJHoEbbI#7Qjx4QTrrh&WRE#Vy@Rsf5{&=LoZ=>toba4|
z-e70`&}@c6(CbS+(Pf$a(-776m!j^7ch6*9)<6__?>m^>{9QoABTY<%<7l%QW9bS$
zv6&ZTewnw$D$BMra*u4_)I?KDlA8ww#lL4?&)HS!nL7R=yiC~Pyo=Hr3DUmMsxD|y
z(V<~Wsu(SmYFz21-%68RP821PzV8nve%$cMK1eYS#WtSfx+yEygW<
z`enD1gD74>q+BS)4T-BX-c5l-+RL3X-kkDJeFl<5uH!}~s+kD{V*g~Itzi*T@W(d7
z$iiv~CLP^i9Z{b^X{~4JttGn(qBeu#u7XTLOjRTSj0GCYtzl?)ctr
zC9c=Ojnalf4n6M(VPAc?Ik#~)*S{G>(g||OXiNe(_74vtvAr)ql`q`gG1UY8>9KW0
znAO&o`@EteAj@aby~oEPxh}@^y7cXsBpfIXY|ZlHSfQ&(AXAly7LCSrFsSkfe|Od7
z+9>_hI<_18W>KTWDj8-YG_(c~`R@zmD!q5)aBHg2w*nUzlI
zq*G&c$-ZBrnA8t`ELI%_0Hb7R;s#}4p#_Yv^mE;FN{~g*{N5NkE?N?tM2&i&X(X8{
zNGi0I)gm9<07z`N-Vo!K^j9`RvsO~*`~(!%@U&^Sy4-0|{(TIRaLEK(IyQdq=MKp@
zP|-r=0b8h6UEh)Ni+V9jSx1DZ2%l2wPg5dEBl9Z1If06lw7NyvTDhqCvA|w!R+{)|
z)p`usb|~L{A9wfB{mzWST;;0&@sf4kk;foIbP7aP5ZL@=-G!EA+2wK~jPc5eTM}YNbcez6@R>M-A
zN?enJje0Q~Lj|T0T>n$vCP4PT04l8~-k@pu>?KjY%
z>^^d!myUqwRq`kka#IY|y3hE_PPxB!JfWO?E0Ugabkz^9GVT>aaf?20ZGu>w_u8ME
zV$Lwipg6G{%O@a6WQL}r*Ysqw)PjaJX{J*2Qgtiz#Z)+rSpCe7AT_Fi9HGUJ(M$pi
zMR~oog?@+M$WTNBEElUwS@hM(&enr0eDuhERxn-a@
zimn#UlvYk1FSY?P@=ec&4`Uj~9+FRxC6dL_IaI&E6E78
zsf`2fuq1w{mH)Tm7SJlJjwv-&-A9_<(R4IGKr4<`^iqMbJ4ugs^0c&MV^(ss&nO9@
zWN8#RhXYqHrvC5N?i;hJZ(g;|~HnMv3-IGjkv_UN&yc^}OamA6?8TNeUpN)`56EC?q}OU}L>
z9;svSJYEG`rd~QKk_{IDt!QTiQ@@3n6mD@AIzP-~wvF(y
z0CwYO64hq9dI#LVm(tE@85i}{AqJ^+Pmzrm#HSjXXU{=zzd7&ywhj9j5^=C;^#&Wn
zNzvfubQA|K5~=sfJ<_Blpdu0u)6xmEuz^;OxD|P#rGFHxy<2tjt!Hc^2{)K63>O%zg#&aqU;!ZB^XZH-8N>O_UUxCKzJUmvvW
z!f0OPKr55+qp?H}<{aJ(GsqD9p
z?kxX`<+&a5?6VfB7DtIOrbjO_FsAhHrWZuRReQYTwe03g@JOn5O0=R1Z0*6&VoK)1
zuzLiA5R`^(K1|}F_n3Tb3xjDecGCTg+yGGi_UrvkL5O2sdatjLfcdNEI#;FXTlB|^
z$kThis|@@M$8ScoV+d0xzdr6@HC(<-V&(6!aq401Q8vH7_lQJEuMPXYvv0hjN4`#r
zkg*-px%8I~aMM2>sT3?vLjn2d6Mt73=HKL=H|^?m0s3LkHeVcxNMq$I{uM#>%c%T0
zulIg0XGKBG8;{ah?wH*Web_;1jIR;4lMGhxcC^c+MPfj{j}JGf>1|>}%2pNc($TXt
z=B%yCOoJ_|6qTgDZHU{?f-UM$L<(Umxbke@(Bs76^});9BYE(DCh(3w{O!L^ye+SNG8!!WAZuiBJ@J+A*G|EPz_0R#jzp_`LO
z@<~e`{0`E6GrTKmz;j7lS~-wzSTrxnK4S!YpRVG_=XO&^t!acB^UMN@Fo8O!o|G399g0zGl}W%b=CM
zEgjk-CoYKKUmI=cLTTm(O*~;3OR+SuyKZ4RsX%8I_tJV6ch^S$B}?&6T%uHFEjvk-
z2k?6-n88MC-QNK4PfGU*Zw9}Dv``r0oXVD_+f!@n;l~~gVea7vepQA>SWwoXZ4*@F
zcvAMFkZmQf{KV)9tbvrsufgl=j^i9*GJ{?ArO5{se^jzCFyHQpl^mr`5z+MMvffe*
zSEne`h#b-_o^U7Ql(GgQrq^SCbFde!*jY8J;QK^lF&)o+SUFs4ab*mq@O!^}$_7%Y
z6D!V!RLCh$KH}Vd#?iB<|BjOe?sk=LzlizldI#60>~Jj`&InRDTHu+)WL2SVsgoxx
z8gV>AVf<mS&a%u%%4RUuoSr37;;IZidWNjNG`g*KPetQBsR~bZ!+vQ<+0X
zNdy>HK$50U%lt?&6(5ERU+51E`v%<`in6;H_!YSKpZaCRh)L5gia4PqO{%OLnR%Wk
zs;wV6rx!a0-G?=vZr+!y`>EH{9~<(w`V^^`Z@+W-X*WS+?WsJKbGWK+>-i|!
z*QK*tv5{XKFM&IB$F=BVz(CI)q
z>$NAqB7ZO1c`M!b;kXa55zV>KVD1jdT%)XqQ%DZfxBSe
z)a>d4liJj<^1a%R^qSfs{12@Hy3+VhB-Dn;nyb>|5=7MGH1}t9
zq8sT;Sk#C+ukDerfaTn2-VSVzH(~*Qd6thO^7vFc)lqN1pZ5_5KJT2h_%@lA=X36{
zkcpkjVC4BLi8V4Ehz;HG0D-l_NbL}p~FBK5C)W6Y75GiiW>ifXp
z2weO%&xNkY>mkul5f%4~l+x71=O=*kId>e{KqO)PI$i%&^ijaK-t)TH+5RQ>tbMm;
z&4Fj&LByY>U=ueta*tyq(*mlXWnkSD2N4r7qEY!6B${RK{5|_
zbB4{Iyeg&rQY8Uy|8%EM&SV_O6T(l(xp!16F1Ft2@%c@n&rDf)J{wmK&jgE5=+s(M
zR14yVH`mjP-|*`%gv~!i+&%*kg7{CwvOEVI8uE3%xC}!+$c1p}K<;?CccTJ(P003u
z@n=#wXOJb`wel5@8cda{dt-M0_ilpSx@kuKApktb@14<~$}3_L5L}FEPZXg4IZZPq
zjU?d1=p2N%GD*HX)L<28pEwLnc_G8F1~kld{SkZ_2jN!jj`#a~R2Fe!-KNUX>?G~w
z68ps|J+-9Z?C7W5V31GmE9va*K8|i6C)@#!aX;Ku58n(0o~QU$*EErfVnqI&YILZ&
zH;Lt+$}qovPe+3!y8qAIeTY7D3Io&vblGpeU}D-HmW7SzV?F!=aGIIzqh24uiO={^iH6fm@1y(x!WpQl$yrc84(+-n09XJaFQd_{KceBa0X4!MWIGr
zvqkR>Ej{w`A%1?c6QNFOS;zEMw^DWDQA3^-j>c%x)G$O(B6xqM)s1|JQwrAAW+Ku2
zi{*u3I}dhv>(z&?SA?px8fF)H>uqC?7cq(6N^jRafQK=^k#j)?Y3aU-98MTVifI|E
z`aS$_4yT>s!cU?w)w9S}qL!ha{JhSS96ey!!uTcx&B?zoRT<@1BbbBa`?ckN{u4-Q
zkbiHb{fCiS)h+lnE7H`B+1#r8vQEf*=js*=Z<%bV5#eb5ZqL#Jfv`_mR7J&|M<9Z6Oo01
z+MME^bn7M{-rs>s_HRw(*^g6~PGdrBPSG|{NHsRsZCS~;5);CJHvl-d&HNq&>3MFI
zr{=8JXi-Jy2));ZQ;8Z^zD;l>N`2OP_;C<^3KS51{l=8+f^^1Ygt`ul*WC=RgN>+i
z_<->{>-Q+DNIoQ8?_|8X6Vt{iNCtldM|?T)Jf6UTV-L?Nepy$e#_{~#`jc8vmDPso
zTc_0qpo5RYwU42Yj$ig3*O6Lv7SMaI9RyYJNvfHeuhs^+XWqI$P=1T`?y2VuAi5RsNEL)
zLyD&`&TVc|^ZdK)d#Mk;U!4~kQLn9I`|cNGbxw3+mkVvr5Iq%ALp>Pi-~AGeJDBoa
zc*Rhzq$mVQ=Ra>>R>eQL>_%1tzc}v(xPs#8LOjsaJ9th&1-RZQga?iBar3@@=P*Js
z07Gel?YtyLTLrIFcjmy$m_Y4qP1vOp7o35}>=hjF%?S^_-!kL#uM*~~omxwJI
z{B%Z}t>=;9B%p`F;IE3}4lD<+VqWqH`u)qh_sw^gBO=UVIMkj0nA(dLT%x1GBo7C2
z?&QaPo&zX7g%-RAFb{o2b(qsMJ@eYcqH(UTF+<;bLkc+v&wnYGi!s(4Ih;t^sQH`2
z+w*F_FL7s)r`gQEhFdeEevbJ-&SF&C+|Aww0mR<<;CSZ%s0Bj*9q*)rjv((r__CAs
z^1IBKje)IF{_$(mxrXFx9#>raIF=zl$#n7g6&i+H1U|!6aM-pqI{Rv
z{{@@eO(Dzij#7Ss>7!%pT+A_cPz|G<%)2m53d-)E=()_tuO5>w(CXh%crb(s$K2EF
z&tChAf7AE=Q|yJB&g;*T14F?=5Z(ZlKSN^Zt&k)>&q!6A30>
z*~dZ(ta>#M07tszTneBW0Q~)SP*}DI=_$_;js0j&6@v%+jNwuF%ez6}Q5Oy>@oqk>ArP_Lh;~
z(7bT`ksw0ll|6oq)!oNO*VdLBf?0|F<7h9Y>FnZCkGnY3v$Nx2RQWO_LlWOx?2y(U#%`=9h9V3@40=EDVOO>ipmvQZc>j}XONG04OX}~&-osklthu4
zm9@GUyd3*|g94ULP{fI}yZQ0``}1FP;NhFK?l&3YobUZC%*@AV1=Pe&%&@C`=Jxt@jV+c5y7`gAyg8Sfj
z$*`KNoE-Gbi{>I1A%g1KTDObCW!kpI*Ciz-330lu-GmXWV#r5Y0hX4Qve$m03d}F?
zAI#sUy=9xT-?3})Ck7o&qpq2~rmDJoVkyTK7gH%&r9mKR`%WrQWlar>Xfk3;YO}sx
z4v$$!Z13$c4jaa3`R$CCk9zh+{TMDV5slH+5-R%M1iyi))wttCnl`OCek`;E^cE6I
z+cc8VLNI)VuuG5jn`<0qGv9Z`zeRmB(&q~&IXO8SC+E7Nge(k5G&pC0ztz@&34&SkP1q&vqw%IZ%*PLNy`DIG%lryd+7ywczi&(
zqtWR9_GjuV|0IYgz9Z9k5YrfaZw4y&2o|O<+?HP2FGC^+yFWc<6B&0zxVf<**ZoYY
zF}csRLGHobPByijm)q3zV{5F@Y0H&qO$?g&NY7~NmS^nNPR9mV($XQ*yBc)JA`X1d
zXOP3>?-UZ}^M4k!w6uia{(K>9eO3|$Bv;&NQzDFY4_{C6gdhchK+nv)9d{vTcXm4T
zZ?Uc~mute1r?^M#630Qs3_OLMKOUhOsBX;CdBS+Bv8hyAYMD{IK-4m0uT2{L99
z5@~;RfOpYQw!g(fjP>ANwM^%p8QC)}1CbP3El8%bKoDQJuyaTVTSrI7_V#wy;9$b|
f#%(#BqnpoHmBPF99_hdzRv-f%6YUyJhgbg(_v>7^
literal 5656
zcmZ8lby$>7wEmV{x*~
zmRMkcyZ-L|>;5tG&GXHib7tn8^Pcya7*k^%I%+Oz008LpbhXTg-)v$-fhmZ6yptn0
z@iP>B-_l>p+0V(>&Bx#EnKu9gr6;@|pl*|53?KSoE*32A=+SB}VfKc1Q#3rub6_O(
z{k4auN4#Wg9a+<~{cOI>fy^Sj&rweJU9p+)YXJ6#L9#j5AbD+={JYNC)E5r
zPw40<;X-sI0dN3dBh%ATzaNyoWs5YtZ_#{dqvNtZ9(A`~rc%IUHrweSrs0E&yJf1C
zV<;2#GjmV(ux3y5z%N3q^L~02A3ryH#wU#bdZ;mKWK#im)2lY)OZxI)_-2VZe8FnD
zTVf5>V|bUkFYvif?M`Cds_)8R6Am}n^rGub?|Q$A-}d>8-{5MdU-P`*Hpl0xDmF#`
z!UzTTdDLqi?s_1gklGgYocimp;2HO-@`qm!Yp0Hx=~8`GQCVIyJrt+ss)HF$xpn+J
zt*tSGUCjZI{vCD_H6ss?jSZ3chgx8R|JGd~o>Dk;%F0W>kT@zYmT2P)<*@$&Zjl1|
zLKTuJI*P!8yrIG?gNJ9=LX>^yKG8p){9H~sJUUOaA|n%g8X}#n0swcao{2GQiM2dQ
z?B2=KypqoQEUZA318^6!t&>-o`+OvRH@+u<@x$R|532E`;nCvpzkZ*ok7G@_i10lA
zW9}ReU`qO|Ob61@umOQL}d_pyhQ}dmfn)+hZ^e!_^so2fS3vMfB
z6qLEb^D{q%riL=^K)EE${r+RYuZj$nRwZH$&SaL#9EJn$fHXAqNcb^lH9(%P`pnC#
ziK`P%88Id$daR(BOZt+rzCyyGvwXSH&qgePJ!fSi)D0BjsJpggPT8SY8j3
zgY2vKL=${iTPXiWk4q8us;_`@GqV
zfFp=`@1_cYq%|RlGw*tl(@mn^f4&P~QaNwZ{cB0xvF^=U#q@xouo^#gok4o>lq!#W
zYsdZK!a#4sSjRP57v;{$tF|ye>G;wSG_@9lJDLVoy`v{)Z@3G3$0s?IvXkG{<>rwc
zPDm5y_2jEvM84`^*m=3MJ(ewONJLHwxK~`s=&d}433DXdeKdFxo1gO<A^o`g@{ZPIo
z>km&4&b$s@Q{Gj;fdIO|9WE(&dVP%5K
z(&w#UOq7qe6ckX?{;Q0+Ezn%dP``J7T?uw-Ua-Tr5$4Uh+~2*%bE#(JI5Dyq!A`~r
z_C1I!KPark*9TgeTHlL^h@-Wv?Lke&iui9;lCkE{KX<){QV$WXDm@|US(|cOjIyEt
zNcjTZfas3&h->f%@rt3EG$gccy7~Nf{!nm6=B)@eW!)^h?P_OkS2RZx2@(fON$_p{
z*4_z%L0|3vO^PgJyXsafC&XBY_Bh+>KE5^{;oMH#AaEq|9-^}O&d&N?0gWUHo+=6X
zdn%BD69)c#bKq%}6~AFvoAnzF9>*|G(`c^Gjb`s5N1#ceM9Z%Y~e-
z6$~{2)LGXg9+NXOLKcV$8~HWjOrvfSx+nzN+A_B+;a-AjoxypdjxhV`fF?EBGm`8P
znt9B6<3OB=C$G*pGGd-8+V6Cw^a0*zbt`qwLs@f-POus%IWUlC;XtkTQ|kXDzbjJn
z=ON-i>ffCXp4<=&?`H~V7gTnAE*F1&_dG)Ntl*~r8LVVpZHcAf1HGg_&XA;v?Llt)
zPGl}!VM!tL04B#Z%!KPoWas|It_Ft#K=fw(PbJ=B%bLu~O1Vm$O7_>1*EO+yiM-k&
znhhp)OI<(t>EK{`U@FH@Eq$b8nOWaXZ3k44O=C)erC>O6Daa$NJ>J~n+CND+ItHmR
zHEP^mPIi1|QDoA5{%D<3F6diJ9`|*};Yz?|VbDgCSQmAon
z5Q50`m(Oq;7QJfra*WYlncR5f3*d2a>M==dKsvtB2cYg+jO(_Gi%twl9wA0&jx&?H
z87lZsQIA?jP3c5PV<|^%xy`h|*sN3x`E&&fN}8^=eC8}AeBAV;`C1N*RI39%Lik6|E6{tG*`o-j_CYI-UW2pJF}beUON1y*FNa2~D;A%ojDf+>7hk-%#O0EnXCz
zw^gE3gtn4TjY^f@Tzt?a1TzH9?iyuN#|vq=wP>wQgs4&HtD}Bv=Zw07xy3D^-#v8N
zkr(Y@c`r(3z3nPLe|vcs(fPdKWLX3wp$6JkQn3aW)}8f?4x|$zo@$zB`?-P31OvR~
z3GmfKSjegsHu$LI%mGp3BLgU(Pw{r*m&J&JRM8Kv(-jFrXEwq^<_=em=K^d_W;#B^
z1OHX}mUR7T*g8v?D6XzI701%^0MWUMvWoepw)-=n-3|D0V9Ni%?az9E;*5}gz1#Qi
zow92ZQZAe(ppoR}VNX|PTD`^yPLa#3z;nm*`$vFx9p&To-n%cx$;G54w9UHB8uu?c
z4Zg3WG!SAHb7SzC8GvtNrrbdAT7;$Ro!bgL+ssA1l#O&)|5}4kI=`R0q%G@vcP#6D
z-!xb6<`W4Jx_dgC6*IGJVTfuA&~JE=W=}&uf-(sK|-&hHiw)Z4I!d
z$`IP|`Wb?hm%T>GzqDYR*2n5vwZ7)gRm=o3-(-6|&|8Oz1Cl!SU^TsHm6H`(!Tu}S
zwG^}DVsY%~_5m~v)0WSTF67tq$yfhuO@Xic^%QIPh1f(f6MR$br9p2~rpv^Rc|G9t
zH)J>EdAyVKT{u~NR6zM$0%lCQd&j>w`u;x|L_tH~Y5$4e6AX{u-FRX&0Md-?F`sJ#
zR~NsHj22Rr*0|*ttK%l9brV4iJ9(A~^_VPC8W
z`Y<4Q>aN31@h5wWVvsUtSW;hX0^V-)?mF_I@WpJgT~~Rk(=}VkLyuXL(6O@Y=o)<
zx}uiwREwn}u&
zJc@fD-1FYyf5{?_T`?n&m^4p6+H+)+rPIrCQjjMKb6Z_VFScTTM6v_0#9Jy}cy>Tp
zCNe6rZXxeMxtK1teccE5?m%mGr%>tryi1vhvw`-ooGgkwMZB@>t+6#RY13AIlItos
zMl7r-ljrYe&>u4xM>U|*+W)*$mf<}J;?4a;94ql`lLT{802A4@V0mNn+}&gN;mh$u
z+0|ixEDa+0X<^0pcw<4O7p@36y{@|F4PV6>V%E{rcHyO^rVB?$BP;x9X)W1L97RdU
zo@Csfyl4noF|oG}@(oz+y4BKPrFj*5O&S#?n`TLc`ryDNPdzayMfaKkV1&2iZC
z1OVNh@CluGmCuiR<7>#iB;5B#(~w=(M`G3iMgBRRu7gsU)Gw6Yv#Ns9u-}W1mEd%;
z|J)Y-jUX!b;9=R!{YOUl9VHb6!HP4~OJQ^KZ}dZ~$-7<%G5VeQFzu!;PFI*93fB?k
zmiVQP(wnUI%KIMbDA{y#t{H7|qv+k{(TWI9N#-RYQT`?*$oFoW(xU0HLWfA^HvG>5
zI-`}AbZ&(0$aJr*j2tx8Qt}!AY96bz82CFTBoX)cgorE$2gkX>8v;Zg{bua@n2Q{>
zdVT^V+J3U9VFQFr?;Z?{3Zg?B%hxpREY}lfb6B
zV2ft6cBiQpvWp{}hO~}_w7!~);&YvQcJ3__0;uXEY5R+A6YnBO>cHe$fLP~BQ;8~7
zm+%M;-&KS!-S-32p>5sm17*i3X7ISY=)UM{)#Itm`#@3qxjB=)@JHOA-n{FW
zIa2*77ePNo^Z%=RL%*%Yl3;-o6B_lyH80?i~t#(E5^9D%!6&5H@X
zxTwwO53y_l@eGtf^TJ6XI@-Vm>qK^lq58$*DAtRQ|EE|+oikmZiJCeBQfP{JbOJAS
zD8l<3bh@R=bP(en69c7N-0lLmWi9y!(Uh^OHbG4BDRb{X7A~iJQq89;vWiX=hSmJ4
zoJ=KgFmyvyE#ce>h;}Kjh88TfKPMwU*cCl8qo#^wS@&TKN5*eoP^sG9Bj&f7H{v@U
z)?ZXv-o3*8?MXZLukR}s4Ma(UBa~G_qVNI)o2k{jOB+Tqk!=zVbS~j;ww48+EU$2E
zffOv-gMs!ZLHvG@meqk5olDp^9698E#%(*J+}&>>yIrfIe`gmHhFpe>gtViX31-U}
zVttWx**q*ta;=CDkZf!S#(lcvp-!LDM?6JscvzZ3XP*A9LGopM6IAvs
z9;Tr+bs=!fWp)COT);tiuWnULe42dAbWk}DjJ{uCS&YtiUSUlf*;|~va#ZZFdE9Wb
z#lwr->P0?M*j8zQJL@&rw#URi3TyHT@ZFXCz1xNHQVRSode-@c1tkZa@55kx*5+%r
zdCfwJb>^ROLvya+sb{;-^Xl+0m{nHOoc}*kBrpc#dLT~~7vCf43n%usZ9Ha_FAU|L
zMxsv`ziDP9IJZ@9a(p$u!I{&iu
z2XU0#^tAK&9ok$3f*xo+HQpp#;y)m
zR$`>?*|UNEn-{nHj~KoZ{M5wTi+jrCn_Z0_R}g{4NUphsh~Pm?r};!MXRkw%5OwJ;
zD{00h%4uiNOk@WMUE@OL@0~CkbUvod}y3f~0
z^wb5gb&0C{_pi`qnPc{K@`;VmIHq!17@B_gOXZhwcX7?U>{RYF{G-g`6-zzb{c*oB%E5L60mE8LG+`s58(yI_Y|jg+{dBeb1Y(`yfWJ
z`s+cL=pMZfotpdHF+<%%=E;S{!w>}8uoOMs$X3orNfuuSFDRsW13WCIb4OUMq#Heo
z#R;(^XChaIi31AEAI4%WpN|f5#78+5sJ-K^Oj#rHUSc8<2fHpWOAN6Achf>yh)=zM
N-d$s@QVoaD{{gL08sGo`
diff --git a/tgstation.dme b/tgstation.dme
index 3819cc83..eeae69f2 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -1,3276 +1,3280 @@
-
-// DM Environment file for tgstation.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\_basemap.dm"
-#include "code\_compile_options.dm"
-#include "code\world.dm"
-#include "code\__DEFINES\_globals.dm"
-#include "code\__DEFINES\_protect.dm"
-#include "code\__DEFINES\_tick.dm"
-#include "code\__DEFINES\access.dm"
-#include "code\__DEFINES\admin.dm"
-#include "code\__DEFINES\antagonists.dm"
-#include "code\__DEFINES\atmospherics.dm"
-#include "code\__DEFINES\atom_hud.dm"
-#include "code\__DEFINES\bsql.config.dm"
-#include "code\__DEFINES\bsql.dm"
-#include "code\__DEFINES\callbacks.dm"
-#include "code\__DEFINES\cargo.dm"
-#include "code\__DEFINES\cinematics.dm"
-#include "code\__DEFINES\citadel_defines.dm"
-#include "code\__DEFINES\cleaning.dm"
-#include "code\__DEFINES\clockcult.dm"
-#include "code\__DEFINES\colors.dm"
-#include "code\__DEFINES\combat.dm"
-#include "code\__DEFINES\components.dm"
-#include "code\__DEFINES\configuration.dm"
-#include "code\__DEFINES\construction.dm"
-#include "code\__DEFINES\contracts.dm"
-#include "code\__DEFINES\cult.dm"
-#include "code\__DEFINES\diseases.dm"
-#include "code\__DEFINES\DNA.dm"
-#include "code\__DEFINES\events.dm"
-#include "code\__DEFINES\exports.dm"
-#include "code\__DEFINES\flags.dm"
-#include "code\__DEFINES\food.dm"
-#include "code\__DEFINES\footsteps.dm"
-#include "code\__DEFINES\hud.dm"
-#include "code\__DEFINES\integrated_electronics.dm"
-#include "code\__DEFINES\interaction_flags.dm"
-#include "code\__DEFINES\inventory.dm"
-#include "code\__DEFINES\is_helpers.dm"
-#include "code\__DEFINES\jobs.dm"
-#include "code\__DEFINES\language.dm"
-#include "code\__DEFINES\layers.dm"
-#include "code\__DEFINES\lighting.dm"
-#include "code\__DEFINES\logging.dm"
-#include "code\__DEFINES\machines.dm"
-#include "code\__DEFINES\maps.dm"
-#include "code\__DEFINES\maths.dm"
-#include "code\__DEFINES\MC.dm"
-#include "code\__DEFINES\mecha.dm"
-#include "code\__DEFINES\medal.dm"
-#include "code\__DEFINES\melee.dm"
-#include "code\__DEFINES\menu.dm"
-#include "code\__DEFINES\misc.dm"
-#include "code\__DEFINES\mobs.dm"
-#include "code\__DEFINES\monkeys.dm"
-#include "code\__DEFINES\move_force.dm"
-#include "code\__DEFINES\movement.dm"
-#include "code\__DEFINES\movespeed_modification.dm"
-#include "code\__DEFINES\nanites.dm"
-#include "code\__DEFINES\networks.dm"
-#include "code\__DEFINES\obj_flags.dm"
-#include "code\__DEFINES\pinpointers.dm"
-#include "code\__DEFINES\pipe_construction.dm"
-#include "code\__DEFINES\pool.dm"
-#include "code\__DEFINES\preferences.dm"
-#include "code\__DEFINES\profile.dm"
-#include "code\__DEFINES\qdel.dm"
-#include "code\__DEFINES\radiation.dm"
-#include "code\__DEFINES\radio.dm"
-#include "code\__DEFINES\reactions.dm"
-#include "code\__DEFINES\reagents.dm"
-#include "code\__DEFINES\reagents_specific_heat.dm"
-#include "code\__DEFINES\research.dm"
-#include "code\__DEFINES\robots.dm"
-#include "code\__DEFINES\role_preferences.dm"
-#include "code\__DEFINES\rust_g.config.dm"
-#include "code\__DEFINES\rust_g.dm"
-#include "code\__DEFINES\say.dm"
-#include "code\__DEFINES\shuttles.dm"
-#include "code\__DEFINES\sight.dm"
-#include "code\__DEFINES\sound.dm"
-#include "code\__DEFINES\spaceman_dmm.dm"
-#include "code\__DEFINES\stat.dm"
-#include "code\__DEFINES\stat_tracking.dm"
-#include "code\__DEFINES\status_effects.dm"
-#include "code\__DEFINES\subsystems.dm"
-#include "code\__DEFINES\tgs.config.dm"
-#include "code\__DEFINES\tgs.dm"
-#include "code\__DEFINES\tgui.dm"
-#include "code\__DEFINES\time.dm"
-#include "code\__DEFINES\tools.dm"
-#include "code\__DEFINES\traits.dm"
-#include "code\__DEFINES\turf_flags.dm"
-#include "code\__DEFINES\typeids.dm"
-#include "code\__DEFINES\vehicles.dm"
-#include "code\__DEFINES\voreconstants.dm"
-#include "code\__DEFINES\vv.dm"
-#include "code\__DEFINES\wall_dents.dm"
-#include "code\__DEFINES\wires.dm"
-#include "code\__DEFINES\dcs\signals.dm"
-#include "code\__HELPERS\_cit_helpers.dm"
-#include "code\__HELPERS\_lists.dm"
-#include "code\__HELPERS\_logging.dm"
-#include "code\__HELPERS\_string_lists.dm"
-#include "code\__HELPERS\areas.dm"
-#include "code\__HELPERS\AStar.dm"
-#include "code\__HELPERS\cmp.dm"
-#include "code\__HELPERS\dates.dm"
-#include "code\__HELPERS\dna.dm"
-#include "code\__HELPERS\files.dm"
-#include "code\__HELPERS\game.dm"
-#include "code\__HELPERS\global_lists.dm"
-#include "code\__HELPERS\heap.dm"
-#include "code\__HELPERS\icon_smoothing.dm"
-#include "code\__HELPERS\icons.dm"
-#include "code\__HELPERS\level_traits.dm"
-#include "code\__HELPERS\matrices.dm"
-#include "code\__HELPERS\mobs.dm"
-#include "code\__HELPERS\mouse_control.dm"
-#include "code\__HELPERS\names.dm"
-#include "code\__HELPERS\priority_announce.dm"
-#include "code\__HELPERS\pronouns.dm"
-#include "code\__HELPERS\qdel.dm"
-#include "code\__HELPERS\radiation.dm"
-#include "code\__HELPERS\radio.dm"
-#include "code\__HELPERS\reagents.dm"
-#include "code\__HELPERS\roundend.dm"
-#include "code\__HELPERS\sanitize_values.dm"
-#include "code\__HELPERS\shell.dm"
-#include "code\__HELPERS\stat_tracking.dm"
-#include "code\__HELPERS\text.dm"
-#include "code\__HELPERS\text_vr.dm"
-#include "code\__HELPERS\time.dm"
-#include "code\__HELPERS\type2type.dm"
-#include "code\__HELPERS\type2type_vr.dm"
-#include "code\__HELPERS\typelists.dm"
-#include "code\__HELPERS\unsorted.dm"
-#include "code\__HELPERS\view.dm"
-#include "code\__HELPERS\sorts\__main.dm"
-#include "code\__HELPERS\sorts\InsertSort.dm"
-#include "code\__HELPERS\sorts\MergeSort.dm"
-#include "code\__HELPERS\sorts\TimSort.dm"
-#include "code\_globalvars\bitfields.dm"
-#include "code\_globalvars\configuration.dm"
-#include "code\_globalvars\game_modes.dm"
-#include "code\_globalvars\genetics.dm"
-#include "code\_globalvars\logging.dm"
-#include "code\_globalvars\misc.dm"
-#include "code\_globalvars\regexes.dm"
-#include "code\_globalvars\lists\flavor_misc.dm"
-#include "code\_globalvars\lists\maintenance_loot.dm"
-#include "code\_globalvars\lists\mapping.dm"
-#include "code\_globalvars\lists\medals.dm"
-#include "code\_globalvars\lists\mobs.dm"
-#include "code\_globalvars\lists\names.dm"
-#include "code\_globalvars\lists\objects.dm"
-#include "code\_globalvars\lists\poll_ignore.dm"
-#include "code\_globalvars\lists\typecache.dm"
-#include "code\_globalvars\lists\vending.dm"
-#include "code\_js\byjax.dm"
-#include "code\_js\menus.dm"
-#include "code\_onclick\adjacent.dm"
-#include "code\_onclick\ai.dm"
-#include "code\_onclick\click.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\telekinesis.dm"
-#include "code\_onclick\hud\_defines.dm"
-#include "code\_onclick\hud\action_button.dm"
-#include "code\_onclick\hud\ai.dm"
-#include "code\_onclick\hud\alert.dm"
-#include "code\_onclick\hud\alien.dm"
-#include "code\_onclick\hud\alien_larva.dm"
-#include "code\_onclick\hud\blob_overmind.dm"
-#include "code\_onclick\hud\blobbernauthud.dm"
-#include "code\_onclick\hud\constructs.dm"
-#include "code\_onclick\hud\credits.dm"
-#include "code\_onclick\hud\devil.dm"
-#include "code\_onclick\hud\drones.dm"
-#include "code\_onclick\hud\fullscreen.dm"
-#include "code\_onclick\hud\generic_dextrous.dm"
-#include "code\_onclick\hud\ghost.dm"
-#include "code\_onclick\hud\guardian.dm"
-#include "code\_onclick\hud\hud.dm"
-#include "code\_onclick\hud\hud_cit.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\parallax.dm"
-#include "code\_onclick\hud\picture_in_picture.dm"
-#include "code\_onclick\hud\plane_master.dm"
-#include "code\_onclick\hud\radial.dm"
-#include "code\_onclick\hud\radial_persistent.dm"
-#include "code\_onclick\hud\revenanthud.dm"
-#include "code\_onclick\hud\robot.dm"
-#include "code\_onclick\hud\screen_objects.dm"
-#include "code\_onclick\hud\swarmer.dm"
-#include "code\controllers\admin.dm"
-#include "code\controllers\configuration_citadel.dm"
-#include "code\controllers\controller.dm"
-#include "code\controllers\failsafe.dm"
-#include "code\controllers\globals.dm"
-#include "code\controllers\hooks.dm"
-#include "code\controllers\master.dm"
-#include "code\controllers\subsystem.dm"
-#include "code\controllers\configuration\config_entry.dm"
-#include "code\controllers\configuration\configuration.dm"
-#include "code\controllers\configuration\entries\comms.dm"
-#include "code\controllers\configuration\entries\dbconfig.dm"
-#include "code\controllers\configuration\entries\game_options.dm"
-#include "code\controllers\configuration\entries\general.dm"
-#include "code\controllers\subsystem\acid.dm"
-#include "code\controllers\subsystem\adjacent_air.dm"
-#include "code\controllers\subsystem\air.dm"
-#include "code\controllers\subsystem\air_turfs.dm"
-#include "code\controllers\subsystem\assets.dm"
-#include "code\controllers\subsystem\atoms.dm"
-#include "code\controllers\subsystem\augury.dm"
-#include "code\controllers\subsystem\autotransfer.dm"
-#include "code\controllers\subsystem\blackbox.dm"
-#include "code\controllers\subsystem\chat.dm"
-#include "code\controllers\subsystem\communications.dm"
-#include "code\controllers\subsystem\dbcore.dm"
-#include "code\controllers\subsystem\dcs.dm"
-#include "code\controllers\subsystem\disease.dm"
-#include "code\controllers\subsystem\events.dm"
-#include "code\controllers\subsystem\fire_burning.dm"
-#include "code\controllers\subsystem\garbage.dm"
-#include "code\controllers\subsystem\icon_smooth.dm"
-#include "code\controllers\subsystem\idlenpcpool.dm"
-#include "code\controllers\subsystem\input.dm"
-#include "code\controllers\subsystem\ipintel.dm"
-#include "code\controllers\subsystem\item_spawning.dm"
-#include "code\controllers\subsystem\job.dm"
-#include "code\controllers\subsystem\jukeboxes.dm"
-#include "code\controllers\subsystem\language.dm"
-#include "code\controllers\subsystem\lighting.dm"
-#include "code\controllers\subsystem\machines.dm"
-#include "code\controllers\subsystem\mapping.dm"
-#include "code\controllers\subsystem\medals.dm"
-#include "code\controllers\subsystem\minor_mapping.dm"
-#include "code\controllers\subsystem\mobs.dm"
-#include "code\controllers\subsystem\moods.dm"
-#include "code\controllers\subsystem\nightshift.dm"
-#include "code\controllers\subsystem\npcpool.dm"
-#include "code\controllers\subsystem\overlays.dm"
-#include "code\controllers\subsystem\pai.dm"
-#include "code\controllers\subsystem\parallax.dm"
-#include "code\controllers\subsystem\pathfinder.dm"
-#include "code\controllers\subsystem\persistence.dm"
-#include "code\controllers\subsystem\ping.dm"
-#include "code\controllers\subsystem\radiation.dm"
-#include "code\controllers\subsystem\radio.dm"
-#include "code\controllers\subsystem\research.dm"
-#include "code\controllers\subsystem\server_maint.dm"
-#include "code\controllers\subsystem\shuttle.dm"
-#include "code\controllers\subsystem\spacedrift.dm"
-#include "code\controllers\subsystem\stickyban.dm"
-#include "code\controllers\subsystem\sun.dm"
-#include "code\controllers\subsystem\tgui.dm"
-#include "code\controllers\subsystem\throwing.dm"
-#include "code\controllers\subsystem\ticker.dm"
-#include "code\controllers\subsystem\time_track.dm"
-#include "code\controllers\subsystem\timer.dm"
-#include "code\controllers\subsystem\title.dm"
-#include "code\controllers\subsystem\traumas.dm"
-#include "code\controllers\subsystem\vis_overlays.dm"
-#include "code\controllers\subsystem\vore.dm"
-#include "code\controllers\subsystem\vote.dm"
-#include "code\controllers\subsystem\weather.dm"
-#include "code\controllers\subsystem\processing\chemistry.dm"
-#include "code\controllers\subsystem\processing\circuit.dm"
-#include "code\controllers\subsystem\processing\fastprocess.dm"
-#include "code\controllers\subsystem\processing\fields.dm"
-#include "code\controllers\subsystem\processing\nanites.dm"
-#include "code\controllers\subsystem\processing\networks.dm"
-#include "code\controllers\subsystem\processing\obj.dm"
-#include "code\controllers\subsystem\processing\processing.dm"
-#include "code\controllers\subsystem\processing\projectiles.dm"
-#include "code\controllers\subsystem\processing\quirks.dm"
-#include "code\controllers\subsystem\processing\wet_floors.dm"
-#include "code\datums\action.dm"
-#include "code\datums\ai_laws.dm"
-#include "code\datums\armor.dm"
-#include "code\datums\beam.dm"
-#include "code\datums\browser.dm"
-#include "code\datums\callback.dm"
-#include "code\datums\chatmessage.dm"
-#include "code\datums\cinematic.dm"
-#include "code\datums\dash_weapon.dm"
-#include "code\datums\datacore.dm"
-#include "code\datums\datum.dm"
-#include "code\datums\datumvars.dm"
-#include "code\datums\dna.dm"
-#include "code\datums\dog_fashion.dm"
-#include "code\datums\embedding_behavior.dm"
-#include "code\datums\emotes.dm"
-#include "code\datums\ert.dm"
-#include "code\datums\explosion.dm"
-#include "code\datums\forced_movement.dm"
-#include "code\datums\holocall.dm"
-#include "code\datums\http.dm"
-#include "code\datums\hud.dm"
-#include "code\datums\map_config.dm"
-#include "code\datums\martial.dm"
-#include "code\datums\mind.dm"
-#include "code\datums\mutable_appearance.dm"
-#include "code\datums\numbered_display.dm"
-#include "code\datums\outfit.dm"
-#include "code\datums\position_point_vector.dm"
-#include "code\datums\profiling.dm"
-#include "code\datums\progressbar.dm"
-#include "code\datums\radiation_wave.dm"
-#include "code\datums\recipe.dm"
-#include "code\datums\ruins.dm"
-#include "code\datums\saymode.dm"
-#include "code\datums\shuttles.dm"
-#include "code\datums\soullink.dm"
-#include "code\datums\spawners_menu.dm"
-#include "code\datums\verbs.dm"
-#include "code\datums\weakrefs.dm"
-#include "code\datums\world_topic.dm"
-#include "code\datums\actions\beam_rifle.dm"
-#include "code\datums\actions\ninja.dm"
-#include "code\datums\brain_damage\brain_trauma.dm"
-#include "code\datums\brain_damage\hypnosis.dm"
-#include "code\datums\brain_damage\imaginary_friend.dm"
-#include "code\datums\brain_damage\mild.dm"
-#include "code\datums\brain_damage\phobia.dm"
-#include "code\datums\brain_damage\severe.dm"
-#include "code\datums\brain_damage\special.dm"
-#include "code\datums\brain_damage\split_personality.dm"
-#include "code\datums\components\_component.dm"
-#include "code\datums\components\anti_magic.dm"
-#include "code\datums\components\armor_plate.dm"
-#include "code\datums\components\bouncy.dm"
-#include "code\datums\components\butchering.dm"
-#include "code\datums\components\caltrop.dm"
-#include "code\datums\components\chasm.dm"
-#include "code\datums\components\construction.dm"
-#include "code\datums\components\decal.dm"
-#include "code\datums\components\earprotection.dm"
-#include "code\datums\components\edit_complainer.dm"
-#include "code\datums\components\empprotection.dm"
-#include "code\datums\components\footstep.dm"
-#include "code\datums\components\forced_gravity.dm"
-#include "code\datums\components\infective.dm"
-#include "code\datums\components\jousting.dm"
-#include "code\datums\components\knockoff.dm"
-#include "code\datums\components\lockon_aiming.dm"
-#include "code\datums\components\magnetic_catch.dm"
-#include "code\datums\components\material_container.dm"
-#include "code\datums\components\mirage_border.dm"
-#include "code\datums\components\mood.dm"
-#include "code\datums\components\nanites.dm"
-#include "code\datums\components\ntnet_interface.dm"
-#include "code\datums\components\orbiter.dm"
-#include "code\datums\components\paintable.dm"
-#include "code\datums\components\rad_insulation.dm"
-#include "code\datums\components\radioactive.dm"
-#include "code\datums\components\remote_materials.dm"
-#include "code\datums\components\riding.dm"
-#include "code\datums\components\rotation.dm"
-#include "code\datums\components\signal_redirect.dm"
-#include "code\datums\components\sizzle.dm"
-#include "code\datums\components\slippery.dm"
-#include "code\datums\components\spawner.dm"
-#include "code\datums\components\spooky.dm"
-#include "code\datums\components\squeak.dm"
-#include "code\datums\components\stationloving.dm"
-#include "code\datums\components\swarming.dm"
-#include "code\datums\components\thermite.dm"
-#include "code\datums\components\uplink.dm"
-#include "code\datums\components\wearertargeting.dm"
-#include "code\datums\components\wet_floor.dm"
-#include "code\datums\components\storage\storage.dm"
-#include "code\datums\components\storage\concrete\_concrete.dm"
-#include "code\datums\components\storage\concrete\bag_of_holding.dm"
-#include "code\datums\components\storage\concrete\bluespace.dm"
-#include "code\datums\components\storage\concrete\emergency.dm"
-#include "code\datums\components\storage\concrete\implant.dm"
-#include "code\datums\components\storage\concrete\pockets.dm"
-#include "code\datums\components\storage\concrete\rped.dm"
-#include "code\datums\components\storage\concrete\special.dm"
-#include "code\datums\components\storage\concrete\stack.dm"
-#include "code\datums\diseases\_disease.dm"
-#include "code\datums\diseases\_MobProcs.dm"
-#include "code\datums\diseases\anxiety.dm"
-#include "code\datums\diseases\appendicitis.dm"
-#include "code\datums\diseases\beesease.dm"
-#include "code\datums\diseases\brainrot.dm"
-#include "code\datums\diseases\cold.dm"
-#include "code\datums\diseases\cold9.dm"
-#include "code\datums\diseases\dna_spread.dm"
-#include "code\datums\diseases\fake_gbs.dm"
-#include "code\datums\diseases\flu.dm"
-#include "code\datums\diseases\fluspanish.dm"
-#include "code\datums\diseases\gbs.dm"
-#include "code\datums\diseases\heart_failure.dm"
-#include "code\datums\diseases\magnitis.dm"
-#include "code\datums\diseases\parrotpossession.dm"
-#include "code\datums\diseases\pierrot_throat.dm"
-#include "code\datums\diseases\retrovirus.dm"
-#include "code\datums\diseases\rhumba_beat.dm"
-#include "code\datums\diseases\transformation.dm"
-#include "code\datums\diseases\tuberculosis.dm"
-#include "code\datums\diseases\wizarditis.dm"
-#include "code\datums\diseases\advance\advance.dm"
-#include "code\datums\diseases\advance\presets.dm"
-#include "code\datums\diseases\advance\symptoms\beard.dm"
-#include "code\datums\diseases\advance\symptoms\choking.dm"
-#include "code\datums\diseases\advance\symptoms\confusion.dm"
-#include "code\datums\diseases\advance\symptoms\cough.dm"
-#include "code\datums\diseases\advance\symptoms\deafness.dm"
-#include "code\datums\diseases\advance\symptoms\dizzy.dm"
-#include "code\datums\diseases\advance\symptoms\fever.dm"
-#include "code\datums\diseases\advance\symptoms\fire.dm"
-#include "code\datums\diseases\advance\symptoms\flesh_eating.dm"
-#include "code\datums\diseases\advance\symptoms\hallucigen.dm"
-#include "code\datums\diseases\advance\symptoms\headache.dm"
-#include "code\datums\diseases\advance\symptoms\heal.dm"
-#include "code\datums\diseases\advance\symptoms\itching.dm"
-#include "code\datums\diseases\advance\symptoms\nanites.dm"
-#include "code\datums\diseases\advance\symptoms\narcolepsy.dm"
-#include "code\datums\diseases\advance\symptoms\oxygen.dm"
-#include "code\datums\diseases\advance\symptoms\sensory.dm"
-#include "code\datums\diseases\advance\symptoms\shedding.dm"
-#include "code\datums\diseases\advance\symptoms\shivering.dm"
-#include "code\datums\diseases\advance\symptoms\skin.dm"
-#include "code\datums\diseases\advance\symptoms\sneeze.dm"
-#include "code\datums\diseases\advance\symptoms\species.dm"
-#include "code\datums\diseases\advance\symptoms\symptoms.dm"
-#include "code\datums\diseases\advance\symptoms\viral.dm"
-#include "code\datums\diseases\advance\symptoms\vision.dm"
-#include "code\datums\diseases\advance\symptoms\voice_change.dm"
-#include "code\datums\diseases\advance\symptoms\vomit.dm"
-#include "code\datums\diseases\advance\symptoms\weight.dm"
-#include "code\datums\diseases\advance\symptoms\youth.dm"
-#include "code\datums\elements\_element.dm"
-#include "code\datums\elements\cleaning.dm"
-#include "code\datums\elements\earhealing.dm"
-#include "code\datums\elements\ghost_role_eligibility.dm"
-#include "code\datums\elements\mob_holder.dm"
-#include "code\datums\elements\swimming.dm"
-#include "code\datums\elements\wuv.dm"
-#include "code\datums\helper_datums\events.dm"
-#include "code\datums\helper_datums\getrev.dm"
-#include "code\datums\helper_datums\icon_snapshot.dm"
-#include "code\datums\helper_datums\teleport.dm"
-#include "code\datums\helper_datums\topic_input.dm"
-#include "code\datums\looping_sounds\_looping_sound.dm"
-#include "code\datums\looping_sounds\item_sounds.dm"
-#include "code\datums\looping_sounds\machinery_sounds.dm"
-#include "code\datums\looping_sounds\weather.dm"
-#include "code\datums\martial\boxing.dm"
-#include "code\datums\martial\cqc.dm"
-#include "code\datums\martial\krav_maga.dm"
-#include "code\datums\martial\mushpunch.dm"
-#include "code\datums\martial\plasma_fist.dm"
-#include "code\datums\martial\psychotic_brawl.dm"
-#include "code\datums\martial\sleeping_carp.dm"
-#include "code\datums\martial\wrestling.dm"
-#include "code\datums\mood_events\beauty_events.dm"
-#include "code\datums\mood_events\drink_events.dm"
-#include "code\datums\mood_events\drug_events.dm"
-#include "code\datums\mood_events\generic_negative_events.dm"
-#include "code\datums\mood_events\generic_positive_events.dm"
-#include "code\datums\mood_events\mood_event.dm"
-#include "code\datums\mood_events\needs_events.dm"
-#include "code\datums\mutations\_mutations.dm"
-#include "code\datums\mutations\actions.dm"
-#include "code\datums\mutations\antenna.dm"
-#include "code\datums\mutations\body.dm"
-#include "code\datums\mutations\chameleon.dm"
-#include "code\datums\mutations\cold_resistance.dm"
-#include "code\datums\mutations\combined.dm"
-#include "code\datums\mutations\hulk.dm"
-#include "code\datums\mutations\radioactive.dm"
-#include "code\datums\mutations\sight.dm"
-#include "code\datums\mutations\speech.dm"
-#include "code\datums\mutations\telekinesis.dm"
-#include "code\datums\ruins\lavaland.dm"
-#include "code\datums\ruins\space.dm"
-#include "code\datums\ruins\station.dm"
-#include "code\datums\status_effects\buffs.dm"
-#include "code\datums\status_effects\debuffs.dm"
-#include "code\datums\status_effects\gas.dm"
-#include "code\datums\status_effects\neutral.dm"
-#include "code\datums\status_effects\status_effect.dm"
-#include "code\datums\traits\_quirk.dm"
-#include "code\datums\traits\good.dm"
-#include "code\datums\traits\negative.dm"
-#include "code\datums\traits\neutral.dm"
-#include "code\datums\weather\weather.dm"
-#include "code\datums\weather\weather_types\acid_rain.dm"
-#include "code\datums\weather\weather_types\ash_storm.dm"
-#include "code\datums\weather\weather_types\floor_is_lava.dm"
-#include "code\datums\weather\weather_types\radiation_storm.dm"
-#include "code\datums\weather\weather_types\snow_storm.dm"
-#include "code\datums\wires\_wires.dm"
-#include "code\datums\wires\airalarm.dm"
-#include "code\datums\wires\airlock.dm"
-#include "code\datums\wires\apc.dm"
-#include "code\datums\wires\autolathe.dm"
-#include "code\datums\wires\emitter.dm"
-#include "code\datums\wires\explosive.dm"
-#include "code\datums\wires\microwave.dm"
-#include "code\datums\wires\mulebot.dm"
-#include "code\datums\wires\particle_accelerator.dm"
-#include "code\datums\wires\r_n_d.dm"
-#include "code\datums\wires\radio.dm"
-#include "code\datums\wires\robot.dm"
-#include "code\datums\wires\suit_storage_unit.dm"
-#include "code\datums\wires\syndicatebomb.dm"
-#include "code\datums\wires\tesla_coil.dm"
-#include "code\datums\wires\vending.dm"
-#include "code\game\alternate_appearance.dm"
-#include "code\game\atoms.dm"
-#include "code\game\atoms_movable.dm"
-#include "code\game\communications.dm"
-#include "code\game\data_huds.dm"
-#include "code\game\say.dm"
-#include "code\game\shuttle_engines.dm"
-#include "code\game\sound.dm"
-#include "code\game\world.dm"
-#include "code\game\area\ai_monitored.dm"
-#include "code\game\area\areas.dm"
-#include "code\game\area\Space_Station_13_areas.dm"
-#include "code\game\area\areas\away_content.dm"
-#include "code\game\area\areas\centcom.dm"
-#include "code\game\area\areas\holodeck.dm"
-#include "code\game\area\areas\mining.dm"
-#include "code\game\area\areas\shuttles.dm"
-#include "code\game\area\areas\ruins\_ruins.dm"
-#include "code\game\area\areas\ruins\lavaland.dm"
-#include "code\game\area\areas\ruins\space.dm"
-#include "code\game\area\areas\ruins\templates.dm"
-#include "code\game\gamemodes\events.dm"
-#include "code\game\gamemodes\game_mode.dm"
-#include "code\game\gamemodes\objective.dm"
-#include "code\game\gamemodes\objective_items.dm"
-#include "code\game\gamemodes\bloodsucker\bloodsucker.dm"
-#include "code\game\gamemodes\bloodsucker\hunter.dm"
-#include "code\game\gamemodes\brother\traitor_bro.dm"
-#include "code\game\gamemodes\changeling\changeling.dm"
-#include "code\game\gamemodes\changeling\traitor_chan.dm"
-#include "code\game\gamemodes\clock_cult\clock_cult.dm"
-#include "code\game\gamemodes\clown_ops\bananium_bomb.dm"
-#include "code\game\gamemodes\clown_ops\clown_ops.dm"
-#include "code\game\gamemodes\clown_ops\clown_weapons.dm"
-#include "code\game\gamemodes\cult\cult.dm"
-#include "code\game\gamemodes\devil\devil_game_mode.dm"
-#include "code\game\gamemodes\devil\game_mode.dm"
-#include "code\game\gamemodes\devil\objectives.dm"
-#include "code\game\gamemodes\devil\devil agent\devil_agent.dm"
-#include "code\game\gamemodes\dynamic\dynamic.dm"
-#include "code\game\gamemodes\dynamic\dynamic_rulesets.dm"
-#include "code\game\gamemodes\dynamic\dynamic_rulesets_events.dm"
-#include "code\game\gamemodes\dynamic\dynamic_rulesets_latejoin.dm"
-#include "code\game\gamemodes\dynamic\dynamic_rulesets_midround.dm"
-#include "code\game\gamemodes\dynamic\dynamic_rulesets_roundstart.dm"
-#include "code\game\gamemodes\extended\extended.dm"
-#include "code\game\gamemodes\meteor\meteor.dm"
-#include "code\game\gamemodes\meteor\meteors.dm"
-#include "code\game\gamemodes\monkey\monkey.dm"
-#include "code\game\gamemodes\nuclear\nuclear.dm"
-#include "code\game\gamemodes\overthrow\objective.dm"
-#include "code\game\gamemodes\overthrow\overthrow.dm"
-#include "code\game\gamemodes\revolution\revolution.dm"
-#include "code\game\gamemodes\sandbox\airlock_maker.dm"
-#include "code\game\gamemodes\sandbox\h_sandbox.dm"
-#include "code\game\gamemodes\sandbox\sandbox.dm"
-#include "code\game\gamemodes\traitor\double_agents.dm"
-#include "code\game\gamemodes\traitor\traitor.dm"
-#include "code\game\gamemodes\wizard\wizard.dm"
-#include "code\game\machinery\_machinery.dm"
-#include "code\game\machinery\ai_slipper.dm"
-#include "code\game\machinery\airlock_control.dm"
-#include "code\game\machinery\announcement_system.dm"
-#include "code\game\machinery\aug_manipulator.dm"
-#include "code\game\machinery\autolathe.dm"
-#include "code\game\machinery\bank_machine.dm"
-#include "code\game\machinery\Beacon.dm"
-#include "code\game\machinery\bloodbankgen.dm"
-#include "code\game\machinery\buttons.dm"
-#include "code\game\machinery\cell_charger.dm"
-#include "code\game\machinery\cloning.dm"
-#include "code\game\machinery\constructable_frame.dm"
-#include "code\game\machinery\dance_machine.dm"
-#include "code\game\machinery\defibrillator_mount.dm"
-#include "code\game\machinery\deployable.dm"
-#include "code\game\machinery\dish_drive.dm"
-#include "code\game\machinery\dna_scanner.dm"
-#include "code\game\machinery\doppler_array.dm"
-#include "code\game\machinery\droneDispenser.dm"
-#include "code\game\machinery\exp_cloner.dm"
-#include "code\game\machinery\firealarm.dm"
-#include "code\game\machinery\flasher.dm"
-#include "code\game\machinery\gulag_item_reclaimer.dm"
-#include "code\game\machinery\gulag_teleporter.dm"
-#include "code\game\machinery\harvester.dm"
-#include "code\game\machinery\hologram.dm"
-#include "code\game\machinery\igniter.dm"
-#include "code\game\machinery\iv_drip.dm"
-#include "code\game\machinery\launch_pad.dm"
-#include "code\game\machinery\lightswitch.dm"
-#include "code\game\machinery\limbgrower.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\PDApainter.dm"
-#include "code\game\machinery\posi_alert.dm"
-#include "code\game\machinery\quantum_pad.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\shieldgen.dm"
-#include "code\game\machinery\Sleeper.dm"
-#include "code\game\machinery\slotmachine.dm"
-#include "code\game\machinery\spaceheater.dm"
-#include "code\game\machinery\stasis.dm"
-#include "code\game\machinery\status_display.dm"
-#include "code\game\machinery\suit_storage_unit.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\washing_machine.dm"
-#include "code\game\machinery\wishgranter.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\_computer.dm"
-#include "code\game\machinery\computer\aifixer.dm"
-#include "code\game\machinery\computer\apc_control.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\camera_advanced.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\crew.dm"
-#include "code\game\machinery\computer\dna_console.dm"
-#include "code\game\machinery\computer\launchpad_control.dm"
-#include "code\game\machinery\computer\law.dm"
-#include "code\game\machinery\computer\medical.dm"
-#include "code\game\machinery\computer\Operating.dm"
-#include "code\game\machinery\computer\pod.dm"
-#include "code\game\machinery\computer\robot.dm"
-#include "code\game\machinery\computer\security.dm"
-#include "code\game\machinery\computer\station_alert.dm"
-#include "code\game\machinery\computer\telecrystalconsoles.dm"
-#include "code\game\machinery\computer\teleporter.dm"
-#include "code\game\machinery\computer\arcade\battle.dm"
-#include "code\game\machinery\computer\arcade\minesweeper.dm"
-#include "code\game\machinery\computer\arcade\misc_arcade.dm"
-#include "code\game\machinery\computer\arcade\orion_trail.dm"
-#include "code\game\machinery\computer\prisoner\_prisoner.dm"
-#include "code\game\machinery\computer\prisoner\gulag_teleporter.dm"
-#include "code\game\machinery\computer\prisoner\management.dm"
-#include "code\game\machinery\doors\airlock.dm"
-#include "code\game\machinery\doors\airlock_electronics.dm"
-#include "code\game\machinery\doors\airlock_types.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\passworddoor.dm"
-#include "code\game\machinery\doors\poddoor.dm"
-#include "code\game\machinery\doors\shutters.dm"
-#include "code\game\machinery\doors\unpowered.dm"
-#include "code\game\machinery\doors\windowdoor.dm"
-#include "code\game\machinery\embedded_controller\access_controller.dm"
-#include "code\game\machinery\embedded_controller\airlock_controller.dm"
-#include "code\game\machinery\embedded_controller\embedded_controller_base.dm"
-#include "code\game\machinery\embedded_controller\simple_vent_controller.dm"
-#include "code\game\machinery\pipe\construction.dm"
-#include "code\game\machinery\pipe\pipe_dispenser.dm"
-#include "code\game\machinery\porta_turret\portable_turret.dm"
-#include "code\game\machinery\porta_turret\portable_turret_construct.dm"
-#include "code\game\machinery\porta_turret\portable_turret_cover.dm"
-#include "code\game\machinery\poweredfans\fan_assembly.dm"
-#include "code\game\machinery\poweredfans\poweredfans.dm"
-#include "code\game\machinery\telecomms\broadcasting.dm"
-#include "code\game\machinery\telecomms\machine_interactions.dm"
-#include "code\game\machinery\telecomms\telecomunications.dm"
-#include "code\game\machinery\telecomms\computers\logbrowser.dm"
-#include "code\game\machinery\telecomms\computers\message.dm"
-#include "code\game\machinery\telecomms\computers\telemonitor.dm"
-#include "code\game\machinery\telecomms\machines\allinone.dm"
-#include "code\game\machinery\telecomms\machines\broadcaster.dm"
-#include "code\game\machinery\telecomms\machines\bus.dm"
-#include "code\game\machinery\telecomms\machines\hub.dm"
-#include "code\game\machinery\telecomms\machines\message_server.dm"
-#include "code\game\machinery\telecomms\machines\processor.dm"
-#include "code\game\machinery\telecomms\machines\receiver.dm"
-#include "code\game\machinery\telecomms\machines\relay.dm"
-#include "code\game\machinery\telecomms\machines\server.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_actions.dm"
-#include "code\game\mecha\mecha_construction_paths.dm"
-#include "code\game\mecha\mecha_control_console.dm"
-#include "code\game\mecha\mecha_defense.dm"
-#include "code\game\mecha\mecha_parts.dm"
-#include "code\game\mecha\mecha_topic.dm"
-#include "code\game\mecha\mecha_wreckage.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\neovgre.dm"
-#include "code\game\mecha\combat\phazon.dm"
-#include "code\game\mecha\combat\reticence.dm"
-#include "code\game\mecha\equipment\mecha_equipment.dm"
-#include "code\game\mecha\equipment\tools\medical_tools.dm"
-#include "code\game\mecha\equipment\tools\mining_tools.dm"
-#include "code\game\mecha\equipment\tools\other_tools.dm"
-#include "code\game\mecha\equipment\tools\work_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\items.dm"
-#include "code\game\objects\obj_defense.dm"
-#include "code\game\objects\objs.dm"
-#include "code\game\objects\structures.dm"
-#include "code\game\objects\effects\alien_acid.dm"
-#include "code\game\objects\effects\anomalies.dm"
-#include "code\game\objects\effects\blessing.dm"
-#include "code\game\objects\effects\bump_teleporter.dm"
-#include "code\game\objects\effects\contraband.dm"
-#include "code\game\objects\effects\countdown.dm"
-#include "code\game\objects\effects\effects.dm"
-#include "code\game\objects\effects\forcefields.dm"
-#include "code\game\objects\effects\glowshroom.dm"
-#include "code\game\objects\effects\landmarks.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\proximity.dm"
-#include "code\game\objects\effects\spiders.dm"
-#include "code\game\objects\effects\step_triggers.dm"
-#include "code\game\objects\effects\wanted_poster.dm"
-#include "code\game\objects\effects\decals\cleanable.dm"
-#include "code\game\objects\effects\decals\crayon.dm"
-#include "code\game\objects\effects\decals\decal.dm"
-#include "code\game\objects\effects\decals\misc.dm"
-#include "code\game\objects\effects\decals\remains.dm"
-#include "code\game\objects\effects\decals\cleanable\aliens.dm"
-#include "code\game\objects\effects\decals\cleanable\gibs.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\turfdecal\dirt.dm"
-#include "code\game\objects\effects\decals\turfdecal\markings.dm"
-#include "code\game\objects\effects\decals\turfdecal\tilecoloring.dm"
-#include "code\game\objects\effects\decals\turfdecal\weather.dm"
-#include "code\game\objects\effects\effect_system\effect_system.dm"
-#include "code\game\objects\effects\effect_system\effects_explosion.dm"
-#include "code\game\objects\effects\effect_system\effects_foam.dm"
-#include "code\game\objects\effects\effect_system\effects_other.dm"
-#include "code\game\objects\effects\effect_system\effects_smoke.dm"
-#include "code\game\objects\effects\effect_system\effects_sparks.dm"
-#include "code\game\objects\effects\effect_system\effects_water.dm"
-#include "code\game\objects\effects\spawners\bombspawner.dm"
-#include "code\game\objects\effects\spawners\bundle.dm"
-#include "code\game\objects\effects\spawners\gibspawner.dm"
-#include "code\game\objects\effects\spawners\lootdrop.dm"
-#include "code\game\objects\effects\spawners\structure.dm"
-#include "code\game\objects\effects\spawners\traps.dm"
-#include "code\game\objects\effects\spawners\vaultspawner.dm"
-#include "code\game\objects\effects\spawners\xeno_egg_delivery.dm"
-#include "code\game\objects\effects\temporary_visuals\clockcult.dm"
-#include "code\game\objects\effects\temporary_visuals\cult.dm"
-#include "code\game\objects\effects\temporary_visuals\miscellaneous.dm"
-#include "code\game\objects\effects\temporary_visuals\temporary_visual.dm"
-#include "code\game\objects\effects\temporary_visuals\projectiles\impact.dm"
-#include "code\game\objects\effects\temporary_visuals\projectiles\muzzle.dm"
-#include "code\game\objects\effects\temporary_visuals\projectiles\projectile_effects.dm"
-#include "code\game\objects\effects\temporary_visuals\projectiles\tracer.dm"
-#include "code\game\objects\items\AI_modules.dm"
-#include "code\game\objects\items\airlock_painter.dm"
-#include "code\game\objects\items\apc_frame.dm"
-#include "code\game\objects\items\blueprints.dm"
-#include "code\game\objects\items\body_egg.dm"
-#include "code\game\objects\items\bodybag.dm"
-#include "code\game\objects\items\candle.dm"
-#include "code\game\objects\items\cardboard_cutouts.dm"
-#include "code\game\objects\items\cards_ids.dm"
-#include "code\game\objects\items\charter.dm"
-#include "code\game\objects\items\chromosome.dm"
-#include "code\game\objects\items\chrono_eraser.dm"
-#include "code\game\objects\items\cigs_lighters.dm"
-#include "code\game\objects\items\clown_items.dm"
-#include "code\game\objects\items\control_wand.dm"
-#include "code\game\objects\items\cosmetics.dm"
-#include "code\game\objects\items\courtroom.dm"
-#include "code\game\objects\items\crayons.dm"
-#include "code\game\objects\items\defib.dm"
-#include "code\game\objects\items\dehy_carp.dm"
-#include "code\game\objects\items\dice.dm"
-#include "code\game\objects\items\dna_injector.dm"
-#include "code\game\objects\items\documents.dm"
-#include "code\game\objects\items\eightball.dm"
-#include "code\game\objects\items\extinguisher.dm"
-#include "code\game\objects\items\flamethrower.dm"
-#include "code\game\objects\items\gift.dm"
-#include "code\game\objects\items\granters.dm"
-#include "code\game\objects\items\handcuffs.dm"
-#include "code\game\objects\items\his_grace.dm"
-#include "code\game\objects\items\holosign_creator.dm"
-#include "code\game\objects\items\holy_weapons.dm"
-#include "code\game\objects\items\hot_potato.dm"
-#include "code\game\objects\items\inducer.dm"
-#include "code\game\objects\items\kitchen.dm"
-#include "code\game\objects\items\latexballoon.dm"
-#include "code\game\objects\items\lorebooks.dm"
-#include "code\game\objects\items\manuals.dm"
-#include "code\game\objects\items\mesmetron.dm"
-#include "code\game\objects\items\miscellaneous.dm"
-#include "code\game\objects\items\mop.dm"
-#include "code\game\objects\items\paint.dm"
-#include "code\game\objects\items\paiwire.dm"
-#include "code\game\objects\items\pet_carrier.dm"
-#include "code\game\objects\items\pinpointer.dm"
-#include "code\game\objects\items\plushes.dm"
-#include "code\game\objects\items\pneumaticCannon.dm"
-#include "code\game\objects\items\powerfist.dm"
-#include "code\game\objects\items\RCD.dm"
-#include "code\game\objects\items\RCL.dm"
-#include "code\game\objects\items\religion.dm"
-#include "code\game\objects\items\RPD.dm"
-#include "code\game\objects\items\RSF.dm"
-#include "code\game\objects\items\scrolls.dm"
-#include "code\game\objects\items\sharpener.dm"
-#include "code\game\objects\items\shields.dm"
-#include "code\game\objects\items\shooting_range.dm"
-#include "code\game\objects\items\signs.dm"
-#include "code\game\objects\items\singularityhammer.dm"
-#include "code\game\objects\items\stunbaton.dm"
-#include "code\game\objects\items\taster.dm"
-#include "code\game\objects\items\teleportation.dm"
-#include "code\game\objects\items\teleprod.dm"
-#include "code\game\objects\items\theft_tools.dm"
-#include "code\game\objects\items\toys.dm"
-#include "code\game\objects\items\trash.dm"
-#include "code\game\objects\items\twohanded.dm"
-#include "code\game\objects\items\vending_items.dm"
-#include "code\game\objects\items\weaponry.dm"
-#include "code\game\objects\items\circuitboards\circuitboard.dm"
-#include "code\game\objects\items\circuitboards\computer_circuitboards.dm"
-#include "code\game\objects\items\circuitboards\machine_circuitboards.dm"
-#include "code\game\objects\items\devices\aicard.dm"
-#include "code\game\objects\items\devices\anomaly_neutralizer.dm"
-#include "code\game\objects\items\devices\beacon.dm"
-#include "code\game\objects\items\devices\camera_bug.dm"
-#include "code\game\objects\items\devices\chameleonproj.dm"
-#include "code\game\objects\items\devices\compressionkit.dm"
-#include "code\game\objects\items\devices\desynchronizer.dm"
-#include "code\game\objects\items\devices\dogborg_sleeper.dm"
-#include "code\game\objects\items\devices\doorCharge.dm"
-#include "code\game\objects\items\devices\electroadaptive_pseudocircuit.dm"
-#include "code\game\objects\items\devices\flashlight.dm"
-#include "code\game\objects\items\devices\forcefieldprojector.dm"
-#include "code\game\objects\items\devices\geiger_counter.dm"
-#include "code\game\objects\items\devices\glue.dm"
-#include "code\game\objects\items\devices\gps.dm"
-#include "code\game\objects\items\devices\instruments.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\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\powersink.dm"
-#include "code\game\objects\items\devices\pressureplates.dm"
-#include "code\game\objects\items\devices\quantum_keycard.dm"
-#include "code\game\objects\items\devices\reverse_bear_trap.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\PDA\cart.dm"
-#include "code\game\objects\items\devices\PDA\PDA.dm"
-#include "code\game\objects\items\devices\PDA\PDA_types.dm"
-#include "code\game\objects\items\devices\PDA\radio.dm"
-#include "code\game\objects\items\devices\PDA\virus_cart.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\grenades\antigravity.dm"
-#include "code\game\objects\items\grenades\chem_grenade.dm"
-#include "code\game\objects\items\grenades\clusterbuster.dm"
-#include "code\game\objects\items\grenades\emgrenade.dm"
-#include "code\game\objects\items\grenades\flashbang.dm"
-#include "code\game\objects\items\grenades\ghettobomb.dm"
-#include "code\game\objects\items\grenades\grenade.dm"
-#include "code\game\objects\items\grenades\plastic.dm"
-#include "code\game\objects\items\grenades\smokebomb.dm"
-#include "code\game\objects\items\grenades\spawnergrenade.dm"
-#include "code\game\objects\items\grenades\syndieminibomb.dm"
-#include "code\game\objects\items\implants\implant.dm"
-#include "code\game\objects\items\implants\implant_abductor.dm"
-#include "code\game\objects\items\implants\implant_chem.dm"
-#include "code\game\objects\items\implants\implant_clown.dm"
-#include "code\game\objects\items\implants\implant_exile.dm"
-#include "code\game\objects\items\implants\implant_explosive.dm"
-#include "code\game\objects\items\implants\implant_freedom.dm"
-#include "code\game\objects\items\implants\implant_krav_maga.dm"
-#include "code\game\objects\items\implants\implant_mindshield.dm"
-#include "code\game\objects\items\implants\implant_misc.dm"
-#include "code\game\objects\items\implants\implant_radio.dm"
-#include "code\game\objects\items\implants\implant_slave.dm"
-#include "code\game\objects\items\implants\implant_spell.dm"
-#include "code\game\objects\items\implants\implant_stealth.dm"
-#include "code\game\objects\items\implants\implant_storage.dm"
-#include "code\game\objects\items\implants\implant_track.dm"
-#include "code\game\objects\items\implants\implant_uplink.dm"
-#include "code\game\objects\items\implants\implantcase.dm"
-#include "code\game\objects\items\implants\implantchair.dm"
-#include "code\game\objects\items\implants\implanter.dm"
-#include "code\game\objects\items\implants\implantpad.dm"
-#include "code\game\objects\items\melee\energy.dm"
-#include "code\game\objects\items\melee\misc.dm"
-#include "code\game\objects\items\melee\transforming.dm"
-#include "code\game\objects\items\robot\ai_upgrades.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\bscrystal.dm"
-#include "code\game\objects\items\stacks\cash.dm"
-#include "code\game\objects\items\stacks\medical.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\wrap.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\light.dm"
-#include "code\game\objects\items\stacks\tiles\tile_mineral.dm"
-#include "code\game\objects\items\stacks\tiles\tile_reskinning.dm"
-#include "code\game\objects\items\stacks\tiles\tile_types.dm"
-#include "code\game\objects\items\storage\backpack.dm"
-#include "code\game\objects\items\storage\bags.dm"
-#include "code\game\objects\items\storage\belt.dm"
-#include "code\game\objects\items\storage\book.dm"
-#include "code\game\objects\items\storage\boxes.dm"
-#include "code\game\objects\items\storage\briefcase.dm"
-#include "code\game\objects\items\storage\dakis.dm"
-#include "code\game\objects\items\storage\fancy.dm"
-#include "code\game\objects\items\storage\firstaid.dm"
-#include "code\game\objects\items\storage\lockbox.dm"
-#include "code\game\objects\items\storage\secure.dm"
-#include "code\game\objects\items\storage\storage.dm"
-#include "code\game\objects\items\storage\toolbox.dm"
-#include "code\game\objects\items\storage\uplink_kits.dm"
-#include "code\game\objects\items\storage\wallets.dm"
-#include "code\game\objects\items\tanks\jetpack.dm"
-#include "code\game\objects\items\tanks\tank_types.dm"
-#include "code\game\objects\items\tanks\tanks.dm"
-#include "code\game\objects\items\tanks\watertank.dm"
-#include "code\game\objects\items\tools\crowbar.dm"
-#include "code\game\objects\items\tools\screwdriver.dm"
-#include "code\game\objects\items\tools\weldingtool.dm"
-#include "code\game\objects\items\tools\wirecutters.dm"
-#include "code\game\objects\items\tools\wrench.dm"
-#include "code\game\objects\structures\ai_core.dm"
-#include "code\game\objects\structures\aliens.dm"
-#include "code\game\objects\structures\artstuff.dm"
-#include "code\game\objects\structures\barsigns.dm"
-#include "code\game\objects\structures\bedsheet_bin.dm"
-#include "code\game\objects\structures\destructible_structures.dm"
-#include "code\game\objects\structures\displaycase.dm"
-#include "code\game\objects\structures\divine.dm"
-#include "code\game\objects\structures\door_assembly.dm"
-#include "code\game\objects\structures\door_assembly_types.dm"
-#include "code\game\objects\structures\dresser.dm"
-#include "code\game\objects\structures\electricchair.dm"
-#include "code\game\objects\structures\extinguisher.dm"
-#include "code\game\objects\structures\false_walls.dm"
-#include "code\game\objects\structures\fence.dm"
-#include "code\game\objects\structures\fireaxe.dm"
-#include "code\game\objects\structures\fireplace.dm"
-#include "code\game\objects\structures\flora.dm"
-#include "code\game\objects\structures\fluff.dm"
-#include "code\game\objects\structures\ghost_role_spawners.dm"
-#include "code\game\objects\structures\girders.dm"
-#include "code\game\objects\structures\grille.dm"
-#include "code\game\objects\structures\guillotine.dm"
-#include "code\game\objects\structures\guncase.dm"
-#include "code\game\objects\structures\headpike.dm"
-#include "code\game\objects\structures\hivebot.dm"
-#include "code\game\objects\structures\holosign.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\lattice.dm"
-#include "code\game\objects\structures\life_candle.dm"
-#include "code\game\objects\structures\loom.dm"
-#include "code\game\objects\structures\manned_turret.dm"
-#include "code\game\objects\structures\medkit.dm"
-#include "code\game\objects\structures\memorial.dm"
-#include "code\game\objects\structures\mineral_doors.dm"
-#include "code\game\objects\structures\mirror.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\petrified_statue.dm"
-#include "code\game\objects\structures\plasticflaps.dm"
-#include "code\game\objects\structures\reflector.dm"
-#include "code\game\objects\structures\safe.dm"
-#include "code\game\objects\structures\showcase.dm"
-#include "code\game\objects\structures\spawner.dm"
-#include "code\game\objects\structures\spirit_board.dm"
-#include "code\game\objects\structures\stairs.dm"
-#include "code\game\objects\structures\statues.dm"
-#include "code\game\objects\structures\table_frames.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\traps.dm"
-#include "code\game\objects\structures\trash_piles.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\beds_chairs\alien_nest.dm"
-#include "code\game\objects\structures\beds_chairs\bed.dm"
-#include "code\game\objects\structures\beds_chairs\chair.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\closets\bodybag.dm"
-#include "code\game\objects\structures\crates_lockers\closets\cardboardbox.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\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\engineering.dm"
-#include "code\game\objects\structures\crates_lockers\closets\secure\freezer.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\misc.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\crates_lockers\crates\bins.dm"
-#include "code\game\objects\structures\crates_lockers\crates\critter.dm"
-#include "code\game\objects\structures\crates_lockers\crates\large.dm"
-#include "code\game\objects\structures\crates_lockers\crates\secure.dm"
-#include "code\game\objects\structures\crates_lockers\crates\wooden.dm"
-#include "code\game\objects\structures\lavaland\necropolis_tendril.dm"
-#include "code\game\objects\structures\signs\_signs.dm"
-#include "code\game\objects\structures\signs\signs_departments.dm"
-#include "code\game\objects\structures\signs\signs_maps.dm"
-#include "code\game\objects\structures\signs\signs_plaques.dm"
-#include "code\game\objects\structures\signs\signs_warning.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_construction.dm"
-#include "code\game\objects\structures\transit_tubes\transit_tube_pod.dm"
-#include "code\game\turfs\baseturf_skipover.dm"
-#include "code\game\turfs\change_turf.dm"
-#include "code\game\turfs\closed.dm"
-#include "code\game\turfs\open.dm"
-#include "code\game\turfs\turf.dm"
-#include "code\game\turfs\openspace\openspace.dm"
-#include "code\game\turfs\simulated\chasm.dm"
-#include "code\game\turfs\simulated\dirtystation.dm"
-#include "code\game\turfs\simulated\floor.dm"
-#include "code\game\turfs\simulated\lava.dm"
-#include "code\game\turfs\simulated\minerals.dm"
-#include "code\game\turfs\simulated\reebe_void.dm"
-#include "code\game\turfs\simulated\river.dm"
-#include "code\game\turfs\simulated\walls.dm"
-#include "code\game\turfs\simulated\water.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\mineral_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\simulated\floor\reinf_floor.dm"
-#include "code\game\turfs\simulated\floor\plating\asteroid.dm"
-#include "code\game\turfs\simulated\floor\plating\dirt.dm"
-#include "code\game\turfs\simulated\floor\plating\misc_plating.dm"
-#include "code\game\turfs\simulated\wall\mineral_walls.dm"
-#include "code\game\turfs\simulated\wall\misc_walls.dm"
-#include "code\game\turfs\simulated\wall\reinf_walls.dm"
-#include "code\game\turfs\space\space.dm"
-#include "code\game\turfs\space\transit.dm"
-#include "code\modules\admin\admin.dm"
-#include "code\modules\admin\admin_investigate.dm"
-#include "code\modules\admin\admin_ranks.dm"
-#include "code\modules\admin\admin_verbs.dm"
-#include "code\modules\admin\adminmenu.dm"
-#include "code\modules\admin\antag_panel.dm"
-#include "code\modules\admin\banjob.dm"
-#include "code\modules\admin\chat_commands.dm"
-#include "code\modules\admin\check_antagonists.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\fun_balloon.dm"
-#include "code\modules\admin\holder2.dm"
-#include "code\modules\admin\ipintel.dm"
-#include "code\modules\admin\IsBanned.dm"
-#include "code\modules\admin\NewBan.dm"
-#include "code\modules\admin\permissionedit.dm"
-#include "code\modules\admin\player_panel.dm"
-#include "code\modules\admin\secrets.dm"
-#include "code\modules\admin\sound_emitter.dm"
-#include "code\modules\admin\sql_message_system.dm"
-#include "code\modules\admin\stickyban.dm"
-#include "code\modules\admin\topic.dm"
-#include "code\modules\admin\whitelist.dm"
-#include "code\modules\admin\DB_ban\functions.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\ak47s.dm"
-#include "code\modules\admin\verbs\atmosdebug.dm"
-#include "code\modules\admin\verbs\bluespacearty.dm"
-#include "code\modules\admin\verbs\borgpanel.dm"
-#include "code\modules\admin\verbs\BrokenInhands.dm"
-#include "code\modules\admin\verbs\cinematic.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\fps.dm"
-#include "code\modules\admin\verbs\getlogs.dm"
-#include "code\modules\admin\verbs\individual_logging.dm"
-#include "code\modules\admin\verbs\machine_upgrade.dm"
-#include "code\modules\admin\verbs\manipulate_organs.dm"
-#include "code\modules\admin\verbs\map_template_loadverb.dm"
-#include "code\modules\admin\verbs\mapping.dm"
-#include "code\modules\admin\verbs\maprotation.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\panicbunker.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\reestablish_db_connection.dm"
-#include "code\modules\admin\verbs\spawnfloorcluwne.dm"
-#include "code\modules\admin\verbs\spawnobjasmob.dm"
-#include "code\modules\admin\verbs\tripAI.dm"
-#include "code\modules\admin\verbs\SDQL2\SDQL_2.dm"
-#include "code\modules\admin\verbs\SDQL2\SDQL_2_parser.dm"
-#include "code\modules\admin\verbs\SDQL2\SDQL_2_wrappers.dm"
-#include "code\modules\antagonists\_common\antag_datum.dm"
-#include "code\modules\antagonists\_common\antag_helpers.dm"
-#include "code\modules\antagonists\_common\antag_hud.dm"
-#include "code\modules\antagonists\_common\antag_spawner.dm"
-#include "code\modules\antagonists\_common\antag_team.dm"
-#include "code\modules\antagonists\abductor\abductor.dm"
-#include "code\modules\antagonists\abductor\abductee\abductee_objectives.dm"
-#include "code\modules\antagonists\abductor\equipment\abduction_gear.dm"
-#include "code\modules\antagonists\abductor\equipment\abduction_outfits.dm"
-#include "code\modules\antagonists\abductor\equipment\abduction_surgery.dm"
-#include "code\modules\antagonists\abductor\equipment\gland.dm"
-#include "code\modules\antagonists\abductor\machinery\camera.dm"
-#include "code\modules\antagonists\abductor\machinery\console.dm"
-#include "code\modules\antagonists\abductor\machinery\dispenser.dm"
-#include "code\modules\antagonists\abductor\machinery\experiment.dm"
-#include "code\modules\antagonists\abductor\machinery\pad.dm"
-#include "code\modules\antagonists\blob\blob.dm"
-#include "code\modules\antagonists\blob\blob\blob_report.dm"
-#include "code\modules\antagonists\blob\blob\overmind.dm"
-#include "code\modules\antagonists\blob\blob\powers.dm"
-#include "code\modules\antagonists\blob\blob\theblob.dm"
-#include "code\modules\antagonists\blob\blob\blobs\blob_mobs.dm"
-#include "code\modules\antagonists\blob\blob\blobs\core.dm"
-#include "code\modules\antagonists\blob\blob\blobs\factory.dm"
-#include "code\modules\antagonists\blob\blob\blobs\node.dm"
-#include "code\modules\antagonists\blob\blob\blobs\resource.dm"
-#include "code\modules\antagonists\blob\blob\blobs\shield.dm"
-#include "code\modules\antagonists\bloodsucker\bloodsucker_flaws.dm"
-#include "code\modules\antagonists\bloodsucker\bloodsucker_integration.dm"
-#include "code\modules\antagonists\bloodsucker\bloodsucker_life.dm"
-#include "code\modules\antagonists\bloodsucker\bloodsucker_objectives.dm"
-#include "code\modules\antagonists\bloodsucker\bloodsucker_powers.dm"
-#include "code\modules\antagonists\bloodsucker\bloodsucker_sunlight.dm"
-#include "code\modules\antagonists\bloodsucker\bloodsucker_ui.dm"
-#include "code\modules\antagonists\bloodsucker\datum_bloodsucker.dm"
-#include "code\modules\antagonists\bloodsucker\datum_hunter.dm"
-#include "code\modules\antagonists\bloodsucker\datum_vassal.dm"
-#include "code\modules\antagonists\bloodsucker\items\bloodsucker_organs.dm"
-#include "code\modules\antagonists\bloodsucker\items\bloodsucker_stake.dm"
-#include "code\modules\antagonists\bloodsucker\objects\bloodsucker_coffin.dm"
-#include "code\modules\antagonists\bloodsucker\objects\bloodsucker_crypt.dm"
-#include "code\modules\antagonists\bloodsucker\objects\bloodsucker_lair.dm"
-#include "code\modules\antagonists\bloodsucker\powers\bs_brawn.dm"
-#include "code\modules\antagonists\bloodsucker\powers\bs_cloak.dm"
-#include "code\modules\antagonists\bloodsucker\powers\bs_feed.dm"
-#include "code\modules\antagonists\bloodsucker\powers\bs_fortitude.dm"
-#include "code\modules\antagonists\bloodsucker\powers\bs_gohome.dm"
-#include "code\modules\antagonists\bloodsucker\powers\bs_haste.dm"
-#include "code\modules\antagonists\bloodsucker\powers\bs_lunge.dm"
-#include "code\modules\antagonists\bloodsucker\powers\bs_masquerade.dm"
-#include "code\modules\antagonists\bloodsucker\powers\bs_mesmerize.dm"
-#include "code\modules\antagonists\bloodsucker\powers\bs_trespass.dm"
-#include "code\modules\antagonists\bloodsucker\powers\bs_veil.dm"
-#include "code\modules\antagonists\bloodsucker\powers\v_recuperate.dm"
-#include "code\modules\antagonists\brainwashing\brainwashing.dm"
-#include "code\modules\antagonists\brother\brother.dm"
-#include "code\modules\antagonists\changeling\cellular_emporium.dm"
-#include "code\modules\antagonists\changeling\changeling.dm"
-#include "code\modules\antagonists\changeling\changeling_power.dm"
-#include "code\modules\antagonists\changeling\powers\absorb.dm"
-#include "code\modules\antagonists\changeling\powers\adrenaline.dm"
-#include "code\modules\antagonists\changeling\powers\augmented_eyesight.dm"
-#include "code\modules\antagonists\changeling\powers\biodegrade.dm"
-#include "code\modules\antagonists\changeling\powers\chameleon_skin.dm"
-#include "code\modules\antagonists\changeling\powers\digitalcamo.dm"
-#include "code\modules\antagonists\changeling\powers\fakedeath.dm"
-#include "code\modules\antagonists\changeling\powers\fleshmend.dm"
-#include "code\modules\antagonists\changeling\powers\headcrab.dm"
-#include "code\modules\antagonists\changeling\powers\hivemind.dm"
-#include "code\modules\antagonists\changeling\powers\humanform.dm"
-#include "code\modules\antagonists\changeling\powers\lesserform.dm"
-#include "code\modules\antagonists\changeling\powers\linglink.dm"
-#include "code\modules\antagonists\changeling\powers\mimic_voice.dm"
-#include "code\modules\antagonists\changeling\powers\mutations.dm"
-#include "code\modules\antagonists\changeling\powers\panacea.dm"
-#include "code\modules\antagonists\changeling\powers\pheromone_receptors.dm"
-#include "code\modules\antagonists\changeling\powers\regenerate.dm"
-#include "code\modules\antagonists\changeling\powers\revive.dm"
-#include "code\modules\antagonists\changeling\powers\shriek.dm"
-#include "code\modules\antagonists\changeling\powers\spiders.dm"
-#include "code\modules\antagonists\changeling\powers\strained_muscles.dm"
-#include "code\modules\antagonists\changeling\powers\tiny_prick.dm"
-#include "code\modules\antagonists\changeling\powers\transform.dm"
-#include "code\modules\antagonists\clockcult\clock_effect.dm"
-#include "code\modules\antagonists\clockcult\clock_item.dm"
-#include "code\modules\antagonists\clockcult\clock_mobs.dm"
-#include "code\modules\antagonists\clockcult\clock_scripture.dm"
-#include "code\modules\antagonists\clockcult\clock_structure.dm"
-#include "code\modules\antagonists\clockcult\clockcult.dm"
-#include "code\modules\antagonists\clockcult\clock_effects\city_of_cogs_rift.dm"
-#include "code\modules\antagonists\clockcult\clock_effects\clock_overlay.dm"
-#include "code\modules\antagonists\clockcult\clock_effects\clock_sigils.dm"
-#include "code\modules\antagonists\clockcult\clock_effects\general_markers.dm"
-#include "code\modules\antagonists\clockcult\clock_effects\servant_blocker.dm"
-#include "code\modules\antagonists\clockcult\clock_effects\spatial_gateway.dm"
-#include "code\modules\antagonists\clockcult\clock_helpers\clock_powerdrain.dm"
-#include "code\modules\antagonists\clockcult\clock_helpers\component_helpers.dm"
-#include "code\modules\antagonists\clockcult\clock_helpers\fabrication_helpers.dm"
-#include "code\modules\antagonists\clockcult\clock_helpers\hierophant_network.dm"
-#include "code\modules\antagonists\clockcult\clock_helpers\power_helpers.dm"
-#include "code\modules\antagonists\clockcult\clock_helpers\ratvarian_language.dm"
-#include "code\modules\antagonists\clockcult\clock_helpers\scripture_checks.dm"
-#include "code\modules\antagonists\clockcult\clock_helpers\slab_abilities.dm"
-#include "code\modules\antagonists\clockcult\clock_items\clock_components.dm"
-#include "code\modules\antagonists\clockcult\clock_items\clockwork_armor.dm"
-#include "code\modules\antagonists\clockcult\clock_items\clockwork_slab.dm"
-#include "code\modules\antagonists\clockcult\clock_items\clockwork_weaponry.dm"
-#include "code\modules\antagonists\clockcult\clock_items\construct_chassis.dm"
-#include "code\modules\antagonists\clockcult\clock_items\integration_cog.dm"
-#include "code\modules\antagonists\clockcult\clock_items\judicial_visor.dm"
-#include "code\modules\antagonists\clockcult\clock_items\replica_fabricator.dm"
-#include "code\modules\antagonists\clockcult\clock_items\soul_vessel.dm"
-#include "code\modules\antagonists\clockcult\clock_items\wraith_spectacles.dm"
-#include "code\modules\antagonists\clockcult\clock_items\clock_weapons\_call_weapon.dm"
-#include "code\modules\antagonists\clockcult\clock_items\clock_weapons\ratvarian_spear.dm"
-#include "code\modules\antagonists\clockcult\clock_mobs\_eminence.dm"
-#include "code\modules\antagonists\clockcult\clock_mobs\clockwork_marauder.dm"
-#include "code\modules\antagonists\clockcult\clock_scriptures\scripture_applications.dm"
-#include "code\modules\antagonists\clockcult\clock_scriptures\scripture_cyborg.dm"
-#include "code\modules\antagonists\clockcult\clock_scriptures\scripture_drivers.dm"
-#include "code\modules\antagonists\clockcult\clock_scriptures\scripture_scripts.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\_trap_object.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\ark_of_the_clockwork_justicar.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\clockwork_obelisk.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\eminence_spire.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\heralds_beacon.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\mania_motor.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\ocular_warden.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\ratvar_the_clockwork_justicar.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\reflector.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\stargazer.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\taunting_trail.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\wall_gear.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\trap_triggers\lever.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\trap_triggers\pressure_sensor.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\trap_triggers\pressure_sensor_mech.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\trap_triggers\repeater.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\traps\brass_skewer.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\traps\power_null.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\traps\steam_vent.dm"
-#include "code\modules\antagonists\cult\blood_magic.dm"
-#include "code\modules\antagonists\cult\cult.dm"
-#include "code\modules\antagonists\cult\cult_comms.dm"
-#include "code\modules\antagonists\cult\cult_items.dm"
-#include "code\modules\antagonists\cult\cult_structures.dm"
-#include "code\modules\antagonists\cult\ritual.dm"
-#include "code\modules\antagonists\cult\rune_spawn_action.dm"
-#include "code\modules\antagonists\cult\runes.dm"
-#include "code\modules\antagonists\devil\devil.dm"
-#include "code\modules\antagonists\devil\devil_helpers.dm"
-#include "code\modules\antagonists\devil\imp\imp.dm"
-#include "code\modules\antagonists\devil\sintouched\objectives.dm"
-#include "code\modules\antagonists\devil\sintouched\sintouched.dm"
-#include "code\modules\antagonists\devil\true_devil\_true_devil.dm"
-#include "code\modules\antagonists\devil\true_devil\inventory.dm"
-#include "code\modules\antagonists\disease\disease_abilities.dm"
-#include "code\modules\antagonists\disease\disease_datum.dm"
-#include "code\modules\antagonists\disease\disease_disease.dm"
-#include "code\modules\antagonists\disease\disease_event.dm"
-#include "code\modules\antagonists\disease\disease_mob.dm"
-#include "code\modules\antagonists\ert\ert.dm"
-#include "code\modules\antagonists\greentext\greentext.dm"
-#include "code\modules\antagonists\greybois\greybois.dm"
-#include "code\modules\antagonists\highlander\highlander.dm"
-#include "code\modules\antagonists\monkey\monkey.dm"
-#include "code\modules\antagonists\morph\morph.dm"
-#include "code\modules\antagonists\morph\morph_antag.dm"
-#include "code\modules\antagonists\nightmare\nightmare.dm"
-#include "code\modules\antagonists\ninja\ninja.dm"
-#include "code\modules\antagonists\nukeop\clownop.dm"
-#include "code\modules\antagonists\nukeop\nukeop.dm"
-#include "code\modules\antagonists\nukeop\equipment\nuclear_challenge.dm"
-#include "code\modules\antagonists\nukeop\equipment\nuclearbomb.dm"
-#include "code\modules\antagonists\nukeop\equipment\pinpointer.dm"
-#include "code\modules\antagonists\official\official.dm"
-#include "code\modules\antagonists\overthrow\overthrow.dm"
-#include "code\modules\antagonists\overthrow\overthrow_converter.dm"
-#include "code\modules\antagonists\overthrow\overthrow_team.dm"
-#include "code\modules\antagonists\pirate\pirate.dm"
-#include "code\modules\antagonists\revenant\revenant.dm"
-#include "code\modules\antagonists\revenant\revenant_abilities.dm"
-#include "code\modules\antagonists\revenant\revenant_antag.dm"
-#include "code\modules\antagonists\revenant\revenant_blight.dm"
-#include "code\modules\antagonists\revenant\revenant_spawn_event.dm"
-#include "code\modules\antagonists\revolution\revolution.dm"
-#include "code\modules\antagonists\separatist\separatist.dm"
-#include "code\modules\antagonists\slaughter\slaughter.dm"
-#include "code\modules\antagonists\slaughter\slaughter_antag.dm"
-#include "code\modules\antagonists\slaughter\slaughterevent.dm"
-#include "code\modules\antagonists\survivalist\survivalist.dm"
-#include "code\modules\antagonists\swarmer\swarmer.dm"
-#include "code\modules\antagonists\swarmer\swarmer_event.dm"
-#include "code\modules\antagonists\traitor\datum_traitor.dm"
-#include "code\modules\antagonists\traitor\equipment\Malf_Modules.dm"
-#include "code\modules\antagonists\traitor\IAA\internal_affairs.dm"
-#include "code\modules\antagonists\valentines\heartbreaker.dm"
-#include "code\modules\antagonists\valentines\valentine.dm"
-#include "code\modules\antagonists\wishgranter\wishgranter.dm"
-#include "code\modules\antagonists\wizard\wizard.dm"
-#include "code\modules\antagonists\wizard\equipment\artefact.dm"
-#include "code\modules\antagonists\wizard\equipment\soulstone.dm"
-#include "code\modules\antagonists\wizard\equipment\spellbook.dm"
-#include "code\modules\antagonists\xeno\xeno.dm"
-#include "code\modules\assembly\assembly.dm"
-#include "code\modules\assembly\bomb.dm"
-#include "code\modules\assembly\doorcontrol.dm"
-#include "code\modules\assembly\flash.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\atmospherics\multiz.dm"
-#include "code\modules\atmospherics\environmental\LINDA_fire.dm"
-#include "code\modules\atmospherics\environmental\LINDA_system.dm"
-#include "code\modules\atmospherics\environmental\LINDA_turf_tile.dm"
-#include "code\modules\atmospherics\gasmixtures\gas_mixture.dm"
-#include "code\modules\atmospherics\gasmixtures\gas_types.dm"
-#include "code\modules\atmospherics\gasmixtures\immutable_mixtures.dm"
-#include "code\modules\atmospherics\gasmixtures\reactions.dm"
-#include "code\modules\atmospherics\machinery\airalarm.dm"
-#include "code\modules\atmospherics\machinery\atmosmachinery.dm"
-#include "code\modules\atmospherics\machinery\datum_pipeline.dm"
-#include "code\modules\atmospherics\machinery\components\components_base.dm"
-#include "code\modules\atmospherics\machinery\components\binary_devices\binary_devices.dm"
-#include "code\modules\atmospherics\machinery\components\binary_devices\circulator.dm"
-#include "code\modules\atmospherics\machinery\components\binary_devices\dp_vent_pump.dm"
-#include "code\modules\atmospherics\machinery\components\binary_devices\passive_gate.dm"
-#include "code\modules\atmospherics\machinery\components\binary_devices\pump.dm"
-#include "code\modules\atmospherics\machinery\components\binary_devices\relief_valve.dm"
-#include "code\modules\atmospherics\machinery\components\binary_devices\valve.dm"
-#include "code\modules\atmospherics\machinery\components\binary_devices\volume_pump.dm"
-#include "code\modules\atmospherics\machinery\components\trinary_devices\filter.dm"
-#include "code\modules\atmospherics\machinery\components\trinary_devices\mixer.dm"
-#include "code\modules\atmospherics\machinery\components\trinary_devices\trinary_devices.dm"
-#include "code\modules\atmospherics\machinery\components\unary_devices\cryo.dm"
-#include "code\modules\atmospherics\machinery\components\unary_devices\heat_exchanger.dm"
-#include "code\modules\atmospherics\machinery\components\unary_devices\outlet_injector.dm"
-#include "code\modules\atmospherics\machinery\components\unary_devices\passive_vent.dm"
-#include "code\modules\atmospherics\machinery\components\unary_devices\portables_connector.dm"
-#include "code\modules\atmospherics\machinery\components\unary_devices\relief_valve.dm"
-#include "code\modules\atmospherics\machinery\components\unary_devices\tank.dm"
-#include "code\modules\atmospherics\machinery\components\unary_devices\thermomachine.dm"
-#include "code\modules\atmospherics\machinery\components\unary_devices\unary_devices.dm"
-#include "code\modules\atmospherics\machinery\components\unary_devices\vent_pump.dm"
-#include "code\modules\atmospherics\machinery\components\unary_devices\vent_scrubber.dm"
-#include "code\modules\atmospherics\machinery\other\meter.dm"
-#include "code\modules\atmospherics\machinery\other\miner.dm"
-#include "code\modules\atmospherics\machinery\pipes\layermanifold.dm"
-#include "code\modules\atmospherics\machinery\pipes\manifold.dm"
-#include "code\modules\atmospherics\machinery\pipes\manifold4w.dm"
-#include "code\modules\atmospherics\machinery\pipes\mapping.dm"
-#include "code\modules\atmospherics\machinery\pipes\pipes.dm"
-#include "code\modules\atmospherics\machinery\pipes\simple.dm"
-#include "code\modules\atmospherics\machinery\pipes\heat_exchange\he_pipes.dm"
-#include "code\modules\atmospherics\machinery\pipes\heat_exchange\junction.dm"
-#include "code\modules\atmospherics\machinery\pipes\heat_exchange\manifold.dm"
-#include "code\modules\atmospherics\machinery\pipes\heat_exchange\manifold4w.dm"
-#include "code\modules\atmospherics\machinery\pipes\heat_exchange\simple.dm"
-#include "code\modules\atmospherics\machinery\portable\canister.dm"
-#include "code\modules\atmospherics\machinery\portable\portable_atmospherics.dm"
-#include "code\modules\atmospherics\machinery\portable\pump.dm"
-#include "code\modules\atmospherics\machinery\portable\scrubber.dm"
-#include "code\modules\awaymissions\away_props.dm"
-#include "code\modules\awaymissions\bluespaceartillery.dm"
-#include "code\modules\awaymissions\capture_the_flag.dm"
-#include "code\modules\awaymissions\corpse.dm"
-#include "code\modules\awaymissions\exile.dm"
-#include "code\modules\awaymissions\gateway.dm"
-#include "code\modules\awaymissions\pamphlet.dm"
-#include "code\modules\awaymissions\signpost.dm"
-#include "code\modules\awaymissions\super_secret_room.dm"
-#include "code\modules\awaymissions\zlevel.dm"
-#include "code\modules\awaymissions\mission_code\Academy.dm"
-#include "code\modules\awaymissions\mission_code\Cabin.dm"
-#include "code\modules\awaymissions\mission_code\caves.dm"
-#include "code\modules\awaymissions\mission_code\centcomAway.dm"
-#include "code\modules\awaymissions\mission_code\challenge.dm"
-#include "code\modules\awaymissions\mission_code\moonoutpost19.dm"
-#include "code\modules\awaymissions\mission_code\murderdome.dm"
-#include "code\modules\awaymissions\mission_code\research.dm"
-#include "code\modules\awaymissions\mission_code\snowdin.dm"
-#include "code\modules\awaymissions\mission_code\spacebattle.dm"
-#include "code\modules\awaymissions\mission_code\stationCollision.dm"
-#include "code\modules\awaymissions\mission_code\undergroundoutpost45.dm"
-#include "code\modules\awaymissions\mission_code\wildwest.dm"
-#include "code\modules\bsql\includes.dm"
-#include "code\modules\buildmode\bm_mode.dm"
-#include "code\modules\buildmode\buildmode.dm"
-#include "code\modules\buildmode\buttons.dm"
-#include "code\modules\buildmode\effects\line.dm"
-#include "code\modules\buildmode\submodes\advanced.dm"
-#include "code\modules\buildmode\submodes\area_edit.dm"
-#include "code\modules\buildmode\submodes\basic.dm"
-#include "code\modules\buildmode\submodes\boom.dm"
-#include "code\modules\buildmode\submodes\copy.dm"
-#include "code\modules\buildmode\submodes\fill.dm"
-#include "code\modules\buildmode\submodes\mapgen.dm"
-#include "code\modules\buildmode\submodes\throwing.dm"
-#include "code\modules\buildmode\submodes\variable_edit.dm"
-#include "code\modules\cargo\bounty.dm"
-#include "code\modules\cargo\bounty_console.dm"
-#include "code\modules\cargo\centcom_podlauncher.dm"
-#include "code\modules\cargo\console.dm"
-#include "code\modules\cargo\export_scanner.dm"
-#include "code\modules\cargo\exports.dm"
-#include "code\modules\cargo\expressconsole.dm"
-#include "code\modules\cargo\gondolapod.dm"
-#include "code\modules\cargo\order.dm"
-#include "code\modules\cargo\packs.dm"
-#include "code\modules\cargo\supplypod.dm"
-#include "code\modules\cargo\supplypod_beacon.dm"
-#include "code\modules\cargo\bounties\assistant.dm"
-#include "code\modules\cargo\bounties\botany.dm"
-#include "code\modules\cargo\bounties\chef.dm"
-#include "code\modules\cargo\bounties\engineering.dm"
-#include "code\modules\cargo\bounties\item.dm"
-#include "code\modules\cargo\bounties\mech.dm"
-#include "code\modules\cargo\bounties\medical.dm"
-#include "code\modules\cargo\bounties\mining.dm"
-#include "code\modules\cargo\bounties\reagent.dm"
-#include "code\modules\cargo\bounties\science.dm"
-#include "code\modules\cargo\bounties\security.dm"
-#include "code\modules\cargo\bounties\slime.dm"
-#include "code\modules\cargo\bounties\special.dm"
-#include "code\modules\cargo\bounties\virus.dm"
-#include "code\modules\cargo\exports\food_wine.dm"
-#include "code\modules\cargo\exports\gear.dm"
-#include "code\modules\cargo\exports\large_objects.dm"
-#include "code\modules\cargo\exports\manifest.dm"
-#include "code\modules\cargo\exports\materials.dm"
-#include "code\modules\cargo\exports\organs_robotics.dm"
-#include "code\modules\cargo\exports\parts.dm"
-#include "code\modules\cargo\exports\seeds.dm"
-#include "code\modules\cargo\exports\sheets.dm"
-#include "code\modules\cargo\exports\tools.dm"
-#include "code\modules\cargo\exports\weapons.dm"
-#include "code\modules\cargo\packs\armory.dm"
-#include "code\modules\cargo\packs\costumes_toys.dm"
-#include "code\modules\cargo\packs\emergency.dm"
-#include "code\modules\cargo\packs\engine.dm"
-#include "code\modules\cargo\packs\engineering.dm"
-#include "code\modules\cargo\packs\livestock.dm"
-#include "code\modules\cargo\packs\materials.dm"
-#include "code\modules\cargo\packs\medical.dm"
-#include "code\modules\cargo\packs\misc.dm"
-#include "code\modules\cargo\packs\organic.dm"
-#include "code\modules\cargo\packs\science.dm"
-#include "code\modules\cargo\packs\security.dm"
-#include "code\modules\cargo\packs\service.dm"
-#include "code\modules\chatter\chatter.dm"
-#include "code\modules\client\asset_cache.dm"
-#include "code\modules\client\client_colour.dm"
-#include "code\modules\client\client_defines.dm"
-#include "code\modules\client\client_procs.dm"
-#include "code\modules\client\darkmode.dm"
-#include "code\modules\client\message.dm"
-#include "code\modules\client\player_details.dm"
-#include "code\modules\client\preferences.dm"
-#include "code\modules\client\preferences_savefile.dm"
-#include "code\modules\client\preferences_toggles.dm"
-#include "code\modules\client\preferences_vr.dm"
-#include "code\modules\client\verbs\aooc.dm"
-#include "code\modules\client\verbs\etips.dm"
-#include "code\modules\client\verbs\looc.dm"
-#include "code\modules\client\verbs\ooc.dm"
-#include "code\modules\client\verbs\ping.dm"
-#include "code\modules\client\verbs\suicide.dm"
-#include "code\modules\client\verbs\who.dm"
-#include "code\modules\clothing\chameleon.dm"
-#include "code\modules\clothing\clothing.dm"
-#include "code\modules\clothing\ears\_ears.dm"
-#include "code\modules\clothing\glasses\_glasses.dm"
-#include "code\modules\clothing\glasses\engine_goggles.dm"
-#include "code\modules\clothing\glasses\hud.dm"
-#include "code\modules\clothing\glasses\vg_glasses.dm"
-#include "code\modules\clothing\gloves\_gloves.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\ring.dm"
-#include "code\modules\clothing\gloves\vg_gloves.dm"
-#include "code\modules\clothing\head\_head.dm"
-#include "code\modules\clothing\head\beanie.dm"
-#include "code\modules\clothing\head\cit_hats.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\head\vg_hats.dm"
-#include "code\modules\clothing\masks\_masks.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\hailer.dm"
-#include "code\modules\clothing\masks\miscellaneous.dm"
-#include "code\modules\clothing\masks\vg_masks.dm"
-#include "code\modules\clothing\neck\_neck.dm"
-#include "code\modules\clothing\outfits\ert.dm"
-#include "code\modules\clothing\outfits\event.dm"
-#include "code\modules\clothing\outfits\plasmaman.dm"
-#include "code\modules\clothing\outfits\standard.dm"
-#include "code\modules\clothing\outfits\vr.dm"
-#include "code\modules\clothing\outfits\vv_outfit.dm"
-#include "code\modules\clothing\shoes\_shoes.dm"
-#include "code\modules\clothing\shoes\bananashoes.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\shoes\taeclowndo.dm"
-#include "code\modules\clothing\shoes\vg_shoes.dm"
-#include "code\modules\clothing\spacesuits\_spacesuits.dm"
-#include "code\modules\clothing\spacesuits\chronosuit.dm"
-#include "code\modules\clothing\spacesuits\hardsuit.dm"
-#include "code\modules\clothing\spacesuits\miscellaneous.dm"
-#include "code\modules\clothing\spacesuits\plasmamen.dm"
-#include "code\modules\clothing\spacesuits\syndi.dm"
-#include "code\modules\clothing\spacesuits\vg_spess.dm"
-#include "code\modules\clothing\suits\_suits.dm"
-#include "code\modules\clothing\suits\armor.dm"
-#include "code\modules\clothing\suits\bio.dm"
-#include "code\modules\clothing\suits\cloaks.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\reactive_armour.dm"
-#include "code\modules\clothing\suits\toggles.dm"
-#include "code\modules\clothing\suits\utility.dm"
-#include "code\modules\clothing\suits\vg_suits.dm"
-#include "code\modules\clothing\suits\wiz_robe.dm"
-#include "code\modules\clothing\under\_under.dm"
-#include "code\modules\clothing\under\accessories.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\trek.dm"
-#include "code\modules\clothing\under\vg_under.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\clothing\under\jobs\Plasmaman\civilian_service.dm"
-#include "code\modules\clothing\under\jobs\Plasmaman\engineering.dm"
-#include "code\modules\clothing\under\jobs\Plasmaman\medsci.dm"
-#include "code\modules\clothing\under\jobs\Plasmaman\security.dm"
-#include "code\modules\crafting\craft.dm"
-#include "code\modules\crafting\guncrafting.dm"
-#include "code\modules\crafting\recipes.dm"
-#include "code\modules\crafting\recipes\recipes_clothing.dm"
-#include "code\modules\crafting\recipes\recipes_misc.dm"
-#include "code\modules\crafting\recipes\recipes_primal.dm"
-#include "code\modules\crafting\recipes\recipes_robot.dm"
-#include "code\modules\crafting\recipes\recipes_weapon_and_ammo.dm"
-#include "code\modules\detectivework\detective_work.dm"
-#include "code\modules\detectivework\evidence.dm"
-#include "code\modules\detectivework\scanner.dm"
-#include "code\modules\emoji\emoji_parse.dm"
-#include "code\modules\error_handler\error_handler.dm"
-#include "code\modules\error_handler\error_viewer.dm"
-#include "code\modules\events\_event.dm"
-#include "code\modules\events\abductor.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\aurora_aquilae.dm"
-#include "code\modules\events\aurora_caelus.dm"
-#include "code\modules\events\blob.dm"
-#include "code\modules\events\brand_intelligence.dm"
-#include "code\modules\events\bureaucratic_error.dm"
-#include "code\modules\events\camerafailure.dm"
-#include "code\modules\events\carp_migration.dm"
-#include "code\modules\events\carpteam.dm"
-#include "code\modules\events\communications_blackout.dm"
-#include "code\modules\events\devil.dm"
-#include "code\modules\events\disease_outbreak.dm"
-#include "code\modules\events\dust.dm"
-#include "code\modules\events\electrical_storm.dm"
-#include "code\modules\events\false_alarm.dm"
-#include "code\modules\events\floorcluwne.dm"
-#include "code\modules\events\ghost_role.dm"
-#include "code\modules\events\grid_check.dm"
-#include "code\modules\events\heart_attack.dm"
-#include "code\modules\events\high_priority_bounty.dm"
-#include "code\modules\events\immovable_rod.dm"
-#include "code\modules\events\ion_storm.dm"
-#include "code\modules\events\major_dust.dm"
-#include "code\modules\events\mass_hallucination.dm"
-#include "code\modules\events\meateor_wave.dm"
-#include "code\modules\events\meteor_wave.dm"
-#include "code\modules\events\mice_migration.dm"
-#include "code\modules\events\nightmare.dm"
-#include "code\modules\events\operative.dm"
-#include "code\modules\events\pirates.dm"
-#include "code\modules\events\portal_storm.dm"
-#include "code\modules\events\prison_break.dm"
-#include "code\modules\events\processor_overload.dm"
-#include "code\modules\events\radiation_storm.dm"
-#include "code\modules\events\sentience.dm"
-#include "code\modules\events\shuttle_loan.dm"
-#include "code\modules\events\spacevine.dm"
-#include "code\modules\events\spider_infestation.dm"
-#include "code\modules\events\spontaneous_appendicitis.dm"
-#include "code\modules\events\vent_clog.dm"
-#include "code\modules\events\wormholes.dm"
-#include "code\modules\events\holiday\halloween.dm"
-#include "code\modules\events\holiday\vday.dm"
-#include "code\modules\events\holiday\xmas.dm"
-#include "code\modules\events\wizard\aid.dm"
-#include "code\modules\events\wizard\blobies.dm"
-#include "code\modules\events\wizard\curseditems.dm"
-#include "code\modules\events\wizard\departmentrevolt.dm"
-#include "code\modules\events\wizard\fakeexplosion.dm"
-#include "code\modules\events\wizard\ghost.dm"
-#include "code\modules\events\wizard\greentext.dm"
-#include "code\modules\events\wizard\imposter.dm"
-#include "code\modules\events\wizard\invincible.dm"
-#include "code\modules\events\wizard\lava.dm"
-#include "code\modules\events\wizard\magicarp.dm"
-#include "code\modules\events\wizard\petsplosion.dm"
-#include "code\modules\events\wizard\race.dm"
-#include "code\modules\events\wizard\rpgloot.dm"
-#include "code\modules\events\wizard\shuffle.dm"
-#include "code\modules\events\wizard\summons.dm"
-#include "code\modules\fields\fields.dm"
-#include "code\modules\fields\gravity.dm"
-#include "code\modules\fields\peaceborg_dampener.dm"
-#include "code\modules\fields\timestop.dm"
-#include "code\modules\fields\turf_objects.dm"
-#include "code\modules\flufftext\Dreaming.dm"
-#include "code\modules\flufftext\Hallucination.dm"
-#include "code\modules\food_and_drinks\autobottler.dm"
-#include "code\modules\food_and_drinks\food.dm"
-#include "code\modules\food_and_drinks\pizzabox.dm"
-#include "code\modules\food_and_drinks\drinks\drinks.dm"
-#include "code\modules\food_and_drinks\drinks\drinks\bottle.dm"
-#include "code\modules\food_and_drinks\drinks\drinks\drinkingglass.dm"
-#include "code\modules\food_and_drinks\food\condiment.dm"
-#include "code\modules\food_and_drinks\food\customizables.dm"
-#include "code\modules\food_and_drinks\food\snacks.dm"
-#include "code\modules\food_and_drinks\food\snacks_bread.dm"
-#include "code\modules\food_and_drinks\food\snacks_burgers.dm"
-#include "code\modules\food_and_drinks\food\snacks_cake.dm"
-#include "code\modules\food_and_drinks\food\snacks_egg.dm"
-#include "code\modules\food_and_drinks\food\snacks_frozen.dm"
-#include "code\modules\food_and_drinks\food\snacks_meat.dm"
-#include "code\modules\food_and_drinks\food\snacks_other.dm"
-#include "code\modules\food_and_drinks\food\snacks_pastry.dm"
-#include "code\modules\food_and_drinks\food\snacks_pie.dm"
-#include "code\modules\food_and_drinks\food\snacks_pizza.dm"
-#include "code\modules\food_and_drinks\food\snacks_salad.dm"
-#include "code\modules\food_and_drinks\food\snacks_sandwichtoast.dm"
-#include "code\modules\food_and_drinks\food\snacks_soup.dm"
-#include "code\modules\food_and_drinks\food\snacks_spaghetti.dm"
-#include "code\modules\food_and_drinks\food\snacks_sushi.dm"
-#include "code\modules\food_and_drinks\food\snacks_vend.dm"
-#include "code\modules\food_and_drinks\food\snacks\dough.dm"
-#include "code\modules\food_and_drinks\food\snacks\meat.dm"
-#include "code\modules\food_and_drinks\kitchen_machinery\deep_fryer.dm"
-#include "code\modules\food_and_drinks\kitchen_machinery\food_cart.dm"
-#include "code\modules\food_and_drinks\kitchen_machinery\gibber.dm"
-#include "code\modules\food_and_drinks\kitchen_machinery\grill.dm"
-#include "code\modules\food_and_drinks\kitchen_machinery\icecream_vat.dm"
-#include "code\modules\food_and_drinks\kitchen_machinery\microwave.dm"
-#include "code\modules\food_and_drinks\kitchen_machinery\monkeyrecycler.dm"
-#include "code\modules\food_and_drinks\kitchen_machinery\processor.dm"
-#include "code\modules\food_and_drinks\kitchen_machinery\smartfridge.dm"
-#include "code\modules\food_and_drinks\recipes\drinks_recipes.dm"
-#include "code\modules\food_and_drinks\recipes\food_mixtures.dm"
-#include "code\modules\food_and_drinks\recipes\processor_recipes.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_bread.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_burger.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_cake.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_egg.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_frozen.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_meat.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_misc.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_pastry.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_pie.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_pizza.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_salad.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_sandwich.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_soup.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_spaghetti.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_sushi.dm"
-#include "code\modules\games\cas.dm"
-#include "code\modules\goonchat\browserOutput.dm"
-#include "code\modules\goonchat\jsErrorHandler.dm"
-#include "code\modules\holiday\easter.dm"
-#include "code\modules\holiday\holidays.dm"
-#include "code\modules\holiday\halloween\bartholomew.dm"
-#include "code\modules\holiday\halloween\jacqueen.dm"
-#include "code\modules\holodeck\area_copy.dm"
-#include "code\modules\holodeck\computer.dm"
-#include "code\modules\holodeck\holo_effect.dm"
-#include "code\modules\holodeck\items.dm"
-#include "code\modules\holodeck\mobs.dm"
-#include "code\modules\holodeck\turfs.dm"
-#include "code\modules\hydroponics\biogenerator.dm"
-#include "code\modules\hydroponics\fermenting_barrel.dm"
-#include "code\modules\hydroponics\gene_modder.dm"
-#include "code\modules\hydroponics\grown.dm"
-#include "code\modules\hydroponics\growninedible.dm"
-#include "code\modules\hydroponics\hydroitemdefines.dm"
-#include "code\modules\hydroponics\hydroponics.dm"
-#include "code\modules\hydroponics\plant_genes.dm"
-#include "code\modules\hydroponics\sample.dm"
-#include "code\modules\hydroponics\seed_extractor.dm"
-#include "code\modules\hydroponics\seeds.dm"
-#include "code\modules\hydroponics\beekeeping\beebox.dm"
-#include "code\modules\hydroponics\beekeeping\beekeeper_suit.dm"
-#include "code\modules\hydroponics\beekeeping\honey_frame.dm"
-#include "code\modules\hydroponics\beekeeping\honeycomb.dm"
-#include "code\modules\hydroponics\grown\ambrosia.dm"
-#include "code\modules\hydroponics\grown\apple.dm"
-#include "code\modules\hydroponics\grown\banana.dm"
-#include "code\modules\hydroponics\grown\beans.dm"
-#include "code\modules\hydroponics\grown\berries.dm"
-#include "code\modules\hydroponics\grown\cannabis.dm"
-#include "code\modules\hydroponics\grown\cereals.dm"
-#include "code\modules\hydroponics\grown\chili.dm"
-#include "code\modules\hydroponics\grown\citrus.dm"
-#include "code\modules\hydroponics\grown\cocoa_vanilla.dm"
-#include "code\modules\hydroponics\grown\corn.dm"
-#include "code\modules\hydroponics\grown\cotton.dm"
-#include "code\modules\hydroponics\grown\eggplant.dm"
-#include "code\modules\hydroponics\grown\flowers.dm"
-#include "code\modules\hydroponics\grown\garlic.dm"
-#include "code\modules\hydroponics\grown\grass_carpet.dm"
-#include "code\modules\hydroponics\grown\kudzu.dm"
-#include "code\modules\hydroponics\grown\melon.dm"
-#include "code\modules\hydroponics\grown\misc.dm"
-#include "code\modules\hydroponics\grown\mushrooms.dm"
-#include "code\modules\hydroponics\grown\nettle.dm"
-#include "code\modules\hydroponics\grown\onion.dm"
-#include "code\modules\hydroponics\grown\peach.dm"
-#include "code\modules\hydroponics\grown\peanuts.dm"
-#include "code\modules\hydroponics\grown\pineapple.dm"
-#include "code\modules\hydroponics\grown\potato.dm"
-#include "code\modules\hydroponics\grown\pumpkin.dm"
-#include "code\modules\hydroponics\grown\random.dm"
-#include "code\modules\hydroponics\grown\replicapod.dm"
-#include "code\modules\hydroponics\grown\root.dm"
-#include "code\modules\hydroponics\grown\tea_coffee.dm"
-#include "code\modules\hydroponics\grown\tobacco.dm"
-#include "code\modules\hydroponics\grown\tomato.dm"
-#include "code\modules\hydroponics\grown\towercap.dm"
-#include "code\modules\integrated_electronics\_defines.dm"
-#include "code\modules\integrated_electronics\core\analyzer.dm"
-#include "code\modules\integrated_electronics\core\assemblies.dm"
-#include "code\modules\integrated_electronics\core\debugger.dm"
-#include "code\modules\integrated_electronics\core\detailer.dm"
-#include "code\modules\integrated_electronics\core\helpers.dm"
-#include "code\modules\integrated_electronics\core\integrated_circuit.dm"
-#include "code\modules\integrated_electronics\core\pins.dm"
-#include "code\modules\integrated_electronics\core\printer.dm"
-#include "code\modules\integrated_electronics\core\saved_circuits.dm"
-#include "code\modules\integrated_electronics\core\wirer.dm"
-#include "code\modules\integrated_electronics\core\special_pins\boolean_pin.dm"
-#include "code\modules\integrated_electronics\core\special_pins\char_pin.dm"
-#include "code\modules\integrated_electronics\core\special_pins\color_pin.dm"
-#include "code\modules\integrated_electronics\core\special_pins\dir_pin.dm"
-#include "code\modules\integrated_electronics\core\special_pins\index_pin.dm"
-#include "code\modules\integrated_electronics\core\special_pins\list_pin.dm"
-#include "code\modules\integrated_electronics\core\special_pins\number_pin.dm"
-#include "code\modules\integrated_electronics\core\special_pins\ref_pin.dm"
-#include "code\modules\integrated_electronics\core\special_pins\selfref_pin.dm"
-#include "code\modules\integrated_electronics\core\special_pins\string_pin.dm"
-#include "code\modules\integrated_electronics\passive\passive.dm"
-#include "code\modules\integrated_electronics\passive\power.dm"
-#include "code\modules\integrated_electronics\subtypes\access.dm"
-#include "code\modules\integrated_electronics\subtypes\arithmetic.dm"
-#include "code\modules\integrated_electronics\subtypes\atmospherics.dm"
-#include "code\modules\integrated_electronics\subtypes\converters.dm"
-#include "code\modules\integrated_electronics\subtypes\data_transfer.dm"
-#include "code\modules\integrated_electronics\subtypes\input.dm"
-#include "code\modules\integrated_electronics\subtypes\lists.dm"
-#include "code\modules\integrated_electronics\subtypes\logic.dm"
-#include "code\modules\integrated_electronics\subtypes\manipulation.dm"
-#include "code\modules\integrated_electronics\subtypes\memory.dm"
-#include "code\modules\integrated_electronics\subtypes\output.dm"
-#include "code\modules\integrated_electronics\subtypes\power.dm"
-#include "code\modules\integrated_electronics\subtypes\reagents.dm"
-#include "code\modules\integrated_electronics\subtypes\smart.dm"
-#include "code\modules\integrated_electronics\subtypes\text.dm"
-#include "code\modules\integrated_electronics\subtypes\time.dm"
-#include "code\modules\integrated_electronics\subtypes\trig.dm"
-#include "code\modules\integrated_electronics\subtypes\weaponized.dm"
-#include "code\modules\jobs\access.dm"
-#include "code\modules\jobs\job_exp.dm"
-#include "code\modules\jobs\jobs.dm"
-#include "code\modules\jobs\job_types\assistant.dm"
-#include "code\modules\jobs\job_types\captain.dm"
-#include "code\modules\jobs\job_types\cargo_service.dm"
-#include "code\modules\jobs\job_types\civilian.dm"
-#include "code\modules\jobs\job_types\civilian_chaplain.dm"
-#include "code\modules\jobs\job_types\engineering.dm"
-#include "code\modules\jobs\job_types\job.dm"
-#include "code\modules\jobs\job_types\job_alt_titles.dm"
-#include "code\modules\jobs\job_types\medical.dm"
-#include "code\modules\jobs\job_types\science.dm"
-#include "code\modules\jobs\job_types\security.dm"
-#include "code\modules\jobs\job_types\silicon.dm"
-#include "code\modules\jobs\map_changes\map_changes.dm"
-#include "code\modules\keybindings\bindings_admin.dm"
-#include "code\modules\keybindings\bindings_atom.dm"
-#include "code\modules\keybindings\bindings_carbon.dm"
-#include "code\modules\keybindings\bindings_client.dm"
-#include "code\modules\keybindings\bindings_human.dm"
-#include "code\modules\keybindings\bindings_living.dm"
-#include "code\modules\keybindings\bindings_mob.dm"
-#include "code\modules\keybindings\bindings_robot.dm"
-#include "code\modules\keybindings\focus.dm"
-#include "code\modules\keybindings\setup.dm"
-#include "code\modules\language\aphasia.dm"
-#include "code\modules\language\beachbum.dm"
-#include "code\modules\language\codespeak.dm"
-#include "code\modules\language\common.dm"
-#include "code\modules\language\draconic.dm"
-#include "code\modules\language\drone.dm"
-#include "code\modules\language\language.dm"
-#include "code\modules\language\language_holder.dm"
-#include "code\modules\language\language_menu.dm"
-#include "code\modules\language\machine.dm"
-#include "code\modules\language\monkey.dm"
-#include "code\modules\language\mushroom.dm"
-#include "code\modules\language\narsian.dm"
-#include "code\modules\language\ratvarian.dm"
-#include "code\modules\language\slime.dm"
-#include "code\modules\language\swarmer.dm"
-#include "code\modules\language\vampiric.dm"
-#include "code\modules\language\xenocommon.dm"
-#include "code\modules\library\lib_codex_gigas.dm"
-#include "code\modules\library\lib_items.dm"
-#include "code\modules\library\lib_machines.dm"
-#include "code\modules\library\random_books.dm"
-#include "code\modules\library\soapstone.dm"
-#include "code\modules\lighting\lighting_area.dm"
-#include "code\modules\lighting\lighting_atom.dm"
-#include "code\modules\lighting\lighting_corner.dm"
-#include "code\modules\lighting\lighting_object.dm"
-#include "code\modules\lighting\lighting_setup.dm"
-#include "code\modules\lighting\lighting_source.dm"
-#include "code\modules\lighting\lighting_turf.dm"
-#include "code\modules\mapping\dmm_suite.dm"
-#include "code\modules\mapping\map_template.dm"
-#include "code\modules\mapping\mapping_helpers.dm"
-#include "code\modules\mapping\preloader.dm"
-#include "code\modules\mapping\reader.dm"
-#include "code\modules\mapping\ruins.dm"
-#include "code\modules\mapping\verify.dm"
-#include "code\modules\mapping\space_management\multiz_helpers.dm"
-#include "code\modules\mapping\space_management\space_level.dm"
-#include "code\modules\mapping\space_management\space_reservation.dm"
-#include "code\modules\mapping\space_management\space_transition.dm"
-#include "code\modules\mapping\space_management\traits.dm"
-#include "code\modules\mapping\space_management\zlevel_manager.dm"
-#include "code\modules\mining\abandoned_crates.dm"
-#include "code\modules\mining\aux_base.dm"
-#include "code\modules\mining\aux_base_camera.dm"
-#include "code\modules\mining\fulton.dm"
-#include "code\modules\mining\machine_processing.dm"
-#include "code\modules\mining\machine_redemption.dm"
-#include "code\modules\mining\machine_silo.dm"
-#include "code\modules\mining\machine_stacking.dm"
-#include "code\modules\mining\machine_unloading.dm"
-#include "code\modules\mining\machine_vending.dm"
-#include "code\modules\mining\mine_items.dm"
-#include "code\modules\mining\minebot.dm"
-#include "code\modules\mining\mint.dm"
-#include "code\modules\mining\money_bag.dm"
-#include "code\modules\mining\ores_coins.dm"
-#include "code\modules\mining\satchel_ore_boxdm.dm"
-#include "code\modules\mining\shelters.dm"
-#include "code\modules\mining\equipment\explorer_gear.dm"
-#include "code\modules\mining\equipment\goliath_hide.dm"
-#include "code\modules\mining\equipment\kinetic_crusher.dm"
-#include "code\modules\mining\equipment\lazarus_injector.dm"
-#include "code\modules\mining\equipment\marker_beacons.dm"
-#include "code\modules\mining\equipment\mineral_scanner.dm"
-#include "code\modules\mining\equipment\mining_tools.dm"
-#include "code\modules\mining\equipment\regenerative_core.dm"
-#include "code\modules\mining\equipment\resonator.dm"
-#include "code\modules\mining\equipment\survival_pod.dm"
-#include "code\modules\mining\equipment\vendor_items.dm"
-#include "code\modules\mining\equipment\wormhole_jaunter.dm"
-#include "code\modules\mining\laborcamp\laborshuttle.dm"
-#include "code\modules\mining\laborcamp\laborstacker.dm"
-#include "code\modules\mining\lavaland\ash_flora.dm"
-#include "code\modules\mining\lavaland\necropolis_chests.dm"
-#include "code\modules\mining\lavaland\ruins\gym.dm"
-#include "code\modules\mob\death.dm"
-#include "code\modules\mob\emote.dm"
-#include "code\modules\mob\inventory.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_helpers.dm"
-#include "code\modules\mob\mob_movement.dm"
-#include "code\modules\mob\mob_movespeed.dm"
-#include "code\modules\mob\mob_transformation_simple.dm"
-#include "code\modules\mob\say.dm"
-#include "code\modules\mob\say_vr.dm"
-#include "code\modules\mob\status_procs.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\dead.dm"
-#include "code\modules\mob\dead\new_player\login.dm"
-#include "code\modules\mob\dead\new_player\logout.dm"
-#include "code\modules\mob\dead\new_player\new_player.dm"
-#include "code\modules\mob\dead\new_player\poll.dm"
-#include "code\modules\mob\dead\new_player\preferences_setup.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\_sprite_accessories.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\body_markings.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\caps.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\ears.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\frills.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\hair_face.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\hair_head.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\horns.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\legs.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\moth_fluff.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\moth_wings.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\pines.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\snouts.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\socks.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\tails.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\undershirt.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\underwear.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\wings.dm"
-#include "code\modules\mob\dead\observer\login.dm"
-#include "code\modules\mob\dead\observer\logout.dm"
-#include "code\modules\mob\dead\observer\notificationprefs.dm"
-#include "code\modules\mob\dead\observer\observer.dm"
-#include "code\modules\mob\dead\observer\observer_movement.dm"
-#include "code\modules\mob\dead\observer\say.dm"
-#include "code\modules\mob\living\blood.dm"
-#include "code\modules\mob\living\bloodcrawl.dm"
-#include "code\modules\mob\living\damage_procs.dm"
-#include "code\modules\mob\living\death.dm"
-#include "code\modules\mob\living\emote.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\living_movement.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\status_procs.dm"
-#include "code\modules\mob\living\taste.dm"
-#include "code\modules\mob\living\ventcrawling.dm"
-#include "code\modules\mob\living\brain\brain.dm"
-#include "code\modules\mob\living\brain\brain_item.dm"
-#include "code\modules\mob\living\brain\death.dm"
-#include "code\modules\mob\living\brain\emote.dm"
-#include "code\modules\mob\living\brain\life.dm"
-#include "code\modules\mob\living\brain\MMI.dm"
-#include "code\modules\mob\living\brain\posibrain.dm"
-#include "code\modules\mob\living\brain\say.dm"
-#include "code\modules\mob\living\brain\status_procs.dm"
-#include "code\modules\mob\living\carbon\carbon.dm"
-#include "code\modules\mob\living\carbon\carbon_defense.dm"
-#include "code\modules\mob\living\carbon\carbon_defines.dm"
-#include "code\modules\mob\living\carbon\carbon_movement.dm"
-#include "code\modules\mob\living\carbon\damage_procs.dm"
-#include "code\modules\mob\living\carbon\death.dm"
-#include "code\modules\mob\living\carbon\emote.dm"
-#include "code\modules\mob\living\carbon\examine.dm"
-#include "code\modules\mob\living\carbon\give.dm"
-#include "code\modules\mob\living\carbon\inventory.dm"
-#include "code\modules\mob\living\carbon\life.dm"
-#include "code\modules\mob\living\carbon\say.dm"
-#include "code\modules\mob\living\carbon\status_procs.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_defense.dm"
-#include "code\modules\mob\living\carbon\alien\damage_procs.dm"
-#include "code\modules\mob\living\carbon\alien\death.dm"
-#include "code\modules\mob\living\carbon\alien\emote.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\organs.dm"
-#include "code\modules\mob\living\carbon\alien\say.dm"
-#include "code\modules\mob\living\carbon\alien\screen.dm"
-#include "code\modules\mob\living\carbon\alien\status_procs.dm"
-#include "code\modules\mob\living\carbon\alien\update_icons.dm"
-#include "code\modules\mob\living\carbon\alien\humanoid\alien_powers.dm"
-#include "code\modules\mob\living\carbon\alien\humanoid\death.dm"
-#include "code\modules\mob\living\carbon\alien\humanoid\humanoid.dm"
-#include "code\modules\mob\living\carbon\alien\humanoid\humanoid_defense.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\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\praetorian.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\inventory.dm"
-#include "code\modules\mob\living\carbon\alien\larva\larva.dm"
-#include "code\modules\mob\living\carbon\alien\larva\larva_defense.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\human\damage_procs.dm"
-#include "code\modules\mob\living\carbon\human\death.dm"
-#include "code\modules\mob\living\carbon\human\dummy.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\examine_vr.dm"
-#include "code\modules\mob\living\carbon\human\human.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_helpers.dm"
-#include "code\modules\mob\living\carbon\human\human_movement.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\physiology.dm"
-#include "code\modules\mob\living\carbon\human\say.dm"
-#include "code\modules\mob\living\carbon\human\species.dm"
-#include "code\modules\mob\living\carbon\human\status_procs.dm"
-#include "code\modules\mob\living\carbon\human\typing_indicator.dm"
-#include "code\modules\mob\living\carbon\human\update_icons.dm"
-#include "code\modules\mob\living\carbon\human\species_types\abductors.dm"
-#include "code\modules\mob\living\carbon\human\species_types\android.dm"
-#include "code\modules\mob\living\carbon\human\species_types\angel.dm"
-#include "code\modules\mob\living\carbon\human\species_types\corporate.dm"
-#include "code\modules\mob\living\carbon\human\species_types\dullahan.dm"
-#include "code\modules\mob\living\carbon\human\species_types\felinid.dm"
-#include "code\modules\mob\living\carbon\human\species_types\flypeople.dm"
-#include "code\modules\mob\living\carbon\human\species_types\golems.dm"
-#include "code\modules\mob\living\carbon\human\species_types\humans.dm"
-#include "code\modules\mob\living\carbon\human\species_types\jellypeople.dm"
-#include "code\modules\mob\living\carbon\human\species_types\lizardpeople.dm"
-#include "code\modules\mob\living\carbon\human\species_types\mothmen.dm"
-#include "code\modules\mob\living\carbon\human\species_types\mushpeople.dm"
-#include "code\modules\mob\living\carbon\human\species_types\plasmamen.dm"
-#include "code\modules\mob\living\carbon\human\species_types\podpeople.dm"
-#include "code\modules\mob\living\carbon\human\species_types\shadowpeople.dm"
-#include "code\modules\mob\living\carbon\human\species_types\skeletons.dm"
-#include "code\modules\mob\living\carbon\human\species_types\synths.dm"
-#include "code\modules\mob\living\carbon\human\species_types\vampire.dm"
-#include "code\modules\mob\living\carbon\human\species_types\zombies.dm"
-#include "code\modules\mob\living\carbon\monkey\combat.dm"
-#include "code\modules\mob\living\carbon\monkey\death.dm"
-#include "code\modules\mob\living\carbon\monkey\inventory.dm"
-#include "code\modules\mob\living\carbon\monkey\life.dm"
-#include "code\modules\mob\living\carbon\monkey\monkey.dm"
-#include "code\modules\mob\living\carbon\monkey\monkey_defense.dm"
-#include "code\modules\mob\living\carbon\monkey\punpun.dm"
-#include "code\modules\mob\living\carbon\monkey\update_icons.dm"
-#include "code\modules\mob\living\silicon\damage_procs.dm"
-#include "code\modules\mob\living\silicon\death.dm"
-#include "code\modules\mob\living\silicon\examine.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\silicon_defense.dm"
-#include "code\modules\mob\living\silicon\silicon_movement.dm"
-#include "code\modules\mob\living\silicon\ai\ai.dm"
-#include "code\modules\mob\living\silicon\ai\ai_defense.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\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\multicam.dm"
-#include "code\modules\mob\living\silicon\ai\say.dm"
-#include "code\modules\mob\living\silicon\ai\vox_sounds.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\pai\death.dm"
-#include "code\modules\mob\living\silicon\pai\pai.dm"
-#include "code\modules\mob\living\silicon\pai\pai_defense.dm"
-#include "code\modules\mob\living\silicon\pai\pai_shell.dm"
-#include "code\modules\mob\living\silicon\pai\personality.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\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\robot.dm"
-#include "code\modules\mob\living\silicon\robot\robot_defense.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\say.dm"
-#include "code\modules\mob\living\simple_animal\animal_defense.dm"
-#include "code\modules\mob\living\simple_animal\astral.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\damage_procs.dm"
-#include "code\modules\mob\living\simple_animal\parrot.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\simple_animal_vr.dm"
-#include "code\modules\mob\living\simple_animal\status_procs.dm"
-#include "code\modules\mob\living\simple_animal\bot\bot.dm"
-#include "code\modules\mob\living\simple_animal\bot\cleanbot.dm"
-#include "code\modules\mob\living\simple_animal\bot\construction.dm"
-#include "code\modules\mob\living\simple_animal\bot\ed209bot.dm"
-#include "code\modules\mob\living\simple_animal\bot\firebot.dm"
-#include "code\modules\mob\living\simple_animal\bot\floorbot.dm"
-#include "code\modules\mob\living\simple_animal\bot\honkbot.dm"
-#include "code\modules\mob\living\simple_animal\bot\medbot.dm"
-#include "code\modules\mob\living\simple_animal\bot\mulebot.dm"
-#include "code\modules\mob\living\simple_animal\bot\secbot.dm"
-#include "code\modules\mob\living\simple_animal\bot\SuperBeepsky.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\cockroach.dm"
-#include "code\modules\mob\living\simple_animal\friendly\crab.dm"
-#include "code\modules\mob\living\simple_animal\friendly\dog.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\gondola.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\panda.dm"
-#include "code\modules\mob\living\simple_animal\friendly\penguin.dm"
-#include "code\modules\mob\living\simple_animal\friendly\pet.dm"
-#include "code\modules\mob\living\simple_animal\friendly\sloth.dm"
-#include "code\modules\mob\living\simple_animal\friendly\snake.dm"
-#include "code\modules\mob\living\simple_animal\friendly\drone\_drone.dm"
-#include "code\modules\mob\living\simple_animal\friendly\drone\drones_as_items.dm"
-#include "code\modules\mob\living\simple_animal\friendly\drone\extra_drone_types.dm"
-#include "code\modules\mob\living\simple_animal\friendly\drone\interaction.dm"
-#include "code\modules\mob\living\simple_animal\friendly\drone\inventory.dm"
-#include "code\modules\mob\living\simple_animal\friendly\drone\say.dm"
-#include "code\modules\mob\living\simple_animal\friendly\drone\verbs.dm"
-#include "code\modules\mob\living\simple_animal\friendly\drone\visuals_icons.dm"
-#include "code\modules\mob\living\simple_animal\guardian\guardian.dm"
-#include "code\modules\mob\living\simple_animal\guardian\guardiannaming.dm"
-#include "code\modules\mob\living\simple_animal\guardian\types\assassin.dm"
-#include "code\modules\mob\living\simple_animal\guardian\types\charger.dm"
-#include "code\modules\mob\living\simple_animal\guardian\types\dextrous.dm"
-#include "code\modules\mob\living\simple_animal\guardian\types\explosive.dm"
-#include "code\modules\mob\living\simple_animal\guardian\types\fire.dm"
-#include "code\modules\mob\living\simple_animal\guardian\types\lightning.dm"
-#include "code\modules\mob\living\simple_animal\guardian\types\protector.dm"
-#include "code\modules\mob\living\simple_animal\guardian\types\ranged.dm"
-#include "code\modules\mob\living\simple_animal\guardian\types\standard.dm"
-#include "code\modules\mob\living\simple_animal\guardian\types\support.dm"
-#include "code\modules\mob\living\simple_animal\hostile\alien.dm"
-#include "code\modules\mob\living\simple_animal\hostile\bear.dm"
-#include "code\modules\mob\living\simple_animal\hostile\bees.dm"
-#include "code\modules\mob\living\simple_animal\hostile\carp.dm"
-#include "code\modules\mob\living\simple_animal\hostile\cat_butcher.dm"
-#include "code\modules\mob\living\simple_animal\hostile\eyeballs.dm"
-#include "code\modules\mob\living\simple_animal\hostile\faithless.dm"
-#include "code\modules\mob\living\simple_animal\hostile\floor_cluwne.dm"
-#include "code\modules\mob\living\simple_animal\hostile\giant_spider.dm"
-#include "code\modules\mob\living\simple_animal\hostile\goose.dm"
-#include "code\modules\mob\living\simple_animal\hostile\headcrab.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\illusion.dm"
-#include "code\modules\mob\living\simple_animal\hostile\killertomato.dm"
-#include "code\modules\mob\living\simple_animal\hostile\mecha_pilot.dm"
-#include "code\modules\mob\living\simple_animal\hostile\mimic.dm"
-#include "code\modules\mob\living\simple_animal\hostile\mushroom.dm"
-#include "code\modules\mob\living\simple_animal\hostile\nanotrasen.dm"
-#include "code\modules\mob\living\simple_animal\hostile\netherworld.dm"
-#include "code\modules\mob\living\simple_animal\hostile\pirate.dm"
-#include "code\modules\mob\living\simple_animal\hostile\russian.dm"
-#include "code\modules\mob\living\simple_animal\hostile\sharks.dm"
-#include "code\modules\mob\living\simple_animal\hostile\skeleton.dm"
-#include "code\modules\mob\living\simple_animal\hostile\statue.dm"
-#include "code\modules\mob\living\simple_animal\hostile\stickman.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\venus_human_trap.dm"
-#include "code\modules\mob\living\simple_animal\hostile\wizard.dm"
-#include "code\modules\mob\living\simple_animal\hostile\wumborian_fugu.dm"
-#include "code\modules\mob\living\simple_animal\hostile\zombie.dm"
-#include "code\modules\mob\living\simple_animal\hostile\bosses\boss.dm"
-#include "code\modules\mob\living\simple_animal\hostile\bosses\paperwizard.dm"
-#include "code\modules\mob\living\simple_animal\hostile\gorilla\emotes.dm"
-#include "code\modules\mob\living\simple_animal\hostile\gorilla\gorilla.dm"
-#include "code\modules\mob\living\simple_animal\hostile\gorilla\visuals_icons.dm"
-#include "code\modules\mob\living\simple_animal\hostile\jungle\_jungle_mobs.dm"
-#include "code\modules\mob\living\simple_animal\hostile\jungle\leaper.dm"
-#include "code\modules\mob\living\simple_animal\hostile\jungle\mega_arachnid.dm"
-#include "code\modules\mob\living\simple_animal\hostile\jungle\mook.dm"
-#include "code\modules\mob\living\simple_animal\hostile\jungle\seedling.dm"
-#include "code\modules\mob\living\simple_animal\hostile\megafauna\blood_drunk_miner.dm"
-#include "code\modules\mob\living\simple_animal\hostile\megafauna\bubblegum.dm"
-#include "code\modules\mob\living\simple_animal\hostile\megafauna\colossus.dm"
-#include "code\modules\mob\living\simple_animal\hostile\megafauna\dragon_vore.dm"
-#include "code\modules\mob\living\simple_animal\hostile\megafauna\drake.dm"
-#include "code\modules\mob\living\simple_animal\hostile\megafauna\hierophant.dm"
-#include "code\modules\mob\living\simple_animal\hostile\megafauna\legion.dm"
-#include "code\modules\mob\living\simple_animal\hostile\megafauna\megafauna.dm"
-#include "code\modules\mob\living\simple_animal\hostile\megafauna\swarmer.dm"
-#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\basilisk.dm"
-#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\curse_blob.dm"
-#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\goldgrub.dm"
-#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\goliath.dm"
-#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\gutlunch.dm"
-#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\hivelord.dm"
-#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\mining_mobs.dm"
-#include "code\modules\mob\living\simple_animal\hostile\retaliate\bat.dm"
-#include "code\modules\mob\living\simple_animal\hostile\retaliate\clown.dm"
-#include "code\modules\mob\living\simple_animal\hostile\retaliate\frog.dm"
-#include "code\modules\mob\living\simple_animal\hostile\retaliate\ghost.dm"
-#include "code\modules\mob\living\simple_animal\hostile\retaliate\retaliate.dm"
-#include "code\modules\mob\living\simple_animal\hostile\retaliate\spaceman.dm"
-#include "code\modules\mob\living\simple_animal\slime\death.dm"
-#include "code\modules\mob\living\simple_animal\slime\emote.dm"
-#include "code\modules\mob\living\simple_animal\slime\life.dm"
-#include "code\modules\mob\living\simple_animal\slime\powers.dm"
-#include "code\modules\mob\living\simple_animal\slime\say.dm"
-#include "code\modules\mob\living\simple_animal\slime\slime.dm"
-#include "code\modules\mob\living\simple_animal\slime\subtypes.dm"
-#include "code\modules\modular_computers\laptop_vendor.dm"
-#include "code\modules\modular_computers\computers\item\computer.dm"
-#include "code\modules\modular_computers\computers\item\computer_components.dm"
-#include "code\modules\modular_computers\computers\item\computer_damage.dm"
-#include "code\modules\modular_computers\computers\item\computer_power.dm"
-#include "code\modules\modular_computers\computers\item\computer_ui.dm"
-#include "code\modules\modular_computers\computers\item\laptop.dm"
-#include "code\modules\modular_computers\computers\item\laptop_presets.dm"
-#include "code\modules\modular_computers\computers\item\processor.dm"
-#include "code\modules\modular_computers\computers\item\tablet.dm"
-#include "code\modules\modular_computers\computers\item\tablet_presets.dm"
-#include "code\modules\modular_computers\computers\machinery\console_presets.dm"
-#include "code\modules\modular_computers\computers\machinery\modular_computer.dm"
-#include "code\modules\modular_computers\computers\machinery\modular_console.dm"
-#include "code\modules\modular_computers\file_system\computer_file.dm"
-#include "code\modules\modular_computers\file_system\data.dm"
-#include "code\modules\modular_computers\file_system\program.dm"
-#include "code\modules\modular_computers\file_system\program_events.dm"
-#include "code\modules\modular_computers\file_system\programs\airestorer.dm"
-#include "code\modules\modular_computers\file_system\programs\alarm.dm"
-#include "code\modules\modular_computers\file_system\programs\card.dm"
-#include "code\modules\modular_computers\file_system\programs\configurator.dm"
-#include "code\modules\modular_computers\file_system\programs\file_browser.dm"
-#include "code\modules\modular_computers\file_system\programs\ntdownloader.dm"
-#include "code\modules\modular_computers\file_system\programs\ntmonitor.dm"
-#include "code\modules\modular_computers\file_system\programs\ntnrc_client.dm"
-#include "code\modules\modular_computers\file_system\programs\nttransfer.dm"
-#include "code\modules\modular_computers\file_system\programs\powermonitor.dm"
-#include "code\modules\modular_computers\file_system\programs\sm_monitor.dm"
-#include "code\modules\modular_computers\file_system\programs\antagonist\dos.dm"
-#include "code\modules\modular_computers\file_system\programs\antagonist\revelation.dm"
-#include "code\modules\modular_computers\hardware\_hardware.dm"
-#include "code\modules\modular_computers\hardware\ai_slot.dm"
-#include "code\modules\modular_computers\hardware\battery_module.dm"
-#include "code\modules\modular_computers\hardware\card_slot.dm"
-#include "code\modules\modular_computers\hardware\CPU.dm"
-#include "code\modules\modular_computers\hardware\hard_drive.dm"
-#include "code\modules\modular_computers\hardware\network_card.dm"
-#include "code\modules\modular_computers\hardware\portable_disk.dm"
-#include "code\modules\modular_computers\hardware\printer.dm"
-#include "code\modules\modular_computers\hardware\recharger.dm"
-#include "code\modules\modular_computers\NTNet\NTNRC\conversation.dm"
-#include "code\modules\ninja\__ninjaDefines.dm"
-#include "code\modules\ninja\energy_katana.dm"
-#include "code\modules\ninja\ninja_event.dm"
-#include "code\modules\ninja\outfit.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\ninjaDrainAct.dm"
-#include "code\modules\ninja\suit\shoes.dm"
-#include "code\modules\ninja\suit\suit.dm"
-#include "code\modules\ninja\suit\suit_attackby.dm"
-#include "code\modules\ninja\suit\suit_initialisation.dm"
-#include "code\modules\ninja\suit\suit_process.dm"
-#include "code\modules\ninja\suit\n_suit_verbs\energy_net_nets.dm"
-#include "code\modules\ninja\suit\n_suit_verbs\ninja_adrenaline.dm"
-#include "code\modules\ninja\suit\n_suit_verbs\ninja_cost_check.dm"
-#include "code\modules\ninja\suit\n_suit_verbs\ninja_empulse.dm"
-#include "code\modules\ninja\suit\n_suit_verbs\ninja_net.dm"
-#include "code\modules\ninja\suit\n_suit_verbs\ninja_smoke.dm"
-#include "code\modules\ninja\suit\n_suit_verbs\ninja_stars.dm"
-#include "code\modules\ninja\suit\n_suit_verbs\ninja_stealth.dm"
-#include "code\modules\ninja\suit\n_suit_verbs\ninja_sword_recall.dm"
-#include "code\modules\NTNet\netdata.dm"
-#include "code\modules\NTNet\network.dm"
-#include "code\modules\NTNet\relays.dm"
-#include "code\modules\NTNet\services\_service.dm"
-#include "code\modules\oracle_ui\assets.dm"
-#include "code\modules\oracle_ui\hookup_procs.dm"
-#include "code\modules\oracle_ui\oracle_ui.dm"
-#include "code\modules\oracle_ui\themed.dm"
-#include "code\modules\paperwork\clipboard.dm"
-#include "code\modules\paperwork\contract.dm"
-#include "code\modules\paperwork\filingcabinet.dm"
-#include "code\modules\paperwork\folders.dm"
-#include "code\modules\paperwork\handlabeler.dm"
-#include "code\modules\paperwork\paper.dm"
-#include "code\modules\paperwork\paper_cutter.dm"
-#include "code\modules\paperwork\paper_premade.dm"
-#include "code\modules\paperwork\paperbin.dm"
-#include "code\modules\paperwork\paperplane.dm"
-#include "code\modules\paperwork\pen.dm"
-#include "code\modules\paperwork\photocopier.dm"
-#include "code\modules\paperwork\stamps.dm"
-#include "code\modules\photography\_pictures.dm"
-#include "code\modules\photography\camera\camera.dm"
-#include "code\modules\photography\camera\camera_image_capturing.dm"
-#include "code\modules\photography\camera\film.dm"
-#include "code\modules\photography\camera\other.dm"
-#include "code\modules\photography\camera\silicon_camera.dm"
-#include "code\modules\photography\photos\album.dm"
-#include "code\modules\photography\photos\frame.dm"
-#include "code\modules\photography\photos\photo.dm"
-#include "code\modules\pool\pool_controller.dm"
-#include "code\modules\pool\pool_drain.dm"
-#include "code\modules\pool\pool_effects.dm"
-#include "code\modules\pool\pool_main.dm"
-#include "code\modules\pool\pool_noodles.dm"
-#include "code\modules\pool\pool_structures.dm"
-#include "code\modules\pool\pool_wires.dm"
-#include "code\modules\power\apc.dm"
-#include "code\modules\power\cable.dm"
-#include "code\modules\power\cell.dm"
-#include "code\modules\power\floodlight.dm"
-#include "code\modules\power\generator.dm"
-#include "code\modules\power\gravitygenerator.dm"
-#include "code\modules\power\lighting.dm"
-#include "code\modules\power\monitor.dm"
-#include "code\modules\power\multiz.dm"
-#include "code\modules\power\port_gen.dm"
-#include "code\modules\power\power.dm"
-#include "code\modules\power\powernet.dm"
-#include "code\modules\power\rtg.dm"
-#include "code\modules\power\smes.dm"
-#include "code\modules\power\solar.dm"
-#include "code\modules\power\terminal.dm"
-#include "code\modules\power\tracker.dm"
-#include "code\modules\power\turbine.dm"
-#include "code\modules\power\antimatter\containment_jar.dm"
-#include "code\modules\power\antimatter\control.dm"
-#include "code\modules\power\antimatter\shielding.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_control.dm"
-#include "code\modules\power\singularity\particle_accelerator\particle_emitter.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\mapGeneratorObj.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\cellular.dm"
-#include "code\modules\procedural_mapping\mapGenerators\cult.dm"
-#include "code\modules\procedural_mapping\mapGenerators\lava_river.dm"
-#include "code\modules\procedural_mapping\mapGenerators\lavaland.dm"
-#include "code\modules\procedural_mapping\mapGenerators\nature.dm"
-#include "code\modules\procedural_mapping\mapGenerators\repair.dm"
-#include "code\modules\procedural_mapping\mapGenerators\shuttle.dm"
-#include "code\modules\procedural_mapping\mapGenerators\syndicate.dm"
-#include "code\modules\projectiles\gun.dm"
-#include "code\modules\projectiles\pins.dm"
-#include "code\modules\projectiles\projectile.dm"
-#include "code\modules\projectiles\ammunition\_ammunition.dm"
-#include "code\modules\projectiles\ammunition\_firing.dm"
-#include "code\modules\projectiles\ammunition\ballistic\lmg.dm"
-#include "code\modules\projectiles\ammunition\ballistic\pistol.dm"
-#include "code\modules\projectiles\ammunition\ballistic\revolver.dm"
-#include "code\modules\projectiles\ammunition\ballistic\rifle.dm"
-#include "code\modules\projectiles\ammunition\ballistic\shotgun.dm"
-#include "code\modules\projectiles\ammunition\ballistic\smg.dm"
-#include "code\modules\projectiles\ammunition\ballistic\sniper.dm"
-#include "code\modules\projectiles\ammunition\caseless\_caseless.dm"
-#include "code\modules\projectiles\ammunition\caseless\foam.dm"
-#include "code\modules\projectiles\ammunition\caseless\misc.dm"
-#include "code\modules\projectiles\ammunition\caseless\rocket.dm"
-#include "code\modules\projectiles\ammunition\energy\_energy.dm"
-#include "code\modules\projectiles\ammunition\energy\ebow.dm"
-#include "code\modules\projectiles\ammunition\energy\gravity.dm"
-#include "code\modules\projectiles\ammunition\energy\laser.dm"
-#include "code\modules\projectiles\ammunition\energy\lmg.dm"
-#include "code\modules\projectiles\ammunition\energy\plasma.dm"
-#include "code\modules\projectiles\ammunition\energy\plasma_cit.dm"
-#include "code\modules\projectiles\ammunition\energy\portal.dm"
-#include "code\modules\projectiles\ammunition\energy\special.dm"
-#include "code\modules\projectiles\ammunition\energy\stun.dm"
-#include "code\modules\projectiles\ammunition\special\magic.dm"
-#include "code\modules\projectiles\ammunition\special\syringe.dm"
-#include "code\modules\projectiles\boxes_magazines\_box_magazine.dm"
-#include "code\modules\projectiles\boxes_magazines\ammo_boxes.dm"
-#include "code\modules\projectiles\boxes_magazines\external\grenade.dm"
-#include "code\modules\projectiles\boxes_magazines\external\lmg.dm"
-#include "code\modules\projectiles\boxes_magazines\external\pistol.dm"
-#include "code\modules\projectiles\boxes_magazines\external\rechargable.dm"
-#include "code\modules\projectiles\boxes_magazines\external\rifle.dm"
-#include "code\modules\projectiles\boxes_magazines\external\shotgun.dm"
-#include "code\modules\projectiles\boxes_magazines\external\smg.dm"
-#include "code\modules\projectiles\boxes_magazines\external\sniper.dm"
-#include "code\modules\projectiles\boxes_magazines\external\toy.dm"
-#include "code\modules\projectiles\boxes_magazines\internal\_cylinder.dm"
-#include "code\modules\projectiles\boxes_magazines\internal\_internal.dm"
-#include "code\modules\projectiles\boxes_magazines\internal\grenade.dm"
-#include "code\modules\projectiles\boxes_magazines\internal\misc.dm"
-#include "code\modules\projectiles\boxes_magazines\internal\revolver.dm"
-#include "code\modules\projectiles\boxes_magazines\internal\rifle.dm"
-#include "code\modules\projectiles\boxes_magazines\internal\shotgun.dm"
-#include "code\modules\projectiles\boxes_magazines\internal\toy.dm"
-#include "code\modules\projectiles\guns\ballistic.dm"
-#include "code\modules\projectiles\guns\energy.dm"
-#include "code\modules\projectiles\guns\magic.dm"
-#include "code\modules\projectiles\guns\ballistic\automatic.dm"
-#include "code\modules\projectiles\guns\ballistic\laser_gatling.dm"
-#include "code\modules\projectiles\guns\ballistic\launchers.dm"
-#include "code\modules\projectiles\guns\ballistic\pistol.dm"
-#include "code\modules\projectiles\guns\ballistic\revolver.dm"
-#include "code\modules\projectiles\guns\ballistic\shotgun.dm"
-#include "code\modules\projectiles\guns\ballistic\toy.dm"
-#include "code\modules\projectiles\guns\energy\dueling.dm"
-#include "code\modules\projectiles\guns\energy\energy_gun.dm"
-#include "code\modules\projectiles\guns\energy\kinetic_accelerator.dm"
-#include "code\modules\projectiles\guns\energy\laser.dm"
-#include "code\modules\projectiles\guns\energy\megabuster.dm"
-#include "code\modules\projectiles\guns\energy\mounted.dm"
-#include "code\modules\projectiles\guns\energy\plasma_cit.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\magic\staff.dm"
-#include "code\modules\projectiles\guns\magic\wand.dm"
-#include "code\modules\projectiles\guns\misc\beam_rifle.dm"
-#include "code\modules\projectiles\guns\misc\blastcannon.dm"
-#include "code\modules\projectiles\guns\misc\chem_gun.dm"
-#include "code\modules\projectiles\guns\misc\grenade_launcher.dm"
-#include "code\modules\projectiles\guns\misc\medbeam.dm"
-#include "code\modules\projectiles\guns\misc\syringe_gun.dm"
-#include "code\modules\projectiles\projectile\beams.dm"
-#include "code\modules\projectiles\projectile\bullets.dm"
-#include "code\modules\projectiles\projectile\magic.dm"
-#include "code\modules\projectiles\projectile\megabuster.dm"
-#include "code\modules\projectiles\projectile\plasma.dm"
-#include "code\modules\projectiles\projectile\bullets\_incendiary.dm"
-#include "code\modules\projectiles\projectile\bullets\dart_syringe.dm"
-#include "code\modules\projectiles\projectile\bullets\dnainjector.dm"
-#include "code\modules\projectiles\projectile\bullets\grenade.dm"
-#include "code\modules\projectiles\projectile\bullets\lmg.dm"
-#include "code\modules\projectiles\projectile\bullets\pistol.dm"
-#include "code\modules\projectiles\projectile\bullets\revolver.dm"
-#include "code\modules\projectiles\projectile\bullets\rifle.dm"
-#include "code\modules\projectiles\projectile\bullets\shotgun.dm"
-#include "code\modules\projectiles\projectile\bullets\smg.dm"
-#include "code\modules\projectiles\projectile\bullets\sniper.dm"
-#include "code\modules\projectiles\projectile\bullets\special.dm"
-#include "code\modules\projectiles\projectile\energy\_energy.dm"
-#include "code\modules\projectiles\projectile\energy\ebow.dm"
-#include "code\modules\projectiles\projectile\energy\misc.dm"
-#include "code\modules\projectiles\projectile\energy\net_snare.dm"
-#include "code\modules\projectiles\projectile\energy\nuclear_particle.dm"
-#include "code\modules\projectiles\projectile\energy\stun.dm"
-#include "code\modules\projectiles\projectile\energy\tesla.dm"
-#include "code\modules\projectiles\projectile\magic\spellcard.dm"
-#include "code\modules\projectiles\projectile\reusable\_reusable.dm"
-#include "code\modules\projectiles\projectile\reusable\foam_dart.dm"
-#include "code\modules\projectiles\projectile\reusable\magspear.dm"
-#include "code\modules\projectiles\projectile\special\curse.dm"
-#include "code\modules\projectiles\projectile\special\floral.dm"
-#include "code\modules\projectiles\projectile\special\gravity.dm"
-#include "code\modules\projectiles\projectile\special\hallucination.dm"
-#include "code\modules\projectiles\projectile\special\ion.dm"
-#include "code\modules\projectiles\projectile\special\meteor.dm"
-#include "code\modules\projectiles\projectile\special\mindflayer.dm"
-#include "code\modules\projectiles\projectile\special\neurotoxin.dm"
-#include "code\modules\projectiles\projectile\special\plasma.dm"
-#include "code\modules\projectiles\projectile\special\rocket.dm"
-#include "code\modules\projectiles\projectile\special\temperature.dm"
-#include "code\modules\projectiles\projectile\special\wormhole.dm"
-#include "code\modules\reagents\chem_splash.dm"
-#include "code\modules\reagents\chem_wiki_render.dm"
-#include "code\modules\reagents\reagent_containers.dm"
-#include "code\modules\reagents\reagent_dispenser.dm"
-#include "code\modules\reagents\chemistry\colors.dm"
-#include "code\modules\reagents\chemistry\holder.dm"
-#include "code\modules\reagents\chemistry\reagents.dm"
-#include "code\modules\reagents\chemistry\recipes.dm"
-#include "code\modules\reagents\chemistry\machinery\chem_dispenser.dm"
-#include "code\modules\reagents\chemistry\machinery\chem_heater.dm"
-#include "code\modules\reagents\chemistry\machinery\chem_master.dm"
-#include "code\modules\reagents\chemistry\machinery\chem_synthesizer.dm"
-#include "code\modules\reagents\chemistry\machinery\pandemic.dm"
-#include "code\modules\reagents\chemistry\machinery\reagentgrinder.dm"
-#include "code\modules\reagents\chemistry\machinery\smoke_machine.dm"
-#include "code\modules\reagents\chemistry\reagents\alcohol_reagents.dm"
-#include "code\modules\reagents\chemistry\reagents\blob_reagents.dm"
-#include "code\modules\reagents\chemistry\reagents\drink_reagents.dm"
-#include "code\modules\reagents\chemistry\reagents\drug_reagents.dm"
-#include "code\modules\reagents\chemistry\reagents\food_reagents.dm"
-#include "code\modules\reagents\chemistry\reagents\impure_reagents.dm"
-#include "code\modules\reagents\chemistry\reagents\medicine_reagents.dm"
-#include "code\modules\reagents\chemistry\reagents\other_reagents.dm"
-#include "code\modules\reagents\chemistry\reagents\pyrotechnic_reagents.dm"
-#include "code\modules\reagents\chemistry\reagents\toxin_reagents.dm"
-#include "code\modules\reagents\chemistry\recipes\drugs.dm"
-#include "code\modules\reagents\chemistry\recipes\medicine.dm"
-#include "code\modules\reagents\chemistry\recipes\others.dm"
-#include "code\modules\reagents\chemistry\recipes\pyrotechnics.dm"
-#include "code\modules\reagents\chemistry\recipes\slime_extracts.dm"
-#include "code\modules\reagents\chemistry\recipes\special.dm"
-#include "code\modules\reagents\chemistry\recipes\toxins.dm"
-#include "code\modules\reagents\reagent_containers\blood_pack.dm"
-#include "code\modules\reagents\reagent_containers\borghydro.dm"
-#include "code\modules\reagents\reagent_containers\bottle.dm"
-#include "code\modules\reagents\reagent_containers\chem_pack.dm"
-#include "code\modules\reagents\reagent_containers\Chemical_tongue.dm"
-#include "code\modules\reagents\reagent_containers\dropper.dm"
-#include "code\modules\reagents\reagent_containers\glass.dm"
-#include "code\modules\reagents\reagent_containers\hypospray.dm"
-#include "code\modules\reagents\reagent_containers\hypovial.dm"
-#include "code\modules\reagents\reagent_containers\medspray.dm"
-#include "code\modules\reagents\reagent_containers\patch.dm"
-#include "code\modules\reagents\reagent_containers\pill.dm"
-#include "code\modules\reagents\reagent_containers\rags.dm"
-#include "code\modules\reagents\reagent_containers\sleeper_buffer.dm"
-#include "code\modules\reagents\reagent_containers\spray.dm"
-#include "code\modules\reagents\reagent_containers\syringes.dm"
-#include "code\modules\recycling\conveyor2.dm"
-#include "code\modules\recycling\sortingmachinery.dm"
-#include "code\modules\recycling\disposal\bin.dm"
-#include "code\modules\recycling\disposal\construction.dm"
-#include "code\modules\recycling\disposal\eject.dm"
-#include "code\modules\recycling\disposal\holder.dm"
-#include "code\modules\recycling\disposal\multiz.dm"
-#include "code\modules\recycling\disposal\outlet.dm"
-#include "code\modules\recycling\disposal\pipe.dm"
-#include "code\modules\recycling\disposal\pipe_sorting.dm"
-#include "code\modules\research\designs.dm"
-#include "code\modules\research\destructive_analyzer.dm"
-#include "code\modules\research\experimentor.dm"
-#include "code\modules\research\rdconsole.dm"
-#include "code\modules\research\rdmachines.dm"
-#include "code\modules\research\research_disk.dm"
-#include "code\modules\research\server.dm"
-#include "code\modules\research\stock_parts.dm"
-#include "code\modules\research\designs\AI_module_designs.dm"
-#include "code\modules\research\designs\autobotter_designs.dm"
-#include "code\modules\research\designs\biogenerator_designs.dm"
-#include "code\modules\research\designs\bluespace_designs.dm"
-#include "code\modules\research\designs\computer_part_designs.dm"
-#include "code\modules\research\designs\electronics_designs.dm"
-#include "code\modules\research\designs\equipment_designs.dm"
-#include "code\modules\research\designs\limbgrower_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\nanite_designs.dm"
-#include "code\modules\research\designs\power_designs.dm"
-#include "code\modules\research\designs\smelting_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\designs\autolathe_desings\autolathe_designs_construction.dm"
-#include "code\modules\research\designs\autolathe_desings\autolathe_designs_electronics.dm"
-#include "code\modules\research\designs\autolathe_desings\autolathe_designs_medical_and_dinnerware.dm"
-#include "code\modules\research\designs\autolathe_desings\autolathe_designs_sec_and_hacked.dm"
-#include "code\modules\research\designs\autolathe_desings\autolathe_designs_tcomms_and_misc.dm"
-#include "code\modules\research\designs\autolathe_desings\autolathe_designs_tools.dm"
-#include "code\modules\research\designs\comp_board_designs\comp_board_designs_all_misc.dm"
-#include "code\modules\research\designs\comp_board_designs\comp_board_designs_cargo .dm"
-#include "code\modules\research\designs\comp_board_designs\comp_board_designs_engi.dm"
-#include "code\modules\research\designs\comp_board_designs\comp_board_designs_medical.dm"
-#include "code\modules\research\designs\comp_board_designs\comp_board_designs_sci.dm"
-#include "code\modules\research\designs\comp_board_designs\comp_board_designs_sec.dm"
-#include "code\modules\research\designs\machine_desings\machine_designs_all_misc.dm"
-#include "code\modules\research\designs\machine_desings\machine_designs_cargo.dm"
-#include "code\modules\research\designs\machine_desings\machine_designs_engi.dm"
-#include "code\modules\research\designs\machine_desings\machine_designs_medical.dm"
-#include "code\modules\research\designs\machine_desings\machine_designs_sci.dm"
-#include "code\modules\research\designs\machine_desings\machine_designs_service.dm"
-#include "code\modules\research\machinery\_production.dm"
-#include "code\modules\research\machinery\circuit_imprinter.dm"
-#include "code\modules\research\machinery\departmental_circuit_imprinter.dm"
-#include "code\modules\research\machinery\departmental_protolathe.dm"
-#include "code\modules\research\machinery\departmental_techfab.dm"
-#include "code\modules\research\machinery\protolathe.dm"
-#include "code\modules\research\machinery\techfab.dm"
-#include "code\modules\research\nanites\nanite_chamber.dm"
-#include "code\modules\research\nanites\nanite_chamber_computer.dm"
-#include "code\modules\research\nanites\nanite_cloud_controller.dm"
-#include "code\modules\research\nanites\nanite_hijacker.dm"
-#include "code\modules\research\nanites\nanite_misc_items.dm"
-#include "code\modules\research\nanites\nanite_program_hub.dm"
-#include "code\modules\research\nanites\nanite_programmer.dm"
-#include "code\modules\research\nanites\nanite_programs.dm"
-#include "code\modules\research\nanites\nanite_remote.dm"
-#include "code\modules\research\nanites\program_disks.dm"
-#include "code\modules\research\nanites\public_chamber.dm"
-#include "code\modules\research\nanites\nanite_programs\buffing.dm"
-#include "code\modules\research\nanites\nanite_programs\healing.dm"
-#include "code\modules\research\nanites\nanite_programs\rogue.dm"
-#include "code\modules\research\nanites\nanite_programs\sensor.dm"
-#include "code\modules\research\nanites\nanite_programs\suppression.dm"
-#include "code\modules\research\nanites\nanite_programs\utility.dm"
-#include "code\modules\research\nanites\nanite_programs\weapon.dm"
-#include "code\modules\research\techweb\__techweb_helpers.dm"
-#include "code\modules\research\techweb\_techweb.dm"
-#include "code\modules\research\techweb\_techweb_node.dm"
-#include "code\modules\research\techweb\all_nodes.dm"
-#include "code\modules\research\xenoarch\artifact.dm"
-#include "code\modules\research\xenoarch\artifact_list.dm"
-#include "code\modules\research\xenoarch\strange_rock.dm"
-#include "code\modules\research\xenoarch\tools.dm"
-#include "code\modules\research\xenoarch\xenobotany\grown\amauri.dm"
-#include "code\modules\research\xenoarch\xenobotany\grown\gelthi.dm"
-#include "code\modules\research\xenoarch\xenobotany\grown\jurlmah.dm"
-#include "code\modules\research\xenoarch\xenobotany\grown\nofruit.dm"
-#include "code\modules\research\xenoarch\xenobotany\grown\shand.dm"
-#include "code\modules\research\xenoarch\xenobotany\grown\surik.dm"
-#include "code\modules\research\xenoarch\xenobotany\grown\telriis.dm"
-#include "code\modules\research\xenoarch\xenobotany\grown\thaadra.dm"
-#include "code\modules\research\xenoarch\xenobotany\grown\vale.dm"
-#include "code\modules\research\xenoarch\xenobotany\grown\vaporsac.dm"
-#include "code\modules\research\xenobiology\xenobio_camera.dm"
-#include "code\modules\research\xenobiology\xenobiology.dm"
-#include "code\modules\research\xenobiology\crossbreeding\__corecross.dm"
-#include "code\modules\research\xenobiology\crossbreeding\_clothing.dm"
-#include "code\modules\research\xenobiology\crossbreeding\_misc.dm"
-#include "code\modules\research\xenobiology\crossbreeding\_mobs.dm"
-#include "code\modules\research\xenobiology\crossbreeding\_status_effects.dm"
-#include "code\modules\research\xenobiology\crossbreeding\_weapons.dm"
-#include "code\modules\research\xenobiology\crossbreeding\burning.dm"
-#include "code\modules\research\xenobiology\crossbreeding\charged.dm"
-#include "code\modules\research\xenobiology\crossbreeding\chilling.dm"
-#include "code\modules\research\xenobiology\crossbreeding\consuming.dm"
-#include "code\modules\research\xenobiology\crossbreeding\industrial.dm"
-#include "code\modules\research\xenobiology\crossbreeding\prismatic.dm"
-#include "code\modules\research\xenobiology\crossbreeding\recurring.dm"
-#include "code\modules\research\xenobiology\crossbreeding\regenerative.dm"
-#include "code\modules\research\xenobiology\crossbreeding\reproductive.dm"
-#include "code\modules\research\xenobiology\crossbreeding\selfsustaining.dm"
-#include "code\modules\research\xenobiology\crossbreeding\stabilized.dm"
-#include "code\modules\ruins\lavaland_ruin_code.dm"
-#include "code\modules\ruins\lavalandruin_code\biodome_clown_planet.dm"
-#include "code\modules\ruins\lavalandruin_code\pizzaparty.dm"
-#include "code\modules\ruins\lavalandruin_code\puzzle.dm"
-#include "code\modules\ruins\lavalandruin_code\sloth.dm"
-#include "code\modules\ruins\lavalandruin_code\surface.dm"
-#include "code\modules\ruins\lavalandruin_code\syndicate_base.dm"
-#include "code\modules\ruins\objects_and_mobs\ash_walker_den.dm"
-#include "code\modules\ruins\objects_and_mobs\necropolis_gate.dm"
-#include "code\modules\ruins\objects_and_mobs\sin_ruins.dm"
-#include "code\modules\ruins\spaceruin_code\asteroid4.dm"
-#include "code\modules\ruins\spaceruin_code\bigderelict1.dm"
-#include "code\modules\ruins\spaceruin_code\caravanambush.dm"
-#include "code\modules\ruins\spaceruin_code\cloning_lab.dm"
-#include "code\modules\ruins\spaceruin_code\crashedclownship.dm"
-#include "code\modules\ruins\spaceruin_code\crashedship.dm"
-#include "code\modules\ruins\spaceruin_code\deepstorage.dm"
-#include "code\modules\ruins\spaceruin_code\DJstation.dm"
-#include "code\modules\ruins\spaceruin_code\hilbertshotel.dm"
-#include "code\modules\ruins\spaceruin_code\listeningstation.dm"
-#include "code\modules\ruins\spaceruin_code\miracle.dm"
-#include "code\modules\ruins\spaceruin_code\oldstation.dm"
-#include "code\modules\ruins\spaceruin_code\originalcontent.dm"
-#include "code\modules\ruins\spaceruin_code\spacehotel.dm"
-#include "code\modules\ruins\spaceruin_code\TheDerelict.dm"
-#include "code\modules\ruins\spaceruin_code\whiteshipruin_box.dm"
-#include "code\modules\security_levels\keycard_authentication.dm"
-#include "code\modules\security_levels\security_levels.dm"
-#include "code\modules\shuttle\arrivals.dm"
-#include "code\modules\shuttle\assault_pod.dm"
-#include "code\modules\shuttle\computer.dm"
-#include "code\modules\shuttle\docking.dm"
-#include "code\modules\shuttle\elevator.dm"
-#include "code\modules\shuttle\emergency.dm"
-#include "code\modules\shuttle\ferry.dm"
-#include "code\modules\shuttle\manipulator.dm"
-#include "code\modules\shuttle\monastery.dm"
-#include "code\modules\shuttle\navigation_computer.dm"
-#include "code\modules\shuttle\on_move.dm"
-#include "code\modules\shuttle\ripple.dm"
-#include "code\modules\shuttle\shuttle.dm"
-#include "code\modules\shuttle\shuttle_rotate.dm"
-#include "code\modules\shuttle\special.dm"
-#include "code\modules\shuttle\supply.dm"
-#include "code\modules\shuttle\syndicate.dm"
-#include "code\modules\shuttle\white_ship.dm"
-#include "code\modules\spells\spell.dm"
-#include "code\modules\spells\spell_types\adminbussed.dm"
-#include "code\modules\spells\spell_types\aimed.dm"
-#include "code\modules\spells\spell_types\area_teleport.dm"
-#include "code\modules\spells\spell_types\barnyard.dm"
-#include "code\modules\spells\spell_types\bloodcrawl.dm"
-#include "code\modules\spells\spell_types\charge.dm"
-#include "code\modules\spells\spell_types\conjure.dm"
-#include "code\modules\spells\spell_types\construct_spells.dm"
-#include "code\modules\spells\spell_types\devil.dm"
-#include "code\modules\spells\spell_types\devil_boons.dm"
-#include "code\modules\spells\spell_types\dumbfire.dm"
-#include "code\modules\spells\spell_types\emplosion.dm"
-#include "code\modules\spells\spell_types\ethereal_jaunt.dm"
-#include "code\modules\spells\spell_types\explosion.dm"
-#include "code\modules\spells\spell_types\forcewall.dm"
-#include "code\modules\spells\spell_types\genetic.dm"
-#include "code\modules\spells\spell_types\godhand.dm"
-#include "code\modules\spells\spell_types\infinite_guns.dm"
-#include "code\modules\spells\spell_types\inflict_handler.dm"
-#include "code\modules\spells\spell_types\knock.dm"
-#include "code\modules\spells\spell_types\lichdom.dm"
-#include "code\modules\spells\spell_types\lightning.dm"
-#include "code\modules\spells\spell_types\mime.dm"
-#include "code\modules\spells\spell_types\mind_transfer.dm"
-#include "code\modules\spells\spell_types\projectile.dm"
-#include "code\modules\spells\spell_types\rightandwrong.dm"
-#include "code\modules\spells\spell_types\rod_form.dm"
-#include "code\modules\spells\spell_types\santa.dm"
-#include "code\modules\spells\spell_types\shadow_walk.dm"
-#include "code\modules\spells\spell_types\shapeshift.dm"
-#include "code\modules\spells\spell_types\spacetime_distortion.dm"
-#include "code\modules\spells\spell_types\summonitem.dm"
-#include "code\modules\spells\spell_types\taeclowndo.dm"
-#include "code\modules\spells\spell_types\telepathy.dm"
-#include "code\modules\spells\spell_types\the_traps.dm"
-#include "code\modules\spells\spell_types\touch_attacks.dm"
-#include "code\modules\spells\spell_types\trigger.dm"
-#include "code\modules\spells\spell_types\turf_teleport.dm"
-#include "code\modules\spells\spell_types\voice_of_god.dm"
-#include "code\modules\spells\spell_types\wizard.dm"
-#include "code\modules\station_goals\bsa.dm"
-#include "code\modules\station_goals\dna_vault.dm"
-#include "code\modules\station_goals\shield.dm"
-#include "code\modules\station_goals\station_goal.dm"
-#include "code\modules\surgery\amputation.dm"
-#include "code\modules\surgery\brain_surgery.dm"
-#include "code\modules\surgery\breast_augmentation.dm"
-#include "code\modules\surgery\cavity_implant.dm"
-#include "code\modules\surgery\core_removal.dm"
-#include "code\modules\surgery\coronary_bypass.dm"
-#include "code\modules\surgery\dental_implant.dm"
-#include "code\modules\surgery\embalming.dm"
-#include "code\modules\surgery\experimental_dissection.dm"
-#include "code\modules\surgery\eye_surgery.dm"
-#include "code\modules\surgery\graft_synthtissue.dm"
-#include "code\modules\surgery\healing.dm"
-#include "code\modules\surgery\helpers.dm"
-#include "code\modules\surgery\implant_removal.dm"
-#include "code\modules\surgery\limb_augmentation.dm"
-#include "code\modules\surgery\lipoplasty.dm"
-#include "code\modules\surgery\lobectomy.dm"
-#include "code\modules\surgery\mechanic_steps.dm"
-#include "code\modules\surgery\nutcracker.dm"
-#include "code\modules\surgery\organ_manipulation.dm"
-#include "code\modules\surgery\organic_steps.dm"
-#include "code\modules\surgery\penis_augmentation.dm"
-#include "code\modules\surgery\plastic_surgery.dm"
-#include "code\modules\surgery\prosthetic_replacement.dm"
-#include "code\modules\surgery\remove_embedded_object.dm"
-#include "code\modules\surgery\surgery.dm"
-#include "code\modules\surgery\surgery_step.dm"
-#include "code\modules\surgery\tools.dm"
-#include "code\modules\surgery\advanced\brainwashing.dm"
-#include "code\modules\surgery\advanced\lobotomy.dm"
-#include "code\modules\surgery\advanced\necrotic_revival.dm"
-#include "code\modules\surgery\advanced\pacification.dm"
-#include "code\modules\surgery\advanced\revival.dm"
-#include "code\modules\surgery\advanced\toxichealing.dm"
-#include "code\modules\surgery\advanced\viral_bonding.dm"
-#include "code\modules\surgery\advanced\bioware\bioware.dm"
-#include "code\modules\surgery\advanced\bioware\bioware_surgery.dm"
-#include "code\modules\surgery\advanced\bioware\ligament_hook.dm"
-#include "code\modules\surgery\advanced\bioware\ligament_reinforcement.dm"
-#include "code\modules\surgery\advanced\bioware\muscled_veins.dm"
-#include "code\modules\surgery\advanced\bioware\nerve_grounding.dm"
-#include "code\modules\surgery\advanced\bioware\nerve_splicing.dm"
-#include "code\modules\surgery\advanced\bioware\vein_threading.dm"
-#include "code\modules\surgery\bodyparts\bodyparts.dm"
-#include "code\modules\surgery\bodyparts\broken.dm"
-#include "code\modules\surgery\bodyparts\dismemberment.dm"
-#include "code\modules\surgery\bodyparts\head.dm"
-#include "code\modules\surgery\bodyparts\helpers.dm"
-#include "code\modules\surgery\bodyparts\robot_bodyparts.dm"
-#include "code\modules\surgery\organs\appendix.dm"
-#include "code\modules\surgery\organs\augments_arms.dm"
-#include "code\modules\surgery\organs\augments_chest.dm"
-#include "code\modules\surgery\organs\augments_eyes.dm"
-#include "code\modules\surgery\organs\augments_internal.dm"
-#include "code\modules\surgery\organs\autosurgeon.dm"
-#include "code\modules\surgery\organs\ears.dm"
-#include "code\modules\surgery\organs\eyes.dm"
-#include "code\modules\surgery\organs\heart.dm"
-#include "code\modules\surgery\organs\helpers.dm"
-#include "code\modules\surgery\organs\liver.dm"
-#include "code\modules\surgery\organs\lungs.dm"
-#include "code\modules\surgery\organs\organ_internal.dm"
-#include "code\modules\surgery\organs\stomach.dm"
-#include "code\modules\surgery\organs\tails.dm"
-#include "code\modules\surgery\organs\tongue.dm"
-#include "code\modules\surgery\organs\vocal_cords.dm"
-#include "code\modules\tgs\includes.dm"
-#include "code\modules\tgui\external.dm"
-#include "code\modules\tgui\states.dm"
-#include "code\modules\tgui\subsystem.dm"
-#include "code\modules\tgui\tgui.dm"
-#include "code\modules\tgui\states\admin.dm"
-#include "code\modules\tgui\states\always.dm"
-#include "code\modules\tgui\states\conscious.dm"
-#include "code\modules\tgui\states\contained.dm"
-#include "code\modules\tgui\states\deep_inventory.dm"
-#include "code\modules\tgui\states\default.dm"
-#include "code\modules\tgui\states\hands.dm"
-#include "code\modules\tgui\states\human_adjacent.dm"
-#include "code\modules\tgui\states\inventory.dm"
-#include "code\modules\tgui\states\language_menu.dm"
-#include "code\modules\tgui\states\not_incapacitated.dm"
-#include "code\modules\tgui\states\notcontained.dm"
-#include "code\modules\tgui\states\observer.dm"
-#include "code\modules\tgui\states\physical.dm"
-#include "code\modules\tgui\states\self.dm"
-#include "code\modules\tgui\states\zlevel.dm"
-#include "code\modules\tooltip\tooltip.dm"
-#include "code\modules\unit_tests\_unit_tests.dm"
-#include "code\modules\uplink\uplink_devices.dm"
-#include "code\modules\uplink\uplink_items.dm"
-#include "code\modules\uplink\uplink_purchase_log.dm"
-#include "code\modules\vehicles\_vehicle.dm"
-#include "code\modules\vehicles\atv.dm"
-#include "code\modules\vehicles\bicycle.dm"
-#include "code\modules\vehicles\lavaboat.dm"
-#include "code\modules\vehicles\motorized_wheelchair.dm"
-#include "code\modules\vehicles\pimpin_ride.dm"
-#include "code\modules\vehicles\ridden.dm"
-#include "code\modules\vehicles\scooter.dm"
-#include "code\modules\vehicles\sealed.dm"
-#include "code\modules\vehicles\secway.dm"
-#include "code\modules\vehicles\speedbike.dm"
-#include "code\modules\vehicles\vehicle_actions.dm"
-#include "code\modules\vehicles\vehicle_key.dm"
-#include "code\modules\vehicles\wheelchair.dm"
-#include "code\modules\vehicles\cars\car.dm"
-#include "code\modules\vehicles\cars\clowncar.dm"
-#include "code\modules\vending\_vending.dm"
-#include "code\modules\vending\assist.dm"
-#include "code\modules\vending\autodrobe.dm"
-#include "code\modules\vending\boozeomat.dm"
-#include "code\modules\vending\cartridge.dm"
-#include "code\modules\vending\cigarette.dm"
-#include "code\modules\vending\clothesmate.dm"
-#include "code\modules\vending\coffee.dm"
-#include "code\modules\vending\cola.dm"
-#include "code\modules\vending\drinnerware.dm"
-#include "code\modules\vending\engineering.dm"
-#include "code\modules\vending\engivend.dm"
-#include "code\modules\vending\games.dm"
-#include "code\modules\vending\liberation.dm"
-#include "code\modules\vending\liberation_toy.dm"
-#include "code\modules\vending\magivend.dm"
-#include "code\modules\vending\medical.dm"
-#include "code\modules\vending\medical_wall.dm"
-#include "code\modules\vending\megaseed.dm"
-#include "code\modules\vending\nutrimax.dm"
-#include "code\modules\vending\plasmaresearch.dm"
-#include "code\modules\vending\robotics.dm"
-#include "code\modules\vending\security.dm"
-#include "code\modules\vending\snack.dm"
-#include "code\modules\vending\sovietsoda.dm"
-#include "code\modules\vending\sustenance.dm"
-#include "code\modules\vending\toys.dm"
-#include "code\modules\vending\wardrobes.dm"
-#include "code\modules\vending\youtool.dm"
-#include "code\modules\VR\vr_human.dm"
-#include "code\modules\VR\vr_sleeper.dm"
-#include "code\modules\zombie\items.dm"
-#include "code\modules\zombie\organs.dm"
-#include "hyperstation\code\datums\elements\holder_micro.dm"
-#include "hyperstation\code\datums\mood_events\events.dm"
-#include "hyperstation\code\datums\ruins\lavaland.dm"
-#include "hyperstation\code\datums\traits\good.dm"
-#include "hyperstation\code\datums\traits\neutral.dm"
-#include "hyperstation\code\game\objects\structures\ghost_role_spawners.dm"
-#include "hyperstation\code\gamemode\traitor_lewd.dm"
-#include "hyperstation\code\gamemode\traitor_thief.dm"
-#include "hyperstation\code\gamemode\werewolf\werewolf.dm"
-#include "hyperstation\code\mobs\carrion.dm"
-#include "hyperstation\code\mobs\hugbot.dm"
-#include "hyperstation\code\mobs\mimic.dm"
-#include "hyperstation\code\mobs\werewolf.dm"
-#include "hyperstation\code\modules\traits.dm"
-#include "hyperstation\code\modules\antagonists\werewolf\werewolf.dm"
-#include "hyperstation\code\modules\arousal\arousalhud.dm"
-#include "hyperstation\code\modules\client\loadout\glasses.dm"
-#include "hyperstation\code\modules\client\loadout\tablet.dm"
-#include "hyperstation\code\modules\clothing\head.dm"
-#include "hyperstation\code\modules\clothing\glasses\polychromic_glasses.dm"
-#include "hyperstation\code\modules\clothing\spacesuits\hardsuit.dm"
-#include "hyperstation\code\modules\clothing\suits\misc.dm"
-#include "hyperstation\code\modules\crafting\bounties.dm"
-#include "hyperstation\code\modules\crafting\recipes.dm"
-#include "hyperstation\code\modules\integrated_electronics\input.dm"
-#include "hyperstation\code\modules\mob\mob_helpers.dm"
-#include "hyperstation\code\modules\patreon\patreon.dm"
-#include "hyperstation\code\modules\resize\resizing.dm"
-#include "hyperstation\code\modules\resize\sizechems.dm"
-#include "hyperstation\code\modules\resize\sizegun.dm"
-#include "hyperstation\code\obj\bluespace sewing kit.dm"
-#include "hyperstation\code\obj\condom.dm"
-#include "hyperstation\code\obj\decal.dm"
-#include "hyperstation\code\obj\fluff.dm"
-#include "hyperstation\code\obj\kinkyclothes.dm"
-#include "hyperstation\code\obj\leash.dm"
-#include "hyperstation\code\obj\lunaritems.dm"
-#include "hyperstation\code\obj\milking machine.dm"
-#include "hyperstation\code\obj\plushes.dm"
-#include "hyperstation\code\obj\pregnancytester.dm"
-#include "hyperstation\code\obj\rewards.dm"
-#include "hyperstation\code\obj\rope.dm"
-#include "hyperstation\code\obj\sounding.dm"
-#include "interface\interface.dm"
-#include "interface\menu.dm"
-#include "interface\stylesheet.dm"
-#include "interface\skin.dmf"
-#include "modular_citadel\code\init.dm"
-#include "modular_citadel\code\__HELPERS\list2list.dm"
-#include "modular_citadel\code\__HELPERS\lists.dm"
-#include "modular_citadel\code\__HELPERS\mobs.dm"
-#include "modular_citadel\code\_globalvars\lists\mobs.dm"
-#include "modular_citadel\code\_onclick\click.dm"
-#include "modular_citadel\code\_onclick\item_attack.dm"
-#include "modular_citadel\code\_onclick\other_mobs.dm"
-#include "modular_citadel\code\_onclick\hud\screen_objects.dm"
-#include "modular_citadel\code\_onclick\hud\sprint.dm"
-#include "modular_citadel\code\_onclick\hud\stamina.dm"
-#include "modular_citadel\code\controllers\configuration\entries\general.dm"
-#include "modular_citadel\code\controllers\subsystem\job.dm"
-#include "modular_citadel\code\datums\components\material_container.dm"
-#include "modular_citadel\code\datums\components\phantomthief.dm"
-#include "modular_citadel\code\datums\components\souldeath.dm"
-#include "modular_citadel\code\datums\mood_events\chem_events.dm"
-#include "modular_citadel\code\datums\mood_events\generic_negative_events.dm"
-#include "modular_citadel\code\datums\mood_events\generic_positive_events.dm"
-#include "modular_citadel\code\datums\mood_events\moodular.dm"
-#include "modular_citadel\code\datums\mutations\hulk.dm"
-#include "modular_citadel\code\datums\status_effects\chems.dm"
-#include "modular_citadel\code\datums\status_effects\debuffs.dm"
-#include "modular_citadel\code\datums\traits\negative.dm"
-#include "modular_citadel\code\datums\traits\neutral.dm"
-#include "modular_citadel\code\datums\wires\airlock.dm"
-#include "modular_citadel\code\datums\wires\autoylathe.dm"
-#include "modular_citadel\code\game\area\cit_areas.dm"
-#include "modular_citadel\code\game\gamemodes\gangs\dominator.dm"
-#include "modular_citadel\code\game\gamemodes\gangs\dominator_countdown.dm"
-#include "modular_citadel\code\game\gamemodes\gangs\gang.dm"
-#include "modular_citadel\code\game\gamemodes\gangs\gang_datums.dm"
-#include "modular_citadel\code\game\gamemodes\gangs\gang_decals.dm"
-#include "modular_citadel\code\game\gamemodes\gangs\gang_hud.dm"
-#include "modular_citadel\code\game\gamemodes\gangs\gang_items.dm"
-#include "modular_citadel\code\game\gamemodes\gangs\gang_pen.dm"
-#include "modular_citadel\code\game\gamemodes\gangs\gangs.dm"
-#include "modular_citadel\code\game\gamemodes\gangs\gangtool.dm"
-#include "modular_citadel\code\game\gamemodes\gangs\implant_gang.dm"
-#include "modular_citadel\code\game\gamemodes\miniantags\bot_swarm\swarmer_event.dm"
-#include "modular_citadel\code\game\gamemodes\revolution\revolution.dm"
-#include "modular_citadel\code\game\machinery\cryopod.dm"
-#include "modular_citadel\code\game\machinery\displaycases.dm"
-#include "modular_citadel\code\game\machinery\Sleeper.dm"
-#include "modular_citadel\code\game\machinery\toylathe.dm"
-#include "modular_citadel\code\game\machinery\vending.dm"
-#include "modular_citadel\code\game\machinery\wishgranter.dm"
-#include "modular_citadel\code\game\machinery\doors\airlock.dm"
-#include "modular_citadel\code\game\machinery\doors\airlock_types.dm"
-#include "modular_citadel\code\game\objects\cit_screenshake.dm"
-#include "modular_citadel\code\game\objects\items.dm"
-#include "modular_citadel\code\game\objects\tools.dm"
-#include "modular_citadel\code\game\objects\effects\spawner\spawners.dm"
-#include "modular_citadel\code\game\objects\effects\temporary_visuals\souldeath.dm"
-#include "modular_citadel\code\game\objects\effects\temporary_visuals\projectiles\impact.dm"
-#include "modular_citadel\code\game\objects\effects\temporary_visuals\projectiles\muzzle.dm"
-#include "modular_citadel\code\game\objects\effects\temporary_visuals\projectiles\tracer.dm"
-#include "modular_citadel\code\game\objects\items\balls.dm"
-#include "modular_citadel\code\game\objects\items\boombox.dm"
-#include "modular_citadel\code\game\objects\items\holy_weapons.dm"
-#include "modular_citadel\code\game\objects\items\honk.dm"
-#include "modular_citadel\code\game\objects\items\stunsword.dm"
-#include "modular_citadel\code\game\objects\items\vending_items.dm"
-#include "modular_citadel\code\game\objects\items\circuitboards\machine_circuitboards.dm"
-#include "modular_citadel\code\game\objects\items\devices\aicard.dm"
-#include "modular_citadel\code\game\objects\items\devices\radio\encryptionkey.dm"
-#include "modular_citadel\code\game\objects\items\devices\radio\headset.dm"
-#include "modular_citadel\code\game\objects\items\devices\radio\shockcollar.dm"
-#include "modular_citadel\code\game\objects\items\melee\eutactic_blades.dm"
-#include "modular_citadel\code\game\objects\items\melee\misc.dm"
-#include "modular_citadel\code\game\objects\items\robot\robot_upgrades.dm"
-#include "modular_citadel\code\game\objects\items\storage\firstaid.dm"
-#include "modular_citadel\code\game\objects\structures\tables_racks.dm"
-#include "modular_citadel\code\game\objects\structures\beds_chairs\chair.dm"
-#include "modular_citadel\code\game\objects\structures\beds_chairs\sofa.dm"
-#include "modular_citadel\code\game\objects\structures\crates_lockers\closets\fitness.dm"
-#include "modular_citadel\code\game\objects\structures\crates_lockers\closets\wardrobe.dm"
-#include "modular_citadel\code\game\objects\structures\crates_lockers\closets\secure\citadel_lockers.dm"
-#include "modular_citadel\code\game\turfs\cit_turfs.dm"
-#include "modular_citadel\code\modules\admin\chat_commands.dm"
-#include "modular_citadel\code\modules\admin\holder2.dm"
-#include "modular_citadel\code\modules\admin\secrets.dm"
-#include "modular_citadel\code\modules\arousal\arousal.dm"
-#include "modular_citadel\code\modules\arousal\organs\breasts.dm"
-#include "modular_citadel\code\modules\arousal\organs\eggsack.dm"
-#include "modular_citadel\code\modules\arousal\organs\genitals.dm"
-#include "modular_citadel\code\modules\arousal\organs\genitals_sprite_accessories.dm"
-#include "modular_citadel\code\modules\arousal\organs\ovipositor.dm"
-#include "modular_citadel\code\modules\arousal\organs\penis.dm"
-#include "modular_citadel\code\modules\arousal\organs\testicles.dm"
-#include "modular_citadel\code\modules\arousal\organs\vagina.dm"
-#include "modular_citadel\code\modules\arousal\organs\womb.dm"
-#include "modular_citadel\code\modules\arousal\toys\dildos.dm"
-#include "modular_citadel\code\modules\awaymissions\citadel_ghostrole_spawners.dm"
-#include "modular_citadel\code\modules\cargo\console.dm"
-#include "modular_citadel\code\modules\client\client_defines.dm"
-#include "modular_citadel\code\modules\client\client_procs.dm"
-#include "modular_citadel\code\modules\client\preferences.dm"
-#include "modular_citadel\code\modules\client\preferences_savefile.dm"
-#include "modular_citadel\code\modules\client\preferences_toggles.dm"
-#include "modular_citadel\code\modules\client\loadout\__donator.dm"
-#include "modular_citadel\code\modules\client\loadout\_medical.dm"
-#include "modular_citadel\code\modules\client\loadout\_security.dm"
-#include "modular_citadel\code\modules\client\loadout\_service.dm"
-#include "modular_citadel\code\modules\client\loadout\backpack.dm"
-#include "modular_citadel\code\modules\client\loadout\glasses.dm"
-#include "modular_citadel\code\modules\client\loadout\gloves.dm"
-#include "modular_citadel\code\modules\client\loadout\hands.dm"
-#include "modular_citadel\code\modules\client\loadout\head.dm"
-#include "modular_citadel\code\modules\client\loadout\loadout.dm"
-#include "modular_citadel\code\modules\client\loadout\mask.dm"
-#include "modular_citadel\code\modules\client\loadout\neck.dm"
-#include "modular_citadel\code\modules\client\loadout\shoes.dm"
-#include "modular_citadel\code\modules\client\loadout\suit.dm"
-#include "modular_citadel\code\modules\client\loadout\uniform.dm"
-#include "modular_citadel\code\modules\client\verbs\who.dm"
-#include "modular_citadel\code\modules\clothing\clothing.dm"
-#include "modular_citadel\code\modules\clothing\neck.dm"
-#include "modular_citadel\code\modules\clothing\glasses\phantomthief.dm"
-#include "modular_citadel\code\modules\clothing\head\head.dm"
-#include "modular_citadel\code\modules\clothing\spacesuits\flightsuit.dm"
-#include "modular_citadel\code\modules\clothing\suits\polychromic_cloaks.dm"
-#include "modular_citadel\code\modules\clothing\suits\polychromic_suit.dm"
-#include "modular_citadel\code\modules\clothing\suits\suits.dm"
-#include "modular_citadel\code\modules\clothing\under\polychromic_clothes.dm"
-#include "modular_citadel\code\modules\clothing\under\trek_under.dm"
-#include "modular_citadel\code\modules\clothing\under\turtlenecks.dm"
-#include "modular_citadel\code\modules\clothing\under\under.dm"
-#include "modular_citadel\code\modules\crafting\recipes.dm"
-#include "modular_citadel\code\modules\custom_loadout\custom_items.dm"
-#include "modular_citadel\code\modules\custom_loadout\load_to_mob.dm"
-#include "modular_citadel\code\modules\custom_loadout\read_from_file.dm"
-#include "modular_citadel\code\modules\events\blob.dm"
-#include "modular_citadel\code\modules\events\wizard\magicarp.dm"
-#include "modular_citadel\code\modules\integrated_electronics\subtypes\manipulation.dm"
-#include "modular_citadel\code\modules\jobs\dresscode_values.dm"
-#include "modular_citadel\code\modules\mentor\follow.dm"
-#include "modular_citadel\code\modules\mentor\mentor.dm"
-#include "modular_citadel\code\modules\mentor\mentor_memo.dm"
-#include "modular_citadel\code\modules\mentor\mentor_verbs.dm"
-#include "modular_citadel\code\modules\mentor\mentorhelp.dm"
-#include "modular_citadel\code\modules\mentor\mentorpm.dm"
-#include "modular_citadel\code\modules\mentor\mentorsay.dm"
-#include "modular_citadel\code\modules\mining\mining_ruins.dm"
-#include "modular_citadel\code\modules\mob\cit_emotes.dm"
-#include "modular_citadel\code\modules\mob\dead\new_player\sprite_accessories.dm"
-#include "modular_citadel\code\modules\mob\living\damage_procs.dm"
-#include "modular_citadel\code\modules\mob\living\living.dm"
-#include "modular_citadel\code\modules\mob\living\carbon\carbon.dm"
-#include "modular_citadel\code\modules\mob\living\carbon\damage_procs.dm"
-#include "modular_citadel\code\modules\mob\living\carbon\life.dm"
-#include "modular_citadel\code\modules\mob\living\carbon\reindex_screams.dm"
-#include "modular_citadel\code\modules\mob\living\carbon\human\human.dm"
-#include "modular_citadel\code\modules\mob\living\carbon\human\human_defense.dm"
-#include "modular_citadel\code\modules\mob\living\carbon\human\human_movement.dm"
-#include "modular_citadel\code\modules\mob\living\carbon\human\life.dm"
-#include "modular_citadel\code\modules\mob\living\carbon\human\species.dm"
-#include "modular_citadel\code\modules\mob\living\carbon\human\species_types\furrypeople.dm"
-#include "modular_citadel\code\modules\mob\living\carbon\human\species_types\ipc.dm"
-#include "modular_citadel\code\modules\mob\living\carbon\human\species_types\jellypeople.dm"
-#include "modular_citadel\code\modules\mob\living\silicon\robot\dogborg_equipment.dm"
-#include "modular_citadel\code\modules\mob\living\silicon\robot\robot.dm"
-#include "modular_citadel\code\modules\mob\living\silicon\robot\robot_modules.dm"
-#include "modular_citadel\code\modules\mob\living\silicon\robot\robot_movement.dm"
-#include "modular_citadel\code\modules\mob\living\simple_animal\banana_spider.dm"
-#include "modular_citadel\code\modules\mob\living\simple_animal\kiwi.dm"
-#include "modular_citadel\code\modules\mob\living\simple_animal\simplemob_vore_values.dm"
-#include "modular_citadel\code\modules\power\lighting.dm"
-#include "modular_citadel\code\modules\projectiles\gun.dm"
-#include "modular_citadel\code\modules\projectiles\ammunition\caseless.dm"
-#include "modular_citadel\code\modules\projectiles\ammunition\ballistic\smg\smg.dm"
-#include "modular_citadel\code\modules\projectiles\boxes_magazines\ammo_boxes.dm"
-#include "modular_citadel\code\modules\projectiles\boxes_magazines\external\pistol.dm"
-#include "modular_citadel\code\modules\projectiles\boxes_magazines\external\smg\smg.dm"
-#include "modular_citadel\code\modules\projectiles\bullets\bullets\smg.dm"
-#include "modular_citadel\code\modules\projectiles\guns\pumpenergy.dm"
-#include "modular_citadel\code\modules\projectiles\guns\toys.dm"
-#include "modular_citadel\code\modules\projectiles\guns\ballistic\handguns.dm"
-#include "modular_citadel\code\modules\projectiles\guns\ballistic\magweapon.dm"
-#include "modular_citadel\code\modules\projectiles\guns\ballistic\magweapon_energy.dm"
-#include "modular_citadel\code\modules\projectiles\guns\ballistic\revolver.dm"
-#include "modular_citadel\code\modules\projectiles\guns\ballistic\rifles.dm"
-#include "modular_citadel\code\modules\projectiles\guns\ballistic\spinfusor.dm"
-#include "modular_citadel\code\modules\projectiles\guns\energy\energy_gun.dm"
-#include "modular_citadel\code\modules\projectiles\guns\energy\laser.dm"
-#include "modular_citadel\code\modules\projectiles\projectiles\reusable.dm"
-#include "modular_citadel\code\modules\reagents\chemistry\reagents\astrogen.dm"
-#include "modular_citadel\code\modules\reagents\chemistry\reagents\eigentstasium.dm"
-#include "modular_citadel\code\modules\reagents\chemistry\reagents\enlargement.dm"
-#include "modular_citadel\code\modules\reagents\chemistry\reagents\fermi_reagents.dm"
-#include "modular_citadel\code\modules\reagents\chemistry\reagents\healing.dm"
-#include "modular_citadel\code\modules\reagents\chemistry\reagents\MKUltra.dm"
-#include "modular_citadel\code\modules\reagents\chemistry\reagents\other_reagents.dm"
-#include "modular_citadel\code\modules\reagents\chemistry\reagents\SDGF.dm"
-#include "modular_citadel\code\modules\reagents\chemistry\recipes\fermi.dm"
-#include "modular_citadel\code\modules\reagents\objects\clothes.dm"
-#include "modular_citadel\code\modules\reagents\objects\items.dm"
-#include "modular_citadel\code\modules\reagents\reagents\cit_reagents.dm"
-#include "modular_citadel\code\modules\recycling\disposal\bin.dm"
-#include "modular_citadel\code\modules\research\designs\autoylathe_designs.dm"
-#include "modular_citadel\code\modules\research\designs\machine_designs.dm"
-#include "modular_citadel\code\modules\research\designs\xenobio_designs.dm"
-#include "modular_citadel\code\modules\research\techweb\_techweb.dm"
-#include "modular_citadel\code\modules\research\xenobiology\xenobio_camera.dm"
-#include "modular_citadel\code\modules\vehicles\secway.dm"
-#include "modular_citadel\code\modules\vore\hook-defs_vr.dm"
-#include "modular_citadel\code\modules\vore\persistence.dm"
-#include "modular_citadel\code\modules\vore\trycatch_vr.dm"
-#include "modular_citadel\code\modules\vore\eating\belly_dat_vr.dm"
-#include "modular_citadel\code\modules\vore\eating\belly_obj_vr.dm"
-#include "modular_citadel\code\modules\vore\eating\bellymodes_vr.dm"
-#include "modular_citadel\code\modules\vore\eating\digest_act_vr.dm"
-#include "modular_citadel\code\modules\vore\eating\living_vr.dm"
-#include "modular_citadel\code\modules\vore\eating\vore_vr.dm"
-#include "modular_citadel\code\modules\vore\eating\voreitems.dm"
-#include "modular_citadel\code\modules\vore\eating\vorepanel_vr.dm"
-#include "modular_citadel\interface\skin.dmf"
-#include "yogstation\code\modules\power\energyharvester.dm"
-// END_INCLUDE
+
+// DM Environment file for tgstation.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\_basemap.dm"
+#include "code\_compile_options.dm"
+#include "code\world.dm"
+#include "code\__DEFINES\_globals.dm"
+#include "code\__DEFINES\_protect.dm"
+#include "code\__DEFINES\_tick.dm"
+#include "code\__DEFINES\access.dm"
+#include "code\__DEFINES\admin.dm"
+#include "code\__DEFINES\antagonists.dm"
+#include "code\__DEFINES\atmospherics.dm"
+#include "code\__DEFINES\atom_hud.dm"
+#include "code\__DEFINES\bsql.config.dm"
+#include "code\__DEFINES\bsql.dm"
+#include "code\__DEFINES\callbacks.dm"
+#include "code\__DEFINES\cargo.dm"
+#include "code\__DEFINES\cinematics.dm"
+#include "code\__DEFINES\citadel_defines.dm"
+#include "code\__DEFINES\cleaning.dm"
+#include "code\__DEFINES\clockcult.dm"
+#include "code\__DEFINES\colors.dm"
+#include "code\__DEFINES\combat.dm"
+#include "code\__DEFINES\components.dm"
+#include "code\__DEFINES\configuration.dm"
+#include "code\__DEFINES\construction.dm"
+#include "code\__DEFINES\contracts.dm"
+#include "code\__DEFINES\cult.dm"
+#include "code\__DEFINES\diseases.dm"
+#include "code\__DEFINES\DNA.dm"
+#include "code\__DEFINES\events.dm"
+#include "code\__DEFINES\exports.dm"
+#include "code\__DEFINES\flags.dm"
+#include "code\__DEFINES\food.dm"
+#include "code\__DEFINES\footsteps.dm"
+#include "code\__DEFINES\hud.dm"
+#include "code\__DEFINES\integrated_electronics.dm"
+#include "code\__DEFINES\interaction_flags.dm"
+#include "code\__DEFINES\inventory.dm"
+#include "code\__DEFINES\is_helpers.dm"
+#include "code\__DEFINES\jobs.dm"
+#include "code\__DEFINES\language.dm"
+#include "code\__DEFINES\layers.dm"
+#include "code\__DEFINES\lighting.dm"
+#include "code\__DEFINES\logging.dm"
+#include "code\__DEFINES\machines.dm"
+#include "code\__DEFINES\maps.dm"
+#include "code\__DEFINES\maths.dm"
+#include "code\__DEFINES\MC.dm"
+#include "code\__DEFINES\mecha.dm"
+#include "code\__DEFINES\medal.dm"
+#include "code\__DEFINES\melee.dm"
+#include "code\__DEFINES\menu.dm"
+#include "code\__DEFINES\misc.dm"
+#include "code\__DEFINES\mobs.dm"
+#include "code\__DEFINES\monkeys.dm"
+#include "code\__DEFINES\move_force.dm"
+#include "code\__DEFINES\movement.dm"
+#include "code\__DEFINES\movespeed_modification.dm"
+#include "code\__DEFINES\nanites.dm"
+#include "code\__DEFINES\networks.dm"
+#include "code\__DEFINES\obj_flags.dm"
+#include "code\__DEFINES\pinpointers.dm"
+#include "code\__DEFINES\pipe_construction.dm"
+#include "code\__DEFINES\pool.dm"
+#include "code\__DEFINES\preferences.dm"
+#include "code\__DEFINES\profile.dm"
+#include "code\__DEFINES\qdel.dm"
+#include "code\__DEFINES\radiation.dm"
+#include "code\__DEFINES\radio.dm"
+#include "code\__DEFINES\reactions.dm"
+#include "code\__DEFINES\reagents.dm"
+#include "code\__DEFINES\reagents_specific_heat.dm"
+#include "code\__DEFINES\research.dm"
+#include "code\__DEFINES\robots.dm"
+#include "code\__DEFINES\role_preferences.dm"
+#include "code\__DEFINES\rust_g.config.dm"
+#include "code\__DEFINES\rust_g.dm"
+#include "code\__DEFINES\say.dm"
+#include "code\__DEFINES\shuttles.dm"
+#include "code\__DEFINES\sight.dm"
+#include "code\__DEFINES\sound.dm"
+#include "code\__DEFINES\spaceman_dmm.dm"
+#include "code\__DEFINES\stat.dm"
+#include "code\__DEFINES\stat_tracking.dm"
+#include "code\__DEFINES\status_effects.dm"
+#include "code\__DEFINES\subsystems.dm"
+#include "code\__DEFINES\tgs.config.dm"
+#include "code\__DEFINES\tgs.dm"
+#include "code\__DEFINES\tgui.dm"
+#include "code\__DEFINES\time.dm"
+#include "code\__DEFINES\tools.dm"
+#include "code\__DEFINES\traits.dm"
+#include "code\__DEFINES\turf_flags.dm"
+#include "code\__DEFINES\typeids.dm"
+#include "code\__DEFINES\vehicles.dm"
+#include "code\__DEFINES\voreconstants.dm"
+#include "code\__DEFINES\vv.dm"
+#include "code\__DEFINES\wall_dents.dm"
+#include "code\__DEFINES\wires.dm"
+#include "code\__DEFINES\dcs\signals.dm"
+#include "code\__HELPERS\_cit_helpers.dm"
+#include "code\__HELPERS\_lists.dm"
+#include "code\__HELPERS\_logging.dm"
+#include "code\__HELPERS\_string_lists.dm"
+#include "code\__HELPERS\areas.dm"
+#include "code\__HELPERS\AStar.dm"
+#include "code\__HELPERS\cmp.dm"
+#include "code\__HELPERS\dates.dm"
+#include "code\__HELPERS\dna.dm"
+#include "code\__HELPERS\files.dm"
+#include "code\__HELPERS\game.dm"
+#include "code\__HELPERS\global_lists.dm"
+#include "code\__HELPERS\heap.dm"
+#include "code\__HELPERS\icon_smoothing.dm"
+#include "code\__HELPERS\icons.dm"
+#include "code\__HELPERS\level_traits.dm"
+#include "code\__HELPERS\matrices.dm"
+#include "code\__HELPERS\mobs.dm"
+#include "code\__HELPERS\mouse_control.dm"
+#include "code\__HELPERS\names.dm"
+#include "code\__HELPERS\priority_announce.dm"
+#include "code\__HELPERS\pronouns.dm"
+#include "code\__HELPERS\qdel.dm"
+#include "code\__HELPERS\radiation.dm"
+#include "code\__HELPERS\radio.dm"
+#include "code\__HELPERS\reagents.dm"
+#include "code\__HELPERS\roundend.dm"
+#include "code\__HELPERS\sanitize_values.dm"
+#include "code\__HELPERS\shell.dm"
+#include "code\__HELPERS\stat_tracking.dm"
+#include "code\__HELPERS\text.dm"
+#include "code\__HELPERS\text_vr.dm"
+#include "code\__HELPERS\time.dm"
+#include "code\__HELPERS\type2type.dm"
+#include "code\__HELPERS\type2type_vr.dm"
+#include "code\__HELPERS\typelists.dm"
+#include "code\__HELPERS\unsorted.dm"
+#include "code\__HELPERS\view.dm"
+#include "code\__HELPERS\sorts\__main.dm"
+#include "code\__HELPERS\sorts\InsertSort.dm"
+#include "code\__HELPERS\sorts\MergeSort.dm"
+#include "code\__HELPERS\sorts\TimSort.dm"
+#include "code\_globalvars\bitfields.dm"
+#include "code\_globalvars\configuration.dm"
+#include "code\_globalvars\game_modes.dm"
+#include "code\_globalvars\genetics.dm"
+#include "code\_globalvars\logging.dm"
+#include "code\_globalvars\misc.dm"
+#include "code\_globalvars\regexes.dm"
+#include "code\_globalvars\lists\flavor_misc.dm"
+#include "code\_globalvars\lists\maintenance_loot.dm"
+#include "code\_globalvars\lists\mapping.dm"
+#include "code\_globalvars\lists\medals.dm"
+#include "code\_globalvars\lists\mobs.dm"
+#include "code\_globalvars\lists\names.dm"
+#include "code\_globalvars\lists\objects.dm"
+#include "code\_globalvars\lists\poll_ignore.dm"
+#include "code\_globalvars\lists\typecache.dm"
+#include "code\_globalvars\lists\vending.dm"
+#include "code\_js\byjax.dm"
+#include "code\_js\menus.dm"
+#include "code\_onclick\adjacent.dm"
+#include "code\_onclick\ai.dm"
+#include "code\_onclick\click.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\telekinesis.dm"
+#include "code\_onclick\hud\_defines.dm"
+#include "code\_onclick\hud\action_button.dm"
+#include "code\_onclick\hud\ai.dm"
+#include "code\_onclick\hud\alert.dm"
+#include "code\_onclick\hud\alien.dm"
+#include "code\_onclick\hud\alien_larva.dm"
+#include "code\_onclick\hud\blob_overmind.dm"
+#include "code\_onclick\hud\blobbernauthud.dm"
+#include "code\_onclick\hud\constructs.dm"
+#include "code\_onclick\hud\credits.dm"
+#include "code\_onclick\hud\devil.dm"
+#include "code\_onclick\hud\drones.dm"
+#include "code\_onclick\hud\fullscreen.dm"
+#include "code\_onclick\hud\generic_dextrous.dm"
+#include "code\_onclick\hud\ghost.dm"
+#include "code\_onclick\hud\guardian.dm"
+#include "code\_onclick\hud\hud.dm"
+#include "code\_onclick\hud\hud_cit.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\parallax.dm"
+#include "code\_onclick\hud\picture_in_picture.dm"
+#include "code\_onclick\hud\plane_master.dm"
+#include "code\_onclick\hud\radial.dm"
+#include "code\_onclick\hud\radial_persistent.dm"
+#include "code\_onclick\hud\revenanthud.dm"
+#include "code\_onclick\hud\robot.dm"
+#include "code\_onclick\hud\screen_objects.dm"
+#include "code\_onclick\hud\swarmer.dm"
+#include "code\controllers\admin.dm"
+#include "code\controllers\configuration_citadel.dm"
+#include "code\controllers\controller.dm"
+#include "code\controllers\failsafe.dm"
+#include "code\controllers\globals.dm"
+#include "code\controllers\hooks.dm"
+#include "code\controllers\master.dm"
+#include "code\controllers\subsystem.dm"
+#include "code\controllers\configuration\config_entry.dm"
+#include "code\controllers\configuration\configuration.dm"
+#include "code\controllers\configuration\entries\comms.dm"
+#include "code\controllers\configuration\entries\dbconfig.dm"
+#include "code\controllers\configuration\entries\game_options.dm"
+#include "code\controllers\configuration\entries\general.dm"
+#include "code\controllers\subsystem\acid.dm"
+#include "code\controllers\subsystem\adjacent_air.dm"
+#include "code\controllers\subsystem\air.dm"
+#include "code\controllers\subsystem\air_turfs.dm"
+#include "code\controllers\subsystem\assets.dm"
+#include "code\controllers\subsystem\atoms.dm"
+#include "code\controllers\subsystem\augury.dm"
+#include "code\controllers\subsystem\autotransfer.dm"
+#include "code\controllers\subsystem\blackbox.dm"
+#include "code\controllers\subsystem\chat.dm"
+#include "code\controllers\subsystem\communications.dm"
+#include "code\controllers\subsystem\dbcore.dm"
+#include "code\controllers\subsystem\dcs.dm"
+#include "code\controllers\subsystem\disease.dm"
+#include "code\controllers\subsystem\events.dm"
+#include "code\controllers\subsystem\fire_burning.dm"
+#include "code\controllers\subsystem\garbage.dm"
+#include "code\controllers\subsystem\icon_smooth.dm"
+#include "code\controllers\subsystem\idlenpcpool.dm"
+#include "code\controllers\subsystem\input.dm"
+#include "code\controllers\subsystem\ipintel.dm"
+#include "code\controllers\subsystem\item_spawning.dm"
+#include "code\controllers\subsystem\job.dm"
+#include "code\controllers\subsystem\jukeboxes.dm"
+#include "code\controllers\subsystem\language.dm"
+#include "code\controllers\subsystem\lighting.dm"
+#include "code\controllers\subsystem\machines.dm"
+#include "code\controllers\subsystem\mapping.dm"
+#include "code\controllers\subsystem\medals.dm"
+#include "code\controllers\subsystem\minor_mapping.dm"
+#include "code\controllers\subsystem\mobs.dm"
+#include "code\controllers\subsystem\moods.dm"
+#include "code\controllers\subsystem\nightshift.dm"
+#include "code\controllers\subsystem\npcpool.dm"
+#include "code\controllers\subsystem\overlays.dm"
+#include "code\controllers\subsystem\pai.dm"
+#include "code\controllers\subsystem\parallax.dm"
+#include "code\controllers\subsystem\pathfinder.dm"
+#include "code\controllers\subsystem\persistence.dm"
+#include "code\controllers\subsystem\ping.dm"
+#include "code\controllers\subsystem\radiation.dm"
+#include "code\controllers\subsystem\radio.dm"
+#include "code\controllers\subsystem\research.dm"
+#include "code\controllers\subsystem\server_maint.dm"
+#include "code\controllers\subsystem\shuttle.dm"
+#include "code\controllers\subsystem\spacedrift.dm"
+#include "code\controllers\subsystem\stickyban.dm"
+#include "code\controllers\subsystem\sun.dm"
+#include "code\controllers\subsystem\tgui.dm"
+#include "code\controllers\subsystem\throwing.dm"
+#include "code\controllers\subsystem\ticker.dm"
+#include "code\controllers\subsystem\time_track.dm"
+#include "code\controllers\subsystem\timer.dm"
+#include "code\controllers\subsystem\title.dm"
+#include "code\controllers\subsystem\traumas.dm"
+#include "code\controllers\subsystem\vis_overlays.dm"
+#include "code\controllers\subsystem\vore.dm"
+#include "code\controllers\subsystem\vote.dm"
+#include "code\controllers\subsystem\weather.dm"
+#include "code\controllers\subsystem\processing\chemistry.dm"
+#include "code\controllers\subsystem\processing\circuit.dm"
+#include "code\controllers\subsystem\processing\fastprocess.dm"
+#include "code\controllers\subsystem\processing\fields.dm"
+#include "code\controllers\subsystem\processing\nanites.dm"
+#include "code\controllers\subsystem\processing\networks.dm"
+#include "code\controllers\subsystem\processing\obj.dm"
+#include "code\controllers\subsystem\processing\processing.dm"
+#include "code\controllers\subsystem\processing\projectiles.dm"
+#include "code\controllers\subsystem\processing\quirks.dm"
+#include "code\controllers\subsystem\processing\wet_floors.dm"
+#include "code\datums\action.dm"
+#include "code\datums\ai_laws.dm"
+#include "code\datums\armor.dm"
+#include "code\datums\beam.dm"
+#include "code\datums\browser.dm"
+#include "code\datums\callback.dm"
+#include "code\datums\chatmessage.dm"
+#include "code\datums\cinematic.dm"
+#include "code\datums\dash_weapon.dm"
+#include "code\datums\datacore.dm"
+#include "code\datums\datum.dm"
+#include "code\datums\datumvars.dm"
+#include "code\datums\dna.dm"
+#include "code\datums\dog_fashion.dm"
+#include "code\datums\embedding_behavior.dm"
+#include "code\datums\emotes.dm"
+#include "code\datums\ert.dm"
+#include "code\datums\explosion.dm"
+#include "code\datums\forced_movement.dm"
+#include "code\datums\holocall.dm"
+#include "code\datums\http.dm"
+#include "code\datums\hud.dm"
+#include "code\datums\map_config.dm"
+#include "code\datums\martial.dm"
+#include "code\datums\mind.dm"
+#include "code\datums\mutable_appearance.dm"
+#include "code\datums\numbered_display.dm"
+#include "code\datums\outfit.dm"
+#include "code\datums\position_point_vector.dm"
+#include "code\datums\profiling.dm"
+#include "code\datums\progressbar.dm"
+#include "code\datums\radiation_wave.dm"
+#include "code\datums\recipe.dm"
+#include "code\datums\ruins.dm"
+#include "code\datums\saymode.dm"
+#include "code\datums\shuttles.dm"
+#include "code\datums\soullink.dm"
+#include "code\datums\spawners_menu.dm"
+#include "code\datums\verbs.dm"
+#include "code\datums\weakrefs.dm"
+#include "code\datums\world_topic.dm"
+#include "code\datums\actions\beam_rifle.dm"
+#include "code\datums\actions\ninja.dm"
+#include "code\datums\brain_damage\brain_trauma.dm"
+#include "code\datums\brain_damage\hypnosis.dm"
+#include "code\datums\brain_damage\imaginary_friend.dm"
+#include "code\datums\brain_damage\mild.dm"
+#include "code\datums\brain_damage\phobia.dm"
+#include "code\datums\brain_damage\severe.dm"
+#include "code\datums\brain_damage\special.dm"
+#include "code\datums\brain_damage\split_personality.dm"
+#include "code\datums\components\_component.dm"
+#include "code\datums\components\anti_magic.dm"
+#include "code\datums\components\armor_plate.dm"
+#include "code\datums\components\bouncy.dm"
+#include "code\datums\components\butchering.dm"
+#include "code\datums\components\caltrop.dm"
+#include "code\datums\components\chasm.dm"
+#include "code\datums\components\construction.dm"
+#include "code\datums\components\decal.dm"
+#include "code\datums\components\earprotection.dm"
+#include "code\datums\components\edit_complainer.dm"
+#include "code\datums\components\empprotection.dm"
+#include "code\datums\components\footstep.dm"
+#include "code\datums\components\forced_gravity.dm"
+#include "code\datums\components\infective.dm"
+#include "code\datums\components\jousting.dm"
+#include "code\datums\components\knockoff.dm"
+#include "code\datums\components\lockon_aiming.dm"
+#include "code\datums\components\magnetic_catch.dm"
+#include "code\datums\components\material_container.dm"
+#include "code\datums\components\mirage_border.dm"
+#include "code\datums\components\mood.dm"
+#include "code\datums\components\nanites.dm"
+#include "code\datums\components\ntnet_interface.dm"
+#include "code\datums\components\orbiter.dm"
+#include "code\datums\components\paintable.dm"
+#include "code\datums\components\rad_insulation.dm"
+#include "code\datums\components\radioactive.dm"
+#include "code\datums\components\remote_materials.dm"
+#include "code\datums\components\riding.dm"
+#include "code\datums\components\rotation.dm"
+#include "code\datums\components\signal_redirect.dm"
+#include "code\datums\components\sizzle.dm"
+#include "code\datums\components\slippery.dm"
+#include "code\datums\components\spawner.dm"
+#include "code\datums\components\spooky.dm"
+#include "code\datums\components\squeak.dm"
+#include "code\datums\components\stationloving.dm"
+#include "code\datums\components\swarming.dm"
+#include "code\datums\components\thermite.dm"
+#include "code\datums\components\uplink.dm"
+#include "code\datums\components\wearertargeting.dm"
+#include "code\datums\components\wet_floor.dm"
+#include "code\datums\components\storage\storage.dm"
+#include "code\datums\components\storage\concrete\_concrete.dm"
+#include "code\datums\components\storage\concrete\bag_of_holding.dm"
+#include "code\datums\components\storage\concrete\bluespace.dm"
+#include "code\datums\components\storage\concrete\emergency.dm"
+#include "code\datums\components\storage\concrete\implant.dm"
+#include "code\datums\components\storage\concrete\pockets.dm"
+#include "code\datums\components\storage\concrete\rped.dm"
+#include "code\datums\components\storage\concrete\special.dm"
+#include "code\datums\components\storage\concrete\stack.dm"
+#include "code\datums\diseases\_disease.dm"
+#include "code\datums\diseases\_MobProcs.dm"
+#include "code\datums\diseases\anxiety.dm"
+#include "code\datums\diseases\appendicitis.dm"
+#include "code\datums\diseases\beesease.dm"
+#include "code\datums\diseases\brainrot.dm"
+#include "code\datums\diseases\cold.dm"
+#include "code\datums\diseases\cold9.dm"
+#include "code\datums\diseases\dna_spread.dm"
+#include "code\datums\diseases\fake_gbs.dm"
+#include "code\datums\diseases\flu.dm"
+#include "code\datums\diseases\fluspanish.dm"
+#include "code\datums\diseases\gbs.dm"
+#include "code\datums\diseases\heart_failure.dm"
+#include "code\datums\diseases\magnitis.dm"
+#include "code\datums\diseases\parrotpossession.dm"
+#include "code\datums\diseases\pierrot_throat.dm"
+#include "code\datums\diseases\retrovirus.dm"
+#include "code\datums\diseases\rhumba_beat.dm"
+#include "code\datums\diseases\transformation.dm"
+#include "code\datums\diseases\tuberculosis.dm"
+#include "code\datums\diseases\wizarditis.dm"
+#include "code\datums\diseases\advance\advance.dm"
+#include "code\datums\diseases\advance\presets.dm"
+#include "code\datums\diseases\advance\symptoms\beard.dm"
+#include "code\datums\diseases\advance\symptoms\choking.dm"
+#include "code\datums\diseases\advance\symptoms\confusion.dm"
+#include "code\datums\diseases\advance\symptoms\cough.dm"
+#include "code\datums\diseases\advance\symptoms\deafness.dm"
+#include "code\datums\diseases\advance\symptoms\dizzy.dm"
+#include "code\datums\diseases\advance\symptoms\fever.dm"
+#include "code\datums\diseases\advance\symptoms\fire.dm"
+#include "code\datums\diseases\advance\symptoms\flesh_eating.dm"
+#include "code\datums\diseases\advance\symptoms\hallucigen.dm"
+#include "code\datums\diseases\advance\symptoms\headache.dm"
+#include "code\datums\diseases\advance\symptoms\heal.dm"
+#include "code\datums\diseases\advance\symptoms\itching.dm"
+#include "code\datums\diseases\advance\symptoms\nanites.dm"
+#include "code\datums\diseases\advance\symptoms\narcolepsy.dm"
+#include "code\datums\diseases\advance\symptoms\oxygen.dm"
+#include "code\datums\diseases\advance\symptoms\sensory.dm"
+#include "code\datums\diseases\advance\symptoms\shedding.dm"
+#include "code\datums\diseases\advance\symptoms\shivering.dm"
+#include "code\datums\diseases\advance\symptoms\skin.dm"
+#include "code\datums\diseases\advance\symptoms\sneeze.dm"
+#include "code\datums\diseases\advance\symptoms\species.dm"
+#include "code\datums\diseases\advance\symptoms\symptoms.dm"
+#include "code\datums\diseases\advance\symptoms\viral.dm"
+#include "code\datums\diseases\advance\symptoms\vision.dm"
+#include "code\datums\diseases\advance\symptoms\voice_change.dm"
+#include "code\datums\diseases\advance\symptoms\vomit.dm"
+#include "code\datums\diseases\advance\symptoms\weight.dm"
+#include "code\datums\diseases\advance\symptoms\youth.dm"
+#include "code\datums\elements\_element.dm"
+#include "code\datums\elements\cleaning.dm"
+#include "code\datums\elements\earhealing.dm"
+#include "code\datums\elements\ghost_role_eligibility.dm"
+#include "code\datums\elements\mob_holder.dm"
+#include "code\datums\elements\swimming.dm"
+#include "code\datums\elements\wuv.dm"
+#include "code\datums\helper_datums\events.dm"
+#include "code\datums\helper_datums\getrev.dm"
+#include "code\datums\helper_datums\icon_snapshot.dm"
+#include "code\datums\helper_datums\teleport.dm"
+#include "code\datums\helper_datums\topic_input.dm"
+#include "code\datums\looping_sounds\_looping_sound.dm"
+#include "code\datums\looping_sounds\item_sounds.dm"
+#include "code\datums\looping_sounds\machinery_sounds.dm"
+#include "code\datums\looping_sounds\weather.dm"
+#include "code\datums\martial\boxing.dm"
+#include "code\datums\martial\cqc.dm"
+#include "code\datums\martial\krav_maga.dm"
+#include "code\datums\martial\mushpunch.dm"
+#include "code\datums\martial\plasma_fist.dm"
+#include "code\datums\martial\psychotic_brawl.dm"
+#include "code\datums\martial\sleeping_carp.dm"
+#include "code\datums\martial\wrestling.dm"
+#include "code\datums\mood_events\beauty_events.dm"
+#include "code\datums\mood_events\drink_events.dm"
+#include "code\datums\mood_events\drug_events.dm"
+#include "code\datums\mood_events\generic_negative_events.dm"
+#include "code\datums\mood_events\generic_positive_events.dm"
+#include "code\datums\mood_events\mood_event.dm"
+#include "code\datums\mood_events\needs_events.dm"
+#include "code\datums\mutations\_mutations.dm"
+#include "code\datums\mutations\actions.dm"
+#include "code\datums\mutations\antenna.dm"
+#include "code\datums\mutations\body.dm"
+#include "code\datums\mutations\chameleon.dm"
+#include "code\datums\mutations\cold_resistance.dm"
+#include "code\datums\mutations\combined.dm"
+#include "code\datums\mutations\hulk.dm"
+#include "code\datums\mutations\radioactive.dm"
+#include "code\datums\mutations\sight.dm"
+#include "code\datums\mutations\speech.dm"
+#include "code\datums\mutations\telekinesis.dm"
+#include "code\datums\ruins\lavaland.dm"
+#include "code\datums\ruins\space.dm"
+#include "code\datums\ruins\station.dm"
+#include "code\datums\status_effects\buffs.dm"
+#include "code\datums\status_effects\debuffs.dm"
+#include "code\datums\status_effects\gas.dm"
+#include "code\datums\status_effects\neutral.dm"
+#include "code\datums\status_effects\status_effect.dm"
+#include "code\datums\traits\_quirk.dm"
+#include "code\datums\traits\good.dm"
+#include "code\datums\traits\negative.dm"
+#include "code\datums\traits\neutral.dm"
+#include "code\datums\weather\weather.dm"
+#include "code\datums\weather\weather_types\acid_rain.dm"
+#include "code\datums\weather\weather_types\ash_storm.dm"
+#include "code\datums\weather\weather_types\floor_is_lava.dm"
+#include "code\datums\weather\weather_types\radiation_storm.dm"
+#include "code\datums\weather\weather_types\snow_storm.dm"
+#include "code\datums\wires\_wires.dm"
+#include "code\datums\wires\airalarm.dm"
+#include "code\datums\wires\airlock.dm"
+#include "code\datums\wires\apc.dm"
+#include "code\datums\wires\autolathe.dm"
+#include "code\datums\wires\emitter.dm"
+#include "code\datums\wires\explosive.dm"
+#include "code\datums\wires\microwave.dm"
+#include "code\datums\wires\mulebot.dm"
+#include "code\datums\wires\particle_accelerator.dm"
+#include "code\datums\wires\r_n_d.dm"
+#include "code\datums\wires\radio.dm"
+#include "code\datums\wires\robot.dm"
+#include "code\datums\wires\suit_storage_unit.dm"
+#include "code\datums\wires\syndicatebomb.dm"
+#include "code\datums\wires\tesla_coil.dm"
+#include "code\datums\wires\vending.dm"
+#include "code\game\alternate_appearance.dm"
+#include "code\game\atoms.dm"
+#include "code\game\atoms_movable.dm"
+#include "code\game\communications.dm"
+#include "code\game\data_huds.dm"
+#include "code\game\say.dm"
+#include "code\game\shuttle_engines.dm"
+#include "code\game\sound.dm"
+#include "code\game\world.dm"
+#include "code\game\area\ai_monitored.dm"
+#include "code\game\area\areas.dm"
+#include "code\game\area\Space_Station_13_areas.dm"
+#include "code\game\area\areas\away_content.dm"
+#include "code\game\area\areas\centcom.dm"
+#include "code\game\area\areas\holodeck.dm"
+#include "code\game\area\areas\mining.dm"
+#include "code\game\area\areas\shuttles.dm"
+#include "code\game\area\areas\ruins\_ruins.dm"
+#include "code\game\area\areas\ruins\lavaland.dm"
+#include "code\game\area\areas\ruins\space.dm"
+#include "code\game\area\areas\ruins\templates.dm"
+#include "code\game\gamemodes\events.dm"
+#include "code\game\gamemodes\game_mode.dm"
+#include "code\game\gamemodes\objective.dm"
+#include "code\game\gamemodes\objective_items.dm"
+#include "code\game\gamemodes\bloodsucker\bloodsucker.dm"
+#include "code\game\gamemodes\bloodsucker\hunter.dm"
+#include "code\game\gamemodes\brother\traitor_bro.dm"
+#include "code\game\gamemodes\changeling\changeling.dm"
+#include "code\game\gamemodes\changeling\traitor_chan.dm"
+#include "code\game\gamemodes\clock_cult\clock_cult.dm"
+#include "code\game\gamemodes\clown_ops\bananium_bomb.dm"
+#include "code\game\gamemodes\clown_ops\clown_ops.dm"
+#include "code\game\gamemodes\clown_ops\clown_weapons.dm"
+#include "code\game\gamemodes\cult\cult.dm"
+#include "code\game\gamemodes\devil\devil_game_mode.dm"
+#include "code\game\gamemodes\devil\game_mode.dm"
+#include "code\game\gamemodes\devil\objectives.dm"
+#include "code\game\gamemodes\devil\devil agent\devil_agent.dm"
+#include "code\game\gamemodes\dynamic\dynamic.dm"
+#include "code\game\gamemodes\dynamic\dynamic_rulesets.dm"
+#include "code\game\gamemodes\dynamic\dynamic_rulesets_events.dm"
+#include "code\game\gamemodes\dynamic\dynamic_rulesets_latejoin.dm"
+#include "code\game\gamemodes\dynamic\dynamic_rulesets_midround.dm"
+#include "code\game\gamemodes\dynamic\dynamic_rulesets_roundstart.dm"
+#include "code\game\gamemodes\extended\extended.dm"
+#include "code\game\gamemodes\meteor\meteor.dm"
+#include "code\game\gamemodes\meteor\meteors.dm"
+#include "code\game\gamemodes\monkey\monkey.dm"
+#include "code\game\gamemodes\nuclear\nuclear.dm"
+#include "code\game\gamemodes\overthrow\objective.dm"
+#include "code\game\gamemodes\overthrow\overthrow.dm"
+#include "code\game\gamemodes\revolution\revolution.dm"
+#include "code\game\gamemodes\sandbox\airlock_maker.dm"
+#include "code\game\gamemodes\sandbox\h_sandbox.dm"
+#include "code\game\gamemodes\sandbox\sandbox.dm"
+#include "code\game\gamemodes\traitor\double_agents.dm"
+#include "code\game\gamemodes\traitor\traitor.dm"
+#include "code\game\gamemodes\wizard\wizard.dm"
+#include "code\game\machinery\_machinery.dm"
+#include "code\game\machinery\ai_slipper.dm"
+#include "code\game\machinery\airlock_control.dm"
+#include "code\game\machinery\announcement_system.dm"
+#include "code\game\machinery\aug_manipulator.dm"
+#include "code\game\machinery\autolathe.dm"
+#include "code\game\machinery\bank_machine.dm"
+#include "code\game\machinery\Beacon.dm"
+#include "code\game\machinery\bloodbankgen.dm"
+#include "code\game\machinery\buttons.dm"
+#include "code\game\machinery\cell_charger.dm"
+#include "code\game\machinery\cloning.dm"
+#include "code\game\machinery\constructable_frame.dm"
+#include "code\game\machinery\dance_machine.dm"
+#include "code\game\machinery\defibrillator_mount.dm"
+#include "code\game\machinery\deployable.dm"
+#include "code\game\machinery\dish_drive.dm"
+#include "code\game\machinery\dna_scanner.dm"
+#include "code\game\machinery\doppler_array.dm"
+#include "code\game\machinery\droneDispenser.dm"
+#include "code\game\machinery\exp_cloner.dm"
+#include "code\game\machinery\firealarm.dm"
+#include "code\game\machinery\flasher.dm"
+#include "code\game\machinery\gulag_item_reclaimer.dm"
+#include "code\game\machinery\gulag_teleporter.dm"
+#include "code\game\machinery\harvester.dm"
+#include "code\game\machinery\hologram.dm"
+#include "code\game\machinery\igniter.dm"
+#include "code\game\machinery\iv_drip.dm"
+#include "code\game\machinery\launch_pad.dm"
+#include "code\game\machinery\lightswitch.dm"
+#include "code\game\machinery\limbgrower.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\PDApainter.dm"
+#include "code\game\machinery\posi_alert.dm"
+#include "code\game\machinery\quantum_pad.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\shieldgen.dm"
+#include "code\game\machinery\Sleeper.dm"
+#include "code\game\machinery\slotmachine.dm"
+#include "code\game\machinery\spaceheater.dm"
+#include "code\game\machinery\stasis.dm"
+#include "code\game\machinery\status_display.dm"
+#include "code\game\machinery\suit_storage_unit.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\washing_machine.dm"
+#include "code\game\machinery\wishgranter.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\_computer.dm"
+#include "code\game\machinery\computer\aifixer.dm"
+#include "code\game\machinery\computer\apc_control.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\camera_advanced.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\crew.dm"
+#include "code\game\machinery\computer\dna_console.dm"
+#include "code\game\machinery\computer\launchpad_control.dm"
+#include "code\game\machinery\computer\law.dm"
+#include "code\game\machinery\computer\medical.dm"
+#include "code\game\machinery\computer\Operating.dm"
+#include "code\game\machinery\computer\pod.dm"
+#include "code\game\machinery\computer\robot.dm"
+#include "code\game\machinery\computer\security.dm"
+#include "code\game\machinery\computer\station_alert.dm"
+#include "code\game\machinery\computer\telecrystalconsoles.dm"
+#include "code\game\machinery\computer\teleporter.dm"
+#include "code\game\machinery\computer\arcade\battle.dm"
+#include "code\game\machinery\computer\arcade\minesweeper.dm"
+#include "code\game\machinery\computer\arcade\misc_arcade.dm"
+#include "code\game\machinery\computer\arcade\orion_trail.dm"
+#include "code\game\machinery\computer\prisoner\_prisoner.dm"
+#include "code\game\machinery\computer\prisoner\gulag_teleporter.dm"
+#include "code\game\machinery\computer\prisoner\management.dm"
+#include "code\game\machinery\doors\airlock.dm"
+#include "code\game\machinery\doors\airlock_electronics.dm"
+#include "code\game\machinery\doors\airlock_types.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\passworddoor.dm"
+#include "code\game\machinery\doors\poddoor.dm"
+#include "code\game\machinery\doors\shutters.dm"
+#include "code\game\machinery\doors\unpowered.dm"
+#include "code\game\machinery\doors\windowdoor.dm"
+#include "code\game\machinery\embedded_controller\access_controller.dm"
+#include "code\game\machinery\embedded_controller\airlock_controller.dm"
+#include "code\game\machinery\embedded_controller\embedded_controller_base.dm"
+#include "code\game\machinery\embedded_controller\simple_vent_controller.dm"
+#include "code\game\machinery\pipe\construction.dm"
+#include "code\game\machinery\pipe\pipe_dispenser.dm"
+#include "code\game\machinery\porta_turret\portable_turret.dm"
+#include "code\game\machinery\porta_turret\portable_turret_construct.dm"
+#include "code\game\machinery\porta_turret\portable_turret_cover.dm"
+#include "code\game\machinery\poweredfans\fan_assembly.dm"
+#include "code\game\machinery\poweredfans\poweredfans.dm"
+#include "code\game\machinery\telecomms\broadcasting.dm"
+#include "code\game\machinery\telecomms\machine_interactions.dm"
+#include "code\game\machinery\telecomms\telecomunications.dm"
+#include "code\game\machinery\telecomms\computers\logbrowser.dm"
+#include "code\game\machinery\telecomms\computers\message.dm"
+#include "code\game\machinery\telecomms\computers\telemonitor.dm"
+#include "code\game\machinery\telecomms\machines\allinone.dm"
+#include "code\game\machinery\telecomms\machines\broadcaster.dm"
+#include "code\game\machinery\telecomms\machines\bus.dm"
+#include "code\game\machinery\telecomms\machines\hub.dm"
+#include "code\game\machinery\telecomms\machines\message_server.dm"
+#include "code\game\machinery\telecomms\machines\processor.dm"
+#include "code\game\machinery\telecomms\machines\receiver.dm"
+#include "code\game\machinery\telecomms\machines\relay.dm"
+#include "code\game\machinery\telecomms\machines\server.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_actions.dm"
+#include "code\game\mecha\mecha_construction_paths.dm"
+#include "code\game\mecha\mecha_control_console.dm"
+#include "code\game\mecha\mecha_defense.dm"
+#include "code\game\mecha\mecha_parts.dm"
+#include "code\game\mecha\mecha_topic.dm"
+#include "code\game\mecha\mecha_wreckage.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\neovgre.dm"
+#include "code\game\mecha\combat\phazon.dm"
+#include "code\game\mecha\combat\reticence.dm"
+#include "code\game\mecha\equipment\mecha_equipment.dm"
+#include "code\game\mecha\equipment\tools\medical_tools.dm"
+#include "code\game\mecha\equipment\tools\mining_tools.dm"
+#include "code\game\mecha\equipment\tools\other_tools.dm"
+#include "code\game\mecha\equipment\tools\work_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\items.dm"
+#include "code\game\objects\obj_defense.dm"
+#include "code\game\objects\objs.dm"
+#include "code\game\objects\structures.dm"
+#include "code\game\objects\effects\alien_acid.dm"
+#include "code\game\objects\effects\anomalies.dm"
+#include "code\game\objects\effects\blessing.dm"
+#include "code\game\objects\effects\bump_teleporter.dm"
+#include "code\game\objects\effects\contraband.dm"
+#include "code\game\objects\effects\countdown.dm"
+#include "code\game\objects\effects\effects.dm"
+#include "code\game\objects\effects\forcefields.dm"
+#include "code\game\objects\effects\glowshroom.dm"
+#include "code\game\objects\effects\landmarks.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\proximity.dm"
+#include "code\game\objects\effects\spiders.dm"
+#include "code\game\objects\effects\step_triggers.dm"
+#include "code\game\objects\effects\wanted_poster.dm"
+#include "code\game\objects\effects\decals\cleanable.dm"
+#include "code\game\objects\effects\decals\crayon.dm"
+#include "code\game\objects\effects\decals\decal.dm"
+#include "code\game\objects\effects\decals\misc.dm"
+#include "code\game\objects\effects\decals\remains.dm"
+#include "code\game\objects\effects\decals\cleanable\aliens.dm"
+#include "code\game\objects\effects\decals\cleanable\gibs.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\turfdecal\dirt.dm"
+#include "code\game\objects\effects\decals\turfdecal\markings.dm"
+#include "code\game\objects\effects\decals\turfdecal\tilecoloring.dm"
+#include "code\game\objects\effects\decals\turfdecal\weather.dm"
+#include "code\game\objects\effects\effect_system\effect_system.dm"
+#include "code\game\objects\effects\effect_system\effects_explosion.dm"
+#include "code\game\objects\effects\effect_system\effects_foam.dm"
+#include "code\game\objects\effects\effect_system\effects_other.dm"
+#include "code\game\objects\effects\effect_system\effects_smoke.dm"
+#include "code\game\objects\effects\effect_system\effects_sparks.dm"
+#include "code\game\objects\effects\effect_system\effects_water.dm"
+#include "code\game\objects\effects\spawners\bombspawner.dm"
+#include "code\game\objects\effects\spawners\bundle.dm"
+#include "code\game\objects\effects\spawners\gibspawner.dm"
+#include "code\game\objects\effects\spawners\lootdrop.dm"
+#include "code\game\objects\effects\spawners\structure.dm"
+#include "code\game\objects\effects\spawners\traps.dm"
+#include "code\game\objects\effects\spawners\vaultspawner.dm"
+#include "code\game\objects\effects\spawners\xeno_egg_delivery.dm"
+#include "code\game\objects\effects\temporary_visuals\clockcult.dm"
+#include "code\game\objects\effects\temporary_visuals\cult.dm"
+#include "code\game\objects\effects\temporary_visuals\miscellaneous.dm"
+#include "code\game\objects\effects\temporary_visuals\temporary_visual.dm"
+#include "code\game\objects\effects\temporary_visuals\projectiles\impact.dm"
+#include "code\game\objects\effects\temporary_visuals\projectiles\muzzle.dm"
+#include "code\game\objects\effects\temporary_visuals\projectiles\projectile_effects.dm"
+#include "code\game\objects\effects\temporary_visuals\projectiles\tracer.dm"
+#include "code\game\objects\items\AI_modules.dm"
+#include "code\game\objects\items\airlock_painter.dm"
+#include "code\game\objects\items\apc_frame.dm"
+#include "code\game\objects\items\blueprints.dm"
+#include "code\game\objects\items\body_egg.dm"
+#include "code\game\objects\items\bodybag.dm"
+#include "code\game\objects\items\candle.dm"
+#include "code\game\objects\items\cardboard_cutouts.dm"
+#include "code\game\objects\items\cards_ids.dm"
+#include "code\game\objects\items\charter.dm"
+#include "code\game\objects\items\chromosome.dm"
+#include "code\game\objects\items\chrono_eraser.dm"
+#include "code\game\objects\items\cigs_lighters.dm"
+#include "code\game\objects\items\clown_items.dm"
+#include "code\game\objects\items\control_wand.dm"
+#include "code\game\objects\items\cosmetics.dm"
+#include "code\game\objects\items\courtroom.dm"
+#include "code\game\objects\items\crayons.dm"
+#include "code\game\objects\items\defib.dm"
+#include "code\game\objects\items\dehy_carp.dm"
+#include "code\game\objects\items\dice.dm"
+#include "code\game\objects\items\dna_injector.dm"
+#include "code\game\objects\items\documents.dm"
+#include "code\game\objects\items\eightball.dm"
+#include "code\game\objects\items\extinguisher.dm"
+#include "code\game\objects\items\flamethrower.dm"
+#include "code\game\objects\items\gift.dm"
+#include "code\game\objects\items\granters.dm"
+#include "code\game\objects\items\handcuffs.dm"
+#include "code\game\objects\items\his_grace.dm"
+#include "code\game\objects\items\holosign_creator.dm"
+#include "code\game\objects\items\holy_weapons.dm"
+#include "code\game\objects\items\hot_potato.dm"
+#include "code\game\objects\items\inducer.dm"
+#include "code\game\objects\items\kitchen.dm"
+#include "code\game\objects\items\latexballoon.dm"
+#include "code\game\objects\items\lorebooks.dm"
+#include "code\game\objects\items\manuals.dm"
+#include "code\game\objects\items\mesmetron.dm"
+#include "code\game\objects\items\miscellaneous.dm"
+#include "code\game\objects\items\mop.dm"
+#include "code\game\objects\items\paint.dm"
+#include "code\game\objects\items\paiwire.dm"
+#include "code\game\objects\items\pet_carrier.dm"
+#include "code\game\objects\items\pinpointer.dm"
+#include "code\game\objects\items\plushes.dm"
+#include "code\game\objects\items\pneumaticCannon.dm"
+#include "code\game\objects\items\powerfist.dm"
+#include "code\game\objects\items\RCD.dm"
+#include "code\game\objects\items\RCL.dm"
+#include "code\game\objects\items\religion.dm"
+#include "code\game\objects\items\RPD.dm"
+#include "code\game\objects\items\RSF.dm"
+#include "code\game\objects\items\scrolls.dm"
+#include "code\game\objects\items\sharpener.dm"
+#include "code\game\objects\items\shields.dm"
+#include "code\game\objects\items\shooting_range.dm"
+#include "code\game\objects\items\signs.dm"
+#include "code\game\objects\items\singularityhammer.dm"
+#include "code\game\objects\items\stunbaton.dm"
+#include "code\game\objects\items\taster.dm"
+#include "code\game\objects\items\teleportation.dm"
+#include "code\game\objects\items\teleprod.dm"
+#include "code\game\objects\items\theft_tools.dm"
+#include "code\game\objects\items\toys.dm"
+#include "code\game\objects\items\trash.dm"
+#include "code\game\objects\items\twohanded.dm"
+#include "code\game\objects\items\vending_items.dm"
+#include "code\game\objects\items\weaponry.dm"
+#include "code\game\objects\items\circuitboards\circuitboard.dm"
+#include "code\game\objects\items\circuitboards\computer_circuitboards.dm"
+#include "code\game\objects\items\circuitboards\machine_circuitboards.dm"
+#include "code\game\objects\items\devices\aicard.dm"
+#include "code\game\objects\items\devices\anomaly_neutralizer.dm"
+#include "code\game\objects\items\devices\beacon.dm"
+#include "code\game\objects\items\devices\camera_bug.dm"
+#include "code\game\objects\items\devices\chameleonproj.dm"
+#include "code\game\objects\items\devices\compressionkit.dm"
+#include "code\game\objects\items\devices\desynchronizer.dm"
+#include "code\game\objects\items\devices\dogborg_sleeper.dm"
+#include "code\game\objects\items\devices\doorCharge.dm"
+#include "code\game\objects\items\devices\electroadaptive_pseudocircuit.dm"
+#include "code\game\objects\items\devices\flashlight.dm"
+#include "code\game\objects\items\devices\forcefieldprojector.dm"
+#include "code\game\objects\items\devices\geiger_counter.dm"
+#include "code\game\objects\items\devices\glue.dm"
+#include "code\game\objects\items\devices\gps.dm"
+#include "code\game\objects\items\devices\instruments.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\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\powersink.dm"
+#include "code\game\objects\items\devices\pressureplates.dm"
+#include "code\game\objects\items\devices\quantum_keycard.dm"
+#include "code\game\objects\items\devices\reverse_bear_trap.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\PDA\cart.dm"
+#include "code\game\objects\items\devices\PDA\PDA.dm"
+#include "code\game\objects\items\devices\PDA\PDA_types.dm"
+#include "code\game\objects\items\devices\PDA\radio.dm"
+#include "code\game\objects\items\devices\PDA\virus_cart.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\grenades\antigravity.dm"
+#include "code\game\objects\items\grenades\chem_grenade.dm"
+#include "code\game\objects\items\grenades\clusterbuster.dm"
+#include "code\game\objects\items\grenades\emgrenade.dm"
+#include "code\game\objects\items\grenades\flashbang.dm"
+#include "code\game\objects\items\grenades\ghettobomb.dm"
+#include "code\game\objects\items\grenades\grenade.dm"
+#include "code\game\objects\items\grenades\plastic.dm"
+#include "code\game\objects\items\grenades\smokebomb.dm"
+#include "code\game\objects\items\grenades\spawnergrenade.dm"
+#include "code\game\objects\items\grenades\syndieminibomb.dm"
+#include "code\game\objects\items\implants\implant.dm"
+#include "code\game\objects\items\implants\implant_abductor.dm"
+#include "code\game\objects\items\implants\implant_chem.dm"
+#include "code\game\objects\items\implants\implant_clown.dm"
+#include "code\game\objects\items\implants\implant_exile.dm"
+#include "code\game\objects\items\implants\implant_explosive.dm"
+#include "code\game\objects\items\implants\implant_freedom.dm"
+#include "code\game\objects\items\implants\implant_krav_maga.dm"
+#include "code\game\objects\items\implants\implant_mindshield.dm"
+#include "code\game\objects\items\implants\implant_misc.dm"
+#include "code\game\objects\items\implants\implant_radio.dm"
+#include "code\game\objects\items\implants\implant_slave.dm"
+#include "code\game\objects\items\implants\implant_spell.dm"
+#include "code\game\objects\items\implants\implant_stealth.dm"
+#include "code\game\objects\items\implants\implant_storage.dm"
+#include "code\game\objects\items\implants\implant_track.dm"
+#include "code\game\objects\items\implants\implant_uplink.dm"
+#include "code\game\objects\items\implants\implantcase.dm"
+#include "code\game\objects\items\implants\implantchair.dm"
+#include "code\game\objects\items\implants\implanter.dm"
+#include "code\game\objects\items\implants\implantpad.dm"
+#include "code\game\objects\items\melee\energy.dm"
+#include "code\game\objects\items\melee\misc.dm"
+#include "code\game\objects\items\melee\transforming.dm"
+#include "code\game\objects\items\robot\ai_upgrades.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\bscrystal.dm"
+#include "code\game\objects\items\stacks\cash.dm"
+#include "code\game\objects\items\stacks\medical.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\wrap.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\light.dm"
+#include "code\game\objects\items\stacks\tiles\tile_mineral.dm"
+#include "code\game\objects\items\stacks\tiles\tile_reskinning.dm"
+#include "code\game\objects\items\stacks\tiles\tile_types.dm"
+#include "code\game\objects\items\storage\backpack.dm"
+#include "code\game\objects\items\storage\bags.dm"
+#include "code\game\objects\items\storage\belt.dm"
+#include "code\game\objects\items\storage\book.dm"
+#include "code\game\objects\items\storage\boxes.dm"
+#include "code\game\objects\items\storage\briefcase.dm"
+#include "code\game\objects\items\storage\dakis.dm"
+#include "code\game\objects\items\storage\fancy.dm"
+#include "code\game\objects\items\storage\firstaid.dm"
+#include "code\game\objects\items\storage\lockbox.dm"
+#include "code\game\objects\items\storage\secure.dm"
+#include "code\game\objects\items\storage\storage.dm"
+#include "code\game\objects\items\storage\toolbox.dm"
+#include "code\game\objects\items\storage\uplink_kits.dm"
+#include "code\game\objects\items\storage\wallets.dm"
+#include "code\game\objects\items\tanks\jetpack.dm"
+#include "code\game\objects\items\tanks\tank_types.dm"
+#include "code\game\objects\items\tanks\tanks.dm"
+#include "code\game\objects\items\tanks\watertank.dm"
+#include "code\game\objects\items\tools\crowbar.dm"
+#include "code\game\objects\items\tools\screwdriver.dm"
+#include "code\game\objects\items\tools\weldingtool.dm"
+#include "code\game\objects\items\tools\wirecutters.dm"
+#include "code\game\objects\items\tools\wrench.dm"
+#include "code\game\objects\structures\ai_core.dm"
+#include "code\game\objects\structures\aliens.dm"
+#include "code\game\objects\structures\artstuff.dm"
+#include "code\game\objects\structures\barsigns.dm"
+#include "code\game\objects\structures\bedsheet_bin.dm"
+#include "code\game\objects\structures\destructible_structures.dm"
+#include "code\game\objects\structures\displaycase.dm"
+#include "code\game\objects\structures\divine.dm"
+#include "code\game\objects\structures\door_assembly.dm"
+#include "code\game\objects\structures\door_assembly_types.dm"
+#include "code\game\objects\structures\dresser.dm"
+#include "code\game\objects\structures\electricchair.dm"
+#include "code\game\objects\structures\extinguisher.dm"
+#include "code\game\objects\structures\false_walls.dm"
+#include "code\game\objects\structures\fence.dm"
+#include "code\game\objects\structures\fireaxe.dm"
+#include "code\game\objects\structures\fireplace.dm"
+#include "code\game\objects\structures\flora.dm"
+#include "code\game\objects\structures\fluff.dm"
+#include "code\game\objects\structures\ghost_role_spawners.dm"
+#include "code\game\objects\structures\girders.dm"
+#include "code\game\objects\structures\grille.dm"
+#include "code\game\objects\structures\guillotine.dm"
+#include "code\game\objects\structures\guncase.dm"
+#include "code\game\objects\structures\headpike.dm"
+#include "code\game\objects\structures\hivebot.dm"
+#include "code\game\objects\structures\holosign.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\lattice.dm"
+#include "code\game\objects\structures\life_candle.dm"
+#include "code\game\objects\structures\loom.dm"
+#include "code\game\objects\structures\manned_turret.dm"
+#include "code\game\objects\structures\medkit.dm"
+#include "code\game\objects\structures\memorial.dm"
+#include "code\game\objects\structures\mineral_doors.dm"
+#include "code\game\objects\structures\mirror.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\petrified_statue.dm"
+#include "code\game\objects\structures\plasticflaps.dm"
+#include "code\game\objects\structures\reflector.dm"
+#include "code\game\objects\structures\safe.dm"
+#include "code\game\objects\structures\showcase.dm"
+#include "code\game\objects\structures\spawner.dm"
+#include "code\game\objects\structures\spirit_board.dm"
+#include "code\game\objects\structures\stairs.dm"
+#include "code\game\objects\structures\statues.dm"
+#include "code\game\objects\structures\table_frames.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\traps.dm"
+#include "code\game\objects\structures\trash_piles.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\beds_chairs\alien_nest.dm"
+#include "code\game\objects\structures\beds_chairs\bed.dm"
+#include "code\game\objects\structures\beds_chairs\chair.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\closets\bodybag.dm"
+#include "code\game\objects\structures\crates_lockers\closets\cardboardbox.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\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\engineering.dm"
+#include "code\game\objects\structures\crates_lockers\closets\secure\freezer.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\misc.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\crates_lockers\crates\bins.dm"
+#include "code\game\objects\structures\crates_lockers\crates\critter.dm"
+#include "code\game\objects\structures\crates_lockers\crates\large.dm"
+#include "code\game\objects\structures\crates_lockers\crates\secure.dm"
+#include "code\game\objects\structures\crates_lockers\crates\wooden.dm"
+#include "code\game\objects\structures\lavaland\necropolis_tendril.dm"
+#include "code\game\objects\structures\signs\_signs.dm"
+#include "code\game\objects\structures\signs\signs_departments.dm"
+#include "code\game\objects\structures\signs\signs_maps.dm"
+#include "code\game\objects\structures\signs\signs_plaques.dm"
+#include "code\game\objects\structures\signs\signs_warning.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_construction.dm"
+#include "code\game\objects\structures\transit_tubes\transit_tube_pod.dm"
+#include "code\game\turfs\baseturf_skipover.dm"
+#include "code\game\turfs\change_turf.dm"
+#include "code\game\turfs\closed.dm"
+#include "code\game\turfs\open.dm"
+#include "code\game\turfs\turf.dm"
+#include "code\game\turfs\openspace\openspace.dm"
+#include "code\game\turfs\simulated\chasm.dm"
+#include "code\game\turfs\simulated\dirtystation.dm"
+#include "code\game\turfs\simulated\floor.dm"
+#include "code\game\turfs\simulated\lava.dm"
+#include "code\game\turfs\simulated\minerals.dm"
+#include "code\game\turfs\simulated\reebe_void.dm"
+#include "code\game\turfs\simulated\river.dm"
+#include "code\game\turfs\simulated\walls.dm"
+#include "code\game\turfs\simulated\water.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\mineral_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\simulated\floor\reinf_floor.dm"
+#include "code\game\turfs\simulated\floor\plating\asteroid.dm"
+#include "code\game\turfs\simulated\floor\plating\dirt.dm"
+#include "code\game\turfs\simulated\floor\plating\misc_plating.dm"
+#include "code\game\turfs\simulated\wall\mineral_walls.dm"
+#include "code\game\turfs\simulated\wall\misc_walls.dm"
+#include "code\game\turfs\simulated\wall\reinf_walls.dm"
+#include "code\game\turfs\space\space.dm"
+#include "code\game\turfs\space\transit.dm"
+#include "code\modules\admin\admin.dm"
+#include "code\modules\admin\admin_investigate.dm"
+#include "code\modules\admin\admin_ranks.dm"
+#include "code\modules\admin\admin_verbs.dm"
+#include "code\modules\admin\adminmenu.dm"
+#include "code\modules\admin\antag_panel.dm"
+#include "code\modules\admin\banjob.dm"
+#include "code\modules\admin\chat_commands.dm"
+#include "code\modules\admin\check_antagonists.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\fun_balloon.dm"
+#include "code\modules\admin\holder2.dm"
+#include "code\modules\admin\ipintel.dm"
+#include "code\modules\admin\IsBanned.dm"
+#include "code\modules\admin\NewBan.dm"
+#include "code\modules\admin\permissionedit.dm"
+#include "code\modules\admin\player_panel.dm"
+#include "code\modules\admin\secrets.dm"
+#include "code\modules\admin\sound_emitter.dm"
+#include "code\modules\admin\sql_message_system.dm"
+#include "code\modules\admin\stickyban.dm"
+#include "code\modules\admin\topic.dm"
+#include "code\modules\admin\whitelist.dm"
+#include "code\modules\admin\DB_ban\functions.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\ak47s.dm"
+#include "code\modules\admin\verbs\atmosdebug.dm"
+#include "code\modules\admin\verbs\bluespacearty.dm"
+#include "code\modules\admin\verbs\borgpanel.dm"
+#include "code\modules\admin\verbs\BrokenInhands.dm"
+#include "code\modules\admin\verbs\cinematic.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\fps.dm"
+#include "code\modules\admin\verbs\getlogs.dm"
+#include "code\modules\admin\verbs\individual_logging.dm"
+#include "code\modules\admin\verbs\machine_upgrade.dm"
+#include "code\modules\admin\verbs\manipulate_organs.dm"
+#include "code\modules\admin\verbs\map_template_loadverb.dm"
+#include "code\modules\admin\verbs\mapping.dm"
+#include "code\modules\admin\verbs\maprotation.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\panicbunker.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\reestablish_db_connection.dm"
+#include "code\modules\admin\verbs\spawnfloorcluwne.dm"
+#include "code\modules\admin\verbs\spawnobjasmob.dm"
+#include "code\modules\admin\verbs\tripAI.dm"
+#include "code\modules\admin\verbs\SDQL2\SDQL_2.dm"
+#include "code\modules\admin\verbs\SDQL2\SDQL_2_parser.dm"
+#include "code\modules\admin\verbs\SDQL2\SDQL_2_wrappers.dm"
+#include "code\modules\antagonists\_common\antag_datum.dm"
+#include "code\modules\antagonists\_common\antag_helpers.dm"
+#include "code\modules\antagonists\_common\antag_hud.dm"
+#include "code\modules\antagonists\_common\antag_spawner.dm"
+#include "code\modules\antagonists\_common\antag_team.dm"
+#include "code\modules\antagonists\abductor\abductor.dm"
+#include "code\modules\antagonists\abductor\abductee\abductee_objectives.dm"
+#include "code\modules\antagonists\abductor\equipment\abduction_gear.dm"
+#include "code\modules\antagonists\abductor\equipment\abduction_outfits.dm"
+#include "code\modules\antagonists\abductor\equipment\abduction_surgery.dm"
+#include "code\modules\antagonists\abductor\equipment\gland.dm"
+#include "code\modules\antagonists\abductor\machinery\camera.dm"
+#include "code\modules\antagonists\abductor\machinery\console.dm"
+#include "code\modules\antagonists\abductor\machinery\dispenser.dm"
+#include "code\modules\antagonists\abductor\machinery\experiment.dm"
+#include "code\modules\antagonists\abductor\machinery\pad.dm"
+#include "code\modules\antagonists\blob\blob.dm"
+#include "code\modules\antagonists\blob\blob\blob_report.dm"
+#include "code\modules\antagonists\blob\blob\overmind.dm"
+#include "code\modules\antagonists\blob\blob\powers.dm"
+#include "code\modules\antagonists\blob\blob\theblob.dm"
+#include "code\modules\antagonists\blob\blob\blobs\blob_mobs.dm"
+#include "code\modules\antagonists\blob\blob\blobs\core.dm"
+#include "code\modules\antagonists\blob\blob\blobs\factory.dm"
+#include "code\modules\antagonists\blob\blob\blobs\node.dm"
+#include "code\modules\antagonists\blob\blob\blobs\resource.dm"
+#include "code\modules\antagonists\blob\blob\blobs\shield.dm"
+#include "code\modules\antagonists\bloodsucker\bloodsucker_flaws.dm"
+#include "code\modules\antagonists\bloodsucker\bloodsucker_integration.dm"
+#include "code\modules\antagonists\bloodsucker\bloodsucker_life.dm"
+#include "code\modules\antagonists\bloodsucker\bloodsucker_objectives.dm"
+#include "code\modules\antagonists\bloodsucker\bloodsucker_powers.dm"
+#include "code\modules\antagonists\bloodsucker\bloodsucker_sunlight.dm"
+#include "code\modules\antagonists\bloodsucker\bloodsucker_ui.dm"
+#include "code\modules\antagonists\bloodsucker\datum_bloodsucker.dm"
+#include "code\modules\antagonists\bloodsucker\datum_hunter.dm"
+#include "code\modules\antagonists\bloodsucker\datum_vassal.dm"
+#include "code\modules\antagonists\bloodsucker\items\bloodsucker_organs.dm"
+#include "code\modules\antagonists\bloodsucker\items\bloodsucker_stake.dm"
+#include "code\modules\antagonists\bloodsucker\objects\bloodsucker_coffin.dm"
+#include "code\modules\antagonists\bloodsucker\objects\bloodsucker_crypt.dm"
+#include "code\modules\antagonists\bloodsucker\objects\bloodsucker_lair.dm"
+#include "code\modules\antagonists\bloodsucker\powers\bs_brawn.dm"
+#include "code\modules\antagonists\bloodsucker\powers\bs_cloak.dm"
+#include "code\modules\antagonists\bloodsucker\powers\bs_feed.dm"
+#include "code\modules\antagonists\bloodsucker\powers\bs_fortitude.dm"
+#include "code\modules\antagonists\bloodsucker\powers\bs_gohome.dm"
+#include "code\modules\antagonists\bloodsucker\powers\bs_haste.dm"
+#include "code\modules\antagonists\bloodsucker\powers\bs_lunge.dm"
+#include "code\modules\antagonists\bloodsucker\powers\bs_masquerade.dm"
+#include "code\modules\antagonists\bloodsucker\powers\bs_mesmerize.dm"
+#include "code\modules\antagonists\bloodsucker\powers\bs_trespass.dm"
+#include "code\modules\antagonists\bloodsucker\powers\bs_veil.dm"
+#include "code\modules\antagonists\bloodsucker\powers\v_recuperate.dm"
+#include "code\modules\antagonists\brainwashing\brainwashing.dm"
+#include "code\modules\antagonists\brother\brother.dm"
+#include "code\modules\antagonists\changeling\cellular_emporium.dm"
+#include "code\modules\antagonists\changeling\changeling.dm"
+#include "code\modules\antagonists\changeling\changeling_power.dm"
+#include "code\modules\antagonists\changeling\powers\absorb.dm"
+#include "code\modules\antagonists\changeling\powers\adrenaline.dm"
+#include "code\modules\antagonists\changeling\powers\augmented_eyesight.dm"
+#include "code\modules\antagonists\changeling\powers\biodegrade.dm"
+#include "code\modules\antagonists\changeling\powers\chameleon_skin.dm"
+#include "code\modules\antagonists\changeling\powers\digitalcamo.dm"
+#include "code\modules\antagonists\changeling\powers\fakedeath.dm"
+#include "code\modules\antagonists\changeling\powers\fleshmend.dm"
+#include "code\modules\antagonists\changeling\powers\headcrab.dm"
+#include "code\modules\antagonists\changeling\powers\hivemind.dm"
+#include "code\modules\antagonists\changeling\powers\humanform.dm"
+#include "code\modules\antagonists\changeling\powers\lesserform.dm"
+#include "code\modules\antagonists\changeling\powers\linglink.dm"
+#include "code\modules\antagonists\changeling\powers\mimic_voice.dm"
+#include "code\modules\antagonists\changeling\powers\mutations.dm"
+#include "code\modules\antagonists\changeling\powers\panacea.dm"
+#include "code\modules\antagonists\changeling\powers\pheromone_receptors.dm"
+#include "code\modules\antagonists\changeling\powers\regenerate.dm"
+#include "code\modules\antagonists\changeling\powers\revive.dm"
+#include "code\modules\antagonists\changeling\powers\shriek.dm"
+#include "code\modules\antagonists\changeling\powers\spiders.dm"
+#include "code\modules\antagonists\changeling\powers\strained_muscles.dm"
+#include "code\modules\antagonists\changeling\powers\tiny_prick.dm"
+#include "code\modules\antagonists\changeling\powers\transform.dm"
+#include "code\modules\antagonists\clockcult\clock_effect.dm"
+#include "code\modules\antagonists\clockcult\clock_item.dm"
+#include "code\modules\antagonists\clockcult\clock_mobs.dm"
+#include "code\modules\antagonists\clockcult\clock_scripture.dm"
+#include "code\modules\antagonists\clockcult\clock_structure.dm"
+#include "code\modules\antagonists\clockcult\clockcult.dm"
+#include "code\modules\antagonists\clockcult\clock_effects\city_of_cogs_rift.dm"
+#include "code\modules\antagonists\clockcult\clock_effects\clock_overlay.dm"
+#include "code\modules\antagonists\clockcult\clock_effects\clock_sigils.dm"
+#include "code\modules\antagonists\clockcult\clock_effects\general_markers.dm"
+#include "code\modules\antagonists\clockcult\clock_effects\servant_blocker.dm"
+#include "code\modules\antagonists\clockcult\clock_effects\spatial_gateway.dm"
+#include "code\modules\antagonists\clockcult\clock_helpers\clock_powerdrain.dm"
+#include "code\modules\antagonists\clockcult\clock_helpers\component_helpers.dm"
+#include "code\modules\antagonists\clockcult\clock_helpers\fabrication_helpers.dm"
+#include "code\modules\antagonists\clockcult\clock_helpers\hierophant_network.dm"
+#include "code\modules\antagonists\clockcult\clock_helpers\power_helpers.dm"
+#include "code\modules\antagonists\clockcult\clock_helpers\ratvarian_language.dm"
+#include "code\modules\antagonists\clockcult\clock_helpers\scripture_checks.dm"
+#include "code\modules\antagonists\clockcult\clock_helpers\slab_abilities.dm"
+#include "code\modules\antagonists\clockcult\clock_items\clock_components.dm"
+#include "code\modules\antagonists\clockcult\clock_items\clockwork_armor.dm"
+#include "code\modules\antagonists\clockcult\clock_items\clockwork_slab.dm"
+#include "code\modules\antagonists\clockcult\clock_items\clockwork_weaponry.dm"
+#include "code\modules\antagonists\clockcult\clock_items\construct_chassis.dm"
+#include "code\modules\antagonists\clockcult\clock_items\integration_cog.dm"
+#include "code\modules\antagonists\clockcult\clock_items\judicial_visor.dm"
+#include "code\modules\antagonists\clockcult\clock_items\replica_fabricator.dm"
+#include "code\modules\antagonists\clockcult\clock_items\soul_vessel.dm"
+#include "code\modules\antagonists\clockcult\clock_items\wraith_spectacles.dm"
+#include "code\modules\antagonists\clockcult\clock_items\clock_weapons\_call_weapon.dm"
+#include "code\modules\antagonists\clockcult\clock_items\clock_weapons\ratvarian_spear.dm"
+#include "code\modules\antagonists\clockcult\clock_mobs\_eminence.dm"
+#include "code\modules\antagonists\clockcult\clock_mobs\clockwork_marauder.dm"
+#include "code\modules\antagonists\clockcult\clock_scriptures\scripture_applications.dm"
+#include "code\modules\antagonists\clockcult\clock_scriptures\scripture_cyborg.dm"
+#include "code\modules\antagonists\clockcult\clock_scriptures\scripture_drivers.dm"
+#include "code\modules\antagonists\clockcult\clock_scriptures\scripture_scripts.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\_trap_object.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\ark_of_the_clockwork_justicar.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\clockwork_obelisk.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\eminence_spire.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\heralds_beacon.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\mania_motor.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\ocular_warden.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\ratvar_the_clockwork_justicar.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\reflector.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\stargazer.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\taunting_trail.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\wall_gear.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\trap_triggers\lever.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\trap_triggers\pressure_sensor.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\trap_triggers\pressure_sensor_mech.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\trap_triggers\repeater.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\traps\brass_skewer.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\traps\power_null.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\traps\steam_vent.dm"
+#include "code\modules\antagonists\cult\blood_magic.dm"
+#include "code\modules\antagonists\cult\cult.dm"
+#include "code\modules\antagonists\cult\cult_comms.dm"
+#include "code\modules\antagonists\cult\cult_items.dm"
+#include "code\modules\antagonists\cult\cult_structures.dm"
+#include "code\modules\antagonists\cult\ritual.dm"
+#include "code\modules\antagonists\cult\rune_spawn_action.dm"
+#include "code\modules\antagonists\cult\runes.dm"
+#include "code\modules\antagonists\devil\devil.dm"
+#include "code\modules\antagonists\devil\devil_helpers.dm"
+#include "code\modules\antagonists\devil\imp\imp.dm"
+#include "code\modules\antagonists\devil\sintouched\objectives.dm"
+#include "code\modules\antagonists\devil\sintouched\sintouched.dm"
+#include "code\modules\antagonists\devil\true_devil\_true_devil.dm"
+#include "code\modules\antagonists\devil\true_devil\inventory.dm"
+#include "code\modules\antagonists\disease\disease_abilities.dm"
+#include "code\modules\antagonists\disease\disease_datum.dm"
+#include "code\modules\antagonists\disease\disease_disease.dm"
+#include "code\modules\antagonists\disease\disease_event.dm"
+#include "code\modules\antagonists\disease\disease_mob.dm"
+#include "code\modules\antagonists\ert\ert.dm"
+#include "code\modules\antagonists\greentext\greentext.dm"
+#include "code\modules\antagonists\greybois\greybois.dm"
+#include "code\modules\antagonists\highlander\highlander.dm"
+#include "code\modules\antagonists\monkey\monkey.dm"
+#include "code\modules\antagonists\morph\morph.dm"
+#include "code\modules\antagonists\morph\morph_antag.dm"
+#include "code\modules\antagonists\nightmare\nightmare.dm"
+#include "code\modules\antagonists\ninja\ninja.dm"
+#include "code\modules\antagonists\nukeop\clownop.dm"
+#include "code\modules\antagonists\nukeop\nukeop.dm"
+#include "code\modules\antagonists\nukeop\equipment\nuclear_challenge.dm"
+#include "code\modules\antagonists\nukeop\equipment\nuclearbomb.dm"
+#include "code\modules\antagonists\nukeop\equipment\pinpointer.dm"
+#include "code\modules\antagonists\official\official.dm"
+#include "code\modules\antagonists\overthrow\overthrow.dm"
+#include "code\modules\antagonists\overthrow\overthrow_converter.dm"
+#include "code\modules\antagonists\overthrow\overthrow_team.dm"
+#include "code\modules\antagonists\pirate\pirate.dm"
+#include "code\modules\antagonists\revenant\revenant.dm"
+#include "code\modules\antagonists\revenant\revenant_abilities.dm"
+#include "code\modules\antagonists\revenant\revenant_antag.dm"
+#include "code\modules\antagonists\revenant\revenant_blight.dm"
+#include "code\modules\antagonists\revenant\revenant_spawn_event.dm"
+#include "code\modules\antagonists\revolution\revolution.dm"
+#include "code\modules\antagonists\separatist\separatist.dm"
+#include "code\modules\antagonists\slaughter\slaughter.dm"
+#include "code\modules\antagonists\slaughter\slaughter_antag.dm"
+#include "code\modules\antagonists\slaughter\slaughterevent.dm"
+#include "code\modules\antagonists\survivalist\survivalist.dm"
+#include "code\modules\antagonists\swarmer\swarmer.dm"
+#include "code\modules\antagonists\swarmer\swarmer_event.dm"
+#include "code\modules\antagonists\traitor\datum_traitor.dm"
+#include "code\modules\antagonists\traitor\equipment\Malf_Modules.dm"
+#include "code\modules\antagonists\traitor\IAA\internal_affairs.dm"
+#include "code\modules\antagonists\valentines\heartbreaker.dm"
+#include "code\modules\antagonists\valentines\valentine.dm"
+#include "code\modules\antagonists\wishgranter\wishgranter.dm"
+#include "code\modules\antagonists\wizard\wizard.dm"
+#include "code\modules\antagonists\wizard\equipment\artefact.dm"
+#include "code\modules\antagonists\wizard\equipment\soulstone.dm"
+#include "code\modules\antagonists\wizard\equipment\spellbook.dm"
+#include "code\modules\antagonists\xeno\xeno.dm"
+#include "code\modules\assembly\assembly.dm"
+#include "code\modules\assembly\bomb.dm"
+#include "code\modules\assembly\doorcontrol.dm"
+#include "code\modules\assembly\flash.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\atmospherics\multiz.dm"
+#include "code\modules\atmospherics\environmental\LINDA_fire.dm"
+#include "code\modules\atmospherics\environmental\LINDA_system.dm"
+#include "code\modules\atmospherics\environmental\LINDA_turf_tile.dm"
+#include "code\modules\atmospherics\gasmixtures\gas_mixture.dm"
+#include "code\modules\atmospherics\gasmixtures\gas_types.dm"
+#include "code\modules\atmospherics\gasmixtures\immutable_mixtures.dm"
+#include "code\modules\atmospherics\gasmixtures\reactions.dm"
+#include "code\modules\atmospherics\machinery\airalarm.dm"
+#include "code\modules\atmospherics\machinery\atmosmachinery.dm"
+#include "code\modules\atmospherics\machinery\datum_pipeline.dm"
+#include "code\modules\atmospherics\machinery\components\components_base.dm"
+#include "code\modules\atmospherics\machinery\components\binary_devices\binary_devices.dm"
+#include "code\modules\atmospherics\machinery\components\binary_devices\circulator.dm"
+#include "code\modules\atmospherics\machinery\components\binary_devices\dp_vent_pump.dm"
+#include "code\modules\atmospherics\machinery\components\binary_devices\passive_gate.dm"
+#include "code\modules\atmospherics\machinery\components\binary_devices\pump.dm"
+#include "code\modules\atmospherics\machinery\components\binary_devices\relief_valve.dm"
+#include "code\modules\atmospherics\machinery\components\binary_devices\valve.dm"
+#include "code\modules\atmospherics\machinery\components\binary_devices\volume_pump.dm"
+#include "code\modules\atmospherics\machinery\components\trinary_devices\filter.dm"
+#include "code\modules\atmospherics\machinery\components\trinary_devices\mixer.dm"
+#include "code\modules\atmospherics\machinery\components\trinary_devices\trinary_devices.dm"
+#include "code\modules\atmospherics\machinery\components\unary_devices\cryo.dm"
+#include "code\modules\atmospherics\machinery\components\unary_devices\heat_exchanger.dm"
+#include "code\modules\atmospherics\machinery\components\unary_devices\outlet_injector.dm"
+#include "code\modules\atmospherics\machinery\components\unary_devices\passive_vent.dm"
+#include "code\modules\atmospherics\machinery\components\unary_devices\portables_connector.dm"
+#include "code\modules\atmospherics\machinery\components\unary_devices\relief_valve.dm"
+#include "code\modules\atmospherics\machinery\components\unary_devices\tank.dm"
+#include "code\modules\atmospherics\machinery\components\unary_devices\thermomachine.dm"
+#include "code\modules\atmospherics\machinery\components\unary_devices\unary_devices.dm"
+#include "code\modules\atmospherics\machinery\components\unary_devices\vent_pump.dm"
+#include "code\modules\atmospherics\machinery\components\unary_devices\vent_scrubber.dm"
+#include "code\modules\atmospherics\machinery\other\meter.dm"
+#include "code\modules\atmospherics\machinery\other\miner.dm"
+#include "code\modules\atmospherics\machinery\pipes\layermanifold.dm"
+#include "code\modules\atmospherics\machinery\pipes\manifold.dm"
+#include "code\modules\atmospherics\machinery\pipes\manifold4w.dm"
+#include "code\modules\atmospherics\machinery\pipes\mapping.dm"
+#include "code\modules\atmospherics\machinery\pipes\pipes.dm"
+#include "code\modules\atmospherics\machinery\pipes\simple.dm"
+#include "code\modules\atmospherics\machinery\pipes\heat_exchange\he_pipes.dm"
+#include "code\modules\atmospherics\machinery\pipes\heat_exchange\junction.dm"
+#include "code\modules\atmospherics\machinery\pipes\heat_exchange\manifold.dm"
+#include "code\modules\atmospherics\machinery\pipes\heat_exchange\manifold4w.dm"
+#include "code\modules\atmospherics\machinery\pipes\heat_exchange\simple.dm"
+#include "code\modules\atmospherics\machinery\portable\canister.dm"
+#include "code\modules\atmospherics\machinery\portable\portable_atmospherics.dm"
+#include "code\modules\atmospherics\machinery\portable\pump.dm"
+#include "code\modules\atmospherics\machinery\portable\scrubber.dm"
+#include "code\modules\awaymissions\away_props.dm"
+#include "code\modules\awaymissions\bluespaceartillery.dm"
+#include "code\modules\awaymissions\capture_the_flag.dm"
+#include "code\modules\awaymissions\corpse.dm"
+#include "code\modules\awaymissions\exile.dm"
+#include "code\modules\awaymissions\gateway.dm"
+#include "code\modules\awaymissions\pamphlet.dm"
+#include "code\modules\awaymissions\signpost.dm"
+#include "code\modules\awaymissions\super_secret_room.dm"
+#include "code\modules\awaymissions\zlevel.dm"
+#include "code\modules\awaymissions\mission_code\Academy.dm"
+#include "code\modules\awaymissions\mission_code\Cabin.dm"
+#include "code\modules\awaymissions\mission_code\caves.dm"
+#include "code\modules\awaymissions\mission_code\centcomAway.dm"
+#include "code\modules\awaymissions\mission_code\challenge.dm"
+#include "code\modules\awaymissions\mission_code\moonoutpost19.dm"
+#include "code\modules\awaymissions\mission_code\murderdome.dm"
+#include "code\modules\awaymissions\mission_code\research.dm"
+#include "code\modules\awaymissions\mission_code\snowdin.dm"
+#include "code\modules\awaymissions\mission_code\spacebattle.dm"
+#include "code\modules\awaymissions\mission_code\stationCollision.dm"
+#include "code\modules\awaymissions\mission_code\undergroundoutpost45.dm"
+#include "code\modules\awaymissions\mission_code\wildwest.dm"
+#include "code\modules\bsql\includes.dm"
+#include "code\modules\buildmode\bm_mode.dm"
+#include "code\modules\buildmode\buildmode.dm"
+#include "code\modules\buildmode\buttons.dm"
+#include "code\modules\buildmode\effects\line.dm"
+#include "code\modules\buildmode\submodes\advanced.dm"
+#include "code\modules\buildmode\submodes\area_edit.dm"
+#include "code\modules\buildmode\submodes\basic.dm"
+#include "code\modules\buildmode\submodes\boom.dm"
+#include "code\modules\buildmode\submodes\copy.dm"
+#include "code\modules\buildmode\submodes\fill.dm"
+#include "code\modules\buildmode\submodes\mapgen.dm"
+#include "code\modules\buildmode\submodes\throwing.dm"
+#include "code\modules\buildmode\submodes\variable_edit.dm"
+#include "code\modules\cargo\bounty.dm"
+#include "code\modules\cargo\bounty_console.dm"
+#include "code\modules\cargo\centcom_podlauncher.dm"
+#include "code\modules\cargo\console.dm"
+#include "code\modules\cargo\export_scanner.dm"
+#include "code\modules\cargo\exports.dm"
+#include "code\modules\cargo\expressconsole.dm"
+#include "code\modules\cargo\gondolapod.dm"
+#include "code\modules\cargo\order.dm"
+#include "code\modules\cargo\packs.dm"
+#include "code\modules\cargo\supplypod.dm"
+#include "code\modules\cargo\supplypod_beacon.dm"
+#include "code\modules\cargo\bounties\assistant.dm"
+#include "code\modules\cargo\bounties\botany.dm"
+#include "code\modules\cargo\bounties\chef.dm"
+#include "code\modules\cargo\bounties\engineering.dm"
+#include "code\modules\cargo\bounties\item.dm"
+#include "code\modules\cargo\bounties\mech.dm"
+#include "code\modules\cargo\bounties\medical.dm"
+#include "code\modules\cargo\bounties\mining.dm"
+#include "code\modules\cargo\bounties\reagent.dm"
+#include "code\modules\cargo\bounties\science.dm"
+#include "code\modules\cargo\bounties\security.dm"
+#include "code\modules\cargo\bounties\slime.dm"
+#include "code\modules\cargo\bounties\special.dm"
+#include "code\modules\cargo\bounties\virus.dm"
+#include "code\modules\cargo\exports\food_wine.dm"
+#include "code\modules\cargo\exports\gear.dm"
+#include "code\modules\cargo\exports\large_objects.dm"
+#include "code\modules\cargo\exports\manifest.dm"
+#include "code\modules\cargo\exports\materials.dm"
+#include "code\modules\cargo\exports\organs_robotics.dm"
+#include "code\modules\cargo\exports\parts.dm"
+#include "code\modules\cargo\exports\seeds.dm"
+#include "code\modules\cargo\exports\sheets.dm"
+#include "code\modules\cargo\exports\tools.dm"
+#include "code\modules\cargo\exports\weapons.dm"
+#include "code\modules\cargo\packs\armory.dm"
+#include "code\modules\cargo\packs\costumes_toys.dm"
+#include "code\modules\cargo\packs\emergency.dm"
+#include "code\modules\cargo\packs\engine.dm"
+#include "code\modules\cargo\packs\engineering.dm"
+#include "code\modules\cargo\packs\livestock.dm"
+#include "code\modules\cargo\packs\materials.dm"
+#include "code\modules\cargo\packs\medical.dm"
+#include "code\modules\cargo\packs\misc.dm"
+#include "code\modules\cargo\packs\organic.dm"
+#include "code\modules\cargo\packs\science.dm"
+#include "code\modules\cargo\packs\security.dm"
+#include "code\modules\cargo\packs\service.dm"
+#include "code\modules\chatter\chatter.dm"
+#include "code\modules\client\asset_cache.dm"
+#include "code\modules\client\client_colour.dm"
+#include "code\modules\client\client_defines.dm"
+#include "code\modules\client\client_procs.dm"
+#include "code\modules\client\darkmode.dm"
+#include "code\modules\client\message.dm"
+#include "code\modules\client\player_details.dm"
+#include "code\modules\client\preferences.dm"
+#include "code\modules\client\preferences_savefile.dm"
+#include "code\modules\client\preferences_toggles.dm"
+#include "code\modules\client\preferences_vr.dm"
+#include "code\modules\client\verbs\aooc.dm"
+#include "code\modules\client\verbs\etips.dm"
+#include "code\modules\client\verbs\looc.dm"
+#include "code\modules\client\verbs\ooc.dm"
+#include "code\modules\client\verbs\ping.dm"
+#include "code\modules\client\verbs\suicide.dm"
+#include "code\modules\client\verbs\who.dm"
+#include "code\modules\clothing\chameleon.dm"
+#include "code\modules\clothing\clothing.dm"
+#include "code\modules\clothing\ears\_ears.dm"
+#include "code\modules\clothing\glasses\_glasses.dm"
+#include "code\modules\clothing\glasses\engine_goggles.dm"
+#include "code\modules\clothing\glasses\hud.dm"
+#include "code\modules\clothing\glasses\vg_glasses.dm"
+#include "code\modules\clothing\gloves\_gloves.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\ring.dm"
+#include "code\modules\clothing\gloves\vg_gloves.dm"
+#include "code\modules\clothing\head\_head.dm"
+#include "code\modules\clothing\head\beanie.dm"
+#include "code\modules\clothing\head\cit_hats.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\head\vg_hats.dm"
+#include "code\modules\clothing\masks\_masks.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\hailer.dm"
+#include "code\modules\clothing\masks\miscellaneous.dm"
+#include "code\modules\clothing\masks\vg_masks.dm"
+#include "code\modules\clothing\neck\_neck.dm"
+#include "code\modules\clothing\outfits\ert.dm"
+#include "code\modules\clothing\outfits\event.dm"
+#include "code\modules\clothing\outfits\plasmaman.dm"
+#include "code\modules\clothing\outfits\standard.dm"
+#include "code\modules\clothing\outfits\vr.dm"
+#include "code\modules\clothing\outfits\vv_outfit.dm"
+#include "code\modules\clothing\shoes\_shoes.dm"
+#include "code\modules\clothing\shoes\bananashoes.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\shoes\taeclowndo.dm"
+#include "code\modules\clothing\shoes\vg_shoes.dm"
+#include "code\modules\clothing\spacesuits\_spacesuits.dm"
+#include "code\modules\clothing\spacesuits\chronosuit.dm"
+#include "code\modules\clothing\spacesuits\hardsuit.dm"
+#include "code\modules\clothing\spacesuits\miscellaneous.dm"
+#include "code\modules\clothing\spacesuits\plasmamen.dm"
+#include "code\modules\clothing\spacesuits\syndi.dm"
+#include "code\modules\clothing\spacesuits\vg_spess.dm"
+#include "code\modules\clothing\suits\_suits.dm"
+#include "code\modules\clothing\suits\armor.dm"
+#include "code\modules\clothing\suits\bio.dm"
+#include "code\modules\clothing\suits\cloaks.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\reactive_armour.dm"
+#include "code\modules\clothing\suits\toggles.dm"
+#include "code\modules\clothing\suits\utility.dm"
+#include "code\modules\clothing\suits\vg_suits.dm"
+#include "code\modules\clothing\suits\wiz_robe.dm"
+#include "code\modules\clothing\under\_under.dm"
+#include "code\modules\clothing\under\accessories.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\trek.dm"
+#include "code\modules\clothing\under\vg_under.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\clothing\under\jobs\Plasmaman\civilian_service.dm"
+#include "code\modules\clothing\under\jobs\Plasmaman\engineering.dm"
+#include "code\modules\clothing\under\jobs\Plasmaman\medsci.dm"
+#include "code\modules\clothing\under\jobs\Plasmaman\security.dm"
+#include "code\modules\crafting\craft.dm"
+#include "code\modules\crafting\guncrafting.dm"
+#include "code\modules\crafting\recipes.dm"
+#include "code\modules\crafting\recipes\recipes_clothing.dm"
+#include "code\modules\crafting\recipes\recipes_misc.dm"
+#include "code\modules\crafting\recipes\recipes_primal.dm"
+#include "code\modules\crafting\recipes\recipes_robot.dm"
+#include "code\modules\crafting\recipes\recipes_weapon_and_ammo.dm"
+#include "code\modules\detectivework\detective_work.dm"
+#include "code\modules\detectivework\evidence.dm"
+#include "code\modules\detectivework\scanner.dm"
+#include "code\modules\emoji\emoji_parse.dm"
+#include "code\modules\error_handler\error_handler.dm"
+#include "code\modules\error_handler\error_viewer.dm"
+#include "code\modules\events\_event.dm"
+#include "code\modules\events\abductor.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\aurora_aquilae.dm"
+#include "code\modules\events\aurora_caelus.dm"
+#include "code\modules\events\blob.dm"
+#include "code\modules\events\brand_intelligence.dm"
+#include "code\modules\events\bureaucratic_error.dm"
+#include "code\modules\events\camerafailure.dm"
+#include "code\modules\events\carp_migration.dm"
+#include "code\modules\events\carpteam.dm"
+#include "code\modules\events\communications_blackout.dm"
+#include "code\modules\events\devil.dm"
+#include "code\modules\events\disease_outbreak.dm"
+#include "code\modules\events\dust.dm"
+#include "code\modules\events\electrical_storm.dm"
+#include "code\modules\events\false_alarm.dm"
+#include "code\modules\events\floorcluwne.dm"
+#include "code\modules\events\ghost_role.dm"
+#include "code\modules\events\grid_check.dm"
+#include "code\modules\events\heart_attack.dm"
+#include "code\modules\events\high_priority_bounty.dm"
+#include "code\modules\events\immovable_rod.dm"
+#include "code\modules\events\ion_storm.dm"
+#include "code\modules\events\major_dust.dm"
+#include "code\modules\events\mass_hallucination.dm"
+#include "code\modules\events\meateor_wave.dm"
+#include "code\modules\events\meteor_wave.dm"
+#include "code\modules\events\mice_migration.dm"
+#include "code\modules\events\nightmare.dm"
+#include "code\modules\events\operative.dm"
+#include "code\modules\events\pirates.dm"
+#include "code\modules\events\portal_storm.dm"
+#include "code\modules\events\prison_break.dm"
+#include "code\modules\events\processor_overload.dm"
+#include "code\modules\events\radiation_storm.dm"
+#include "code\modules\events\sentience.dm"
+#include "code\modules\events\shuttle_loan.dm"
+#include "code\modules\events\spacevine.dm"
+#include "code\modules\events\spider_infestation.dm"
+#include "code\modules\events\spontaneous_appendicitis.dm"
+#include "code\modules\events\vent_clog.dm"
+#include "code\modules\events\wormholes.dm"
+#include "code\modules\events\holiday\halloween.dm"
+#include "code\modules\events\holiday\vday.dm"
+#include "code\modules\events\holiday\xmas.dm"
+#include "code\modules\events\wizard\aid.dm"
+#include "code\modules\events\wizard\blobies.dm"
+#include "code\modules\events\wizard\curseditems.dm"
+#include "code\modules\events\wizard\departmentrevolt.dm"
+#include "code\modules\events\wizard\fakeexplosion.dm"
+#include "code\modules\events\wizard\ghost.dm"
+#include "code\modules\events\wizard\greentext.dm"
+#include "code\modules\events\wizard\imposter.dm"
+#include "code\modules\events\wizard\invincible.dm"
+#include "code\modules\events\wizard\lava.dm"
+#include "code\modules\events\wizard\magicarp.dm"
+#include "code\modules\events\wizard\petsplosion.dm"
+#include "code\modules\events\wizard\race.dm"
+#include "code\modules\events\wizard\rpgloot.dm"
+#include "code\modules\events\wizard\shuffle.dm"
+#include "code\modules\events\wizard\summons.dm"
+#include "code\modules\fields\fields.dm"
+#include "code\modules\fields\gravity.dm"
+#include "code\modules\fields\peaceborg_dampener.dm"
+#include "code\modules\fields\timestop.dm"
+#include "code\modules\fields\turf_objects.dm"
+#include "code\modules\flufftext\Dreaming.dm"
+#include "code\modules\flufftext\Hallucination.dm"
+#include "code\modules\food_and_drinks\autobottler.dm"
+#include "code\modules\food_and_drinks\food.dm"
+#include "code\modules\food_and_drinks\pizzabox.dm"
+#include "code\modules\food_and_drinks\drinks\drinks.dm"
+#include "code\modules\food_and_drinks\drinks\drinks\bottle.dm"
+#include "code\modules\food_and_drinks\drinks\drinks\drinkingglass.dm"
+#include "code\modules\food_and_drinks\food\condiment.dm"
+#include "code\modules\food_and_drinks\food\customizables.dm"
+#include "code\modules\food_and_drinks\food\snacks.dm"
+#include "code\modules\food_and_drinks\food\snacks_bread.dm"
+#include "code\modules\food_and_drinks\food\snacks_burgers.dm"
+#include "code\modules\food_and_drinks\food\snacks_cake.dm"
+#include "code\modules\food_and_drinks\food\snacks_egg.dm"
+#include "code\modules\food_and_drinks\food\snacks_frozen.dm"
+#include "code\modules\food_and_drinks\food\snacks_meat.dm"
+#include "code\modules\food_and_drinks\food\snacks_other.dm"
+#include "code\modules\food_and_drinks\food\snacks_pastry.dm"
+#include "code\modules\food_and_drinks\food\snacks_pie.dm"
+#include "code\modules\food_and_drinks\food\snacks_pizza.dm"
+#include "code\modules\food_and_drinks\food\snacks_salad.dm"
+#include "code\modules\food_and_drinks\food\snacks_sandwichtoast.dm"
+#include "code\modules\food_and_drinks\food\snacks_soup.dm"
+#include "code\modules\food_and_drinks\food\snacks_spaghetti.dm"
+#include "code\modules\food_and_drinks\food\snacks_sushi.dm"
+#include "code\modules\food_and_drinks\food\snacks_vend.dm"
+#include "code\modules\food_and_drinks\food\snacks\dough.dm"
+#include "code\modules\food_and_drinks\food\snacks\meat.dm"
+#include "code\modules\food_and_drinks\kitchen_machinery\deep_fryer.dm"
+#include "code\modules\food_and_drinks\kitchen_machinery\food_cart.dm"
+#include "code\modules\food_and_drinks\kitchen_machinery\gibber.dm"
+#include "code\modules\food_and_drinks\kitchen_machinery\grill.dm"
+#include "code\modules\food_and_drinks\kitchen_machinery\icecream_vat.dm"
+#include "code\modules\food_and_drinks\kitchen_machinery\microwave.dm"
+#include "code\modules\food_and_drinks\kitchen_machinery\monkeyrecycler.dm"
+#include "code\modules\food_and_drinks\kitchen_machinery\processor.dm"
+#include "code\modules\food_and_drinks\kitchen_machinery\smartfridge.dm"
+#include "code\modules\food_and_drinks\recipes\drinks_recipes.dm"
+#include "code\modules\food_and_drinks\recipes\food_mixtures.dm"
+#include "code\modules\food_and_drinks\recipes\processor_recipes.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_bread.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_burger.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_cake.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_egg.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_frozen.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_meat.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_misc.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_pastry.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_pie.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_pizza.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_salad.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_sandwich.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_soup.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_spaghetti.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_sushi.dm"
+#include "code\modules\games\cas.dm"
+#include "code\modules\goonchat\browserOutput.dm"
+#include "code\modules\goonchat\jsErrorHandler.dm"
+#include "code\modules\holiday\easter.dm"
+#include "code\modules\holiday\holidays.dm"
+#include "code\modules\holiday\halloween\bartholomew.dm"
+#include "code\modules\holiday\halloween\jacqueen.dm"
+#include "code\modules\holodeck\area_copy.dm"
+#include "code\modules\holodeck\computer.dm"
+#include "code\modules\holodeck\holo_effect.dm"
+#include "code\modules\holodeck\items.dm"
+#include "code\modules\holodeck\mobs.dm"
+#include "code\modules\holodeck\turfs.dm"
+#include "code\modules\hydroponics\biogenerator.dm"
+#include "code\modules\hydroponics\fermenting_barrel.dm"
+#include "code\modules\hydroponics\gene_modder.dm"
+#include "code\modules\hydroponics\grown.dm"
+#include "code\modules\hydroponics\growninedible.dm"
+#include "code\modules\hydroponics\hydroitemdefines.dm"
+#include "code\modules\hydroponics\hydroponics.dm"
+#include "code\modules\hydroponics\plant_genes.dm"
+#include "code\modules\hydroponics\sample.dm"
+#include "code\modules\hydroponics\seed_extractor.dm"
+#include "code\modules\hydroponics\seeds.dm"
+#include "code\modules\hydroponics\beekeeping\beebox.dm"
+#include "code\modules\hydroponics\beekeeping\beekeeper_suit.dm"
+#include "code\modules\hydroponics\beekeeping\honey_frame.dm"
+#include "code\modules\hydroponics\beekeeping\honeycomb.dm"
+#include "code\modules\hydroponics\grown\ambrosia.dm"
+#include "code\modules\hydroponics\grown\apple.dm"
+#include "code\modules\hydroponics\grown\banana.dm"
+#include "code\modules\hydroponics\grown\beans.dm"
+#include "code\modules\hydroponics\grown\berries.dm"
+#include "code\modules\hydroponics\grown\cannabis.dm"
+#include "code\modules\hydroponics\grown\cereals.dm"
+#include "code\modules\hydroponics\grown\chili.dm"
+#include "code\modules\hydroponics\grown\citrus.dm"
+#include "code\modules\hydroponics\grown\cocoa_vanilla.dm"
+#include "code\modules\hydroponics\grown\corn.dm"
+#include "code\modules\hydroponics\grown\cotton.dm"
+#include "code\modules\hydroponics\grown\eggplant.dm"
+#include "code\modules\hydroponics\grown\flowers.dm"
+#include "code\modules\hydroponics\grown\garlic.dm"
+#include "code\modules\hydroponics\grown\grass_carpet.dm"
+#include "code\modules\hydroponics\grown\kudzu.dm"
+#include "code\modules\hydroponics\grown\melon.dm"
+#include "code\modules\hydroponics\grown\misc.dm"
+#include "code\modules\hydroponics\grown\mushrooms.dm"
+#include "code\modules\hydroponics\grown\nettle.dm"
+#include "code\modules\hydroponics\grown\onion.dm"
+#include "code\modules\hydroponics\grown\peach.dm"
+#include "code\modules\hydroponics\grown\peanuts.dm"
+#include "code\modules\hydroponics\grown\pineapple.dm"
+#include "code\modules\hydroponics\grown\potato.dm"
+#include "code\modules\hydroponics\grown\pumpkin.dm"
+#include "code\modules\hydroponics\grown\random.dm"
+#include "code\modules\hydroponics\grown\replicapod.dm"
+#include "code\modules\hydroponics\grown\root.dm"
+#include "code\modules\hydroponics\grown\tea_coffee.dm"
+#include "code\modules\hydroponics\grown\tobacco.dm"
+#include "code\modules\hydroponics\grown\tomato.dm"
+#include "code\modules\hydroponics\grown\towercap.dm"
+#include "code\modules\integrated_electronics\_defines.dm"
+#include "code\modules\integrated_electronics\core\analyzer.dm"
+#include "code\modules\integrated_electronics\core\assemblies.dm"
+#include "code\modules\integrated_electronics\core\debugger.dm"
+#include "code\modules\integrated_electronics\core\detailer.dm"
+#include "code\modules\integrated_electronics\core\helpers.dm"
+#include "code\modules\integrated_electronics\core\integrated_circuit.dm"
+#include "code\modules\integrated_electronics\core\pins.dm"
+#include "code\modules\integrated_electronics\core\printer.dm"
+#include "code\modules\integrated_electronics\core\saved_circuits.dm"
+#include "code\modules\integrated_electronics\core\wirer.dm"
+#include "code\modules\integrated_electronics\core\special_pins\boolean_pin.dm"
+#include "code\modules\integrated_electronics\core\special_pins\char_pin.dm"
+#include "code\modules\integrated_electronics\core\special_pins\color_pin.dm"
+#include "code\modules\integrated_electronics\core\special_pins\dir_pin.dm"
+#include "code\modules\integrated_electronics\core\special_pins\index_pin.dm"
+#include "code\modules\integrated_electronics\core\special_pins\list_pin.dm"
+#include "code\modules\integrated_electronics\core\special_pins\number_pin.dm"
+#include "code\modules\integrated_electronics\core\special_pins\ref_pin.dm"
+#include "code\modules\integrated_electronics\core\special_pins\selfref_pin.dm"
+#include "code\modules\integrated_electronics\core\special_pins\string_pin.dm"
+#include "code\modules\integrated_electronics\passive\passive.dm"
+#include "code\modules\integrated_electronics\passive\power.dm"
+#include "code\modules\integrated_electronics\subtypes\access.dm"
+#include "code\modules\integrated_electronics\subtypes\arithmetic.dm"
+#include "code\modules\integrated_electronics\subtypes\atmospherics.dm"
+#include "code\modules\integrated_electronics\subtypes\converters.dm"
+#include "code\modules\integrated_electronics\subtypes\data_transfer.dm"
+#include "code\modules\integrated_electronics\subtypes\input.dm"
+#include "code\modules\integrated_electronics\subtypes\lists.dm"
+#include "code\modules\integrated_electronics\subtypes\logic.dm"
+#include "code\modules\integrated_electronics\subtypes\manipulation.dm"
+#include "code\modules\integrated_electronics\subtypes\memory.dm"
+#include "code\modules\integrated_electronics\subtypes\output.dm"
+#include "code\modules\integrated_electronics\subtypes\power.dm"
+#include "code\modules\integrated_electronics\subtypes\reagents.dm"
+#include "code\modules\integrated_electronics\subtypes\smart.dm"
+#include "code\modules\integrated_electronics\subtypes\text.dm"
+#include "code\modules\integrated_electronics\subtypes\time.dm"
+#include "code\modules\integrated_electronics\subtypes\trig.dm"
+#include "code\modules\integrated_electronics\subtypes\weaponized.dm"
+#include "code\modules\jobs\access.dm"
+#include "code\modules\jobs\job_exp.dm"
+#include "code\modules\jobs\jobs.dm"
+#include "code\modules\jobs\job_types\assistant.dm"
+#include "code\modules\jobs\job_types\captain.dm"
+#include "code\modules\jobs\job_types\cargo_service.dm"
+#include "code\modules\jobs\job_types\civilian.dm"
+#include "code\modules\jobs\job_types\civilian_chaplain.dm"
+#include "code\modules\jobs\job_types\engineering.dm"
+#include "code\modules\jobs\job_types\job.dm"
+#include "code\modules\jobs\job_types\job_alt_titles.dm"
+#include "code\modules\jobs\job_types\medical.dm"
+#include "code\modules\jobs\job_types\science.dm"
+#include "code\modules\jobs\job_types\security.dm"
+#include "code\modules\jobs\job_types\silicon.dm"
+#include "code\modules\jobs\map_changes\map_changes.dm"
+#include "code\modules\keybindings\bindings_admin.dm"
+#include "code\modules\keybindings\bindings_atom.dm"
+#include "code\modules\keybindings\bindings_carbon.dm"
+#include "code\modules\keybindings\bindings_client.dm"
+#include "code\modules\keybindings\bindings_human.dm"
+#include "code\modules\keybindings\bindings_living.dm"
+#include "code\modules\keybindings\bindings_mob.dm"
+#include "code\modules\keybindings\bindings_robot.dm"
+#include "code\modules\keybindings\focus.dm"
+#include "code\modules\keybindings\setup.dm"
+#include "code\modules\language\aphasia.dm"
+#include "code\modules\language\beachbum.dm"
+#include "code\modules\language\codespeak.dm"
+#include "code\modules\language\common.dm"
+#include "code\modules\language\draconic.dm"
+#include "code\modules\language\drone.dm"
+#include "code\modules\language\language.dm"
+#include "code\modules\language\language_holder.dm"
+#include "code\modules\language\language_menu.dm"
+#include "code\modules\language\machine.dm"
+#include "code\modules\language\monkey.dm"
+#include "code\modules\language\mushroom.dm"
+#include "code\modules\language\narsian.dm"
+#include "code\modules\language\ratvarian.dm"
+#include "code\modules\language\slime.dm"
+#include "code\modules\language\swarmer.dm"
+#include "code\modules\language\vampiric.dm"
+#include "code\modules\language\xenocommon.dm"
+#include "code\modules\library\lib_codex_gigas.dm"
+#include "code\modules\library\lib_items.dm"
+#include "code\modules\library\lib_machines.dm"
+#include "code\modules\library\random_books.dm"
+#include "code\modules\library\soapstone.dm"
+#include "code\modules\lighting\lighting_area.dm"
+#include "code\modules\lighting\lighting_atom.dm"
+#include "code\modules\lighting\lighting_corner.dm"
+#include "code\modules\lighting\lighting_object.dm"
+#include "code\modules\lighting\lighting_setup.dm"
+#include "code\modules\lighting\lighting_source.dm"
+#include "code\modules\lighting\lighting_turf.dm"
+#include "code\modules\mapping\dmm_suite.dm"
+#include "code\modules\mapping\map_template.dm"
+#include "code\modules\mapping\preloader.dm"
+#include "code\modules\mapping\reader.dm"
+#include "code\modules\mapping\ruins.dm"
+#include "code\modules\mapping\verify.dm"
+#include "code\modules\mapping\mapping_helpers\_mapping_helpers.dm"
+#include "code\modules\mapping\mapping_helpers\baseturf.dm"
+#include "code\modules\mapping\mapping_helpers\network_builder\_network_builder.dm"
+#include "code\modules\mapping\mapping_helpers\network_builder\atmos_pipe.dm"
+#include "code\modules\mapping\mapping_helpers\network_builder\power_cables.dm"
+#include "code\modules\mapping\space_management\multiz_helpers.dm"
+#include "code\modules\mapping\space_management\space_level.dm"
+#include "code\modules\mapping\space_management\space_reservation.dm"
+#include "code\modules\mapping\space_management\space_transition.dm"
+#include "code\modules\mapping\space_management\traits.dm"
+#include "code\modules\mapping\space_management\zlevel_manager.dm"
+#include "code\modules\mining\abandoned_crates.dm"
+#include "code\modules\mining\aux_base.dm"
+#include "code\modules\mining\aux_base_camera.dm"
+#include "code\modules\mining\fulton.dm"
+#include "code\modules\mining\machine_processing.dm"
+#include "code\modules\mining\machine_redemption.dm"
+#include "code\modules\mining\machine_silo.dm"
+#include "code\modules\mining\machine_stacking.dm"
+#include "code\modules\mining\machine_unloading.dm"
+#include "code\modules\mining\machine_vending.dm"
+#include "code\modules\mining\mine_items.dm"
+#include "code\modules\mining\minebot.dm"
+#include "code\modules\mining\mint.dm"
+#include "code\modules\mining\money_bag.dm"
+#include "code\modules\mining\ores_coins.dm"
+#include "code\modules\mining\satchel_ore_boxdm.dm"
+#include "code\modules\mining\shelters.dm"
+#include "code\modules\mining\equipment\explorer_gear.dm"
+#include "code\modules\mining\equipment\goliath_hide.dm"
+#include "code\modules\mining\equipment\kinetic_crusher.dm"
+#include "code\modules\mining\equipment\lazarus_injector.dm"
+#include "code\modules\mining\equipment\marker_beacons.dm"
+#include "code\modules\mining\equipment\mineral_scanner.dm"
+#include "code\modules\mining\equipment\mining_tools.dm"
+#include "code\modules\mining\equipment\regenerative_core.dm"
+#include "code\modules\mining\equipment\resonator.dm"
+#include "code\modules\mining\equipment\survival_pod.dm"
+#include "code\modules\mining\equipment\vendor_items.dm"
+#include "code\modules\mining\equipment\wormhole_jaunter.dm"
+#include "code\modules\mining\laborcamp\laborshuttle.dm"
+#include "code\modules\mining\laborcamp\laborstacker.dm"
+#include "code\modules\mining\lavaland\ash_flora.dm"
+#include "code\modules\mining\lavaland\necropolis_chests.dm"
+#include "code\modules\mining\lavaland\ruins\gym.dm"
+#include "code\modules\mob\death.dm"
+#include "code\modules\mob\emote.dm"
+#include "code\modules\mob\inventory.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_helpers.dm"
+#include "code\modules\mob\mob_movement.dm"
+#include "code\modules\mob\mob_movespeed.dm"
+#include "code\modules\mob\mob_transformation_simple.dm"
+#include "code\modules\mob\say.dm"
+#include "code\modules\mob\say_vr.dm"
+#include "code\modules\mob\status_procs.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\dead.dm"
+#include "code\modules\mob\dead\new_player\login.dm"
+#include "code\modules\mob\dead\new_player\logout.dm"
+#include "code\modules\mob\dead\new_player\new_player.dm"
+#include "code\modules\mob\dead\new_player\poll.dm"
+#include "code\modules\mob\dead\new_player\preferences_setup.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\_sprite_accessories.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\body_markings.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\caps.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\ears.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\frills.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\hair_face.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\hair_head.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\horns.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\legs.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\moth_fluff.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\moth_wings.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\pines.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\snouts.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\socks.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\tails.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\undershirt.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\underwear.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\wings.dm"
+#include "code\modules\mob\dead\observer\login.dm"
+#include "code\modules\mob\dead\observer\logout.dm"
+#include "code\modules\mob\dead\observer\notificationprefs.dm"
+#include "code\modules\mob\dead\observer\observer.dm"
+#include "code\modules\mob\dead\observer\observer_movement.dm"
+#include "code\modules\mob\dead\observer\say.dm"
+#include "code\modules\mob\living\blood.dm"
+#include "code\modules\mob\living\bloodcrawl.dm"
+#include "code\modules\mob\living\damage_procs.dm"
+#include "code\modules\mob\living\death.dm"
+#include "code\modules\mob\living\emote.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\living_movement.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\status_procs.dm"
+#include "code\modules\mob\living\taste.dm"
+#include "code\modules\mob\living\ventcrawling.dm"
+#include "code\modules\mob\living\brain\brain.dm"
+#include "code\modules\mob\living\brain\brain_item.dm"
+#include "code\modules\mob\living\brain\death.dm"
+#include "code\modules\mob\living\brain\emote.dm"
+#include "code\modules\mob\living\brain\life.dm"
+#include "code\modules\mob\living\brain\MMI.dm"
+#include "code\modules\mob\living\brain\posibrain.dm"
+#include "code\modules\mob\living\brain\say.dm"
+#include "code\modules\mob\living\brain\status_procs.dm"
+#include "code\modules\mob\living\carbon\carbon.dm"
+#include "code\modules\mob\living\carbon\carbon_defense.dm"
+#include "code\modules\mob\living\carbon\carbon_defines.dm"
+#include "code\modules\mob\living\carbon\carbon_movement.dm"
+#include "code\modules\mob\living\carbon\damage_procs.dm"
+#include "code\modules\mob\living\carbon\death.dm"
+#include "code\modules\mob\living\carbon\emote.dm"
+#include "code\modules\mob\living\carbon\examine.dm"
+#include "code\modules\mob\living\carbon\give.dm"
+#include "code\modules\mob\living\carbon\inventory.dm"
+#include "code\modules\mob\living\carbon\life.dm"
+#include "code\modules\mob\living\carbon\say.dm"
+#include "code\modules\mob\living\carbon\status_procs.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_defense.dm"
+#include "code\modules\mob\living\carbon\alien\damage_procs.dm"
+#include "code\modules\mob\living\carbon\alien\death.dm"
+#include "code\modules\mob\living\carbon\alien\emote.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\organs.dm"
+#include "code\modules\mob\living\carbon\alien\say.dm"
+#include "code\modules\mob\living\carbon\alien\screen.dm"
+#include "code\modules\mob\living\carbon\alien\status_procs.dm"
+#include "code\modules\mob\living\carbon\alien\update_icons.dm"
+#include "code\modules\mob\living\carbon\alien\humanoid\alien_powers.dm"
+#include "code\modules\mob\living\carbon\alien\humanoid\death.dm"
+#include "code\modules\mob\living\carbon\alien\humanoid\humanoid.dm"
+#include "code\modules\mob\living\carbon\alien\humanoid\humanoid_defense.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\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\praetorian.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\inventory.dm"
+#include "code\modules\mob\living\carbon\alien\larva\larva.dm"
+#include "code\modules\mob\living\carbon\alien\larva\larva_defense.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\human\damage_procs.dm"
+#include "code\modules\mob\living\carbon\human\death.dm"
+#include "code\modules\mob\living\carbon\human\dummy.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\examine_vr.dm"
+#include "code\modules\mob\living\carbon\human\human.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_helpers.dm"
+#include "code\modules\mob\living\carbon\human\human_movement.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\physiology.dm"
+#include "code\modules\mob\living\carbon\human\say.dm"
+#include "code\modules\mob\living\carbon\human\species.dm"
+#include "code\modules\mob\living\carbon\human\status_procs.dm"
+#include "code\modules\mob\living\carbon\human\typing_indicator.dm"
+#include "code\modules\mob\living\carbon\human\update_icons.dm"
+#include "code\modules\mob\living\carbon\human\species_types\abductors.dm"
+#include "code\modules\mob\living\carbon\human\species_types\android.dm"
+#include "code\modules\mob\living\carbon\human\species_types\angel.dm"
+#include "code\modules\mob\living\carbon\human\species_types\corporate.dm"
+#include "code\modules\mob\living\carbon\human\species_types\dullahan.dm"
+#include "code\modules\mob\living\carbon\human\species_types\felinid.dm"
+#include "code\modules\mob\living\carbon\human\species_types\flypeople.dm"
+#include "code\modules\mob\living\carbon\human\species_types\golems.dm"
+#include "code\modules\mob\living\carbon\human\species_types\humans.dm"
+#include "code\modules\mob\living\carbon\human\species_types\jellypeople.dm"
+#include "code\modules\mob\living\carbon\human\species_types\lizardpeople.dm"
+#include "code\modules\mob\living\carbon\human\species_types\mothmen.dm"
+#include "code\modules\mob\living\carbon\human\species_types\mushpeople.dm"
+#include "code\modules\mob\living\carbon\human\species_types\plasmamen.dm"
+#include "code\modules\mob\living\carbon\human\species_types\podpeople.dm"
+#include "code\modules\mob\living\carbon\human\species_types\shadowpeople.dm"
+#include "code\modules\mob\living\carbon\human\species_types\skeletons.dm"
+#include "code\modules\mob\living\carbon\human\species_types\synths.dm"
+#include "code\modules\mob\living\carbon\human\species_types\vampire.dm"
+#include "code\modules\mob\living\carbon\human\species_types\zombies.dm"
+#include "code\modules\mob\living\carbon\monkey\combat.dm"
+#include "code\modules\mob\living\carbon\monkey\death.dm"
+#include "code\modules\mob\living\carbon\monkey\inventory.dm"
+#include "code\modules\mob\living\carbon\monkey\life.dm"
+#include "code\modules\mob\living\carbon\monkey\monkey.dm"
+#include "code\modules\mob\living\carbon\monkey\monkey_defense.dm"
+#include "code\modules\mob\living\carbon\monkey\punpun.dm"
+#include "code\modules\mob\living\carbon\monkey\update_icons.dm"
+#include "code\modules\mob\living\silicon\damage_procs.dm"
+#include "code\modules\mob\living\silicon\death.dm"
+#include "code\modules\mob\living\silicon\examine.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\silicon_defense.dm"
+#include "code\modules\mob\living\silicon\silicon_movement.dm"
+#include "code\modules\mob\living\silicon\ai\ai.dm"
+#include "code\modules\mob\living\silicon\ai\ai_defense.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\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\multicam.dm"
+#include "code\modules\mob\living\silicon\ai\say.dm"
+#include "code\modules\mob\living\silicon\ai\vox_sounds.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\pai\death.dm"
+#include "code\modules\mob\living\silicon\pai\pai.dm"
+#include "code\modules\mob\living\silicon\pai\pai_defense.dm"
+#include "code\modules\mob\living\silicon\pai\pai_shell.dm"
+#include "code\modules\mob\living\silicon\pai\personality.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\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\robot.dm"
+#include "code\modules\mob\living\silicon\robot\robot_defense.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\say.dm"
+#include "code\modules\mob\living\simple_animal\animal_defense.dm"
+#include "code\modules\mob\living\simple_animal\astral.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\damage_procs.dm"
+#include "code\modules\mob\living\simple_animal\parrot.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\simple_animal_vr.dm"
+#include "code\modules\mob\living\simple_animal\status_procs.dm"
+#include "code\modules\mob\living\simple_animal\bot\bot.dm"
+#include "code\modules\mob\living\simple_animal\bot\cleanbot.dm"
+#include "code\modules\mob\living\simple_animal\bot\construction.dm"
+#include "code\modules\mob\living\simple_animal\bot\ed209bot.dm"
+#include "code\modules\mob\living\simple_animal\bot\firebot.dm"
+#include "code\modules\mob\living\simple_animal\bot\floorbot.dm"
+#include "code\modules\mob\living\simple_animal\bot\honkbot.dm"
+#include "code\modules\mob\living\simple_animal\bot\medbot.dm"
+#include "code\modules\mob\living\simple_animal\bot\mulebot.dm"
+#include "code\modules\mob\living\simple_animal\bot\secbot.dm"
+#include "code\modules\mob\living\simple_animal\bot\SuperBeepsky.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\cockroach.dm"
+#include "code\modules\mob\living\simple_animal\friendly\crab.dm"
+#include "code\modules\mob\living\simple_animal\friendly\dog.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\gondola.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\panda.dm"
+#include "code\modules\mob\living\simple_animal\friendly\penguin.dm"
+#include "code\modules\mob\living\simple_animal\friendly\pet.dm"
+#include "code\modules\mob\living\simple_animal\friendly\sloth.dm"
+#include "code\modules\mob\living\simple_animal\friendly\snake.dm"
+#include "code\modules\mob\living\simple_animal\friendly\drone\_drone.dm"
+#include "code\modules\mob\living\simple_animal\friendly\drone\drones_as_items.dm"
+#include "code\modules\mob\living\simple_animal\friendly\drone\extra_drone_types.dm"
+#include "code\modules\mob\living\simple_animal\friendly\drone\interaction.dm"
+#include "code\modules\mob\living\simple_animal\friendly\drone\inventory.dm"
+#include "code\modules\mob\living\simple_animal\friendly\drone\say.dm"
+#include "code\modules\mob\living\simple_animal\friendly\drone\verbs.dm"
+#include "code\modules\mob\living\simple_animal\friendly\drone\visuals_icons.dm"
+#include "code\modules\mob\living\simple_animal\guardian\guardian.dm"
+#include "code\modules\mob\living\simple_animal\guardian\guardiannaming.dm"
+#include "code\modules\mob\living\simple_animal\guardian\types\assassin.dm"
+#include "code\modules\mob\living\simple_animal\guardian\types\charger.dm"
+#include "code\modules\mob\living\simple_animal\guardian\types\dextrous.dm"
+#include "code\modules\mob\living\simple_animal\guardian\types\explosive.dm"
+#include "code\modules\mob\living\simple_animal\guardian\types\fire.dm"
+#include "code\modules\mob\living\simple_animal\guardian\types\lightning.dm"
+#include "code\modules\mob\living\simple_animal\guardian\types\protector.dm"
+#include "code\modules\mob\living\simple_animal\guardian\types\ranged.dm"
+#include "code\modules\mob\living\simple_animal\guardian\types\standard.dm"
+#include "code\modules\mob\living\simple_animal\guardian\types\support.dm"
+#include "code\modules\mob\living\simple_animal\hostile\alien.dm"
+#include "code\modules\mob\living\simple_animal\hostile\bear.dm"
+#include "code\modules\mob\living\simple_animal\hostile\bees.dm"
+#include "code\modules\mob\living\simple_animal\hostile\carp.dm"
+#include "code\modules\mob\living\simple_animal\hostile\cat_butcher.dm"
+#include "code\modules\mob\living\simple_animal\hostile\eyeballs.dm"
+#include "code\modules\mob\living\simple_animal\hostile\faithless.dm"
+#include "code\modules\mob\living\simple_animal\hostile\floor_cluwne.dm"
+#include "code\modules\mob\living\simple_animal\hostile\giant_spider.dm"
+#include "code\modules\mob\living\simple_animal\hostile\goose.dm"
+#include "code\modules\mob\living\simple_animal\hostile\headcrab.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\illusion.dm"
+#include "code\modules\mob\living\simple_animal\hostile\killertomato.dm"
+#include "code\modules\mob\living\simple_animal\hostile\mecha_pilot.dm"
+#include "code\modules\mob\living\simple_animal\hostile\mimic.dm"
+#include "code\modules\mob\living\simple_animal\hostile\mushroom.dm"
+#include "code\modules\mob\living\simple_animal\hostile\nanotrasen.dm"
+#include "code\modules\mob\living\simple_animal\hostile\netherworld.dm"
+#include "code\modules\mob\living\simple_animal\hostile\pirate.dm"
+#include "code\modules\mob\living\simple_animal\hostile\russian.dm"
+#include "code\modules\mob\living\simple_animal\hostile\sharks.dm"
+#include "code\modules\mob\living\simple_animal\hostile\skeleton.dm"
+#include "code\modules\mob\living\simple_animal\hostile\statue.dm"
+#include "code\modules\mob\living\simple_animal\hostile\stickman.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\venus_human_trap.dm"
+#include "code\modules\mob\living\simple_animal\hostile\wizard.dm"
+#include "code\modules\mob\living\simple_animal\hostile\wumborian_fugu.dm"
+#include "code\modules\mob\living\simple_animal\hostile\zombie.dm"
+#include "code\modules\mob\living\simple_animal\hostile\bosses\boss.dm"
+#include "code\modules\mob\living\simple_animal\hostile\bosses\paperwizard.dm"
+#include "code\modules\mob\living\simple_animal\hostile\gorilla\emotes.dm"
+#include "code\modules\mob\living\simple_animal\hostile\gorilla\gorilla.dm"
+#include "code\modules\mob\living\simple_animal\hostile\gorilla\visuals_icons.dm"
+#include "code\modules\mob\living\simple_animal\hostile\jungle\_jungle_mobs.dm"
+#include "code\modules\mob\living\simple_animal\hostile\jungle\leaper.dm"
+#include "code\modules\mob\living\simple_animal\hostile\jungle\mega_arachnid.dm"
+#include "code\modules\mob\living\simple_animal\hostile\jungle\mook.dm"
+#include "code\modules\mob\living\simple_animal\hostile\jungle\seedling.dm"
+#include "code\modules\mob\living\simple_animal\hostile\megafauna\blood_drunk_miner.dm"
+#include "code\modules\mob\living\simple_animal\hostile\megafauna\bubblegum.dm"
+#include "code\modules\mob\living\simple_animal\hostile\megafauna\colossus.dm"
+#include "code\modules\mob\living\simple_animal\hostile\megafauna\dragon_vore.dm"
+#include "code\modules\mob\living\simple_animal\hostile\megafauna\drake.dm"
+#include "code\modules\mob\living\simple_animal\hostile\megafauna\hierophant.dm"
+#include "code\modules\mob\living\simple_animal\hostile\megafauna\legion.dm"
+#include "code\modules\mob\living\simple_animal\hostile\megafauna\megafauna.dm"
+#include "code\modules\mob\living\simple_animal\hostile\megafauna\swarmer.dm"
+#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\basilisk.dm"
+#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\curse_blob.dm"
+#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\goldgrub.dm"
+#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\goliath.dm"
+#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\gutlunch.dm"
+#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\hivelord.dm"
+#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\mining_mobs.dm"
+#include "code\modules\mob\living\simple_animal\hostile\retaliate\bat.dm"
+#include "code\modules\mob\living\simple_animal\hostile\retaliate\clown.dm"
+#include "code\modules\mob\living\simple_animal\hostile\retaliate\frog.dm"
+#include "code\modules\mob\living\simple_animal\hostile\retaliate\ghost.dm"
+#include "code\modules\mob\living\simple_animal\hostile\retaliate\retaliate.dm"
+#include "code\modules\mob\living\simple_animal\hostile\retaliate\spaceman.dm"
+#include "code\modules\mob\living\simple_animal\slime\death.dm"
+#include "code\modules\mob\living\simple_animal\slime\emote.dm"
+#include "code\modules\mob\living\simple_animal\slime\life.dm"
+#include "code\modules\mob\living\simple_animal\slime\powers.dm"
+#include "code\modules\mob\living\simple_animal\slime\say.dm"
+#include "code\modules\mob\living\simple_animal\slime\slime.dm"
+#include "code\modules\mob\living\simple_animal\slime\subtypes.dm"
+#include "code\modules\modular_computers\laptop_vendor.dm"
+#include "code\modules\modular_computers\computers\item\computer.dm"
+#include "code\modules\modular_computers\computers\item\computer_components.dm"
+#include "code\modules\modular_computers\computers\item\computer_damage.dm"
+#include "code\modules\modular_computers\computers\item\computer_power.dm"
+#include "code\modules\modular_computers\computers\item\computer_ui.dm"
+#include "code\modules\modular_computers\computers\item\laptop.dm"
+#include "code\modules\modular_computers\computers\item\laptop_presets.dm"
+#include "code\modules\modular_computers\computers\item\processor.dm"
+#include "code\modules\modular_computers\computers\item\tablet.dm"
+#include "code\modules\modular_computers\computers\item\tablet_presets.dm"
+#include "code\modules\modular_computers\computers\machinery\console_presets.dm"
+#include "code\modules\modular_computers\computers\machinery\modular_computer.dm"
+#include "code\modules\modular_computers\computers\machinery\modular_console.dm"
+#include "code\modules\modular_computers\file_system\computer_file.dm"
+#include "code\modules\modular_computers\file_system\data.dm"
+#include "code\modules\modular_computers\file_system\program.dm"
+#include "code\modules\modular_computers\file_system\program_events.dm"
+#include "code\modules\modular_computers\file_system\programs\airestorer.dm"
+#include "code\modules\modular_computers\file_system\programs\alarm.dm"
+#include "code\modules\modular_computers\file_system\programs\card.dm"
+#include "code\modules\modular_computers\file_system\programs\configurator.dm"
+#include "code\modules\modular_computers\file_system\programs\file_browser.dm"
+#include "code\modules\modular_computers\file_system\programs\ntdownloader.dm"
+#include "code\modules\modular_computers\file_system\programs\ntmonitor.dm"
+#include "code\modules\modular_computers\file_system\programs\ntnrc_client.dm"
+#include "code\modules\modular_computers\file_system\programs\nttransfer.dm"
+#include "code\modules\modular_computers\file_system\programs\powermonitor.dm"
+#include "code\modules\modular_computers\file_system\programs\sm_monitor.dm"
+#include "code\modules\modular_computers\file_system\programs\antagonist\dos.dm"
+#include "code\modules\modular_computers\file_system\programs\antagonist\revelation.dm"
+#include "code\modules\modular_computers\hardware\_hardware.dm"
+#include "code\modules\modular_computers\hardware\ai_slot.dm"
+#include "code\modules\modular_computers\hardware\battery_module.dm"
+#include "code\modules\modular_computers\hardware\card_slot.dm"
+#include "code\modules\modular_computers\hardware\CPU.dm"
+#include "code\modules\modular_computers\hardware\hard_drive.dm"
+#include "code\modules\modular_computers\hardware\network_card.dm"
+#include "code\modules\modular_computers\hardware\portable_disk.dm"
+#include "code\modules\modular_computers\hardware\printer.dm"
+#include "code\modules\modular_computers\hardware\recharger.dm"
+#include "code\modules\modular_computers\NTNet\NTNRC\conversation.dm"
+#include "code\modules\ninja\__ninjaDefines.dm"
+#include "code\modules\ninja\energy_katana.dm"
+#include "code\modules\ninja\ninja_event.dm"
+#include "code\modules\ninja\outfit.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\ninjaDrainAct.dm"
+#include "code\modules\ninja\suit\shoes.dm"
+#include "code\modules\ninja\suit\suit.dm"
+#include "code\modules\ninja\suit\suit_attackby.dm"
+#include "code\modules\ninja\suit\suit_initialisation.dm"
+#include "code\modules\ninja\suit\suit_process.dm"
+#include "code\modules\ninja\suit\n_suit_verbs\energy_net_nets.dm"
+#include "code\modules\ninja\suit\n_suit_verbs\ninja_adrenaline.dm"
+#include "code\modules\ninja\suit\n_suit_verbs\ninja_cost_check.dm"
+#include "code\modules\ninja\suit\n_suit_verbs\ninja_empulse.dm"
+#include "code\modules\ninja\suit\n_suit_verbs\ninja_net.dm"
+#include "code\modules\ninja\suit\n_suit_verbs\ninja_smoke.dm"
+#include "code\modules\ninja\suit\n_suit_verbs\ninja_stars.dm"
+#include "code\modules\ninja\suit\n_suit_verbs\ninja_stealth.dm"
+#include "code\modules\ninja\suit\n_suit_verbs\ninja_sword_recall.dm"
+#include "code\modules\NTNet\netdata.dm"
+#include "code\modules\NTNet\network.dm"
+#include "code\modules\NTNet\relays.dm"
+#include "code\modules\NTNet\services\_service.dm"
+#include "code\modules\oracle_ui\assets.dm"
+#include "code\modules\oracle_ui\hookup_procs.dm"
+#include "code\modules\oracle_ui\oracle_ui.dm"
+#include "code\modules\oracle_ui\themed.dm"
+#include "code\modules\paperwork\clipboard.dm"
+#include "code\modules\paperwork\contract.dm"
+#include "code\modules\paperwork\filingcabinet.dm"
+#include "code\modules\paperwork\folders.dm"
+#include "code\modules\paperwork\handlabeler.dm"
+#include "code\modules\paperwork\paper.dm"
+#include "code\modules\paperwork\paper_cutter.dm"
+#include "code\modules\paperwork\paper_premade.dm"
+#include "code\modules\paperwork\paperbin.dm"
+#include "code\modules\paperwork\paperplane.dm"
+#include "code\modules\paperwork\pen.dm"
+#include "code\modules\paperwork\photocopier.dm"
+#include "code\modules\paperwork\stamps.dm"
+#include "code\modules\photography\_pictures.dm"
+#include "code\modules\photography\camera\camera.dm"
+#include "code\modules\photography\camera\camera_image_capturing.dm"
+#include "code\modules\photography\camera\film.dm"
+#include "code\modules\photography\camera\other.dm"
+#include "code\modules\photography\camera\silicon_camera.dm"
+#include "code\modules\photography\photos\album.dm"
+#include "code\modules\photography\photos\frame.dm"
+#include "code\modules\photography\photos\photo.dm"
+#include "code\modules\pool\pool_controller.dm"
+#include "code\modules\pool\pool_drain.dm"
+#include "code\modules\pool\pool_effects.dm"
+#include "code\modules\pool\pool_main.dm"
+#include "code\modules\pool\pool_noodles.dm"
+#include "code\modules\pool\pool_structures.dm"
+#include "code\modules\pool\pool_wires.dm"
+#include "code\modules\power\apc.dm"
+#include "code\modules\power\cable.dm"
+#include "code\modules\power\cell.dm"
+#include "code\modules\power\floodlight.dm"
+#include "code\modules\power\generator.dm"
+#include "code\modules\power\gravitygenerator.dm"
+#include "code\modules\power\lighting.dm"
+#include "code\modules\power\monitor.dm"
+#include "code\modules\power\multiz.dm"
+#include "code\modules\power\port_gen.dm"
+#include "code\modules\power\power.dm"
+#include "code\modules\power\powernet.dm"
+#include "code\modules\power\rtg.dm"
+#include "code\modules\power\smes.dm"
+#include "code\modules\power\solar.dm"
+#include "code\modules\power\terminal.dm"
+#include "code\modules\power\tracker.dm"
+#include "code\modules\power\turbine.dm"
+#include "code\modules\power\antimatter\containment_jar.dm"
+#include "code\modules\power\antimatter\control.dm"
+#include "code\modules\power\antimatter\shielding.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_control.dm"
+#include "code\modules\power\singularity\particle_accelerator\particle_emitter.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\mapGeneratorObj.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\cellular.dm"
+#include "code\modules\procedural_mapping\mapGenerators\cult.dm"
+#include "code\modules\procedural_mapping\mapGenerators\lava_river.dm"
+#include "code\modules\procedural_mapping\mapGenerators\lavaland.dm"
+#include "code\modules\procedural_mapping\mapGenerators\nature.dm"
+#include "code\modules\procedural_mapping\mapGenerators\repair.dm"
+#include "code\modules\procedural_mapping\mapGenerators\shuttle.dm"
+#include "code\modules\procedural_mapping\mapGenerators\syndicate.dm"
+#include "code\modules\projectiles\gun.dm"
+#include "code\modules\projectiles\pins.dm"
+#include "code\modules\projectiles\projectile.dm"
+#include "code\modules\projectiles\ammunition\_ammunition.dm"
+#include "code\modules\projectiles\ammunition\_firing.dm"
+#include "code\modules\projectiles\ammunition\ballistic\lmg.dm"
+#include "code\modules\projectiles\ammunition\ballistic\pistol.dm"
+#include "code\modules\projectiles\ammunition\ballistic\revolver.dm"
+#include "code\modules\projectiles\ammunition\ballistic\rifle.dm"
+#include "code\modules\projectiles\ammunition\ballistic\shotgun.dm"
+#include "code\modules\projectiles\ammunition\ballistic\smg.dm"
+#include "code\modules\projectiles\ammunition\ballistic\sniper.dm"
+#include "code\modules\projectiles\ammunition\caseless\_caseless.dm"
+#include "code\modules\projectiles\ammunition\caseless\foam.dm"
+#include "code\modules\projectiles\ammunition\caseless\misc.dm"
+#include "code\modules\projectiles\ammunition\caseless\rocket.dm"
+#include "code\modules\projectiles\ammunition\energy\_energy.dm"
+#include "code\modules\projectiles\ammunition\energy\ebow.dm"
+#include "code\modules\projectiles\ammunition\energy\gravity.dm"
+#include "code\modules\projectiles\ammunition\energy\laser.dm"
+#include "code\modules\projectiles\ammunition\energy\lmg.dm"
+#include "code\modules\projectiles\ammunition\energy\plasma.dm"
+#include "code\modules\projectiles\ammunition\energy\plasma_cit.dm"
+#include "code\modules\projectiles\ammunition\energy\portal.dm"
+#include "code\modules\projectiles\ammunition\energy\special.dm"
+#include "code\modules\projectiles\ammunition\energy\stun.dm"
+#include "code\modules\projectiles\ammunition\special\magic.dm"
+#include "code\modules\projectiles\ammunition\special\syringe.dm"
+#include "code\modules\projectiles\boxes_magazines\_box_magazine.dm"
+#include "code\modules\projectiles\boxes_magazines\ammo_boxes.dm"
+#include "code\modules\projectiles\boxes_magazines\external\grenade.dm"
+#include "code\modules\projectiles\boxes_magazines\external\lmg.dm"
+#include "code\modules\projectiles\boxes_magazines\external\pistol.dm"
+#include "code\modules\projectiles\boxes_magazines\external\rechargable.dm"
+#include "code\modules\projectiles\boxes_magazines\external\rifle.dm"
+#include "code\modules\projectiles\boxes_magazines\external\shotgun.dm"
+#include "code\modules\projectiles\boxes_magazines\external\smg.dm"
+#include "code\modules\projectiles\boxes_magazines\external\sniper.dm"
+#include "code\modules\projectiles\boxes_magazines\external\toy.dm"
+#include "code\modules\projectiles\boxes_magazines\internal\_cylinder.dm"
+#include "code\modules\projectiles\boxes_magazines\internal\_internal.dm"
+#include "code\modules\projectiles\boxes_magazines\internal\grenade.dm"
+#include "code\modules\projectiles\boxes_magazines\internal\misc.dm"
+#include "code\modules\projectiles\boxes_magazines\internal\revolver.dm"
+#include "code\modules\projectiles\boxes_magazines\internal\rifle.dm"
+#include "code\modules\projectiles\boxes_magazines\internal\shotgun.dm"
+#include "code\modules\projectiles\boxes_magazines\internal\toy.dm"
+#include "code\modules\projectiles\guns\ballistic.dm"
+#include "code\modules\projectiles\guns\energy.dm"
+#include "code\modules\projectiles\guns\magic.dm"
+#include "code\modules\projectiles\guns\ballistic\automatic.dm"
+#include "code\modules\projectiles\guns\ballistic\laser_gatling.dm"
+#include "code\modules\projectiles\guns\ballistic\launchers.dm"
+#include "code\modules\projectiles\guns\ballistic\pistol.dm"
+#include "code\modules\projectiles\guns\ballistic\revolver.dm"
+#include "code\modules\projectiles\guns\ballistic\shotgun.dm"
+#include "code\modules\projectiles\guns\ballistic\toy.dm"
+#include "code\modules\projectiles\guns\energy\dueling.dm"
+#include "code\modules\projectiles\guns\energy\energy_gun.dm"
+#include "code\modules\projectiles\guns\energy\kinetic_accelerator.dm"
+#include "code\modules\projectiles\guns\energy\laser.dm"
+#include "code\modules\projectiles\guns\energy\megabuster.dm"
+#include "code\modules\projectiles\guns\energy\mounted.dm"
+#include "code\modules\projectiles\guns\energy\plasma_cit.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\magic\staff.dm"
+#include "code\modules\projectiles\guns\magic\wand.dm"
+#include "code\modules\projectiles\guns\misc\beam_rifle.dm"
+#include "code\modules\projectiles\guns\misc\blastcannon.dm"
+#include "code\modules\projectiles\guns\misc\chem_gun.dm"
+#include "code\modules\projectiles\guns\misc\grenade_launcher.dm"
+#include "code\modules\projectiles\guns\misc\medbeam.dm"
+#include "code\modules\projectiles\guns\misc\syringe_gun.dm"
+#include "code\modules\projectiles\projectile\beams.dm"
+#include "code\modules\projectiles\projectile\bullets.dm"
+#include "code\modules\projectiles\projectile\magic.dm"
+#include "code\modules\projectiles\projectile\megabuster.dm"
+#include "code\modules\projectiles\projectile\plasma.dm"
+#include "code\modules\projectiles\projectile\bullets\_incendiary.dm"
+#include "code\modules\projectiles\projectile\bullets\dart_syringe.dm"
+#include "code\modules\projectiles\projectile\bullets\dnainjector.dm"
+#include "code\modules\projectiles\projectile\bullets\grenade.dm"
+#include "code\modules\projectiles\projectile\bullets\lmg.dm"
+#include "code\modules\projectiles\projectile\bullets\pistol.dm"
+#include "code\modules\projectiles\projectile\bullets\revolver.dm"
+#include "code\modules\projectiles\projectile\bullets\rifle.dm"
+#include "code\modules\projectiles\projectile\bullets\shotgun.dm"
+#include "code\modules\projectiles\projectile\bullets\smg.dm"
+#include "code\modules\projectiles\projectile\bullets\sniper.dm"
+#include "code\modules\projectiles\projectile\bullets\special.dm"
+#include "code\modules\projectiles\projectile\energy\_energy.dm"
+#include "code\modules\projectiles\projectile\energy\ebow.dm"
+#include "code\modules\projectiles\projectile\energy\misc.dm"
+#include "code\modules\projectiles\projectile\energy\net_snare.dm"
+#include "code\modules\projectiles\projectile\energy\nuclear_particle.dm"
+#include "code\modules\projectiles\projectile\energy\stun.dm"
+#include "code\modules\projectiles\projectile\energy\tesla.dm"
+#include "code\modules\projectiles\projectile\magic\spellcard.dm"
+#include "code\modules\projectiles\projectile\reusable\_reusable.dm"
+#include "code\modules\projectiles\projectile\reusable\foam_dart.dm"
+#include "code\modules\projectiles\projectile\reusable\magspear.dm"
+#include "code\modules\projectiles\projectile\special\curse.dm"
+#include "code\modules\projectiles\projectile\special\floral.dm"
+#include "code\modules\projectiles\projectile\special\gravity.dm"
+#include "code\modules\projectiles\projectile\special\hallucination.dm"
+#include "code\modules\projectiles\projectile\special\ion.dm"
+#include "code\modules\projectiles\projectile\special\meteor.dm"
+#include "code\modules\projectiles\projectile\special\mindflayer.dm"
+#include "code\modules\projectiles\projectile\special\neurotoxin.dm"
+#include "code\modules\projectiles\projectile\special\plasma.dm"
+#include "code\modules\projectiles\projectile\special\rocket.dm"
+#include "code\modules\projectiles\projectile\special\temperature.dm"
+#include "code\modules\projectiles\projectile\special\wormhole.dm"
+#include "code\modules\reagents\chem_splash.dm"
+#include "code\modules\reagents\chem_wiki_render.dm"
+#include "code\modules\reagents\reagent_containers.dm"
+#include "code\modules\reagents\reagent_dispenser.dm"
+#include "code\modules\reagents\chemistry\colors.dm"
+#include "code\modules\reagents\chemistry\holder.dm"
+#include "code\modules\reagents\chemistry\reagents.dm"
+#include "code\modules\reagents\chemistry\recipes.dm"
+#include "code\modules\reagents\chemistry\machinery\chem_dispenser.dm"
+#include "code\modules\reagents\chemistry\machinery\chem_heater.dm"
+#include "code\modules\reagents\chemistry\machinery\chem_master.dm"
+#include "code\modules\reagents\chemistry\machinery\chem_synthesizer.dm"
+#include "code\modules\reagents\chemistry\machinery\pandemic.dm"
+#include "code\modules\reagents\chemistry\machinery\reagentgrinder.dm"
+#include "code\modules\reagents\chemistry\machinery\smoke_machine.dm"
+#include "code\modules\reagents\chemistry\reagents\alcohol_reagents.dm"
+#include "code\modules\reagents\chemistry\reagents\blob_reagents.dm"
+#include "code\modules\reagents\chemistry\reagents\drink_reagents.dm"
+#include "code\modules\reagents\chemistry\reagents\drug_reagents.dm"
+#include "code\modules\reagents\chemistry\reagents\food_reagents.dm"
+#include "code\modules\reagents\chemistry\reagents\impure_reagents.dm"
+#include "code\modules\reagents\chemistry\reagents\medicine_reagents.dm"
+#include "code\modules\reagents\chemistry\reagents\other_reagents.dm"
+#include "code\modules\reagents\chemistry\reagents\pyrotechnic_reagents.dm"
+#include "code\modules\reagents\chemistry\reagents\toxin_reagents.dm"
+#include "code\modules\reagents\chemistry\recipes\drugs.dm"
+#include "code\modules\reagents\chemistry\recipes\medicine.dm"
+#include "code\modules\reagents\chemistry\recipes\others.dm"
+#include "code\modules\reagents\chemistry\recipes\pyrotechnics.dm"
+#include "code\modules\reagents\chemistry\recipes\slime_extracts.dm"
+#include "code\modules\reagents\chemistry\recipes\special.dm"
+#include "code\modules\reagents\chemistry\recipes\toxins.dm"
+#include "code\modules\reagents\reagent_containers\blood_pack.dm"
+#include "code\modules\reagents\reagent_containers\borghydro.dm"
+#include "code\modules\reagents\reagent_containers\bottle.dm"
+#include "code\modules\reagents\reagent_containers\chem_pack.dm"
+#include "code\modules\reagents\reagent_containers\Chemical_tongue.dm"
+#include "code\modules\reagents\reagent_containers\dropper.dm"
+#include "code\modules\reagents\reagent_containers\glass.dm"
+#include "code\modules\reagents\reagent_containers\hypospray.dm"
+#include "code\modules\reagents\reagent_containers\hypovial.dm"
+#include "code\modules\reagents\reagent_containers\medspray.dm"
+#include "code\modules\reagents\reagent_containers\patch.dm"
+#include "code\modules\reagents\reagent_containers\pill.dm"
+#include "code\modules\reagents\reagent_containers\rags.dm"
+#include "code\modules\reagents\reagent_containers\sleeper_buffer.dm"
+#include "code\modules\reagents\reagent_containers\spray.dm"
+#include "code\modules\reagents\reagent_containers\syringes.dm"
+#include "code\modules\recycling\conveyor2.dm"
+#include "code\modules\recycling\sortingmachinery.dm"
+#include "code\modules\recycling\disposal\bin.dm"
+#include "code\modules\recycling\disposal\construction.dm"
+#include "code\modules\recycling\disposal\eject.dm"
+#include "code\modules\recycling\disposal\holder.dm"
+#include "code\modules\recycling\disposal\multiz.dm"
+#include "code\modules\recycling\disposal\outlet.dm"
+#include "code\modules\recycling\disposal\pipe.dm"
+#include "code\modules\recycling\disposal\pipe_sorting.dm"
+#include "code\modules\research\designs.dm"
+#include "code\modules\research\destructive_analyzer.dm"
+#include "code\modules\research\experimentor.dm"
+#include "code\modules\research\rdconsole.dm"
+#include "code\modules\research\rdmachines.dm"
+#include "code\modules\research\research_disk.dm"
+#include "code\modules\research\server.dm"
+#include "code\modules\research\stock_parts.dm"
+#include "code\modules\research\designs\AI_module_designs.dm"
+#include "code\modules\research\designs\autobotter_designs.dm"
+#include "code\modules\research\designs\biogenerator_designs.dm"
+#include "code\modules\research\designs\bluespace_designs.dm"
+#include "code\modules\research\designs\computer_part_designs.dm"
+#include "code\modules\research\designs\electronics_designs.dm"
+#include "code\modules\research\designs\equipment_designs.dm"
+#include "code\modules\research\designs\limbgrower_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\nanite_designs.dm"
+#include "code\modules\research\designs\power_designs.dm"
+#include "code\modules\research\designs\smelting_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\designs\autolathe_desings\autolathe_designs_construction.dm"
+#include "code\modules\research\designs\autolathe_desings\autolathe_designs_electronics.dm"
+#include "code\modules\research\designs\autolathe_desings\autolathe_designs_medical_and_dinnerware.dm"
+#include "code\modules\research\designs\autolathe_desings\autolathe_designs_sec_and_hacked.dm"
+#include "code\modules\research\designs\autolathe_desings\autolathe_designs_tcomms_and_misc.dm"
+#include "code\modules\research\designs\autolathe_desings\autolathe_designs_tools.dm"
+#include "code\modules\research\designs\comp_board_designs\comp_board_designs_all_misc.dm"
+#include "code\modules\research\designs\comp_board_designs\comp_board_designs_cargo .dm"
+#include "code\modules\research\designs\comp_board_designs\comp_board_designs_engi.dm"
+#include "code\modules\research\designs\comp_board_designs\comp_board_designs_medical.dm"
+#include "code\modules\research\designs\comp_board_designs\comp_board_designs_sci.dm"
+#include "code\modules\research\designs\comp_board_designs\comp_board_designs_sec.dm"
+#include "code\modules\research\designs\machine_desings\machine_designs_all_misc.dm"
+#include "code\modules\research\designs\machine_desings\machine_designs_cargo.dm"
+#include "code\modules\research\designs\machine_desings\machine_designs_engi.dm"
+#include "code\modules\research\designs\machine_desings\machine_designs_medical.dm"
+#include "code\modules\research\designs\machine_desings\machine_designs_sci.dm"
+#include "code\modules\research\designs\machine_desings\machine_designs_service.dm"
+#include "code\modules\research\machinery\_production.dm"
+#include "code\modules\research\machinery\circuit_imprinter.dm"
+#include "code\modules\research\machinery\departmental_circuit_imprinter.dm"
+#include "code\modules\research\machinery\departmental_protolathe.dm"
+#include "code\modules\research\machinery\departmental_techfab.dm"
+#include "code\modules\research\machinery\protolathe.dm"
+#include "code\modules\research\machinery\techfab.dm"
+#include "code\modules\research\nanites\nanite_chamber.dm"
+#include "code\modules\research\nanites\nanite_chamber_computer.dm"
+#include "code\modules\research\nanites\nanite_cloud_controller.dm"
+#include "code\modules\research\nanites\nanite_hijacker.dm"
+#include "code\modules\research\nanites\nanite_misc_items.dm"
+#include "code\modules\research\nanites\nanite_program_hub.dm"
+#include "code\modules\research\nanites\nanite_programmer.dm"
+#include "code\modules\research\nanites\nanite_programs.dm"
+#include "code\modules\research\nanites\nanite_remote.dm"
+#include "code\modules\research\nanites\program_disks.dm"
+#include "code\modules\research\nanites\public_chamber.dm"
+#include "code\modules\research\nanites\nanite_programs\buffing.dm"
+#include "code\modules\research\nanites\nanite_programs\healing.dm"
+#include "code\modules\research\nanites\nanite_programs\rogue.dm"
+#include "code\modules\research\nanites\nanite_programs\sensor.dm"
+#include "code\modules\research\nanites\nanite_programs\suppression.dm"
+#include "code\modules\research\nanites\nanite_programs\utility.dm"
+#include "code\modules\research\nanites\nanite_programs\weapon.dm"
+#include "code\modules\research\techweb\__techweb_helpers.dm"
+#include "code\modules\research\techweb\_techweb.dm"
+#include "code\modules\research\techweb\_techweb_node.dm"
+#include "code\modules\research\techweb\all_nodes.dm"
+#include "code\modules\research\xenoarch\artifact.dm"
+#include "code\modules\research\xenoarch\artifact_list.dm"
+#include "code\modules\research\xenoarch\strange_rock.dm"
+#include "code\modules\research\xenoarch\tools.dm"
+#include "code\modules\research\xenoarch\xenobotany\grown\amauri.dm"
+#include "code\modules\research\xenoarch\xenobotany\grown\gelthi.dm"
+#include "code\modules\research\xenoarch\xenobotany\grown\jurlmah.dm"
+#include "code\modules\research\xenoarch\xenobotany\grown\nofruit.dm"
+#include "code\modules\research\xenoarch\xenobotany\grown\shand.dm"
+#include "code\modules\research\xenoarch\xenobotany\grown\surik.dm"
+#include "code\modules\research\xenoarch\xenobotany\grown\telriis.dm"
+#include "code\modules\research\xenoarch\xenobotany\grown\thaadra.dm"
+#include "code\modules\research\xenoarch\xenobotany\grown\vale.dm"
+#include "code\modules\research\xenoarch\xenobotany\grown\vaporsac.dm"
+#include "code\modules\research\xenobiology\xenobio_camera.dm"
+#include "code\modules\research\xenobiology\xenobiology.dm"
+#include "code\modules\research\xenobiology\crossbreeding\__corecross.dm"
+#include "code\modules\research\xenobiology\crossbreeding\_clothing.dm"
+#include "code\modules\research\xenobiology\crossbreeding\_misc.dm"
+#include "code\modules\research\xenobiology\crossbreeding\_mobs.dm"
+#include "code\modules\research\xenobiology\crossbreeding\_status_effects.dm"
+#include "code\modules\research\xenobiology\crossbreeding\_weapons.dm"
+#include "code\modules\research\xenobiology\crossbreeding\burning.dm"
+#include "code\modules\research\xenobiology\crossbreeding\charged.dm"
+#include "code\modules\research\xenobiology\crossbreeding\chilling.dm"
+#include "code\modules\research\xenobiology\crossbreeding\consuming.dm"
+#include "code\modules\research\xenobiology\crossbreeding\industrial.dm"
+#include "code\modules\research\xenobiology\crossbreeding\prismatic.dm"
+#include "code\modules\research\xenobiology\crossbreeding\recurring.dm"
+#include "code\modules\research\xenobiology\crossbreeding\regenerative.dm"
+#include "code\modules\research\xenobiology\crossbreeding\reproductive.dm"
+#include "code\modules\research\xenobiology\crossbreeding\selfsustaining.dm"
+#include "code\modules\research\xenobiology\crossbreeding\stabilized.dm"
+#include "code\modules\ruins\lavaland_ruin_code.dm"
+#include "code\modules\ruins\lavalandruin_code\biodome_clown_planet.dm"
+#include "code\modules\ruins\lavalandruin_code\pizzaparty.dm"
+#include "code\modules\ruins\lavalandruin_code\puzzle.dm"
+#include "code\modules\ruins\lavalandruin_code\sloth.dm"
+#include "code\modules\ruins\lavalandruin_code\surface.dm"
+#include "code\modules\ruins\lavalandruin_code\syndicate_base.dm"
+#include "code\modules\ruins\objects_and_mobs\ash_walker_den.dm"
+#include "code\modules\ruins\objects_and_mobs\necropolis_gate.dm"
+#include "code\modules\ruins\objects_and_mobs\sin_ruins.dm"
+#include "code\modules\ruins\spaceruin_code\asteroid4.dm"
+#include "code\modules\ruins\spaceruin_code\bigderelict1.dm"
+#include "code\modules\ruins\spaceruin_code\caravanambush.dm"
+#include "code\modules\ruins\spaceruin_code\cloning_lab.dm"
+#include "code\modules\ruins\spaceruin_code\crashedclownship.dm"
+#include "code\modules\ruins\spaceruin_code\crashedship.dm"
+#include "code\modules\ruins\spaceruin_code\deepstorage.dm"
+#include "code\modules\ruins\spaceruin_code\DJstation.dm"
+#include "code\modules\ruins\spaceruin_code\hilbertshotel.dm"
+#include "code\modules\ruins\spaceruin_code\listeningstation.dm"
+#include "code\modules\ruins\spaceruin_code\miracle.dm"
+#include "code\modules\ruins\spaceruin_code\oldstation.dm"
+#include "code\modules\ruins\spaceruin_code\originalcontent.dm"
+#include "code\modules\ruins\spaceruin_code\spacehotel.dm"
+#include "code\modules\ruins\spaceruin_code\TheDerelict.dm"
+#include "code\modules\ruins\spaceruin_code\whiteshipruin_box.dm"
+#include "code\modules\security_levels\keycard_authentication.dm"
+#include "code\modules\security_levels\security_levels.dm"
+#include "code\modules\shuttle\arrivals.dm"
+#include "code\modules\shuttle\assault_pod.dm"
+#include "code\modules\shuttle\computer.dm"
+#include "code\modules\shuttle\docking.dm"
+#include "code\modules\shuttle\elevator.dm"
+#include "code\modules\shuttle\emergency.dm"
+#include "code\modules\shuttle\ferry.dm"
+#include "code\modules\shuttle\manipulator.dm"
+#include "code\modules\shuttle\monastery.dm"
+#include "code\modules\shuttle\navigation_computer.dm"
+#include "code\modules\shuttle\on_move.dm"
+#include "code\modules\shuttle\ripple.dm"
+#include "code\modules\shuttle\shuttle.dm"
+#include "code\modules\shuttle\shuttle_rotate.dm"
+#include "code\modules\shuttle\special.dm"
+#include "code\modules\shuttle\supply.dm"
+#include "code\modules\shuttle\syndicate.dm"
+#include "code\modules\shuttle\white_ship.dm"
+#include "code\modules\spells\spell.dm"
+#include "code\modules\spells\spell_types\adminbussed.dm"
+#include "code\modules\spells\spell_types\aimed.dm"
+#include "code\modules\spells\spell_types\area_teleport.dm"
+#include "code\modules\spells\spell_types\barnyard.dm"
+#include "code\modules\spells\spell_types\bloodcrawl.dm"
+#include "code\modules\spells\spell_types\charge.dm"
+#include "code\modules\spells\spell_types\conjure.dm"
+#include "code\modules\spells\spell_types\construct_spells.dm"
+#include "code\modules\spells\spell_types\devil.dm"
+#include "code\modules\spells\spell_types\devil_boons.dm"
+#include "code\modules\spells\spell_types\dumbfire.dm"
+#include "code\modules\spells\spell_types\emplosion.dm"
+#include "code\modules\spells\spell_types\ethereal_jaunt.dm"
+#include "code\modules\spells\spell_types\explosion.dm"
+#include "code\modules\spells\spell_types\forcewall.dm"
+#include "code\modules\spells\spell_types\genetic.dm"
+#include "code\modules\spells\spell_types\godhand.dm"
+#include "code\modules\spells\spell_types\infinite_guns.dm"
+#include "code\modules\spells\spell_types\inflict_handler.dm"
+#include "code\modules\spells\spell_types\knock.dm"
+#include "code\modules\spells\spell_types\lichdom.dm"
+#include "code\modules\spells\spell_types\lightning.dm"
+#include "code\modules\spells\spell_types\mime.dm"
+#include "code\modules\spells\spell_types\mind_transfer.dm"
+#include "code\modules\spells\spell_types\projectile.dm"
+#include "code\modules\spells\spell_types\rightandwrong.dm"
+#include "code\modules\spells\spell_types\rod_form.dm"
+#include "code\modules\spells\spell_types\santa.dm"
+#include "code\modules\spells\spell_types\shadow_walk.dm"
+#include "code\modules\spells\spell_types\shapeshift.dm"
+#include "code\modules\spells\spell_types\spacetime_distortion.dm"
+#include "code\modules\spells\spell_types\summonitem.dm"
+#include "code\modules\spells\spell_types\taeclowndo.dm"
+#include "code\modules\spells\spell_types\telepathy.dm"
+#include "code\modules\spells\spell_types\the_traps.dm"
+#include "code\modules\spells\spell_types\touch_attacks.dm"
+#include "code\modules\spells\spell_types\trigger.dm"
+#include "code\modules\spells\spell_types\turf_teleport.dm"
+#include "code\modules\spells\spell_types\voice_of_god.dm"
+#include "code\modules\spells\spell_types\wizard.dm"
+#include "code\modules\station_goals\bsa.dm"
+#include "code\modules\station_goals\dna_vault.dm"
+#include "code\modules\station_goals\shield.dm"
+#include "code\modules\station_goals\station_goal.dm"
+#include "code\modules\surgery\amputation.dm"
+#include "code\modules\surgery\brain_surgery.dm"
+#include "code\modules\surgery\breast_augmentation.dm"
+#include "code\modules\surgery\cavity_implant.dm"
+#include "code\modules\surgery\core_removal.dm"
+#include "code\modules\surgery\coronary_bypass.dm"
+#include "code\modules\surgery\dental_implant.dm"
+#include "code\modules\surgery\embalming.dm"
+#include "code\modules\surgery\experimental_dissection.dm"
+#include "code\modules\surgery\eye_surgery.dm"
+#include "code\modules\surgery\graft_synthtissue.dm"
+#include "code\modules\surgery\healing.dm"
+#include "code\modules\surgery\helpers.dm"
+#include "code\modules\surgery\implant_removal.dm"
+#include "code\modules\surgery\limb_augmentation.dm"
+#include "code\modules\surgery\lipoplasty.dm"
+#include "code\modules\surgery\lobectomy.dm"
+#include "code\modules\surgery\mechanic_steps.dm"
+#include "code\modules\surgery\nutcracker.dm"
+#include "code\modules\surgery\organ_manipulation.dm"
+#include "code\modules\surgery\organic_steps.dm"
+#include "code\modules\surgery\penis_augmentation.dm"
+#include "code\modules\surgery\plastic_surgery.dm"
+#include "code\modules\surgery\prosthetic_replacement.dm"
+#include "code\modules\surgery\remove_embedded_object.dm"
+#include "code\modules\surgery\surgery.dm"
+#include "code\modules\surgery\surgery_step.dm"
+#include "code\modules\surgery\tools.dm"
+#include "code\modules\surgery\advanced\brainwashing.dm"
+#include "code\modules\surgery\advanced\lobotomy.dm"
+#include "code\modules\surgery\advanced\necrotic_revival.dm"
+#include "code\modules\surgery\advanced\pacification.dm"
+#include "code\modules\surgery\advanced\revival.dm"
+#include "code\modules\surgery\advanced\toxichealing.dm"
+#include "code\modules\surgery\advanced\viral_bonding.dm"
+#include "code\modules\surgery\advanced\bioware\bioware.dm"
+#include "code\modules\surgery\advanced\bioware\bioware_surgery.dm"
+#include "code\modules\surgery\advanced\bioware\ligament_hook.dm"
+#include "code\modules\surgery\advanced\bioware\ligament_reinforcement.dm"
+#include "code\modules\surgery\advanced\bioware\muscled_veins.dm"
+#include "code\modules\surgery\advanced\bioware\nerve_grounding.dm"
+#include "code\modules\surgery\advanced\bioware\nerve_splicing.dm"
+#include "code\modules\surgery\advanced\bioware\vein_threading.dm"
+#include "code\modules\surgery\bodyparts\bodyparts.dm"
+#include "code\modules\surgery\bodyparts\broken.dm"
+#include "code\modules\surgery\bodyparts\dismemberment.dm"
+#include "code\modules\surgery\bodyparts\head.dm"
+#include "code\modules\surgery\bodyparts\helpers.dm"
+#include "code\modules\surgery\bodyparts\robot_bodyparts.dm"
+#include "code\modules\surgery\organs\appendix.dm"
+#include "code\modules\surgery\organs\augments_arms.dm"
+#include "code\modules\surgery\organs\augments_chest.dm"
+#include "code\modules\surgery\organs\augments_eyes.dm"
+#include "code\modules\surgery\organs\augments_internal.dm"
+#include "code\modules\surgery\organs\autosurgeon.dm"
+#include "code\modules\surgery\organs\ears.dm"
+#include "code\modules\surgery\organs\eyes.dm"
+#include "code\modules\surgery\organs\heart.dm"
+#include "code\modules\surgery\organs\helpers.dm"
+#include "code\modules\surgery\organs\liver.dm"
+#include "code\modules\surgery\organs\lungs.dm"
+#include "code\modules\surgery\organs\organ_internal.dm"
+#include "code\modules\surgery\organs\stomach.dm"
+#include "code\modules\surgery\organs\tails.dm"
+#include "code\modules\surgery\organs\tongue.dm"
+#include "code\modules\surgery\organs\vocal_cords.dm"
+#include "code\modules\tgs\includes.dm"
+#include "code\modules\tgui\external.dm"
+#include "code\modules\tgui\states.dm"
+#include "code\modules\tgui\subsystem.dm"
+#include "code\modules\tgui\tgui.dm"
+#include "code\modules\tgui\states\admin.dm"
+#include "code\modules\tgui\states\always.dm"
+#include "code\modules\tgui\states\conscious.dm"
+#include "code\modules\tgui\states\contained.dm"
+#include "code\modules\tgui\states\deep_inventory.dm"
+#include "code\modules\tgui\states\default.dm"
+#include "code\modules\tgui\states\hands.dm"
+#include "code\modules\tgui\states\human_adjacent.dm"
+#include "code\modules\tgui\states\inventory.dm"
+#include "code\modules\tgui\states\language_menu.dm"
+#include "code\modules\tgui\states\not_incapacitated.dm"
+#include "code\modules\tgui\states\notcontained.dm"
+#include "code\modules\tgui\states\observer.dm"
+#include "code\modules\tgui\states\physical.dm"
+#include "code\modules\tgui\states\self.dm"
+#include "code\modules\tgui\states\zlevel.dm"
+#include "code\modules\tooltip\tooltip.dm"
+#include "code\modules\unit_tests\_unit_tests.dm"
+#include "code\modules\uplink\uplink_devices.dm"
+#include "code\modules\uplink\uplink_items.dm"
+#include "code\modules\uplink\uplink_purchase_log.dm"
+#include "code\modules\vehicles\_vehicle.dm"
+#include "code\modules\vehicles\atv.dm"
+#include "code\modules\vehicles\bicycle.dm"
+#include "code\modules\vehicles\lavaboat.dm"
+#include "code\modules\vehicles\motorized_wheelchair.dm"
+#include "code\modules\vehicles\pimpin_ride.dm"
+#include "code\modules\vehicles\ridden.dm"
+#include "code\modules\vehicles\scooter.dm"
+#include "code\modules\vehicles\sealed.dm"
+#include "code\modules\vehicles\secway.dm"
+#include "code\modules\vehicles\speedbike.dm"
+#include "code\modules\vehicles\vehicle_actions.dm"
+#include "code\modules\vehicles\vehicle_key.dm"
+#include "code\modules\vehicles\wheelchair.dm"
+#include "code\modules\vehicles\cars\car.dm"
+#include "code\modules\vehicles\cars\clowncar.dm"
+#include "code\modules\vending\_vending.dm"
+#include "code\modules\vending\assist.dm"
+#include "code\modules\vending\autodrobe.dm"
+#include "code\modules\vending\boozeomat.dm"
+#include "code\modules\vending\cartridge.dm"
+#include "code\modules\vending\cigarette.dm"
+#include "code\modules\vending\clothesmate.dm"
+#include "code\modules\vending\coffee.dm"
+#include "code\modules\vending\cola.dm"
+#include "code\modules\vending\drinnerware.dm"
+#include "code\modules\vending\engineering.dm"
+#include "code\modules\vending\engivend.dm"
+#include "code\modules\vending\games.dm"
+#include "code\modules\vending\liberation.dm"
+#include "code\modules\vending\liberation_toy.dm"
+#include "code\modules\vending\magivend.dm"
+#include "code\modules\vending\medical.dm"
+#include "code\modules\vending\medical_wall.dm"
+#include "code\modules\vending\megaseed.dm"
+#include "code\modules\vending\nutrimax.dm"
+#include "code\modules\vending\plasmaresearch.dm"
+#include "code\modules\vending\robotics.dm"
+#include "code\modules\vending\security.dm"
+#include "code\modules\vending\snack.dm"
+#include "code\modules\vending\sovietsoda.dm"
+#include "code\modules\vending\sustenance.dm"
+#include "code\modules\vending\toys.dm"
+#include "code\modules\vending\wardrobes.dm"
+#include "code\modules\vending\youtool.dm"
+#include "code\modules\VR\vr_human.dm"
+#include "code\modules\VR\vr_sleeper.dm"
+#include "code\modules\zombie\items.dm"
+#include "code\modules\zombie\organs.dm"
+#include "hyperstation\code\datums\elements\holder_micro.dm"
+#include "hyperstation\code\datums\mood_events\events.dm"
+#include "hyperstation\code\datums\ruins\lavaland.dm"
+#include "hyperstation\code\datums\traits\good.dm"
+#include "hyperstation\code\datums\traits\neutral.dm"
+#include "hyperstation\code\game\objects\structures\ghost_role_spawners.dm"
+#include "hyperstation\code\gamemode\traitor_lewd.dm"
+#include "hyperstation\code\gamemode\traitor_thief.dm"
+#include "hyperstation\code\gamemode\werewolf\werewolf.dm"
+#include "hyperstation\code\mobs\carrion.dm"
+#include "hyperstation\code\mobs\hugbot.dm"
+#include "hyperstation\code\mobs\mimic.dm"
+#include "hyperstation\code\mobs\werewolf.dm"
+#include "hyperstation\code\modules\traits.dm"
+#include "hyperstation\code\modules\antagonists\werewolf\werewolf.dm"
+#include "hyperstation\code\modules\arousal\arousalhud.dm"
+#include "hyperstation\code\modules\client\loadout\glasses.dm"
+#include "hyperstation\code\modules\client\loadout\tablet.dm"
+#include "hyperstation\code\modules\clothing\head.dm"
+#include "hyperstation\code\modules\clothing\glasses\polychromic_glasses.dm"
+#include "hyperstation\code\modules\clothing\spacesuits\hardsuit.dm"
+#include "hyperstation\code\modules\clothing\suits\misc.dm"
+#include "hyperstation\code\modules\crafting\bounties.dm"
+#include "hyperstation\code\modules\crafting\recipes.dm"
+#include "hyperstation\code\modules\integrated_electronics\input.dm"
+#include "hyperstation\code\modules\mob\mob_helpers.dm"
+#include "hyperstation\code\modules\patreon\patreon.dm"
+#include "hyperstation\code\modules\resize\resizing.dm"
+#include "hyperstation\code\modules\resize\sizechems.dm"
+#include "hyperstation\code\modules\resize\sizegun.dm"
+#include "hyperstation\code\obj\bluespace sewing kit.dm"
+#include "hyperstation\code\obj\condom.dm"
+#include "hyperstation\code\obj\decal.dm"
+#include "hyperstation\code\obj\fluff.dm"
+#include "hyperstation\code\obj\kinkyclothes.dm"
+#include "hyperstation\code\obj\leash.dm"
+#include "hyperstation\code\obj\lunaritems.dm"
+#include "hyperstation\code\obj\milking machine.dm"
+#include "hyperstation\code\obj\plushes.dm"
+#include "hyperstation\code\obj\pregnancytester.dm"
+#include "hyperstation\code\obj\rewards.dm"
+#include "hyperstation\code\obj\rope.dm"
+#include "hyperstation\code\obj\sounding.dm"
+#include "interface\interface.dm"
+#include "interface\menu.dm"
+#include "interface\stylesheet.dm"
+#include "interface\skin.dmf"
+#include "modular_citadel\code\init.dm"
+#include "modular_citadel\code\__HELPERS\list2list.dm"
+#include "modular_citadel\code\__HELPERS\lists.dm"
+#include "modular_citadel\code\__HELPERS\mobs.dm"
+#include "modular_citadel\code\_globalvars\lists\mobs.dm"
+#include "modular_citadel\code\_onclick\click.dm"
+#include "modular_citadel\code\_onclick\item_attack.dm"
+#include "modular_citadel\code\_onclick\other_mobs.dm"
+#include "modular_citadel\code\_onclick\hud\screen_objects.dm"
+#include "modular_citadel\code\_onclick\hud\sprint.dm"
+#include "modular_citadel\code\_onclick\hud\stamina.dm"
+#include "modular_citadel\code\controllers\configuration\entries\general.dm"
+#include "modular_citadel\code\controllers\subsystem\job.dm"
+#include "modular_citadel\code\datums\components\material_container.dm"
+#include "modular_citadel\code\datums\components\phantomthief.dm"
+#include "modular_citadel\code\datums\components\souldeath.dm"
+#include "modular_citadel\code\datums\mood_events\chem_events.dm"
+#include "modular_citadel\code\datums\mood_events\generic_negative_events.dm"
+#include "modular_citadel\code\datums\mood_events\generic_positive_events.dm"
+#include "modular_citadel\code\datums\mood_events\moodular.dm"
+#include "modular_citadel\code\datums\mutations\hulk.dm"
+#include "modular_citadel\code\datums\status_effects\chems.dm"
+#include "modular_citadel\code\datums\status_effects\debuffs.dm"
+#include "modular_citadel\code\datums\traits\negative.dm"
+#include "modular_citadel\code\datums\traits\neutral.dm"
+#include "modular_citadel\code\datums\wires\airlock.dm"
+#include "modular_citadel\code\datums\wires\autoylathe.dm"
+#include "modular_citadel\code\game\area\cit_areas.dm"
+#include "modular_citadel\code\game\gamemodes\gangs\dominator.dm"
+#include "modular_citadel\code\game\gamemodes\gangs\dominator_countdown.dm"
+#include "modular_citadel\code\game\gamemodes\gangs\gang.dm"
+#include "modular_citadel\code\game\gamemodes\gangs\gang_datums.dm"
+#include "modular_citadel\code\game\gamemodes\gangs\gang_decals.dm"
+#include "modular_citadel\code\game\gamemodes\gangs\gang_hud.dm"
+#include "modular_citadel\code\game\gamemodes\gangs\gang_items.dm"
+#include "modular_citadel\code\game\gamemodes\gangs\gang_pen.dm"
+#include "modular_citadel\code\game\gamemodes\gangs\gangs.dm"
+#include "modular_citadel\code\game\gamemodes\gangs\gangtool.dm"
+#include "modular_citadel\code\game\gamemodes\gangs\implant_gang.dm"
+#include "modular_citadel\code\game\gamemodes\miniantags\bot_swarm\swarmer_event.dm"
+#include "modular_citadel\code\game\gamemodes\revolution\revolution.dm"
+#include "modular_citadel\code\game\machinery\cryopod.dm"
+#include "modular_citadel\code\game\machinery\displaycases.dm"
+#include "modular_citadel\code\game\machinery\Sleeper.dm"
+#include "modular_citadel\code\game\machinery\toylathe.dm"
+#include "modular_citadel\code\game\machinery\vending.dm"
+#include "modular_citadel\code\game\machinery\wishgranter.dm"
+#include "modular_citadel\code\game\machinery\doors\airlock.dm"
+#include "modular_citadel\code\game\machinery\doors\airlock_types.dm"
+#include "modular_citadel\code\game\objects\cit_screenshake.dm"
+#include "modular_citadel\code\game\objects\items.dm"
+#include "modular_citadel\code\game\objects\tools.dm"
+#include "modular_citadel\code\game\objects\effects\spawner\spawners.dm"
+#include "modular_citadel\code\game\objects\effects\temporary_visuals\souldeath.dm"
+#include "modular_citadel\code\game\objects\effects\temporary_visuals\projectiles\impact.dm"
+#include "modular_citadel\code\game\objects\effects\temporary_visuals\projectiles\muzzle.dm"
+#include "modular_citadel\code\game\objects\effects\temporary_visuals\projectiles\tracer.dm"
+#include "modular_citadel\code\game\objects\items\balls.dm"
+#include "modular_citadel\code\game\objects\items\boombox.dm"
+#include "modular_citadel\code\game\objects\items\holy_weapons.dm"
+#include "modular_citadel\code\game\objects\items\honk.dm"
+#include "modular_citadel\code\game\objects\items\stunsword.dm"
+#include "modular_citadel\code\game\objects\items\vending_items.dm"
+#include "modular_citadel\code\game\objects\items\circuitboards\machine_circuitboards.dm"
+#include "modular_citadel\code\game\objects\items\devices\aicard.dm"
+#include "modular_citadel\code\game\objects\items\devices\radio\encryptionkey.dm"
+#include "modular_citadel\code\game\objects\items\devices\radio\headset.dm"
+#include "modular_citadel\code\game\objects\items\devices\radio\shockcollar.dm"
+#include "modular_citadel\code\game\objects\items\melee\eutactic_blades.dm"
+#include "modular_citadel\code\game\objects\items\melee\misc.dm"
+#include "modular_citadel\code\game\objects\items\robot\robot_upgrades.dm"
+#include "modular_citadel\code\game\objects\items\storage\firstaid.dm"
+#include "modular_citadel\code\game\objects\structures\tables_racks.dm"
+#include "modular_citadel\code\game\objects\structures\beds_chairs\chair.dm"
+#include "modular_citadel\code\game\objects\structures\beds_chairs\sofa.dm"
+#include "modular_citadel\code\game\objects\structures\crates_lockers\closets\fitness.dm"
+#include "modular_citadel\code\game\objects\structures\crates_lockers\closets\wardrobe.dm"
+#include "modular_citadel\code\game\objects\structures\crates_lockers\closets\secure\citadel_lockers.dm"
+#include "modular_citadel\code\game\turfs\cit_turfs.dm"
+#include "modular_citadel\code\modules\admin\chat_commands.dm"
+#include "modular_citadel\code\modules\admin\holder2.dm"
+#include "modular_citadel\code\modules\admin\secrets.dm"
+#include "modular_citadel\code\modules\arousal\arousal.dm"
+#include "modular_citadel\code\modules\arousal\organs\breasts.dm"
+#include "modular_citadel\code\modules\arousal\organs\eggsack.dm"
+#include "modular_citadel\code\modules\arousal\organs\genitals.dm"
+#include "modular_citadel\code\modules\arousal\organs\genitals_sprite_accessories.dm"
+#include "modular_citadel\code\modules\arousal\organs\ovipositor.dm"
+#include "modular_citadel\code\modules\arousal\organs\penis.dm"
+#include "modular_citadel\code\modules\arousal\organs\testicles.dm"
+#include "modular_citadel\code\modules\arousal\organs\vagina.dm"
+#include "modular_citadel\code\modules\arousal\organs\womb.dm"
+#include "modular_citadel\code\modules\arousal\toys\dildos.dm"
+#include "modular_citadel\code\modules\awaymissions\citadel_ghostrole_spawners.dm"
+#include "modular_citadel\code\modules\cargo\console.dm"
+#include "modular_citadel\code\modules\client\client_defines.dm"
+#include "modular_citadel\code\modules\client\client_procs.dm"
+#include "modular_citadel\code\modules\client\preferences.dm"
+#include "modular_citadel\code\modules\client\preferences_savefile.dm"
+#include "modular_citadel\code\modules\client\preferences_toggles.dm"
+#include "modular_citadel\code\modules\client\loadout\__donator.dm"
+#include "modular_citadel\code\modules\client\loadout\_medical.dm"
+#include "modular_citadel\code\modules\client\loadout\_security.dm"
+#include "modular_citadel\code\modules\client\loadout\_service.dm"
+#include "modular_citadel\code\modules\client\loadout\backpack.dm"
+#include "modular_citadel\code\modules\client\loadout\glasses.dm"
+#include "modular_citadel\code\modules\client\loadout\gloves.dm"
+#include "modular_citadel\code\modules\client\loadout\hands.dm"
+#include "modular_citadel\code\modules\client\loadout\head.dm"
+#include "modular_citadel\code\modules\client\loadout\loadout.dm"
+#include "modular_citadel\code\modules\client\loadout\mask.dm"
+#include "modular_citadel\code\modules\client\loadout\neck.dm"
+#include "modular_citadel\code\modules\client\loadout\shoes.dm"
+#include "modular_citadel\code\modules\client\loadout\suit.dm"
+#include "modular_citadel\code\modules\client\loadout\uniform.dm"
+#include "modular_citadel\code\modules\client\verbs\who.dm"
+#include "modular_citadel\code\modules\clothing\clothing.dm"
+#include "modular_citadel\code\modules\clothing\neck.dm"
+#include "modular_citadel\code\modules\clothing\glasses\phantomthief.dm"
+#include "modular_citadel\code\modules\clothing\head\head.dm"
+#include "modular_citadel\code\modules\clothing\spacesuits\flightsuit.dm"
+#include "modular_citadel\code\modules\clothing\suits\polychromic_cloaks.dm"
+#include "modular_citadel\code\modules\clothing\suits\polychromic_suit.dm"
+#include "modular_citadel\code\modules\clothing\suits\suits.dm"
+#include "modular_citadel\code\modules\clothing\under\polychromic_clothes.dm"
+#include "modular_citadel\code\modules\clothing\under\trek_under.dm"
+#include "modular_citadel\code\modules\clothing\under\turtlenecks.dm"
+#include "modular_citadel\code\modules\clothing\under\under.dm"
+#include "modular_citadel\code\modules\crafting\recipes.dm"
+#include "modular_citadel\code\modules\custom_loadout\custom_items.dm"
+#include "modular_citadel\code\modules\custom_loadout\load_to_mob.dm"
+#include "modular_citadel\code\modules\custom_loadout\read_from_file.dm"
+#include "modular_citadel\code\modules\events\blob.dm"
+#include "modular_citadel\code\modules\events\wizard\magicarp.dm"
+#include "modular_citadel\code\modules\integrated_electronics\subtypes\manipulation.dm"
+#include "modular_citadel\code\modules\jobs\dresscode_values.dm"
+#include "modular_citadel\code\modules\mentor\follow.dm"
+#include "modular_citadel\code\modules\mentor\mentor.dm"
+#include "modular_citadel\code\modules\mentor\mentor_memo.dm"
+#include "modular_citadel\code\modules\mentor\mentor_verbs.dm"
+#include "modular_citadel\code\modules\mentor\mentorhelp.dm"
+#include "modular_citadel\code\modules\mentor\mentorpm.dm"
+#include "modular_citadel\code\modules\mentor\mentorsay.dm"
+#include "modular_citadel\code\modules\mining\mining_ruins.dm"
+#include "modular_citadel\code\modules\mob\cit_emotes.dm"
+#include "modular_citadel\code\modules\mob\dead\new_player\sprite_accessories.dm"
+#include "modular_citadel\code\modules\mob\living\damage_procs.dm"
+#include "modular_citadel\code\modules\mob\living\living.dm"
+#include "modular_citadel\code\modules\mob\living\carbon\carbon.dm"
+#include "modular_citadel\code\modules\mob\living\carbon\damage_procs.dm"
+#include "modular_citadel\code\modules\mob\living\carbon\life.dm"
+#include "modular_citadel\code\modules\mob\living\carbon\reindex_screams.dm"
+#include "modular_citadel\code\modules\mob\living\carbon\human\human.dm"
+#include "modular_citadel\code\modules\mob\living\carbon\human\human_defense.dm"
+#include "modular_citadel\code\modules\mob\living\carbon\human\human_movement.dm"
+#include "modular_citadel\code\modules\mob\living\carbon\human\life.dm"
+#include "modular_citadel\code\modules\mob\living\carbon\human\species.dm"
+#include "modular_citadel\code\modules\mob\living\carbon\human\species_types\furrypeople.dm"
+#include "modular_citadel\code\modules\mob\living\carbon\human\species_types\ipc.dm"
+#include "modular_citadel\code\modules\mob\living\carbon\human\species_types\jellypeople.dm"
+#include "modular_citadel\code\modules\mob\living\silicon\robot\dogborg_equipment.dm"
+#include "modular_citadel\code\modules\mob\living\silicon\robot\robot.dm"
+#include "modular_citadel\code\modules\mob\living\silicon\robot\robot_modules.dm"
+#include "modular_citadel\code\modules\mob\living\silicon\robot\robot_movement.dm"
+#include "modular_citadel\code\modules\mob\living\simple_animal\banana_spider.dm"
+#include "modular_citadel\code\modules\mob\living\simple_animal\kiwi.dm"
+#include "modular_citadel\code\modules\mob\living\simple_animal\simplemob_vore_values.dm"
+#include "modular_citadel\code\modules\power\lighting.dm"
+#include "modular_citadel\code\modules\projectiles\gun.dm"
+#include "modular_citadel\code\modules\projectiles\ammunition\caseless.dm"
+#include "modular_citadel\code\modules\projectiles\ammunition\ballistic\smg\smg.dm"
+#include "modular_citadel\code\modules\projectiles\boxes_magazines\ammo_boxes.dm"
+#include "modular_citadel\code\modules\projectiles\boxes_magazines\external\pistol.dm"
+#include "modular_citadel\code\modules\projectiles\boxes_magazines\external\smg\smg.dm"
+#include "modular_citadel\code\modules\projectiles\bullets\bullets\smg.dm"
+#include "modular_citadel\code\modules\projectiles\guns\pumpenergy.dm"
+#include "modular_citadel\code\modules\projectiles\guns\toys.dm"
+#include "modular_citadel\code\modules\projectiles\guns\ballistic\handguns.dm"
+#include "modular_citadel\code\modules\projectiles\guns\ballistic\magweapon.dm"
+#include "modular_citadel\code\modules\projectiles\guns\ballistic\magweapon_energy.dm"
+#include "modular_citadel\code\modules\projectiles\guns\ballistic\revolver.dm"
+#include "modular_citadel\code\modules\projectiles\guns\ballistic\rifles.dm"
+#include "modular_citadel\code\modules\projectiles\guns\ballistic\spinfusor.dm"
+#include "modular_citadel\code\modules\projectiles\guns\energy\energy_gun.dm"
+#include "modular_citadel\code\modules\projectiles\guns\energy\laser.dm"
+#include "modular_citadel\code\modules\projectiles\projectiles\reusable.dm"
+#include "modular_citadel\code\modules\reagents\chemistry\reagents\astrogen.dm"
+#include "modular_citadel\code\modules\reagents\chemistry\reagents\eigentstasium.dm"
+#include "modular_citadel\code\modules\reagents\chemistry\reagents\enlargement.dm"
+#include "modular_citadel\code\modules\reagents\chemistry\reagents\fermi_reagents.dm"
+#include "modular_citadel\code\modules\reagents\chemistry\reagents\healing.dm"
+#include "modular_citadel\code\modules\reagents\chemistry\reagents\MKUltra.dm"
+#include "modular_citadel\code\modules\reagents\chemistry\reagents\other_reagents.dm"
+#include "modular_citadel\code\modules\reagents\chemistry\reagents\SDGF.dm"
+#include "modular_citadel\code\modules\reagents\chemistry\recipes\fermi.dm"
+#include "modular_citadel\code\modules\reagents\objects\clothes.dm"
+#include "modular_citadel\code\modules\reagents\objects\items.dm"
+#include "modular_citadel\code\modules\reagents\reagents\cit_reagents.dm"
+#include "modular_citadel\code\modules\recycling\disposal\bin.dm"
+#include "modular_citadel\code\modules\research\designs\autoylathe_designs.dm"
+#include "modular_citadel\code\modules\research\designs\machine_designs.dm"
+#include "modular_citadel\code\modules\research\designs\xenobio_designs.dm"
+#include "modular_citadel\code\modules\research\techweb\_techweb.dm"
+#include "modular_citadel\code\modules\research\xenobiology\xenobio_camera.dm"
+#include "modular_citadel\code\modules\vehicles\secway.dm"
+#include "modular_citadel\code\modules\vore\hook-defs_vr.dm"
+#include "modular_citadel\code\modules\vore\persistence.dm"
+#include "modular_citadel\code\modules\vore\trycatch_vr.dm"
+#include "modular_citadel\code\modules\vore\eating\belly_dat_vr.dm"
+#include "modular_citadel\code\modules\vore\eating\belly_obj_vr.dm"
+#include "modular_citadel\code\modules\vore\eating\bellymodes_vr.dm"
+#include "modular_citadel\code\modules\vore\eating\digest_act_vr.dm"
+#include "modular_citadel\code\modules\vore\eating\living_vr.dm"
+#include "modular_citadel\code\modules\vore\eating\vore_vr.dm"
+#include "modular_citadel\code\modules\vore\eating\voreitems.dm"
+#include "modular_citadel\code\modules\vore\eating\vorepanel_vr.dm"
+#include "modular_citadel\interface\skin.dmf"
+#include "yogstation\code\modules\power\energyharvester.dm"
+// END_INCLUDE