mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-29 23:17:28 +01:00
Adds new system for markings that can override whole organs and new Generic Hooves using this system
This commit is contained in:
@@ -1409,6 +1409,11 @@ Note that amputating the affected organ does in fact remove the infection from t
|
||||
if(!istype(I,/obj/item/weapon/implant) && !istype(I,/obj/item/device/nif)) //VOREStation Add - NIFs
|
||||
return 1
|
||||
|
||||
/obj/item/organ/external/proc/is_hidden_by_tail()
|
||||
/obj/item/organ/external/proc/is_hidden_by_sprite_accessory(var/clothing_only = FALSE) // Clothing only will mean the check should only be used in places where we want to hide clothing icon, not organ itself.
|
||||
if(owner && owner.tail_style && owner.tail_style.hide_body_parts && (organ_tag in owner.tail_style.hide_body_parts))
|
||||
return 1
|
||||
if(clothing_only && markings.len)
|
||||
for(var/M in markings)
|
||||
var/datum/sprite_accessory/marking/mark = markings[M]["datum"]
|
||||
if(mark.hide_body_parts && (organ_tag in mark.hide_body_parts))
|
||||
return 1
|
||||
@@ -81,6 +81,22 @@ var/global/list/limb_icon_cache = list()
|
||||
|
||||
/obj/item/organ/external/proc/get_icon(var/skeletal)
|
||||
|
||||
for(var/M in markings)
|
||||
var/datum/sprite_accessory/marking/mark = markings[M]["datum"]
|
||||
if(mark.organ_override)
|
||||
to_world("override success")
|
||||
var/icon/mark_s = new/icon("icon" = mark.icon, "icon_state" = "[mark.icon_state]-[organ_tag]")
|
||||
mob_icon = new /icon("icon" = mark.icon, "icon_state" = "blank")
|
||||
mark_s.Blend(markings[M]["color"], mark.color_blend_mode) // VOREStation edit
|
||||
mob_icon.Blend(mark_s, ICON_OVERLAY) //So when it's on your body, it has icons
|
||||
icon_cache_key = "[M][markings[M]["color"]]"
|
||||
|
||||
dir = EAST
|
||||
icon = mob_icon
|
||||
return mob_icon
|
||||
|
||||
to_world("override fail")
|
||||
|
||||
var/gender = "m"
|
||||
if(owner && owner.gender == FEMALE)
|
||||
gender = "f"
|
||||
@@ -131,7 +147,7 @@ var/global/list/limb_icon_cache = list()
|
||||
I.Blend(rgb(h_col[1],h_col[2],h_col[3]), ICON_MULTIPLY) //VOREStation edit
|
||||
limb_icon_cache[cache_key] = I
|
||||
mob_icon.Blend(limb_icon_cache[cache_key], ICON_OVERLAY)
|
||||
|
||||
|
||||
// VOREStation edit start
|
||||
if(nail_polish)
|
||||
var/icon/I = new(nail_polish.icon, nail_polish.icon_state)
|
||||
|
||||
Reference in New Issue
Block a user