The banishment of the floating disembodied phallus.

This commit is contained in:
Ghommie
2020-03-31 02:40:28 +02:00
parent 4eb2fb531a
commit e26b43d80b
7 changed files with 67 additions and 34 deletions
@@ -302,10 +302,21 @@
if(!S || S.icon_state == "none")
continue
var/aroused_state = G.aroused_state && S.alt_aroused
var/accessory_icon = S.icon
var/do_center = S.center
var/dim_x = S.dimension_x
var/dim_y = S.dimension_y
if(G.genital_flags & GENITAL_CAN_TAUR && S.taur_icon && (!S.feat_taur || dna.features[S.feat_taur]) && dna.species.mutant_bodyparts["taur"])
var/datum/sprite_accessory/taur/T = GLOB.taur_list[dna.features["taur"]]
if(T?.taur_mode & S.accepted_taurs)
accessory_icon = S.taur_icon
do_center = TRUE
dim_x = S.taur_dimension_x
dim_y = S.taur_dimension_y
var/mutable_appearance/genital_overlay = mutable_appearance(S.icon, layer = -layer)
if(S.center)
genital_overlay = center_image(genital_overlay, S.dimension_x, S.dimension_y)
var/mutable_appearance/genital_overlay = mutable_appearance(accessory_icon, layer = -layer)
if(do_center)
genital_overlay = center_image(genital_overlay, dim_x, dim_y)
if(dna.species.use_skintones && dna.features["genitals_use_skintone"])
genital_overlay.color = "#[skintone2hex(skin_tone)]"
@@ -1,5 +1,10 @@
/datum/sprite_accessory
var/alt_aroused = FALSE //CIT CODE if this is TRUE, then the genitals will use an alternate icon_state when aroused.
var/taur_icon //leave null if the genital doesn't have a taur counterpart.
var/accepted_taurs = STYLE_HOOF_TAURIC|STYLE_PAW_TAURIC //Types that match with the accessory.
var/feat_taur //the text string of the dna feature to check for those who want to opt out.
var/taur_dimension_y = 0
var/taur_dimension_x = 0
//DICKS,COCKS,PENISES,WHATEVER YOU WANT TO CALL THEM
@@ -8,6 +13,7 @@
name = "penis" //the preview name of the accessory
color_src = "cock_color"
alt_aroused = TRUE
feat_taur = "cock_taur"
/datum/sprite_accessory/penis/human
icon_state = "human"
@@ -16,10 +22,14 @@
/datum/sprite_accessory/penis/knotted
icon_state = "knotted"
name = "Knotted"
taur_icon = 'modular_citadel/icons/obj/genitals/taur_penis_onmob.dmi'
taur_dimension_y = 64
/datum/sprite_accessory/penis/flared
icon_state = "flared"
name = "Flared"
taur_icon = 'modular_citadel/icons/obj/genitals/taur_penis_onmob.dmi'
taur_dimension_y = 64
/datum/sprite_accessory/penis/barbknot
icon_state = "barbknot"
@@ -28,6 +38,8 @@
/datum/sprite_accessory/penis/tapered
icon_state = "tapered"
name = "Tapered"
taur_icon = 'modular_citadel/icons/obj/genitals/taur_penis_onmob.dmi'
taur_dimension_y = 64
/datum/sprite_accessory/penis/tentacle
icon_state = "tentacle"
@@ -41,33 +53,7 @@
icon_state = "hemiknot"
name = "Knotted Hemi"
////////////////////////
// Taur cocks go here //
////////////////////////
/datum/sprite_accessory/penis/taur_flared
icon = 'modular_citadel/icons/obj/genitals/taur_penis_onmob.dmi' //Needed larger width
icon_state = "flared"
name = "Taur, Flared"
center = TRUE //Center the image 'cause 2-tile wide.
dimension_x = 64
/datum/sprite_accessory/penis/taur_knotted
icon = 'modular_citadel/icons/obj/genitals/taur_penis_onmob.dmi' //Needed larger width
icon_state = "knotted"
name = "Taur, Knotted"
center = TRUE //Center the image 'cause 2-tile wide.
dimension_x = 64
/datum/sprite_accessory/penis/taur_tapered
icon = 'modular_citadel/icons/obj/genitals/taur_penis_onmob.dmi' //Needed larger width
icon_state = "tapered"
name = "Taur, Tapered"
center = TRUE //Center the image 'cause 2-tile wide.
dimension_x = 64
//Testicles
//These ones aren't inert
/datum/sprite_accessory/testicles
icon = 'modular_citadel/icons/obj/genitals/testicles_onmob.dmi'
icon_state = "testicle"
@@ -8,7 +8,7 @@
masturbation_verb = "stroke"
arousal_verb = "You pop a boner"
unarousal_verb = "Your boner goes down"
genital_flags = CAN_MASTURBATE_WITH|CAN_CLIMAX_WITH|GENITAL_CAN_AROUSE|UPDATE_OWNER_APPEARANCE|GENITAL_UNDIES_HIDDEN
genital_flags = CAN_MASTURBATE_WITH|CAN_CLIMAX_WITH|GENITAL_CAN_AROUSE|UPDATE_OWNER_APPEARANCE|GENITAL_UNDIES_HIDDEN|GENITAL_CAN_TAUR
linked_organ_slot = ORGAN_SLOT_TESTICLES
fluid_transfer_factor = 0.5
shape = DEF_COCK_SHAPE
@@ -79,7 +79,6 @@
var/icon_shape = S ? S.icon_state : "human"
icon_state = "penis_[icon_shape]_[size]"
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(diameter, 0.25)] inch[round(diameter, 0.25) != 1 ? "es" : ""] in diameter."
if(owner)
if(owner.dna.species.use_skintones && owner.dna.features["genitals_use_skintone"])
@@ -89,6 +88,12 @@
icon_state += "_s"
else
color = "#[owner.dna.features["cock_color"]]"
if(genital_flags & GENITAL_CAN_TAUR && S?.taur_icon && (!S.feat_taur || owner.dna.features[S.feat_taur]) && owner.dna.species.mutant_bodyparts["taur"])
var/datum/sprite_accessory/taur/T = GLOB.taur_list[owner.dna.features["taur"]]
if(T.taur_mode & S.accepted_taurs) //looks out of place on those.
lowershape = "taur, [lowershape]"
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(diameter, 0.25)] inch[round(diameter, 0.25) != 1 ? "es" : ""] in diameter."
/obj/item/organ/genital/penis/get_features(mob/living/carbon/human/H)
var/datum/dna/D = H.dna