diff --git a/code/modules/mapping/mapping_helpers/network_builder/_network_builder.dm b/code/modules/mapping/mapping_helpers/network_builder/_network_builder.dm index b5cd470a32..585e05bd57 100644 --- a/code/modules/mapping/mapping_helpers/network_builder/_network_builder.dm +++ b/code/modules/mapping/mapping_helpers/network_builder/_network_builder.dm @@ -1,13 +1,15 @@ //Builds networks like power cables/atmos lines/etc //Just a holder parent type for now.. -/obj/effect/network_builder +/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' + /// what directions we know connections are in var/list/network_directions -/obj/effect/network_builder/Initialize(mapload) +/obj/effect/mapping_helpers/network_builder/Initialize(mapload) . = ..() var/conflict = check_duplicates() if(conflict) @@ -22,17 +24,17 @@ 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/network_builder/LateInitialize() +/obj/effect/mapping_helpers/network_builder/LateInitialize() scan_directions() build_network() if(!custom_spawned) qdel(src) -/obj/effect/network_builder/proc/check_duplicates() +/obj/effect/mapping_helpers/network_builder/proc/check_duplicates() CRASH("Base abstract network builder tried to check duplicates.") -/obj/effect/network_builder/proc/scan_directions() +/obj/effect/mapping_helpers/network_builder/proc/scan_directions() CRASH("Base abstract network builder tried to scan directions.") -/obj/effect/network_builder/proc/build_network() +/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 index 3c7bcc3bb0..0c39e517b3 100644 --- a/code/modules/mapping/mapping_helpers/network_builder/atmos_pipe.dm +++ b/code/modules/mapping/mapping_helpers/network_builder/atmos_pipe.dm @@ -5,7 +5,7 @@ /* 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/network_builder/atmos_pipe +/obj/effect/mapping_helpers/network_builder/atmos_pipe name = "atmos pipe autobuilder" icon_state = "atmospipebuilder" @@ -20,8 +20,10 @@ color = null -/obj/effect/network_builder/atmos_pipe/check_duplicates() - for(var/obj/effect/network_builder/atmos_pipe/other in loc) +/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) @@ -32,7 +34,7 @@ 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/network_builder/atmos_pipe/scan_directions() +/obj/effect/mapping_helpers/network_builder/atmos_pipe/scan_directions() var/turf/T for(var/i in GLOB.cardinals) if(i in network_directions) @@ -41,7 +43,7 @@ if(!T) continue var/found = FALSE - for(var/obj/effect/network_builder/atmos_pipe/other in T) + for(var/obj/effect/mapping_helpers/network_builder/atmos_pipe/other in T) if(other.pipe_layer == pipe_layer) network_directions += i LAZYADD(other.network_directions, turn(i, 180)) @@ -56,7 +58,7 @@ return network_directions /// Directions should only ever have cardinals. -/obj/effect/network_builder/atmos_pipe/build_network(list/directions = network_directions) +/obj/effect/mapping_helpers/network_builder/atmos_pipe/build_network(list/directions = network_directions) if(!length(directions) <= 1) return var/obj/machinery/atmospherics/pipe/built @@ -74,7 +76,7 @@ built.SetInitDirections() built.on_construction(pipe_color, pipe_layer) -/obj/effect/network_builder/atmos_pipe/distro +/obj/effect/mapping_helpers/network_builder/atmos_pipe/distro name = "distro line autobuilder" pipe_layer = PIPING_LAYER_MIN pixel_x = -PIPING_LAYER_P_X @@ -82,7 +84,7 @@ pipe_color = rgb(130,43,255) color = rgb(130,43,255) -/obj/effect/network_builder/atmos_pipe/scrubbers +/obj/effect/mapping_helpers/network_builder/atmos_pipe/scrubbers name = "scrubbers line autobuilder" pipe_layer = PIPING_LAYER_MAX pixel_x = PIPING_LAYER_P_X diff --git a/code/modules/mapping/mapping_helpers/network_builder/power_cables.dm b/code/modules/mapping/mapping_helpers/network_builder/power_cables.dm index f6da49c255..419004468a 100644 --- a/code/modules/mapping/mapping_helpers/network_builder/power_cables.dm +++ b/code/modules/mapping/mapping_helpers/network_builder/power_cables.dm @@ -3,7 +3,7 @@ #define KNOT_FORCED 2 /// Automatically links on init to power cables and other cable builder helpers. Only supports cardinals. -/obj/effect/network_builder/power_cable +/obj/effect/mapping_helpers/network_builder/power_cable name = "power line autobuilder" icon_state = "powerlinebuilder" @@ -16,11 +16,17 @@ var/cable_color = "red" -/obj/effect/network_builder/power_cable/check_duplicates() - return (locate(/obj/structure/cable) in loc) || (locate(/obj/effect/network_builder/power_cable) in loc) +/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/network_builder/power_cable/scan_directions() +/obj/effect/mapping_helpers/network_builder/power_cable/scan_directions() var/turf/T for(var/i in GLOB.cardinals) if(i in network_directions) @@ -28,7 +34,7 @@ T = get_step(loc, i) if(!T) continue - var/obj/effect/network_builder/power_cable/other = locate() in T + var/obj/effect/mapping_helpers/network_builder/power_cable/other = locate() in T if(other) network_directions += i LAZYADD(other.network_directions, turn(i, 180)) @@ -40,7 +46,7 @@ return network_directions /// Directions should only ever have cardinals. -/obj/effect/network_builder/power_cable/build_network(list/directions = network_directions) +/obj/effect/mapping_helpers/network_builder/power_cable/build_network(list/directions = network_directions) if(!length(directions)) return else if(length(directions) == 1) @@ -63,117 +69,117 @@ new /obj/structure/cable(loc, cable_color, NONE, directions[i]) do_knot = FALSE -/obj/effect/network_builder/power_cable/proc/should_auto_knot() +/obj/effect/mapping_helpers/network_builder/power_cable/proc/should_auto_knot() return (locate(/obj/machinery/power/terminal) in loc) -/obj/effect/network_builder/power_cable/knot +/obj/effect/mapping_helpers/network_builder/power_cable/knot icon_state = "powerlinebuilderknot" knot = KNOT_FORCED -/obj/effect/network_builder/power_cable/auto +/obj/effect/mapping_helpers/network_builder/power_cable/auto icon_state = "powerlinebuilderauto" knot = KNOT_AUTO // Red -/obj/effect/network_builder/power_cable/red +/obj/effect/mapping_helpers/network_builder/power_cable/red color = "#ff0000" cable_color = "red" -/obj/effect/network_builder/power_cable/red/knot +/obj/effect/mapping_helpers/network_builder/power_cable/red/knot icon_state = "powerlinebuilderknot" knot = KNOT_FORCED -/obj/effect/network_builder/power_cable/red/auto +/obj/effect/mapping_helpers/network_builder/power_cable/red/auto icon_state = "powerlinebuilderauto" knot = KNOT_AUTO // White -/obj/effect/network_builder/power_cable/white +/obj/effect/mapping_helpers/network_builder/power_cable/white color = "#ffffff" cable_color = "white" -/obj/effect/network_builder/power_cable/white/knot +/obj/effect/mapping_helpers/network_builder/power_cable/white/knot icon_state = "powerlinebuilderknot" knot = KNOT_FORCED -/obj/effect/network_builder/power_cable/white/auto +/obj/effect/mapping_helpers/network_builder/power_cable/white/auto icon_state = "powerlinebuilderauto" knot = KNOT_AUTO // Cyan -/obj/effect/network_builder/power_cable/cyan +/obj/effect/mapping_helpers/network_builder/power_cable/cyan color = "#00ffff" cable_color = "cyan" -/obj/effect/network_builder/power_cable/cyan/knot +/obj/effect/mapping_helpers/network_builder/power_cable/cyan/knot icon_state = "powerlinebuilderknot" knot = KNOT_FORCED -/obj/effect/network_builder/power_cable/cyan/auto +/obj/effect/mapping_helpers/network_builder/power_cable/cyan/auto icon_state = "powerlinebuilderauto" knot = KNOT_AUTO // Orange -/obj/effect/network_builder/power_cable/orange +/obj/effect/mapping_helpers/network_builder/power_cable/orange color = "#ff8000" cable_color = "orange" -/obj/effect/network_builder/power_cable/orange/knot +/obj/effect/mapping_helpers/network_builder/power_cable/orange/knot icon_state = "powerlinebuilderknot" knot = KNOT_FORCED -/obj/effect/network_builder/power_cable/orange/auto +/obj/effect/mapping_helpers/network_builder/power_cable/orange/auto icon_state = "powerlinebuilderauto" knot = KNOT_AUTO // Pink -/obj/effect/network_builder/power_cable/pink +/obj/effect/mapping_helpers/network_builder/power_cable/pink color = "#ff3cc8" cable_color = "pink" -/obj/effect/network_builder/power_cable/pink/knot +/obj/effect/mapping_helpers/network_builder/power_cable/pink/knot icon_state = "powerlinebuilderknot" knot = KNOT_FORCED -/obj/effect/network_builder/power_cable/pink/auto +/obj/effect/mapping_helpers/network_builder/power_cable/pink/auto icon_state = "powerlinebuilderauto" knot = KNOT_AUTO // Blue -/obj/effect/network_builder/power_cable/blue +/obj/effect/mapping_helpers/network_builder/power_cable/blue color = "#1919c8" cable_color = "blue" -/obj/effect/network_builder/power_cable/blue/knot +/obj/effect/mapping_helpers/network_builder/power_cable/blue/knot icon_state = "powerlinebuilderknot" knot = KNOT_FORCED -/obj/effect/network_builder/power_cable/blue/auto +/obj/effect/mapping_helpers/network_builder/power_cable/blue/auto icon_state = "powerlinebuilderauto" knot = KNOT_AUTO // Green -/obj/effect/network_builder/power_cable/green +/obj/effect/mapping_helpers/network_builder/power_cable/green color = "#00aa00" cable_color = "green" -/obj/effect/network_builder/power_cable/green/knot +/obj/effect/mapping_helpers/network_builder/power_cable/green/knot icon_state = "powerlinebuilderknot" knot = KNOT_FORCED -/obj/effect/network_builder/power_cable/green/auto +/obj/effect/mapping_helpers/network_builder/power_cable/green/auto icon_state = "powerlinebuilderauto" knot = KNOT_AUTO // Yellow -/obj/effect/network_builder/power_cable/yellow +/obj/effect/mapping_helpers/network_builder/power_cable/yellow color = "#ffff00" cable_color = "yellow" -/obj/effect/network_builder/power_cable/yellow/knot +/obj/effect/mapping_helpers/network_builder/power_cable/yellow/knot icon_state = "powerlinebuilderknot" knot = KNOT_FORCED -/obj/effect/network_builder/power_cable/yellow/auto +/obj/effect/mapping_helpers/network_builder/power_cable/yellow/auto icon_state = "powerlinebuilderauto" knot = KNOT_AUTO \ No newline at end of file diff --git a/icons/effects/mapping_helpers.dmi b/icons/effects/mapping_helpers.dmi index 037c1aa660..e3cc3865b2 100644 Binary files a/icons/effects/mapping_helpers.dmi and b/icons/effects/mapping_helpers.dmi differ diff --git a/tgstation.dme b/tgstation.dme index bcdf92e752..318e06c2e4 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -14,6 +14,7 @@ // BEGIN_INCLUDE #include "_maps\_basemap.dm" +#include "_maps\boxstation.dm" #include "code\_compile_options.dm" #include "code\world.dm" #include "code\__DEFINES\__513_compatibility.dm" @@ -800,11 +801,11 @@ #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\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"