diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm
index b5f02b79d7..f5262742e2 100644
--- a/code/modules/flufftext/Hallucination.dm
+++ b/code/modules/flufftext/Hallucination.dm
@@ -21,7 +21,8 @@ GLOBAL_LIST_INIT(hallucination_list, list(
/datum/hallucination/delusion = 2,
/datum/hallucination/shock = 1,
/datum/hallucination/death = 1,
- /datum/hallucination/oh_yeah = 1
+ /datum/hallucination/oh_yeah = 1,
+ /datum/hallucination/sleeping_carp = 1
))
@@ -1294,3 +1295,26 @@ GLOBAL_LIST_INIT(hallucination_list, list(
H.preparePixelProjectile(target, start)
H.fire()
qdel(src)
+
+/datum/hallucination/sleeping_carp
+
+/datum/hallucination/sleeping_carp/New(mob/living/carbon/C, forced = TRUE)
+ set waitfor = FALSE
+ ..()
+ var/list/mobsyup
+ for (var/mob/living/carbon/A in orange(C,1))
+ if (get_dist(C,A) < 2)
+ LAZYADD(mobsyup,A)
+ if (!LAZYLEN(mobsyup))
+ qdel(src)
+ return
+ var/mob/living/carbon/G = pick(mobsyup)
+ if (prob(50))
+ C.visible_message("[C] falls to the ground screaming and clutching [C.p_their()] wrist!", \
+ "[G] grabs your wrist and violently wrenches it to the side!")
+ C.emote("scream")
+ C.dropItemToGround(C.get_active_held_item())
+ C.Knockdown(60)
+ else
+ to_chat(C,"[G] violently grabs you!")
+ qdel(src)