From 5d4513b13a0f040cdef7fe13c4efd4d1444f1fc6 Mon Sep 17 00:00:00 2001
From: Hekto61 <94539922+Hekto61@users.noreply.github.com>
Date: Thu, 22 May 2025 20:35:31 +0300
Subject: [PATCH 1/3] Belly rub action
---
.../code/datums/mood_events/needs_events.dm | 6 ++++++
.../mob/living/carbon/carbon_defense.dm | 19 ++++++++++++++++++
.../mob/living/carbon/human/species.dm | 20 +++++++++++++++++++
3 files changed, 45 insertions(+)
diff --git a/GainStation13/code/datums/mood_events/needs_events.dm b/GainStation13/code/datums/mood_events/needs_events.dm
index 102a3c2d9b..68d8532721 100644
--- a/GainStation13/code/datums/mood_events/needs_events.dm
+++ b/GainStation13/code/datums/mood_events/needs_events.dm
@@ -11,3 +11,9 @@
description = "I love headpats so much!\n"
mood_change = 3
timeout = 2 MINUTES
+
+
+/datum/mood_event/bellyrub_good
+ description = "I love bellly massage so much!\n"
+ mood_change = 3
+ timeout = 2 MINUTES
diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm
index 936f8182a6..27409c65c6 100644
--- a/code/modules/mob/living/carbon/carbon_defense.dm
+++ b/code/modules/mob/living/carbon/carbon_defense.dm
@@ -294,6 +294,25 @@
target_message = "[M] boops your nose.")
playsound(src, 'sound/items/Nose_boop.ogg', 50, 0)
+ //GS13 EDIT Belly rubs start
+ else if(M.zone_selected == BODY_ZONE_PRECISE_GROIN)
+ if(ishuman(src))
+ var/mob/living/carbon/human/H = src
+ M.visible_message("[M] rubs [H]'s belly to make [p_them()] feel better!", \
+ "You rub [H]'s belly to make [p_them()] feel less stuffed!")
+ H.reduce_fullness(rand(4,16), FALSE)
+ if(!HAS_TRAIT(H, TRAIT_ROBOTIC_ORGANISM))
+ H.adjust_nutrition(rand(-5,-1))
+ SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "bellyrub_good", /datum/mood_event/bellyrub_good)
+ if(prob(5))
+ M.visible_message(" Belly rubbing causes [H] to belch!", \
+ "Your belly massage made [p_them()] to burp!")
+ H.emote(pick("belch","burp"))
+ if(prob(10))
+ H.emote("gurgle")
+ M.DelayNextAction(100)
+ //GS13 EDIT Belly rubs end
+
else if(check_zone(M.zone_selected) == BODY_ZONE_HEAD)
var/datum/species/S
S = dna.species
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index ebce4913d9..5b5e50b92e 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -1730,6 +1730,26 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
return
/datum/species/proc/help(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style)
+ //GS13 edit start belly rub
+ if(user.zone_selected == BODY_ZONE_PRECISE_GROIN && user.health >= 0 && target == user)
+ user.visible_message("[user] rubs their belly!", \
+ "You rub your belly!")
+ user.reduce_fullness(rand(4,16), FALSE)
+ if(!HAS_TRAIT(user, TRAIT_ROBOTIC_ORGANISM))
+ user.adjust_nutrition(rand(-5,-1))
+ SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "bellyrub_good", /datum/mood_event/bellyrub_good)
+ if(prob(5))
+ user.visible_message("While [user] rubs their belly, the spontanious belch comes out!", \
+ "Your belly massage made you to burp!")
+ user.emote(pick("belch","burp"))
+ if(prob(10))
+ user.emote("gurgle")
+ user.DelayNextAction(100)
+ playsound(user, 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
+ return FALSE
+
+ //GS13 edit end belly rub
+
if(target.health >= 0 && !HAS_TRAIT(target, TRAIT_FAKEDEATH))
target.help_shake_act(user)
if(target != user)
From c52b500f5f48829079011f742b5cc955642d62c2 Mon Sep 17 00:00:00 2001
From: Hekto61 <94539922+Hekto61@users.noreply.github.com>
Date: Fri, 23 May 2025 22:46:11 +0300
Subject: [PATCH 2/3] Bellyrub text tweak
Text tweaks
---
GainStation13/code/datums/mood_events/needs_events.dm | 2 +-
code/modules/mob/living/carbon/human/species.dm | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/GainStation13/code/datums/mood_events/needs_events.dm b/GainStation13/code/datums/mood_events/needs_events.dm
index 68d8532721..da6b2c8635 100644
--- a/GainStation13/code/datums/mood_events/needs_events.dm
+++ b/GainStation13/code/datums/mood_events/needs_events.dm
@@ -14,6 +14,6 @@
/datum/mood_event/bellyrub_good
- description = "I love bellly massage so much!\n"
+ description = "I really enjoed that belly massage!\n"
mood_change = 3
timeout = 2 MINUTES
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index 5b5e50b92e..42a62b4d96 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -1739,7 +1739,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
user.adjust_nutrition(rand(-5,-1))
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "bellyrub_good", /datum/mood_event/bellyrub_good)
if(prob(5))
- user.visible_message("While [user] rubs their belly, the spontanious belch comes out!", \
+ user.visible_message("While [user] rubs their belly, the spontaneous belch comes out!", \
"Your belly massage made you to burp!")
user.emote(pick("belch","burp"))
if(prob(10))
From 66c061d268543fc6107c6b82080ba6a04d15d566 Mon Sep 17 00:00:00 2001
From: Hekto61 <94539922+Hekto61@users.noreply.github.com>
Date: Fri, 23 May 2025 22:53:10 +0300
Subject: [PATCH 3/3] Bellyrub text tweak
Another one....
---
GainStation13/code/datums/mood_events/needs_events.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/GainStation13/code/datums/mood_events/needs_events.dm b/GainStation13/code/datums/mood_events/needs_events.dm
index da6b2c8635..2b80357baf 100644
--- a/GainStation13/code/datums/mood_events/needs_events.dm
+++ b/GainStation13/code/datums/mood_events/needs_events.dm
@@ -14,6 +14,6 @@
/datum/mood_event/bellyrub_good
- description = "I really enjoed that belly massage!\n"
+ description = "I really enjoyed that belly massage!\n"
mood_change = 3
timeout = 2 MINUTES