mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-21 02:58:45 +01:00
-Mountable mobs/borgs/taurs can now let the rider in control without requiring a riding crop. -And yes, riding crop has always been "the key" for rider control for these mechanics. -Also tweaks the AO a little bit more because ouch my ocd.
52 lines
2.4 KiB
Plaintext
52 lines
2.4 KiB
Plaintext
var/global/list/wing_icon_cache = list()
|
|
|
|
/mob/living/carbon/human/proc/get_ears_overlay()
|
|
if(ear_style && !(head && (head.flags_inv & BLOCKHEADHAIR)))
|
|
var/icon/ears_s = new/icon("icon" = ear_style.icon, "icon_state" = ear_style.icon_state)
|
|
if(ear_style.do_colouration)
|
|
ears_s.Blend(rgb(src.r_ears, src.g_ears, src.b_ears), ear_style.color_blend_mode)
|
|
if(ear_style.extra_overlay)
|
|
var/icon/overlay = new/icon("icon" = ear_style.icon, "icon_state" = ear_style.extra_overlay)
|
|
overlay.Blend(rgb(src.r_ears2, src.g_ears2, src.b_ears2), ear_style.color_blend_mode)
|
|
ears_s.Blend(overlay, ICON_OVERLAY)
|
|
qdel(overlay)
|
|
return ears_s
|
|
return null
|
|
|
|
|
|
/mob/living/carbon/human/proc/get_tail_image()
|
|
//If you are FBP with tail style and didn't set a custom one
|
|
var/datum/robolimb/model = isSynthetic()
|
|
if(istype(model) && model.includes_tail && !tail_style)
|
|
var/icon/tail_s = new/icon("icon" = synthetic.icon, "icon_state" = "tail")
|
|
tail_s.Blend(rgb(src.r_skin, src.g_skin, src.b_skin), species.color_mult ? ICON_MULTIPLY : ICON_ADD)
|
|
return image(tail_s)
|
|
|
|
//If you have a custom tail selected
|
|
if(tail_style && !(wear_suit && wear_suit.flags_inv & HIDETAIL && !isTaurTail(tail_style)))
|
|
var/icon/tail_s = new/icon("icon" = tail_style.icon, "icon_state" = wagging && tail_style.ani_state ? tail_style.ani_state : tail_style.icon_state)
|
|
if(tail_style.do_colouration)
|
|
tail_s.Blend(rgb(src.r_tail, src.g_tail, src.b_tail), tail_style.color_blend_mode)
|
|
if(tail_style.extra_overlay)
|
|
var/icon/overlay = new/icon("icon" = tail_style.icon, "icon_state" = tail_style.extra_overlay)
|
|
if(wagging && tail_style.ani_state)
|
|
overlay = new/icon("icon" = tail_style.icon, "icon_state" = tail_style.extra_overlay_w)
|
|
overlay.Blend(rgb(src.r_tail2, src.g_tail2, src.b_tail2), tail_style.color_blend_mode)
|
|
tail_s.Blend(overlay, ICON_OVERLAY)
|
|
qdel(overlay)
|
|
else
|
|
overlay.Blend(rgb(src.r_tail2, src.g_tail2, src.b_tail2), tail_style.color_blend_mode)
|
|
tail_s.Blend(overlay, ICON_OVERLAY)
|
|
qdel(overlay)
|
|
|
|
if(isTaurTail(tail_style))
|
|
var/datum/sprite_accessory/tail/taur/taurtype = tail_style
|
|
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
|
|
return image(tail_s, "pixel_x" = -16)
|
|
else
|
|
return image(tail_s)
|
|
return null
|