Files
GS13NG/code/citadel/organs/testicles.dm
ktccd 9e71a0bdb1 Lots of genital changes
Penile masturbation is fixed again.
Masturbation cooldown set to 5 seconds once again, as intended.
mob_masturbate is now mob_climax(forced_climax=FALSE). It can be used to
masturbate alone, cum inside someone partially or completely and can be
used to trigger a forced orgasm through all eligible genitals.
Hexacrocin (Aphro PLUS) now increases your minimum arousal over time
when overdosing, up to your maximum arousal level at which point you are
constantly aroused.
When fully aroused, hexacrocin overdose will force an orgasm.
Hexacamhor (ANaphro PLUS) overdose now decreases minimum arousal over
time, down to 0.
Added to_chat feedback to the player when their libido changes
permanently.
Changed old "src <<" messages to use the new to_chat in citadel chems
and citadel arousal, so text should display now.
Changed names of genitals to be capitalized, to avoid the code
automatically calling them "The X".
Masturbation also has more helpful feedback messages when you lack the
correct organs.
The old force_orgasm proc is removed, use mob_climax(forced_climax=TRUE)
instead.
2017-08-08 17:41:27 +02:00

56 lines
1.6 KiB
Plaintext

/obj/item/organ/genital/testicles
name = "Testicles"
desc = "A male reproductive organ."
icon_state = "testicles"
icon = 'code/citadel/icons/penis.dmi'
zone = "groin"
slot = "testicles"
w_class = 3
var/internal = FALSE
size = BALLS_SIZE_DEF
var/sack_size = BALLS_SACK_SIZE_DEF
fluid_id = "semen"
producing = TRUE
var/sent_full_message = 1 //defaults to 1 since they're full to start
var/obj/item/organ/genital/penis/linked_penis
/obj/item/organ/genital/testicles/Initialize()
. = ..()
reagents.add_reagent(fluid_id, fluid_max_volume)
/obj/item/organ/genital/testicles/on_life()
if(QDELETED(src))
return
if(reagents && producing)
generate_cum()
/obj/item/organ/genital/testicles/proc/generate_cum()
reagents.maximum_volume = fluid_max_volume
if(reagents.total_volume >= reagents.maximum_volume)
if(!sent_full_message)
send_full_message()
sent_full_message = 1
return FALSE
sent_full_message = 0
update_link()
if(!linked_penis)
return FALSE
reagents.isolate_reagent(fluid_id)//remove old reagents if it changed and just clean up generally
reagents.add_reagent(fluid_id, (fluid_mult * fluid_rate))//generate the cum
/obj/item/organ/genital/testicles/update_link()
if(owner && !QDELETED(src))
linked_penis = (owner.getorganslot("penis"))
if(linked_penis)
linked_penis.linked_balls = src
else
if(linked_penis)
linked_penis.linked_balls = null
linked_penis = null
/obj/item/organ/genital/testicles/proc/send_full_message(msg = "Your balls finally feel full, again.")
if(owner && istext(msg))
owner << msg
return TRUE