diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm
index 61fd4bb9b18..1fbf4b5e8d0 100644
--- a/code/controllers/configuration.dm
+++ b/code/controllers/configuration.dm
@@ -97,6 +97,8 @@
var/assistant_maint = 0 //Do assistants get maint access?
var/gateway_delay = 18000 //How long the gateway takes before it activates. Default is half an hour.
+ var/ghost_interaction = 0
+
/datum/configuration/New()
var/list/L = typesof(/datum/game_mode) - /datum/game_mode
@@ -353,6 +355,9 @@
if("continuous_rounds")
config.continous_rounds = 1
+ if("ghost_interaction")
+ config.ghost_interaction = 1
+
else
diary << "Unknown setting in configuration: '[name]'"
diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm
index 447913d225b..4176d3cd62a 100644
--- a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm
+++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm
@@ -49,14 +49,19 @@
set category = "Object"
set src in oview(1)
- if(!usr || !isturf(usr.loc))
- return
- if(usr.stat || usr.restrained())
+ if(config.ghost_interaction)
+ src.dir = turn(src.dir, 90)
+ handle_rotation()
return
+ else
+ if(!usr || !isturf(usr.loc))
+ return
+ if(usr.stat || usr.restrained())
+ return
- src.dir = turn(src.dir, 90)
- handle_rotation()
- return
+ src.dir = turn(src.dir, 90)
+ handle_rotation()
+ return
/obj/structure/stool/bed/chair/MouseDrop_T(mob/M as mob, mob/user as mob)
if(!istype(M)) return
diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
index ff078aab98a..dfc4aa244c8 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
@@ -200,7 +200,7 @@
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
- O.show_message(text("\red The [M.name] has [pick("bit","slashed")] []!", src), 1)
+ O.show_message(text("\red The [M.name] glomps []!", src), 1)
var/damage = rand(1, 3)
diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm
index b5fbf23bef2..43ef43b15ea 100644
--- a/code/modules/mob/living/carbon/alien/larva/larva.dm
+++ b/code/modules/mob/living/carbon/alien/larva/larva.dm
@@ -225,7 +225,7 @@
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
- O.show_message(text("\red The [M.name] has [pick("bit","slashed")] []!", src), 1)
+ O.show_message(text("\red The [M.name] glomps []!", src), 1)
var/damage = rand(1, 3)
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 5fb2a58b69a..7cc8a1b0ff4 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -280,7 +280,7 @@
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
- O.show_message(text("\red The [M.name] has [pick("bit","slashed")] []!", src), 1)
+ O.show_message(text("\red The [M.name] glomps []!", src), 1)
var/damage = rand(1, 3)
diff --git a/code/modules/mob/living/carbon/metroid/metroid.dm b/code/modules/mob/living/carbon/metroid/metroid.dm
index 3ec79ec673e..5357bd38641 100644
--- a/code/modules/mob/living/carbon/metroid/metroid.dm
+++ b/code/modules/mob/living/carbon/metroid/metroid.dm
@@ -298,7 +298,7 @@
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
- O.show_message(text("\red The [M.name] has bit []!", src), 1)
+ O.show_message(text("\red The [M.name] has glomped []!", src), 1)
var/damage = rand(1, 3)
attacked += 5
diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm
index 1a44be5197e..c261972b5fc 100644
--- a/code/modules/mob/living/carbon/monkey/monkey.dm
+++ b/code/modules/mob/living/carbon/monkey/monkey.dm
@@ -348,7 +348,7 @@
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
- O.show_message(text("\red The [M.name] has [pick("bit","slashed")] []!", src), 1)
+ O.show_message(text("\red The [M.name] glomps []!", src), 1)
var/damage = rand(1, 3)
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index 24d0ecdb1f7..80e57579e99 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -649,7 +649,7 @@
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
- O.show_message(text("\red The [M.name] has [pick("bit","slashed")] []!", src), 1)
+ O.show_message(text("\red The [M.name] glomps []!", src), 1)
var/damage = rand(1, 3)
diff --git a/config/config.txt b/config/config.txt
index de368b284a5..559844f6c07 100644
--- a/config/config.txt
+++ b/config/config.txt
@@ -189,4 +189,7 @@ GATEWAY_DELAY 18000
## Remove the # to make rounds which end instantly (Rev, Wizard, Malf) to continue until the shuttle is called or the station is nuked.
## Malf and Rev will let the shuttle be called when the antags/protags are dead.
-#CONTINUOUS_ROUNDS
\ No newline at end of file
+#CONTINUOUS_ROUNDS
+
+##Remove the # to let ghosts spin chairs
+#GHOST_INTERACTION
\ No newline at end of file