From 2f875d9a6715270fc6d5514dade5707a862d3b63 Mon Sep 17 00:00:00 2001
From: Toastical <20125180+Toastical@users.noreply.github.com>
Date: Thu, 7 Aug 2025 19:47:36 +0300
Subject: [PATCH] Re-enables sign emote for carbons and fixes signal emote for
carbons. Adds finger restrictions to signal emote (#29872)
* re-enables signal emote for carbons
* move checks to signal rather than sign, ceil and floor it, round it
* Update code/modules/mob/living/carbon/human/human_emote.dm
Signed-off-by: Burzah <116982774+Burzah@users.noreply.github.com>
---------
Signed-off-by: Burzah <116982774+Burzah@users.noreply.github.com>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
---
code/modules/mob/living/carbon/carbon_emote.dm | 2 --
code/modules/mob/living/carbon/human/human_emote.dm | 13 +++++++++++++
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/code/modules/mob/living/carbon/carbon_emote.dm b/code/modules/mob/living/carbon/carbon_emote.dm
index 798459b90ca..364a08bc701 100644
--- a/code/modules/mob/living/carbon/carbon_emote.dm
+++ b/code/modules/mob/living/carbon/carbon_emote.dm
@@ -140,8 +140,6 @@
message = "signs."
message_param = "signs the number %t."
param_desc = "number(0-10)"
- // Humans get their own proc since they have fingers
- mob_type_blacklist_typecache = list(/mob/living/carbon/human)
hands_use_check = TRUE
target_behavior = EMOTE_TARGET_BHVR_NUM
diff --git a/code/modules/mob/living/carbon/human/human_emote.dm b/code/modules/mob/living/carbon/human/human_emote.dm
index 39c02b505d7..1c1c9cd5240 100644
--- a/code/modules/mob/living/carbon/human/human_emote.dm
+++ b/code/modules/mob/living/carbon/human/human_emote.dm
@@ -513,6 +513,19 @@
message_param = "raises %t fingers."
mob_type_allowed_typecache = list(/mob/living/carbon/human)
+/datum/emote/living/carbon/sign/signal/run_emote(mob/user, params, type_override, intentional)
+ var/fingers = round(text2num(params), 1)
+
+ if(fingers > 10)
+ to_chat(user, "You don't have enough fingers!")
+ return TRUE
+ else if(fingers < 0)
+ to_chat(user, "You're not entirely sure how to raise negative fingers.")
+ return TRUE
+
+ params = fingers
+ return ..()
+
/////////
// Species-specific emotes