From ac04e23e31639b186a778277d6bae60f5e664732 Mon Sep 17 00:00:00 2001 From: Sishen Date: Thu, 16 May 2019 10:17:16 -0400 Subject: [PATCH] Nympho Traiting & Arousal! Butt slaps 2.0 Added nympho to defined traits, added arousal damage to ass slapping (arousal system needs to be enabled), and added forced orgasms to nymphos at max arousal --- code/__DEFINES/traits.dm | 1 + code/modules/mob/living/carbon/human/species.dm | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 99f1813f3c..805e72cfcb 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -70,6 +70,7 @@ #define TRAIT_PHOTOGRAPHER "photographer" #define TRAIT_MUSICIAN "musician" #define TRAIT_CROCRIN_IMMUNE "crocin_immune" +#define TRAIT_NYMPHO "nymphomania" // common trait sources #define TRAIT_GENERIC "generic" diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 487d242ac3..b7243de8f7 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1465,12 +1465,16 @@ GLOBAL_LIST_EMPTY(roundstart_races) return FALSE var/aim_for_groin = user.zone_selected == "groin" var/target_aiming_for_groin = target.zone_selected == "groin" - if(aim_for_groin && ( target_on_help_and_unarmed || target_restrained || target_aiming_for_groin)) + if(aim_for_groin && (target_on_help_and_unarmed || target_restrained || target_aiming_for_groin)) playsound(target.loc, 'sound/weapons/slap.ogg', 50, 1, -1) user.visible_message("[user] slaps [target]'s ass!", "You slap [target]'s ass! ",\ "You hear a slap.") stop_wagging_tail(target) + if (target.canbearoused) + target.adjustArousalLoss(5) + if (target.getArousalLoss() >= 100 && ishuman(target) && target.has_trait(TRAIT_NYMPHO) && target.has_dna()) + target.mob_climax(forced_climax=TRUE) return FALSE else if(user.getStaminaLoss() >= STAMINA_SOFTCRIT) to_chat(user, "You're too exhausted.")