mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
Merge pull request #2977 from cadyn/digimarkings
Digi markings and sprite improvement
This commit is contained in:
@@ -262,3 +262,103 @@
|
||||
icon_add = 'icons/mob/human_face_ch_add.dmi'
|
||||
icon_state = "hair_vox_yasu"
|
||||
species_allowed = list(SPECIES_VOX)
|
||||
|
||||
//Digitigrade markings
|
||||
/datum/sprite_accessory/marking/digi
|
||||
icon = 'icons/mob/human_races/markings_digi_ch.dmi'
|
||||
|
||||
/datum/sprite_accessory/marking/digi/fullleft
|
||||
name = "Digitigrade Full Left Leg(Only works with digitigrade legs)"
|
||||
icon_state = "full"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_L_LEG,BP_L_FOOT)
|
||||
|
||||
/datum/sprite_accessory/marking/digi/fullright
|
||||
name = "Digitigrade Full Right Leg(Only works with digitigrade legs)"
|
||||
icon_state = "full"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_R_LEG,BP_R_FOOT)
|
||||
|
||||
/datum/sprite_accessory/marking/digi/longsockleft
|
||||
name = "Digitigrade Long Socks Left(Only works with digitigrade legs)"
|
||||
icon_state = "longsock"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_L_LEG,BP_L_FOOT)
|
||||
|
||||
/datum/sprite_accessory/marking/digi/longsockright
|
||||
name = "Digitigrade Long Socks Right(Only works with digitigrade legs)"
|
||||
icon_state = "longsock"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_R_LEG,BP_R_FOOT)
|
||||
|
||||
/datum/sprite_accessory/marking/digi/medsockleft
|
||||
name = "Digitigrade Medium Socks Left(Only works with digitigrade legs)"
|
||||
icon_state = "medsock"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_L_LEG,BP_L_FOOT)
|
||||
|
||||
/datum/sprite_accessory/marking/digi/medsockright
|
||||
name = "Digitigrade Medium Socks Right(Only works with digitigrade legs)"
|
||||
icon_state = "medsock"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_R_LEG,BP_R_FOOT)
|
||||
|
||||
/datum/sprite_accessory/marking/digi/shortsockleft
|
||||
name = "Digitigrade Short Socks Left(Only works with digitigrade legs)"
|
||||
icon_state = "shortsock"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_L_FOOT)
|
||||
|
||||
/datum/sprite_accessory/marking/digi/shortsockright
|
||||
name = "Digitigrade Short Socks Right(Only works with digitigrade legs)"
|
||||
icon_state = "shortsock"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_R_FOOT)
|
||||
|
||||
/datum/sprite_accessory/marking/digi/toesleft
|
||||
name = "Digitigrade Toes Left(Only works with digitigrade legs)"
|
||||
icon_state = "toes"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_L_FOOT)
|
||||
|
||||
/datum/sprite_accessory/marking/digi/toesright
|
||||
name = "Digitigrade Toes Right(Only works with digitigrade legs)"
|
||||
icon_state = "toes"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_R_FOOT)
|
||||
|
||||
/datum/sprite_accessory/marking/digi/stripesleft
|
||||
name = "Digitigrade Stripes Left(Only works with digitigrade legs)"
|
||||
icon_state = "stripes"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_L_LEG,BP_L_FOOT)
|
||||
|
||||
/datum/sprite_accessory/marking/digi/stripesright
|
||||
name = "Digitigrade Stripes Right(Only works with digitigrade legs)"
|
||||
icon_state = "stripes"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_R_LEG,BP_R_FOOT)
|
||||
|
||||
/datum/sprite_accessory/marking/digi/smallspotsleft
|
||||
name = "Digitigrade Small Spots Left(Only works with digitigrade legs)"
|
||||
icon_state = "smallspots"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_L_LEG,BP_L_FOOT)
|
||||
|
||||
/datum/sprite_accessory/marking/digi/smallspotsright
|
||||
name = "Digitigrade Small Spots Right(Only works with digitigrade legs)"
|
||||
icon_state = "smallspots"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_R_LEG,BP_R_FOOT)
|
||||
|
||||
/datum/sprite_accessory/marking/digi/bigspotsleft
|
||||
name = "Digitigrade Big Spots Left(Only works with digitigrade legs)"
|
||||
icon_state = "bigspots"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_L_LEG,BP_L_FOOT)
|
||||
|
||||
/datum/sprite_accessory/marking/digi/bigspotsright
|
||||
name = "Digitigrade Big Spots Right(Only works with digitigrade legs)"
|
||||
icon_state = "bigspots"
|
||||
color_blend_mode = ICON_MULTIPLY
|
||||
body_parts = list(BP_R_LEG,BP_R_FOOT)
|
||||
@@ -11,8 +11,8 @@
|
||||
else if(dna)
|
||||
digitigrade = dna.digitigrade
|
||||
|
||||
if( !model && digitigrade && ( istype(src,/obj/item/organ/external/leg) || istype(src,/obj/item/organ/external/foot) ) )
|
||||
|
||||
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,23 +43,41 @@
|
||||
mob_icon = new /icon('icons/mob/human_races/robotic.dmi', "[icon_name][gender ? "_[gender]" : ""]")
|
||||
apply_colouration(mob_icon)
|
||||
else
|
||||
mob_icon = new /icon(species.icodigi, "[icon_name][gender ? "_[gender]" : ""]")
|
||||
//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.
|
||||
if(!istype(src,/obj/item/organ/external/head))
|
||||
for(var/M in markings)
|
||||
var/datum/sprite_accessory/marking/mark_style = markings[M]["datum"]
|
||||
var/icon/mark_s = new/icon("icon" = mark_style.icon, "icon_state" = "[mark_style.icon_state]-[organ_tag]")
|
||||
mark_s.Blend(markings[M]["color"], mark_style.color_blend_mode) // VOREStation edit
|
||||
add_overlay(mark_s) //So when it's not on your body, it has icons
|
||||
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
|
||||
var/isdigitype = istype(mark_style,/datum/sprite_accessory/marking/digi)
|
||||
if(!(digitigrade ^ isdigitype)) //Equivalent to XNOR; this code will only run if either both digitigrade and isdigitype are true, or if both are false.
|
||||
var/icon/mark_s = new/icon("icon" = mark_style.icon, "icon_state" = "[mark_style.icon_state]-[organ_tag]")
|
||||
mark_s.Blend(markings[M]["color"], mark_style.color_blend_mode) // VOREStation edit
|
||||
add_overlay(mark_s) //So when it's not on your body, it has icons
|
||||
mob_icon.Blend(mark_s, ICON_OVERLAY) //So when it's on your body, it has icons
|
||||
icon_cache_key += "[M][markings[M]["color"]]"
|
||||
if(body_hair && islist(h_col) && h_col.len >= 3)
|
||||
var/cache_key = "[body_hair]-[icon_name]-[h_col[1]][h_col[2]][h_col[3]]"
|
||||
if(!limb_icon_cache[cache_key])
|
||||
var/icon/I = icon(species.get_icobase(owner), "[icon_name]_[body_hair]")
|
||||
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)
|
||||
I.Blend(nail_polish.color, ICON_MULTIPLY)
|
||||
add_overlay(I)
|
||||
mob_icon.Blend(I, ICON_OVERLAY)
|
||||
icon_cache_key += "_[nail_polish.icon]_[nail_polish.icon_state]_[nail_polish.color]"
|
||||
// VOREStation edit end
|
||||
dir = EAST
|
||||
icon = mob_icon
|
||||
return mob_icon
|
||||
|
||||
else
|
||||
. = ..()
|
||||
BIN
icons/mob/human_races/markings_digi_ch.dmi
Normal file
BIN
icons/mob/human_races/markings_digi_ch.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 702 B After Width: | Height: | Size: 702 B |
Reference in New Issue
Block a user