diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 88b96a13deb..cbd31965423 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -124,7 +124,7 @@ Please contact me on #coderbus IRC. ~Carn x var/list/overlays_lying[TOTAL_LAYERS] var/list/overlays_standing[TOTAL_LAYERS] var/previous_damage_appearance // store what the body last looked like, so we only have to update it if something changed - + var/race_icon //UPDATES OVERLAYS FROM OVERLAYS_LYING/OVERLAYS_STANDING //this proc is messy as I was forced to include some old laggy cloaking code to it so that I don't break cloakers @@ -233,24 +233,8 @@ proc/get_damage_icon_part(damage_state, body_part) var/g = "m" if(gender == FEMALE) g = "f" - var/icon/icobase - if(skeleton) - icobase = 'icons/mob/human_races/r_skeleton.dmi' - else if(dna) - switch(dna.mutantrace) - if("tajaran") - icobase = 'icons/mob/human_races/r_tajaran.dmi' - if("lizard") - icobase = 'icons/mob/human_races/r_lizard.dmi' - if("skrell") - icobase = 'icons/mob/human_races/r_skrell.dmi' - else - icobase = 'icons/mob/human_races/r_human.dmi' - else - icobase = 'icons/mob/human_races/r_human.dmi' - if(!skeleton) - stand_icon = new /icon(icobase, "torso_[g][fat?"_fat":""]") + stand_icon = new /icon(race_icon, "torso_[g][fat?"_fat":""]") if(husk) stand_icon.ColorTone(husk_color_mod) else if(hulk) @@ -260,7 +244,7 @@ proc/get_damage_icon_part(damage_state, body_part) else if(plant) stand_icon.ColorTone(plant_color_mod) else - stand_icon = new /icon(icobase, "torso") + stand_icon = new /icon(race_icon, "torso") var/datum/organ/external/head = get_organ("head") var/has_head = 0 @@ -272,16 +256,16 @@ proc/get_damage_icon_part(damage_state, body_part) var/icon/temp if(istype(part, /datum/organ/external/groin)) if(skeleton) - temp = new /icon(icobase, "groin") + temp = new /icon(race_icon, "groin") else - temp = new /icon(icobase, "groin_[g]") + temp = new /icon(race_icon, "groin_[g]") else if(istype(part, /datum/organ/external/head)) if(skeleton) - temp = new /icon(icobase, "head") + temp = new /icon(race_icon, "head") else - temp = new /icon(icobase, "head_[g]") + temp = new /icon(race_icon, "head_[g]") else - temp = new /icon(icobase, "[part.icon_name]") + temp = new /icon(race_icon, "[part.icon_name]") if(part.status & ORGAN_ROBOT) temp.GrayScale() if(part.status & ORGAN_DEAD) @@ -326,7 +310,7 @@ proc/get_damage_icon_part(damage_state, body_part) if(husk) var/icon/mask = new(stand_icon) - var/icon/husk_over = new(icobase,"overlay_husk") + var/icon/husk_over = new(race_icon,"overlay_husk") mask.MapColors(0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,0) husk_over.Blend(mask, ICON_ADD) stand_icon.Blend(husk_over, ICON_OVERLAY) @@ -450,14 +434,30 @@ proc/get_damage_icon_part(damage_state, body_part) // var/g = "m" // if (gender == FEMALE) g = "f" //BS12 EDIT + var/skeleton = (SKELETON in src.mutations) + if(skeleton) + race_icon = 'icons/mob/human_races/r_skeleton.dmi' + else if(dna) + switch(dna.mutantrace) + if("tajaran") + race_icon = 'icons/mob/human_races/r_tajaran.dmi' + if("lizard") + race_icon = 'icons/mob/human_races/r_lizard.dmi' + if("skrell") + race_icon = 'icons/mob/human_races/r_skrell.dmi' + else + race_icon = 'icons/mob/human_races/r_human.dmi' + else + icon = 'icons/mob/human_races/r_human.dmi' + if(dna) switch(dna.mutantrace) - if("lizard","golem","slime","shadow","adamantine") + if("golem","slime","shadow","adamantine") overlays_lying[MUTANTRACE_LAYER] = image("icon" = 'icons/effects/genetics.dmi', "icon_state" = "[dna.mutantrace][fat]_[gender]_l") overlays_standing[MUTANTRACE_LAYER] = image("icon" = 'icons/effects/genetics.dmi', "icon_state" = "[dna.mutantrace][fat]_[gender]_s") - if("lizard","tajaran","skrell") - overlays_lying[MUTANTRACE_LAYER] = image("icon" = 'icons/effects/species.dmi', "icon_state" = "[dna.mutantrace]_[gender]_l") - overlays_standing[MUTANTRACE_LAYER] = image("icon" = 'icons/effects/species.dmi', "icon_state" = "[dna.mutantrace]_[gender]_s") + // if("lizard","tajaran","skrell") + // overlays_lying[MUTANTRACE_LAYER] = image("icon" = 'icons/effects/species.dmi', "icon_state" = "[dna.mutantrace]_[gender]_l") + // overlays_standing[MUTANTRACE_LAYER] = image("icon" = 'icons/effects/species.dmi', "icon_state" = "[dna.mutantrace]_[gender]_s") if("plant") if(stat == DEAD) //TODO overlays_lying[MUTANTRACE_LAYER] = image("icon" = 'icons/effects/genetics.dmi', "icon_state" = "[dna.mutantrace]_d") diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index b7b8c32393e..461a20a4921 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -135,37 +135,34 @@ datum/preferences var/g = "m" if(gender == FEMALE) g = "f" - if(species == "Tajaran") - preview_icon = new /icon('icons/effects/species.dmi', "tajaran_[g]_s") - preview_icon.Blend(new /icon('icons/effects/species.dmi', "tajtail_s"), ICON_OVERLAY) - else if(species == "Unathi") - preview_icon = new /icon('icons/effects/species.dmi', "lizard_[g]_s") - preview_icon.Blend(new /icon('icons/effects/species.dmi', "sogtail_s"), ICON_OVERLAY) - else if(species == "Skrell") - preview_icon = new /icon('icons/effects/species.dmi', "skrell_[g]_s") - else - preview_icon = new /icon('human.dmi', "torso_[g]_s") - preview_icon.Blend(new /icon('human.dmi', "chest_[g]_s"), ICON_OVERLAY) + var/icon/icobase + switch(species) + if("Tajaran") + icobase = 'icons/mob/human_races/r_tajaran.dmi' + if("Unathi") + icobase = 'icons/mob/human_races/r_lizard.dmi' + if("Skrell") + icobase = 'icons/mob/human_races/r_skrell.dmi' + else + icobase = 'icons/mob/human_races/r_human.dmi' + preview_icon = new /icon(icobase, "torso_[g]") + preview_icon.Blend(new /icon(icobase, "groin_[g]"), ICON_OVERLAY) + preview_icon.Blend(new /icon(icobase, "head_[g]"), ICON_OVERLAY) - if(organ_data["head"] != "amputated") - preview_icon.Blend(new /icon('human.dmi', "head_[g]_s"), ICON_OVERLAY) + for(var/name in list("l_arm","r_arm","l_leg","r_leg","l_foot","r_foot","l_hand","r_hand")) + // make sure the organ is added to the list so it's drawn + if(organ_data[name] == null) + organ_data[name] = null - for(var/name in list("l_arm","r_arm","l_leg","r_leg","l_foot","r_foot","l_hand","r_hand")) - // make sure the organ is added to the list so it's drawn - if(organ_data[name] == null) - organ_data[name] = null + for(var/name in organ_data) + if(organ_data[name] == "amputated") continue - for(var/name in organ_data) - if(organ_data[name] == "amputated") continue + var/icon/temp = new /icon(icobase, "[name]") + if(organ_data[name] == "cyborg") + temp.MapColors(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0)) - var/icon/temp = new /icon('human.dmi', "[name]_s") - if(organ_data[name] == "cyborg") - temp.MapColors(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0)) - - preview_icon.Blend(temp, ICON_OVERLAY) - - preview_icon.Blend(new /icon('human.dmi', "groin_[g]_s"), ICON_OVERLAY) + preview_icon.Blend(temp, ICON_OVERLAY) // Skin tone if(species == "Human") diff --git a/icons/mob/human_races/r_human.dmi b/icons/mob/human_races/r_human.dmi index 16324b2bee5..40d2a6aa606 100644 Binary files a/icons/mob/human_races/r_human.dmi and b/icons/mob/human_races/r_human.dmi differ diff --git a/icons/mob/human_races/r_lizard.dmi b/icons/mob/human_races/r_lizard.dmi index cdd67dd1ed7..e8fb53fdac0 100644 Binary files a/icons/mob/human_races/r_lizard.dmi and b/icons/mob/human_races/r_lizard.dmi differ diff --git a/icons/mob/human_races/r_skrell.dmi b/icons/mob/human_races/r_skrell.dmi index daf33ee223e..9d6713a3cbe 100644 Binary files a/icons/mob/human_races/r_skrell.dmi and b/icons/mob/human_races/r_skrell.dmi differ diff --git a/icons/mob/human_races/r_tajaran.dmi b/icons/mob/human_races/r_tajaran.dmi index ad23c0ebcf8..7fe00fe9a01 100644 Binary files a/icons/mob/human_races/r_tajaran.dmi and b/icons/mob/human_races/r_tajaran.dmi differ