vanity copy to

This commit is contained in:
Seris02
2023-02-05 10:58:11 +08:00
parent c72ab8fffe
commit 3cf60e9c19
14 changed files with 388 additions and 26 deletions
@@ -1,5 +1,5 @@
/obj/item/organ/external
var/prosthetic_digi = FALSE //CHOMPStation edit - when it's prosthetic, can it be a digitigrade
var/skip_robo_icon = FALSE //CHOMPStation edit - to force it to use the normal species icon
//new function to check for markings
/obj/item/organ/external/proc/is_hidden_by_markings()
@@ -9,8 +9,6 @@
else if(dna)
digitigrade = dna.digitigrade && (istype(src,/obj/item/organ/external/leg) || istype(src,/obj/item/organ/external/foot))
var/robotic_digi = prosthetic_digi && digitigrade //could make it so the prosthetic digi var is more of a "does this limb have a custom digitigrade sprite for its robospriting" but this is fine for now
var/gender = "m"
if(owner && owner.gender == FEMALE)
gender = "f"
@@ -20,7 +18,7 @@
else
icon_cache_key = "[icon_name]_[force_icon_key]"
if(force_icon && !robotic_digi)
if(force_icon && !skip_robo_icon)
mob_icon = new /icon(force_icon, "[icon_name][gendered_icon ? "_[gender]" : ""]")
else
if(!dna)
@@ -37,7 +35,7 @@
if(skeletal)
mob_icon = new /icon('icons/mob/human_races/r_skeleton.dmi', "[icon_name][gender ? "_[gender]" : ""]")
else if (robotic >= ORGAN_ROBOT && !robotic_digi)
else if (robotic >= ORGAN_ROBOT && !skip_robo_icon)
mob_icon = new /icon('icons/mob/human_races/robotic.dmi', "[icon_name][gender ? "_[gender]" : ""]")
apply_colouration(mob_icon)
else
@@ -48,13 +46,13 @@
mob_icon = new /icon(digitigrade ? species.icodigi : species.get_icobase(owner, (status & ORGAN_MUTATED)), "[icon_name][gender ? "_[gender]" : ""]")
apply_colouration(mob_icon)
if (model && !robotic_digi)
if (model && !skip_robo_icon)
icon_cache_key += "_model_[model]"
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) && !(force_icon && !robotic_digi)) || (model && owner && owner.synth_markings))
if((!istype(src,/obj/item/organ/external/head) && !(force_icon && !skip_robo_icon)) || (model && owner && owner.synth_markings))
for(var/M in markings)
var/datum/sprite_accessory/marking/mark_style = markings[M]["datum"]
var/isdigitype = istype(mark_style,/datum/sprite_accessory/marking/digi)
@@ -73,7 +71,7 @@
mob_icon.Blend(limb_icon_cache[cache_key], ICON_OVERLAY)
// VOREStation edit start
if(nail_polish && (force_icon && !robotic_digi))
if(nail_polish && !(force_icon && !skip_robo_icon))
var/icon/I = new(nail_polish.icon, nail_polish.icon_state)
I.Blend(nail_polish.color, ICON_MULTIPLY)
add_overlay(I)