diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm
index 6129d263fd..9a94fd3f61 100644
--- a/_maps/map_files/generic/CentCom.dmm
+++ b/_maps/map_files/generic/CentCom.dmm
@@ -6418,15 +6418,6 @@
/obj/effect/turf_decal/tile/brown,
/turf/open/floor/plasteel,
/area/centcom/supplypod/loading/two)
-"oV" = (
-/obj/machinery/vr_sleeper{
- dir = 4
- },
-/obj/machinery/light{
- dir = 8
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"oX" = (
/obj/structure/bookcase/random,
/obj/machinery/light{
@@ -12460,12 +12451,6 @@
},
/turf/open/floor/plasteel/dark,
/area/centcom/evac)
-"CT" = (
-/obj/machinery/vr_sleeper{
- dir = 4
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"CV" = (
/obj/structure/chair/stool,
/turf/open/indestructible/hotelwood,
@@ -12658,12 +12643,6 @@
"Di" = (
/turf/closed/indestructible/riveted,
/area/ai_multicam_room)
-"Dj" = (
-/obj/machinery/vr_sleeper{
- dir = 8
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"Dk" = (
/obj/structure/table,
/turf/open/floor/plasteel/cafeteria,
@@ -13266,7 +13245,7 @@
/turf/open/floor/engine/cult,
/area/wizard_station)
"ED" = (
-/obj/machinery/vending/boozeomat,
+/obj/machinery/vending/boozeomat/all_access,
/turf/closed/indestructible{
icon = 'icons/turf/walls/wood_wall.dmi';
icon_state = "wood";
@@ -16736,6 +16715,10 @@
smooth = 1
},
/area/centcom/holding)
+"Nf" = (
+/obj/machinery/autoylathe,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"Ni" = (
/obj/structure/table/reinforced,
/obj/item/clipboard,
@@ -16800,13 +16783,6 @@
/obj/machinery/recharge_station,
/turf/open/floor/plasteel/white,
/area/centcom/holding)
-"Ny" = (
-/obj/machinery/modular_computer/console/preset/research,
-/obj/machinery/light{
- dir = 1
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"Nz" = (
/obj/effect/turf_decal/tile/brown{
dir = 8
@@ -17123,15 +17099,6 @@
"PD" = (
/turf/open/floor/plasteel/cafeteria,
/area/syndicate_mothership)
-"PF" = (
-/obj/machinery/vr_sleeper{
- dir = 8
- },
-/obj/machinery/light{
- dir = 4
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"PG" = (
/obj/structure/table/reinforced,
/obj/item/camera,
@@ -17786,6 +17753,7 @@
/obj/item/stack/sheet/glass/fifty,
/obj/item/stack/sheet/metal/fifty,
/obj/item/storage/toolbox/mechanical,
+/obj/item/stack/sheet/plastic/fifty,
/obj/item/multitool,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
@@ -18166,6 +18134,13 @@
},
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
+"VL" = (
+/obj/machinery/button/crematorium{
+ id = "crematoriumGhostDojo";
+ pixel_x = -25
+ },
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"VO" = (
/turf/closed/indestructible/riveted,
/area/centcom/supplypod)
@@ -18248,7 +18223,8 @@
/area/centcom/holding)
"Ww" = (
/obj/structure/bodycontainer/crematorium{
- dir = 4
+ dir = 4;
+ id = "crematoriumGhostDojo"
},
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
@@ -43137,15 +43113,15 @@ UV
CV
Sd
NT
-CT
-oV
-CT
-CT
-CT
-oV
-CT
-Nd
Sd
+Sd
+Sd
+Sd
+Sd
+Sd
+Sd
+Nd
+VL
Ww
Sd
Nd
@@ -43651,13 +43627,13 @@ UV
CV
Sd
NT
-Dj
-PF
-Dj
Sd
-Dj
-PF
-Dj
+MR
+Sd
+Sd
+Sd
+MR
+Sd
Nd
Sd
Sd
@@ -45169,7 +45145,7 @@ aa
aa
aa
Nd
-Sd
+Nf
Sd
Rh
Mm
@@ -47225,7 +47201,7 @@ aa
aa
aa
Nd
-Ny
+Gs
Sd
Sd
Sd
diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm
index 705ca9a884..0cce1de41b 100644
--- a/code/game/objects/structures/ghost_role_spawners.dm
+++ b/code/game/objects/structures/ghost_role_spawners.dm
@@ -619,6 +619,24 @@
skip_reentry_check = TRUE
banType = "ghostcafe"
+/datum/action/toggle_dead_chat_mob
+ icon_icon = 'icons/mob/mob.dmi'
+ button_icon_state = "ghost"
+ name = "Toggle deadchat"
+ desc = "Turn off or on your ability to hear ghosts."
+
+/datum/action/toggle_dead_chat_mob/Trigger()
+ if(!..())
+ return 0
+ var/mob/M = target
+ if(HAS_TRAIT_FROM(M,TRAIT_SIXTHSENSE,GHOSTROLE_TRAIT))
+ REMOVE_TRAIT(M,TRAIT_SIXTHSENSE,GHOSTROLE_TRAIT)
+ to_chat(M,"You're no longer hearing deadchat.")
+ else
+ ADD_TRAIT(M,TRAIT_SIXTHSENSE,GHOSTROLE_TRAIT)
+ to_chat(M,"You're once again longer hearing deadchat.")
+
+
/obj/effect/mob_spawn/human/ghostcafe/special(mob/living/carbon/human/new_spawn)
if(new_spawn.client)
new_spawn.client.prefs.copy_to(new_spawn)
@@ -629,10 +647,13 @@
new_spawn.AddElement(/datum/element/ghost_role_eligibility)
ADD_TRAIT(new_spawn, TRAIT_SIXTHSENSE, GHOSTROLE_TRAIT)
ADD_TRAIT(new_spawn,TRAIT_EXEMPT_HEALTH_EVENTS,GHOSTROLE_TRAIT)
- to_chat(new_spawn,"You maybe sharing your cafe with some ninja-captured individuals, so make sure to only interact with the ghosts you hear as a ghost!")
+ ADD_TRAIT(new_spawn,TRAIT_PACIFISM,GHOSTROLE_TRAIT)
+ to_chat(new_spawn,"You may be sharing your cafe with some ninja-captured individuals, so make sure to only interact with the ghosts you hear as a ghost!")
to_chat(new_spawn,"You can turn yourself into a ghost and freely reenter your body with the ghost action.")
var/datum/action/ghost/G = new(new_spawn)
G.Grant(new_spawn)
+ var/datum/action/toggle_dead_chat_mob/D = new(new_spawn)
+ D.Grant(new_spawn)
/datum/outfit/ghostcafe
name = "ID, jumpsuit and shoes"