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