diff --git a/code/_helpers/area_movement.dm b/code/_helpers/area_movement.dm
index af2b1d3416a..7070d30db8f 100644
--- a/code/_helpers/area_movement.dm
+++ b/code/_helpers/area_movement.dm
@@ -50,8 +50,6 @@
var/list/source_turfs = src.build_ordered_turf_list(turf_to_leave)
var/list/target_turfs = A.build_ordered_turf_list()
- //log_debug("move_contents_to: source_turfs.len=[source_turfs.len],target_turfs.len=[target_turfs.len]")
-
ASSERT(source_turfs.len == target_turfs.len)
for (var/i = 1 to source_turfs.len)
@@ -82,8 +80,6 @@
. = list()
- log_debug("copy_contents_to: source_turfs.len=[source_turfs.len],target_turfs.len=[target_turfs.len]")
-
ASSERT(source_turfs.len == target_turfs.len)
var/baseturf
diff --git a/code/game/objects/items/apc_frame.dm b/code/game/objects/items/apc_frame.dm
index 4b69e5db7c8..0b7a7e899b6 100644
--- a/code/game/objects/items/apc_frame.dm
+++ b/code/game/objects/items/apc_frame.dm
@@ -24,7 +24,7 @@
if (!istype(loc, /turf/simulated/floor))
usr << "APC cannot be placed on this spot."
return
- if (A.requires_power == 0 || istype(A, /area/space))
+ if (A.requires_power == 0 || istype(A, /area/space) || istype(A, /area/mine/unexplored))
usr << "APC cannot be placed in this area."
return
if (A.get_apc())
diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm
index 15d4f64735b..61ebd77f2db 100644
--- a/code/game/objects/items/blueprints.dm
+++ b/code/game/objects/items/blueprints.dm
@@ -80,7 +80,7 @@ move an amendment to the drawing.
return A
/obj/item/blueprints/proc/get_area_type(var/area/A = get_area())
- if(istype(A, /area/space))
+ if(istype(A, /area/space) || istype(A, /area/mine/unexplored))
return AREA_SPACE
var/list/SPECIALS = list(
/area/shuttle,
@@ -133,10 +133,7 @@ move an amendment to the drawing.
sorted_add_area(A)
- spawn(5)
- //ma = A.master ? "[A.master]" : "(null)"
- //world << "DEBUG: create_area(5):
A.name=[A.name]
A.tag=[A.tag]
A.master=[ma]"
- interact()
+ addtimer(CALLBACK(src, .proc/interact), 5)
return
@@ -156,7 +153,7 @@ move an amendment to the drawing.
if(length(str) > 50)
usr << "Text too long."
return
- set_area_machinery_title(A,str,prevname)
+ INVOKE_ASYNC(src, .proc/set_area_machinery_title, A, str, prevname)
A.name = str
sortTim(all_areas, /proc/cmp_text_asc)
usr << "You set the area '[prevname]' title to '[str]'."
@@ -169,17 +166,19 @@ move an amendment to the drawing.
if (!oldtitle) // or replacetext goes to infinite loop
return
- for(var/obj/machinery/alarm/M in A)
- M.name = replacetext(M.name,oldtitle,title)
- for(var/obj/machinery/power/apc/M in A)
- M.name = replacetext(M.name,oldtitle,title)
- for(var/obj/machinery/atmospherics/unary/vent_scrubber/M in A)
- M.name = replacetext(M.name,oldtitle,title)
- for(var/obj/machinery/atmospherics/unary/vent_pump/M in A)
- M.name = replacetext(M.name,oldtitle,title)
- for(var/obj/machinery/door/M in A)
- M.name = replacetext(M.name,oldtitle,title)
- //TODO: much much more. Unnamed airlocks, cameras, etc.
+ var/static/list/types_to_rename = list(
+ /obj/machinery/alarm,
+ /obj/machinery/power/apc,
+ /obj/machinery/atmospherics/unary/vent_scrubber,
+ /obj/machinery/atmospherics/unary/vent_pump,
+ /obj/machinery/door
+ )
+
+ for(var/obj/machinery/M in A)
+ if (is_type_in_list(M, types_to_rename))
+ M.name = replacetext(M.name, oldtitle, title)
+
+ CHECK_TICK
/obj/item/blueprints/proc/check_tile_is_border(var/turf/T2,var/dir)
if (istype(T2, /turf/space))
diff --git a/html/changelogs/skull132-construction_woes.yml b/html/changelogs/skull132-construction_woes.yml
new file mode 100644
index 00000000000..63ad569bf6a
--- /dev/null
+++ b/html/changelogs/skull132-construction_woes.yml
@@ -0,0 +1,6 @@
+author: Skull132
+delete-after: true
+
+changes:
+ - bugfix: "Blueprints now work on the asteroid as they would work in space. They also no longer megalag the server to death."
+ - bugfix: "Attempting to power the entirety of the asteroid, and thus lagging the server to death, is no longer possible."