Merge github.com:Baystation12/Baystation12

Conflicts:
	html/changelog.html
This commit is contained in:
cib
2012-07-07 07:58:32 +02:00
65 changed files with 10198 additions and 7900 deletions
+22 -8
View File
@@ -118,6 +118,7 @@
#define FILE_DIR "code/modules/mob/living/carbon/alien/humanoid/caste"
#define FILE_DIR "code/modules/mob/living/carbon/alien/larva"
#define FILE_DIR "code/modules/mob/living/carbon/alien/special"
#define FILE_DIR "code/modules/mob/living/carbon/amorph"
#define FILE_DIR "code/modules/mob/living/carbon/brain"
#define FILE_DIR "code/modules/mob/living/carbon/human"
#define FILE_DIR "code/modules/mob/living/carbon/metroid"
@@ -144,6 +145,7 @@
#define FILE_DIR "code/modules/projectiles/projectile"
#define FILE_DIR "code/modules/recycling"
#define FILE_DIR "code/modules/research"
#define FILE_DIR "code/modules/research/xenoarchaeology"
#define FILE_DIR "code/modules/scripting"
#define FILE_DIR "code/modules/scripting/AST"
#define FILE_DIR "code/modules/scripting/AST/Operators"
@@ -168,6 +170,7 @@
#define FILE_DIR "code/WorkInProgress/Apples"
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn"
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/BirdMan"
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Jumper"
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Rust"
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Supermatter"
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Tajara"
@@ -203,9 +206,11 @@
#define FILE_DIR "icons/spideros_icons"
#define FILE_DIR "icons/Testing"
#define FILE_DIR "icons/turf"
#define FILE_DIR "icons/vehicles"
#define FILE_DIR "icons/vending_icons"
#define FILE_DIR "interface"
#define FILE_DIR "maps"
#define FILE_DIR "maps/backup"
#define FILE_DIR "maps/RandomZLevels"
#define FILE_DIR "sound"
#define FILE_DIR "sound/AI"
@@ -918,6 +923,7 @@
#include "code\modules\mining\ores_materials_coins.dm"
#include "code\modules\mining\satchel_ore_box.dm"
#include "code\modules\mob\death.dm"
#include "code\modules\mob\emote.dm"
#include "code\modules\mob\login.dm"
#include "code\modules\mob\logout.dm"
#include "code\modules\mob\mob.dm"
@@ -972,6 +978,11 @@
#include "code\modules\mob\living\carbon\alien\special\muton.dm"
#include "code\modules\mob\living\carbon\alien\special\sectoid.dm"
#include "code\modules\mob\living\carbon\alien\special\snakeman.dm"
#include "code\modules\mob\living\carbon\amorph\amorph.dm"
#include "code\modules\mob\living\carbon\amorph\amorph_damage.dm"
#include "code\modules\mob\living\carbon\amorph\amorph_hud.dm"
#include "code\modules\mob\living\carbon\amorph\life.dm"
#include "code\modules\mob\living\carbon\amorph\say.dm"
#include "code\modules\mob\living\carbon\brain\brain.dm"
#include "code\modules\mob\living\carbon\brain\death.dm"
#include "code\modules\mob\living\carbon\brain\hud.dm"
@@ -1133,14 +1144,6 @@
#include "code\modules\recycling\disposal-construction.dm"
#include "code\modules\recycling\disposal.dm"
#include "code\modules\recycling\sortingmachinery.dm"
#include "code\modules\research\artifact_analysis.dm"
#include "code\modules\research\artifact_archaeo.dm"
#include "code\modules\research\artifact_db.dm"
#include "code\modules\research\artifact_effect.dm"
#include "code\modules\research\artifact_harvester.dm"
#include "code\modules\research\artifact_misc.dm"
#include "code\modules\research\artifact_synthetic.dm"
#include "code\modules\research\artifacts.dm"
#include "code\modules\research\circuitprinter.dm"
#include "code\modules\research\designs.dm"
#include "code\modules\research\destructive_analyzer.dm"
@@ -1150,7 +1153,18 @@
#include "code\modules\research\rdconsole.dm"
#include "code\modules\research\rdmachines.dm"
#include "code\modules\research\research.dm"
#include "code\modules\research\research_shuttle.dm"
#include "code\modules\research\server.dm"
#include "code\modules\research\xenoarchaeology\archaeo_analysis.dm"
#include "code\modules\research\xenoarchaeology\archaeo_excavate.dm"
#include "code\modules\research\xenoarchaeology\artifact_analysis.dm"
#include "code\modules\research\xenoarchaeology\artifact_archaeo.dm"
#include "code\modules\research\xenoarchaeology\artifact_db.dm"
#include "code\modules\research\xenoarchaeology\artifact_effect.dm"
#include "code\modules\research\xenoarchaeology\artifact_harvester.dm"
#include "code\modules\research\xenoarchaeology\artifact_misc.dm"
#include "code\modules\research\xenoarchaeology\artifact_synthetic.dm"
#include "code\modules\research\xenoarchaeology\artifacts.dm"
#include "code\modules\scripting\Errors.dm"
#include "code\modules\scripting\IDE.dm"
#include "code\modules\scripting\Options.dm"
+25 -26
View File
@@ -20,40 +20,39 @@ obj/machinery/atmospherics
var/initialize_directions = 0
var/color
obj/machinery/atmospherics/var/initialize_directions = 0
obj/machinery/atmospherics/var/color
process()
build_network()
obj/machinery/atmospherics/process()
build_network()
proc
network_expand(datum/pipe_network/new_network, obj/machinery/atmospherics/pipe/reference)
// Check to see if should be added to network. Add self if so and adjust variables appropriately.
// Note don't forget to have neighbors look as well!
obj/machinery/atmospherics/proc/network_expand(datum/pipe_network/new_network, obj/machinery/atmospherics/pipe/reference)
// Check to see if should be added to network. Add self if so and adjust variables appropriately.
// Note don't forget to have neighbors look as well!
return null
return null
build_network()
// Called to build a network from this node
obj/machinery/atmospherics/proc/build_network()
// Called to build a network from this node
return null
return null
return_network(obj/machinery/atmospherics/reference)
// Returns pipe_network associated with connection to reference
// Notes: should create network if necessary
// Should never return null
obj/machinery/atmospherics/proc/return_network(obj/machinery/atmospherics/reference)
// Returns pipe_network associated with connection to reference
// Notes: should create network if necessary
// Should never return null
return null
return null
reassign_network(datum/pipe_network/old_network, datum/pipe_network/new_network)
// Used when two pipe_networks are combining
obj/machinery/atmospherics/proc/reassign_network(datum/pipe_network/old_network, datum/pipe_network/new_network)
// Used when two pipe_networks are combining
return_network_air(datum/network/reference)
// Return a list of gas_mixture(s) in the object
// associated with reference pipe_network for use in rebuilding the networks gases list
// Is permitted to return null
obj/machinery/atmospherics/proc/return_network_air(datum/network/reference)
// Return a list of gas_mixture(s) in the object
// associated with reference pipe_network for use in rebuilding the networks gases list
// Is permitted to return null
disconnect(obj/machinery/atmospherics/reference)
obj/machinery/atmospherics/proc/disconnect(obj/machinery/atmospherics/reference)
update_icon()
return null
obj/machinery/atmospherics/update_icon()
return null
@@ -49,16 +49,3 @@
icon_state = "generator0"
src.active = 0*/
..()
/obj/item/weapon/circuitboard/shield_gen/external
name = "Circuit Board (External Shield Generator)"
build_path = "/obj/machinery/shield_gen/external"
board_type = "machine"
origin_tech = "electromagnetic=3;engineering=2;power=1"
frame_desc = "Requires, 2 Cable Coil, 2 Nano Manipulator, 1 Advanced Matter Bin, 1 Console Screen and 1 High-Power Micro-Laser. "
req_components = list(
"/obj/item/weapon/cable_coil" = 2,
"/obj/item/weapon/stock_parts/manipulator/nano" = 2,
"/obj/item/weapon/stock_parts/matter_bin/adv" = 1,
"/obj/item/weapon/stock_parts/console_screen" = 1,
"/obj/item/weapon/stock_parts/micro_laser/high" = 1)
@@ -33,6 +33,21 @@
/*spawn(10)
check_powered()*/
/obj/machinery/shield_capacitor/verb/rotate()
set name = "Rotate Clockwise"
set category = "Object"
set src in oview(1)
if (src.anchored || usr:stat)
usr << "It is fastened to the floor!"
return 0
src.dir = turn(src.dir, 270)
for(var/obj/machinery/shield_gen/possible_gen in range(1))
if(get_dir(src, possible_gen) == dir)
possible_gen.owned_capacitor = src
break
return 1
/obj/machinery/shield_capacitor/power_change()
if(stat & BROKEN)
icon_state = "broke"
@@ -93,6 +108,10 @@
else
user << "\red Access denied."
else if(istype(W, /obj/item/weapon/wrench))
src.anchored = !src.anchored
src.visible_message("\blue \icon[src] [src] has been [anchored ? "bolted to the floor" : "unbolted from the floor"] by [user].")
else
src.add_fingerprint(user)
user << "\red You hit the [src.name] with your [W.name]!"
@@ -141,16 +160,3 @@
t += "<A href='?src=\ref[src];close=1'>Close</A><BR>"
user << browse(t, "window=shield_capacitor;size=500x800")
user.machine = src
/obj/item/weapon/circuitboard/shield_capacitor
name = "Circuit Board (Shield Capacitor)"
build_path = "/obj/machinery/shield_capacitor"
board_type = "machine"
origin_tech = "electromagnetic=3;engineering=2;power=1"
frame_desc = "Requires, 2 Cable Coil, 2 Nano Manipulator, 1 Advanced Matter Bin, 1 Console Screen and 1 High-Power Micro-Laser. "
req_components = list(
"/obj/item/weapon/cable_coil" = 2,
"/obj/item/weapon/stock_parts/manipulator/nano" = 2,
"/obj/item/weapon/stock_parts/matter_bin/adv" = 1,
"/obj/item/weapon/stock_parts/console_screen" = 1,
"/obj/item/weapon/stock_parts/micro_laser/high" = 1)
@@ -25,7 +25,7 @@
var/max_field_strength = 10
var/time_since_fail = 100
var/energy_conversion_rate = 0.01 //how many renwicks per watt?
var/flicker_shield_glitch = 1 //shield is slightly faulty, and flickers
var/flicker_shield_glitch = 1 //shield is slightly faulty and flickers - don't think this is working as intended
//
use_power = 1 //0 use nothing
//1 use idle power
@@ -129,15 +129,8 @@
if(E.strength < target_field_strength)
E.strength += strengthen_rate
retry:
if(stored_renwicks - E.strength < 0)
if(owned_capacitor.stored_charge > 0)
var/emergency_renwicks = min(E.strength, owned_capacitor.stored_charge * energy_conversion_rate)
owned_capacitor.stored_charge -= emergency_renwicks / energy_conversion_rate
stored_renwicks += emergency_renwicks
goto retry
else
E.strength = stored_renwicks
E.strength = stored_renwicks
stored_renwicks -= E.strength
average_field_strength += E.strength
@@ -175,6 +168,10 @@
else
user << "\red Access denied."
else if(istype(W, /obj/item/weapon/wrench))
src.anchored = !src.anchored
src.visible_message("\blue \icon[src] [src] has been [anchored?"bolted to the floor":"unbolted from the floor"] by [user].")
else
src.add_fingerprint(user)
user << "\red You hit the [src.name] with your [W.name]!"
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

