arousal states won't persist after death anymore.

This commit is contained in:
Ghommie
2019-07-23 23:54:11 +02:00
parent fd2f2ae1af
commit 376f6e8b4a
7 changed files with 28 additions and 15 deletions
@@ -16,7 +16,7 @@
/obj/item/organ/proc/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE)
if(!iscarbon(M) || owner == M)
return
return FALSE
var/obj/item/organ/replaced = M.getorganslot(slot)
if(replaced)
@@ -33,6 +33,7 @@
for(var/X in actions)
var/datum/action/A = X
A.Grant(M)
return TRUE
//Special is for instant replacement like autosurgeons
/obj/item/organ/proc/Remove(mob/living/carbon/M, special = 0)
@@ -46,6 +47,7 @@
for(var/X in actions)
var/datum/action/A = X
A.Remove(M)
return TRUE
/obj/item/organ/proc/on_find(mob/living/finder)
@@ -113,6 +113,8 @@
return
/obj/item/organ/genital/proc/update_appearance()
if(!owner || owner.stat == DEAD)
aroused_state = FALSE
return
/obj/item/organ/genital/on_life()
@@ -142,12 +144,16 @@
return FALSE
/obj/item/organ/genital/Insert(mob/living/carbon/M, special = 0)
..()
update()
. = ..()
if(.)
update()
RegisterSignal(owner, COMSIG_MOB_DEATH, .proc/update_appearance)
/obj/item/organ/genital/Remove(mob/living/carbon/M, special = 0)
..()
update(TRUE)
. = ..()
if(.)
update(TRUE)
UnregisterSignal(M, COMSIG_MOB_DEATH)
//proc to give a player their genitals and stuff when they log in
/mob/living/carbon/human/proc/give_genitals(clean = FALSE)//clean will remove all pre-existing genitals. proc will then give them any genitals that are enabled in their DNA
@@ -17,6 +17,7 @@
fluid_transfer_factor = 0.5
/obj/item/organ/genital/breasts/update_appearance()
. = ..()
var/lowershape = lowertext(shape)
switch(lowershape)
if("pair")
@@ -16,27 +16,27 @@
var/girth = 0
var/girth_ratio = COCK_GIRTH_RATIO_DEF //0.73; check citadel_defines.dm
var/knot_girth_ratio = KNOT_GIRTH_RATIO_DEF
var/list/dickflags = list()
var/list/knotted_types = list("knotted", "barbed, knotted")
/obj/item/organ/genital/penis/update_size()
if(length == cached_length)
return
var/new_size
switch(length)
if(-INFINITY to 5)
size = 1
new_size = 1
if(5 to 9)
size = 2
new_size = 2
if(15 to INFINITY)
size = 3//no new sprites for anything larger yet
/* if(9 to 15)
size = 3
if(15 to INFINITY)
size = 3*/
new_size = 3 //no new sprites for anything larger yet.
girth = (length * girth_ratio)
cached_length = length
if(linked_organ)
linked_organ.update_size(new_size - size)
size = new_size
/obj/item/organ/genital/penis/update_appearance()
. = ..()
var/string
var/lowershape = lowertext(shape)
desc = "You see [aroused_state ? "an erect" : "a flaccid"] [lowershape] [name]. You estimate it's about [round(length, 0.25)] inch[round(length, 0.25) != 1 ? "es" : ""] long and [round(girth, 0.25)] inch[round(girth, 0.25) != 1 ? "es" : ""] in girth."
@@ -36,7 +36,9 @@
to_chat(owner, msg)
return TRUE
/obj/item/organ/genital/testicles/update_appearance()
/obj/item/organ/genital/testicles/update_size(new_size)
if(new_size)
size = CLAMP(size + new_size, BALLS_SIZE_MIN, BALLS_SIZE_MAX)
switch(size)
if(BALLS_SIZE_MIN)
size_name = "average"
@@ -47,8 +49,9 @@
else
size_name = "nonexistant"
/obj/item/organ/genital/testicles/update_appearance()
. = ..()
desc = "You see an [size_name] pair of testicles."
if(owner)
var/string
if(owner.dna.species.use_skintones && owner.dna.features["genitals_use_skintone"])
@@ -20,6 +20,7 @@
var/list/vag_types = list("tentacle", "dentata", "hairy", "spade", "furred")
/obj/item/organ/genital/vagina/update_appearance()
. = ..()
var/string //Keeping this code here, so making multiple sprites for the different kinds is easier.
var/lowershape = lowertext(shape)
var/details
Binary file not shown.

Before

Width:  |  Height:  |  Size: 562 B

After

Width:  |  Height:  |  Size: 561 B