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"