mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-26 13:39:16 +01:00
Allows ability for taller taurs to exist
This commit is contained in:
@@ -310,6 +310,12 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
|
||||
if(tail_style.clip_mask) //VOREStation Edit.
|
||||
icon_key += tail_style.clip_mask_state
|
||||
|
||||
if(tail_style)
|
||||
pixel_x = tail_style.mob_offset_x
|
||||
pixel_y = tail_style.mob_offset_y
|
||||
default_pixel_x = tail_style.mob_offset_x
|
||||
default_pixel_y = tail_style.mob_offset_y
|
||||
|
||||
icon_key = "[icon_key][husk ? 1 : 0][fat ? 1 : 0][hulk ? 1 : 0][skeleton ? 1 : 0]"
|
||||
var/icon/base_icon
|
||||
if(human_icon_cache[icon_key])
|
||||
@@ -323,10 +329,12 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
|
||||
var/apply_extra_transparency_foot = organs_by_name[BP_L_FOOT] && organs_by_name[BP_R_FOOT]
|
||||
|
||||
var/icon/Cutter = null
|
||||
var/icon_x_offset = 0
|
||||
var/icon_y_offset = 0
|
||||
|
||||
if(istype(tail_style, /datum/sprite_accessory/tail/taur)) // Tail icon 'cookie cutters' are filled in where icons are preserved. We need to invert that.
|
||||
if(tail_style.clip_mask) //VOREStation Edit.
|
||||
Cutter = new(icon = tail_style.icon, icon_state = tail_style.clip_mask_state)
|
||||
Cutter = new(icon = (tail_style.clip_mask_icon ? tail_style.clip_mask_icon : tail_style.icon), icon_state = tail_style.clip_mask_state)
|
||||
|
||||
Cutter.Blend("#000000", ICON_MULTIPLY) // Make it all black.
|
||||
|
||||
@@ -335,13 +343,16 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
|
||||
|
||||
Cutter.Blend("#000000", ICON_MULTIPLY) // Black again.
|
||||
|
||||
icon_x_offset = tail_style.offset_x
|
||||
icon_y_offset = tail_style.offset_y
|
||||
|
||||
for(var/obj/item/organ/external/part in organs)
|
||||
if(isnull(part) || part.is_stump() || part == chest || part.is_hidden_by_sprite_accessory()) //VOREStation Edit allowing tails to prevent bodyparts rendering, granting more spriter freedom for taur/digitigrade stuff.
|
||||
continue
|
||||
var/icon/temp = part.get_icon(skeleton, !wholeicontransparent)
|
||||
|
||||
if((part.organ_tag in list(BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT)) && Cutter)
|
||||
temp.Blend(Cutter, ICON_AND, x = -16)
|
||||
temp.Blend(Cutter, ICON_AND, x = icon_x_offset, y = icon_y_offset)
|
||||
|
||||
//That part makes left and right legs drawn topmost and lowermost when human looks WEST or EAST
|
||||
//And no change in rendering for other parts (they icon_position is 0, so goes to 'else' part)
|
||||
@@ -904,7 +915,12 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
|
||||
if(!back)
|
||||
return //Why do anything
|
||||
|
||||
overlays_standing[BACK_LAYER] = back.make_worn_icon(body_type = species.get_bodytype(src), slot_name = slot_back_str, default_icon = INV_BACK_DEF_ICON, default_layer = BACK_LAYER)
|
||||
var/icon/c_mask = tail_style?.clip_mask //TODO: Figure out why the fuck it doesnt work with backpacks. Leaving this in for now, even though for some reason it does nothing.
|
||||
if(c_mask)
|
||||
if(istype(back, /obj/item/weapon/storage/backpack/saddlebag))
|
||||
c_mask = null
|
||||
|
||||
overlays_standing[BACK_LAYER] = back.make_worn_icon(body_type = species.get_bodytype(src), slot_name = slot_back_str, default_icon = INV_BACK_DEF_ICON, default_layer = BACK_LAYER, clip_mask = c_mask)
|
||||
|
||||
apply_layer(BACK_LAYER)
|
||||
|
||||
@@ -1327,13 +1343,15 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
|
||||
|
||||
if(istaurtail(tail_style))
|
||||
var/datum/sprite_accessory/tail/taur/taurtype = tail_style
|
||||
working.pixel_x = -16
|
||||
working.pixel_x = tail_style.offset_x
|
||||
working.pixel_y = tail_style.offset_y
|
||||
if(taurtype.can_ride && !riding_datum)
|
||||
riding_datum = new /datum/riding/taur(src)
|
||||
verbs |= /mob/living/carbon/human/proc/taur_mount
|
||||
verbs |= /mob/living/proc/toggle_rider_reins
|
||||
else if(islongtail(tail_style))
|
||||
working.pixel_x = -16
|
||||
working.pixel_x = tail_style.offset_x
|
||||
working.pixel_y = tail_style.offset_y
|
||||
return working
|
||||
return null
|
||||
|
||||
|
||||
@@ -32,8 +32,8 @@
|
||||
|
||||
/datum/sprite_accessory/tail/New()
|
||||
. = ..()
|
||||
if(clip_mask_icon && clip_mask_state)
|
||||
clip_mask = icon(icon = clip_mask_icon, icon_state = clip_mask_state)
|
||||
if(clip_mask_state)
|
||||
clip_mask = icon(icon = (clip_mask_icon ? clip_mask_icon : icon), icon_state = clip_mask_state)
|
||||
|
||||
// Species-unique tails
|
||||
|
||||
|
||||
@@ -8,17 +8,16 @@
|
||||
/datum/sprite_accessory/tail
|
||||
name = "You should not see this..."
|
||||
icon = 'icons/mob/vore/tails_vr.dmi'
|
||||
var/offset_x = 0
|
||||
var/offset_y = 0
|
||||
var/mob_offset_x = 0
|
||||
var/mob_offset_y = 0
|
||||
do_colouration = 0 //Set to 1 to enable coloration using the tail color.
|
||||
species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_ALTEVIAN) //This lets all races use
|
||||
|
||||
var/list/lower_layer_dirs = list(SOUTH)
|
||||
var/icon_loaf = null
|
||||
|
||||
/datum/sprite_accessory/tail/New()
|
||||
. = ..()
|
||||
if(clip_mask_icon && clip_mask_state)
|
||||
clip_mask = icon(icon = clip_mask_icon, icon_state = clip_mask_state)
|
||||
|
||||
// Species-unique tails
|
||||
|
||||
// Everyone tails
|
||||
@@ -1347,6 +1346,7 @@
|
||||
/datum/sprite_accessory/tail/longtail
|
||||
name = "You should not see this..."
|
||||
icon = 'icons/mob/vore/taurs_vr.dmi'
|
||||
offset_x = -16
|
||||
do_colouration = 1 // Yes color, using tail color
|
||||
color_blend_mode = ICON_MULTIPLY // The sprites for taurs are designed for ICON_MULTIPLY
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
color_blend_mode = ICON_MULTIPLY // The sprites for taurs are designed for ICON_MULTIPLY
|
||||
|
||||
can_ride = TRUE //whether we're real rideable taur or just in that category
|
||||
offset_x = -16
|
||||
|
||||
//Could do nested lists but it started becoming a nightmare. It'd be more fun for lookups of a_intent and m_intent, but then subtypes need to
|
||||
//duplicate all the messages, and it starts getting awkward. These are singletons, anyway!
|
||||
@@ -1026,3 +1027,16 @@
|
||||
icon_state = "fatnaga_s"
|
||||
extra_overlay = "fatnaga_markings"
|
||||
|
||||
|
||||
/*
|
||||
/datum/sprite_accessory/tail/taur/teppi // Mostly used as example/template/test subject as to how you use the 'big' taur sprites. Pls give it better icons before uncommenting...
|
||||
name = "Teppi (Taur)"
|
||||
icon_state = "teppi_s"
|
||||
clip_mask_icon = 'icons/mob/vore/taurs128x64_vr.dmi'
|
||||
icon = 'icons/mob/vore/taurs128x64_vr.dmi'
|
||||
clip_mask_state = "taur_clip_mask_teppi"
|
||||
icon_sprite_tag = "teppi"
|
||||
offset_x = -32
|
||||
offset_y = -11
|
||||
mob_offset_y = 11
|
||||
*/
|
||||
@@ -375,8 +375,13 @@
|
||||
load.forceMove(dest)
|
||||
load.set_dir(get_dir(loc, dest))
|
||||
load.anchored = FALSE //we can only load non-anchored items, so it makes sense to set this to false
|
||||
load.pixel_x = initial(load.pixel_x)
|
||||
load.pixel_y = initial(load.pixel_y)
|
||||
if(ismob(load))
|
||||
var/mob/L = load
|
||||
L.pixel_x = L.default_pixel_x
|
||||
L.pixel_y = L.default_pixel_y
|
||||
else
|
||||
load.pixel_x = initial(load.pixel_x)
|
||||
load.pixel_y = initial(load.pixel_y)
|
||||
load.layer = initial(load.layer)
|
||||
|
||||
if(ismob(load))
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 2.8 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 203 KiB After Width: | Height: | Size: 204 KiB |
Reference in New Issue
Block a user