diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm
index 860964cd74d..41298b168dc 100644
--- a/code/__DEFINES/dcs/signals.dm
+++ b/code/__DEFINES/dcs/signals.dm
@@ -684,6 +684,8 @@
#define COMSIG_CARBON_HUGGED "carbon_hugged"
///When a carbon mob is headpatted, this is called on the carbon that is headpatted. (mob/living/headpatter)
#define COMSIG_CARBON_HEADPAT "carbon_headpatted"
+///When a carbon mob has their tail pulled, this is called on the carbon that is the target. (mob/living/tailpuller)
+#define COMSIG_CARBON_TAILPULL "carbon_tailpulled"
///Before a carbon mob is shoved, sent to the turf we're trying to shove onto (mob/living/carbon/shover, mob/living/carbon/target)
#define COMSIG_CARBON_DISARM_PRESHOVE "carbon_disarm_preshove"
#define COMSIG_CARBON_ACT_SOLID (1<<0) //Tells disarm code to act as if the mob was shoved into something solid, even we we're not
diff --git a/code/datums/mood_events/generic_positive_events.dm b/code/datums/mood_events/generic_positive_events.dm
index ee8085c8c2a..8ccff5c4875 100644
--- a/code/datums/mood_events/generic_positive_events.dm
+++ b/code/datums/mood_events/generic_positive_events.dm
@@ -24,6 +24,10 @@
mood_change = 1
timeout = 2 MINUTES
+/datum/mood_event/tailpulled
+ description = "I love getting my tail pulled!\n"
+ mood_change = 5
+ timeout = 2 MINUTES
/datum/mood_event/arcade
description = "I beat the arcade game!\n"
mood_change = 3
diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm
index 5c721b200be..20a89a83887 100644
--- a/code/modules/mob/living/carbon/carbon_defense.dm
+++ b/code/modules/mob/living/carbon/carbon_defense.dm
@@ -484,6 +484,15 @@
if(HAS_TRAIT(src, TRAIT_BADTOUCH))
to_chat(M, span_warning("[src] looks visibly upset as you pat [p_them()] on the head."))
+ /* SKYRAT EDIT START - Not even going to start with this one
+ else if ((M.zone_selected == BODY_ZONE_PRECISE_GROIN) && !isnull(src.getorgan(/obj/item/organ/tail)))
+ SEND_SIGNAL(src, COMSIG_CARBON_TAILPULL, M)
+ M.visible_message(span_notice("[M] pulls on [src]'s tail!"), \
+ null, span_hear("You hear a soft patter."), DEFAULT_MESSAGE_RANGE, list(M, src))
+ to_chat(M, span_notice("You pull on [src]'s tail!"))
+ to_chat(src, span_notice("[M] pulls on your tail!"))
+ SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "tailpulled", /datum/mood_event/tailpulled)
+ */ // SKYRAT EDIT END
else
SEND_SIGNAL(src, COMSIG_CARBON_HUGGED, M)
SEND_SIGNAL(M, COMSIG_CARBON_HUG, M, src)