diff --git a/modular_citadel/code/modules/arousal/genitals.dm b/modular_citadel/code/modules/arousal/genitals.dm index b7f178bca5..bc7bf73d31 100644 --- a/modular_citadel/code/modules/arousal/genitals.dm +++ b/modular_citadel/code/modules/arousal/genitals.dm @@ -20,16 +20,13 @@ var/linked_organ_slot //used for linking an apparatus' organ to its other half on update_link(). var/layer_index = GENITAL_LAYER_INDEX //Order should be very important. FIRST vagina, THEN testicles, THEN penis, as this affects the order they are rendered in. -/obj/item/organ/genital/Initialize(mapload, mob/living/carbon/human/H) +/obj/item/organ/genital/Initialize(mapload, do_update = TRUE) . = ..() if(fluid_id) create_reagents(fluid_max_volume) if(CHECK_BITFIELD(genital_flags, GENITAL_FUID_PRODUCTION)) reagents.add_reagent(fluid_id, fluid_max_volume) - if(H) - get_features(H) - Insert(H) - else + if(do_update) update() /obj/item/organ/genital/proc/set_aroused_state(new_state) @@ -221,7 +218,9 @@ /mob/living/carbon/human/proc/give_genital(obj/item/organ/genital/G) if(!dna || (NOGENITALS in dna.species.species_traits) || getorganslot(initial(G.slot))) return FALSE - G = new G(null, src) + G = new G(null, FALSE) + G.get_features(src) + G.Insert(src) return G /obj/item/organ/genital/proc/get_features(mob/living/carbon/human/H) @@ -317,6 +316,7 @@ genital_overlay.layer = -GENITALS_EXPOSED_LAYER LAZYADD(fully_exposed, genital_overlay) // to be added to a layer with higher priority than clothes, hence the name of the bitflag. else + genital_overlay.layer = -layer_num[layer] standing += genital_overlay if(LAZYLEN(standing)) diff --git a/modular_citadel/code/modules/arousal/organs/breasts.dm b/modular_citadel/code/modules/arousal/organs/breasts.dm index dc7923e448..f3ce834838 100644 --- a/modular_citadel/code/modules/arousal/organs/breasts.dm +++ b/modular_citadel/code/modules/arousal/organs/breasts.dm @@ -22,8 +22,8 @@ var/cached_size //these two vars pertain size modifications and so should be expressed in NUMBERS. var/prev_size //former cached_size value, to allow update_size() to early return should be there no significant changes. -/obj/item/organ/genital/breasts/Initialize(mapload, mob/living/carbon/human/H) - if(!H) +/obj/item/organ/genital/breasts/Initialize(mapload, do_update = TRUE) + if(do_update) cached_size = breast_values[size] prev_size = cached_size return ..()