@@ -134,6 +134,7 @@
P.name = template.name
P.desc = template.desc
P.icon = template.icon
P.img = template:img
sleep(30)
job_num_copies -= 1
+4 -4
View File
@@ -29,7 +29,7 @@ datum/shuttle_controller
// if not called before, set the endtime to T+600 seconds
// otherwise if outgoing, switch to incoming
proc/incall(coeff = 1)
if(deny_shuttle)
if(deny_shuttle && alert == 1) //crew transfer shuttle does not gets recalled by gamemode
return
if(endtime)
@@ -38,12 +38,12 @@ datum/shuttle_controller
else
settimeleft(SHUTTLEARRIVETIME*coeff)
online = 1
//turning on the red lights in hallways and siren
if(coeff == 1)
//turning on the red lights in hallways
if(alert == 0)
for(var/area/A in world)
if(istype(A, /area/hallway))
A.readyalert()
//sound_siren = 1
proc/shuttlealert(var/X)
alert = X
@@ -218,6 +218,16 @@ proc/process_ghost_teleport_locs()
/area/shuttle/mining/outpost
icon_state = "shuttle"
/area/shuttle/research
name = "\improper Research Shuttle"
music = "music/escape.ogg"
/area/shuttle/research/station
icon_state = "shuttle2"
/area/shuttle/research/outpost
icon_state = "shuttle"
/area/shuttle/transport1/centcom
icon_state = "shuttle"
name = "\improper Transport Shuttle Centcom"
@@ -1266,6 +1276,20 @@ proc/process_ghost_teleport_locs()
name = "\improper Supermatter Laboratory"
icon_state = "supermatter"
//Anomaly
/area/anomaly
name = "Anomaly Lab"
icon_state = "anomaly"
/area/anomaly/shuttledock
name = "Research Shuttle Dock"
icon_state = "anomaly"
/area/anomaly/outpost
name = "Research Outpost"
icon_state = "anomaly"
//Storage
/area/storage/tools
+14 -7
View File
@@ -88,7 +88,7 @@
/obj/item/weapon/storage/pillbottlebox
name = "box of pill bottles"
desc = "It has pictures of pill bottles on its front."
icon_state = "box"
icon_state = "pillbox"
item_state = "syringe_kit"
foldable = /obj/item/stack/sheet/cardboard //BubbleWrap
@@ -292,12 +292,19 @@
update_icon()
for(var/obj/item/weapon/card/id/ID in contents)
if(ID.icon_state == "gold")
icon_state = "walletid_gold"
return
else if(ID.icon_state == "id")
icon_state = "walletid"
return
switch(ID.icon_state)
if("id")
icon_state = "walletid"
return
if("silver")
icon_state = "walletid_silver"
return
if("gold")
icon_state = "walletid_gold"
return
if("centcom")
icon_state = "walletid_centcom"
return
icon_state = "wallet"
+1
View File
@@ -1074,6 +1074,7 @@
var/list/stamped
see_face = 1
body_parts_covered = HEAD
slot_flags = SLOT_HEAD
heat_transfer_coefficient = 0.99
gas_transfer_coefficient = 1
permeability_coefficient = 0.99
+3
View File
@@ -194,6 +194,9 @@ obj/hud/New(var/type = 0)
else if(isrobot(mymob))
robot_hud()
else if(isamorph(mymob))
amorph_hud()
// else if(ishivebot(mymob))
// hivebot_hud()
+1 -1
View File
@@ -124,7 +124,7 @@ var/list/nonhuman_positions = list(
return 0
if("Chaplain","Botanist","Hydroponicist","Medical Doctor","Atmospheric Technician","Geneticist", "Virologist", "Surgeon", "Emergency Physician", "Counselor")
return 1
if("Quartermaster","Cargo Technician","Chemist", "Station Engineer","Roboticist", "Security Officer", "Forensic Technician","Detective", "Scientist","Shaft Miner", "Xenobiologist", "Plasma Researcher","Chief Medical Officer")
if("Quartermaster","Cargo Technician","Chemist", "Station Engineer","Roboticist", "Security Officer", "Forensic Technician","Detective", "Scientist", "Shaft Miner", "Xenobiologist", "Plasma Researcher", "Anomalist", "Chief Medical Officer")
return 2
if("Research Director","Head of Security","Chief Engineer","Warden")
return 3
@@ -213,6 +213,10 @@
name = "Circuit board (Mining Shuttle)"
build_path = "/obj/machinery/computer/mining_shuttle"
origin_tech = "programming=2"
/obj/item/weapon/circuitboard/research_shuttle
name = "Circuit board (Research Shuttle)"
build_path = "/obj/machinery/computer/research_shuttle"
origin_tech = "programming=2"
/obj/item/weapon/circuitboard/HolodeckControl // Not going to let people get this, but it's just here for future
name = "Circuit board (Holodeck Control)"
build_path = "/obj/machinery/computer/HolodeckControl"
@@ -231,6 +235,34 @@
origin_tech = "programming=2"
//shielding
/obj/item/weapon/circuitboard/shield_capacitor
name = "Circuit Board (Shield Capacitor)"
build_path = "/obj/machinery/shield_capacitor"
board_type = "machine"
origin_tech = "programming=3;electromagnetic=3;engineering=2;power=1"
frame_desc = "Requires, 2 Cable Coil, 2 Nano Manipulator, 1 Advanced Matter Bin, 1 Console Screen and 1 High-Power Micro-Laser. "
req_components = list(
"/obj/item/weapon/cable_coil" = 2,
"/obj/item/weapon/stock_parts/manipulator/nano" = 2,
"/obj/item/weapon/stock_parts/matter_bin/adv" = 1,
"/obj/item/weapon/stock_parts/console_screen" = 1,
"/obj/item/weapon/stock_parts/micro_laser/high" = 1)
/obj/item/weapon/circuitboard/shield_generator_external
name = "Circuit Board (Hull Shield Generator)"
build_path = "/obj/machinery/shield_generator/external"
board_type = "machine"
origin_tech = "programming=3;electromagnetic=3;engineering=2;power=1"
frame_desc = "Requires, 2 Cable Coil, 2 Nano Manipulator, 1 Advanced Matter Bin, 1 Console Screen and 1 High-Power Micro-Laser. "
req_components = list(
"/obj/item/weapon/cable_coil" = 2,
"/obj/item/weapon/stock_parts/manipulator/nano" = 2,
"/obj/item/weapon/stock_parts/matter_bin/adv" = 1,
"/obj/item/weapon/stock_parts/console_screen" = 1,
"/obj/item/weapon/stock_parts/micro_laser/high" = 1)
/obj/item/weapon/circuitboard/supplycomp/attackby(obj/item/I as obj, mob/user as mob)
if(istype(I,/obj/item/device/multitool))
var/catastasis = src.contraband_enabled
@@ -482,8 +482,8 @@
user << "Under directive 7-10, [station_name()] is quarantined until further notice."
return
emergency_shuttle.shuttlealert(0)
emergency_shuttle.incall()
emergency_shuttle.shuttlealert(1)
log_game("[key_name(user)] has called the shuttle.")
message_admins("[key_name_admin(user)] has called the shuttle.", 1)
captain_announce("The emergency shuttle has been called. It will arrive in [round(emergency_shuttle.timeleft()/60)] minutes.")
@@ -523,8 +523,8 @@
user << "Under directive 7-10, [station_name()] is quarantined until further notice."
return
emergency_shuttle.incall()
emergency_shuttle.shuttlealert(1)
emergency_shuttle.incall()
log_game("[key_name(user)] has called the shuttle.")
message_admins("[key_name_admin(user)] has called the shuttle.", 1)
captain_announce("A crew transfer has been initiated. The shuttle has been called. It will arrive in [round(emergency_shuttle.timeleft()/60)] minutes.")
+25 -19
View File
@@ -142,12 +142,12 @@ var/list/obj/machinery/newscaster/allCasters = list() //list that will contain r
/obj/machinery/newscaster/attack_hand(mob/user as mob)
if(!src.ispowered || src.isbroken)
return
if(istype(user, /mob/living/carbon/human) )
var/mob/living/carbon/human/human_user = user
if(istype(user, /mob/living/carbon/human) || istype(user,/mob/living/silicon) )
var/mob/living/human_or_robot_user = user
var/dat
dat = text("<HEAD><TITLE>Newscaster</TITLE></HEAD><H3>Newscaster Unit #[src.unit_no]</H3>")
src.scan_user(human_user) //Newscaster scans you
src.scan_user(human_or_robot_user) //Newscaster scans you
switch(screen)
if(0)
@@ -160,7 +160,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //list that will contain r
dat+= "<BR><A href='?src=\ref[src];create_feed_story=1'>Submit new Feed story</A>"
dat+= "<BR><A href='?src=\ref[src];menu_paper=1'>Print newspaper</A>"
dat+= "<BR><A href='?src=\ref[src];refresh=1'>Re-scan User</A>"
dat+= "<BR><BR><A href='?src=\ref[human_user];mach_close=newscaster_main'>Exit</A>"
dat+= "<BR><BR><A href='?src=\ref[human_or_robot_user];mach_close=newscaster_main'>Exit</A>"
if(src.securityCaster)
var/wanted_already = 0
for(var/obj/machinery/newscaster/N in allCasters)
@@ -363,8 +363,8 @@ var/list/obj/machinery/newscaster/allCasters = list() //list that will contain r
dat+="I'm sorry to break your immersion. This shit's bugged. Report this bug to Agouri, polyxenitopalidou@gmail.com"
human_user << browse(dat, "window=newscaster_main;size=400x600")
onclose(human_user, "newscaster_main")
human_or_robot_user << browse(dat, "window=newscaster_main;size=400x600")
onclose(human_or_robot_user, "newscaster_main")
/*if(src.isbroken) //debugging shit
return
@@ -377,7 +377,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //list that will contain r
/obj/machinery/newscaster/Topic(href, href_list)
if(..())
return
if ((usr.contents.Find(src) || ((get_dist(src, usr) <= 1) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon/ai)))
if ((usr.contents.Find(src) || ((get_dist(src, usr) <= 1) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon)))
usr.machine = src
if(href_list["set_channel_name"])
src.channel_name = strip_html(input(usr, "Provide a Feed Channel Name", "Network Channel Handler", ""))
@@ -444,6 +444,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //list that will contain r
FC.messages += newMsg // To avoid further confusion, this one for adds the message to all existing newscasters' channel_list's channels.
break // Another for to go through newscasters is not needed. Due to the nature of submit_new_CHANNEL, every reference
src.screen=4 // to a channel in ANY newscaster is the same. Editing one will edit them all.
for(var/obj/machinery/newscaster/NEWSCASTER in allCasters)
NEWSCASTER.newsAlert(src.channel_name)
@@ -747,7 +748,7 @@ obj/item/weapon/newspaper/attack_self(mob/user as mob)
obj/item/weapon/newspaper/Topic(href, href_list)
var/mob/living/U = usr
..()
if ((src in U.contents) || ( istype(loc, /turf) && in_range(src, U) ) )
if ((src in U.contents) || ( istype(loc, /turf) && in_range(src, U) ))
U.machine = src
if(href_list["next_page"])
if(curr_page==src.pages+1)
@@ -796,21 +797,26 @@ obj/item/weapon/newspaper/attackby(obj/item/weapon/W as obj, mob/user as mob)
////////////////////////////////////helper procs
/obj/machinery/newscaster/proc/scan_user(mob/living/carbon/human/human_user as mob)
if(human_user.wear_id) //Newscaster scans you
if(istype(human_user.wear_id, /obj/item/device/pda) ) //autorecognition, woo!
var/obj/item/device/pda/P = human_user.wear_id
if(P.id)
src.scanned_user = "[P.id.registered_name] ([P.id.assignment])"
/obj/machinery/newscaster/proc/scan_user(mob/living/user as mob)
if(istype(user,/mob/living/carbon/human)) //User is a human
var/mob/living/carbon/human/human_user = user
if(human_user.wear_id) //Newscaster scans you
if(istype(human_user.wear_id, /obj/item/device/pda) ) //autorecognition, woo!
var/obj/item/device/pda/P = human_user.wear_id
if(P.id)
src.scanned_user = "[P.id.registered_name] ([P.id.assignment])"
else
src.scanned_user = "Unknown"
else if(istype(human_user.wear_id, /obj/item/weapon/card/id) )
var/obj/item/weapon/card/id/ID = human_user.wear_id
src.scanned_user ="[ID.registered_name] ([ID.assignment])"
else
src.scanned_user = "Unknown"
else if(istype(human_user.wear_id, /obj/item/weapon/card/id) )
var/obj/item/weapon/card/id/ID = human_user.wear_id
src.scanned_user ="[ID.registered_name] ([ID.assignment])"
src.scanned_user ="Unknown"
else
src.scanned_user ="Unknown"
else
src.scanned_user ="Unknown"
var/mob/living/silicon/ai_user = user
src.scanned_user = "[ai_user.name] ([ai_user.job])"
/obj/machinery/newscaster/proc/print_paper()
+6
View File
@@ -1,3 +1,9 @@
/obj/item/Del()
if (src.loc && istype(src.loc, /mob/living/carbon/human))
//world << "\blue **Beep! Deleted [src] from [src.loc]**"
var/mob/living/carbon/human/H = src.loc
H.u_equip(src)
..()
/obj/item/weapon/bedsheet/ex_act(severity)
if (severity <= 2)
+6 -2
View File
@@ -103,7 +103,8 @@
var/n_name = input(usr, "What would you like to label the photo?", "Photo Labelling", src.name) as text
n_name = copytext(n_name, 1, 32)
if ((loc == usr && usr.stat == 0))
//loc.loc check is for making possible renaming photos in clipboards
if (( (src.loc == usr || (src.loc.loc && src.loc.loc == usr)) && usr.stat == 0))
name = "photo[(n_name ? text("- '[n_name]'") : null)]"
add_fingerprint(usr)
return
@@ -203,7 +204,10 @@
y_c--
x_c = x_c - 3
var/obj/item/weapon/photo/P = new/obj/item/weapon/photo( get_turf(src) )
var/obj/item/weapon/photo/P = new/obj/item/weapon/photo()
P.loc = usr.loc
if(!user.get_inactive_hand())
usr.put_in_inactive_hand(P)
var/icon/small_img = icon(temp)
var/icon/ic = icon('items.dmi',"photo")
small_img.Scale(8,8)
+18 -2
View File
@@ -8,6 +8,8 @@ MEDICAL
/obj/item/stack/medical/attack(mob/living/carbon/M as mob, mob/user as mob)
var/heal_cap = 50
var/ointment = istype(src, /obj/item/stack/medical/advanced/ointment) \
|| istype(src, /obj/item/stack/medical/ointment)
if(istype(src, /obj/item/stack/medical/advanced))
heal_cap = 0
@@ -89,7 +91,12 @@ MEDICAL
if (user)
if (M != user)
user.visible_message("\red \The [H]'s [affecting.display_name] has been bandaged with \a [src] by \the [user].",\
if ( ointment )
user.visible_message("\red \The [H]'s [affecting.display_name] burns have been salved with \a [src] by \the [user].",\
"\red You salve \the [H]'s [affecting.display_name] burns with \the [src].",\
"ou hear ointement being applied.")
else
user.visible_message("\red \The [H]'s [affecting.display_name] has been bandaged with \a [src] by \the [user].",\
"\red You bandage \the [H]'s [affecting.display_name] with \the [src].",\
"You hear gauze being ripped.")
else
@@ -98,17 +105,26 @@ MEDICAL
t_his = "his"
else if (user.gender == FEMALE)
t_his = "her"
user.visible_message("\red \The [user] bandages [t_his] [affecting.display_name] with \a [src].",\
if ( ointment )
user.visible_message("\red \The [user] salves [t_his] [affecting.display_name] burns with \a [src].",\
"\red You salve your [affecting.display_name] burns with \the [src].",\
"You hear ointement being applied.")
else
user.visible_message("\red \The [user] bandages [t_his] [affecting.display_name] with \a [src].",\
"\red You bandage your [affecting.display_name] with \the [src].",\
"You hear gauze being ripped.")
use(1)
if (!ointment && (affecting.status & BLEEDING))
affecting.status &= ~BLEEDING
if (affecting.heal_damage(src.heal_brute, src.heal_burn))
H.UpdateDamageIcon()
else
H.UpdateDamage()
M.updatehealth()
else
if (M.health < heal_cap)
var/t_him = "it"
+50 -11
View File
@@ -101,7 +101,8 @@ NOTEBOOK
return
var/n_name = input(usr, "What would you like to label the paper?", "Paper Labelling", null) as text
n_name = copytext(n_name, 1, 32)
if ((src.loc == usr && usr.stat == 0))
//loc.loc check is for making possible renaming papers in clipboards
if ((src.loc == usr || (src.loc.loc && src.loc.loc == usr) && usr.stat == 0))
src.name = n_name && n_name != "" ? n_name : "Untitled paper"
src.add_fingerprint(usr)
return
@@ -633,8 +634,24 @@ NOTEBOOK
var/dat = "<B>Clipboard</B><BR>"
if (src.pen)
dat += text("<A href='?src=\ref[];pen=1'>Remove Pen</A><BR><HR>", src)
for(var/obj/item/weapon/paper/P in src)
dat += text("<A href='?src=\ref[];read=\ref[]'>[]</A> <A href='?src=\ref[];write=\ref[]'>Write</A> <A href='?src=\ref[];remove=\ref[]'>Remove</A><BR>", src, P, P.name, src, P, src, P)
dat += "<table>"
for(var/obj/item/weapon/W in src)
dat += "<tr>"
if (istype(W, /obj/item/weapon/paper))
var/obj/item/weapon/paper/P = W
dat += text("<td><A href='?src=\ref[];read=\ref[]'>[]</A></td><td> \
<A href='?src=\ref[];write=\ref[]'>Write</A></td><td> \
<A href='?src=\ref[];rname=\ref[]'>Rename</A></td><td> \
<A href='?src=\ref[];remove=\ref[]'>Remove</A><BR></td>", \
src, P, P.name, src, P, src, P, src, P)
if (istype(W, /obj/item/weapon/photo))
var/obj/item/weapon/photo/P = W
dat += text("<td><A href='?src=\ref[];read=\ref[]'>[]</A></td><td> \
<A href='?src=\ref[];rname=\ref[]'>Rename</A></td><td> \
<A href='?src=\ref[];remove=\ref[]'>Remove</A><BR></td>" \
, src, P, P.name, src, P, src, P)
dat += "</tr>"
dat += "</table>"
user << browse(dat, "window=clipboard")
onclose(user, "clipboard")
return
@@ -679,6 +696,16 @@ NOTEBOOK
usr.update_clothing()
P.add_fingerprint(usr)
src.add_fingerprint(usr)
if (href_list["rname"])
var/obj/item/I = locate(href_list["rname"])
if ((I && I.loc == src))
if (istype(I, /obj/item/weapon/paper))
var/obj/item/weapon/paper/P = I
P.rename()
if (istype(I, /obj/item/weapon/photo))
var/obj/item/weapon/photo/P = I
P.rename()
src.add_fingerprint(usr)
if (href_list["write"])
var/obj/item/P = locate(href_list["write"])
if ((P && P.loc == src))
@@ -692,13 +719,25 @@ NOTEBOOK
P.attackby(src.pen, usr)
src.add_fingerprint(usr)
if (href_list["read"])
var/obj/item/weapon/paper/P = locate(href_list["read"])
if ((P && P.loc == src))
if (!( istype(usr, /mob/living/carbon/human) ))
usr << browse(text("<HTML><HEAD><TITLE>[]</TITLE></HEAD><BODY><TT>[]</TT></BODY></HTML>", P.name, stars(P.info)), text("window=[]", P.name))
onclose(usr, "[P.name]")
else
usr << browse(text("<HTML><HEAD><TITLE>[]</TITLE></HEAD><BODY><TT>[]</TT></BODY></HTML>", P.name, P.info), text("window=[]", P.name))
var/obj/item/I = locate(href_list["read"])
if ((I && I.loc == src))
if (istype(I, /obj/item/weapon/paper))
var/obj/item/weapon/paper/P = I
if (!( istype(usr, /mob/living/carbon/human) ))
usr << browse(text("<HTML><HEAD><TITLE>[]</TITLE></HEAD><BODY><TT>[]</TT></BODY></HTML>", P.name, stars(P.info)), text("window=[]", P.name))
onclose(usr, "[P.name]")
else
var/t = dd_replacetext(P.info, "\n", "<BR>")
usr << browse(text("<HTML><HEAD><TITLE>[]</TITLE></HEAD><BODY><TT>[]</TT></BODY></HTML>", P.name, t), text("window=[]", P.name))
onclose(usr, "[P.name]")
if (istype(I, /obj/item/weapon/photo))
var/obj/item/weapon/photo/P = I
usr << browse_rsc(P.img, "tmp_photo.png")
usr << browse("<html><head><title>Photo</title></head>" \
+ "<body style='overflow:hidden'>" \
+ "<div> <img src='tmp_photo.png' width = '180'" \
+ "[P.scribble ? "<div> Writings on the back:<br><i>[P.scribble]</i>" : ]"\
+ "</body></html>", "window=book;size=200x[P.scribble ? 400 : 200]")
onclose(usr, "[P.name]")
if (ismob(src.loc))
var/mob/M = src.loc
@@ -733,7 +772,7 @@ NOTEBOOK
/obj/item/weapon/clipboard/attackby(obj/item/weapon/P as obj, mob/user as mob)
..()
if (istype(P, /obj/item/weapon/paper))
if (istype(P, /obj/item/weapon/paper) || istype(P, /obj/item/weapon/photo))
if (src.contents.len < 15)
user.drop_item()
P.loc = src
+6 -1
View File
@@ -75,7 +75,12 @@
H.apply_effect(10, STUTTER, 0)
user.lastattacked = M
H.lastattacker = user
charges--
if(isrobot(src.loc))
var/mob/living/silicon/robot/R = src.loc
if(R && R.cell)
R.cell.use(50)
else
charges--
H.visible_message("<span class='danger'>[M] has been stunned with the [src] by [user]!</span>")
playsound(src.loc, 'Egloves.ogg', 50, 1, -1)
if(charges < 1)
@@ -24,6 +24,8 @@ CIRCULAR SAW
if(((user.zone_sel.selecting == "l_arm") || (user.zone_sel.selecting == "r_arm") || (user.zone_sel.selecting == "l_leg") || (user.zone_sel.selecting == "r_leg")) & (istype(M, /mob/living/carbon/human)))
var/mob/living/carbon/human/H = M
var/datum/organ/external/S = H.organs[user.zone_sel.selecting]
if(user.zone_sel.selecting == "mouth" || user.zone_sel.selecting == "eyes")
S = H.organs["head"]
if(S.status & DESTROYED)
if(S.status & BLEEDING)
user << "\red There's too much blood here!"
@@ -300,9 +302,10 @@ CIRCULAR SAW
if(!((locate(/obj/machinery/optable, M.loc) && M.resting) || (locate(/obj/structure/stool/bed/roller, M.loc) && (M.buckled || M.lying || M.weakened || M.stunned || M.paralysis || M.sleeping || M.stat)) && prob(75) || (locate(/obj/structure/table/, M.loc) && (M.lying || M.weakened || M.stunned || M.paralysis || M.sleeping || M.stat) && prob(66))))
return ..()
var/mob/living/carbon/human/H = M
var/datum/organ/external/S = H.organs[user.zone_sel.selecting]
if(((user.zone_sel.selecting == "l_arm") || (user.zone_sel.selecting == "r_arm") || (user.zone_sel.selecting == "l_leg") || (user.zone_sel.selecting == "r_leg")) & (istype(M, /mob/living/carbon/human)))
var/mob/living/carbon/human/H = M
var/datum/organ/external/S = H.organs[user.zone_sel.selecting]
if(S.status & DESTROYED)
if(!(S.status & BLEEDING))
user << "\red There is nothing bleeding here!"
@@ -349,6 +352,11 @@ CIRCULAR SAW
M << "\red [user] begins to clamp bleeders in your chest with [src]!"
user << "\red You clamp bleeders in [M]'s torso with [src]!"
M:embryo_op_stage = 2.0
S.status &= ~BLEEDING
M.updatehealth()
M.UpdateDamageIcon()
return
if(5.0)
if(M != user)
@@ -369,6 +377,11 @@ CIRCULAR SAW
M << "\red [user] begins to clamp bleeders in your abdomen with [src]!"
user << "\red You clamp bleeders in [M]'s abdomen with [src]!"
M:appendix_op_stage = 2.0
S.status &= ~BLEEDING
M.updatehealth()
M.UpdateDamageIcon()
return
if(4.0)
if(M != user)
@@ -386,8 +399,6 @@ CIRCULAR SAW
return
if (user.zone_sel.selecting == "eyes")
var/mob/living/carbon/human/H = M
if(istype(H) && ( \
(H.head && H.head.flags & HEADCOVERSEYES) || \
(H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || \
@@ -432,7 +443,6 @@ CIRCULAR SAW
if(user.zone_sel.selecting == "head")
if(istype(M, /mob/living/carbon/human) && M:brain_op_stage == 1)
M:brain_op_stage = 0
var/datum/organ/external/S = M:organs["head"]
if(!S || !istype(S))
return ..()
M:brain_op_stage = 0
@@ -443,8 +453,6 @@ CIRCULAR SAW
return ..()
if(user.zone_sel.selecting == "mouth")
var/mob/living/carbon/human/H = M
if(istype(H) && ( \
(H.head && H.head.flags & HEADCOVERSEYES) || \
(H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || \
@@ -497,6 +505,7 @@ CIRCULAR SAW
M.face_op_stage = 2.0
S.status &= ~BLEEDING
M.updatehealth()
M.UpdateDamageIcon()
return
@@ -614,7 +623,6 @@ CIRCULAR SAW
else
user << "\red [H] is not bleeding in \his [S.display_name]!"
return 0
if(H != user)
H.visible_message( \
"\red [user] is beginning to clamp bleeders in the wound in [H]'s [S.display_name] with [src].", \
+2
View File
@@ -262,6 +262,8 @@ SHARDS
playsound(src.loc, 'glass_step.ogg', 50, 1)
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H.mutantrace == "lizard") //Soghun have... Scales? Yeah that works
return
if(!((H.shoes) || (H.wear_suit && H.wear_suit.body_parts_covered & FEET)))
var/datum/organ/external/affecting = H.get_organ(pick("l_foot", "r_foot"))
if(affecting.status & ROBOT)
-7
View File
@@ -1,12 +1,5 @@
/obj/item/weapon/storage/briefcase/New()
..()
new /obj/item/weapon/paper(src)
new /obj/item/weapon/paper(src)
new /obj/item/weapon/paper(src)
new /obj/item/weapon/paper(src)
new /obj/item/weapon/paper(src)
new /obj/item/weapon/paper(src)
new /obj/item/weapon/pen(src)
/obj/item/weapon/storage/briefcase/attack(mob/M as mob, mob/living/user as mob)
//..()
+1 -1
View File
@@ -145,7 +145,7 @@ A list of items and costs is stored under the datum of every game mode, alongsid
randomItems.Add("/obj/item/weapon/soap/syndie") //Syndicate Soap
randomItems.Add("/obj/item/weapon/storage/toolbox/syndicate") //Syndicate Toolbox
if(!randomItems)
if(!randomItems.len)
del(randomItems)
return 0
else
+8 -2
View File
@@ -58,7 +58,10 @@
var/obj/item/weapon/grab/G = I
var/mob/GM = G.affecting
if(ismob(G.affecting))
if(G.state>1 && GM.loc == get_turf(src))
if(G.state>1)
if(!GM.loc == get_turf(src))
user << "<span class='notice'>[GM.name] needs to be on the toilet.</span>"
return
if(open && !swirlie)
user.visible_message("<span class='danger'>[user] starts to give [GM.name] a swirlie!</span>", "<span class='notice'>You start to give [GM.name] a swirlie!</span>")
swirlie = GM
@@ -101,7 +104,10 @@
var/obj/item/weapon/grab/G = I
var/mob/GM = G.affecting
if(ismob(G.affecting))
if(G.state>1 && GM.loc == get_turf(src))
if(G.state>1)
if(!GM.loc == get_turf(src))
user << "<span class='notice'>[GM.name] needs to be on the urinal.</span>"
return
user.visible_message("<span class='danger'>[user] slams [GM.name] into the [src]!</span>", "<span class='notice'>You slam [GM.name] into the [src]!</span>")
GM.adjustBruteLoss(8)
else
+10 -6
View File
@@ -266,7 +266,8 @@ proc/move_mining_shuttle()
/*****************************Shovel********************************/
/obj/item/weapon/shovel
name = "Shovel"
name = "shovel"
desc = "A large tool for digging and moving dirt."
icon = 'items.dmi'
icon_state = "shovel"
flags = FPRINT | TABLEPASS| CONDUCT
@@ -278,11 +279,14 @@ proc/move_mining_shuttle()
m_amt = 50
origin_tech = "materials=1;engineering=1"
/obj/item/weapon/shovel/spade
name = "spade"
desc = "A small tool for digging and moving dirt."
icon_state = "spade"
item_state = "spade"
force = 5.0
throwforce = 7.0
w_class = 2.0
/**********************Mining car (Crate like thing, not the rail car)**************************/
+1 -1
View File
@@ -45,7 +45,7 @@
/**********************Ore box**************************/
/obj/structure/ore_box
icon = 'mining.dmi'
//icon = 'mining.dmi'
icon_state = "orebox0"
name = "Ore Box"
desc = "It's heavy"
+50
View File
@@ -0,0 +1,50 @@
// All mobs should have custom emote, really..
mob/proc/custom_emote(var/m_type=1,var/message = null)
if(!emote_allowed && usr == src)
usr << "You are unable to emote."
return
var/muzzled = istype(src.wear_mask, /obj/item/clothing/mask/muzzle)
if(m_type == 2 && muzzled) return
var/input
if(!message)
input = copytext(sanitize(input(src,"Choose an emote to display.") as text|null),1,MAX_MESSAGE_LEN)
else
input = message
if(input)
message = "<B>[src]</B> [input]"
else
return
if (message)
log_emote("[name]/[key] : [message]")
//Hearing gasp and such every five seconds is not good emotes were not global for a reason.
// Maybe some people are okay with that.
for(var/mob/M in world)
if (!M.client)
continue //skip monkeys and leavers
if (istype(M, /mob/new_player))
continue
if(findtext(message," snores.")) //Because we have so many sleeping people.
continue
if(M.stat == 2 && M.client.ghost_sight && !(M in viewers(src,null)))
M.show_message(message)
if (m_type & 1)
for (var/mob/O in viewers(src, null))
if(istype(O,/mob/living/carbon/human))
for(var/mob/living/parasite/P in O:parasites)
P.show_message(message, m_type)
O.show_message(message, m_type)
else if (m_type & 2)
for (var/mob/O in hearers(src.loc, null))
if(istype(O,/mob/living/carbon/human))
for(var/mob/living/parasite/P in O:parasites)
P.show_message(message, m_type)
O.show_message(message, m_type)
@@ -0,0 +1,590 @@
/mob/living/carbon/amorph
name = "amorph"
real_name = "amorph"
voice_name = "amorph"
icon = 'icons/mob/amorph.dmi'
icon_state = ""
var/species = "Amorph"
age = 30.0
var/used_skillpoints = 0
var/skill_specialization = null
var/list/skills = null
var/obj/item/l_ear = null
// might use this later to recolor armorphs with icon.SwapColor
var/slime_color = null
var/examine_text = ""
/mob/living/carbon/amorph/New()
..()
// Amorphs don't have a blood vessel, but they can have reagents in their body
var/datum/reagents/R = new/datum/reagents(1000)
reagents = R
R.my_atom = src
// Amorphs have no DNA(they're more like carbon-based machines)
// Amorphs don't have organs
..()
/mob/living/carbon/amorph/Bump(atom/movable/AM as mob|obj, yes)
if ((!( yes ) || now_pushing))
return
now_pushing = 1
if (ismob(AM))
var/mob/tmob = AM
//BubbleWrap - Should stop you pushing a restrained person out of the way
if(istype(tmob, /mob/living/carbon/human))
for(var/mob/M in range(tmob, 1))
if( ((M.pulling == tmob && ( tmob.restrained() && !( M.restrained() ) && M.stat == 0)) || locate(/obj/item/weapon/grab, tmob.grabbed_by.len)) )
if ( !(world.time % 5) )
src << "\red [tmob] is restrained, you cannot push past"
now_pushing = 0
return
if( tmob.pulling == M && ( M.restrained() && !( tmob.restrained() ) && tmob.stat == 0) )
if ( !(world.time % 5) )
src << "\red [tmob] is restraining [M], you cannot push past"
now_pushing = 0
return
//BubbleWrap: people in handcuffs are always switched around as if they were on 'help' intent to prevent a person being pulled from being seperated from their puller
if((tmob.a_intent == "help" || tmob.restrained()) && (a_intent == "help" || src.restrained()) && tmob.canmove && canmove) // mutual brohugs all around!
var/turf/oldloc = loc
loc = tmob.loc
tmob.loc = oldloc
now_pushing = 0
for(var/mob/living/carbon/metroid/Metroid in view(1,tmob))
if(Metroid.Victim == tmob)
Metroid.UpdateFeed()
return
if(tmob.r_hand && istype(tmob.r_hand, /obj/item/weapon/shield/riot))
if(prob(99))
now_pushing = 0
return
if(tmob.l_hand && istype(tmob.l_hand, /obj/item/weapon/shield/riot))
if(prob(99))
now_pushing = 0
return
if(tmob.nopush)
now_pushing = 0
return
tmob.LAssailant = src
now_pushing = 0
spawn(0)
..()
if (!istype(AM, /atom/movable))
return
if (!now_pushing)
now_pushing = 1
if (!AM.anchored)
var/t = get_dir(src, AM)
if (istype(AM, /obj/structure/window))
if(AM:ini_dir == NORTHWEST || AM:ini_dir == NORTHEAST || AM:ini_dir == SOUTHWEST || AM:ini_dir == SOUTHEAST)
for(var/obj/structure/window/win in get_step(AM,t))
now_pushing = 0
return
step(AM, t)
now_pushing = 0
return
return
/mob/living/carbon/amorph/movement_delay()
var/tally = 2 // amorphs are a bit slower than humans
var/mob/M = pulling
if(reagents.has_reagent("hyperzine")) return -1
if(reagents.has_reagent("nuka_cola")) return -1
if(analgesic) return -1
if (istype(loc, /turf/space)) return -1 // It's hard to be slowed down in space by... anything
var/health_deficiency = traumatic_shock
if(health_deficiency >= 40) tally += (health_deficiency / 25)
var/hungry = (500 - nutrition)/5 // So overeat would be 100 and default level would be 80
if (hungry >= 70) tally += hungry/300
if (bodytemperature < 283.222)
tally += (283.222 - bodytemperature) / 10 * 1.75
if (stuttering < 10)
stuttering = 10
if(shock_stage >= 10) tally += 3
if(tally < 0)
tally = 0
if(istype(M) && M.lying) //Pulling lying down people is slower
tally += 3
if(mRun in mutations)
tally = 0
return tally
/mob/living/carbon/amorph/Stat()
..()
statpanel("Status")
stat(null, "Intent: [a_intent]")
stat(null, "Move Mode: [m_intent]")
if(ticker && ticker.mode && ticker.mode.name == "AI malfunction")
if(ticker.mode:malf_mode_declared)
stat(null, "Time left: [max(ticker.mode:AI_win_timeleft/(ticker.mode:apcs/3), 0)]")
if(emergency_shuttle)
if(emergency_shuttle.online && emergency_shuttle.location < 2)
var/timeleft = emergency_shuttle.timeleft()
if (timeleft)
stat(null, "ETA-[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]")
if (client.statpanel == "Status")
if (internal)
if (!internal.air_contents)
del(internal)
else
stat("Internal Atmosphere Info", internal.name)
stat("Tank Pressure", internal.air_contents.return_pressure())
stat("Distribution Pressure", internal.distribute_pressure)
if (mind)
if (mind.special_role == "Changeling" && changeling)
stat("Chemical Storage", changeling.chem_charges)
stat("Genetic Damage Time", changeling.geneticdamage)
/mob/living/carbon/amorph/ex_act(severity)
flick("flash", flash)
var/shielded = 0
var/b_loss = null
var/f_loss = null
switch (severity)
if (1.0)
b_loss += 500
if (!prob(getarmor(null, "bomb")))
gib()
return
else
var/atom/target = get_edge_target_turf(src, get_dir(src, get_step_away(src, src)))
throw_at(target, 200, 4)
if (2.0)
if (!shielded)
b_loss += 60
f_loss += 60
if (!prob(getarmor(null, "bomb")))
b_loss = b_loss/1.5
f_loss = f_loss/1.5
if(3.0)
b_loss += 30
if (!prob(getarmor(null, "bomb")))
b_loss = b_loss/2
if (prob(50) && !shielded)
Paralyse(10)
src.bruteloss += b_loss
src.fireloss += f_loss
UpdateDamageIcon()
/mob/living/carbon/amorph/blob_act()
if(stat == 2) return
show_message("\red The blob attacks you!")
src.bruteloss += rand(30,40)
UpdateDamageIcon()
return
/mob/living/carbon/amorph/u_equip(obj/item/W as obj)
// These are the only slots an amorph has
if (W == l_ear)
l_ear = null
else if (W == r_hand)
r_hand = null
update_clothing()
/mob/living/carbon/amorph/db_click(text, t1)
var/obj/item/W = equipped()
var/emptyHand = (W == null)
if ((!emptyHand) && (!istype(W, /obj/item)))
return
if (emptyHand)
usr.next_move = usr.prev_move
usr:lastDblClick -= 3 //permit the double-click redirection to proceed.
switch(text)
if("l_ear")
if (l_ear)
if (emptyHand)
l_ear.DblClick()
return
else if(emptyHand)
return
if (!( istype(W, /obj/item/clothing/ears) ) && !( istype(W, /obj/item/device/radio/headset) ) && W.w_class != 1)
return
u_equip(W)
l_ear = W
W.equipped(src, text)
update_clothing()
return
/mob/living/carbon/amorph/meteorhit(O as obj)
for(var/mob/M in viewers(src, null))
if ((M.client && !( M.blinded )))
M.show_message(text("\red [] has been hit by []", src, O), 1)
if (health > 0)
if (istype(O, /obj/effect/immovablerod))
src.bruteloss += 101
else
src.bruteloss += 25
UpdateDamageIcon()
updatehealth()
return
/mob/living/carbon/amorph/Move(a, b, flag)
if (buckled)
return
if (restrained())
pulling = null
var/t7 = 1
if (restrained())
for(var/mob/M in range(src, 1))
if ((M.pulling == src && M.stat == 0 && !( M.restrained() )))
t7 = null
if ((t7 && (pulling && ((get_dist(src, pulling) <= 1 || pulling.loc == loc) && (client && client.moving)))))
var/turf/T = loc
. = ..()
if (pulling && pulling.loc)
if(!( isturf(pulling.loc) ))
pulling = null
return
else
if(Debug)
diary <<"pulling disappeared? at [__LINE__] in mob.dm - pulling = [pulling]"
diary <<"REPORT THIS"
/////
if(pulling && pulling.anchored)
pulling = null
return
if (!restrained())
var/diag = get_dir(src, pulling)
if ((diag - 1) & diag)
else
diag = null
if ((get_dist(src, pulling) > 1 || diag))
if (ismob(pulling))
var/mob/M = pulling
var/ok = 1
if (locate(/obj/item/weapon/grab, M.grabbed_by))
if (prob(75))
var/obj/item/weapon/grab/G = pick(M.grabbed_by)
if (istype(G, /obj/item/weapon/grab))
for(var/mob/O in viewers(M, null))
O.show_message(text("\red [] has been pulled from []'s grip by []", G.affecting, G.assailant, src), 1)
//G = null
del(G)
else
ok = 0
if (locate(/obj/item/weapon/grab, M.grabbed_by.len))
ok = 0
if (ok)
var/t = M.pulling
M.pulling = null
//this is the gay blood on floor shit -- Added back -- Skie
if (M.lying && (prob(M.getBruteLoss() / 6)))
var/turf/location = M.loc
if (istype(location, /turf/simulated))
location.add_blood(M)
if(ishuman(M))
var/mob/living/carbon/H = M
var/blood_volume = round(H:vessel.get_reagent_amount("blood"))
if(blood_volume > 0)
H:vessel.remove_reagent("blood",1)
if(prob(5))
M.adjustBruteLoss(1)
visible_message("\red \The [M]'s wounds open more from being dragged!")
if(M.pull_damage())
if(prob(25))
M.adjustBruteLoss(2)
visible_message("\red \The [M]'s wounds worsen terribly from being dragged!")
var/turf/location = M.loc
if (istype(location, /turf/simulated))
location.add_blood(M)
if(ishuman(M))
var/mob/living/carbon/H = M
var/blood_volume = round(H:vessel.get_reagent_amount("blood"))
if(blood_volume > 0)
H:vessel.remove_reagent("blood",1)
step(pulling, get_dir(pulling.loc, T))
M.pulling = t
else
if (pulling)
if (istype(pulling, /obj/structure/window))
if(pulling:ini_dir == NORTHWEST || pulling:ini_dir == NORTHEAST || pulling:ini_dir == SOUTHWEST || pulling:ini_dir == SOUTHEAST)
for(var/obj/structure/window/win in get_step(pulling,get_dir(pulling.loc, T)))
pulling = null
if (pulling)
step(pulling, get_dir(pulling.loc, T))
else
pulling = null
. = ..()
if ((s_active && !( s_active in contents ) ))
s_active.close(src)
for(var/mob/living/carbon/metroid/M in view(1,src))
M.UpdateFeed(src)
return
/mob/living/carbon/amorph/proc/misc_clothing_updates()
// Temporary proc to shove stuff in that was put into update_clothing()
// for questionable reasons
if (client)
if (i_select)
if (intent)
client.screen += hud_used.intents
var/list/L = dd_text2list(intent, ",")
L[1] += ":-11"
i_select.screen_loc = dd_list2text(L,",") //ICONS4
else
i_select.screen_loc = null
if (m_select)
if (m_int)
client.screen += hud_used.mov_int
var/list/L = dd_text2list(m_int, ",")
L[1] += ":-11"
m_select.screen_loc = dd_list2text(L,",") //ICONS4
else
m_select.screen_loc = null
// Probably a lazy way to make sure all items are on the screen exactly once
if (client)
client.screen -= contents
client.screen += contents
/mob/living/carbon/amorph/rebuild_appearance()
// Lazy method: Just rebuild everything.
// This can be called when the mob is created, but on other occasions, rebuild_body_overlays(),
// rebuild_clothing_overlays() etc. should be called individually.
misc_clothing_updates() // silly stuff
/mob/living/carbon/amorph/update_body_appearance()
// Should be called whenever something about the body appearance itself changes.
misc_clothing_updates() // silly stuff
if(lying)
icon_state = "lying"
else
icon_state = "standing"
/mob/living/carbon/amorph/update_lying()
// Should be called whenever something about the lying status of the mob might have changed.
if(lying)
icon_state = "lying"
else
icon_state = "standing"
/mob/living/carbon/amorph/hand_p(mob/M as mob)
// not even sure what this is meant to do
return
/mob/living/carbon/amorph/restrained()
if (handcuffed)
return 0 // handcuffs don't work on amorphs
return 0
/mob/living/carbon/amorph/var/co2overloadtime = null
/mob/living/carbon/amorph/var/temperature_resistance = T0C+75
/mob/living/carbon/amorph/show_inv(mob/user as mob)
// TODO: add a window for extracting stuff from an amorph's mouth
// called when something steps onto an amorph
// this could be made more general, but for now just handle mulebot
/mob/living/carbon/amorph/HasEntered(var/atom/movable/AM)
var/obj/machinery/bot/mulebot/MB = AM
if(istype(MB))
MB.RunOver(src)
//gets assignment from ID or ID inside PDA or PDA itself
//Useful when player do something with computers
/mob/living/carbon/amorph/proc/get_assignment(var/if_no_id = "No id", var/if_no_job = "No job")
// TODO: get the ID from the amorph's contents
return
//gets name from ID or ID inside PDA or PDA itself
//Useful when player do something with computers
/mob/living/carbon/amorph/proc/get_authentification_name(var/if_no_id = "Unknown")
// TODO: get the ID from the amorph's contents
return
//repurposed proc. Now it combines get_id_name() and get_face_name() to determine a mob's name variable. Made into a seperate proc as it'll be useful elsewhere
/mob/living/carbon/amorph/proc/get_visible_name()
// amorphs can't wear clothes or anything, so always return face_name
return get_face_name()
//Returns "Unknown" if facially disfigured and real_name if not. Useful for setting name when polyacided or when updating a human's name variable
/mob/living/carbon/amorph/proc/get_face_name()
// there might later be ways for amorphs to change the appearance of their face
return "[real_name]"
//gets ID card object from special clothes slot or null.
/mob/living/carbon/amorph/proc/get_idcard()
// TODO: get the ID from the amorph's contents
// heal the amorph
/mob/living/carbon/amorph/heal_overall_damage(var/brute, var/burn)
bruteloss -= brute
fireloss -= burn
bruteloss = max(bruteloss, 0)
fireloss = max(fireloss, 0)
updatehealth()
UpdateDamageIcon()
// damage MANY external organs, in random order
/mob/living/carbon/amorph/take_overall_damage(var/brute, var/burn, var/used_weapon = null)
bruteloss += brute
fireloss += burn
updatehealth()
UpdateDamageIcon()
/mob/living/carbon/amorph/Topic(href, href_list)
if (href_list["refresh"])
if((machine)&&(in_range(src, usr)))
show_inv(machine)
if (href_list["mach_close"])
var/t1 = text("window=[]", href_list["mach_close"])
machine = null
src << browse(null, t1)
if ((href_list["item"] && !( usr.stat ) && usr.canmove && !( usr.restrained() ) && in_range(src, usr) && ticker)) //if game hasn't started, can't make an equip_e
var/obj/effect/equip_e/human/O = new /obj/effect/equip_e/human( )
O.source = usr
O.target = src
O.item = usr.equipped()
O.s_loc = usr.loc
O.t_loc = loc
O.place = href_list["item"]
if(href_list["loc"])
O.internalloc = href_list["loc"]
requests += O
spawn( 0 )
O.process()
return
if (href_list["criminal"])
if(istype(usr, /mob/living/carbon/human))
var/mob/living/carbon/human/H = usr
if(istype(H.glasses, /obj/item/clothing/glasses/hud/security) || istype(H.glasses, /obj/item/clothing/glasses/sunglasses/sechud))
var/perpname = "wot"
var/modified = 0
/*if(wear_id)
if(istype(wear_id,/obj/item/weapon/card/id))
perpname = wear_id:registered_name
else if(istype(wear_id,/obj/item/device/pda))
var/obj/item/device/pda/tempPda = wear_id
perpname = tempPda.owner
else*/
perpname = src.name
for (var/datum/data/record/E in data_core.general)
if (E.fields["name"] == perpname)
for (var/datum/data/record/R in data_core.security)
if (R.fields["id"] == E.fields["id"])
var/setcriminal = input(usr, "Specify a new criminal status for this person.", "Security HUD", R.fields["criminal"]) in list("None", "*Arrest*", "Incarcerated", "Parolled", "Released", "Cancel")
if(istype(H.glasses, /obj/item/clothing/glasses/hud/security) || istype(H.glasses, /obj/item/clothing/glasses/sunglasses/sechud))
if(setcriminal != "Cancel")
R.fields["criminal"] = setcriminal
modified = 1
spawn()
H.handle_regular_hud_updates()
if(!modified)
usr << "\red Unable to locate a data core entry for this person."
..()
return
///eyecheck()
///Returns a number between -1 to 2
/mob/living/carbon/amorph/eyecheck()
return 1
/mob/living/carbon/amorph/IsAdvancedToolUser()
return 1//Amorphs can use guns and such
/mob/living/carbon/amorph/updatehealth()
if(src.nodamage)
src.health = 100
src.stat = 0
return
src.health = 100 - src.getOxyLoss() - src.getToxLoss() - src.getFireLoss() - src.getBruteLoss() - src.getCloneLoss() -src.halloss
return
/mob/living/carbon/amorph/abiotic(var/full_body = 0)
return 0
/mob/living/carbon/amorph/abiotic2(var/full_body2 = 0)
return 0
/mob/living/carbon/amorph/getBruteLoss()
return src.bruteloss
/mob/living/carbon/amorph/adjustBruteLoss(var/amount, var/used_weapon = null)
src.bruteloss += amount
if(bruteloss < 0) bruteloss = 0
/mob/living/carbon/amorph/getFireLoss()
return src.fireloss
/mob/living/carbon/amorph/adjustFireLoss(var/amount,var/used_weapon = null)
src.fireloss += amount
if(fireloss < 0) fireloss = 0
/mob/living/carbon/amorph/get_visible_gender()
return gender
@@ -0,0 +1,248 @@
/mob/living/carbon/amorph/attack_paw(mob/living/carbon/monkey/M as mob)
if (!ticker)
M << "You cannot attack people before the game has started."
return
..()
switch(M.a_intent)
if ("help")
help_shake_act(M)
else
if (istype(wear_mask, /obj/item/clothing/mask/muzzle))
return
if (health > 0)
attacked += 10
playsound(loc, 'bite.ogg', 50, 1, -1)
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\red <B>[M.name] has bit [src]!</B>"), 1)
adjustBruteLoss(rand(0, 1))
updatehealth()
return
/mob/living/carbon/amorph/attack_hand(mob/living/carbon/human/M as mob)
if(M.gloves && istype(M.gloves,/obj/item/clothing/gloves))
var/obj/item/clothing/gloves/G = M.gloves
if(G.cell)
if(M.a_intent == "hurt")//Stungloves. Any contact will stun the alien.
if(G.cell.charge >= 2500)
G.cell.charge -= 2500
Weaken(5)
if (stuttering < 5)
stuttering = 5
Stun(5)
for(var/mob/O in viewers(src, null))
if (O.client)
O.show_message("\red <B>[src] has been touched with the stun gloves by [M]!</B>", 1, "\red You hear someone fall", 2)
return
else
M << "\red Not enough charge! "
return
if (M.a_intent == "help")
help_shake_act(M)
else
if (M.a_intent == "hurt")
var/attack_verb
switch(M.mutantrace)
if("lizard")
attack_verb = "scratch"
if("plant")
attack_verb = "slash"
else
attack_verb = "punch"
if(M.type == /mob/living/carbon/human/tajaran)
attack_verb = "slash"
if ((prob(75) && health > 0))
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\red <B>[] has [attack_verb]ed [name]!</B>", M), 1)
var/damage = rand(5, 10)
if(M.type != /mob/living/carbon/human/tajaran)
playsound(loc, "punch", 25, 1, -1)
else if(M.type == /mob/living/carbon/human/tajaran)
damage += 10
playsound(loc, 'slice.ogg', 25, 1, -1)
adjustBruteLoss(damage/10)
updatehealth()
else
if(M.type != /mob/living/carbon/human/tajaran)
playsound(loc, 'punchmiss.ogg', 25, 1, -1)
else if(M.type == /mob/living/carbon/human/tajaran)
playsound(loc, 'slashmiss.ogg', 25, 1, -1)
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\red <B>[] has attempted to [attack_verb] [name]!</B>", M), 1)
else
if (M.a_intent == "grab")
if (M == src)
return
var/obj/item/weapon/grab/G = new /obj/item/weapon/grab( M )
G.assailant = M
if (M.hand)
M.l_hand = G
else
M.r_hand = G
G.layer = 20
G.affecting = src
grabbed_by += G
G.synch()
LAssailant = M
playsound(loc, 'thudswoosh.ogg', 50, 1, -1)
for(var/mob/O in viewers(src, null))
O.show_message(text("\red [] has grabbed [name] passively!", M), 1)
else
if (!( paralysis ))
drop_item()
playsound(loc, 'thudswoosh.ogg', 50, 1, -1)
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\red <B>[] has disarmed [name]!</B>", M), 1)
return
/mob/living/carbon/amorph/attack_alien(mob/living/carbon/alien/humanoid/M as mob)
switch(M.a_intent)
if ("help")
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\blue [M] caresses [src] with its scythe like arm."), 1)
if ("hurt")
if ((prob(95) && health > 0))
playsound(loc, 'slice.ogg', 25, 1, -1)
var/damage = rand(15, 30)
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\red <B>[] has slashed [name]!</B>", M), 1)
adjustBruteLoss(damage/10)
updatehealth()
react_to_attack(M)
else
playsound(loc, 'slashmiss.ogg', 25, 1, -1)
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\red <B>[] has attempted to lunge at [name]!</B>", M), 1)
if ("grab")
if (M == src)
return
var/obj/item/weapon/grab/G = new /obj/item/weapon/grab( M )
G.assailant = M
if (M.hand)
M.l_hand = G
else
M.r_hand = G
G.layer = 20
G.affecting = src
grabbed_by += G
G.synch()
LAssailant = M
playsound(loc, 'thudswoosh.ogg', 50, 1, -1)
for(var/mob/O in viewers(src, null))
O.show_message(text("\red [] has grabbed [name] passively!", M), 1)
if ("disarm")
playsound(loc, 'pierce.ogg', 25, 1, -1)
var/damage = 5
if(prob(95))
Weaken(rand(10,15))
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\red <B>[] has tackled down [name]!</B>", M), 1)
else
drop_item()
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\red <B>[] has disarmed [name]!</B>", M), 1)
adjustBruteLoss(damage)
react_to_attack(M)
updatehealth()
return
/mob/living/carbon/amorph/attack_animal(mob/living/simple_animal/M as mob)
if(M.melee_damage_upper == 0)
M.emote("[M.friendly] [src]")
else
for(var/mob/O in viewers(src, null))
O.show_message("\red <B>[M]</B> [M.attacktext] [src]!", 1)
var/damage = rand(M.melee_damage_lower, M.melee_damage_upper)
bruteloss += damage
/mob/living/carbon/amorph/attack_metroid(mob/living/carbon/metroid/M as mob)
if(M.Victim) return // can't attack while eating!
if (health > -100)
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\red <B>The [M.name] has [pick("bit","slashed")] []!</B>", src), 1)
var/damage = rand(1, 3)
if(istype(M, /mob/living/carbon/metroid/adult))
damage = rand(10, 35)
else
damage = rand(5, 25)
src.cloneloss += damage
UpdateDamageIcon()
if(M.powerlevel > 0)
var/stunprob = 10
var/power = M.powerlevel + rand(0,3)
switch(M.powerlevel)
if(1 to 2) stunprob = 20
if(3 to 4) stunprob = 30
if(5 to 6) stunprob = 40
if(7 to 8) stunprob = 60
if(9) stunprob = 70
if(10) stunprob = 95
if(prob(stunprob))
M.powerlevel -= 3
if(M.powerlevel < 0)
M.powerlevel = 0
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\red <B>The [M.name] has shocked []!</B>", src), 1)
Weaken(power)
if (stuttering < power)
stuttering = power
Stun(power)
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
s.set_up(5, 1, src)
s.start()
if (prob(stunprob) && M.powerlevel >= 8)
adjustFireLoss(M.powerlevel * rand(6,10))
updatehealth()
return
@@ -0,0 +1,12 @@
/mob/living/carbon/amorph/proc/HealDamage(zone, brute, burn)
return heal_overall_damage(brute, burn)
/mob/living/carbon/amorph/UpdateDamageIcon()
// no damage sprites for amorphs yet
return
/mob/living/carbon/amorph/apply_damage(var/damage = 0,var/damagetype = BRUTE, var/def_zone = null, var/blocked = 0, var/sharp = 0, var/used_weapon = null)
if(damagetype == BRUTE)
take_overall_damage(damage, 0)
else
take_overall_damage(0, damage)
@@ -0,0 +1,290 @@
/obj/hud/proc/amorph_hud(var/ui_style='screen1_old.dmi')
src.adding = list( )
src.other = list( )
src.intents = list( )
src.mon_blo = list( )
src.m_ints = list( )
src.mov_int = list( )
src.vimpaired = list( )
src.darkMask = list( )
src.intent_small_hud_objects = list( )
src.g_dither = new src.h_type( src )
src.g_dither.screen_loc = "WEST,SOUTH to EAST,NORTH"
src.g_dither.name = "Mask"
src.g_dither.icon = ui_style
src.g_dither.icon_state = "dither12g"
src.g_dither.layer = 18
src.g_dither.mouse_opacity = 0
src.alien_view = new src.h_type(src)
src.alien_view.screen_loc = "WEST,SOUTH to EAST,NORTH"
src.alien_view.name = "Alien"
src.alien_view.icon = ui_style
src.alien_view.icon_state = "alien"
src.alien_view.layer = 18
src.alien_view.mouse_opacity = 0
src.blurry = new src.h_type( src )
src.blurry.screen_loc = "WEST,SOUTH to EAST,NORTH"
src.blurry.name = "Blurry"
src.blurry.icon = ui_style
src.blurry.icon_state = "blurry"
src.blurry.layer = 17
src.blurry.mouse_opacity = 0
src.druggy = new src.h_type( src )
src.druggy.screen_loc = "WEST,SOUTH to EAST,NORTH"
src.druggy.name = "Druggy"
src.druggy.icon = ui_style
src.druggy.icon_state = "druggy"
src.druggy.layer = 17
src.druggy.mouse_opacity = 0
var/obj/screen/using
using = new src.h_type( src )
using.name = "act_intent"
using.dir = SOUTHWEST
using.icon = ui_style
using.icon_state = (mymob.a_intent == "hurt" ? "harm" : mymob.a_intent)
using.screen_loc = ui_acti
using.layer = 20
src.adding += using
action_intent = using
//intent small hud objects
using = new src.h_type( src )
using.name = "help"
using.icon = ui_style
using.icon_state = (mymob.a_intent == "help" ? "help_small_active" : "help_small")
using.screen_loc = ui_help_small
using.layer = 21
src.adding += using
help_intent = using
using = new src.h_type( src )
using.name = "disarm"
using.icon = ui_style
using.icon_state = (mymob.a_intent == "disarm" ? "disarm_small_active" : "disarm_small")
using.screen_loc = ui_disarm_small
using.layer = 21
src.adding += using
disarm_intent = using
using = new src.h_type( src )
using.name = "grab"
using.icon = ui_style
using.icon_state = (mymob.a_intent == "grab" ? "grab_small_active" : "grab_small")
using.screen_loc = ui_grab_small
using.layer = 21
src.adding += using
grab_intent = using
using = new src.h_type( src )
using.name = "harm"
using.icon = ui_style
using.icon_state = (mymob.a_intent == "hurt" ? "harm_small_active" : "harm_small")
using.screen_loc = ui_harm_small
using.layer = 21
src.adding += using
hurt_intent = using
//end intent small hud objects
using = new src.h_type( src )
using.name = "mov_intent"
using.dir = SOUTHWEST
using.icon = ui_style
using.icon_state = (mymob.m_intent == "run" ? "running" : "walking")
using.screen_loc = ui_movi
using.layer = 20
src.adding += using
move_intent = using
using = new src.h_type( src )
using.name = "drop"
using.icon = ui_style
using.icon_state = "act_drop"
using.screen_loc = ui_dropbutton
using.layer = 19
src.adding += using
using = new src.h_type( src )
using.name = "r_hand"
using.dir = WEST
using.icon = ui_style
using.icon_state = "hand_inactive"
if(mymob && !mymob.hand) //This being 0 or null means the right hand is in use
using.icon_state = "hand_active"
using.screen_loc = ui_rhand
using.layer = 19
src.r_hand_hud_object = using
src.adding += using
using = new src.h_type( src )
using.name = "l_hand"
using.dir = EAST
using.icon = ui_style
using.icon_state = "hand_inactive"
if(mymob && mymob.hand) //This being 1 means the left hand is in use
using.icon_state = "hand_active"
using.screen_loc = ui_lhand
using.layer = 19
src.l_hand_hud_object = using
src.adding += using
using = new src.h_type( src )
using.name = "hand"
using.dir = SOUTH
using.icon = ui_style
using.icon_state = "hand1"
using.screen_loc = ui_swaphand1
using.layer = 19
src.adding += using
using = new src.h_type( src )
using.name = "hand"
using.dir = SOUTH
using.icon = ui_style
using.icon_state = "hand2"
using.screen_loc = ui_swaphand2
using.layer = 19
src.adding += using
using = new src.h_type( src )
using.name = "mask"
using.dir = NORTH
using.icon = ui_style
using.icon_state = "equip"
using.screen_loc = ui_monkey_mask
using.layer = 19
src.adding += using
using = new src.h_type( src )
using.name = "back"
using.dir = NORTHEAST
using.icon = ui_style
using.icon_state = "equip"
using.screen_loc = ui_back
using.layer = 19
src.adding += using
using = new src.h_type( src )
using.name = null
using.icon = ui_style
using.icon_state = "dither50"
using.screen_loc = "1,1 to 5,15"
using.layer = 17
using.mouse_opacity = 0
src.vimpaired += using
using = new src.h_type( src )
using.name = null
using.icon = ui_style
using.icon_state = "dither50"
using.screen_loc = "5,1 to 10,5"
using.layer = 17
using.mouse_opacity = 0
src.vimpaired += using
using = new src.h_type( src )
using.name = null
using.icon = ui_style
using.icon_state = "dither50"
using.screen_loc = "6,11 to 10,15"
using.layer = 17
using.mouse_opacity = 0
src.vimpaired += using
using = new src.h_type( src )
using.name = null
using.icon = ui_style
using.icon_state = "dither50"
using.screen_loc = "11,1 to 15,15"
using.layer = 17
using.mouse_opacity = 0
src.vimpaired += using
mymob.throw_icon = new /obj/screen(null)
mymob.throw_icon.icon = ui_style
mymob.throw_icon.icon_state = "act_throw_off"
mymob.throw_icon.name = "throw"
mymob.throw_icon.screen_loc = ui_throw
mymob.oxygen = new /obj/screen( null )
mymob.oxygen.icon = ui_style
mymob.oxygen.icon_state = "oxy0"
mymob.oxygen.name = "oxygen"
mymob.oxygen.screen_loc = ui_oxygen
mymob.pressure = new /obj/screen( null )
mymob.pressure.icon = ui_style
mymob.pressure.icon_state = "pressure0"
mymob.pressure.name = "pressure"
mymob.pressure.screen_loc = ui_pressure
mymob.toxin = new /obj/screen( null )
mymob.toxin.icon = ui_style
mymob.toxin.icon_state = "tox0"
mymob.toxin.name = "toxin"
mymob.toxin.screen_loc = ui_toxin
mymob.internals = new /obj/screen( null )
mymob.internals.icon = ui_style
mymob.internals.icon_state = "internal0"
mymob.internals.name = "internal"
mymob.internals.screen_loc = ui_internal
mymob.fire = new /obj/screen( null )
mymob.fire.icon = ui_style
mymob.fire.icon_state = "fire0"
mymob.fire.name = "fire"
mymob.fire.screen_loc = ui_fire
mymob.bodytemp = new /obj/screen( null )
mymob.bodytemp.icon = ui_style
mymob.bodytemp.icon_state = "temp1"
mymob.bodytemp.name = "body temperature"
mymob.bodytemp.screen_loc = ui_temp
mymob.healths = new /obj/screen( null )
mymob.healths.icon = ui_style
mymob.healths.icon_state = "health0"
mymob.healths.name = "health"
mymob.healths.screen_loc = ui_health
mymob.pullin = new /obj/screen( null )
mymob.pullin.icon = ui_style
mymob.pullin.icon_state = "pull0"
mymob.pullin.name = "pull"
mymob.pullin.screen_loc = ui_pull
mymob.blind = new /obj/screen( null )
mymob.blind.icon = ui_style
mymob.blind.icon_state = "blackanimate"
mymob.blind.name = " "
mymob.blind.screen_loc = "1,1 to 15,15"
mymob.blind.layer = 0
mymob.blind.mouse_opacity = 0
mymob.flash = new /obj/screen( null )
mymob.flash.icon = ui_style
mymob.flash.icon_state = "blank"
mymob.flash.name = "flash"
mymob.flash.screen_loc = "1,1 to 15,15"
mymob.flash.layer = 17
mymob.zone_sel = new /obj/screen/zone_sel( null )
mymob.zone_sel.overlays = null
mymob.zone_sel.overlays += image("icon" = 'zone_sel.dmi', "icon_state" = text("[]", mymob.zone_sel.selecting))
mymob.gun_setting_icon = new /obj/screen/gun/mode(null)
mymob.client.screen = null
//, mymob.i_select, mymob.m_select
mymob.client.screen += list( mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.pressure, mymob.toxin, mymob.bodytemp, mymob.internals, mymob.fire, mymob.healths, mymob.pullin, mymob.blind, mymob.flash, mymob.gun_setting_icon) //, mymob.hands, mymob.rest, mymob.sleep, mymob.mach, mymob.hands, )
mymob.client.screen += src.adding + src.other
//if(istype(mymob,/mob/living/carbon/monkey)) mymob.client.screen += src.mon_blo
return
@@ -0,0 +1,516 @@
/mob/living/carbon/amorph
var/obj/item/weapon/card/id/wear_id = null // Fix for station bounced radios -- Skie
var/oxygen_alert = 0
var/toxins_alert = 0
var/fire_alert = 0
var/temperature_alert = 0
/mob/living/carbon/amorph/Life()
set invisibility = 0
set background = 1
if (src.monkeyizing)
return
..()
var/datum/gas_mixture/environment // Added to prevent null location errors-- TLE
if(src.loc)
environment = loc.return_air()
if (src.stat != 2) //still breathing
//First, resolve location and get a breath
if(air_master.current_cycle%4==2)
//Only try to take a breath every 4 seconds, unless suffocating
breathe()
else //Still give containing object the chance to interact
if(istype(loc, /obj/))
var/obj/location_as_object = loc
location_as_object.handle_internal_lifeform(src, 0)
//Apparently, the person who wrote this code designed it so that
//blinded get reset each cycle and then get activated later in the
//code. Very ugly. I dont care. Moving this stuff here so its easy
//to find it.
src.blinded = null
//Disease Check
handle_virus_updates()
//Handle temperature/pressure differences between body and environment
if(environment) // More error checking -- TLE
handle_environment(environment)
//Mutations and radiation
handle_mutations_and_radiation()
//Chemicals in the body
handle_chemicals_in_body()
//Disabilities
handle_disabilities()
//Status updates, death etc.
UpdateLuminosity()
handle_regular_status_updates()
if(client)
handle_regular_hud_updates()
//Being buckled to a chair or bed
check_if_buckled()
// Yup.
update_canmove()
clamp_values()
// Grabbing
for(var/obj/item/weapon/grab/G in src)
G.process()
/mob/living/carbon/amorph
proc
clamp_values()
AdjustStunned(0)
AdjustParalysis(0)
AdjustWeakened(0)
handle_disabilities()
if (src.disabilities & 4)
if ((prob(5) && src.paralysis <= 1 && src.r_ch_cou < 1))
src.drop_item()
spawn( 0 )
emote("cough")
return
if (src.disabilities & 8)
if ((prob(10) && src.paralysis <= 1 && src.r_Tourette < 1))
Stun(10)
spawn( 0 )
emote("twitch")
return
if (src.disabilities & 16)
if (prob(10))
src.stuttering = max(10, src.stuttering)
update_mind()
if(!mind && client)
mind = new
mind.current = src
mind.key = key
handle_mutations_and_radiation()
// amorphs are immune to this stuff
breathe()
if(src.reagents)
if(src.reagents.has_reagent("lexorin")) return
if(!loc) return //probably ought to make a proper fix for this, but :effort: --NeoFite
var/datum/gas_mixture/environment = loc.return_air()
var/datum/gas_mixture/breath
if(losebreath>0) //Suffocating so do not take a breath
src.losebreath--
if (prob(75)) //High chance of gasping for air
spawn emote("gasp")
if(istype(loc, /obj/))
var/obj/location_as_object = loc
location_as_object.handle_internal_lifeform(src, 0)
else
//First, check for air from internal atmosphere (using an air tank and mask generally)
breath = get_breath_from_internal(BREATH_VOLUME)
//No breath from internal atmosphere so get breath from location
if(!breath)
if(istype(loc, /obj/))
var/obj/location_as_object = loc
breath = location_as_object.handle_internal_lifeform(src, BREATH_VOLUME)
else if(istype(loc, /turf/))
var/breath_moles = environment.total_moles*BREATH_PERCENTAGE
breath = loc.remove_air(breath_moles)
// Handle chem smoke effect -- Doohl
var/block = 0
if(wear_mask)
if(istype(wear_mask, /obj/item/clothing/mask/gas))
block = 1
if(!block)
for(var/obj/effect/effect/chem_smoke/smoke in view(1, src))
if(smoke.reagents.total_volume)
smoke.reagents.reaction(src, INGEST)
spawn(5)
if(smoke)
smoke.reagents.copy_to(src, 10) // I dunno, maybe the reagents enter the blood stream through the lungs?
break // If they breathe in the nasty stuff once, no need to continue checking
else //Still give containing object the chance to interact
if(istype(loc, /obj/))
var/obj/location_as_object = loc
location_as_object.handle_internal_lifeform(src, 0)
handle_breath(breath)
if(breath)
loc.assume_air(breath)
get_breath_from_internal(volume_needed)
if(internal)
if (!contents.Find(src.internal))
internal = null
if (!wear_mask || !(wear_mask.flags|MASKINTERNALS) )
internal = null
if(internal)
if (src.internals)
src.internals.icon_state = "internal1"
return internal.remove_air_volume(volume_needed)
else
if (src.internals)
src.internals.icon_state = "internal0"
return null
update_canmove()
if(paralysis || stunned || weakened || buckled || (changeling && changeling.changeling_fakedeath)) canmove = 0
else canmove = 1
handle_breath(datum/gas_mixture/breath)
if(src.nodamage)
return
if(!breath || (breath.total_moles == 0))
adjustOxyLoss(7)
oxygen_alert = max(oxygen_alert, 1)
return 0
var/safe_oxygen_min = 8 // Minimum safe partial pressure of O2, in kPa
//var/safe_oxygen_max = 140 // Maximum safe partial pressure of O2, in kPa (Not used for now)
var/SA_para_min = 0.5
var/SA_sleep_min = 5
var/oxygen_used = 0
var/breath_pressure = (breath.total_moles*R_IDEAL_GAS_EQUATION*breath.temperature)/BREATH_VOLUME
//Partial pressure of the O2 in our breath
var/O2_pp = (breath.oxygen/breath.total_moles)*breath_pressure
if(O2_pp < safe_oxygen_min) // Too little oxygen
if(prob(20))
spawn(0) emote("gasp")
if (O2_pp == 0)
O2_pp = 0.01
var/ratio = safe_oxygen_min/O2_pp
adjustOxyLoss(min(5*ratio, 7)) // Don't fuck them up too fast (space only does 7 after all!)
oxygen_used = breath.oxygen*ratio/6
oxygen_alert = max(oxygen_alert, 1)
else // We're in safe limits
adjustOxyLoss(-5)
oxygen_used = breath.oxygen/6
oxygen_alert = 0
breath.oxygen -= oxygen_used
breath.carbon_dioxide += oxygen_used
if(breath.trace_gases.len) // If there's some other shit in the air lets deal with it here.
for(var/datum/gas/sleeping_agent/SA in breath.trace_gases)
var/SA_pp = (SA.moles/breath.total_moles)*breath_pressure
if(SA_pp > SA_para_min) // Enough to make us paralysed for a bit
Paralyse(3) // 3 gives them one second to wake up and run away a bit!
if(SA_pp > SA_sleep_min) // Enough to make us sleep as well
src.sleeping = max(src.sleeping+2, 10)
else if(SA_pp > 0.01) // There is sleeping gas in their lungs, but only a little, so give them a bit of a warning
if(prob(20))
spawn(0) emote(pick("giggle", "laugh"))
return 1
handle_environment(datum/gas_mixture/environment)
if(!environment)
return
var/environment_heat_capacity = environment.heat_capacity()
if(istype(loc, /turf/space))
environment_heat_capacity = loc:heat_capacity
if((environment.temperature > (T0C + 50)) || (environment.temperature < (T0C + 10)))
var/transfer_coefficient
transfer_coefficient = 1
if(wear_mask && (wear_mask.body_parts_covered & HEAD) && (environment.temperature < wear_mask.protective_temperature))
transfer_coefficient *= wear_mask.heat_transfer_coefficient
handle_temperature_damage(HEAD, environment.temperature, environment_heat_capacity*transfer_coefficient)
if(stat==2)
bodytemperature += 0.1*(environment.temperature - bodytemperature)*environment_heat_capacity/(environment_heat_capacity + 270000)
//Account for massive pressure differences
var/pressure = environment.return_pressure()
// if(!wear_suit) Monkies cannot into space.
// if(!istype(wear_suit, /obj/item/clothing/suit/space))
/*if(pressure < 20)
if(prob(25))
src << "You feel the splittle on your lips and the fluid on your eyes boiling away, the capillteries in your skin breaking."
adjustBruteLoss(5)
*/
if(pressure > HAZARD_HIGH_PRESSURE)
adjustBruteLoss(min((10+(round(pressure/(HIGH_STEP_PRESSURE)-2)*5)),MAX_PRESSURE_DAMAGE))
return //TODO: DEFERRED
handle_temperature_damage(body_part, exposed_temperature, exposed_intensity)
if(src.nodamage) return
var/discomfort = min( abs(exposed_temperature - bodytemperature)*(exposed_intensity)/2000000, 1.0)
if(exposed_temperature > bodytemperature)
adjustFireLoss(20.0*discomfort)
else
adjustFireLoss(5.0*discomfort)
handle_chemicals_in_body()
// most chemicals will have no effect on amorphs
//if(reagents) reagents.metabolize(src)
if (src.drowsyness)
src.drowsyness--
src.eye_blurry = max(2, src.eye_blurry)
if (prob(5))
src.sleeping += 1
Paralyse(5)
confused = max(0, confused - 1)
// decrement dizziness counter, clamped to 0
if(resting)
dizziness = max(0, dizziness - 5)
else
dizziness = max(0, dizziness - 1)
src.updatehealth()
return //TODO: DEFERRED
handle_regular_status_updates()
health = 100 - (getOxyLoss() + getToxLoss() + getFireLoss() + getBruteLoss() + getCloneLoss())
if(getOxyLoss() > 25) Paralyse(3)
if(src.sleeping)
Paralyse(5)
if (prob(1) && health) spawn(0) emote("snore")
if(src.resting)
Weaken(5)
if(health < config.health_threshold_dead && stat != 2)
death()
else if(src.health < config.health_threshold_crit)
if(src.health <= 20 && prob(1)) spawn(0) emote("gasp")
// shuffle around the chemical effects for amorphs a little ;)
if(!src.reagents.has_reagent("antitoxin") && src.stat != 2) src.adjustOxyLoss(2)
if(src.stat != 2) src.stat = 1
Paralyse(5)
if (src.stat != 2) //Alive.
if (src.paralysis || src.stunned || src.weakened) //Stunned etc.
if (src.stunned > 0)
AdjustStunned(-1)
src.stat = 0
if (src.weakened > 0)
AdjustWeakened(-1)
src.lying = 1
src.stat = 0
if (src.paralysis > 0)
AdjustParalysis(-1)
src.blinded = 1
src.lying = 1
src.stat = 1
var/h = src.hand
src.hand = 0
drop_item()
src.hand = 1
drop_item()
src.hand = h
else //Not stunned.
src.lying = 0
src.stat = 0
else //Dead.
src.lying = 1
src.blinded = 1
src.stat = 2
if (src.stuttering) src.stuttering--
if (src.slurring) src.slurring--
if (src.eye_blind)
src.eye_blind--
src.blinded = 1
if (src.ear_deaf > 0) src.ear_deaf--
if (src.ear_damage < 25)
src.ear_damage -= 0.05
src.ear_damage = max(src.ear_damage, 0)
src.density = !( src.lying )
if (src.disabilities & 128)
src.blinded = 1
if (src.disabilities & 32)
src.ear_deaf = 1
if (src.eye_blurry > 0)
src.eye_blurry--
src.eye_blurry = max(0, src.eye_blurry)
if (src.druggy > 0)
src.druggy--
src.druggy = max(0, src.druggy)
return 1
handle_regular_hud_updates()
if (src.stat == 2 || (XRAY in mutations))
src.sight |= SEE_TURFS
src.sight |= SEE_MOBS
src.sight |= SEE_OBJS
src.see_in_dark = 8
src.see_invisible = 2
else if (src.stat != 2)
src.sight &= ~SEE_TURFS
src.sight &= ~SEE_MOBS
src.sight &= ~SEE_OBJS
src.see_in_dark = 2
src.see_invisible = 0
if (src.sleep)
src.sleep.icon_state = text("sleep[]", src.sleeping > 0 ? 1 : 0)
src.sleep.overlays = null
if(src.sleeping_willingly)
src.sleep.overlays += icon(src.sleep.icon, "sleep_willing")
if (src.rest) src.rest.icon_state = text("rest[]", src.resting)
if (src.healths)
if (src.stat != 2)
switch(health)
if(100 to INFINITY)
src.healths.icon_state = "health0"
if(80 to 100)
src.healths.icon_state = "health1"
if(60 to 80)
src.healths.icon_state = "health2"
if(40 to 60)
src.healths.icon_state = "health3"
if(20 to 40)
src.healths.icon_state = "health4"
if(0 to 20)
src.healths.icon_state = "health5"
else
src.healths.icon_state = "health6"
else
src.healths.icon_state = "health7"
if (pressure)
var/datum/gas_mixture/environment = loc.return_air()
if(environment)
switch(environment.return_pressure())
if(HAZARD_HIGH_PRESSURE to INFINITY)
pressure.icon_state = "pressure2"
if(WARNING_HIGH_PRESSURE to HAZARD_HIGH_PRESSURE)
pressure.icon_state = "pressure1"
if(WARNING_LOW_PRESSURE to WARNING_HIGH_PRESSURE)
pressure.icon_state = "pressure0"
if(HAZARD_LOW_PRESSURE to WARNING_LOW_PRESSURE)
pressure.icon_state = "pressure-1"
else
pressure.icon_state = "pressure-2"
if(src.pullin) src.pullin.icon_state = "pull[src.pulling ? 1 : 0]"
if (src.toxin) src.toxin.icon_state = "tox[src.toxins_alert ? 1 : 0]"
if (src.oxygen) src.oxygen.icon_state = "oxy[src.oxygen_alert ? 1 : 0]"
if (src.fire) src.fire.icon_state = "fire[src.fire_alert ? 1 : 0]"
//NOTE: the alerts dont reset when youre out of danger. dont blame me,
//blame the person who coded them. Temporary fix added.
if(bodytemp)
switch(src.bodytemperature) //310.055 optimal body temp
if(345 to INFINITY)
src.bodytemp.icon_state = "temp4"
if(335 to 345)
src.bodytemp.icon_state = "temp3"
if(327 to 335)
src.bodytemp.icon_state = "temp2"
if(316 to 327)
src.bodytemp.icon_state = "temp1"
if(300 to 316)
src.bodytemp.icon_state = "temp0"
if(295 to 300)
src.bodytemp.icon_state = "temp-1"
if(280 to 295)
src.bodytemp.icon_state = "temp-2"
if(260 to 280)
src.bodytemp.icon_state = "temp-3"
else
src.bodytemp.icon_state = "temp-4"
src.client.screen -= src.hud_used.blurry
src.client.screen -= src.hud_used.druggy
src.client.screen -= src.hud_used.vimpaired
if ((src.blind && src.stat != 2))
if ((src.blinded))
src.blind.layer = 18
else
src.blind.layer = 0
if (src.disabilities & 1)
src.client.screen += src.hud_used.vimpaired
if (src.eye_blurry)
src.client.screen += src.hud_used.blurry
if (src.druggy)
src.client.screen += src.hud_used.druggy
if (src.stat != 2)
if (src.machine)
if (!( src.machine.check_eye(src) ))
src.reset_view(null)
else
if(!client.adminobs)
reset_view(null)
return 1
handle_virus_updates()
// amorphs can't come down with human diseases
return
@@ -0,0 +1,6 @@
/mob/living/carbon/amorph/emote(var/act,var/m_type=1,var/message = null)
if(act == "me")
return custom_emote(m_type, message)
/mob/living/carbon/amorph/say_quote(var/text)
return "[src.say_message], \"[text]\"";
+1 -1
View File
@@ -964,7 +964,7 @@
if(blood_volume < 560 && blood_volume)
var/datum/reagent/blood/B = locate() in vessel //Grab some blood
if(B) // Make sure there's some blood at all
if(!B.data["donor"] == src) //If it's not theirs, then we look for theirs
if(B.data["donor"] != src) //If it's not theirs, then we look for theirs
for(var/datum/reagent/blood/D in vessel)
if(D.data["donor"] == src)
B = D
+3
View File
@@ -5,6 +5,9 @@
return 1
return 0
/proc/isamorph(A)
return istype(A, /mob/living/carbon/amorph)
/proc/ismonkey(A)
if(A && istype(A, /mob/living/carbon/monkey))
return 1
+13 -3
View File
@@ -132,6 +132,8 @@ datum/preferences
// OOC Metadata:
var/metadata = ""
var/sound_adminhelp = 0
New()
hair_style = new/datum/sprite_accessory/hair/short
@@ -265,9 +267,13 @@ datum/preferences
if(config.allow_Metadata)
dat += "<b>OOC Notes:</b> <a href='byond://?src=\ref[user];preferences=1;OOC=input'> Edit </a><br>"
if((user.client) && (user.client.holder) && (user.client.holder.rank) && (user.client.holder.level >= 5))
dat += "<hr><b>OOC</b><br>"
dat += "<a href='byond://?src=\ref[user];preferences=1;ooccolor=input'>Change colour</a> <font face=\"fixedsys\" size=\"3\" color=\"[ooccolor]\"><table style='display:inline;' bgcolor=\"[ooccolor]\"><tr><td>__</td></tr></table></font>"
if((user.client) && (user.client.holder) && (user.client.holder.rank))
dat += "<hr><b>Adminhelp sound</b>: "
dat += "[(sound_adminhelp)?"On":"Off"] <a href='byond://?src=\ref[user];preferences=1;toggleadminhelpsound=1'>toggle</a>"
if(user.client.holder.level >= 5)
dat += "<hr><b>OOC</b><br>"
dat += "<a href='byond://?src=\ref[user];preferences=1;ooccolor=input'>Change color</a> <font face=\"fixedsys\" size=\"3\" color=\"[ooccolor]\"><table style='display:inline;' bgcolor=\"[ooccolor]\"><tr><td>__</td></tr></table></font>"
dat += "<hr><b>Occupation Choices</b><br>"
dat += "\t<a href=\"byond://?src=\ref[user];preferences=1;occ=1\"><b>Set Preferences</b></a><br>"
@@ -906,6 +912,9 @@ datum/preferences
if(ooccolor)
src.ooccolor = ooccolor
if(link_tags["toggleadminhelpsound"])
src.sound_adminhelp = !src.sound_adminhelp
if(link_tags["f_style"])
if(species != "Human") //Non-humans don't have hair stuff yet.
return
@@ -1269,6 +1278,7 @@ datum/preferences
proc/setup_client(var/client/C)
if(C)
C.sound_adminhelp = src.sound_adminhelp
C.midis = src.midis
C.ooccolor = src.ooccolor
C.be_alien = be_special & BE_ALIEN
+4
View File
@@ -161,6 +161,8 @@ datum/preferences/proc/savefile_save(mob/user, slot)
F["OOC_Notes"] << src.metadata
F["sound_adminhelp"] << src.sound_adminhelp
return 1
// loads the savefile corresponding to the mob's ckey
@@ -269,6 +271,8 @@ datum/preferences/proc/savefile_load(mob/user, slot)
F["OOC_Notes"] >> src.metadata
F["sound_adminhelp"] >> src.sound_adminhelp
if(isnull(metadata))
metadata = ""
+3 -2
View File
@@ -69,11 +69,11 @@ var/list/wound_progressions = list(
W.hits = hits
W.time_inflicted = time_inflicted
return W
/* fuckign double defines
#define CUT 0
#define BRUISE 1
#define BURN 2
*/
/****************************************************
EXTERNAL ORGANS
****************************************************/
@@ -416,6 +416,7 @@ var/list/wound_progressions = list(
var/size = min( max( 1, damage/10 ) , 6)
switch(type)
if(CUT)
src.status |= BLEEDING
var/list/size_names = list("cut", "deep cut", "flesh wound", "gaping wound", "big gaping wound", "massive wound")
wound_name = size_names[size]
if(wound_descs["[update_time]"])
+17
View File
@@ -1201,6 +1201,23 @@ datum
materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/item/weapon/circuitboard/mechfab"
shieldgenex
name = "Hull Shield Generator Board"
desc = "The circuit board for an External Hull Shield Generator"
id = "shieldgen"
req_tech = list("programming" = 3, "electromagnetic" = 3, "engineering" = 2, "power" = 1)
build_type = IMPRINTER
materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/item/weapon/circuitboard/shield_generator_external"
shieldcap
name = "Shield Capacitor Board"
desc = "The circuit board for a Shield Capacitor"
id = "shieldcap"
req_tech = list("programming" = 3, "electromagnetic" = 3, "engineering" = 2, "power" = 1)
build_type = IMPRINTER
materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/item/weapon/circuitboard/shield_capacitor"
/////////////////////////////////////////
////////////Power Stuff//////////////////
+124
View File
@@ -0,0 +1,124 @@
/**********************Shuttle Computer**************************/
//copy paste from the mining shuttle
var/research_shuttle_tickstomove = 10
var/research_shuttle_moving = 0
var/research_shuttle_location = 0 // 0 = station 13, 1 = research station
proc/move_research_shuttle()
if(research_shuttle_moving) return
research_shuttle_moving = 1
spawn(research_shuttle_tickstomove*10)
var/area/fromArea
var/area/toArea
if (research_shuttle_location == 1)
fromArea = locate(/area/shuttle/research/outpost)
toArea = locate(/area/shuttle/research/station)
else
fromArea = locate(/area/shuttle/research/station)
toArea = locate(/area/shuttle/research/outpost)
var/list/dstturfs = list()
var/throwy = world.maxy
for(var/turf/T in toArea)
dstturfs += T
if(T.y < throwy)
throwy = T.y
// hey you, get out of the way!
for(var/turf/T in dstturfs)
// find the turf to move things to
var/turf/D = locate(T.x, throwy - 1, 1)
//var/turf/E = get_step(D, SOUTH)
for(var/atom/movable/AM as mob|obj in T)
AM.Move(D)
// NOTE: Commenting this out to avoid recreating mass driver glitch
/*
spawn(0)
AM.throw_at(E, 1, 1)
return
*/
if(istype(T, /turf/simulated))
del(T)
for(var/mob/living/carbon/bug in toArea) // If someone somehow is still in the shuttle's docking area...
bug.gib()
fromArea.move_contents_to(toArea)
if (research_shuttle_location)
research_shuttle_location = 0
else
research_shuttle_location = 1
research_shuttle_moving = 0
return
/obj/machinery/computer/research_shuttle
name = "Research Shuttle Console"
icon = 'computer.dmi'
icon_state = "shuttle"
req_access = list(ACCESS_RESEARCH)
circuit = "/obj/item/weapon/circuitboard/research_shuttle"
var/hacked = 0
var/location = 0 //0 = station, 1 = research base
/obj/machinery/computer/research_shuttle/attack_hand(user as mob)
src.add_fingerprint(usr)
var/dat
dat = text("<center>research shuttle:<br> <b><A href='?src=\ref[src];move=[1]'>Send</A></b></center>")
user << browse("[dat]", "window=researchshuttle;size=200x100")
/obj/machinery/computer/research_shuttle/Topic(href, href_list)
if(..())
return
usr.machine = src
src.add_fingerprint(usr)
if(href_list["move"])
if(ticker.mode.name == "blob")
if(ticker.mode:declared)
usr << "Under directive 7-10, [station_name()] is quarantined until further notice."
return
if (!research_shuttle_moving)
usr << "\blue Shuttle recieved message and will be sent shortly."
move_research_shuttle()
else
usr << "\blue Shuttle is already moving."
/obj/machinery/computer/research_shuttle/attackby(obj/item/weapon/W as obj, mob/user as mob)
if (istype(W, /obj/item/weapon/card/emag))
var/obj/item/weapon/card/emag/E = W
if(E.uses)
E.uses--
else
return
src.req_access = list()
hacked = 1
usr << "You fried the consoles ID checking system. It's now available to everyone!"
else if(istype(W, /obj/item/weapon/screwdriver))
playsound(src.loc, 'Screwdriver.ogg', 50, 1)
if(do_after(user, 20))
var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
var/obj/item/weapon/circuitboard/research_shuttle/M = new /obj/item/weapon/circuitboard/research_shuttle( A )
for (var/obj/C in src)
C.loc = src.loc
A.circuit = M
A.anchored = 1
if (src.stat & BROKEN)
user << "\blue The broken glass falls out."
new /obj/item/weapon/shard( src.loc )
A.state = 3
A.icon_state = "3"
else
user << "\blue You disconnect the monitor."
A.state = 4
A.icon_state = "4"
del(src)
@@ -0,0 +1,104 @@
obj/machinery/gas_chromatography
name = "Gas Chromatography Spectrometer"
obj/machinery/gas_chromatography/Topic(href, href_list)
if(href_list["close"])
usr << browse(null, "window=artanalyser")
usr.machine = null
updateDialog()
obj/machinery/gas_chromatography/attack_hand(var/mob/user as mob)
if(stat & (NOPOWER|BROKEN))
return
user.machine = src
var/dat = "<B>Gas Chromatography Spectrometer</B><BR>"
dat += "<hr>"
dat += "<A href='?src=\ref[src];refresh=1'>Refresh<BR>"
dat += "<A href='?src=\ref[src];close=1'>Close<BR>"
user << browse(dat, "window=artanalyser;size=450x500")
onclose(user, "artanalyser")
obj/machinery/accelerator
name = "Accelerator Spectrometer"
obj/machinery/accelerator/Topic(href, href_list)
if(href_list["close"])
usr << browse(null, "window=artanalyser")
usr.machine = null
updateDialog()
obj/machinery/accelerator/attack_hand(var/mob/user as mob)
if(stat & (NOPOWER|BROKEN))
return
user.machine = src
var/dat = "<B>Accelerator Spectrometer</B><BR>"
dat += "<hr>"
dat += "<A href='?src=\ref[src];refresh=1'>Refresh<BR>"
dat += "<A href='?src=\ref[src];close=1'>Close<BR>"
user << browse(dat, "window=artanalyser;size=450x500")
onclose(user, "artanalyser")
obj/machinery/fourier_transform
name = "Fourier Transform Spectroscope "
obj/machinery/fourier_transform/Topic(href, href_list)
if(href_list["close"])
usr << browse(null, "window=artanalyser")
usr.machine = null
updateDialog()
obj/machinery/fourier_transform/attack_hand(var/mob/user as mob)
if(stat & (NOPOWER|BROKEN))
return
user.machine = src
var/dat = "<B>Fourier Transform Spectroscope</B><BR>"
dat += "<hr>"
dat += "<A href='?src=\ref[src];refresh=1'>Refresh<BR>"
dat += "<A href='?src=\ref[src];close=1'>Close<BR>"
user << browse(dat, "window=artanalyser;size=450x500")
onclose(user, "artanalyser")
obj/machinery/radiometric
name = "Radiometric Exposure Spectrometer"
obj/machinery/radiometric/Topic(href, href_list)
if(href_list["close"])
usr << browse(null, "window=artanalyser")
usr.machine = null
updateDialog()
obj/machinery/radiometric/attack_hand(var/mob/user as mob)
if(stat & (NOPOWER|BROKEN))
return
user.machine = src
var/dat = "<B>Radiometric Exposure Spectrometer</B><BR>"
dat += "<hr>"
dat += "<A href='?src=\ref[src];refresh=1'>Refresh<BR>"
dat += "<A href='?src=\ref[src];close=1'>Close<BR>"
user << browse(dat, "window=artanalyser;size=450x500")
onclose(user, "artanalyser")
obj/machinery/ion_mobility
name = "Ion Mobility Spectrometer "
obj/machinery/ion_mobility/Topic(href, href_list)
if(href_list["close"])
usr << browse(null, "window=artanalyser")
usr.machine = null
updateDialog()
obj/machinery/ion_mobility/attack_hand(var/mob/user as mob)
if(stat & (NOPOWER|BROKEN))
return
user.machine = src
var/dat = "<B>Ion Mobility Spectrometer</B><BR>"
dat += "<hr>"
dat += "<A href='?src=\ref[src];refresh=1'>Refresh<BR>"
dat += "<A href='?src=\ref[src];close=1'>Close<BR>"
user << browse(dat, "window=artanalyser;size=450x500")
onclose(user, "artanalyser")
@@ -228,7 +228,7 @@
for (var/mob/living/carbon/M in range(src.aurarange,originator))
if(istype(M:wear_suit,/obj/item/clothing/suit/bio_suit/anomaly) && istype(M:head,/obj/item/clothing/head/bio_hood/anomaly))
continue
if(prob(10)) M << "\red Energy radiating from the [src] is making you feel numb."
if(prob(10)) M << "\red Energy radiating from the [originator] is making you feel numb."
if(prob(20))
M << "\red Your body goes numb for a moment."
M.stunned += 2
@@ -16,13 +16,9 @@
heat_transfer_coefficient = 0.02
protective_temperature = 1000
/area/anomaly
name = "Anomaly Lab"
icon_state = "anomaly"
/obj/structure/noticeboard/anomaly/New()
notices = 4
icon_state = "nboard04"
notices = 5
icon_state = "nboard05"
//add some memos
var/obj/item/weapon/paper/P = new()
@@ -52,3 +48,10 @@
P.stamped = list(/obj/item/weapon/stamp/rd)
P.overlays = list("paper_stamped_rd")
src.contents += P
P = new()
P.name = "Reminder regarding the anomalous material suits"
P.info = "Do you people think the anomaly suits are cheap to come by? I'm about a hair trigger away from instituting a log book for the damn things. Only wear them if you're going out for a dig, and for god's sake don't go tramping around the station in them unless you're field testing something, R"
P.stamped = list(/obj/item/weapon/stamp/rd)
P.overlays = list("paper_stamped_rd")
src.contents += P
+2
View File
@@ -371,6 +371,8 @@ var/list/global_mutations = list() // list of hidden mutation things
//Damage things
#define CUT "cut"
#define BRUISE "bruise"
#define BRUTE "brute"
#define BURN "fire"
#define TOX "tox"
+2 -1
View File
@@ -9,4 +9,5 @@ asanadas
deusdactyl
densane
bowlsoldier
fenrisian
fenrisian
madmalicemccrea
+30 -3
View File
@@ -57,6 +57,16 @@ Stuff which is in development and not yet visible to players or just code relate
should be listed in the changelog upon commit though. Thanks. -->
<!-- To take advantage of the pretty new format (well it was new when I wrote this anyway), open the "add-to-changelog.html" file in any browser and add the stuff and then generate the html code and paste it here -->
<div class="commit sansserif">
<h2 class="date">5 July 2012</h2>
<h3 class="author">Cael_Aislinn updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">The Mining North Outpost has been repurposed as a research outpost, with a shuttle going back to the research division on the main station. The pneumatic transport chute is still available to transfer ore between this outpost and the mining one.</li>
<li class="bugfix">Shield generators now have circuitboards, and the capacitors should actually rotate now (both still have placeholder sprites though).</li>
</ul>
</div>
<div class="commit sansserif">
<h2 class="date">3 July 2012</h2>
<h3 class="author">CIB updated:</h3>
@@ -64,15 +74,24 @@ should be listed in the changelog upon commit though. Thanks. -->
<li class="rscadd">You can now select amputated and robot limbs in the character preferences. Note, though, that amputated limbs don't work properly yet.</li>
</ul>
</div>
<div class="commit sansserif">
<h2 class="date">29 June 2012</h2>
<h3 class="author">Erthilo updated:</h3>
<ul class="changes bgimages16">
<li class="tweak">Raises job limits for Botanists, Atmospheric Technicnians, Roboticists, Chemists, and Geneticists.</li>
<li class="tweak">Raises job limits for Botanists, Atmospheric Technicians, Roboticists, Chemists, and Geneticists.</li>
</ul>
</div>
<div class="commit sansserif">
<h2 class="date">28 June 2012</h2>
<h3 class="author">Chinsky updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">'Rename' function for clipboards</li>
<li class="rscadd">Can add photos to clipboards</li>
<li class="bugfix">Fixed troubles with formatting when reading from clipboard (linebreaks not being properly placed)</li>
<li class="bugfix">Fixed photocopiers not copying photos properly</li>
</ul>
</div>
<div class="commit sansserif">
<h2 class="date">27 June 2012</h2>
<h3 class="author">Erthilo updated:</h3>
@@ -90,6 +109,14 @@ should be listed in the changelog upon commit though. Thanks. -->
<li class="bugfix">Fixes medical items. Gauze/kits/ointment can now be applied correctly again.</li>
</ul>
</div>
<div class="commit sansserif">
<h2 class="date">26 June 2012</h2>
<h3 class="author">TG updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Fixed silicon mobs not being able to access newscaster.</li>
<li class="bugfix">Fixed harmbatons on everything other than harm, now it is the opposite way round.</li>
</ul>
</div>
<div class="commit sansserif">
<h2 class="date">25 June 2012</h2>
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 131 KiB

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 135 KiB

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

+85 -85
View File
@@ -138,19 +138,19 @@
"acH" = (/obj/machinery/door/firedoor/border_only{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor/plating,/area/toxins/mixing)
"acI" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/toxins/mixing)
"acJ" = (/obj/machinery/portable_atmospherics/canister/air,/obj/effect/decal/warning_stripes{tag = "icon-E"; icon_state = "E"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/toxins/mixing)
"acK" = (/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor,/area/toxins/mixing)
"acK" = (/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor,/area/toxins/mixing)
"acL" = (/obj/effect/decal/warning_stripes{tag = "icon-W"; icon_state = "W"},/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/toxins/mixing)
"acM" = (/obj/effect/decal/cleanable/cobweb2,/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/toxins/mixing)
"acN" = (/obj/machinery/deployable/barrier,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/security/armoury)
"acO" = (/obj/machinery/deployable/barrier,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/security/armoury)
"acP" = (/obj/machinery/deployable/barrier,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/security/armoury)
"acQ" = (/obj/machinery/flasher/portable,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/security/armoury)
"acR" = (/obj/machinery/flasher/portable,/obj/structure/window/reinforced{dir = 4},/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/security/armoury)
"acR" = (/obj/machinery/flasher/portable,/obj/structure/window/reinforced{dir = 4},/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/security/armoury)
"acS" = (/obj/structure/closet/bombclosetsecurity,/obj/machinery/camera{c_tag = "Armoury"; dir = 2; network = "Security"},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/armoury)
"acT" = (/obj/structure/closet/l3closet/security,/obj/machinery/door_control{id = "armory"; name = "Armory Access"; pixel_x = 25; pixel_y = -2; req_access_txt = "2"},/turf/simulated/floor,/area/security/armoury)
"acU" = (/obj/structure/rack,/obj/item/clothing/suit/armor/riot,/obj/item/weapon/melee/baton,/obj/item/weapon/shield/riot,/obj/item/clothing/head/helmet/riot,/obj/structure/window/basic,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/armoury)
"acV" = (/obj/structure/rack,/obj/item/clothing/suit/armor/riot,/obj/item/weapon/melee/baton,/obj/item/weapon/shield/riot,/obj/item/clothing/head/helmet/riot,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/basic,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/armoury)
"acW" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor,/area/security/armoury)
"acW" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor,/area/security/armoury)
"acX" = (/obj/structure/rack,/obj/item/weapon/gun/projectile/shotgun/pump/combat,/obj/item/weapon/gun/projectile/shotgun/pump/combat,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/basic,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/armoury)
"acY" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/security/armoury)
"acZ" = (/obj/structure/rack,/obj/item/weapon/gun/energy/laser,/obj/item/weapon/gun/energy/laser,/obj/item/weapon/gun/energy/laser,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/basic,/obj/effect/decal/cleanable/cobweb2,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/armoury)
@@ -204,7 +204,7 @@
"adV" = (/obj/effect/decal/warning_stripes{tag = "icon-S"; icon_state = "S"},/obj/effect/sign/securearea{desc = "A warning sign which reads 'DANGER: FIRE'"; icon_state = "fire"; name = "DANGER: FIRE"; pixel_x = 32},/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/toxins/mixing)
"adW" = (/obj/effect/sign/securearea{name = "EXTERNAL AIRLOCK"; desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"},/turf/simulated/wall/r_wall,/area/maintenance/fore)
"adX" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/external{name = "External Airlock"; req_access_txt = "12"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/maintenance/fore)
"adY" = (/obj/machinery/deployable/barrier,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/light/small/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/security/armoury)
"adY" = (/obj/machinery/deployable/barrier,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/light/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/security/armoury)
"adZ" = (/obj/machinery/deployable/barrier,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/security/armoury)
"aea" = (/obj/structure/rack,/obj/item/weapon/gun/energy/taser,/obj/item/weapon/gun/energy/taser,/obj/item/weapon/gun/energy/taser,/obj/effect/decal/warning_stripes{tag = "icon-W-corner"; icon_state = "W-corner"},/turf/simulated/floor,/area/security/armoury)
"aeb" = (/obj/structure/rack,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/baton,/obj/item/weapon/storage/handcuff_kit,/turf/simulated/floor,/area/security/armoury)
@@ -251,7 +251,7 @@
"aeQ" = (/obj/structure/reagent_dispensers/peppertank{pixel_x = -30},/obj/effect/decal/warning_stripes{tag = "icon-N-corner"; icon_state = "N-corner"},/turf/simulated/floor,/area/security/armoury)
"aeR" = (/obj/effect/decal/warning_stripes{tag = "icon-N-corner"; icon_state = "N-corner"},/turf/simulated/floor,/area/security/armoury)
"aeS" = (/obj/effect/decal/warning_stripes{tag = "icon-NW-out"; icon_state = "NW-out"},/turf/simulated/floor,/area/security/armoury)
"aeT" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor,/area/security/armoury)
"aeT" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor,/area/security/armoury)
"aeU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/fore)
"aeV" = (/obj/machinery/door/firedoor/border_only,/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/assembly/assembly_line)
"aeW" = (/obj/structure/table,/obj/item/weapon/tank/anesthetic,/obj/item/weapon/storage/body_bag_box,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor{icon_state = "white"; dir = 8},/area/assembly/assembly_line)
@@ -281,11 +281,11 @@
"afu" = (/obj/machinery/light_switch{pixel_y = -22},/turf/simulated/floor,/area/security/armoury)
"afv" = (/obj/machinery/firealarm{pixel_y = -24},/turf/simulated/floor,/area/security/armoury)
"afw" = (/obj/structure/rack,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/armoury)
"afx" = (/obj/structure/table,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 1},/obj/item/weapon/storage/trackimp_kit,/obj/item/weapon/storage/chemimp_kit,/obj/item/weapon/storage/lockbox/loyalty,/obj/machinery/light/small/spot,/turf/simulated/floor,/area/security/armoury)
"afx" = (/obj/structure/table,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 1},/obj/item/weapon/storage/trackimp_kit,/obj/item/weapon/storage/chemimp_kit,/obj/item/weapon/storage/lockbox/loyalty,/obj/machinery/light/spot,/turf/simulated/floor,/area/security/armoury)
"afy" = (/obj/structure/table,/obj/item/weapon/storage/lockbox,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/security/armoury)
"afz" = (/obj/machinery/power/apc{dir = 4; name = "Armoury APC"; pixel_x = 25; pixel_y = 0},/obj/structure/rack,/obj/item/weapon/storage/flashbang_kit,/turf/simulated/floor,/area/security/armoury)
"afA" = (/obj/item/weapon/gun/energy/ionrifle,/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/structure/table,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/basic{dir = 1},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/armoury)
"afB" = (/obj/machinery/atmospherics/unary/vent_scrubber,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small/spot,/turf/simulated/floor,/area/security/armoury)
"afB" = (/obj/machinery/atmospherics/unary/vent_scrubber,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/spot,/turf/simulated/floor,/area/security/armoury)
"afC" = (/obj/structure/rack,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/basic{dir = 1},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/armoury)
"afD" = (/obj/structure/rack,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/basic{dir = 1},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/armoury)
"afE" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/security/armoury)
@@ -350,7 +350,7 @@
"agL" = (/turf/simulated/floor,/area/security/range)
"agM" = (/obj/effect/decal/warning_stripes{tag = "icon-SE-in"; icon_state = "SE-in"},/turf/simulated/floor,/area/security/range)
"agN" = (/obj/effect/decal/warning_stripes{tag = "icon-SW-in"; icon_state = "SW-in"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/security/range)
"agO" = (/obj/effect/decal/cleanable/cobweb,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor/plating,/area/security/range)
"agO" = (/obj/effect/decal/cleanable/cobweb,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor/plating,/area/security/range)
"agP" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/device/healthanalyzer,/obj/item/device/healthanalyzer,/obj/item/device/healthanalyzer,/obj/item/weapon/reagent_containers/glass/beaker/tricordrazine,/obj/item/weapon/reagent_containers/glass/beaker/tricordrazine,/obj/item/weapon/reagent_containers/glass/beaker/tricordrazine,/turf/simulated/floor,/area/assembly/assembly_line)
"agQ" = (/obj/machinery/computer/rdconsole{id = 2; name = "Robotics R&D Console"; req_access = null; req_access_txt = "29"},/turf/simulated/floor,/area/assembly/assembly_line)
"agR" = (/obj/machinery/r_n_d/circuit_imprinter{pixel_y = 1},/turf/simulated/floor,/area/assembly/assembly_line)
@@ -365,7 +365,7 @@
"aha" = (/obj/structure/walllocker/emerglocker/north,/turf/simulated/floor{icon_state = "white"; dir = 8},/area/toxins/toxinslab)
"ahb" = (/obj/structure/closet/secure_closet/scientist,/turf/simulated/floor{icon_state = "white"},/area/toxins/toxinslab)
"ahc" = (/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor,/area/toxins/toxinslab)
"ahd" = (/obj/effect/decal/warning_stripes{tag = "icon-SE-out"; icon_state = "SE-out"},/obj/machinery/portable_atmospherics/scrubber,/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor,/area/toxins/toxinslab)
"ahd" = (/obj/effect/decal/warning_stripes{tag = "icon-SE-out"; icon_state = "SE-out"},/obj/machinery/portable_atmospherics/scrubber,/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor,/area/toxins/toxinslab)
"ahe" = (/obj/effect/decal/warning_stripes{tag = "icon-S"; icon_state = "S"},/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor,/area/toxins/toxinslab)
"ahf" = (/obj/machinery/vending/plasmaresearch,/obj/effect/decal/warning_stripes{tag = "icon-S"; icon_state = "S"},/turf/simulated/floor,/area/toxins/toxinslab)
"ahg" = (/obj/machinery/dispenser,/obj/effect/decal/warning_stripes{tag = "icon-NW-in"; icon_state = "NW-in"},/turf/simulated/floor,/area/toxins/toxinslab)
@@ -388,7 +388,7 @@
"ahx" = (/obj/structure/target_stake,/obj/machinery/magnetic_module{code = 712; magnetic_field = 2; max_dist = 5; on = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/range)
"ahy" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/range)
"ahz" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/security/range)
"ahA" = (/obj/machinery/light/small/spot,/turf/simulated/floor/plating,/area)
"ahA" = (/obj/machinery/light/spot,/turf/simulated/floor/plating,/area)
"ahB" = (/obj/item/stack/sheet/metal{amount = 50},/turf/space,/area)
"ahC" = (/obj/structure/table,/obj/item/device/assembly/prox_sensor,/obj/item/device/assembly/prox_sensor,/obj/item/device/assembly/prox_sensor,/obj/item/weapon/cable_coil,/obj/item/weapon/cable_coil,/turf/simulated/floor,/area/assembly/assembly_line)
"ahD" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/assembly/assembly_line)
@@ -442,7 +442,7 @@
"aiz" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor,/area/security/range)
"aiA" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor,/area/security/range)
"aiB" = (/obj/effect/decal/warning_stripes{tag = "icon-S"; icon_state = "S"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/security/range)
"aiC" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/ai_monitored/storage/eva)
"aiC" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/ai_monitored/storage/eva)
"aiD" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/ai_monitored/storage/eva)
"aiE" = (/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/floor/plating/airless,/area)
"aiF" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass/glass_medical{name = "Robotics Office"; req_access_txt = "29"},/turf/simulated/floor,/area/assembly/assembly_line)
@@ -543,14 +543,14 @@
"akw" = (/obj/structure/table,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/head/helmet/welding,/obj/item/clothing/head/helmet/welding,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
"akx" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
"aky" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/weapon/screwdriver{pixel_y = 16},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/device/multitool,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/ai_monitored/storage/eva)
"akz" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/hand_labeler,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/ai_monitored/storage/eva)
"akz" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/hand_labeler,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/ai_monitored/storage/eva)
"akA" = (/obj/structure/closet/crate/rcd,/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/ai_monitored/storage/eva)
"akB" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/turf/simulated/floor{tag = "icon-vault (SOUTHWEST)"; icon_state = "vault"; dir = 10},/area/ai_monitored/storage/eva)
"akC" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/machinery/camera{c_tag = "EVA"; dir = 2; network = "Command"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
"akD" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/jetpack,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
"akE" = (/obj/machinery/alarm{pixel_y = 23},/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/jetpack,/turf/simulated/floor{tag = "icon-vault (SOUTHEAST)"; icon_state = "vault"; dir = 6},/area/ai_monitored/storage/eva)
"akF" = (/obj/item/device/radio,/obj/item/device/assembly/timer,/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/ai_monitored/storage/eva)
"akG" = (/obj/effect/decal/warning_stripes{tag = "icon-N"; icon_state = "N"},/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/ai_monitored/storage/eva)
"akG" = (/obj/effect/decal/warning_stripes{tag = "icon-N"; icon_state = "N"},/obj/effect/decal/cleanable/dirt,/obj/machinery/light/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/ai_monitored/storage/eva)
"akH" = (/obj/item/weapon/cable_coil,/obj/item/weapon/cable_coil,/obj/item/weapon/cable_coil,/obj/item/weapon/wirecutters,/turf/simulated/floor/plating/airless,/area)
"akI" = (/obj/item/weapon/screwdriver{pixel_y = 16},/turf/simulated/floor/plating/airless,/area)
"akJ" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/copier,/turf/simulated/floor,/area/assembly/assembly_line)
@@ -647,7 +647,7 @@
"amw" = (/obj/machinery/camera{c_tag = "Mech Recharge Bay Starboard"; dir = 8; network = "Research"},/turf/simulated/floor,/area/assembly/chargebay)
"amx" = (/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/medical/research{name = "Research Division Storage"})
"amy" = (/turf/simulated/floor,/area/medical/research{name = "Research Division Storage"})
"amz" = (/obj/machinery/portable_atmospherics/scrubber,/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/medical/research{name = "Research Division Storage"})
"amz" = (/obj/machinery/portable_atmospherics/scrubber,/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/medical/research{name = "Research Division Storage"})
"amA" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/medical/research{name = "Research Division Storage"})
"amB" = (/obj/structure/table,/turf/simulated/floor,/area/toxins/xenobiology)
"amC" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/toxins/xenobiology)
@@ -659,10 +659,10 @@
"amI" = (/obj/effect/sign/securearea{name = "EXTERNAL AIRLOCK"; desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"},/turf/simulated/wall/r_wall,/area/maintenance/starboard)
"amJ" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/starboard)
"amK" = (/obj/effect/sign/vacuum,/turf/simulated/wall/r_wall,/area/maintenance/starboard)
"amL" = (/obj/structure/lattice,/obj/machinery/light/small/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/space,/area)
"amL" = (/obj/structure/lattice,/obj/machinery/light/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/space,/area)
"amM" = (/turf/simulated/wall,/area)
"amN" = (/obj/structure/girder,/turf/simulated/floor/plating/airless,/area)
"amO" = (/obj/structure/lattice,/obj/machinery/light/small/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/space,/area)
"amO" = (/obj/structure/lattice,/obj/machinery/light/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/space,/area)
"amP" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/wall/r_wall,/area/maintenance/fore)
"amQ" = (/obj/structure/table,/obj/machinery/light/lamp,/turf/simulated/floor{icon_state = "dark"},/area/security/main)
"amR" = (/obj/item/device/radio/intercom{broadcasting = 0; dir = 0; frequency = 1495; listening = 1; name = "Interrogation Intercom"; pixel_x = 30},/obj/machinery/camera{c_tag = "Interrogation"; dir = 8; network = "Interrogation"},/turf/simulated/floor{icon_state = "dark"},/area/security/main)
@@ -673,7 +673,7 @@
"amW" = (/turf/simulated/floor{dir = 8; icon_state = "carpetside"},/area/security/hos)
"amX" = (/obj/structure/closet/secure_closet/hos,/turf/simulated/floor{dir = 4; icon_state = "carpetside"},/area/security/hos)
"amY" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/weapon/crowbar,/obj/machinery/camera{c_tag = "EVA Access"; dir = 4; network = "Command"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
"amZ" = (/obj/item/stack/sheet/rglass{amount = 50},/obj/item/stack/sheet/rglass{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/rods{amount = 50},/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
"amZ" = (/obj/item/stack/sheet/rglass{amount = 50},/obj/item/stack/sheet/rglass{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/rods{amount = 50},/obj/effect/decal/cleanable/dirt,/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
"ana" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
"anb" = (/obj/effect/decal/cleanable/dirt,/obj/item/device/radio/beacon,/turf/simulated/floor{tag = "icon-vault (SOUTHWEST)"; icon_state = "vault"; dir = 10},/area/ai_monitored/storage/eva)
"anc" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/ai_monitored/storage/eva)
@@ -698,7 +698,7 @@
"anv" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor/plating,/area/maintenance/starboard)
"anw" = (/obj/machinery/door/airlock/external{name = "External Airlock"; req_access_txt = "12"},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor,/area/maintenance/starboard)
"anx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor/plating/airless,/area)
"any" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = "Streight"},/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor/plating/airless,/area)
"any" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = "Streight"},/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor/plating/airless,/area)
"anz" = (/obj/machinery/door/airlock/external,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor/plating/airless,/area/toxins/test_area)
"anA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor/plating/airless,/area/toxins/test_area)
"anB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = "Streight"},/obj/effect/decal/warning_stripes{tag = "icon-N"; icon_state = "N"},/turf/simulated/floor/plating/airless,/area/toxins/test_area)
@@ -721,7 +721,7 @@
"anS" = (/obj/item/weapon/tank/air,/obj/item/weapon/tank/air,/obj/item/weapon/tank/air,/turf/simulated/floor/plating/airless,/area)
"anT" = (/obj/item/apc_frame{pixel_y = -25},/obj/structure/cable{d1 = 0; d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating/airless,/area)
"anU" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating/airless,/area)
"anV" = (/obj/structure/table/reinforced,/obj/item/weapon/packageWrap,/obj/item/device/destTagger{pixel_x = 4; pixel_y = 3},/obj/machinery/light/small/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor,/area/maintenance/fore)
"anV" = (/obj/structure/table/reinforced,/obj/item/weapon/packageWrap,/obj/item/device/destTagger{pixel_x = 4; pixel_y = 3},/obj/machinery/light/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor,/area/maintenance/fore)
"anW" = (/turf/simulated/floor,/area/maintenance/fore)
"anX" = (/obj/machinery/vending/cola,/turf/simulated/floor,/area/maintenance/fore)
"anY" = (/obj/machinery/door/poddoor{id = "Skynet_launch"; name = "Recharge Bay"; req_access_txt = "22"},/turf/simulated/floor,/area/assembly/chargebay)
@@ -958,12 +958,12 @@
"asv" = (/obj/machinery/atmospherics/pipe/simple/general/visible,/turf/simulated/floor/plating,/area/maintenance/starboard)
"asw" = (/obj/machinery/door/firedoor/border_only{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/starboard)
"asx" = (/obj/machinery/atmospherics/pipe/simple/general/visible,/obj/structure/lattice,/turf/space,/area)
"asy" = (/obj/effect/sign/securearea{desc = "A warning sign which reads 'Nuclear Warhead'"; icon_state = "radiation"; name = "Nuclear Warhead"; pixel_x = -32; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor{icon_state = "dark"},/area)
"asy" = (/obj/effect/sign/securearea{desc = "A warning sign which reads 'Nuclear Warhead'"; icon_state = "radiation"; name = "Nuclear Warhead"; pixel_x = -32; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor{icon_state = "dark"},/area)
"asz" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area)
"asA" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area)
"asB" = (/obj/machinery/camera{c_tag = "Vault Storage"; dir = 2; network = "Command"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area)
"asC" = (/obj/machinery/mineral/input,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{tag = "icon-vault (NORTHWEST)"; icon_state = "vault"; dir = 9},/area)
"asD" = (/obj/machinery/mineral/mint,/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor{icon_state = "dark"},/area)
"asD" = (/obj/machinery/mineral/mint,/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor{icon_state = "dark"},/area)
"asE" = (/obj/machinery/mineral/output,/obj/item/weapon/coin/silver,/obj/item/weapon/coin/silver,/obj/item/weapon/coin/silver,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area)
"asF" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area)
"asG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area)
@@ -997,7 +997,7 @@
"ati" = (/obj/machinery/door/airlock/vault{icon_state = "door_locked"; locked = 1; name = "\improper Inner Vault Door"; req_access_txt = "53"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/security/nuke_storage)
"atj" = (/obj/effect/sign/securearea{desc = "A warning sign which reads 'Nuclear Warhead'"; icon_state = "radiation"; name = "Nuclear Warhead"; pixel_x = 0; pixel_y = 32},/obj/machinery/power/apc{dir = 1; name = "Vault APC"; pixel_x = 0; pixel_y = -25},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/security/nuke_storage)
"atk" = (/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area)
"atl" = (/obj/machinery/camera{c_tag = "Vault Access"; dir = 2; network = "Command"},/obj/machinery/light/small/spot,/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area)
"atl" = (/obj/machinery/camera{c_tag = "Vault Access"; dir = 2; network = "Command"},/obj/machinery/light/spot,/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area)
"atm" = (/obj/machinery/door/airlock/vault{icon_state = "door_locked"; locked = 1; name = "\improper Outer Vault Door"; req_access_txt = "53"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area)
"atn" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/toxins/hallway)
"ato" = (/obj/structure/disposalpipe/sortjunction{backsort = 1; backType = list("Research Director","Robotics"); icon_state = "pipe-j2s"; sortType = list("Research Division")},/turf/simulated/floor,/area/toxins/hallway)
@@ -1020,10 +1020,10 @@
"atF" = (/obj/machinery/shower{dir = 2},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/captain)
"atG" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/head/helmet/space/rig,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/oxygen/yellow,/obj/machinery/light/small,/turf/simulated/floor/plating{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/engine/fore)
"atH" = (/obj/machinery/door/airlock/glass/glass_engineering{name = "Engineering"; req_access_txt = "10"},/turf/simulated/floor,/area/engine/construction_storage)
"atI" = (/obj/effect/sign/securearea{desc = "A warning sign which reads 'Nuclear Warhead'"; icon_state = "radiation"; name = "Nuclear Warhead"; pixel_x = -32; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small/spot,/turf/simulated/floor{icon_state = "dark"},/area/security/nuke_storage)
"atI" = (/obj/effect/sign/securearea{desc = "A warning sign which reads 'Nuclear Warhead'"; icon_state = "radiation"; name = "Nuclear Warhead"; pixel_x = -32; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/spot,/turf/simulated/floor{icon_state = "dark"},/area/security/nuke_storage)
"atJ" = (/obj/structure/closet/crate,/obj/item/stack/sheet/gold{pixel_x = 1; pixel_y = -2},/obj/item/stack/sheet/gold{pixel_x = 1; pixel_y = -2},/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/security/nuke_storage)
"atK" = (/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/security/nuke_storage)
"atL" = (/obj/machinery/light/small/spot,/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/security/nuke_storage)
"atL" = (/obj/machinery/light/spot,/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/security/nuke_storage)
"atM" = (/obj/item/weapon/moneybag/vault,/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/security/nuke_storage)
"atN" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 1},/turf/simulated/floor/plating,/area)
"atO" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 1},/turf/simulated/floor/plating,/area)
@@ -1180,7 +1180,7 @@
"awJ" = (/obj/effect/landmark{name = "emcloset"},/turf/simulated/floor,/area/toxins/server)
"awK" = (/turf/simulated/floor,/area/toxins/server)
"awL" = (/obj/machinery/camera{c_tag = "Server Room Office"; dir = 2; network = "Research"; pixel_x = 22},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor,/area/toxins/server)
"awM" = (/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor,/area/toxins/server)
"awM" = (/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor,/area/toxins/server)
"awN" = (/obj/structure/filingcabinet,/turf/simulated/floor,/area/toxins/server)
"awO" = (/obj/machinery/requests_console{department = "Research and Development"; departmentType = 2; name = "R&D Requests Console"; pixel_x = -30; pixel_y = 0},/obj/structure/table,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/device/destTagger{pixel_x = 4; pixel_y = 3},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab)
"awP" = (/obj/machinery/copier,/turf/simulated/floor{icon_state = "white"; dir = 8},/area/toxins/lab)
@@ -1386,7 +1386,7 @@
"aAH" = (/obj/machinery/door/firedoor/border_only{dir = 8},/obj/machinery/door/airlock/command{name = "Bridge"; req_access = null; req_access_txt = "19"},/turf/simulated/floor,/area/bridge)
"aAI" = (/turf/simulated/floor,/area/bridge)
"aAJ" = (/obj/machinery/firealarm{dir = 1; pixel_y = 25},/turf/simulated/floor,/area/bridge)
"aAK" = (/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor,/area/bridge)
"aAK" = (/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor,/area/bridge)
"aAL" = (/obj/machinery/camera{c_tag = "Bridge Hallway"; network = "Command"},/turf/simulated/floor,/area/bridge)
"aAM" = (/obj/structure/walllocker/emerglocker/north,/turf/simulated/floor,/area/bridge)
"aAN" = (/obj/effect/landmark{name = "plant"},/obj/machinery/alarm{frequency = 1437; pixel_y = 23},/turf/simulated/floor,/area/bridge)
@@ -1413,7 +1413,7 @@
"aBi" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "90Curve"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
"aBj" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = "90Curve"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = "90Curve"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/turret_protected/ai)
"aBk" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = "90Curve"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
"aBl" = (/obj/structure/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/emergency_oxygen,/obj/machinery/light/small/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor,/area/toxins/server)
"aBl" = (/obj/structure/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/emergency_oxygen,/obj/machinery/light/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor,/area/toxins/server)
"aBm" = (/obj/machinery/door/firedoor/border_only{dir = 8},/obj/machinery/door/airlock/glass,/turf/simulated/floor{icon_state = "dark"},/area/toxins/server)
"aBn" = (/turf/simulated/floor{icon_state = "dark"},/area/toxins/server)
"aBo" = (/obj/machinery/camera{c_tag = "Server Room"; dir = 8; network = "Research"},/turf/simulated/floor{icon_state = "dark"},/area/toxins/server)
@@ -1448,10 +1448,10 @@
"aBR" = (/turf/simulated/wall/r_wall,/area/engine/starboard_gyro_bay)
"aBS" = (/obj/machinery/door/poddoor{id = "Starboard aux airlock access"; name = "Blast Door"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor/plating,/area/engine/starboard_gyro_bay)
"aBT" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/starboard)
"aBU" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
"aBU" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
"aBV" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
"aBW" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
"aBX" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
"aBX" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
"aBY" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{tag = "icon-freezer_0 (EAST)"; icon_state = "freezer_0"; dir = 4},/turf/simulated/floor,/area/toxins/server)
"aBZ" = (/turf/simulated/floor/plating,/area/toxins/server)
"aCa" = (/obj/machinery/r_n_d/server{id_with_download_string = "1;2"; id_with_upload_string = "1;2"; name = "Robotics R&D Server"; server_id = 2},/turf/simulated/floor{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server)
@@ -1556,11 +1556,11 @@
"aDV" = (/obj/machinery/rust/fuel_injector{dir = 8; stage = "SCRAM"},/turf/simulated/floor/plating,/area/engine/starboard_gyro_bay)
"aDW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; layer = 4; pixel_x = 24},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"; tag = "icon-warnplate (SOUTHWEST)"},/area/engine/starboard_gyro_bay)
"aDX" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/starboard)
"aDY" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor,/area/turret_protected/ai)
"aDY" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor,/area/turret_protected/ai)
"aDZ" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/turret_protected/ai)
"aEa" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/turret_protected/ai)
"aEb" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
"aEc" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/obj/machinery/light/small/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor,/area/turret_protected/ai)
"aEc" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/obj/machinery/light/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor,/area/turret_protected/ai)
"aEd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/docking)
"aEe" = (/obj/machinery/door/airlock/external{name = "Arrival Dock Airlock"},/turf/simulated/floor/plating,/area/hallway/secondary/docking)
"aEf" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance_hatch{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/port)
@@ -1612,10 +1612,10 @@
"aEZ" = (/turf/simulated/wall,/area/construction/under_construction_small)
"aFa" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor,/area/construction/under_construction_small)
"aFb" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/construction/under_construction_small)
"aFc" = (/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/construction/under_construction_small)
"aFc" = (/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/construction/under_construction_small)
"aFd" = (/turf/simulated/floor,/area/construction/under_construction_small)
"aFe" = (/turf/simulated/floor/plating,/area/construction/under_construction_small)
"aFf" = (/obj/item/stack/tile/plasteel,/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor/plating,/area/construction/under_construction_small)
"aFf" = (/obj/item/stack/tile/plasteel,/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor/plating,/area/construction/under_construction_small)
"aFg" = (/obj/item/stack/tile/plasteel,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/construction/under_construction_small)
"aFh" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/construction/under_construction_small)
"aFi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/docking)
@@ -1677,7 +1677,7 @@
"aGm" = (/obj/machinery/atmospherics/pipe/simple/general/visible{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/door/airlock/maintenance_hatch{req_access_txt = "12"},/turf/simulated/floor/plating,/area/engine/reactor_gas)
"aGn" = (/obj/machinery/atmospherics/pipe/simple/general/visible{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor/plating,/area/maintenance/starboard)
"aGo" = (/obj/machinery/door/firedoor/border_only{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/general/visible,/turf/simulated/floor/plating,/area/maintenance/starboard)
"aGp" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small/spot,/turf/simulated/floor,/area/turret_protected/ai)
"aGp" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/spot,/turf/simulated/floor,/area/turret_protected/ai)
"aGq" = (/obj/effect/decal/warning_stripes{tag = "icon-W-corner"; icon_state = "W-corner"},/obj/effect/decal/cleanable/dirt,/obj/machinery/ai_status_display{pixel_x = 0; pixel_y = -32},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
"aGr" = (/obj/effect/decal/warning_stripes{tag = "icon-E-corner"; icon_state = "E-corner"},/obj/effect/decal/cleanable/dirt,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
"aGs" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/alarm{dir = 1; layer = 4; pixel_y = -22},/turf/simulated/floor,/area/turret_protected/ai)
@@ -1708,7 +1708,7 @@
"aGR" = (/obj/machinery/camera{c_tag = "Starboard Hallway - Construction"; dir = 4; network = "SS13"},/obj/structure/disposalpipe/segment{dir = 1},/turf/simulated/floor,/area/hallway/primary/starboard)
"aGS" = (/obj/item/weapon/caution{desc = "Caution! Construction area!"; name = "construction area sign"},/turf/simulated/floor,/area/hallway/primary/starboard)
"aGT" = (/obj/machinery/door/airlock/maintenance{name = "Construction Area"; req_access_txt = "10"},/turf/simulated/floor/plating,/area/construction/under_construction_small)
"aGU" = (/obj/structure/table,/obj/machinery/light/small/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor/plating,/area/construction/under_construction_small)
"aGU" = (/obj/structure/table,/obj/machinery/light/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor/plating,/area/construction/under_construction_small)
"aGV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hallway/secondary/docking)
"aGW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/effect/sign/redcross{name = "Emergency Shuttle"},/turf/simulated/floor/plating,/area/hallway/secondary/docking)
"aGX" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 4},/obj/effect/sign/securearea{name = "EXTERNAL AIRLOCK"; desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; pixel_x = -1},/turf/simulated/floor/plating,/area/hallway/secondary/docking)
@@ -1762,7 +1762,7 @@
"aHT" = (/obj/machinery/door/poddoor{id = "Starboard aft shell access"; name = "Blast Door"},/obj/machinery/atmospherics/pipe/simple/general/visible{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor/plating,/area/engine/reactor_gas)
"aHU" = (/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload)
"aHV" = (/obj/machinery/door/airlock/secure{name = "AI Core"; req_access_txt = "16"},/obj/effect/decal/warning_stripes{tag = "icon-E-corner"; icon_state = "E-corner"},/obj/effect/decal/warning_stripes{tag = "icon-W-corner"; icon_state = "W-corner"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload)
"aHW" = (/obj/machinery/light/small/spot,/turf/simulated/floor,/area/construction/under_construction_small)
"aHW" = (/obj/machinery/light/spot,/turf/simulated/floor,/area/construction/under_construction_small)
"aHX" = (/obj/item/stack/rods{amount = 50},/turf/simulated/floor/plating,/area/construction/under_construction_small)
"aHY" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/plating,/area/construction/under_construction_small)
"aHZ" = (/obj/machinery/disposal,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor,/area/security/checkpoint)
@@ -1791,15 +1791,15 @@
"aIw" = (/obj/structure/cable{tag = "Streight"; icon_state = "4-8"; pixel_x = 1; d1 = 4; d2 = 8},/turf/simulated/floor/plating,/area/engine/reactor_fuel_ports)
"aIx" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = "90Curve"},/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/engine/reactor_fuel_ports)
"aIy" = (/turf/simulated/wall/r_wall,/area/engine/reactor_fuel_ports)
"aIz" = (/obj/machinery/turret{dir = 4; id = "upload"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/cobweb,/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor,/area/turret_protected/ai_upload)
"aIz" = (/obj/machinery/turret{dir = 4; id = "upload"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/cobweb,/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor,/area/turret_protected/ai_upload)
"aIA" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/computer/aistatus{pixel_y = 32},/turf/simulated/floor,/area/turret_protected/ai_upload)
"aIB" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/computer/borgupload/mainframe{pixel_y = 32},/turf/simulated/floor,/area/turret_protected/ai_upload)
"aIC" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload)
"aID" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/computer/aiupload/mainframe{pixel_y = 32},/turf/simulated/floor,/area/turret_protected/ai_upload)
"aIE" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/aiuploadcloset{pixel_y = 32},/turf/simulated/floor,/area/turret_protected/ai_upload)
"aIF" = (/obj/machinery/turret{dir = 8; id = "upload"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor,/area/turret_protected/ai_upload)
"aIF" = (/obj/machinery/turret{dir = 8; id = "upload"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor,/area/turret_protected/ai_upload)
"aIG" = (/turf/simulated/wall,/area/quartermaster/sorting)
"aIH" = (/obj/machinery/light/small/spot,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/construction/under_construction_small)
"aIH" = (/obj/machinery/light/spot,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/construction/under_construction_small)
"aII" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor/plating,/area/construction/under_construction_small)
"aIJ" = (/obj/machinery/copier,/obj/machinery/camera{c_tag = "Arrivals Office"; dir = 4; network = "Command"},/turf/simulated/floor,/area/security/checkpoint)
"aIK" = (/mob/living/simple_animal/corgi/Ian,/turf/simulated/floor,/area/security/checkpoint)
@@ -1877,7 +1877,7 @@
"aKe" = (/obj/structure/table,/obj/item/weapon/module/power_control,/obj/item/device/multitool,/obj/machinery/power/apc{dir = 1; name = "Warehouse APC"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor,/area/quartermaster/storage)
"aKf" = (/obj/structure/rack{dir = 1},/obj/machinery/camera{c_tag = "Warehouse Front"; dir = 2; network = "Cargo"},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor,/area/quartermaster/storage)
"aKg" = (/turf/simulated/floor,/area/quartermaster/storage)
"aKh" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/emergency,/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor,/area/quartermaster/storage)
"aKh" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/emergency,/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor,/area/quartermaster/storage)
"aKi" = (/obj/structure/closet/emcloset,/turf/simulated/floor,/area/quartermaster/storage)
"aKj" = (/obj/structure/table,/obj/item/weapon/storage/PDAbox,/turf/simulated/floor,/area/security/checkpoint)
"aKk" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor,/area/security/checkpoint)
@@ -1902,11 +1902,11 @@
"aKD" = (/obj/structure/rack,/obj/item/weapon/cable_coil/yellow{pixel_x = 6; pixel_y = -6},/obj/item/weapon/cable_coil/yellow{pixel_x = 0; pixel_y = 0},/obj/item/weapon/cable_coil/yellow{pixel_x = -6; pixel_y = 6},/obj/machinery/power/apc{dir = 1; name = "Turbine Control APC"; pixel_x = 0; pixel_y = 24; pixel_z = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor,/area/engine/electrical_storage)
"aKE" = (/obj/structure/rack,/obj/item/weapon/module/power_control,/obj/item/weapon/module/power_control,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/engine/electrical_storage)
"aKF" = (/obj/machinery/door/firedoor/border_only{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engine/electrical_storage)
"aKG" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor,/area/turret_protected/ai_upload)
"aKG" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor,/area/turret_protected/ai_upload)
"aKH" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/oil,/obj/effect/decal/cleanable/robot_debris,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload)
"aKI" = (/obj/machinery/computer/aifixer,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload)
"aKJ" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/oil/streak{icon_state = "floor6"},/obj/effect/decal/cleanable/oil/streak{icon_state = "floor5"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload)
"aKK" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor,/area/turret_protected/ai_upload)
"aKK" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor,/area/turret_protected/ai_upload)
"aKL" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/disposalpipe/sortjunction{icon_state = "pipe-j2s"; mailsort = 1; sortType = list("Disposals","Mail Office")},/turf/simulated/floor,/area/hallway/primary/starboard)
"aKM" = (/obj/machinery/vending/snack,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/disposalpipe/sortjunction{backsort = 0; dir = 4; icon_state = "pipe-j1s"; sortType = list()},/turf/simulated/floor,/area/hallway/primary/starboard)
"aKN" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall,/area/quartermaster/sorting)
@@ -2076,11 +2076,11 @@
"aNV" = (/obj/structure/disposalpipe/sortjunction{backsort = 1; backType = list("Engineering Control Room"); dir = 4; icon_state = "pipe-j2s"; sortType = list("Chief Engineer")},/turf/simulated/floor,/area/engine/control)
"aNW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 4},/turf/simulated/floor/plating,/area/turret_protected/ai_upload_foyer{name = "Station Electronics Hallway"})
"aNX" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{current_temperature = 80; dir = 2; on = 1},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer{name = "Station Electronics Hallway"})
"aNY" = (/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/unary/cold_sink/freezer{current_temperature = 80; dir = 2; on = 1},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer{name = "Station Electronics Hallway"})
"aNY" = (/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/unary/cold_sink/freezer{current_temperature = 80; dir = 2; on = 1},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer{name = "Station Electronics Hallway"})
"aNZ" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer{name = "Station Electronics Hallway"})
"aOa" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/ai_status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer{name = "Station Electronics Hallway"})
"aOb" = (/obj/machinery/power/apc{dir = 1; name = "Station Electronics Hallway APC"; pixel_x = 0; pixel_y = 25},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer{name = "Station Electronics Hallway"})
"aOc" = (/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer{name = "Station Electronics Hallway"})
"aOc" = (/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer{name = "Station Electronics Hallway"})
"aOd" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/firealarm{pixel_y = 27},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer{name = "Station Electronics Hallway"})
"aOe" = (/obj/machinery/door/firedoor/border_only{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/machinery/door/airlock/secure{name = "Station Electronics"; req_access_txt = "16;61"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer{name = "Station Electronics Hallway"})
"aOf" = (/turf/simulated/wall,/area/quartermaster/qm)
@@ -2091,12 +2091,12 @@
"aOk" = (/obj/machinery/computer/security/cargo,/obj/machinery/firealarm{pixel_y = 27},/turf/simulated/floor,/area/quartermaster/qm)
"aOl" = (/obj/structure/closet/wardrobe/qm_yellow,/turf/simulated/floor,/area/quartermaster/qm)
"aOm" = (/obj/machinery/door/firedoor/border_only{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor/plating,/area/quartermaster/qm)
"aOn" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/cell{maxcharge = 2000},/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor,/area/quartermaster/storage)
"aOn" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/cell{maxcharge = 2000},/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor,/area/quartermaster/storage)
"aOo" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/turf/simulated/floor,/area/quartermaster/storage)
"aOp" = (/obj/effect/landmark/start{name = "Cargo Technician"},/turf/simulated/floor,/area/quartermaster/storage)
"aOq" = (/obj/structure/closet/toolcloset,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/quartermaster/storage)
"aOr" = (/obj/structure/closet/l3closet/janitor,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/quartermaster/storage)
"aOs" = (/obj/structure/table,/obj/item/stack/medical/bruise_pack,/obj/machinery/light/small/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor,/area/quartermaster/storage)
"aOs" = (/obj/structure/table,/obj/item/stack/medical/bruise_pack,/obj/machinery/light/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor,/area/quartermaster/storage)
"aOt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 8},/turf/simulated/floor/plating,/area/quartermaster/storage)
"aOu" = (/obj/structure/table{pixel_y = 0},/obj/item/weapon/storage/body_bag_box,/turf/simulated/floor{icon_state = "white"; dir = 8},/area/medical/cryo{name = "Emergency Room"})
"aOv" = (/obj/structure/table{pixel_y = 0},/obj/item/weapon/wrench,/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Emergency Room APC"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor{icon_state = "white"; dir = 8},/area/medical/cryo{name = "Emergency Room"})
@@ -2118,12 +2118,12 @@
"aOL" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = "90Curve"},/turf/simulated/floor,/area/engine/control)
"aOM" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 4},/turf/simulated/floor/plating,/area/turret_protected/ai_upload_foyer{name = "Station Electronics Hallway"})
"aON" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/manifold{tag = "icon-manifold (WEST)"; icon_state = "manifold"; dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer{name = "Station Electronics Hallway"})
"aOO" = (/obj/machinery/light/small/spot,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/manifold{dir = 4; icon_state = "manifold"; initialize_directions = 11; level = 2},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer{name = "Station Electronics Hallway"})
"aOO" = (/obj/machinery/light/spot,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/manifold{dir = 4; icon_state = "manifold"; initialize_directions = 11; level = 2},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer{name = "Station Electronics Hallway"})
"aOP" = (/obj/effect/decal/cleanable/dirt,/obj/effect/sign/securearea{name = "COMMUNICATIONS HUB"; pixel_y = -32},/obj/machinery/camera{c_tag = "Station Electronics Access Hallway"; dir = 1; network = "Command"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer{name = "Station Electronics Hallway"})
"aOQ" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer{name = "Station Electronics Hallway"})
"aOR" = (/obj/machinery/light/small/spot,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer{name = "Station Electronics Hallway"})
"aOR" = (/obj/machinery/light/spot,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer{name = "Station Electronics Hallway"})
"aOS" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/alarm{dir = 1; layer = 4; pixel_y = -22},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer{name = "Station Electronics Hallway"})
"aOT" = (/obj/machinery/light/small/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer{name = "Station Electronics Hallway"})
"aOT" = (/obj/machinery/light/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer{name = "Station Electronics Hallway"})
"aOU" = (/obj/effect/sign/securearea{pixel_x = -32},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/starboard)
"aOV" = (/obj/structure/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/emergency_oxygen,/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/meson,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor,/area/quartermaster/qm)
"aOW" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/quartermaster/qm)
@@ -2211,7 +2211,7 @@
"aQA" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/starboard)
"aQB" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/starboard)
"aQC" = (/obj/structure/closet/secure_closet/qm_personal,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/quartermaster/qm)
"aQD" = (/obj/machinery/copier,/obj/machinery/light/small/spot,/turf/simulated/floor,/area/quartermaster/qm)
"aQD" = (/obj/machinery/copier,/obj/machinery/light/spot,/turf/simulated/floor,/area/quartermaster/qm)
"aQE" = (/obj/structure/stool/bed/chair,/obj/effect/landmark/start{name = "Quartermaster"},/turf/simulated/floor,/area/quartermaster/qm)
"aQF" = (/obj/item/weapon/stamp{name = "Quartermaster's stamp"; pixel_x = -3; pixel_y = 3},/obj/item/weapon/stamp/denied,/obj/structure/table,/obj/machinery/camera{c_tag = "Quartermaster's Office"; dir = 1; network = "Cargo"},/turf/simulated/floor,/area/quartermaster/qm)
"aQG" = (/obj/structure/rack{dir = 1},/turf/simulated/floor,/area/quartermaster/storage)
@@ -2336,10 +2336,10 @@
"aSV" = (/obj/machinery/door/firedoor/border_only{dir = 8},/obj/machinery/door/airlock/glass{name = "Quartermasters"},/turf/simulated/floor,/area/quartermaster/office)
"aSW" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/quartermaster/office)
"aSX" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/quartermaster/office)
"aSY" = (/obj/machinery/computer/ordercomp,/obj/machinery/light/small/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor,/area/quartermaster/office)
"aSZ" = (/obj/machinery/light/small/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor,/area/quartermaster/storage)
"aSY" = (/obj/machinery/computer/ordercomp,/obj/machinery/light/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor,/area/quartermaster/office)
"aSZ" = (/obj/machinery/light/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor,/area/quartermaster/storage)
"aTa" = (/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/quartermaster/storage)
"aTb" = (/obj/machinery/conveyor{dir = 2; id = "QMshuttle"},/obj/effect/decal/warning_stripes{tag = "icon-W"; icon_state = "W"},/obj/machinery/light/small/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor/plating,/area/quartermaster/storage)
"aTb" = (/obj/machinery/conveyor{dir = 2; id = "QMshuttle"},/obj/effect/decal/warning_stripes{tag = "icon-W"; icon_state = "W"},/obj/machinery/light/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor/plating,/area/quartermaster/storage)
"aTc" = (/obj/machinery/sleeper,/turf/simulated/floor{icon_state = "white"},/area/medical/patients_rooms)
"aTd" = (/obj/machinery/sleep_console,/turf/simulated/floor{icon_state = "white"; dir = 8},/area/medical/patients_rooms)
"aTe" = (/obj/machinery/camera{c_tag = "Patient Treatment Room 1"; dir = 1; network = "Medbay"; pixel_x = 22},/turf/simulated/floor{icon_state = "white"},/area/medical/patients_rooms)
@@ -2363,7 +2363,7 @@
"aTw" = (/obj/machinery/door/airlock/engineering,/turf/simulated/floor,/area/engine/locker)
"aTx" = (/obj/machinery/door/airlock/maintenance_hatch{req_access_txt = "12"},/turf/simulated/floor,/area/engine/locker)
"aTy" = (/turf/simulated/wall,/area/quartermaster/office)
"aTz" = (/obj/machinery/disposal,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/light/small/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor,/area/quartermaster/office)
"aTz" = (/obj/machinery/disposal,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/light/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor,/area/quartermaster/office)
"aTA" = (/obj/machinery/door/firedoor/border_only{dir = 8},/obj/machinery/door/airlock/glass{name = "QM Warehouse"; req_access_txt = "31"},/turf/simulated/floor,/area/quartermaster/storage)
"aTB" = (/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/quartermaster/storage)
"aTC" = (/obj/machinery/conveyor{dir = 8; id = "QMshuttle"},/obj/effect/decal/warning_stripes{tag = "icon-N"; icon_state = "N"},/turf/simulated/floor/plating,/area/quartermaster/storage)
@@ -2417,7 +2417,7 @@
"aUy" = (/obj/structure/table,/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/teleporter)
"aUz" = (/obj/structure/table,/obj/machinery/camera{c_tag = "Teleporter"; network = "Command"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/teleporter)
"aUA" = (/obj/structure/closet/crate,/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/teleporter)
"aUB" = (/obj/item/weapon/crowbar,/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor/plating,/area/teleporter)
"aUB" = (/obj/item/weapon/crowbar,/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor/plating,/area/teleporter)
"aUC" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/teleporter)
"aUD" = (/obj/machinery/door/airlock/maintenance_hatch{req_access_txt = "19"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor,/area/crew_quarters/heads)
"aUE" = (/turf/simulated/wall/r_wall,/area/crew_quarters/heads/chief)
@@ -2470,7 +2470,7 @@
"aVz" = (/obj/machinery/alarm{dir = 1; layer = 4; pixel_y = -22},/turf/simulated/floor,/area/quartermaster/office)
"aVA" = (/obj/machinery/power/apc{dir = 2; name = "Cargo Foyer APC"; pixel_x = 1; pixel_y = -24},/turf/simulated/floor,/area/quartermaster/office)
"aVB" = (/obj/machinery/camera{c_tag = "Public Lobby"; dir = 1; network = "Cargo"},/turf/simulated/floor,/area/quartermaster/office)
"aVC" = (/obj/machinery/light/small/spot,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/quartermaster/office)
"aVC" = (/obj/machinery/light/spot,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/quartermaster/office)
"aVD" = (/obj/machinery/conveyor{dir = 8; id = "qmout"},/obj/effect/decal/warning_stripes{tag = "icon-N"; icon_state = "N"},/turf/simulated/floor/plating,/area/quartermaster/office)
"aVE" = (/obj/machinery/door/firedoor/border_only{dir = 8},/obj/structure/plasticflaps,/obj/machinery/conveyor{dir = 8; id = "qmout"},/obj/effect/decal/warning_stripes{tag = "icon-N"; icon_state = "N"},/turf/simulated/floor/plating,/area/quartermaster/storage)
"aVF" = (/obj/machinery/conveyor{backwards = 1; dir = 10; forwards = 8; id = "qmout"},/obj/effect/decal/warning_stripes{tag = "icon-NW-out"; icon_state = "NW-out"},/turf/simulated/floor/plating,/area/quartermaster/storage)
@@ -2535,7 +2535,7 @@
"aWM" = (/obj/structure/table{pixel_y = 0},/obj/item/weapon/surgicaldrill,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor{icon_state = "white"; dir = 8},/area/medical/surgery)
"aWN" = (/obj/structure/table{pixel_y = 0},/obj/item/clothing/glasses/hud/health,/turf/simulated/floor{icon_state = "white"; dir = 8},/area/medical/surgery)
"aWO" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/hallway/primary/port)
"aWP" = (/obj/machinery/light/small/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/teleporter)
"aWP" = (/obj/machinery/light/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/teleporter)
"aWQ" = (/obj/machinery/computer/security/research,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/crew_quarters/heads/hor)
"aWR" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/crew_quarters/heads/hor)
"aWS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor,/area/crew_quarters/heads/hor)
@@ -2553,16 +2553,16 @@
"aXe" = (/obj/machinery/door/airlock/maintenance_hatch{req_access_txt = "12"},/turf/simulated/floor/plating,/area/atmos)
"aXf" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/hallway/primary/starboard)
"aXg" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/quartermaster/miningdock)
"aXh" = (/obj/structure/stool/bed/chair,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor,/area/quartermaster/miningdock)
"aXh" = (/obj/structure/stool/bed/chair,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor,/area/quartermaster/miningdock)
"aXi" = (/obj/structure/stool/bed/chair,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/quartermaster/miningdock)
"aXj" = (/obj/effect/decal/cleanable/dirt,/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor,/area/quartermaster/miningdock)
"aXk" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor/plating,/area/quartermaster/miningdock)
"aXl" = (/obj/machinery/conveyor{backwards = 2; dir = 5; forwards = 4; id = "refiner"; reverseSpriteMoveDir = 1},/obj/machinery/camera{c_tag = "Mining Dock Refiner"; dir = 2; network = "Cargo"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/quartermaster/miningdock)
"aXm" = (/obj/machinery/mineral/input,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor{tag = "icon-loadingareadirty2 (EAST)"; icon_state = "loadingareadirty2"; dir = 4},/area/quartermaster/miningdock)
"aXm" = (/obj/machinery/mineral/input,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor{tag = "icon-loadingareadirty2 (EAST)"; icon_state = "loadingareadirty2"; dir = 4},/area/quartermaster/miningdock)
"aXn" = (/obj/machinery/mineral/stacking_machine{id = "stacking"},/turf/simulated/floor/plating,/area/quartermaster/miningdock)
"aXo" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/conveyor{dir = 4; id = "refiner"},/obj/machinery/mineral/output,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/quartermaster/miningdock)
"aXp" = (/obj/machinery/conveyor{dir = 1; id = "refiner"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/quartermaster/miningdock)
"aXq" = (/obj/structure/closet/emcloset,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor,/area/quartermaster/miningdock)
"aXq" = (/obj/structure/closet/emcloset,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor,/area/quartermaster/miningdock)
"aXr" = (/obj/machinery/firealarm{pixel_y = 27},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/quartermaster/miningdock)
"aXs" = (/obj/effect/sign/securearea{name = "EXTERNAL AIRLOCK"; desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; pixel_x = -1},/turf/simulated/wall/r_wall,/area/quartermaster/miningdock)
"aXt" = (/obj/structure/closet/crate,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/quartermaster/miningdock)
@@ -2645,7 +2645,7 @@
"aYS" = (/obj/machinery/conveyor{backwards = 2; dir = 9; forwards = 8; icon_state = "conveyor0"; id = "refiner"; reverseSpriteMoveDir = 1; tag = "icon-conveyor0 (NORTHWEST)"},/obj/machinery/mineral/output,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/quartermaster/miningdock)
"aYT" = (/obj/machinery/mineral/unloading_machine{desc = "This one goes straight to QM"; icon_state = "unloader-corner2"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/quartermaster/miningdock)
"aYU" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{tag = "icon-floorscorched1"; icon_state = "floorscorched1"; dir = 2},/area/quartermaster/miningdock)
"aYV" = (/obj/machinery/camera{c_tag = "Mining Dock External"; dir = 4; network = "Cargo"},/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor/plating,/area/quartermaster/miningdock)
"aYV" = (/obj/machinery/camera{c_tag = "Mining Dock External"; dir = 4; network = "Cargo"},/obj/effect/decal/cleanable/dirt,/obj/machinery/light/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor/plating,/area/quartermaster/miningdock)
"aYW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/quartermaster/miningdock)
"aYX" = (/obj/machinery/bodyscanner,/turf/simulated/floor{icon_state = "white"},/area/medical/patients_rooms)
"aYY" = (/obj/machinery/body_scanconsole,/turf/simulated/floor{icon_state = "white"; dir = 8},/area/medical/patients_rooms)
@@ -2729,7 +2729,7 @@
"bay" = (/obj/machinery/door/firedoor/border_only{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/heads/hop)
"baz" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/structure/window/reinforced,/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor,/area/atmos/refilling)
"baA" = (/obj/structure/disposalpipe/sortjunction{backsort = 1; backType = list("Chief Engineer","Engineering"); icon_state = "pipe-j2s"; sortType = list("Atmospherics")},/turf/simulated/floor,/area/atmos/refilling)
"baB" = (/obj/machinery/light/small/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor,/area/quartermaster/miningdock)
"baB" = (/obj/machinery/light/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor,/area/quartermaster/miningdock)
"baC" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{tag = "icon-floorscorched1 (WEST)"; icon_state = "floorscorched1"; dir = 8},/area/quartermaster/miningdock)
"baD" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{tag = "icon-platingdmg1"; icon_state = "platingdmg1"; dir = 2},/area/quartermaster/miningdock)
"baE" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{tag = "icon-damaged1"; icon_state = "damaged1"; dir = 2},/area/quartermaster/miningdock)
@@ -2772,7 +2772,7 @@
"bbp" = (/obj/machinery/door/window/westleft{tag = "icon-left"; name = "Janitoral Delivery"; icon_state = "left"; dir = 2; req_access_txt = "26"},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "delivery"},/area/janitor)
"bbq" = (/obj/structure/table,/turf/simulated/floor,/area/janitor)
"bbr" = (/obj/structure/table,/obj/item/weapon/storage/mousetraps,/obj/machinery/requests_console{department = "Janitorial"; departmentType = 1; pixel_y = 29},/turf/simulated/floor,/area/janitor)
"bbs" = (/obj/structure/table,/obj/item/weapon/storage/lightbox/bulbs,/obj/item/weapon/storage/lightbox/tubes,/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor,/area/janitor)
"bbs" = (/obj/structure/table,/obj/item/weapon/storage/lightbox/bulbs,/obj/item/weapon/storage/lightbox/tubes,/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor,/area/janitor)
"bbt" = (/obj/structure/closet/l3closet/janitor,/turf/simulated/floor,/area/janitor)
"bbu" = (/obj/structure/closet/secure_closet/janitor_personal,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/janitor)
"bbv" = (/obj/structure/closet/jcloset2,/obj/effect/decal/cleanable/cobweb2,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/janitor)
@@ -2790,7 +2790,7 @@
"bbH" = (/obj/machinery/light{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/atmos/refilling)
"bbI" = (/obj/machinery/power/apc{dir = 8; name = "Mining Dock APC"; pixel_x = -27; pixel_y = 2},/turf/simulated/floor,/area/quartermaster/miningdock)
"bbJ" = (/obj/structure/disposalpipe/segment{dir = 1},/turf/simulated/floor,/area/quartermaster/miningdock)
"bbK" = (/obj/structure/closet/secure_closet/miner,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor,/area/quartermaster/miningdock)
"bbK" = (/obj/structure/closet/secure_closet/miner,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor,/area/quartermaster/miningdock)
"bbL" = (/obj/structure/closet/secure_closet/chemist_personal,/turf/simulated/floor{icon_state = "white"; dir = 8},/area/medical/chemistry)
"bbM" = (/obj/structure/closet/secure_closet/chemist_personal,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"; dir = 8},/area/medical/chemistry)
"bbN" = (/obj/structure/closet/wardrobe/chemistry_white,/turf/simulated/floor{icon_state = "white"; dir = 8},/area/medical/chemistry)
@@ -2827,7 +2827,7 @@
"bcs" = (/obj/machinery/disposal,/obj/effect/decal/cleanable/dirt,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor,/area/quartermaster/miningdock)
"bct" = (/obj/structure/closet/crate,/turf/simulated/floor,/area/quartermaster/miningdock)
"bcu" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor,/area/quartermaster/miningdock)
"bcv" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/machinery/light/small/spot,/turf/simulated/floor,/area/quartermaster/miningdock)
"bcv" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/machinery/light/spot,/turf/simulated/floor,/area/quartermaster/miningdock)
"bcw" = (/obj/structure/table,/obj/machinery/requests_console{department = "Mining"; departmentType = 0; pixel_x = 0; pixel_y = -30},/turf/simulated/floor,/area/quartermaster/miningdock)
"bcx" = (/obj/machinery/computer/security/mining,/turf/simulated/floor,/area/quartermaster/miningdock)
"bcy" = (/obj/structure/rack{dir = 1},/obj/item/weapon/shovel{pixel_x = -5},/obj/item/weapon/pickaxe{pixel_x = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/quartermaster/miningdock)
@@ -2863,7 +2863,7 @@
"bdc" = (/obj/structure/closet/wardrobe/hop,/turf/simulated/floor,/area/crew_quarters/heads/hop)
"bdd" = (/obj/machinery/vending/coffee,/turf/simulated/floor,/area/hallway/primary/aft)
"bde" = (/obj/machinery/power/apc{dir = 1; name = "Hallway Aft APC"; pixel_y = 25},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor,/area/hallway/primary/aft)
"bdf" = (/obj/machinery/disposal,/obj/machinery/light/small/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/obj/structure/disposalpipe/trunk,/turf/simulated/floor,/area/hallway/primary/aft)
"bdf" = (/obj/machinery/disposal,/obj/machinery/light/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/obj/structure/disposalpipe/trunk,/turf/simulated/floor,/area/hallway/primary/aft)
"bdg" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor/plating,/area/engine/atmos_storage)
"bdh" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor/plating{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/engine/atmos_storage)
"bdi" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/engine/atmos_storage)
@@ -2988,7 +2988,7 @@
"bfx" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 0; pixel_y = -29},/turf/simulated/floor/plating,/area/maintenance/disposal)
"bfy" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/power/apc{name = "Disposals APC"; pixel_y = -25},/turf/simulated/floor/plating,/area/maintenance/disposal)
"bfz" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/generic,/obj/machinery/firealarm{pixel_y = -24},/turf/simulated/floor/plating,/area/maintenance/disposal)
"bfA" = (/obj/machinery/light/small/spot,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/disposal)
"bfA" = (/obj/machinery/light/spot,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/disposal)
"bfB" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/alarm{dir = 1; layer = 4; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/disposal)
"bfC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/disposal)
"bfD" = (/obj/effect/decal/cleanable/generic,/turf/space,/area)
@@ -3055,7 +3055,7 @@
"bgM" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar)
"bgN" = (/obj/structure/closet/secure_closet/barman_personal,/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar)
"bgO" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/bar)
"bgP" = (/obj/structure/sink/kitchen,/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/bar)
"bgP" = (/obj/structure/sink/kitchen,/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/bar)
"bgQ" = (/obj/structure/closet/secure_closet/fridge,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/bar)
"bgR" = (/obj/structure/reagent_dispensers/beerkeg,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/bar)
"bgS" = (/obj/structure/table,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
@@ -3090,7 +3090,7 @@
"bhv" = (/obj/machinery/computer/arcade,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters)
"bhw" = (/obj/effect/landmark{name = "plant"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "neutral"; dir = 5},/area/crew_quarters)
"bhx" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/crew_quarters)
"bhy" = (/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/crew_quarters)
"bhy" = (/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/crew_quarters)
"bhz" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/crew_quarters)
"bhA" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/closet/wardrobe/genetics_white,/turf/simulated/floor{icon_state = "white"; dir = 8},/area/medical/genetics)
"bhB" = (/turf/simulated/floor{icon_state = "white"; dir = 8},/area/medical/genetics)
@@ -3157,20 +3157,20 @@
"biK" = (/obj/structure/table,/obj/item/weapon/book/manual/barman_recipes,/obj/machinery/power/apc{dir = 4; name = "Bar APC"; pixel_x = 25; pixel_y = 0},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar)
"biL" = (/obj/machinery/camera{c_tag = "Bar Freezer"; dir = 4; network = "SS13"},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/bar)
"biM" = (/obj/structure/closet/secure_closet/hydro_personal,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
"biN" = (/obj/machinery/light/small/spot,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
"biN" = (/obj/machinery/light/spot,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
"biO" = (/obj/machinery/camera{c_tag = "Hydrophonics Back Room"; dir = 1; network = "SS13"},/obj/machinery/alarm{dir = 1; layer = 4; pixel_y = -22},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
"biP" = (/obj/structure/closet/wardrobe/hydro_green,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
"biQ" = (/obj/effect/landmark{name = "plant"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/hydroponics)
"biR" = (/obj/machinery/light/small/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
"biR" = (/obj/machinery/light/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
"biS" = (/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main)
"biT" = (/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/chapel/main)
"biU" = (/obj/machinery/light/small/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor{dir = 4; icon_state = "carpetside"},/area/chapel/main)
"biU" = (/obj/machinery/light/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor{dir = 4; icon_state = "carpetside"},/area/chapel/main)
"biV" = (/obj/machinery/power/apc{dir = 8; name = "Chapel Office APC"; pixel_x = -25},/turf/simulated/floor{dir = 8; icon_state = "carpetside"},/area/chapel/office)
"biW" = (/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/chapel/office)
"biX" = (/obj/machinery/light/lamp/green{pixel_x = 1; pixel_y = 5},/obj/structure/table/woodentable,/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/chapel/office)
"biY" = (/obj/structure/table/woodentable,/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/chapel/office)
"biZ" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/chapel/office)
"bja" = (/obj/machinery/light/small/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/obj/structure/disposalpipe/segment{dir = 1},/turf/simulated/floor{dir = 4; icon_state = "carpetside"},/area/chapel/office)
"bja" = (/obj/machinery/light/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/obj/structure/disposalpipe/segment{dir = 1},/turf/simulated/floor{dir = 4; icon_state = "carpetside"},/area/chapel/office)
"bjb" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "neutral"; dir = 8},/area/crew_quarters)
"bjc" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor,/area/crew_quarters)
"bjd" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/crew_quarters)
@@ -3223,7 +3223,7 @@
"bjY" = (/obj/effect/landmark/start{name = "Geneticist"},/turf/simulated/floor{icon_state = "white"; dir = 8},/area/medical/genetics)
"bjZ" = (/obj/structure/table,/obj/item/weapon/storage/diskbox,/obj/machinery/firealarm{dir = 4; layer = 4; pixel_x = 24},/turf/simulated/floor{icon_state = "white"; dir = 8},/area/medical/genetics)
"bka" = (/obj/machinery/disposal,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/cobweb,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
"bkb" = (/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
"bkb" = (/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
"bkc" = (/obj/structure/closet/crate,/obj/machinery/power/apc{dir = 1; name = "Morgue APC"; pixel_y = 25},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
"bkd" = (/obj/structure/closet/emcloset,/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
"bke" = (/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
@@ -3294,7 +3294,7 @@
"blr" = (/obj/machinery/door/firedoor/border_only,/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/maintenance/aft)
"bls" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = 0; pixel_y = 0},/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = 6; pixel_y = 8},/obj/item/weapon/secstorage/ssafe{pixel_x = -24},/turf/simulated/floor{icon_state = "white"; dir = 8},/area/medical/genetics)
"blt" = (/obj/machinery/optable,/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
"blu" = (/obj/machinery/light/small/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
"blu" = (/obj/machinery/light/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
"blv" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/medical/medbay)
"blw" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/aft)
"blx" = (/obj/machinery/power/apc{dir = 8; layer = 4; name = "Cafeteria APC"; pixel_x = -25; pixel_y = 0},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/cafeteria)
@@ -3308,10 +3308,10 @@
"blF" = (/obj/machinery/smartfridge,/turf/simulated/floor{icon_state = "cafeteria"},/area/crew_quarters/kitchen)
"blG" = (/turf/simulated/wall,/area/crew_quarters/kitchen)
"blH" = (/obj/machinery/camera{c_tag = "Kitchen Freezer"; dir = 4; network = "SS13"},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/kitchen)
"blI" = (/obj/structure/kitchenspike,/obj/machinery/light/small/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/kitchen)
"blJ" = (/obj/machinery/light/small/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/chapel/main)
"blI" = (/obj/structure/kitchenspike,/obj/machinery/light/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/kitchen)
"blJ" = (/obj/machinery/light/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/chapel/main)
"blK" = (/obj/structure/closet/coffin,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
"blL" = (/obj/machinery/light/small/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor{tag = "icon-vault (SOUTHWEST)"; icon_state = "vault"; dir = 10},/area/chapel/main)
"blL" = (/obj/machinery/light/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor{tag = "icon-vault (SOUTHWEST)"; icon_state = "vault"; dir = 10},/area/chapel/main)
"blM" = (/obj/machinery/washing_machine,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/crew_quarters)
"blN" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/washing_machine,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/crew_quarters)
"blO" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/crew_quarters)
@@ -3402,20 +3402,20 @@
"bnv" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/mob/living/carbon/monkey,/turf/simulated/floor{icon_state = "white"; dir = 8},/area/medical/genetics)
"bnw" = (/obj/machinery/camera{c_tag = "Genetical Research Monkey Pen"; dir = 1; network = "Medbay"},/turf/simulated/floor{icon_state = "white"; dir = 8},/area/medical/genetics)
"bnx" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/ash,/obj/machinery/crema_switch{desc = "Descretly disposing the bodies of past employees since anno domine"; id = "crematorium"; pixel_x = -25; req_access = null; req_access_txt = "40"},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
"bny" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small/spot,/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
"bny" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/spot,/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
"bnz" = (/obj/structure/closet/crate,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
"bnA" = (/obj/structure/morgue,/obj/machinery/camera{c_tag = "Morgue"; dir = 1; network = "Medbay"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
"bnB" = (/obj/structure/table,/obj/item/weapon/storage/body_bag_box,/obj/item/weapon/circular_saw,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
"bnC" = (/obj/machinery/door/firedoor/border_only{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/medical/medbay)
"bnD" = (/obj/structure/table,/turf/simulated/floor{dir = 9; icon_state = "green"},/area/hydroponics)
"bnE" = (/obj/structure/table,/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor{dir = 1; icon_state = "green"},/area/hydroponics)
"bnE" = (/obj/structure/table,/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor{dir = 1; icon_state = "green"},/area/hydroponics)
"bnF" = (/obj/structure/table,/turf/simulated/floor{dir = 1; icon_state = "green"},/area/hydroponics)
"bnG" = (/obj/structure/sink/kitchen{pixel_y = 30},/turf/simulated/floor{dir = 1; icon_state = "green"},/area/hydroponics)
"bnH" = (/turf/simulated/floor{dir = 9; icon_state = "green"},/area/hydroponics)
"bnI" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 1; icon_state = "green"},/area/hydroponics)
"bnJ" = (/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{dir = 5; icon_state = "green"},/area/hydroponics)
"bnK" = (/obj/machinery/light/small/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor{tag = "icon-vault (SOUTHEAST)"; icon_state = "vault"; dir = 6},/area/chapel/main)
"bnL" = (/obj/machinery/light/small/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/chapel/main)
"bnK" = (/obj/machinery/light/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor{tag = "icon-vault (SOUTHEAST)"; icon_state = "vault"; dir = 6},/area/chapel/main)
"bnL" = (/obj/machinery/light/spot{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/chapel/main)
"bnM" = (/obj/machinery/light/small{dir = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/aft)
"bnN" = (/turf/simulated/wall,/area/crew_quarters/toilet)
"bnO" = (/obj/effect/landmark{name = "plant"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
@@ -3474,8 +3474,8 @@
"boP" = (/turf/simulated/wall/r_wall,/area/chapel/main)
"boQ" = (/obj/effect/sign/securearea{name = "EXTERNAL AIRLOCK"; desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"},/turf/simulated/wall/r_wall,/area/maintenance/aft)
"boR" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/external{name = "External Airlock"; req_access_txt = "12"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/maintenance/aft)
"boS" = (/obj/machinery/light/small/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
"boT" = (/obj/machinery/light/small/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
"boS" = (/obj/machinery/light/spot{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
"boT" = (/obj/machinery/light/spot{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
"boU" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet)
"boV" = (/turf/simulated/floor{tag = "icon-whitehall (SOUTHWEST)"; icon_state = "whitehall"; dir = 10},/area/medical/medbay)
"boW" = (/obj/machinery/access_button{command = "cycle_exterior"; layer = 4; master_tag = "virology_airlock_control"; name = "Virology Access Button"; pixel_x = 0; pixel_y = -25; req_access_txt = "39"},/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/medical/medbay)
@@ -3560,7 +3560,7 @@
"bqx" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "white"; dir = 8},/area)
"bqy" = (/obj/structure/table,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{icon_state = "white"; dir = 8},/area/medical/virology)
"bqz" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/landmark{name = "plant"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
"bqA" = (/obj/machinery/light/small/spot,/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
"bqA" = (/obj/machinery/light/spot,/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
"bqB" = (/obj/machinery/camera{c_tag = "Chapel Aft"; dir = 1; network = "SS13"},/turf/simulated/floor{dir = 10; icon_state = "carpetside"},/area/chapel/main)
"bqC" = (/turf/simulated/floor{dir = 6; icon_state = "carpetside"},/area/chapel/main)
"bqD" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
+7785 -7655
View File
File diff suppressed because it is too large Load Diff