mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
Adds Ability for Tails to Hide Bodyparts
Adds a method for tails to hide bodyparts like legs to allow for a bit more spriter freedom. Sets Satyr legs & taur bodies to prevent regular legs from rendering when selected. E.g.1 The Satyr legs & taur bodies prevent the regular leg organs from rendering, so you no longer have to sprite them such that they cover the pixels ordinary legs would've occupied. E.g.2 The deer body has bulky front legs because if they weren't sprited to cover the regular body beneath you'd have wierd pixels poking out. This prevents that from happening by preventing legs from rendering when you got a taur tail.
This commit is contained in:
@@ -246,7 +246,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
|
||||
|
||||
for(var/organ_tag in species.has_limbs)
|
||||
var/obj/item/organ/external/part = organs_by_name[organ_tag]
|
||||
if(isnull(part) || part.is_stump())
|
||||
if(isnull(part) || part.is_stump() || part.is_hidden_by_tail()) //VOREStation Edit allowing tails to prevent bodyparts rendering, granting more spriter freedom for taur/digitigrade stuff.
|
||||
icon_key += "0"
|
||||
continue
|
||||
if(part)
|
||||
@@ -289,7 +289,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
|
||||
base_icon = chest.get_icon()
|
||||
|
||||
for(var/obj/item/organ/external/part in organs)
|
||||
if(isnull(part) || part.is_stump())
|
||||
if(isnull(part) || part.is_stump() || part.is_hidden_by_tail()) //VOREStation Edit allowing tails to prevent bodyparts rendering, granting more spriter freedom for taur/digitigrade stuff.
|
||||
continue
|
||||
var/icon/temp = part.get_icon(skeleton)
|
||||
//That part makes left and right legs drawn topmost and lowermost when human looks WEST or EAST
|
||||
|
||||
@@ -13,3 +13,7 @@
|
||||
min_broken_damage = o_min_broken_damage
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/organ/external/proc/is_hidden_by_tail()
|
||||
if(owner && owner.tail_style && owner.tail_style.hide_body_parts && (organ_tag in owner.tail_style.hide_body_parts))
|
||||
return 1
|
||||
@@ -153,6 +153,7 @@
|
||||
//Messages for smalls moving under larges
|
||||
var/msg_owner_stepunder = "%owner runs between your legs." //Weird becuase in the case this is used, %owner is the 'bumper' (src)
|
||||
var/msg_prey_stepunder = "You run between %prey's legs." //Same, inverse
|
||||
hide_body_parts = list(BP_L_LEG, BP_L_FOOT, BP_R_LEG, BP_R_FOOT) //Exclude pelvis just in case.
|
||||
|
||||
/datum/sprite_accessory/tail/taur/roiz_long_lizard // Not ACTUALLY a taur, but it uses 32x64 so it wouldn't fit in tails.dmi, and having it as a tail bugs up the sprite.
|
||||
name = "Long Lizard Tail (Roiz Lizden)"
|
||||
|
||||
@@ -653,6 +653,7 @@
|
||||
var/desc = "You should not see this..."
|
||||
var/ani_state // State when wagging/animated
|
||||
var/extra_overlay_w // Wagging state for extra overlay
|
||||
var/list/hide_body_parts = list() //Uses organ tag defines. Bodyparts in this list do not have their icons rendered, allowing for more spriter freedom when doing taur/digitigrade stuff.
|
||||
|
||||
/datum/sprite_accessory/tail/invisible
|
||||
name = "hide species-sprite tail"
|
||||
@@ -950,6 +951,7 @@
|
||||
icon_state = "satyr"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
do_colouration = 1
|
||||
hide_body_parts = list(BP_L_LEG, BP_L_FOOT, BP_R_LEG, BP_R_FOOT) //Exclude pelvis just in case.
|
||||
|
||||
/datum/sprite_accessory/tail/tailmaw
|
||||
name = "tailmaw, colorable"
|
||||
|
||||
Reference in New Issue
Block a user