From ef2f70d344f144e4efbf1b020d88421ae6e9c20f Mon Sep 17 00:00:00 2001
From: Cimika/Lessie/KathyRyals <65850818+KathyRyals@users.noreply.github.com>
Date: Fri, 12 Nov 2021 03:17:23 +0100
Subject: [PATCH] You can now pull tails, it makes the person happy! (#62763)
About The Pull Request
You can now pull on tails and it makes the person happy! It was supposed to just be felinid but it changed when mothblocks requested I check for tails!
Why It's Good For The Game
Cute interaction with our cat friends. And Lizards. And anything with a tail.
Changelog
cl
add: You can now pull on a felinid's tail to make them happy!
/cl
---
code/__DEFINES/dcs/signals.dm | 2 ++
code/datums/mood_events/generic_positive_events.dm | 4 ++++
code/modules/mob/living/carbon/carbon_defense.dm | 7 +++++++
3 files changed, 13 insertions(+)
diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm
index d1d7244fdfa..d876213b703 100644
--- a/code/__DEFINES/dcs/signals.dm
+++ b/code/__DEFINES/dcs/signals.dm
@@ -687,6 +687,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 2507f898fc9..b6b1f7bb546 100644
--- a/code/modules/mob/living/carbon/carbon_defense.dm
+++ b/code/modules/mob/living/carbon/carbon_defense.dm
@@ -417,6 +417,13 @@
if(HAS_TRAIT(src, TRAIT_BADTOUCH))
to_chat(M, span_warning("[src] looks visibly upset as you pat [p_them()] on the head."))
+ 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)
else
SEND_SIGNAL(src, COMSIG_CARBON_HUGGED, M)
SEND_SIGNAL(M, COMSIG_CARBON_HUG, M, src)