diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 08a8c8a8eb9..b6bb0c0a514 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -82,10 +82,13 @@ fire = 80 acid = 70 -/obj/machinery/door/get_save_vars() - . = ..() - . += NAMEOF(src, welded) - return . +/obj/machinery/door/on_object_saved() + var/data + + if(welded) + data += "[data ? ",\n" : ""][/obj/effect/mapping_helpers/airlock/welded]" + + return data /obj/machinery/door/Initialize(mapload) AddElement(/datum/element/blocks_explosives) diff --git a/code/game/objects/structures/noticeboard.dm b/code/game/objects/structures/noticeboard.dm index c7089e631b7..c352f1f48ef 100644 --- a/code/game/objects/structures/noticeboard.dm +++ b/code/game/objects/structures/noticeboard.dm @@ -13,18 +13,27 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/noticeboard, 32) +/obj/structure/noticeboard/on_object_saved() + var/data + + for(var/obj/item/paper/paper in contents) + var/metadata = generate_tgm_metadata(paper) + data += "[data ? ",\n" : ""][paper.type][metadata]" + + return data + /obj/structure/noticeboard/Initialize(mapload) . = ..() if(!mapload) return - for(var/obj/item/I in loc) + for(var/obj/item/paper/paper in loc) if(notices >= MAX_NOTICES) break - if(istype(I, /obj/item/paper)) - I.forceMove(src) - notices++ + + paper.forceMove(src) + notices++ update_appearance(UPDATE_ICON) find_and_hang_on_wall() diff --git a/code/modules/admin/verbs/map_export.dm b/code/modules/admin/verbs/map_export.dm index eea48ae8b2b..0546eb3723c 100644 --- a/code/modules/admin/verbs/map_export.dm +++ b/code/modules/admin/verbs/map_export.dm @@ -45,7 +45,10 @@ ADMIN_VERB(map_export, R_DEBUG, "Map Export", "Select a part of the map by coord /** * A procedure for saving non-standard properties of an object. - * For example, saving ore into a silo, and further spavn by coordinates of metal stacks objects + * Examples: + * Saving material stacks (ie. ore in a silo) + * Saving variables that can be shown as mapping helpers (ie. welded airlock mapping helper) + * Saving objects inside of another object (ie. paper inside a noticeboard) */ /obj/proc/on_object_saved() return null