diff --git a/code/modules/arousal/genitals.dm b/code/modules/arousal/genitals.dm index d1d64c0ef7..c6776ddff3 100644 --- a/code/modules/arousal/genitals.dm +++ b/code/modules/arousal/genitals.dm @@ -190,7 +190,7 @@ aroused_state = FALSE /obj/item/organ/genital/proc/generate_fluid(datum/reagents/R) - var/amount = clamp((fluid_rate * ((world.time - last_orgasmed) / (10 SECONDS)) * fluid_mult),0,fluid_max_volume) + var/amount = get_fluid() R.clear_reagents() R.maximum_volume = fluid_max_volume if(fluid_id) diff --git a/code/modules/arousal/organs/penis.dm b/code/modules/arousal/organs/penis.dm index 7eb6cc088f..a7a8713190 100644 --- a/code/modules/arousal/organs/penis.dm +++ b/code/modules/arousal/organs/penis.dm @@ -30,6 +30,12 @@ update() ..() +/obj/item/organ/genital/penis/get_fluid() + if(linked_organ) + return (clamp(linked_organ.fluid_rate * ((world.time - last_orgasmed) / (10 SECONDS)) * linked_organ.fluid_mult, 0, linked_organ.fluid_max_volume) / linked_organ.fluid_max_volume) + else + return (clamp(fluid_rate * ((world.time - last_orgasmed) / (10 SECONDS)) * fluid_mult, 0, fluid_max_volume) / fluid_max_volume) + /obj/item/organ/genital/penis/update_size(modified = FALSE) if(length <= 0)//I don't actually know what round() does to negative numbers, so to be safe!! if(owner) diff --git a/modular_splurt/code/datums/genitals/genitals_interface.dm b/modular_splurt/code/datums/genitals/genitals_interface.dm index 39b4c0bc9e..7eee22c069 100644 --- a/modular_splurt/code/datums/genitals/genitals_interface.dm +++ b/modular_splurt/code/datums/genitals/genitals_interface.dm @@ -86,7 +86,7 @@ //fluids if(CHECK_BITFIELD(genital.genital_flags, GENITAL_FUID_PRODUCTION)) - var/fluids = (clamp(genital.fluid_rate * ((world.time - genital.last_orgasmed) / (10 SECONDS)) * genital.fluid_mult, 0, genital.fluid_max_volume) / genital.fluid_max_volume) + var/fluids = genital.get_fluid() genital_entry["fluid"] = fluids //equipments diff --git a/modular_splurt/code/modules/antagonists/qareen/qareen_abilities.dm b/modular_splurt/code/modules/antagonists/qareen/qareen_abilities.dm index 8963ea6379..4af34c922c 100644 --- a/modular_splurt/code/modules/antagonists/qareen/qareen_abilities.dm +++ b/modular_splurt/code/modules/antagonists/qareen/qareen_abilities.dm @@ -41,7 +41,7 @@ if(do_after(src, rand(10, 20), 0, target)) //did they get deleted in that second? // var/main_fluid = lowertext(fluid_source.get_master_reagent_name()) // doesn't work no more (should delete probably) var/main_fluid = G.get_fluid_name() - var/fluid_ammount = clamp((G.fluid_rate * ((world.time - G.last_orgasmed) / (10 SECONDS)) * G.fluid_mult),0,G.fluid_max_volume) + var/fluid_ammount = G.get_fluid() if (fluid_ammount <= 2) to_chat(src, span_revennotice("[target.p_their(TRUE)] [G.name] spasms pitifully, almost nothing will come out.")) else diff --git a/modular_splurt/code/modules/arousal/genitals.dm b/modular_splurt/code/modules/arousal/genitals.dm index abd66b1686..d8ff239a98 100644 --- a/modular_splurt/code/modules/arousal/genitals.dm +++ b/modular_splurt/code/modules/arousal/genitals.dm @@ -14,6 +14,9 @@ /obj/item/organ/genital/proc/size_to_state() return size +/obj/item/organ/genital/proc/get_fluid() + return (clamp(fluid_rate * ((world.time - last_orgasmed) / (10 SECONDS)) * fluid_mult, 0, fluid_max_volume) / fluid_max_volume) + /obj/item/organ/genital/proc/climax_modify_size(mob/living/partner, obj/item/organ/genital/source_gen) return