mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-23 12:08:28 +01:00
Fixup wings and custom vorestation tails to the new update_icons() system.
Adjust taur suits. Keep some job alt titles.
This commit is contained in:
@@ -97,4 +97,13 @@
|
||||
"Vulpkanin" = 'icons/mob/species/vulpkanin/mask.dmi',
|
||||
"Xenochimera" = 'icons/mob/species/tajaran/mask_vr.dmi'
|
||||
)
|
||||
//"Spider" = 'icons/mob/species/spider/mask_vr.dmi' Add this later when they have custom mask sprites and everything.
|
||||
//"Spider" = 'icons/mob/species/spider/mask_vr.dmi' Add this later when they have custom mask sprites and everything.
|
||||
|
||||
// Taur suits need to be shifted so its centered on their taur half.
|
||||
// TODO - Instead of just assuming this junk, shift some of the data onto the taur tail datum.
|
||||
/obj/item/clothing/suit/make_worn_icon(var/body_type,var/slot_name,var/inhands,var/default_icon,var/default_layer = 0)
|
||||
var/image/standing = ..()
|
||||
if(icon_override && icon_override == 'icons/mob/taursuits_vr.dmi')
|
||||
standing.pixel_x = -16
|
||||
standing.layer = BODY_LAYER + 15 // 15 is above tail layer, so will not be covered by taurbody.
|
||||
return standing
|
||||
|
||||
@@ -77,12 +77,10 @@
|
||||
src << "<span class='warning'>You don't have a tail that supports this.</span>"
|
||||
return 0
|
||||
|
||||
if(setting != null)
|
||||
wagging = setting
|
||||
else
|
||||
wagging = !wagging
|
||||
|
||||
update_tail_showing()
|
||||
var/new_wagging = isnull(setting) ? !wagging : setting
|
||||
if(new_wagging != wagging)
|
||||
wagging = new_wagging
|
||||
update_tail_showing()
|
||||
return 1
|
||||
|
||||
/mob/living/carbon/human/proc/toggle_wing_vr(var/setting,var/message = 0)
|
||||
@@ -91,12 +89,10 @@
|
||||
src << "<span class='warning'>You don't have a tail that supports this.</span>"
|
||||
return 0
|
||||
|
||||
if(setting != null)
|
||||
var/new_flapping = isnull(setting) ? !flapping : setting
|
||||
if(new_flapping != flapping)
|
||||
flapping = setting
|
||||
else
|
||||
flapping = !flapping
|
||||
|
||||
update_wing_showing()
|
||||
update_wing_showing()
|
||||
return 1
|
||||
|
||||
/mob/living/carbon/human/verb/toggle_gender_identity_vr()
|
||||
|
||||
@@ -121,6 +121,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
|
||||
crash_with("CANARY: Old human update_icons_huds was called.")
|
||||
|
||||
/mob/living/carbon/human/update_transform()
|
||||
/* VOREStation Edit START - TODO - Consider switching to icon_scale
|
||||
// First, get the correct size.
|
||||
var/desired_scale = icon_scale
|
||||
|
||||
@@ -129,6 +130,9 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
|
||||
for(var/datum/modifier/M in modifiers)
|
||||
if(!isnull(M.icon_scale_percent))
|
||||
desired_scale *= M.icon_scale_percent
|
||||
*/
|
||||
var/desired_scale = size_multiplier
|
||||
//VOREStation Edit End
|
||||
|
||||
// Regular stuff again.
|
||||
var/matrix/M = matrix()
|
||||
@@ -247,7 +251,12 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
|
||||
icon_key += "[rgb(part.s_col[1],part.s_col[2],part.s_col[3])]"
|
||||
if(part.body_hair && part.h_col && part.h_col.len >= 3)
|
||||
icon_key += "[rgb(part.h_col[1],part.h_col[2],part.h_col[3])]"
|
||||
icon_key += "[part.s_col_blend]"
|
||||
//VOREStation Edit - Different way of tracking add/mult species
|
||||
if(species.color_mult)
|
||||
icon_key += "[ICON_MULTIPLY]"
|
||||
else
|
||||
icon_key += "[ICON_ADD]"
|
||||
//VOREStation Edit End
|
||||
else
|
||||
icon_key += "#000000"
|
||||
for(var/M in part.markings)
|
||||
@@ -321,6 +330,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
|
||||
|
||||
//tail
|
||||
update_tail_showing()
|
||||
update_wing_showing() // VOREStation Edit
|
||||
|
||||
/mob/living/carbon/human/proc/update_skin()
|
||||
if(QDESTROYING(src))
|
||||
@@ -403,7 +413,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
|
||||
if(facial_hair_style && facial_hair_style.species_allowed && (src.species.get_bodytype(src) in facial_hair_style.species_allowed))
|
||||
var/icon/facial_s = new/icon("icon" = facial_hair_style.icon, "icon_state" = "[facial_hair_style.icon_state]_s")
|
||||
if(facial_hair_style.do_colouration)
|
||||
facial_s.Blend(rgb(r_facial, g_facial, b_facial), ICON_ADD)
|
||||
facial_s.Blend(rgb(r_facial, g_facial, b_facial), ICON_MULTIPLY) //VOREStation edit
|
||||
|
||||
face_standing.Blend(facial_s, ICON_OVERLAY)
|
||||
|
||||
@@ -418,6 +428,12 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
|
||||
|
||||
face_standing.Blend(hair_s, ICON_OVERLAY)
|
||||
|
||||
// VOREStation Edit - START
|
||||
var/icon/ears_s = get_ears_overlay()
|
||||
if (ears_s)
|
||||
face_standing.Blend(ears_s, ICON_OVERLAY)
|
||||
// VOREStation Edit - END
|
||||
|
||||
if(head_organ.nonsolid)
|
||||
face_standing += rgb(,,,120)
|
||||
|
||||
@@ -708,6 +724,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
|
||||
update_inv_w_uniform()
|
||||
update_inv_shoes()
|
||||
update_tail_showing()
|
||||
update_wing_showing() // VOREStation Edit
|
||||
|
||||
if(!wear_suit)
|
||||
return //No point, no suit.
|
||||
@@ -757,6 +774,9 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
|
||||
|
||||
//update whether handcuffs appears on our hud.
|
||||
/mob/living/carbon/proc/update_hud_handcuffed()
|
||||
if(QDESTROYING(src))
|
||||
return
|
||||
|
||||
if(hud_used && hud_used.l_hand_hud_object && hud_used.r_hand_hud_object)
|
||||
hud_used.l_hand_hud_object.update_icon()
|
||||
hud_used.r_hand_hud_object.update_icon()
|
||||
@@ -819,6 +839,16 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
|
||||
return
|
||||
|
||||
remove_layer(TAIL_LAYER)
|
||||
|
||||
// VOREStation Edit - START
|
||||
var/image/vr_tail_image = get_tail_image()
|
||||
if(vr_tail_image)
|
||||
vr_tail_image.layer = BODY_LAYER+TAIL_LAYER
|
||||
overlays_standing[TAIL_LAYER] = vr_tail_image
|
||||
apply_layer(TAIL_LAYER)
|
||||
return
|
||||
// VOREStation Edit - END
|
||||
|
||||
var/species_tail = species.get_tail(src) // Species tail icon_state prefix.
|
||||
|
||||
//This one is actually not that bad I guess.
|
||||
@@ -834,9 +864,10 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
|
||||
if(!tail_icon)
|
||||
//generate a new one
|
||||
var/species_tail_anim = species.get_tail_animation(src)
|
||||
if(!species_tail_anim && species.icobase_tail) species_tail_anim = species.icobase //VOREStation Code - Allow override of file for non-animated tails
|
||||
if(!species_tail_anim) species_tail_anim = 'icons/effects/species.dmi'
|
||||
tail_icon = new/icon(species_tail_anim)
|
||||
tail_icon.Blend(rgb(r_skin, g_skin, b_skin), ICON_ADD)
|
||||
tail_icon.Blend(rgb(r_skin, g_skin, b_skin), species.color_mult ? ICON_MULTIPLY : ICON_ADD) // VOREStation edit
|
||||
// The following will not work with animated tails.
|
||||
var/use_species_tail = species.get_tail_hair(src)
|
||||
if(use_species_tail)
|
||||
@@ -900,6 +931,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
|
||||
set_tail_state("[species.get_tail(src)]_idle[rand(0,9)]")
|
||||
else
|
||||
set_tail_state("[species.get_tail(src)]_static")
|
||||
toggle_tail_vr(FALSE) //VOREStation Add - So tails stop when someone dies. TODO - Fix this hack ~Leshana
|
||||
|
||||
/mob/living/carbon/human/proc/animate_tail_stop()
|
||||
if(QDESTROYING(src))
|
||||
@@ -907,6 +939,20 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
|
||||
|
||||
set_tail_state("[species.get_tail(src)]_static")
|
||||
|
||||
// VOREStation Edit - Wings! See update_icons_vr.dm for more wing procs
|
||||
/mob/living/carbon/human/proc/update_wing_showing()
|
||||
if(QDESTROYING(src))
|
||||
return
|
||||
|
||||
remove_layer(SUIT_LAYER)
|
||||
|
||||
var/image/vr_wing_image = get_wing_image()
|
||||
if(vr_wing_image)
|
||||
vr_wing_image = BODY_LAYER+WING_LAYER
|
||||
overlays_standing[WING_LAYER] = vr_wing_image
|
||||
apply_layer(WING_LAYER)
|
||||
// VOREStation Edit end
|
||||
|
||||
/mob/living/carbon/human/update_modifier_visuals()
|
||||
if(QDESTROYING(src))
|
||||
return
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// WARNING - UNUSED PROC
|
||||
/mob/living/carbon/human/proc/get_wing_icon()
|
||||
if(QDESTROYING(src))
|
||||
return
|
||||
@@ -24,6 +25,7 @@
|
||||
|
||||
return wing_icon
|
||||
|
||||
// WARNING - UNUSED PROC
|
||||
/mob/living/carbon/human/proc/set_wing_state(var/t_state)
|
||||
if(QDESTROYING(src))
|
||||
return
|
||||
@@ -35,23 +37,19 @@
|
||||
return wing_overlay
|
||||
return null
|
||||
|
||||
// WARNING - UNUSED PROC
|
||||
/mob/living/carbon/human/proc/animate_wing_reset(var/update_icons=1)
|
||||
if(QDESTROYING(src))
|
||||
return
|
||||
|
||||
if(stat != DEAD)
|
||||
set_wing_state("[species.get_wing(src)]_idle[rand(0,9)]")
|
||||
else
|
||||
set_wing_state("[species.get_wing(src)]_static")
|
||||
toggle_wing_vr(0)
|
||||
if(update_icons)
|
||||
update_icons_layers()
|
||||
toggle_wing_vr(FALSE)
|
||||
|
||||
/mob/living/carbon/human/proc/get_wing_image()
|
||||
if(QDESTROYING(src))
|
||||
return
|
||||
|
||||
//If you are FBP with tail style and didn't set a custom one
|
||||
//If you are FBP with wing style and didn't set a custom one
|
||||
if(synthetic && synthetic.includes_wing && !wing_style)
|
||||
var/icon/wing_s = new/icon("icon" = synthetic.icon, "icon_state" = "wing") //I dunno. If synths have some custom wing?
|
||||
wing_s.Blend(rgb(src.r_skin, src.g_skin, src.b_skin), species.color_mult ? ICON_MULTIPLY : ICON_ADD)
|
||||
@@ -67,23 +65,14 @@
|
||||
return image(wing_s)
|
||||
return null
|
||||
|
||||
/mob/living/carbon/human/proc/update_wing_showing(var/update_icons=1)
|
||||
|
||||
// TODO - Move this to where it should go ~Leshana
|
||||
/mob/proc/stop_flying()
|
||||
if(QDESTROYING(src))
|
||||
return
|
||||
flying = FALSE
|
||||
return 1
|
||||
|
||||
overlays_standing[WING_LAYER] = null
|
||||
|
||||
overlays_standing[WING_LAYER] = get_wing_image()
|
||||
if(overlays_standing[WING_LAYER])
|
||||
if(update_icons)
|
||||
update_icons_layers()
|
||||
return
|
||||
|
||||
/mob/proc/stop_flying(var/update_icons=1)
|
||||
if(QDESTROYING(src))
|
||||
return
|
||||
|
||||
flying = 0
|
||||
|
||||
if(update_icons)
|
||||
update_icons_layers()
|
||||
/mob/living/carbon/human/stop_flying()
|
||||
if((. = ..()))
|
||||
update_wing_showing()
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
var/r_tail2 = 30
|
||||
var/g_tail2 = 30
|
||||
var/b_tail2 = 30
|
||||
var/datum/sprite_accessory/tail/wing_style = null
|
||||
var/datum/sprite_accessory/wing/wing_style = null
|
||||
var/r_wing = 30
|
||||
var/g_wing = 30
|
||||
var/b_wing = 30
|
||||
|
||||
@@ -360,7 +360,7 @@
|
||||
var/color_blend_mode = ICON_ADD // Only appliciable if do_coloration = 1
|
||||
var/extra_overlay // Icon state of an additional overlay to blend in.
|
||||
var/clothing_can_hide = 1 // If true, clothing with HIDETAIL hides it. If the clothing is bulky enough to hide a tail, it should also hide wings.
|
||||
var/show_species_tail = 1 // Just so
|
||||
// var/show_species_tail = 1 // Just so // TODO - Seems not needed ~Leshana
|
||||
var/desc = "You should not see this..."
|
||||
var/ani_state // State when flapping/animated
|
||||
var/extra_overlay_w // Flapping state for extra overlay
|
||||
|
||||
Reference in New Issue
Block a user