Files
GS13NG/code/citadel/organs/vagina.dm
T
ktccdandTalkingCactus c785038994 Huge Sprite Rework (#342)
* Revert "Revert "Huge Sprite Rework""

* Compilation of all feedback fixes

This commit contains all the suggested fixes so far and the changes we
came up with through discussion about the code.
For example, genitals **may** now use alternate icons for aroused
states, but does not have to, this is decided by a boolean variable in
the sprite accessory itself, defaulting to not using alternate icons.
Genital icon_state names now follow a new format to match these new
options in a modular way for all kinds of genitals.

* Conflict solving

reformats all the taurs to use the TAUR layer instead of the BODY_FRONT
layer. Same for the new Eevee sprites.

* Committing the old, unfixed file.

This will cause errors if used, but at least it won't cause conflicts.

* Contains fixed sprite names

The shepherd taur body should STILL have a hole in the body due to a
pixel error.
I have forgotten which pixes these are, so.... **le shrug**

* Anger commit

Commiting this in anger. I WILL make it work damnit!

* Proper name fixes.

Also renames the taur cow to no longer have an incorrectly duplicate
icon_state.

* Shepherd taur pixel fix

Fixes the missing pixels from the taur body that caused a hole to appear
when viewed from the sides.

* Conflict resolution

This PR will cause some sprite-breaking overlay errors.
But it's the only way to handle the conflicting .dmi.
So I'll make a separate PR to fix the sprites later.

* Fixes global lists

Now they use whatever weird new system we got for them.
2017-04-15 07:24:44 -04:00

71 lines
2.5 KiB
Plaintext

/obj/item/organ/genital/vagina
name = "vagina"
desc = "A female reproductive organ."
icon = 'code/citadel/icons/vagina.dmi'
icon_state = "vagina"
zone = "groin"
slot = "vagina"
size = 1 //There is only 1 size right now
can_masturbate_with = 1
w_class = 3
var/cap_length = 8//D E P T H (cap = capacity)
var/cap_girth = 12
var/cap_girth_ratio = 1.5
var/clits = 1
var/clit_diam = 0.25
var/clit_len = 0.25
var/list/vag_types = list("tentacle", "dentata", "hairy")
var/obj/item/organ/genital/womb/linked_womb
/obj/item/organ/genital/vagina/update_appearance()
var/string = "vagina" //Keeping this code here, so making multiple sprites for the different kinds is easier.
icon_state = sanitize_text(string)
var/lowershape = lowertext(shape)
var/details
switch(lowershape)
if("tentacle")
details = "\nIts opening is lined with several tentacles and "
if("dentata")
details = "\nThere's teeth inside it and it is "
if("hairy")
details = "\nIt has quite a bit of hair growing on it and is "
if("human")
details = "\nIt is taut with smooth skin, though without much hair and "
if("gaping")
details = "\nIt is gaping slightly open, though without much hair and "
else
details = "\nIt has an exotic shape and is "
if(aroused_state)
details += "slick with female arousal."
else
details += "not very wet."
desc = "That's a [lowershape] vagina. You estimate it to be around [round(cap_length, 0.5)] inch[cap_length > 1 ? "es" : ""] deep and could stretch around something [round(cap_girth, 0.5)] inch[cap_girth > 1 ? "es" : ""] in girth. \
It has [clits > 1 ? "[clits] clits" : "a clit"] about [round(clit_len,0.25)] inch[clit_len > 1 ? "es" : ""] long and [round(clit_diam, 0.25)] inch[clit_diam > 1 ? "es" : ""] in diameter.[details]"
if(owner)
if(owner.dna.species.use_skintones && owner.dna.features["genitals_use_skintone"])
if(ishuman(owner)) // Check before recasting type, although someone fucked up if you're not human AND have use_skintones somehow...
var/mob/living/carbon/human/H = owner // only human mobs have skin_tone, which we need.
color = "#[skintone2hex(H.skin_tone)]"
else
color = "#[owner.dna.features["vag_color"]]"
/obj/item/organ/genital/vagina/update_link()
if(owner)
linked_womb = (owner.getorganslot("womb"))
if(linked_womb)
linked_womb.linked_vag = src
else
if(linked_womb)
linked_womb.linked_vag = null
linked_womb = null
/obj/item/organ/genital/vagina/remove_ref()
if(linked_womb)
linked_womb.linked_vag = null
linked_womb = null