mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-03-22 11:43:12 +00:00
@@ -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.
|
||||
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)
|
||||
|
||||
@@ -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!")
|
||||
|
||||
@@ -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, "<span class='warning'>Your backup is not past-due yet.</span>")
|
||||
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, "<span class='notice'>New notification has been sent.</span>")
|
||||
else
|
||||
to_chat(src, "<span class='warning'>Your backup is not past-due yet.</span>")
|
||||
else if((world.time - record.last_notification) < 5 MINUTES)
|
||||
to_chat(src, "<span class='warning'>Too little time has passed since your last notification.</span>")
|
||||
else
|
||||
@@ -78,7 +84,7 @@
|
||||
to_chat(src, "<span class='notice'>New notification has been sent.</span>")
|
||||
else
|
||||
to_chat(src,"<span class='warning'>No backup record could be found, sorry.</span>")
|
||||
|
||||
/*
|
||||
/mob/observer/dead/verb/backup_delay()
|
||||
set category = "Ghost"
|
||||
set name = "Cancel Transcore Notification"
|
||||
@@ -97,7 +103,7 @@
|
||||
to_chat(src, "<span class='notice'>Overdue mind backup notification delayed successfully.</span>")
|
||||
else
|
||||
to_chat(src,"<span class='warning'>No backup record could be found, sorry.</span>")
|
||||
|
||||
*/
|
||||
/mob/observer/dead/verb/findghostpod() //Moves the ghost instead of just changing the ghosts's eye -Nodrak
|
||||
set category = "Ghost"
|
||||
set name = "Find Ghost Pod"
|
||||
|
||||
@@ -485,9 +485,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")
|
||||
|
||||
|
||||
173
code/modules/resleeving/autoresleever.dm
Normal file
173
code/modules/resleeving/autoresleever.dm
Normal file
@@ -0,0 +1,173 @@
|
||||
/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 = 15 MINUTES //The time to wait if you died from vore
|
||||
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.
|
||||
var/update_i = FALSE
|
||||
|
||||
/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, "<span class='warning'>There are no more respawn slots.</span>")
|
||||
return
|
||||
if(user.mind)
|
||||
if(user.mind.vore_death)
|
||||
if(vore_respawn <= world.time - user.timeofdeath)
|
||||
autoresleeve(user)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You must wait [((vore_respawn - (world.time - user.timeofdeath)) * 0.1) / 60] minutes to use \the [src].</span>")
|
||||
return
|
||||
else if(respawn <= world.time - user.timeofdeath)
|
||||
autoresleeve(user)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You must wait [((respawn - (world.time - user.timeofdeath)) * 0.1) /60] minutes to use \the [src].</span>")
|
||||
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, "<span class='warning'>You need to have been spawned in order to respawn here.</span>")
|
||||
|
||||
/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, "<span class='warning'>This machine is not functioning...</span>")
|
||||
return
|
||||
if(!istype(ghost,/mob/observer/dead))
|
||||
return
|
||||
|
||||
if(ghost.mind && ghost.mind.current && ghost.mind.current.stat != DEAD)
|
||||
to_chat(ghost, "<span class='warning'>Your body is still alive, you cannot be resleeved.</span>")
|
||||
return
|
||||
|
||||
var/client/ghost_client = ghost.client
|
||||
|
||||
//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, "<span class='warning'>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.</span>")
|
||||
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, "<span class='warning'>Could not find a valid location to spawn your character.</span>")
|
||||
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, "<span class='warning'>You can't play as a [spawnthing]...</span>")
|
||||
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.")
|
||||
|
||||
if(spawn_slots == -1)
|
||||
return
|
||||
else if(spawn_slots == 0)
|
||||
return
|
||||
else
|
||||
spawn_slots --
|
||||
return
|
||||
BIN
icons/obj/machines/autoresleever.dmi
Normal file
BIN
icons/obj/machines/autoresleever.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.8 KiB |
@@ -2075,6 +2075,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" = (
|
||||
@@ -6726,7 +6730,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";
|
||||
@@ -7381,6 +7385,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" = (
|
||||
@@ -7970,7 +7982,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" = (
|
||||
@@ -16013,16 +16025,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"
|
||||
@@ -20510,8 +20512,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,
|
||||
@@ -33859,7 +33862,7 @@ dH
|
||||
oW
|
||||
vb
|
||||
pA
|
||||
Ij
|
||||
hv
|
||||
CG
|
||||
ZB
|
||||
hg
|
||||
|
||||
@@ -2264,6 +2264,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" = (
|
||||
@@ -2288,6 +2293,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" = (
|
||||
@@ -2358,6 +2368,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" = (
|
||||
@@ -2379,6 +2394,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" = (
|
||||
@@ -2552,11 +2572,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)
|
||||
@@ -2824,6 +2844,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" = (
|
||||
@@ -3295,6 +3322,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" = (
|
||||
@@ -3345,6 +3383,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" = (
|
||||
@@ -3381,6 +3430,7 @@
|
||||
dir = 4;
|
||||
pixel_x = 24
|
||||
},
|
||||
/obj/machinery/atmospherics/unary/vent_scrubber/on,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/maintenance/lowmedbaymaint)
|
||||
"afz" = (
|
||||
@@ -8206,12 +8256,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" = (
|
||||
@@ -11278,11 +11322,13 @@
|
||||
icon_state = "1-4"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
|
||||
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
|
||||
/obj/structure/disposalpipe/segment{
|
||||
dir = 8;
|
||||
icon_state = "pipe-c"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 5
|
||||
},
|
||||
/turf/simulated/floor/plating,
|
||||
/area/maintenance/lowmedbaymaint)
|
||||
"asU" = (
|
||||
@@ -13876,6 +13922,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" = (
|
||||
@@ -15870,12 +15921,12 @@
|
||||
d2 = 8;
|
||||
icon_state = "2-8"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 10
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
|
||||
dir = 10
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
|
||||
dir = 4
|
||||
},
|
||||
/turf/simulated/floor/plating,
|
||||
/area/maintenance/lowmedbaymaint)
|
||||
"azU" = (
|
||||
@@ -30423,13 +30474,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{
|
||||
@@ -30470,9 +30527,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;
|
||||
@@ -30628,9 +30691,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,
|
||||
@@ -31706,12 +31779,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
|
||||
@@ -31803,12 +31870,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
|
||||
@@ -32326,6 +32392,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;
|
||||
@@ -32773,10 +32843,24 @@
|
||||
/turf/simulated/floor/plating,
|
||||
/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
|
||||
@@ -33806,13 +33890,21 @@
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/rnd/hallway)
|
||||
"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,
|
||||
@@ -33895,6 +33987,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
|
||||
@@ -34049,9 +34160,6 @@
|
||||
/obj/structure/disposalpipe/segment{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
|
||||
dir = 5
|
||||
},
|
||||
/turf/simulated/floor/plating,
|
||||
/area/maintenance/lowmedbaymaint)
|
||||
"jhN" = (
|
||||
@@ -34822,9 +34930,13 @@
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/crew_quarters/visitor_laundry)
|
||||
"lbd" = (
|
||||
/obj/random/maintenance/cargo,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/maintenance/lowmedbaymaint)
|
||||
/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)
|
||||
"lbu" = (
|
||||
/obj/effect/floor_decal/borderfloorwhite,
|
||||
/obj/effect/floor_decal/corner/paleblue/border,
|
||||
@@ -35003,6 +35115,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;
|
||||
@@ -35148,9 +35279,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,
|
||||
@@ -36375,9 +36529,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{
|
||||
@@ -36818,6 +36985,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
|
||||
@@ -37024,12 +37200,12 @@
|
||||
/turf/simulated/floor/plating,
|
||||
/area/maintenance/lowmedbaymaint)
|
||||
"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{
|
||||
@@ -37649,6 +37825,10 @@
|
||||
},
|
||||
/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'";
|
||||
@@ -38176,10 +38356,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
|
||||
@@ -38318,6 +38505,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
|
||||
@@ -38465,11 +38655,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)
|
||||
@@ -53037,11 +53224,11 @@ aan
|
||||
atP
|
||||
awE
|
||||
aeU
|
||||
aeU
|
||||
aeU
|
||||
aeU
|
||||
aef
|
||||
aef
|
||||
uIU
|
||||
uIU
|
||||
uIU
|
||||
lBv
|
||||
cqg
|
||||
afE
|
||||
aef
|
||||
aef
|
||||
@@ -53179,11 +53366,11 @@ aan
|
||||
uHS
|
||||
awC
|
||||
aeU
|
||||
aeU
|
||||
uIU
|
||||
bbI
|
||||
fKm
|
||||
lPQ
|
||||
bTE
|
||||
cqg
|
||||
akA
|
||||
aAG
|
||||
tdg
|
||||
@@ -53321,10 +53508,10 @@ afb
|
||||
atO
|
||||
awC
|
||||
aeU
|
||||
aeU
|
||||
uIU
|
||||
bbM
|
||||
lbd
|
||||
aAI
|
||||
itj
|
||||
cqg
|
||||
jcT
|
||||
ksK
|
||||
@@ -53463,10 +53650,10 @@ afb
|
||||
atO
|
||||
awp
|
||||
axO
|
||||
aeU
|
||||
uIU
|
||||
bbZ
|
||||
utQ
|
||||
lbd
|
||||
dUK
|
||||
qVi
|
||||
anF
|
||||
ksK
|
||||
@@ -53605,11 +53792,11 @@ afb
|
||||
atO
|
||||
awG
|
||||
aed
|
||||
aeU
|
||||
uIU
|
||||
oPH
|
||||
idk
|
||||
bbZ
|
||||
bTE
|
||||
uIU
|
||||
sOx
|
||||
vuO
|
||||
ksK
|
||||
tdg
|
||||
@@ -53747,12 +53934,12 @@ afb
|
||||
atO
|
||||
awz
|
||||
aeU
|
||||
aeU
|
||||
uIU
|
||||
uIU
|
||||
uIU
|
||||
uIU
|
||||
axP
|
||||
axP
|
||||
axP
|
||||
axP
|
||||
vuO
|
||||
qBa
|
||||
ksK
|
||||
oKn
|
||||
oKn
|
||||
|
||||
@@ -39409,7 +39409,9 @@
|
||||
alarms_hidden = 1;
|
||||
dir = 1;
|
||||
name = "north bump";
|
||||
pixel_y = 28
|
||||
pixel_y = 28;
|
||||
req_access = null;
|
||||
req_one_access = list(11,67)
|
||||
},
|
||||
/obj/structure/cable/green{
|
||||
icon_state = "0-4"
|
||||
|
||||
@@ -440,6 +440,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"
|
||||
|
||||
@@ -3723,6 +3723,7 @@
|
||||
#include "code\modules\research\designs\circuits\circuits.dm"
|
||||
#include "code\modules\research\designs\circuits\circuits_vr.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"
|
||||
|
||||
Reference in New Issue
Block a user