diff --git a/code/modules/arousal/arousal.dm b/code/modules/arousal/arousal.dm index 28003a5560..f7c156b5ff 100644 --- a/code/modules/arousal/arousal.dm +++ b/code/modules/arousal/arousal.dm @@ -304,7 +304,6 @@ var/obj/item/organ/genital/picked_organ = pick_climax_genitals() if(picked_organ && available_rosie_palms(TRUE)) mob_climax_outside(picked_organ) - check_orgasm(picked_organ) //SPLURT edit if("Climax with partner") //We need no hands, we can be restrained and so on, so let's pick an organ var/obj/item/organ/genital/picked_organ = pick_climax_genitals() @@ -316,7 +315,6 @@ var/spillage = input(src, "Would your fluids spill outside?", "Choose overflowing option", "Yes") as null|anything in list("Yes", "No") if(spillage && in_range(src, partner)) mob_climax_partner(picked_organ, partner, spillage == "Yes" ? TRUE : FALSE, Lgen = picked_target) - check_orgasm(picked_organ) //SPLURT edit if("Fill container") //We'll need hands and no restraints. if(!available_rosie_palms(FALSE, /obj/item/reagent_containers)) @@ -329,7 +327,6 @@ var/obj/item/reagent_containers/fluid_container = pick_climax_container() if(fluid_container && available_rosie_palms(TRUE, /obj/item/reagent_containers)) mob_fill_container(picked_organ, fluid_container) - check_orgasm(picked_organ) //SPLURT edit if("Climax over partner") //We need no hands, we can be restrained and so on, so let's pick an organ var/obj/item/organ/genital/picked_organ = pick_climax_genitals() @@ -337,7 +334,6 @@ var/mob/living/partner = pick_partner() //Get someone if(partner) mob_climax_over(picked_organ, partner, TRUE) - check_orgasm(picked_organ) //SPLURT edit mb_cd_timer = world.time + mb_cd_length diff --git a/modular_splurt/code/datums/interactions/lewd/_lewd.dm b/modular_splurt/code/datums/interactions/lewd/_lewd.dm index d98ecc0216..4d0a3527cf 100644 --- a/modular_splurt/code/datums/interactions/lewd/_lewd.dm +++ b/modular_splurt/code/datums/interactions/lewd/_lewd.dm @@ -243,7 +243,7 @@ carbon_src = src for(var/obj/item/organ/genital/G in carbon_src.internal_organs) - if(check_orgasm(G)) + if(check_orgasm(sender = G)) break set_lust(0) SEND_SIGNAL(src, COMSIG_MOB_CAME, target_orifice, partner) diff --git a/modular_splurt/code/datums/interactions/lewd/lewd_definitions.dm b/modular_splurt/code/datums/interactions/lewd/lewd_definitions.dm index 850f2eb285..11ae227092 100644 --- a/modular_splurt/code/datums/interactions/lewd/lewd_definitions.dm +++ b/modular_splurt/code/datums/interactions/lewd/lewd_definitions.dm @@ -70,8 +70,8 @@ GLOBAL_LIST_INIT(anus_traits, list("[TRAIT_HYPERSENS_ANUS]" = 3, "[TRAIT_OVERSTI * Arguments: * * genital: Genital to check for any orgasm modifiers. */ -/mob/living/proc/check_orgasm(obj/item/organ/genital/G) - if(CHECK_BITFIELD(G.genital_flags, GENITAL_IMPOTENT) || CHECK_BITFIELD(G.genital_flags, GENITAL_DISAPPOINTING)) +/mob/living/proc/check_orgasm(datum/source, R, target, obj/item/organ/genital/sender, receiver, spill) + if(CHECK_BITFIELD(sender.genital_flags, GENITAL_IMPOTENT) || CHECK_BITFIELD(sender.genital_flags, GENITAL_DISAPPOINTING)) emote("sigh") to_chat(src, "[pick("Ugh, that was embarassing...", "I could've done it better...")]") return TRUE diff --git a/modular_splurt/code/modules/mob/living/carbon/human/human_defines.dm b/modular_splurt/code/modules/mob/living/carbon/human/human_defines.dm index 5989d21a55..93880806ee 100644 --- a/modular_splurt/code/modules/mob/living/carbon/human/human_defines.dm +++ b/modular_splurt/code/modules/mob/living/carbon/human/human_defines.dm @@ -6,3 +6,4 @@ /mob/living/carbon/human/Initialize() LAZYADD(hud_possible, ANTAGTARGET_HUD) . = ..() + RegisterSignal(src, COMSIG_MOB_CLIMAX, .proc/check_orgasm)