From 487fad927987d181f452707fbba3f6e3a112bff9 Mon Sep 17 00:00:00 2001
From: SeepingVisage <160535199+SeepingVisage@users.noreply.github.com>
Date: Wed, 11 Dec 2024 19:08:38 -0500
Subject: [PATCH] adds gut slapping
adds gut slapping. same as ass slapping (targeting groin) but from the front
---
.../mob/living/carbon/human/species.dm | 59 +++++++++++++------
1 file changed, 42 insertions(+), 17 deletions(-)
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index a7113c1a06..b6ef2a7bbf 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -1862,6 +1862,9 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
var/aim_for_groin = user.zone_selected == "groin"
var/target_aiming_for_groin = target.zone_selected == "groin"
+ //GS13 edit, slap gut
+ var/opposite_dir = user.dir == DIRFLIP(target.dir)
+
if(target.check_martial_melee_block()) //END EDIT
target.visible_message("[target] blocks [user]'s disarm attempt!", target = user, \
target_message = "[target] blocks your disarm attempt!")
@@ -1883,23 +1886,45 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
if (!HAS_TRAIT(target, TRAIT_PERMABONER))
stop_wagging_tail(target)
return FALSE
- else if(aim_for_groin && (target == user || target.lying || same_dir) && (target_on_help || target_restrained || target_aiming_for_groin))
- if(target.client?.prefs.cit_toggles & NO_ASS_SLAP)
- to_chat(user,"A force stays your hand, preventing you from slapping \the [target]'s ass!")
- return FALSE
- if(!user.UseStaminaBuffer(3, warn = TRUE))
- return FALSE
- user.do_attack_animation(target, ATTACK_EFFECT_ASS_SLAP)
- target.adjust_arousal(20,"masochism", maso = TRUE)
- if (ishuman(target) && HAS_TRAIT(target, TRAIT_MASO) && target.has_dna() && prob(10))
- target.mob_climax(forced_climax=TRUE, cause = "masochism")
- if (!HAS_TRAIT(target, TRAIT_PERMABONER))
- stop_wagging_tail(target)
- playsound(target.loc, 'sound/weapons/slap.ogg', 50, 1, -1)
- target.visible_message(\
- "\The [user] slaps [user == target ? "[user.p_their()] own" : "\the [target]'s"] ass!",\
- "[user] slaps your ass! ",\
- "You hear a slap.", target = user, target_message = "You slap [user == target ? "your own" : "\the [target]'s"] ass! ")
+ else if(aim_for_groin && (target_on_help || target_restrained || target_aiming_for_groin))
+ if(target == user || target.lying || same_dir)
+ if(target.client?.prefs.cit_toggles & NO_ASS_SLAP)
+ to_chat(user,"A force stays your hand, preventing you from slapping \the [target]'s ass!")
+ return FALSE
+ if(!user.UseStaminaBuffer(3, warn = TRUE))
+ return FALSE
+ user.do_attack_animation(target, ATTACK_EFFECT_ASS_SLAP)
+ target.adjust_arousal(20,"masochism", maso = TRUE)
+ if (ishuman(target) && HAS_TRAIT(target, TRAIT_MASO) && target.has_dna() && prob(10))
+ target.mob_climax(forced_climax=TRUE, cause = "masochism")
+ if (!HAS_TRAIT(target, TRAIT_PERMABONER))
+ stop_wagging_tail(target)
+ playsound(target.loc, 'sound/weapons/slap.ogg', 50, 1, -1)
+ target.visible_message(\
+ "\The [user] slaps [user == target ? "[user.p_their()] own" : "\the [target]'s"] ass!",\
+ "[user] slaps your ass! ",\
+ "You hear a slap.", target = user, target_message = "You slap [user == target ? "your own" : "\the [target]'s"] ass! ")
+
+
+ else if(opposite_dir)
+ if(target.client?.prefs.cit_toggles & NO_ASS_SLAP)
+ to_chat(user,"A force stays your hand, preventing you from slapping \the [target]'s gut!")
+ return FALSE
+ if(!user.UseStaminaBuffer(3, warn = TRUE))
+ return FALSE
+ user.do_attack_animation(target, ATTACK_EFFECT_ASS_SLAP)
+ target.adjust_arousal(20,"masochism", maso = TRUE)
+ if (ishuman(target) && HAS_TRAIT(target, TRAIT_MASO) && target.has_dna() && prob(10))
+ target.mob_climax(forced_climax=TRUE, cause = "masochism")
+ if (!HAS_TRAIT(target, TRAIT_PERMABONER))
+ stop_wagging_tail(target)
+ playsound(target.loc, 'sound/weapons/slap.ogg', 50, 1, -1)
+ target.visible_message(\
+ "\The [user] slaps [user == target ? "[user.p_their()] own" : "\the [target]'s"] gut!",\
+ "[user] slaps your gut! ",\
+ "You hear a slap.", target = user, target_message = "You slap [user == target ? "your own" : "\the [target]'s"] gut! ")
+ to_chat(target, "The pressure on your stomach causes you to belch!")
+ target.emote(pick("belch","burp"))
return FALSE