Bacteriophage markings and hide_body_part flags for markings.
Added bacteriophage markings in both full virus and anthropomorphic types, as well as a normal and taur tail. 'hide_body_part' now applies to body markings if set.
@@ -42,6 +42,8 @@
|
||||
/// Should this sprite block emissives?
|
||||
var/em_block = FALSE
|
||||
|
||||
///Backporting from tail object definition.
|
||||
var/list/hide_body_parts = list()
|
||||
/*
|
||||
////////////////////////////
|
||||
/ =--------------------= /
|
||||
@@ -2816,3 +2818,107 @@ shaved
|
||||
icon_state = "default"
|
||||
icon = 'icons/mob/human_races/r_skrell.dmi'
|
||||
species_allowed = list(SPECIES_SKRELL)
|
||||
|
||||
/datum/sprite_accessory/marking/anthrovirus_ra
|
||||
name = "Anthro Virus (Right Arm)"
|
||||
icon_state = "anthrovirus"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_R_ARM,BP_R_HAND)
|
||||
hide_body_parts = list(BP_R_ARM,BP_R_HAND)
|
||||
|
||||
/datum/sprite_accessory/marking/anthrovirus_la
|
||||
name = "Anthro Virus (Left Arm)"
|
||||
icon_state = "anthrovirus"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_L_ARM,BP_L_HAND)
|
||||
hide_body_parts = list(BP_L_ARM,BP_L_HAND)
|
||||
|
||||
/datum/sprite_accessory/marking/anthrovirus_rl
|
||||
name = "Anthro Virus (Right Leg)"
|
||||
icon_state = "anthrovirus"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_R_LEG)
|
||||
hide_body_parts = list(BP_R_LEG)
|
||||
/datum/sprite_accessory/marking/anthrovirus_ll
|
||||
name = "Anthro Virus (Left Leg)"
|
||||
icon_state = "anthrovirus"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_L_LEG)
|
||||
hide_body_parts = list(BP_L_LEG)
|
||||
|
||||
/datum/sprite_accessory/marking/anthrovirus_rf
|
||||
name = "Anthro Virus (Right Foot)"
|
||||
icon_state = "anthrovirus"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_R_FOOT)
|
||||
hide_body_parts = list(BP_R_FOOT)
|
||||
|
||||
/datum/sprite_accessory/marking/anthrovirus_lf
|
||||
name = "Anthro Virus (Left Foot)"
|
||||
icon_state = "anthrovirus"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_L_FOOT)
|
||||
hide_body_parts = list(BP_L_FOOT)
|
||||
|
||||
/datum/sprite_accessory/marking/anthrovirus_t
|
||||
name = "Anthro Virus (Torso)"
|
||||
icon_state = "anthrovirus"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_TORSO,BP_GROIN)
|
||||
hide_body_parts = list(BP_TORSO,BP_GROIN)
|
||||
|
||||
/datum/sprite_accessory/marking/anthrovirus_h
|
||||
name = "Anthro Virus (Head)"
|
||||
icon_state = "anthrovirus"
|
||||
body_parts = list(BP_HEAD)
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
hide_body_parts = list(BP_HEAD)
|
||||
|
||||
/datum/sprite_accessory/marking/virus_ra
|
||||
name = "Bacteriophage (Right Arm)"
|
||||
icon_state = "virus"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_R_ARM,BP_R_HAND)
|
||||
hide_body_parts = list(BP_R_ARM,BP_R_HAND)
|
||||
|
||||
/datum/sprite_accessory/marking/virus_la
|
||||
name = "Bacteriophage (Left Arm)"
|
||||
icon_state = "virus"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_L_ARM,BP_L_HAND)
|
||||
hide_body_parts = list(BP_L_ARM,BP_L_HAND)
|
||||
|
||||
/datum/sprite_accessory/marking/virus_rl
|
||||
name = "Bacteriophage (Right Leg)"
|
||||
icon_state = "virus"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_R_LEG,BP_R_FOOT)
|
||||
hide_body_parts = list(BP_R_LEG,BP_R_FOOT)
|
||||
|
||||
/datum/sprite_accessory/marking/virus_ll
|
||||
name = "Bacteriophage (Left Leg)"
|
||||
icon_state = "virus"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_L_LEG,BP_L_FOOT)
|
||||
hide_body_parts = list(BP_L_LEG,BP_L_FOOT)
|
||||
|
||||
/datum/sprite_accessory/marking/virus_t
|
||||
name = "Bacteriophage (Torso)"
|
||||
icon_state = "virus"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_TORSO)
|
||||
hide_body_parts = list(BP_TORSO)
|
||||
|
||||
/datum/sprite_accessory/marking/virus_g
|
||||
name = "Bacteriophage (Groin)"
|
||||
icon_state = "virus"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_GROIN)
|
||||
hide_body_parts = list(BP_GROIN)
|
||||
|
||||
/datum/sprite_accessory/marking/virus_h
|
||||
name = "Bacteriophage (Head)"
|
||||
icon_state = "virus"
|
||||
body_parts = list(BP_HEAD)
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
hide_body_parts = list(BP_HEAD)
|
||||
@@ -20,7 +20,7 @@
|
||||
var/ani_state // State when wagging/animated
|
||||
var/extra_overlay_w // Wagging state for extra overlay
|
||||
var/extra_overlay2_w // Tertiary wagging.
|
||||
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.
|
||||
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.
|
||||
var/icon/clip_mask_icon = null //Icon file used for clip mask.
|
||||
var/clip_mask_state = null //Icon state to generate clip mask. Clip mask is used to 'clip' off the lower part of clothing such as jumpsuits & full suits.
|
||||
var/icon/clip_mask = null //Instantiated clip mask of given icon and state
|
||||
@@ -991,3 +991,11 @@
|
||||
do_colouration = 1
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
extra_overlay = "wardtakahashi_vulp_dc_mark"
|
||||
|
||||
/datum/sprite_accessory/tail/anthrovirus_tail
|
||||
name = "Anthro Virus Tail"
|
||||
desc = ""
|
||||
icon_state = "anthrovirustail_mark"
|
||||
do_colouration = 1
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
extra_overlay = "anthrovirustail"
|
||||
@@ -1107,6 +1107,14 @@
|
||||
ani_state = "Segmentedtail_w"
|
||||
extra_overlay_w = "Segmentedtailmarking_w"
|
||||
|
||||
/datum/sprite_accessory/tail/anthrovirus_tail
|
||||
name = "Anthro Virus Tail"
|
||||
desc = ""
|
||||
icon_state = "anthrovirustail_mark"
|
||||
do_colouration = 1
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
extra_overlay = "anthrovirustail"
|
||||
|
||||
/datum/sprite_accessory/tail/Segmentedlights
|
||||
name = "Segmented tail, animated synth"
|
||||
desc = ""
|
||||
@@ -1176,7 +1184,7 @@
|
||||
do_colouration = 1
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
ckeys_allowed = list("prettiebyrd")
|
||||
|
||||
|
||||
/datum/sprite_accessory/tail/altevian
|
||||
name = "Altevian Tail"
|
||||
icon = 'icons/mob/vore/tails_vr.dmi'
|
||||
|
||||
@@ -346,3 +346,11 @@
|
||||
suit_sprites = 'icons/mob/taursuits_noodle.dmi'
|
||||
clip_mask_state = "taur_clip_mask_noodle"
|
||||
icon_sprite_tag = "noodle"
|
||||
|
||||
/datum/sprite_accessory/tail/taur/longvirus
|
||||
name = "Long Virus (Taur)"
|
||||
icon_state = "longvirus_s"
|
||||
extra_overlay = "longvirus_markings"
|
||||
// suit_sprites = 'icons/mob/taursuits_noodle.dmi' Aye, I've gotta sprite that shit.
|
||||
icon_sprite_tag = "virus"
|
||||
hide_body_parts = list(BP_L_LEG, BP_L_FOOT, BP_R_LEG, BP_R_FOOT, BP_GROIN)
|
||||
@@ -619,3 +619,11 @@
|
||||
suit_sprites = 'icons/mob/taursuits_noodle_vr.dmi'
|
||||
clip_mask_state = "taur_clip_mask_noodle"
|
||||
icon_sprite_tag = "noodle"
|
||||
|
||||
/datum/sprite_accessory/tail/taur/longvirus
|
||||
name = "Long Virus (Taur)"
|
||||
icon_state = "longvirus_s"
|
||||
extra_overlay = "longvirus_markings"
|
||||
//under_sprites = 'icons/mob/taursuits_wolf_vr.dmi'
|
||||
//suit_sprites = 'icons/mob/taursuits_wolf_vr.dmi'
|
||||
icon_sprite_tag = "virus"
|
||||
@@ -1407,6 +1407,20 @@ 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_markings() // target_covering checks for mouth/eye coverage
|
||||
//code that checked all limbs.
|
||||
/*
|
||||
for(var/obj/item/organ/external/organ in owner.organs)
|
||||
for(var/M in organ.markings)
|
||||
var/datum/sprite_accessory/marking/mark_style = organ.markings[M]["datum"]
|
||||
if (mark_style.hide_body_parts && (organ_tag in mark_style.hide_body_parts))
|
||||
return 1
|
||||
*/
|
||||
for(var/M in markings)
|
||||
var/datum/sprite_accessory/marking/mark_style = markings[M]["datum"]
|
||||
if(mark_style.hide_body_parts && (organ_tag in mark_style.hide_body_parts))
|
||||
return 1
|
||||
|
||||
/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
|
||||
return 1
|
||||
@@ -96,7 +96,6 @@ var/global/list/limb_icon_cache = list()
|
||||
if(!dna)
|
||||
mob_icon = new /icon('icons/mob/human_races/r_human.dmi', "[icon_name][gendered_icon ? "_[gender]" : ""]")
|
||||
else
|
||||
|
||||
if(!gendered_icon)
|
||||
gender = null
|
||||
else
|
||||
@@ -111,8 +110,11 @@ var/global/list/limb_icon_cache = list()
|
||||
mob_icon = new /icon('icons/mob/human_races/robotic.dmi', "[icon_name][gender ? "_[gender]" : ""]")
|
||||
apply_colouration(mob_icon)
|
||||
else
|
||||
mob_icon = new /icon(species.get_icobase(owner, (status & ORGAN_MUTATED)), "[icon_name][gender ? "_[gender]" : ""]")
|
||||
apply_colouration(mob_icon)
|
||||
if(is_hidden_by_markings())
|
||||
mob_icon = new /icon('icons/mob/human_races/r_blank.dmi', "[icon_name][gender ? "_[gender]" : ""]")
|
||||
else
|
||||
mob_icon = new /icon(species.get_icobase(owner, (status & ORGAN_MUTATED)), "[icon_name][gender ? "_[gender]" : ""]")
|
||||
apply_colouration(mob_icon)
|
||||
|
||||
//Body markings, actually does not include head this time. Done separately above.
|
||||
if(!istype(src,/obj/item/organ/external/head))
|
||||
@@ -131,7 +133,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)
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
digitigrade = dna.digitigrade
|
||||
|
||||
if( !model && ( istype(src,/obj/item/organ/external/leg) || istype(src,/obj/item/organ/external/foot) ) ) //All leg icons go through here now.
|
||||
|
||||
|
||||
var/gender = "m"
|
||||
if(owner && owner.gender == FEMALE)
|
||||
gender = "f"
|
||||
@@ -43,9 +43,12 @@
|
||||
mob_icon = new /icon('icons/mob/human_races/robotic.dmi', "[icon_name][gender ? "_[gender]" : ""]")
|
||||
apply_colouration(mob_icon)
|
||||
else
|
||||
//Use digi icon if digitigrade, otherwise use regular icon. Ternary operator is based.
|
||||
mob_icon = new /icon(digitigrade ? species.icodigi : species.get_icobase(owner, (status & ORGAN_MUTATED)), "[icon_name][gender ? "_[gender]" : ""]")
|
||||
apply_colouration(mob_icon)
|
||||
if(is_hidden_by_markings())
|
||||
mob_icon = new /icon('icons/mob/human_races/r_blank.dmi', "[icon_name][gender ? "_[gender]" : ""]")
|
||||
else
|
||||
//Use digi icon if digitigrade, otherwise use regular icon. Ternary operator is based.
|
||||
mob_icon = new /icon(digitigrade ? species.icodigi : species.get_icobase(owner, (status & ORGAN_MUTATED)), "[icon_name][gender ? "_[gender]" : ""]")
|
||||
apply_colouration(mob_icon)
|
||||
|
||||
//Code here is copied from organ_icon.dm line 118 at time of writing (9/20/21), VOREStation edits are left in intentionally, because I think it's worth keeping track of the fact that the code is from Virgo's edits.
|
||||
//Body markings, actually does not include head this time. Done separately above.
|
||||
@@ -66,7 +69,7 @@
|
||||
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)
|
||||
|
||||
|
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 51 KiB |
BIN
icons/mob/human_races/r_blank.dmi
Normal file
|
After Width: | Height: | Size: 324 B |
|
Before Width: | Height: | Size: 107 KiB After Width: | Height: | Size: 108 KiB |
|
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 103 KiB |
|
Before Width: | Height: | Size: 152 KiB After Width: | Height: | Size: 153 KiB |
|
Before Width: | Height: | Size: 154 KiB After Width: | Height: | Size: 156 KiB |