mirror of
https://github.com/KabKebab/GS13.git
synced 2026-07-09 23:21:02 +01:00
Rework genital layering
Creates a new mutable icon for the ass to allow it to overlap hands from one direction, and be occluded by them from another. Butts DMI changed to reflect two sets of sprites, with directions split between them. Side-profiles trimmed to prevent it from occluding wrists. TL;DR: Quote sprited the Whole Ass so I'm going to Use the Whole Ass.
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.7 KiB |
@@ -395,6 +395,7 @@
|
||||
dna.features["cock_color"] = dna.features["breasts_color"]
|
||||
return
|
||||
|
||||
//called every time players sprite changes, ie, moves item in hands or equiped item.
|
||||
/datum/species/proc/handle_genitals(mob/living/carbon/human/H)//more like handle sadness
|
||||
if(!H)//no args
|
||||
CRASH("H = null")
|
||||
@@ -450,6 +451,10 @@
|
||||
continue
|
||||
|
||||
var/mutable_appearance/genital_overlay = mutable_appearance(S.icon, layer = -layer)
|
||||
|
||||
//creates another icon with mutable appearance, allows different layering depending on direction
|
||||
var/mutable_appearance/genital_overlay_directional = mutable_appearance(S.icon, layer = -layer)
|
||||
|
||||
//genitals bigger than 11 inches / g-cup will appear over clothing, if accepted
|
||||
//otherwise, appear under clothing
|
||||
if(G.slot == "penis" || G.slot == "testicles")
|
||||
@@ -469,17 +474,28 @@
|
||||
genital_overlay.icon_state = "belly_[size]"
|
||||
colourcode = "belly_color"
|
||||
|
||||
if(G.slot == "anus") //we have a different size system
|
||||
//sizecheck added to prevent rendering blank icons
|
||||
if(G.slot == "anus" && G.size > 0) //we have a different size system
|
||||
|
||||
genital_overlay.icon = 'hyperstation/icons/obj/genitals/butt.dmi'
|
||||
genital_overlay.icon_state = "butt_[size]"
|
||||
genital_overlay.icon_state = "butt_[size]_OTHER"
|
||||
genital_overlay.layer = -ID_LAYER //in front of suit, behind bellies.
|
||||
|
||||
//creates directional layering by rendering twice. North has higher layer priority to occlude hands.
|
||||
genital_overlay_directional.icon = 'hyperstation/icons/obj/genitals/butt.dmi'
|
||||
genital_overlay_directional.icon_state = "butt_[size]_NORTH"
|
||||
genital_overlay_directional.layer = -NECK_LAYER
|
||||
|
||||
colourcode = "butt_color"
|
||||
if(use_skintones) //butts are forced a colour, either skin tones, or main colour. how ever, mutants use a darker version, because of their body tone.
|
||||
genital_overlay.color = "#[skintone2hex(H.skin_tone)]"
|
||||
genital_overlay.icon_state = "butt_[size]"
|
||||
genital_overlay.icon_state = "butt_[size]_OTHER"
|
||||
genital_overlay_directional.icon_state = "butt_[size]_NORTH"
|
||||
else
|
||||
genital_overlay.color = "#[H.dna.features["mcolor"]]"
|
||||
genital_overlay.icon_state = "butt_[size]_m"
|
||||
genital_overlay.icon_state = "butt_[size]_OTHER_m"
|
||||
genital_overlay_directional.icon_state = "butt_[size]_NORTH_m"
|
||||
|
||||
|
||||
if(S.center)
|
||||
genital_overlay = center_image(genital_overlay, S.dimension_x, S.dimension_y)
|
||||
@@ -507,6 +523,21 @@
|
||||
|
||||
standing += genital_overlay
|
||||
|
||||
//check whether or not there is a directional overlay
|
||||
if(genital_overlay_directional)
|
||||
if(S.center)
|
||||
genital_overlay_directional = center_image(genital_overlay_directional, S.dimension_x, S.dimension_y)
|
||||
|
||||
if(use_skintones && H.dna.features["genitals_use_skintone"])
|
||||
genital_overlay_directional.color = "#[skintone2hex(H.skin_tone)]"
|
||||
if (colourtint)
|
||||
genital_overlay_directional.color = "#[colourtint]"
|
||||
else
|
||||
genital_overlay_directional.color = "#[H.dna.features["butt_color"]]"
|
||||
|
||||
standing += genital_overlay_directional
|
||||
|
||||
|
||||
if(LAZYLEN(standing))
|
||||
H.overlays_standing[layer] = standing.Copy()
|
||||
standing = list()
|
||||
|
||||
Reference in New Issue
Block a user