diff --git a/code/game/objects/items/weapons/melee/misc.dm b/code/game/objects/items/weapons/melee/misc.dm
index 4e0b345a238..4701b4ce5a2 100644
--- a/code/game/objects/items/weapons/melee/misc.dm
+++ b/code/game/objects/items/weapons/melee/misc.dm
@@ -86,6 +86,11 @@
force = 0
on = 0
+/obj/item/weapon/melee/classic_baton/telescopic/suicide_act(mob/user)
+ user.visible_message("[user] stuffs the [src] up their nose and presses the 'extend' button! It looks like they're trying to commit suicide.")
+ playsound(loc, 'sound/weapons/batonextend.ogg', 50, 1)
+ return (BRUTELOSS)
+
/obj/item/weapon/melee/classic_baton/telescopic/attack_self(mob/user)
on = !on
if(on)
@@ -105,4 +110,4 @@
attack_verb = list("hit", "poked")
playsound(src.loc, 'sound/weapons/batonextend.ogg', 50, 1)
- add_fingerprint(user)
\ No newline at end of file
+ add_fingerprint(user)
diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm
index c620d777376..4bcc794e2f1 100644
--- a/code/game/objects/items/weapons/tanks/tanks.dm
+++ b/code/game/objects/items/weapons/tanks/tanks.dm
@@ -20,6 +20,11 @@
var/integrity = 3
var/volume = 70
+/obj/item/weapon/tank/suicide_act(mob/user)
+ user.visible_message("[user] is putting the [src]'s valve to their lips! I don't think they're gonna stop!")
+ playsound(loc, 'sound/effects/spray.ogg', 10, 1, -3)
+ return (OXYLOSS)
+
/obj/item/weapon/tank/New()
..()
diff --git a/code/modules/detectivework/footprints_and_rag.dm b/code/modules/detectivework/footprints_and_rag.dm
index e1bbf424c46..1df27a10c1d 100644
--- a/code/modules/detectivework/footprints_and_rag.dm
+++ b/code/modules/detectivework/footprints_and_rag.dm
@@ -19,6 +19,11 @@
volume = 5
spillable = 0
+/obj/item/weapon/reagent_containers/glass/rag/suicide_act(mob/user)
+ user.visible_message("[user] ties the [src.name] around their head and groans! It looks like--")
+ user.say("MY BRAIN HURTS!!")
+ return (OXYLOSS)
+
/obj/item/weapon/reagent_containers/glass/rag/afterattack(atom/A as obj|turf|area, mob/user,proximity)
if(!proximity)
return