diff --git a/baystation12.dme b/baystation12.dme
index 98f34cf1d09..b215b4ab325 100644
--- a/baystation12.dme
+++ b/baystation12.dme
@@ -150,6 +150,9 @@
#define FILE_DIR "code/WorkInProgress/mapload"
#define FILE_DIR "code/WorkInProgress/Mini"
#define FILE_DIR "code/WorkInProgress/organs"
+#define FILE_DIR "code/WorkInProgress/Ported"
+#define FILE_DIR "code/WorkInProgress/Ported/Bureaucracy"
+#define FILE_DIR "code/WorkInProgress/Ported/ZeroPoint"
#define FILE_DIR "code/WorkInProgress/SkyMarshal"
#define FILE_DIR "code/WorkInProgress/Tastyfish"
#define FILE_DIR "code/WorkInProgress/virus2"
@@ -174,6 +177,7 @@
#define FILE_DIR "icons/vending_icons"
#define FILE_DIR "interface"
#define FILE_DIR "maps"
+#define FILE_DIR "maps/backup"
#define FILE_DIR "sound"
#define FILE_DIR "sound/ambience"
#define FILE_DIR "sound/announcer"
@@ -1033,16 +1037,20 @@
#include "code\modules\water\components\unary\unary_water_base.dm"
#include "code\WorkInProgress\AI_Visibility.dm"
#include "code\WorkInProgress\buildmode.dm"
-#include "code\WorkInProgress\copier.dm"
#include "code\WorkInProgress\detective_work.dm"
#include "code\WorkInProgress\explosion_particles.dm"
-#include "code\WorkInProgress\filing.dm"
#include "code\WorkInProgress\mapload\dmm_suite.dm"
#include "code\WorkInProgress\mapload\reader.dm"
#include "code\WorkInProgress\Mini\atmos_control.dm"
#include "code\WorkInProgress\Mini\customitems.dm"
+#include "code\WorkInProgress\Ported\head.dm"
+#include "code\WorkInProgress\Ported\policetape.dm"
+#include "code\WorkInProgress\Ported\Bureaucracy\copier.dm"
+#include "code\WorkInProgress\Ported\Bureaucracy\filing.dm"
+#include "code\WorkInProgress\Ported\ZeroPoint\Laser2.dm"
+#include "code\WorkInProgress\Ported\ZeroPoint\LaserComputer.dm"
+#include "code\WorkInProgress\Ported\ZeroPoint\SuperMatter.dm"
#include "code\WorkInProgress\SkyMarshal\coatrack.dm"
-#include "code\WorkInProgress\SkyMarshal\policetape.dm"
#include "code\WorkInProgress\SkyMarshal\traitoritems.dm"
#include "code\WorkInProgress\SkyMarshal\wardrobes.dm"
#include "code\WorkInProgress\Tastyfish\Eliza.dm"
diff --git a/code/WorkInProgress/SkyMarshal/policetape.dm b/code/WorkInProgress/SkyMarshal/policetape.dm
deleted file mode 100644
index 8e0e1e094bc..00000000000
--- a/code/WorkInProgress/SkyMarshal/policetape.dm
+++ /dev/null
@@ -1,167 +0,0 @@
-/obj/item/policetaperoll/attack_self(mob/user as mob)
- if(icon_state == "rollstart")
- tapestartx = src.loc.x
- tapestarty = src.loc.y
- tapestartz = src.loc.z
- usr << "\blue You place the first end of the police tape."
- icon_state = "rollstop"
- else
- tapeendx = src.loc.x
- tapeendy = src.loc.y
- tapeendz = src.loc.z
- var/tapetest = 0
- if(tapestartx == tapeendx && tapestarty > tapeendy && tapestartz == tapeendz)
- for(var/Y=tapestarty,Y>=tapeendy,Y--)
- var/turf/T = get_turf(locate(tapestartx,Y,tapestartz))
- if(T.density == 1)
- usr << "\blue You can't run police tape through a wall!"
- icon_state = "rollstart"
- return
- for(var/Y=tapestarty,Y>=tapeendy,Y--)
- var/turf/T = get_turf(locate(tapestartx,Y,tapestartz))
- for(var/obj/item/policetape/Ptest in T)
- if(Ptest.icon_state == "vertical")
- tapetest = 1
- if(tapetest != 1)
- var/obj/item/policetape/P = new/obj/item/policetape(tapestartx,Y,tapestartz)
- P.loc = locate(tapestartx,Y,tapestartz)
- P.icon_state = "vertical"
- usr << "\blue You finish placing the police tape." //Git Test
-
- if(tapestartx == tapeendx && tapestarty < tapeendy && tapestartz == tapeendz)
- for(var/Y=tapestarty,Y<=tapeendy,Y++)
- var/turf/T = get_turf(locate(tapestartx,Y,tapestartz))
- if(T.density == 1)
- usr << "\blue You can't run police tape through a wall!"
- icon_state = "rollstart"
- return
- for(var/Y=tapestarty,Y<=tapeendy,Y++)
- var/turf/T = get_turf(locate(tapestartx,Y,tapestartz))
- for(var/obj/item/policetape/Ptest in T)
- if(Ptest.icon_state == "vertical")
- tapetest = 1
- if(tapetest != 1)
- var/obj/item/policetape/P = new/obj/item/policetape(tapestartx,Y,tapestartz)
- P.loc = locate(tapestartx,Y,tapestartz)
- P.icon_state = "vertical"
- usr << "\blue You finish placing the police tape."
-
- if(tapestarty == tapeendy && tapestartx > tapeendx && tapestartz == tapeendz)
- for(var/X=tapestartx,X>=tapeendx,X--)
- var/turf/T = get_turf(locate(X,tapestarty,tapestartz))
- if(T.density == 1)
- usr << "\blue You can't run police tape through a wall!"
- icon_state = "rollstart"
- return
- for(var/X=tapestartx,X>=tapeendx,X--)
- var/turf/T = get_turf(locate(X,tapestarty,tapestartz))
- for(var/obj/item/policetape/Ptest in T)
- if(Ptest.icon_state == "horizontal")
- tapetest = 1
- if(tapetest != 1)
- var/obj/item/policetape/P = new/obj/item/policetape(X,tapestarty,tapestartz)
- P.loc = locate(X,tapestarty,tapestartz)
- P.icon_state = "horizontal"
- usr << "\blue You finish placing the police tape."
-
- if(tapestarty == tapeendy && tapestartx < tapeendx && tapestartz == tapeendz)
- for(var/X=tapestartx,X<=tapeendx,X++)
- var/turf/T = get_turf(locate(X,tapestarty,tapestartz))
- if(T.density == 1)
- usr << "\blue You can't run police tape through a wall!"
- icon_state = "rollstart"
- return
- for(var/X=tapestartx,X<=tapeendx,X++)
- var/turf/T = get_turf(locate(X,tapestarty,tapestartz))
- for(var/obj/item/policetape/Ptest in T)
- if(Ptest.icon_state == "horizontal")
- tapetest = 1
- if(tapetest != 1)
- var/obj/item/policetape/P = new/obj/item/policetape(X,tapestarty,tapestartz)
- P.loc = locate(X,tapestarty,tapestartz)
- P.icon_state = "horizontal"
- usr << "\blue You finish placing the police tape."
-
- if(tapestarty != tapeendy && tapestartx != tapeendx)
- usr << "\blue Police tape can only be laid horizontally or vertically."
- icon_state = "rollstart"
-
-/obj/item/policetape/Bumped(M as mob)
- if(src.allowed(M))
- var/turf/T = get_turf(src)
- M:loc = T
-
-/obj/item/policetape/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
- if(air_group || (height==0)) return 1
-
- if ((mover.flags & 2 || istype(mover, /obj/effect/meteor) || mover.throwing == 1) )
- return 1
- else
- return 0
-
-/obj/item/policetape/attackby(obj/item/weapon/W as obj, mob/user as mob)
- breaktape(W, user)
-
-/obj/item/policetape/attack_hand(mob/user as mob)
- breaktape(null, user)
-
-/obj/item/policetape/attack_paw(mob/user as mob)
- breaktape(/obj/item/weapon/wirecutters,user)
-
-/obj/item/policetape/proc/breaktape(obj/item/weapon/W as obj, mob/user as mob)
- if(user.a_intent == "help" && ((!is_sharp(W) && src.allowed(user)) ||(!is_cut(W) && !src.allowed(user))))
- user << "You can't break the tape with that!"
- return
- user.show_viewers(text("\blue [] breaks the police tape!", user))
- var/OX = src.x
- var/OY = src.y
- if(src.icon_state == "horizontal")
- var/N = 0
- var/X = OX + 1
- var/turf/T = src.loc
- while(N != 1)
- N = 1
- T = locate(X,T.y,T.z)
- for (var/obj/item/policetape/P in T)
- N = 0
- if(P.icon_state == "horizontal")
- del(P)
- X += 1
-
- X = OX - 1
- N = 0
- while(N != 1)
- N = 1
- T = locate(X,T.y,T.z)
- for (var/obj/item/policetape/P in T)
- N = 0
- if(P.icon_state == "horizontal")
- del(P)
- X -= 1
-
- if(src.icon_state == "vertical")
- var/N = 0
- var/Y = OY + 1
- var/turf/T = src.loc
- while(N != 1)
- N = 1
- T = locate(T.x,Y,T.z)
- for (var/obj/item/policetape/P in T)
- N = 0
- if(P.icon_state == "vertical")
- del(P)
- Y += 1
-
- Y = OY - 1
- N = 0
- while(N != 1)
- N = 1
- T = locate(T.x,Y,T.z)
- for (var/obj/item/policetape/P in T)
- N = 0
- if(P.icon_state == "vertical")
- del(P)
- Y -= 1
-
- del(src)
- return
diff --git a/code/WorkInProgress/SkyMarshal/wardrobes.dm b/code/WorkInProgress/SkyMarshal/wardrobes.dm
index 1200865bd21..80c0c6c310f 100644
--- a/code/WorkInProgress/SkyMarshal/wardrobes.dm
+++ b/code/WorkInProgress/SkyMarshal/wardrobes.dm
@@ -3,6 +3,7 @@
desc = "Seems to have everything I need for my job in it, sweet."
icon = 'suits.dmi'
icon_state = "wardrobe"
+ item_state = "wardrobe"
w_class = 4
var
descriptor = "various clothing."
diff --git a/code/WorkInProgress/copier.dm b/code/WorkInProgress/copier.dm
deleted file mode 100644
index 9f933b822dd..00000000000
--- a/code/WorkInProgress/copier.dm
+++ /dev/null
@@ -1,156 +0,0 @@
-// Contains: copy machine
-
-/obj/machinery/copier
- name = "Copy Machine"
- icon = 'bureaucracy.dmi'
- icon_state = "copier"
- density = 1
- anchored = 1
- var/num_copies = 1 // number of copies selected, will be maintained between jobs
- var/copying = 0 // are we copying
- var/job_num_copies = 0 // number of copies remaining
- var/top_open = 1 // the top is open
- var/obj/item/weapon/template // the paper OR photo being scanned
- var/copy_wait = 0 // wait for current page to finish
- var/max_copies = 10 // MAP EDITOR: can set the number of max copies, possibly to 5 or something for public, more for QM, robutist, etc.
-
-/obj/machinery/copier/New()
- ..()
- update()
-
-/obj/machinery/copier/attackby(obj/item/weapon/O as obj, mob/user as mob)
- if(!top_open)
- return
-
- if (istype(O, /obj/item/weapon/paper) || istype(O, /obj/item/weapon/photo))
- // put it inside
- template = O
- usr.drop_item()
- O.loc = src
- top_open = 0
- update()
- updateDialog()
-
-/obj/machinery/copier/attack_paw(user as mob)
- return src.attack_hand(user)
-
-/obj/machinery/copier/attack_ai(user as mob)
- return src.attack_hand(user)
-
-/obj/machinery/copier/attack_hand(user as mob)
- // da UI
- var/dat
- if(..())
- return
-
- if(src.stat)
- user << "[name] does not seem to be responding to your button mashing."
- return
-
- /*
- if(top_open)
- user << "[name] beeps, \"Please place a paper on top and close the lid.\""
- return
- */
-
- dat = "
Copy MachineXeno Corp. Copying Machine
"
-
- if(copying)
- dat += "[job_num_copies] copies remaining.
"
- dat += "Cancel"
- else
- if(!top_open)
- dat += "Open Top
"
-
- dat += "Number of Copies: "
-
- dat += "-"
- dat += "-"
- dat += " [num_copies] "
- dat += "+"
- dat += "+
"
-
- if(template)
- dat += "Copy"
- else
- dat += "No paper to be copied.
"
- dat += "Please place a paper or photograph on top and close the lid."
-
- dat += "
"
-
- user << browse(dat, "window=copy_machine")
- onclose(user, "copy_machine")
-
-/obj/machinery/copier/proc/update()
- if(top_open)
- icon_state = "copier_o"
- else if(copying)
- icon_state = "copier_s"
- else
- icon_state = "copier"
-
-/obj/machinery/copier/Topic(href, href_list)
- if(..())
- return
- usr.machine = src
- src.add_fingerprint(usr)
-
- if(href_list["num"])
- num_copies += text2num(href_list["num"])
- if(num_copies < 1)
- num_copies = 1
- else if(num_copies > max_copies)
- num_copies = max_copies
- updateDialog()
- if(href_list["open"])
- template.loc = src.loc
- template = null
- top_open = 1
- updateDialog()
- update()
- if(href_list["copy"])
- copying = 1
- job_num_copies = num_copies
- update()
- updateDialog()
- if(href_list["cancel"])
- copying = 0
- job_num_copies = 0
- update()
- updateDialog()
-
-/obj/machinery/copier/process()
- if(src.stat)
- usr << "[name] does not seem to be responding to your button mashing."
- return
-
- if(copying && !copy_wait)
- copy_wait = 1
- // make noise
- playsound(src, 'polaroid1.ogg', 50, 1)
- spawn(5)
- if(!copying)
- return // user cancelled
-
- if(istype(template, /obj/item/weapon/paper))
- // make duplicate paper
- var/obj/item/weapon/paper/P = new(src.loc)
- P.name = template.name
- P.info = template:info
- P.stamped = template:stamped
- P.icon_state = template.icon_state
- else if(istype(template, /obj/item/weapon/photo))
- // make duplicate photo
- var/obj/item/weapon/photo/P = new(src.loc)
- P.name = template.name
- P.desc = template.desc
- P.icon = template.icon
-
- // copy counting stuff
- job_num_copies -= 1
- if(job_num_copies == 0)
- usr << "[name] beeps happily."
- copying = 0
- update()
- updateDialog()
- copy_wait = 0
\ No newline at end of file
diff --git a/code/WorkInProgress/filing.dm b/code/WorkInProgress/filing.dm
deleted file mode 100644
index 5f6363dadc6..00000000000
--- a/code/WorkInProgress/filing.dm
+++ /dev/null
@@ -1,23 +0,0 @@
-/obj/structure/filingcabinet
- name = "Filing Cabinet"
- desc = "A large cabinet with drawers."
- icon = 'computer.dmi'
- icon_state = "messyfiles"
- density = 1
- anchored = 1
-
-/obj/structure/filingcabinet/attackby(obj/item/weapon/paper/P,mob/M)
- if(istype(P))
- M << "You put the [P] in the [src]."
- M.drop_item()
- P.loc = src
- else
- M << "You can't put a [P] in the [src]!"
-
-/obj/structure/filingcabinet/attack_hand(mob/user)
- if(src.contents.len <= 0)
- user << "The [src] is empty."
- return
- var/obj/item/weapon/paper/P = input(user,"Choose a sheet to take out.","[src]", "Cancel") as null|obj in src.contents
- if(in_range(src,user))
- P.loc = user.loc
\ No newline at end of file
diff --git a/code/datums/sun.dm b/code/datums/sun.dm
index 693cd69c156..d701ad4c5e7 100644
--- a/code/datums/sun.dm
+++ b/code/datums/sun.dm
@@ -42,7 +42,7 @@
for(var/obj/machinery/power/tracker/T in machines)
- T.set_angle(angle)
+ T.set_angle()
for(var/obj/machinery/power/solar/S in machines)
if(S.control)
diff --git a/code/defines/mob/mob.dm b/code/defines/mob/mob.dm
index c73b44236ab..47daf9254fa 100644
--- a/code/defines/mob/mob.dm
+++ b/code/defines/mob/mob.dm
@@ -245,6 +245,7 @@ the mob is also allowed to move without any sort of restriction. For instance, i
var/UI = 'screen1_old.dmi' // For changing the UI from preferences
// var/obj/effect/organstructure/organStructure = null //for dem organs
+ var/list/organs = list( ) //List of organs.
/mob/proc/contract_disease(var/datum/disease/virus, var/skip_this = 0, var/force_species_check=1)
diff --git a/code/game/communications.dm b/code/game/communications.dm
index 3db0bca16c6..fcf45c668eb 100644
--- a/code/game/communications.dm
+++ b/code/game/communications.dm
@@ -97,6 +97,10 @@ On the map:
1455 for AI access
*/
+/proc/radioalert(var/message,var/from)
+ var/obj/item/device/radio/intercom/a = new /obj/item/device/radio/intercom(null)
+ a.autosay(message,from)
+
var/list/radiochannels = list(
"Common" = 1459,
"Science" = 1351,
diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm
index efd4167b15e..9cef526ae52 100644
--- a/code/game/gamemodes/gameticker.dm
+++ b/code/game/gamemodes/gameticker.dm
@@ -1,5 +1,5 @@
var/global/datum/controller/gameticker/ticker
-
+var/datum/roundinfo/roundinfo = new()
#define GAME_STATE_PREGAME 1
#define GAME_STATE_SETTING_UP 2
#define GAME_STATE_PLAYING 3
diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm
index 1fe28172088..ebaaccf0445 100644
--- a/code/game/gamemodes/malfunction/Malf_Modules.dm
+++ b/code/game/gamemodes/malfunction/Malf_Modules.dm
@@ -152,6 +152,7 @@ rcd light flash thingy on matter drain
src.possible_modules += new /datum/AI_Module/small/interhack
src.possible_modules += new /datum/AI_Module/small/blackout
src.possible_modules += new /datum/AI_Module/small/reactivate_camera
+ return
/datum/AI_Module/module_picker/proc/use(user as mob)
var/dat
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 94e5d0dc42e..772988fdc82 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -201,4 +201,19 @@
for(var/t in organs)
if (istype(organs[text("[]", t)], /datum/organ/external))
L += organs[text("[]", t)]
- return L
\ No newline at end of file
+ return L
+
+/mob/living/carbon/proc/UpdateDamage()
+
+ if (!(istype(src, /mob/living/carbon/human))) //Added by Strumpetplaya - Invincible Monkey Fix
+ return //Possibly helps with other invincible mobs like Aliens?
+ var/list/L = list( )
+ for(var/t in organs)
+ if (istype(organs[text("[]", t)], /datum/organ/external))
+ L += organs[text("[]", t)]
+ bruteloss = 0
+ fireloss = 0
+ for(var/datum/organ/external/O in L)
+ bruteloss += O.get_damage_brute()
+ fireloss += O.get_damage_fire()
+ return
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index a8f7ee216f5..b1887e75d46 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -54,7 +54,6 @@
var/mutantrace = null
- var/list/organs = list()
var/bloodloss = 0
var/debug_leftarm
var/debug_lefthand
diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm
index 40bac18b91c..cbde6f02a06 100644
--- a/code/modules/mob/living/carbon/monkey/monkey.dm
+++ b/code/modules/mob/living/carbon/monkey/monkey.dm
@@ -22,6 +22,40 @@
if(name == "monkey")
name = text("monkey ([rand(1, 1000)])")
real_name = name
+ var/datum/organ/external/chest/chest = new /datum/organ/external/chest( src )
+ chest.owner = src
+ var/datum/organ/external/groin/groin = new /datum/organ/external/groin( src )
+ groin.owner = src
+ var/datum/organ/external/head/head = new /datum/organ/external/head( src )
+ head.owner = src
+ var/datum/organ/external/l_arm/l_arm = new /datum/organ/external/l_arm( src )
+ l_arm.owner = src
+ var/datum/organ/external/r_arm/r_arm = new /datum/organ/external/r_arm( src )
+ r_arm.owner = src
+ var/datum/organ/external/l_hand/l_hand = new /datum/organ/external/l_hand( src )
+ l_hand.owner = src
+ var/datum/organ/external/r_hand/r_hand = new /datum/organ/external/r_hand( src )
+ r_hand.owner = src
+ var/datum/organ/external/l_leg/l_leg = new /datum/organ/external/l_leg( src )
+ l_leg.owner = src
+ var/datum/organ/external/r_leg/r_leg = new /datum/organ/external/r_leg( src )
+ r_leg.owner = src
+ var/datum/organ/external/l_foot/l_foot = new /datum/organ/external/l_foot( src )
+ l_foot.owner = src
+ var/datum/organ/external/r_foot/r_foot = new /datum/organ/external/r_foot( src )
+ r_foot.owner = src
+
+ organs["chest"] = chest
+ organs["groin"] = groin
+ organs["head"] = head
+ organs["l_arm"] = l_arm
+ organs["r_arm"] = r_arm
+ organs["l_hand"] = l_hand
+ organs["r_hand"] = r_hand
+ organs["l_leg"] = l_leg
+ organs["r_leg"] = r_leg
+ organs["l_foot"] = l_foot
+ organs["r_foot"] = r_foot
..()
return
diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm
index 86d4493df80..5c36584c435 100644
--- a/code/modules/power/singularity/singularity.dm
+++ b/code/modules/power/singularity/singularity.dm
@@ -232,9 +232,7 @@ var/global/list/uneatable = list(
if (istype(A,/mob/living))//Mobs get gibbed
gain = 20
if(istype(A,/mob/living/carbon/human))
- if(A:mind)
- if((A:mind:assigned_role == "Station Engineer") || (A:mind:assigned_role == "Chief Engineer") )
- gain = 100
+ gain = 100
spawn()
A:gib()
sleep(1)
diff --git a/code/modules/power/tracker.dm b/code/modules/power/tracker.dm
index 9fc73c98b35..efaac149680 100644
--- a/code/modules/power/tracker.dm
+++ b/code/modules/power/tracker.dm
@@ -16,8 +16,8 @@
// called by datum/sun/calc_position() as sun's angle changes
- proc/set_angle(var/angle)
- sun_angle = angle
+ proc/set_angle()
+ var/angle = sun.angle
//set icon dir to show sun illumination
dir = turn(NORTH, -angle - 22.5) // 22.5 deg bias ensures, e.g. 67.5-112.5 is EAST
diff --git a/maps/uterus.dmm b/maps/uterus.dmm
index 700936e73b6..cdd4075fc42 100644
--- a/maps/uterus.dmm
+++ b/maps/uterus.dmm
@@ -304,7 +304,7 @@
"afR" = (/obj/item/weapon/hand_tele,/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
"afS" = (/obj/item/weapon/soap/deluxe,/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
"afT" = (/obj/item/weapon/camera_test,/obj/item/weapon/storage/photo_album{pixel_y = -10},/obj/structure/table/woodentable,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
-"afU" = (/obj/machinery/recharger{pixel_y = 4},/obj/item/weapon/melee/chainofcommand,/obj/machinery/light_switch{pixel_y = 24},/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
+"afU" = (/obj/machinery/recharger{pixel_y = 4},/obj/machinery/light_switch{pixel_y = 24},/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
"afV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
"afW" = (/obj/machinery/light/lamp{pixel_x = 4; pixel_y = 1},/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
"afX" = (/obj/machinery/computer/card,/obj/item/weapon/card/id/captains_spare,/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
@@ -4466,7 +4466,7 @@
"bHT" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome)
"bHU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome)
"bHV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome)
-"bHW" = (/obj/structure/rack,/obj/item/clothing/head/that,/obj/item/clothing/under/suit_jacket,/obj/item/clothing/suit/wcoat,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding)
+"bHW" = (/obj/structure/rack,/obj/item/clothing/head/that,/obj/item/clothing/under/suit_jacket,/obj/item/clothing/suit/storage/wcoat,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding)
"bHX" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding)
"bHY" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome)
"bHZ" = (/turf/unsimulated/floor{icon_state = "floor"},/area/tdome)