mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-19 02:54:41 +01:00
Noir Doesn't Grey out HUD, Adds Remaining Glasses for Vox, 'Yi' to Vox-pidgin syllables & Framework for Icon-based Skin Tone, Fixes #3138, Greyscales Vox Hair (#4614)
* Ports #9294 and #9322 from VG: 'Yi' to Vox-pidgin and Framework for Icon-based Skin Tone (Feat. Vox) and Glasses/Goggles for Vox. Both ported PRs by Intigracy. Also adds all remaining in-use glasses/goggle sprites for Vox. I cleaned up the code a bit while I was in there. Otherwise, that's it. Furthermore, randomizing skin tone doesn't seem to work for Vox despite their being specified in the conditional lists and s_tone being not null. * Morph Support * CMA Support * Ports Intigracy's vgstation13/pull/9460, Noir Vision No Longer Greys Out HUD. * Fixes Positioning of Vox Jensen Shades East+West facing Sprites. Fixes Heist Goofery Game-mode (not one-click antag) Heist tweaked and returned to working order now that I've found out how to test the actual game-mode (after temporarily adjusting the population requirement). Vox Raiders won't spawn in with whatever socks were in their selected spawn-character's preferences anymore. Additionally, the set_species proc now zeroes out skin tone if the species doesn't have skin tone to avoid goofing up the icons on initial generation. Also condenses the code in preferences_setup character creation icon generation. Made it use the individual species' skin-tone handling procs instead of code snowflaked into preferences_setup.dm. * No More Vox Tail Colours, but they can Colour Their Hair. * Removes unneeded 'src's and retroactively prohibits colouring tails on species without HAS_SKIN_COLOR. Colouration won't be applied to src's tail unless HAS_SKIN_COLOR is in src's species bodyflags. * Tidies up some Lists in CharPrefs and Retroactively Prohibits Vox Hair Colouration * Reverts unnecessary commenting out of vox armalis post-spawn handling parent call. * Adds Emerald and Azure Vox Skin Tones. * Stealthy Wryn Typo Fixed. * Greyscales Vox Head+Facial Hair and Adds More Default Colours in Species Definitions * Gives Vox Raiders Default Hair Colour and Fixes Bug where Roundstart Raiders don't get Random Skin
This commit is contained in:
@@ -29,7 +29,7 @@
|
||||
var/disfigured = 0
|
||||
var/cannot_amputate
|
||||
var/cannot_break
|
||||
var/s_tone
|
||||
var/s_tone = null
|
||||
var/list/s_col = null // If this is instantiated, it should be a list of length 3
|
||||
var/list/wounds = list()
|
||||
var/list/child_icons = list()
|
||||
|
||||
@@ -14,32 +14,33 @@ var/global/list/limb_icon_cache = list()
|
||||
overlays += organ.mob_icon
|
||||
child_icons += organ.mob_icon
|
||||
|
||||
/obj/item/organ/external/proc/sync_colour_to_human(var/mob/living/carbon/human/human)
|
||||
/obj/item/organ/external/proc/sync_colour_to_human(var/mob/living/carbon/human/H)
|
||||
if(status & ORGAN_ROBOT && !(species && species.name == "Machine")) //machine people get skin color
|
||||
return
|
||||
if(species && human.species && species.name != human.species.name)
|
||||
if(species && H.species && species.name != H.species.name)
|
||||
return
|
||||
if(dna.unique_enzymes != human.dna.unique_enzymes) // This isn't MY arm
|
||||
sync_colour_to_dna()
|
||||
return
|
||||
if(!isnull(human.s_tone) && (human.species.bodyflags & HAS_SKIN_TONE))
|
||||
if(dna.unique_enzymes != H.dna.unique_enzymes) // This isn't MY arm
|
||||
if(!(H.species.bodyflags & HAS_ICON_SKIN_TONE))
|
||||
sync_colour_to_dna()
|
||||
return
|
||||
if(!isnull(H.s_tone) && ((H.species.bodyflags & HAS_SKIN_TONE) || (H.species.bodyflags & HAS_ICON_SKIN_TONE)))
|
||||
s_col = null
|
||||
s_tone = human.s_tone
|
||||
if(human.species.bodyflags & HAS_SKIN_COLOR)
|
||||
s_tone = H.s_tone
|
||||
if(H.species.bodyflags & HAS_SKIN_COLOR)
|
||||
s_tone = null
|
||||
s_col = list(human.r_skin, human.g_skin, human.b_skin)
|
||||
s_col = list(H.r_skin, H.g_skin, H.b_skin)
|
||||
|
||||
/obj/item/organ/external/proc/sync_colour_to_dna()
|
||||
if(status & ORGAN_ROBOT)
|
||||
return
|
||||
if(!isnull(dna.GetUIValue(DNA_UI_SKIN_TONE)) && (species.flags & HAS_SKIN_TONE))
|
||||
if(!isnull(dna.GetUIValue(DNA_UI_SKIN_TONE)) && ((species.bodyflags & HAS_SKIN_TONE) || (species.bodyflags & HAS_ICON_SKIN_TONE)))
|
||||
s_col = null
|
||||
s_tone = dna.GetUIValue(DNA_UI_SKIN_TONE)
|
||||
if(species.flags & HAS_SKIN_COLOR)
|
||||
s_tone = null
|
||||
s_col = list(dna.GetUIValue(DNA_UI_SKIN_R), dna.GetUIValue(DNA_UI_SKIN_G), dna.GetUIValue(DNA_UI_SKIN_B))
|
||||
|
||||
/obj/item/organ/external/head/sync_colour_to_human(var/mob/living/carbon/human/human)
|
||||
/obj/item/organ/external/head/sync_colour_to_human(var/mob/living/carbon/human/H)
|
||||
..()
|
||||
var/obj/item/organ/internal/eyes/eyes = owner.get_int_organ(/obj/item/organ/internal/eyes)//owner.internal_organs_by_name["eyes"]
|
||||
if(eyes) eyes.update_colour()
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
var/global/list/all_robolimbs = list()
|
||||
var/global/list/robolimb_data = list()
|
||||
var/global/list/chargen_robolimbs = list()
|
||||
var/global/datum/robolimb/basic_robolimb
|
||||
|
||||
@@ -20,7 +19,7 @@ var/global/datum/robolimb/basic_robolimb
|
||||
var/unavailable_at_chargen // If set, not available at chargen.
|
||||
var/is_monitor // If set, limb is a monitor and should be getting monitor styles.
|
||||
var/has_subtypes = 2 // If null, object is a model. If 1, object is a brand (that serves as the default model) with child models. If 2, object is a brand that has no child models and thus also serves as the model..
|
||||
var/parts = list("chest", "groin", "head", "r_arm", "r_hand", "r_leg", "r_foot", "l_leg", "l_foot", "l_arm", "l_hand") //Defines what parts said brand can replace on a body.
|
||||
var/parts = list("chest", "groin", "head", "r_arm", "r_hand", "r_leg", "r_foot", "l_leg", "l_foot", "l_arm", "l_hand") // Defines what parts said brand can replace on a body.
|
||||
|
||||
/datum/robolimb/bishop
|
||||
company = "Bishop Cybernetics"
|
||||
|
||||
Reference in New Issue
Block a user