diff --git a/code/controllers/subsystems/transcore_vr.dm b/code/controllers/subsystems/transcore_vr.dm
index 6b0815999b..6bffac865d 100644
--- a/code/controllers/subsystems/transcore_vr.dm
+++ b/code/controllers/subsystems/transcore_vr.dm
@@ -112,10 +112,11 @@ SUBSYSTEM_DEF(transcore)
if(since_backup < overdue_time)
curr_MR.dead_state = MR_NORMAL
else
- if(curr_MR.dead_state != MR_DEAD) //First time switching to dead
+ if(curr_MR.dead_state != MR_DEAD) //First time switching to dead //Remove auto notification! Ghosts have a button to notify, so no more false flags. CHOMPEdit: Revert removal
if(curr_MR.do_notify)
db.notify(curr_MR)
curr_MR.last_notification = world.time
+
curr_MR.dead_state = MR_DEAD
if(MC_TICK_CHECK)
diff --git a/code/datums/mind_vr.dm b/code/datums/mind_vr.dm
index a98607e2c9..89b522469c 100644
--- a/code/datums/mind_vr.dm
+++ b/code/datums/mind_vr.dm
@@ -1,3 +1,2 @@
-//CHOMPStation EDIT: This file has been disabled in the .dme.
/datum/mind
var/vore_death = FALSE // Was our last gasp a gurgle?
diff --git a/code/game/area/Space Station 13 areas_ch.dm b/code/game/area/Space Station 13 areas_ch.dm
index b72cfc07c9..473b7fb02d 100644
--- a/code/game/area/Space Station 13 areas_ch.dm
+++ b/code/game/area/Space Station 13 areas_ch.dm
@@ -108,3 +108,6 @@
/area/crew_quarters/sleep/vistor_room_12
limit_mob_size = FALSE
+
+/area/medical/cryo/autoresleeve
+ name = "\improper Medical Autoresleeving"
\ No newline at end of file
diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm
index 8e50e0437d..4d5d6f6c50 100644
--- a/code/modules/admin/verbs/randomverbs.dm
+++ b/code/modules/admin/verbs/randomverbs.dm
@@ -9,6 +9,8 @@
return
for(var/obj/item/W in M)
+ if(istype(W, /obj/item/weapon/implant/backup) || istype(W, /obj/item/device/nif)) //VOREStation Edit - There's basically no reason to remove either of these
+ continue //VOREStation Edit
M.drop_from_inventory(W)
log_admin("[key_name(usr)] made [key_name(M)] drop everything!")
diff --git a/code/modules/mob/dead/observer/observer_vr.dm b/code/modules/mob/dead/observer/observer_vr.dm
index 1fb9d913c9..a3ffb55757 100644
--- a/code/modules/mob/dead/observer/observer_vr.dm
+++ b/code/modules/mob/dead/observer/observer_vr.dm
@@ -68,8 +68,14 @@
var/datum/transcore_db/db = SStranscore.db_by_mind_name(mind.name)
if(db)
var/datum/transhuman/mind_record/record = db.backed_up[src.mind.name]
- if(!(record.dead_state == MR_DEAD))
- to_chat(src, "Your backup is not past-due yet.")
+ if(!(record.dead_state == MR_DEAD))
+ if((world.time - timeofdeath ) > 5 MINUTES) //Allows notify transcore to be used if you have an entry but for some reason weren't marked as dead
+ record.dead_state = MR_DEAD //Such as if you got scanned but didn't take an implant. It's a little funky, but I mean, you got scanned
+ db.notify(record) //So you probably will want to let someone know if you die.
+ record.last_notification = world.time
+ to_chat(src, "New notification has been sent.")
+ else
+ to_chat(src, "Your backup is not past-due yet.")
else if((world.time - record.last_notification) < 5 MINUTES)
to_chat(src, "Too little time has passed since your last notification.")
else
@@ -78,7 +84,7 @@
to_chat(src, "New notification has been sent.")
else
to_chat(src,"No backup record could be found, sorry.")
-
+// CHOMPEdit: Revert Removal
/mob/observer/dead/verb/backup_delay()
set category = "Ghost"
set name = "Cancel Transcore Notification"
@@ -123,4 +129,32 @@
forceMove(T)
stop_following()
else
- to_chat(src, "This ghost pod is not located in the game world.")
\ No newline at end of file
+ to_chat(src, "This ghost pod is not located in the game world.")
+
+/mob/observer/dead/verb/findautoresleever()
+ set category = "Ghost"
+ set name = "Find Auto Resleever"
+ set desc = "Find a Auto Resleever"
+ set popup_menu = FALSE
+
+ if(!istype(usr, /mob/observer/dead)) //Make sure they're an observer!
+ return
+
+ var/list/ar = list()
+ for(var/obj/machinery/transhuman/autoresleever/A in world)
+ if(A.spawntype)
+ continue
+ else
+ ar |= A
+
+ var/obj/machinery/transhuman/autoresleever/thisone = pick(ar)
+
+ if(!thisone)
+ to_chat(src, "There appears to be no auto-resleevers available.")
+ return
+ var/L = get_turf(thisone)
+ if(!L)
+ to_chat(src, "There appears to be something wrong with this auto-resleever, try again.")
+ return
+
+ forceMove(L)
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/death_vr.dm b/code/modules/mob/living/carbon/human/death_vr.dm
index 5e249f0102..24bae5c7c2 100644
--- a/code/modules/mob/living/carbon/human/death_vr.dm
+++ b/code/modules/mob/living/carbon/human/death_vr.dm
@@ -12,7 +12,6 @@
. = ..()
-/* CHOMPEdit - Removed because we don't use resleeving sickness.
//Surprisingly this is only called for humans, but whatever!
/hook/death/proc/digestion_check(var/mob/living/carbon/human/H, var/gibbed)
//Not in a belly? Well, too bad!
@@ -31,7 +30,6 @@
//Hooks need to return true otherwise they're considered having failed
return TRUE
-*/
//For making sure that if a mob is able to be joined by ghosts, that ghosts can't join it if it dies
/mob/living/simple_mob/death()
diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm
index 85f76d9aa0..5e3372c57b 100644
--- a/code/modules/organs/organ_external.dm
+++ b/code/modules/organs/organ_external.dm
@@ -486,9 +486,10 @@ This function completely restores a damaged organ to perfect condition.
// remove embedded objects and drop them on the floor
for(var/obj/implanted_object in implants)
- if(!istype(implanted_object,/obj/item/weapon/implant) && !istype(implanted_object,/obj/item/device/nif)) // We don't want to remove REAL implants. Just shrapnel etc. //VOREStation Edit - NIFs pls
- implanted_object.loc = get_turf(src)
- implants -= implanted_object
+ if(istype(implanted_object,/obj/item/weapon/implant) || istype(implanted_object,/obj/item/device/nif)) // We don't want to remove REAL implants. Just shrapnel etc. //VOREStation Edit - NIFs pls
+ continue
+ implanted_object.loc = get_turf(src)
+ implants -= implanted_object
if(!owner.has_embedded_objects())
owner.clear_alert("embeddedobject")
diff --git a/code/modules/resleeving/autoresleever.dm b/code/modules/resleeving/autoresleever.dm
new file mode 100644
index 0000000000..29fd40c26b
--- /dev/null
+++ b/code/modules/resleeving/autoresleever.dm
@@ -0,0 +1,215 @@
+/obj/machinery/transhuman/autoresleever
+ name = "automatic resleever"
+ desc = "Uses advanced technology to detect when someone needs to be resleeved, and automatically prints and sleeves them into a new body. It even generates its own biomass!"
+ icon = 'icons/obj/machines/autoresleever.dmi'
+ icon_state = "autoresleever"
+ density = TRUE
+ anchored = TRUE
+ var/equip_body = FALSE //If true, this will spawn the person with equipment
+ var/default_job = USELESS_JOB //The job that will be assigned if equip_body is true and the ghost doesn't have a job
+ var/ghost_spawns = FALSE //If true, allows ghosts who haven't been spawned yet to spawn
+ var/vore_respawn = 5 MINUTES //The time to wait if you died from vore // CHOMPEdit: Faster respawn for vorni so ghosts don't go bug medical.
+ var/respawn = 30 MINUTES //The time to wait if you didn't die from vore
+ var/spawn_slots = -1 //How many people can be spawned from this? If -1 it's unlimited
+ var/spawntype //The kind of mob that will be spawned, if set.
+
+/obj/machinery/transhuman/autoresleever/update_icon()
+ . = ..()
+ if(stat)
+ icon_state = "autoresleever-o"
+ else
+ icon_state = "autoresleever"
+
+/obj/machinery/transhuman/autoresleever/power_change()
+ . = ..()
+ update_icon()
+
+/obj/machinery/transhuman/autoresleever/attack_ghost(mob/observer/dead/user as mob)
+ update_icon()
+ if(spawn_slots == 0)
+ to_chat(user, "There are no more respawn slots.")
+ return
+ if(user.mind)
+ if(user.mind.vore_death)
+ if(vore_respawn <= world.time - user.timeofdeath)
+ autoresleeve(user)
+ else
+ to_chat(user, "You must wait [((vore_respawn - (world.time - user.timeofdeath)) * 0.1) / 60] minutes to use \the [src].")
+ return
+ else if(respawn <= world.time - user.timeofdeath)
+ autoresleeve(user)
+ else
+ to_chat(user, "You must wait [((respawn - (world.time - user.timeofdeath)) * 0.1) /60] minutes to use \the [src].")
+ return
+ else if(spawntype)
+ if(tgui_alert(user, "This [src] spawns something special, would you like to play as it?", "Creachur", list("No","Yes")) == "Yes")
+ autoresleeve(user)
+ else if(ghost_spawns)
+ if(tgui_alert(user, "Would you like to be spawned here as your presently loaded character?", "Spawn here", list("No","Yes")) == "Yes")
+ autoresleeve(user)
+ else
+ to_chat(user, "You need to have been spawned in order to respawn here.")
+
+/obj/machinery/transhuman/autoresleever/attackby(var/mob/user) //Let's not let people mess with this.
+ update_icon()
+ if(istype(user,/mob/observer/dead))
+ attack_ghost(user)
+ else
+ return
+
+/obj/machinery/transhuman/autoresleever/proc/autoresleeve(var/mob/observer/dead/ghost)
+ if(stat)
+ to_chat(ghost, "This machine is not functioning...")
+ return
+ if(!istype(ghost,/mob/observer/dead))
+ return
+
+ if(ghost.mind && ghost.mind.current && ghost.mind.current.stat != DEAD)
+ if(istype(ghost.mind.current.loc, /obj/item/device/mmi))
+ if(tgui_alert(ghost, "Your brain is still alive, using the auto-resleever will delete that brain. Are you sure?", "Delete Brain", list("No","Yes")) != "Yes")
+ return
+ if(istype(ghost.mind.current.loc, /obj/item/device/mmi))
+ qdel(ghost.mind.current.loc)
+ else
+ to_chat(ghost, "Your body is still alive, you cannot be resleeved.")
+ return
+
+ var/client/ghost_client = ghost.client
+
+ // CHOMPEdit Start: Add checks for Whitelist + Resleeving
+ if(!is_alien_whitelisted(ghost, GLOB.all_species[ghost_client?.prefs?.species]) && !check_rights(R_ADMIN, 0)) // Prevents a ghost somehow ghosting in on a slot and spawning via a resleever with race they're not whitelisted for, getting around normal joins.
+ to_chat(ghost, "You are not whitelisted to spawn as this species!")
+ return
+
+ var/datum/species/chosen_species
+ if(ghost.client.prefs.species) // In case we somehow don't have a species set here.
+ chosen_species = GLOB.all_species[ghost_client.prefs.species]
+
+ if(chosen_species.flags && NO_SCAN)
+ to_chat(ghost, "This species cannot be resleeved!")
+ return
+ // CHOMPEdit End: Add checks for Whitelist + Resleeving
+
+ //Name matching is ugly but mind doesn't persist to look at.
+ var/charjob
+ var/datum/data/record/record_found
+ record_found = find_general_record("name",ghost_client.prefs.real_name)
+
+ //Found their record, they were spawned previously
+ if(record_found)
+ charjob = record_found.fields["real_rank"]
+ else if(equip_body || ghost_spawns)
+ charjob = default_job
+ else
+ to_chat(ghost, "It appears as though your loaded character has not been spawned this round, or has quit the round. If you died as a different character, please load them, and try again.")
+ return
+
+ //For logging later
+ var/player_key = ghost_client.key
+ var/picked_ckey = ghost_client.ckey
+ var/picked_slot = ghost_client.prefs.default_slot
+
+ var/spawnloc = get_turf(src)
+ //Did we actually get a loc to spawn them?
+ if(!spawnloc)
+ to_chat(ghost, "Could not find a valid location to spawn your character.")
+ return
+
+ if(spawntype)
+ var/spawnthing = new spawntype(spawnloc)
+ if(isliving(spawnthing))
+ var/mob/living/L = spawnthing
+ L.key = player_key
+ L.ckey = picked_ckey
+ log_admin("[L.ckey]'s has been spawned as [L] via \the [src].")
+ message_admins("[L.ckey]'s has been spawned as [L] via \the [src].")
+ else
+ to_chat(ghost, "You can't play as a [spawnthing]...")
+ return
+ if(spawn_slots == -1)
+ return
+ else if(spawn_slots == 0)
+ return
+ else
+ spawn_slots --
+ return
+
+ if(tgui_alert(ghost, "Would you like to be resleeved?", "Resleeve", list("No","Yes")) == "No")
+ return
+ var/mob/living/carbon/human/new_character
+ new_character = new(spawnloc)
+
+ //We were able to spawn them, right?
+ if(!new_character)
+ to_chat(ghost, "Something went wrong and spawning failed.")
+ return
+
+ //Write the appearance and whatnot out to the character
+ ghost_client.prefs.copy_to(new_character)
+ if(new_character.dna)
+ new_character.dna.ResetUIFrom(new_character)
+ new_character.sync_organ_dna()
+
+ new_character.key = player_key
+
+ //Were they any particular special role? If so, copy.
+ if(new_character.mind)
+ new_character.mind.loaded_from_ckey = picked_ckey
+ new_character.mind.loaded_from_slot = picked_slot
+
+ var/datum/antagonist/antag_data = get_antag_data(new_character.mind.special_role)
+ if(antag_data)
+ antag_data.add_antagonist(new_character.mind)
+ antag_data.place_mob(new_character)
+
+ for(var/lang in ghost_client.prefs.alternate_languages)
+ var/datum/language/chosen_language = GLOB.all_languages[lang]
+ if(chosen_language)
+ if(is_lang_whitelisted(src,chosen_language) || (new_character.species && (chosen_language.name in new_character.species.secondary_langs)))
+ new_character.add_language(lang)
+
+ //If desired, apply equipment.
+ if(equip_body)
+ if(charjob)
+ job_master.EquipRank(new_character, charjob, 1)
+ new_character.mind.assigned_role = charjob
+ new_character.mind.role_alt_title = job_master.GetPlayerAltTitle(new_character, charjob)
+
+ //A redraw for good measure
+ new_character.regenerate_icons()
+
+ new_character.update_transform()
+
+ log_admin("[new_character.ckey]'s character [new_character.real_name] has been auto-resleeved.")
+ message_admins("[new_character.ckey]'s character [new_character.real_name] has been auto-resleeved.")
+
+ var/obj/item/weapon/implant/backup/imp = new(src)
+
+ if(imp.handle_implant(new_character,new_character.zone_sel.selecting))
+ imp.post_implant(new_character)
+
+ var/datum/transcore_db/db = SStranscore.db_by_mind_name(new_character.mind.name)
+ if(db)
+ var/datum/transhuman/mind_record/record = db.backed_up[new_character.mind.name]
+ if((world.time - record.last_notification) < 30 MINUTES)
+ global_announcer.autosay("[new_character.name] has been resleeved by the automatic resleeving system.", "TransCore Oversight", new_character.isSynthetic() ? "Science" : "Medical")
+ spawn(0) //Wait a second for nif to do its thing if there is one
+ if(record.nif_path)
+ var/obj/item/device/nif/nif
+ if(new_character.nif)
+ nif = new_character.nif
+ else
+ nif = new record.nif_path(new_character,null,record.nif_savedata)
+ spawn(0) //Wait another second in case we just gave them a new nif
+ if(nif) //Now restore the software
+ for(var/path in record.nif_software)
+ new path(nif)
+ nif.durability = record.nif_durability
+
+ if(spawn_slots == -1)
+ return
+ else if(spawn_slots == 0)
+ return
+ else
+ spawn_slots --
+ return
diff --git a/icons/obj/machines/autoresleever.dmi b/icons/obj/machines/autoresleever.dmi
new file mode 100644
index 0000000000..1c1bb50706
Binary files /dev/null and b/icons/obj/machines/autoresleever.dmi differ
diff --git a/maps/southern_cross/southern_cross-2.dmm b/maps/southern_cross/southern_cross-2.dmm
index 12202a83a1..ec483d1410 100644
--- a/maps/southern_cross/southern_cross-2.dmm
+++ b/maps/southern_cross/southern_cross-2.dmm
@@ -10556,6 +10556,15 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/tiled,
/area/engineering/workshop)
+"aIg" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/vending/loadout/overwear,
+/turf/simulated/floor/tiled/white,
+/area/medical/cryo/autoresleeve)
"aIj" = (
/obj/structure/closet/secure_closet/engineering_chief,
/obj/machinery/alarm{
@@ -43893,6 +43902,9 @@
/obj/item/weapon/storage/box/monkeycubes,
/turf/simulated/floor/tiled/white,
/area/medical/genetics)
+"dqr" = (
+/turf/simulated/wall/r_wall,
+/area/medical/cryo/autoresleeve)
"dqF" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
dir = 1
@@ -51478,8 +51490,7 @@
dir = 8
},
/obj/machinery/cryopod{
- dir = 1;
- time_till_despawn = 60
+ dir = 1
},
/turf/simulated/shuttle/floor,
/area/shuttle/cryo/station)
@@ -52654,8 +52665,7 @@
/area/rnd/misc_lab)
"ihl" = (
/obj/machinery/cryopod{
- dir = 2;
- time_till_despawn = 60
+ dir = 2
},
/obj/effect/floor_decal/industrial/warning{
dir = 4
@@ -54650,6 +54660,21 @@
},
/turf/simulated/floor/tiled/dark,
/area/chapel/main)
+"jnL" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/door/firedoor/border_only,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/door/airlock/medical{
+ name = "Autoresleeving Bay";
+ req_one_access = null
+ },
+/turf/simulated/floor/tiled/white,
+/area/hallway/secondary/seconddeck/research_medical)
"jnX" = (
/obj/effect/floor_decal/industrial/warning/corner{
dir = 1
@@ -54717,6 +54742,17 @@
/obj/item/clothing/glasses/meson,
/turf/simulated/floor,
/area/engineering/engine_waste)
+"jqu" = (
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/white,
+/area/medical/cryo/autoresleeve)
"jqw" = (
/obj/machinery/atmospherics/pipe/simple/visible/cyan,
/obj/machinery/ai_status_display{
@@ -56030,8 +56066,7 @@
/area/assembly/robotics)
"jZO" = (
/obj/machinery/cryopod{
- dir = 1;
- time_till_despawn = 60
+ dir = 1
},
/obj/effect/floor_decal/industrial/warning{
dir = 4
@@ -60312,6 +60347,10 @@
},
/turf/simulated/floor/tiled,
/area/teleporter)
+"mFk" = (
+/obj/machinery/vending/loadout,
+/turf/simulated/floor/tiled/white,
+/area/medical/cryo/autoresleeve)
"mFN" = (
/obj/structure/cable/green{
d1 = 2;
@@ -63113,8 +63152,13 @@
/obj/structure/table/glass,
/obj/item/weapon/folder/white,
/obj/item/weapon/pen,
+/obj/item/device/radio/intercom{
+ dir = 1;
+ name = "Station Intercom (General)";
+ pixel_y = 21
+ },
/turf/simulated/floor/tiled/white,
-/area/hallway/secondary/seconddeck/research_medical)
+/area/medical/cryo/autoresleeve)
"onb" = (
/obj/effect/floor_decal/steeldecal/steel_decals7{
dir = 9
@@ -63136,10 +63180,14 @@
/area/crew_quarters/seconddeck/gym)
"ond" = (
/obj/structure/table/glass,
-/obj/random/maintenance/medical,
-/obj/random/maintenance/medical,
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/alarm{
+ pixel_y = 23
+ },
/turf/simulated/floor/tiled/white,
-/area/hallway/secondary/seconddeck/research_medical)
+/area/medical/cryo/autoresleeve)
"ooC" = (
/obj/machinery/atmospherics/pipe/simple/visible/green,
/obj/structure/cable/yellow{
@@ -63150,9 +63198,9 @@
/turf/simulated/floor,
/area/engineering/engine_room)
"ooQ" = (
-/obj/random/obstruction,
-/turf/simulated/floor/plating,
-/area/hallway/secondary/seconddeck/research_medical)
+/obj/machinery/vending/loadout/uniform,
+/turf/simulated/floor/tiled/white,
+/area/medical/cryo/autoresleeve)
"ooT" = (
/turf/simulated/wall/r_wall,
/area/hallway/secondary/seconddeck/research_medical)
@@ -64547,15 +64595,18 @@
/turf/simulated/floor/tiled/white,
/area/medical/medbay)
"pfJ" = (
-/obj/item/stack/tile/floor/white,
-/turf/simulated/floor/plating,
-/area/hallway/secondary/seconddeck/research_medical)
+/obj/machinery/camera/network/medbay{
+ c_tag = "MED - Autoresleeving Bay";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/white,
+/area/medical/cryo/autoresleeve)
"pfT" = (
/obj/structure/bed/chair{
dir = 1
},
/turf/simulated/floor/tiled/white,
-/area/hallway/secondary/seconddeck/research_medical)
+/area/medical/cryo/autoresleeve)
"pfY" = (
/obj/structure/table/standard,
/obj/item/weapon/soap/nanotrasen,
@@ -64644,6 +64695,22 @@
},
/turf/simulated/floor/tiled/white,
/area/medical/virology)
+"pix" = (
+/obj/structure/cable/green{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/light_switch{
+ pixel_x = -24
+ },
+/obj/machinery/newscaster{
+ pixel_x = -36
+ },
+/turf/simulated/floor/tiled/white,
+/area/medical/cryo/autoresleeve)
"piE" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/effect/floor_decal/industrial/warning/corner,
@@ -65613,8 +65680,11 @@
/turf/simulated/floor/plating,
/area/hallway/secondary/entry/D2)
"pMv" = (
-/turf/simulated/floor/plating,
-/area/hallway/secondary/seconddeck/research_medical)
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/white,
+/area/medical/cryo/autoresleeve)
"pMy" = (
/obj/structure/disposalpipe/segment,
/obj/effect/floor_decal/borderfloor/corner{
@@ -65675,16 +65745,11 @@
/turf/simulated/floor/tiled/techmaint,
/area/medical/cryo)
"pNa" = (
-/obj/structure/closet,
-/obj/item/device/flashlight,
-/obj/effect/decal/cleanable/cobweb2,
-/obj/item/weapon/storage/backpack/satchel/vir,
-/obj/item/weapon/storage/backpack/virology,
-/obj/random/maintenance/medical,
-/obj/random/maintenance/medical,
-/obj/random/maintenance/medical,
-/turf/simulated/floor/plating,
-/area/hallway/secondary/seconddeck/research_medical)
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/white,
+/area/medical/cryo/autoresleeve)
"pNf" = (
/obj/structure/table/standard,
/obj/machinery/microwave{
@@ -67399,6 +67464,12 @@
/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
/turf/simulated/floor/tiled/white,
/area/rnd/research)
+"qQJ" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/white,
+/area/medical/cryo/autoresleeve)
"qQL" = (
/obj/effect/floor_decal/corner/grey/diagonal{
dir = 4
@@ -67746,6 +67817,9 @@
/obj/effect/wingrille_spawn/reinforced,
/turf/simulated/floor/plating,
/area/hallway/secondary/entry/D3)
+"rev" = (
+/turf/simulated/floor/tiled/white,
+/area/medical/cryo/autoresleeve)
"reH" = (
/obj/effect/floor_decal/industrial/warning{
dir = 1
@@ -68993,19 +69067,24 @@
/turf/simulated/floor/tiled/dark,
/area/rnd/workshop)
"rRk" = (
-/obj/item/frame/light,
-/turf/simulated/floor/plating,
-/area/hallway/secondary/seconddeck/research_medical)
-"rRD" = (
-/obj/structure/closet/crate/medical,
-/obj/random/maintenance/medical,
-/obj/random/maintenance/medical,
-/obj/random/maintenance/medical,
-/obj/random/maintenance/medical,
-/obj/random/medical,
-/obj/random/medical/lite,
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/vending/loadout/loadout_misc,
/turf/simulated/floor/tiled/white,
-/area/hallway/secondary/seconddeck/research_medical)
+/area/medical/cryo/autoresleeve)
+"rRD" = (
+/obj/structure/cable/green{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/power/apc/super{
+ pixel_y = -24
+ },
+/turf/simulated/floor/tiled/white,
+/area/medical/cryo/autoresleeve)
"rSd" = (
/obj/structure/reagent_dispensers/water_cooler/full,
/obj/machinery/light{
@@ -69779,6 +69858,19 @@
"sql" = (
/turf/unsimulated/mask,
/area/hallway/primary/seconddeck/starboard)
+"sqI" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/obj/machinery/vending/wallmed1{
+ name = "Emergency NanoMed";
+ pixel_x = -28
+ },
+/turf/simulated/floor/tiled/white,
+/area/medical/cryo/autoresleeve)
"sqJ" = (
/obj/structure/reagent_dispensers/fueltank,
/obj/structure/disposalpipe/segment,
@@ -71345,6 +71437,13 @@
/obj/effect/floor_decal/industrial/warning{
dir = 4
},
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/tiled/white,
/area/hallway/secondary/seconddeck/research_medical)
"toM" = (
@@ -72216,6 +72315,12 @@
"tTx" = (
/turf/space,
/area/shuttle/arrival/station)
+"tUA" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/white,
+/area/medical/cryo/autoresleeve)
"tVa" = (
/obj/machinery/camera/network/second_deck{
c_tag = "Second Deck - Port Hallway 4";
@@ -72906,6 +73011,10 @@
},
/turf/simulated/floor,
/area/maintenance/cargo)
+"uoF" = (
+/obj/machinery/vending/loadout/gadget,
+/turf/simulated/floor/tiled/white,
+/area/medical/cryo/autoresleeve)
"uoP" = (
/obj/structure/cable{
d1 = 1;
@@ -73103,6 +73212,10 @@
d2 = 8;
icon_state = "4-8"
},
+/obj/machinery/door/airlock/glass_medical{
+ name = "Medsci and Autoresleeving";
+ req_one_access = null
+ },
/turf/simulated/floor/tiled/white,
/area/hallway/secondary/seconddeck/research_medical)
"uwy" = (
@@ -73278,17 +73391,18 @@
/obj/effect/floor_decal/industrial/warning{
dir = 4
},
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
/obj/structure/cable/green{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
/turf/simulated/floor/tiled/white,
/area/hallway/secondary/seconddeck/research_medical)
"uAF" = (
@@ -74208,6 +74322,10 @@
/obj/item/weapon/book/codex/lore/robutt,
/turf/simulated/floor/wood,
/area/library)
+"vhy" = (
+/obj/machinery/vending/loadout/accessory,
+/turf/simulated/floor/tiled/white,
+/area/medical/cryo/autoresleeve)
"vhB" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -75203,6 +75321,10 @@
},
/turf/simulated/floor/tiled/white,
/area/medical/virology)
+"vLw" = (
+/obj/machinery/vending/loadout/clothing,
+/turf/simulated/floor/tiled/white,
+/area/medical/cryo/autoresleeve)
"vMl" = (
/obj/machinery/atmospherics/pipe/simple/hidden/black{
dir = 6
@@ -75830,8 +75952,7 @@
dir = 8
},
/obj/machinery/cryopod{
- dir = 2;
- time_till_despawn = 60
+ dir = 2
},
/turf/simulated/shuttle/floor,
/area/shuttle/cryo/station)
@@ -77685,6 +77806,12 @@
/obj/structure/curtain/open/shower/medical,
/turf/simulated/floor/tiled/freezer,
/area/medical/medical_restroom)
+"xpf" = (
+/obj/machinery/transhuman/autoresleever{
+ ghost_spawns = 1
+ },
+/turf/simulated/floor/tiled/white,
+/area/medical/cryo/autoresleeve)
"xpv" = (
/obj/machinery/conveyor{
id = "recycler"
@@ -129413,12 +129540,12 @@ kux
lju
mmq
cXZ
-olj
+xpf
pfJ
-pfJ
-pfJ
-pfJ
-ooQ
+sqI
+jqu
+pix
+jnL
tos
uAD
vJq
@@ -129674,9 +129801,9 @@ cXZ
omu
pfT
pMv
-pfJ
-pMv
-ooT
+tUA
+aIg
+dqr
toU
uAZ
vJS
@@ -129930,9 +130057,9 @@ liq
mnf
cXZ
ond
-olj
-olj
+rev
pMv
+tUA
rRk
opM
opM
@@ -130188,9 +130315,9 @@ ljU
ljU
cXZ
ooQ
-ooQ
+rev
pNa
-pMv
+qQJ
rRD
opM
tpH
@@ -130445,11 +130572,11 @@ eTf
ecy
cXZ
cXZ
-ooT
-ooQ
-ooQ
-ooQ
-ooQ
+dqr
+uoF
+vLw
+vhy
+mFk
opM
ttq
uEc
diff --git a/maps/stellardelight/stellar_delight1.dmm b/maps/stellardelight/stellar_delight1.dmm
index 3475256dfa..6981794bba 100644
--- a/maps/stellardelight/stellar_delight1.dmm
+++ b/maps/stellardelight/stellar_delight1.dmm
@@ -2120,6 +2120,10 @@
/obj/machinery/computer/transhuman/resleeving{
dir = 8
},
+/obj/item/device/radio/intercom{
+ dir = 4;
+ pixel_x = 24
+ },
/turf/simulated/floor/tiled/eris/white/bluecorner,
/area/stellardelight/deck1/resleeving)
"ew" = (
@@ -6729,7 +6733,7 @@
dir = 5
},
/obj/machinery/button/remote/airlock{
- desc = "A remote control switch for the medbay foyer.";
+ desc = "A remote control switch for the cleaning room exit.";
dir = 4;
id = "resleeveexit";
name = "Door Control";
@@ -7384,6 +7388,14 @@
/obj/effect/floor_decal/steeldecal/steel_decals4{
dir = 1
},
+/obj/machinery/button/remote/airlock{
+ desc = "A remote control switch for the cleaning room.";
+ dir = 4;
+ id = "resleeveclean";
+ name = "Door Control";
+ pixel_x = -27;
+ pixel_y = -27
+ },
/turf/simulated/floor/tiled/eris/white/bluecorner,
/area/stellardelight/deck1/resleeving)
"pC" = (
@@ -7958,7 +7970,7 @@
/turf/simulated/floor/carpet,
/area/chapel/main)
"qR" = (
-/obj/structure/table/glass,
+/obj/machinery/transhuman/autoresleever,
/turf/simulated/floor/tiled/dark,
/area/stellardelight/deck1/resleeving)
"qS" = (
@@ -15994,16 +16006,6 @@
/obj/effect/floor_decal/milspec/color/black,
/turf/simulated/floor/tiled/dark,
/area/security/armoury)
-"Ij" = (
-/obj/structure/bed/chair{
- dir = 1
- },
-/obj/item/device/radio/intercom{
- dir = 8;
- pixel_x = -24
- },
-/turf/simulated/floor/tiled/eris/white/bluecorner,
-/area/stellardelight/deck1/resleeving)
"Ik" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -20388,8 +20390,9 @@
/obj/machinery/door/airlock/angled_bay/standard/color{
dir = 8;
door_color = "#ffffff";
+ id_tag = "resleeveclean";
name = "Cleaning Room";
- req_access = null;
+ req_access = list(5);
stripe_color = "#5a96bb"
},
/turf/simulated/floor/tiled/steel_ridged,
@@ -33704,7 +33707,7 @@ dH
oW
vb
pA
-Ij
+hv
CG
ZB
hg
diff --git a/maps/tether/tether-01-surface1.dmm b/maps/tether/tether-01-surface1.dmm
index 3c6413ddc7..e362c9afbf 100644
--- a/maps/tether/tether-01-surface1.dmm
+++ b/maps/tether/tether-01-surface1.dmm
@@ -2303,6 +2303,11 @@
/obj/effect/floor_decal/steeldecal/steel_decals4{
dir = 5
},
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
/turf/simulated/floor/tiled/white,
/area/tether/surfacebase/medical/lowerhall)
"adS" = (
@@ -2327,6 +2332,11 @@
name = "Mental Health";
req_one_access = list()
},
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
/turf/simulated/floor/tiled/white,
/area/tether/surfacebase/medical/lowerhall)
"adV" = (
@@ -2397,6 +2407,11 @@
pixel_x = -26;
pixel_y = -26
},
+/obj/structure/cable/green{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
/turf/simulated/floor/tiled/white,
/area/tether/surfacebase/medical/lowerhall)
"adY" = (
@@ -2418,6 +2433,11 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
/turf/simulated/floor/tiled/white,
/area/tether/surfacebase/medical/lowerhall)
"adZ" = (
@@ -2590,11 +2610,11 @@
/turf/simulated/floor/carpet/blue,
/area/tether/surfacebase/medical/mentalhealth)
"aem" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 10
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 4
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 10
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 4
},
/turf/simulated/floor/tiled,
/area/tether/surfacebase/lowernorthhall)
@@ -2862,6 +2882,13 @@
/obj/effect/floor_decal/corner/paleblue/bordercorner2{
dir = 5
},
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/obj/machinery/disposal/wall{
+ dir = 8;
+ name = "auto-resleeving equipment deposit"
+ },
/turf/simulated/floor/tiled,
/area/tether/surfacebase/lowernorthhall)
"aeE" = (
@@ -3330,6 +3357,17 @@
/obj/effect/floor_decal/steeldecal/steel_decals4{
dir = 4
},
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
/turf/simulated/floor/tiled,
/area/tether/surfacebase/lowernorthhall)
"afp" = (
@@ -3380,6 +3418,17 @@
/obj/effect/floor_decal/corner/paleblue/bordercorner2{
dir = 4
},
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
/turf/simulated/floor/tiled,
/area/tether/surfacebase/lowernorthhall)
"aft" = (
@@ -3417,6 +3466,7 @@
dir = 4;
pixel_x = 24
},
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
/turf/simulated/floor/plating,
/area/maintenance/lowmedbaymaint)
"afz" = (
@@ -8240,12 +8290,6 @@
dir = 4
},
/obj/random/junk,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 5
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
/turf/simulated/floor/plating,
/area/maintenance/lowmedbaymaint)
"anG" = (
@@ -11332,6 +11376,10 @@
d2 = 4;
icon_state = "1-4"
},
+<<<<<<< HEAD
+=======
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+>>>>>>> 07c41e63ae... Merge pull request #12529 from Very-Soft/autoresleever
/obj/structure/disposalpipe/segment{
dir = 4
},
@@ -11348,6 +11396,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 5
},
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 5
+ },
/turf/simulated/floor/plating,
/area/maintenance/lowmedbaymaint)
"asU" = (
@@ -14006,6 +14057,11 @@
/obj/machinery/door/firedoor/glass/hidden/steel{
dir = 1
},
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
/turf/simulated/floor/tiled/white,
/area/tether/surfacebase/medical/lowerhall)
"awZ" = (
@@ -16054,15 +16110,17 @@
d2 = 8;
icon_state = "2-8"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 10
- },
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 10
},
+<<<<<<< HEAD
/obj/structure/disposalpipe/segment{
dir = 8;
icon_state = "pipe-c"
+=======
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 4
+>>>>>>> 07c41e63ae... Merge pull request #12529 from Very-Soft/autoresleever
},
/turf/simulated/floor/plating,
/area/maintenance/lowmedbaymaint)
@@ -30789,13 +30847,19 @@
/turf/simulated/floor/tiled,
/area/hallway/lower/first_west)
"bbI" = (
-/obj/item/weapon/tool/wrench{
- desc = "The lower jaw seems to keep jiggling...";
- name = "loose wrench";
- toolspeed = 3
+/obj/machinery/vending/loadout/uniform,
+/obj/machinery/light{
+ dir = 8
},
-/turf/simulated/floor/plating,
-/area/maintenance/lowmedbaymaint)
+/obj/effect/floor_decal/borderfloorwhite{
+ dir = 9
+ },
+/obj/effect/floor_decal/corner/paleblue/border{
+ dir = 9
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/turf/simulated/floor/tiled/white,
+/area/tether/surfacebase/medical/autoresleeving)
"bbJ" = (
/obj/structure/cable/green,
/obj/structure/cable/green{
@@ -30836,9 +30900,15 @@
/turf/simulated/floor,
/area/maintenance/substation/SurfMedsubstation)
"bbM" = (
-/obj/random/cigarettes,
-/turf/simulated/floor/plating,
-/area/maintenance/lowmedbaymaint)
+/obj/machinery/transhuman/autoresleever,
+/obj/effect/floor_decal/borderfloorwhite{
+ dir = 1
+ },
+/obj/effect/floor_decal/corner/paleblue/border{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/white,
+/area/tether/surfacebase/medical/autoresleeving)
"bbN" = (
/obj/structure/cable/green{
d1 = 4;
@@ -30993,9 +31063,19 @@
/turf/simulated/floor,
/area/maintenance/substation/SurfMedsubstation)
"bbZ" = (
-/obj/random/junk,
-/turf/simulated/floor/plating,
-/area/maintenance/lowmedbaymaint)
+/obj/structure/disposalpipe/trunk{
+ dir = 2
+ },
+/obj/machinery/disposal/deliveryChute,
+/obj/structure/plasticflaps,
+/obj/effect/floor_decal/borderfloorwhite{
+ dir = 1
+ },
+/obj/effect/floor_decal/corner/paleblue/border{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/white,
+/area/tether/surfacebase/medical/autoresleeving)
"bca" = (
/obj/effect/floor_decal/borderfloor,
/obj/effect/floor_decal/corner/brown/border,
@@ -32033,12 +32113,6 @@
},
/turf/simulated/floor/plating,
/area/maintenance/lower/trash_pit)
-"bTE" = (
-/obj/structure/railing{
- dir = 1
- },
-/turf/simulated/floor/plating,
-/area/maintenance/lowmedbaymaint)
"bWg" = (
/obj/machinery/vending/loadout/costume{
dir = 4
@@ -32130,12 +32204,11 @@
/turf/simulated/floor/tiled/monotile,
/area/crew_quarters/locker/laundry_arrival)
"cqg" = (
-/obj/structure/railing{
- dir = 1
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/obj/machinery/atmospherics/unary/vent_pump/on,
-/turf/simulated/floor/plating,
-/area/maintenance/lowmedbaymaint)
+/turf/simulated/wall,
+/area/tether/surfacebase/medical/autoresleeving)
"cqZ" = (
/obj/effect/floor_decal/borderfloor{
dir = 8
@@ -32647,6 +32720,10 @@
},
/turf/simulated/floor/plating,
/area/maintenance/lowmedbaymaint)
+"dUK" = (
+/obj/structure/disposalpipe/segment,
+/turf/simulated/wall,
+/area/tether/surfacebase/medical/autoresleeving)
"dYd" = (
/obj/machinery/firealarm{
layer = 3.3;
@@ -33090,10 +33167,24 @@
/turf/simulated/floor/carpet/gaycarpet,
/area/tether/surfacebase/funny/clownoffice)
"fKm" = (
-/obj/random/junk,
-/obj/random/maintenance/cargo,
-/turf/simulated/floor/plating,
-/area/maintenance/lowmedbaymaint)
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
+/obj/effect/floor_decal/borderfloorwhite{
+ dir = 8
+ },
+/obj/effect/floor_decal/corner/paleblue/border{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/white,
+/area/tether/surfacebase/medical/autoresleeving)
"fLB" = (
/obj/effect/floor_decal/steeldecal/steel_decals6{
dir = 5
@@ -33942,13 +34033,21 @@
/area/crew_quarters/visitor_laundry)
=======
"idk" = (
-/obj/item/weapon/tool/wirecutters{
- desc = "It gets jammed a lot.";
- name = "janky wirecutters";
- toolspeed = 2
+/obj/machinery/alarm{
+ dir = 8;
+ pixel_x = 22
},
-/turf/simulated/floor/plating,
-/area/maintenance/lowmedbaymaint)
+/obj/effect/floor_decal/borderfloorwhite{
+ dir = 6
+ },
+/obj/effect/floor_decal/corner/paleblue/border{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/white,
+/area/tether/surfacebase/medical/autoresleeving)
"iee" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
@@ -34027,6 +34126,25 @@
/obj/item/device/radio/beacon,
/turf/simulated/floor/tiled,
/area/tether/surfacebase/surface_one_hall)
+"itj" = (
+/obj/structure/cable/green{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "east bump";
+ nightshift_setting = 2;
+ pixel_x = 24
+ },
+/obj/effect/floor_decal/borderfloorwhite{
+ dir = 6
+ },
+/obj/effect/floor_decal/corner/paleblue/border{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/white,
+/area/tether/surfacebase/medical/autoresleeving)
"iue" = (
/turf/simulated/floor/looking_glass{
dir = 1
@@ -34139,9 +34257,6 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 5
- },
/turf/simulated/floor/plating,
/area/maintenance/lowmedbaymaint)
"jhN" = (
@@ -34860,10 +34975,20 @@
/turf/simulated/floor/tiled,
/area/crew_quarters/visitor_laundry)
"lbd" = (
+<<<<<<< HEAD
/obj/random/maintenance/cargo,
/turf/simulated/floor/plating,
/area/maintenance/lowmedbaymaint)
>>>>>>> 7c76d267c9... Merge pull request #9645 from SweetBlueSylveon/The-Clime-Offices
+=======
+/obj/effect/floor_decal/borderfloorwhite/corner,
+/obj/effect/floor_decal/corner/paleblue/bordercorner,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/white,
+/area/tether/surfacebase/medical/autoresleeving)
+>>>>>>> 07c41e63ae... Merge pull request #12529 from Very-Soft/autoresleever
"lbu" = (
/obj/effect/floor_decal/borderfloorwhite,
/obj/effect/floor_decal/corner/paleblue/border,
@@ -35038,6 +35163,25 @@
/obj/machinery/holoposter,
/turf/simulated/wall,
/area/hallway/lower/first_west)
+"lBv" = (
+/obj/machinery/door/airlock/maintenance/medical{
+ id_tag = "autor";
+ name = "Auto-Resleeving";
+ req_access = list(5)
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/white,
+/area/tether/surfacebase/medical/autoresleeving)
"lBO" = (
/obj/structure/cable{
d1 = 1;
@@ -35189,9 +35333,32 @@
/turf/simulated/floor/tiled,
/area/tether/surfacebase/surface_one_hall)
"lPQ" = (
-/obj/item/stack/cable_coil/random_belt,
-/turf/simulated/floor/plating,
-/area/maintenance/lowmedbaymaint)
+/obj/machinery/button/remote/airlock{
+ desc = "A remote control door switch.";
+ id = "autor";
+ name = "Exit Button";
+ pixel_x = -26;
+ pixel_y = -26
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/borderfloorwhite{
+ dir = 10
+ },
+/obj/effect/floor_decal/corner/paleblue/border{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/turf/simulated/floor/tiled/white,
+/area/tether/surfacebase/medical/autoresleeving)
"lQu" = (
/obj/item/weapon/reagent_containers/glass/bucket,
/obj/structure/table/steel,
@@ -36379,9 +36546,22 @@
/turf/simulated/floor/carpet/gaycarpet,
/area/tether/surfacebase/funny/clownoffice)
"oPH" = (
-/obj/random/pizzabox,
-/turf/simulated/floor/plating,
-/area/maintenance/lowmedbaymaint)
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/item/device/radio/intercom{
+ dir = 1;
+ pixel_y = 24
+ },
+/obj/effect/floor_decal/borderfloorwhite{
+ dir = 5
+ },
+/obj/effect/floor_decal/corner/paleblue/border{
+ dir = 5
+ },
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/turf/simulated/floor/tiled/white,
+/area/tether/surfacebase/medical/autoresleeving)
"oQm" = (
/obj/effect/floor_decal/borderfloor/corner,
/obj/structure/cable{
@@ -36806,6 +36986,15 @@
"qwV" = (
/turf/simulated/wall,
/area/tether/surfacebase/security/brig)
+"qBa" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/maintenance/lowmedbaymaint)
"qBb" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 1
@@ -37014,12 +37203,12 @@
/turf/simulated/floor/plating,
/area/maintenance/lower/trash_pit)
"qVi" = (
-/obj/structure/railing{
- dir = 1
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
},
-/obj/machinery/atmospherics/unary/vent_scrubber/on,
-/turf/simulated/floor/plating,
-/area/maintenance/lowmedbaymaint)
+/turf/simulated/wall,
+/area/tether/surfacebase/medical/autoresleeving)
"qWk" = (
/obj/machinery/light,
/obj/structure/disposalpipe/segment{
@@ -37588,6 +37777,30 @@
},
/turf/simulated/floor/plating,
/area/maintenance/lower/mining_eva)
+<<<<<<< HEAD
+=======
+"sLN" = (
+/obj/machinery/atmospherics/pipe/simple/visible/yellow{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/engineering/atmos)
+"sOx" = (
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/turf/simulated/floor/plating,
+/area/maintenance/lowmedbaymaint)
+"sQc" = (
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'HIGH VOLTAGE'";
+ icon_state = "shock";
+ name = "HIGH VOLTAGE"
+ },
+/turf/simulated/wall,
+/area/maintenance/substation/SurfMedsubstation)
+>>>>>>> 07c41e63ae... Merge pull request #12529 from Very-Soft/autoresleever
"sQB" = (
/obj/machinery/door/firedoor/glass,
/obj/machinery/door/airlock/glass,
@@ -38026,10 +38239,17 @@
/turf/simulated/floor/tiled/techfloor,
/area/maintenance/lower/xenoflora)
"utQ" = (
-/obj/fiftyspawner/steel,
-/obj/random/junk,
-/turf/simulated/floor/plating,
-/area/maintenance/lowmedbaymaint)
+/obj/structure/disposalpipe/segment,
+/obj/effect/floor_decal/borderfloorwhite,
+/obj/effect/floor_decal/corner/paleblue/border,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/shower{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/white,
+/area/tether/surfacebase/medical/autoresleeving)
"uuu" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -38172,6 +38392,9 @@
},
/turf/simulated/floor/tiled/white,
/area/tether/surfacebase/medical/lowerhall)
+"uIU" = (
+/turf/simulated/wall,
+/area/tether/surfacebase/medical/autoresleeving)
"uKS" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -38317,11 +38540,8 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
+ dir = 5
},
/turf/simulated/floor/plating,
/area/maintenance/lowmedbaymaint)
@@ -50103,6 +50323,7 @@ acm
acU
adA
aan
+<<<<<<< HEAD
aBn
lbu
axL
@@ -50117,6 +50338,22 @@ aDH
adx
aEX
aFv
+=======
+atP
+awE
+aeU
+uIU
+uIU
+uIU
+lBv
+cqg
+afE
+aef
+aef
+aef
+aEY
+aFO
+>>>>>>> 07c41e63ae... Merge pull request #12529 from Very-Soft/autoresleever
aGw
aGV
aHU
@@ -50367,6 +50604,7 @@ abL
abL
ael
aan
+<<<<<<< HEAD
atQ
awV
axQ
@@ -50404,6 +50642,45 @@ asU
ats
atS
auw
+=======
+uHS
+awC
+aeU
+uIU
+bbI
+fKm
+lPQ
+cqg
+akA
+aAG
+tdg
+aef
+aEZ
+aFP
+aGw
+aHi
+aef
+eAt
+eAt
+eAt
+agM
+agM
+aoa
+agM
+agM
+agM
+agM
+aqM
+agM
+aqM
+agM
+asg
+ash
+uxF
+ash
+kMG
+ash
+>>>>>>> 07c41e63ae... Merge pull request #12529 from Very-Soft/autoresleever
auR
avu
awc
@@ -60671,6 +60948,114 @@ aud
auD
aad
aad
+<<<<<<< HEAD
+=======
+aar
+aaE
+abr
+abr
+adf
+adT
+afb
+atO
+awC
+aeU
+uIU
+bbM
+lbd
+itj
+cqg
+jcT
+ksK
+tdg
+aef
+aFa
+aFQ
+aGw
+aHk
+aef
+eWR
+mnN
+oeB
+ahx
+anI
+aob
+aom
+ahx
+guV
+apF
+ahc
+apF
+ahc
+apF
+ash
+ast
+asU
+ato
+evF
+ast
+auR
+avq
+anH
+awM
+axs
+awN
+azd
+ayG
+jnj
+agM
+cOq
+aCJ
+aCJ
+aCJ
+aCJ
+aCJ
+agM
+aBs
+gjn
+aEH
+aJh
+aJQ
+aKF
+aLg
+aLN
+aMy
+aNi
+aLg
+aOl
+aOG
+aOY
+aOj
+aQd
+aQG
+aRi
+aQb
+aSk
+aST
+aTx
+aSi
+aUi
+aUL
+aUZ
+aVu
+aVL
+aWj
+aWI
+aUb
+aXr
+aXJ
+aYg
+aHO
+aYY
+aZq
+aYg
+aZQ
+bal
+baB
+bah
+baS
+baU
+>>>>>>> 07c41e63ae... Merge pull request #12529 from Very-Soft/autoresleever
aad
aad
aad
@@ -60706,6 +61091,7 @@ aad
aad
aad
<<<<<<< HEAD
+<<<<<<< HEAD
||||||| parent of 6133dc6fdd... Merge pull request #11341 from VOREStation/Arokha/fancy_shuttle_done
aah
aah
@@ -60749,6 +61135,254 @@ baU
baU
baU
baU
+=======
+aar
+abL
+abL
+abL
+abL
+aea
+afb
+atO
+awp
+axO
+uIU
+bbZ
+utQ
+dUK
+qVi
+anF
+ksK
+tdg
+aef
+aFb
+aFZ
+aGJ
+aHq
+aef
+nUG
+mnN
+wWK
+ahx
+ait
+aoc
+aon
+aoU
+apG
+apF
+aqN
+apF
+aqN
+apF
+ash
+ast
+asU
+atp
+hoH
+ast
+auR
+avr
+avZ
+awN
+axt
+awN
+azc
+ayG
+uEK
+agM
+agM
+agM
+aIp
+aEF
+agM
+agM
+agM
+agM
+agM
+aIp
+aJi
+lgZ
+agM
+aLg
+aLO
+aMz
+aNj
+aLg
+aOm
+aOH
+aOZ
+aOj
+aQe
+aQH
+aRj
+aQb
+aSl
+aSU
+aTy
+aSi
+aUj
+aUM
+aVa
+aVx
+aVM
+aWk
+aWJ
+aUb
+aXr
+aXJ
+aYg
+aYg
+aYg
+aYg
+aYg
+aYg
+aYg
+aYg
+aYg
+aYg
+baU
+aah
+aah
+aad
+aad
+aad
+aad
+aad
+aad
+aad
+aad
+aad
+aad
+aad
+aad
+aad
+aad
+aad
+aad
+aad
+aaa
+"}
+(101,1,1) = {"
+aaa
+aad
+aad
+aad
+aad
+aad
+aad
+aad
+aad
+aad
+aad
+aad
+aad
+aad
+aad
+aar
+aaJ
+abU
+acC
+abL
+aei
+afb
+atO
+awG
+aed
+uIU
+oPH
+idk
+uIU
+sOx
+vuO
+ksK
+tdg
+aef
+aef
+aef
+aef
+aef
+aef
+mrj
+mnN
+bTt
+ahx
+anJ
+aod
+aoo
+ahx
+aaW
+aqi
+aqO
+mRY
+aql
+aql
+ash
+asu
+asU
+qOA
+uuu
+ast
+auR
+avs
+awa
+awN
+axt
+awN
+azd
+ayJ
+mZO
+agM
+kbZ
+cqZ
+xzn
+lQQ
+vHP
+bMP
+eUS
+axi
+mCe
+xzn
+abb
+rxq
+aMc
+aLg
+aLg
+aLg
+aNk
+aLg
+aOj
+aOj
+aPa
+aOj
+aQb
+aQb
+aRk
+aQb
+aSi
+aSi
+aTz
+aSi
+aUb
+aUb
+aUb
+aVw
+aUb
+aUb
+aUb
+aUb
+aXr
+aXP
+aYi
+aYB
+aIH
+aJw
+aZD
+aZR
+baD
+baD
+baO
+baT
+>>>>>>> 07c41e63ae... Merge pull request #12529 from Very-Soft/autoresleever
baU
aah
aah
@@ -60894,6 +61528,7 @@ aad
aad
aad
<<<<<<< HEAD
+<<<<<<< HEAD
||||||| parent of 257f18b7ed... Virology Revamp (#11384)
aah
aah
@@ -60938,6 +61573,43 @@ wRb
fkx
vCn
lry
+=======
+aar
+aaO
+abV
+acF
+abL
+aek
+afb
+atO
+awz
+aeU
+uIU
+uIU
+uIU
+uIU
+axP
+qBa
+ksK
+oKn
+oKn
+oKn
+ylH
+oMC
+guO
+aaU
+rNu
+mnN
+oeB
+ahx
+ahx
+ahx
+ahx
+ahx
+apF
+apF
+aqP
+>>>>>>> 07c41e63ae... Merge pull request #12529 from Very-Soft/autoresleever
apF
apF
apF
diff --git a/maps/tether/tether-03-surface3.dmm b/maps/tether/tether-03-surface3.dmm
index 07259cae2d..3963617304 100644
--- a/maps/tether/tether-03-surface3.dmm
+++ b/maps/tether/tether-03-surface3.dmm
@@ -39778,11 +39778,22 @@
/obj/structure/bed/chair/bay/chair{
dir = 1
},
+<<<<<<< HEAD
/turf/simulated/floor/tiled/eris/white/orangecorner,
/area/shuttle/tourbus/cockpit)
"hmT" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 9
+=======
+/obj/structure/table/standard,
+/obj/machinery/power/apc{
+ alarms_hidden = 1;
+ dir = 1;
+ name = "north bump";
+ pixel_y = 28;
+ req_access = null;
+ req_one_access = list(11,67)
+>>>>>>> 07c41e63ae... Merge pull request #12529 from Very-Soft/autoresleever
},
/obj/structure/cable/green{
dir = 1;
diff --git a/maps/tether/tether_areas.dm b/maps/tether/tether_areas.dm
index bcac1a03a3..e1045f16f1 100644
--- a/maps/tether/tether_areas.dm
+++ b/maps/tether/tether_areas.dm
@@ -437,6 +437,8 @@
name = "\improper Medical Central Hall"
/area/tether/surfacebase/medical/lowerhall
name = "\improper Medical Lower Hall"
+/area/tether/surfacebase/medical/autoresleeving
+ name = "\improper Medical Auto Resleeving"
//North SurfMed3-2 Stairwell
/area/tether/surfacebase/medical/uppernorthstairwell
name = "\improper Medical Stairwell"
diff --git a/vorestation.dme b/vorestation.dme
index dc7450a685..e9a768b9c8 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -335,6 +335,7 @@
#include "code\datums\ghost_query_vr.dm"
#include "code\datums\hierarchy.dm"
#include "code\datums\mind.dm"
+#include "code\datums\mind_vr.dm"
#include "code\datums\mixed.dm"
#include "code\datums\modules.dm"
#include "code\datums\mutable_appearance.dm"
@@ -4029,6 +4030,7 @@
#include "code\modules\research\designs\circuits\circuits_vr.dm"
#include "code\modules\research\designs\circuits\circuits_yw.dm"
#include "code\modules\research\designs\circuits\disks.dm"
+#include "code\modules\resleeving\autoresleever.dm"
#include "code\modules\resleeving\circuitboards.dm"
#include "code\modules\resleeving\computers.dm"
#include "code\modules\resleeving\designer.dm"