From 6c2f5a4b713e5dadedbca49f7717ef8680d8fc84 Mon Sep 17 00:00:00 2001 From: Core0verload Date: Sun, 29 Jan 2017 20:22:24 +0300 Subject: [PATCH] Genocides "_s" in icon states (#23366) * Genocide of "_s", part 1: mutations * Genocide of "_s", part 2: aliens * Genocide of "_s", part 3: augments * Genocide of "_s", part 4: facial overlays * Genocide of "_s", part 5: underwear * Genocide of "_s", part 6: uniforms * Genocide of "_s", part 7: animal body parts * Genocide of "_s", part 8: human body parts * Adds back icons used by hallucinations * Changes some icon states from "broken" to "still broken" --- code/datums/mutations.dm | 6 +- code/game/gamemodes/blob/blobs/blob_mobs.dm | 2 +- .../abduction/machinery/experiment.dm | 26 ++++---- code/game/machinery/limbgrower.dm | 2 +- code/modules/flufftext/Hallucination.dm | 6 +- code/modules/mob/dead/observer/observer.dm | 4 +- .../carbon/alien/humanoid/caste/drone.dm | 2 +- .../carbon/alien/humanoid/caste/hunter.dm | 2 +- .../carbon/alien/humanoid/caste/sentinel.dm | 2 +- .../living/carbon/alien/humanoid/humanoid.dm | 2 +- .../carbon/alien/humanoid/update_icons.dm | 6 +- code/modules/mob/living/carbon/human/human.dm | 2 +- .../mob/living/carbon/human/species.dm | 60 +++++++++--------- .../mob/living/carbon/human/update_icons.dm | 4 +- .../mob/living/carbon/monkey/update_icons.dm | 2 +- .../mob/living/simple_animal/hostile/alien.dm | 16 ++--- .../simple_animal/hostile/retaliate/ghost.dm | 4 +- code/modules/surgery/bodyparts/bodyparts.dm | 32 +++++----- code/modules/surgery/bodyparts/head.dm | 34 +++++----- icons/effects/genetics.dmi | Bin 4980 -> 4979 bytes icons/mob/alien.dmi | Bin 88201 -> 88197 bytes icons/mob/animal_parts.dmi | Bin 4681 -> 4673 bytes icons/mob/augments.dmi | Bin 1695 -> 1692 bytes icons/mob/human.dmi | Bin 14613 -> 15696 bytes icons/mob/human_face.dmi | Bin 50459 -> 50435 bytes icons/mob/human_parts.dmi | Bin 11285 -> 11281 bytes icons/mob/human_parts_greyscale.dmi | Bin 29092 -> 29081 bytes icons/mob/underwear.dmi | Bin 49389 -> 49383 bytes icons/mob/uniform.dmi | Bin 246441 -> 246443 bytes 29 files changed, 106 insertions(+), 108 deletions(-) diff --git a/code/datums/mutations.dm b/code/datums/mutations.dm index 3c49872fb8c..2053f58b0f2 100644 --- a/code/datums/mutations.dm +++ b/code/datums/mutations.dm @@ -161,7 +161,7 @@ /datum/mutation/human/telekinesis/New() ..() - visual_indicators |= image("icon"='icons/effects/genetics.dmi', "icon_state"="telekinesishead_s", "layer"=-MUTATIONS_LAYER) + visual_indicators |= image("icon"='icons/effects/genetics.dmi', "icon_state"="telekinesishead", "layer"=-MUTATIONS_LAYER) /datum/mutation/human/telekinesis/get_visual_indicator(mob/living/carbon/human/owner) return visual_indicators[1] @@ -180,7 +180,7 @@ /datum/mutation/human/cold_resistance/New() ..() - visual_indicators |= image("icon"='icons/effects/genetics.dmi', "icon_state"="fire_s", "layer"=-MUTATIONS_LAYER) + visual_indicators |= image("icon"='icons/effects/genetics.dmi', "icon_state"="fire", "layer"=-MUTATIONS_LAYER) /datum/mutation/human/cold_resistance/get_visual_indicator(mob/living/carbon/human/owner) return visual_indicators[1] @@ -618,7 +618,7 @@ /datum/mutation/human/laser_eyes/New() ..() - visual_indicators |= image("icon"='icons/effects/genetics.dmi', "icon_state"="lasereyes_s", "layer"=-FRONT_MUTATIONS_LAYER) + visual_indicators |= image("icon"='icons/effects/genetics.dmi', "icon_state"="lasereyes", "layer"=-FRONT_MUTATIONS_LAYER) /datum/mutation/human/laser_eyes/get_visual_indicator(mob/living/carbon/human/owner) return visual_indicators[1] diff --git a/code/game/gamemodes/blob/blobs/blob_mobs.dm b/code/game/gamemodes/blob/blobs/blob_mobs.dm index 570a0df62e3..4159cd7ba87 100644 --- a/code/game/gamemodes/blob/blobs/blob_mobs.dm +++ b/code/game/gamemodes/blob/blobs/blob_mobs.dm @@ -133,7 +133,7 @@ movement_type = GROUND death_cloud_size = 0 icon = H.icon - icon_state = "zombie_s" + icon_state = "zombie" H.hair_style = null H.update_hair() human_overlays = H.overlays diff --git a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm index df5afd91086..adc9627ca8f 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm @@ -63,31 +63,31 @@ var/icon/photo = null var/g = (H.gender == FEMALE) ? "f" : "m" if(!config.mutant_races || H.dna.species.use_skintones) - photo = icon("icon" = 'icons/mob/human.dmi', "icon_state" = "[H.skin_tone]_[g]_s") + photo = icon("icon" = 'icons/mob/human.dmi', "icon_state" = "[H.skin_tone]_[g]") else - photo = icon("icon" = 'icons/mob/human.dmi', "icon_state" = "[H.dna.species.id]_[g]_s") + photo = icon("icon" = 'icons/mob/human.dmi', "icon_state" = "[H.dna.species.id]_[g]") photo.Blend("#[H.dna.features["mcolor"]]", ICON_MULTIPLY) - var/icon/eyes_s + var/icon/eyes if(EYECOLOR in H.dna.species.species_traits) - eyes_s = icon("icon" = 'icons/mob/human_face.dmi', "icon_state" = "[H.dna.species.eyes]_s") - eyes_s.Blend("#[H.eye_color]", ICON_MULTIPLY) + eyes = icon("icon" = 'icons/mob/human_face.dmi', "icon_state" = "[H.dna.species.eyes]") + eyes.Blend("#[H.eye_color]", ICON_MULTIPLY) var/datum/sprite_accessory/S S = hair_styles_list[H.hair_style] if(S && (HAIR in H.dna.species.species_traits)) - var/icon/hair_s = icon("icon" = S.icon, "icon_state" = "[S.icon_state]_s") - hair_s.Blend("#[H.hair_color]", ICON_MULTIPLY) - eyes_s.Blend(hair_s, ICON_OVERLAY) + var/icon/hair = icon("icon" = S.icon, "icon_state" = "[S.icon_state]") + hair.Blend("#[H.hair_color]", ICON_MULTIPLY) + eyes.Blend(hair, ICON_OVERLAY) S = facial_hair_styles_list[H.facial_hair_style] if(S && (FACEHAIR in H.dna.species.species_traits)) - var/icon/facial_s = icon("icon" = S.icon, "icon_state" = "[S.icon_state]_s") - facial_s.Blend("#[H.facial_hair_color]", ICON_MULTIPLY) - eyes_s.Blend(facial_s, ICON_OVERLAY) + var/icon/facial = icon("icon" = S.icon, "icon_state" = "[S.icon_state]") + facial.Blend("#[H.facial_hair_color]", ICON_MULTIPLY) + eyes.Blend(facial, ICON_OVERLAY) - if(eyes_s) - photo.Blend(eyes_s, ICON_OVERLAY) + if(eyes) + photo.Blend(eyes, ICON_OVERLAY) var/icon/splat = icon("icon" = 'icons/mob/dam_mob.dmi',"icon_state" = "chest30") photo.Blend(splat,ICON_OVERLAY) diff --git a/code/game/machinery/limbgrower.dm b/code/game/machinery/limbgrower.dm index 7f251ed4018..f5927cfb210 100644 --- a/code/game/machinery/limbgrower.dm +++ b/code/game/machinery/limbgrower.dm @@ -154,7 +154,7 @@ else limb.icon = 'icons/mob/human_parts.dmi' // Set this limb up using the specias name and body zone - limb.icon_state = "[selected_category]_[limb.body_zone]_s" + limb.icon_state = "[selected_category]_[limb.body_zone]" limb.name = "Synthetic [selected_category] [parse_zone(limb.body_zone)]" limb.desc = "A synthetic [selected_category] limb that will morph on its first use in surgery. This one is for the [parse_zone(limb.body_zone)]" limb.species_id = selected_category diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index 01e9a052965..3e17659d2ab 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -306,7 +306,7 @@ Gunshots/explosions/opening doors/less rare audio (done) if("corgi")//Corgi A = image('icons/mob/pets.dmi',H,"corgi") if("skeleton")//Skeletons - A = image('icons/mob/human.dmi',H,"skeleton_s") + A = image('icons/mob/human.dmi',H,"skeleton") if("demon")//Demon A = image('icons/mob/mob.dmi',H,"daemon") if("custom") @@ -715,13 +715,13 @@ var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/ballistic, /obj/item var/turf/open/floor/target = pick(possible_points) switch(rand(1,4)) if(1) - var/image/body = image('icons/mob/human.dmi',target,"husk_s",TURF_LAYER) + var/image/body = image('icons/mob/human.dmi',target,"husk",TURF_LAYER) var/matrix/M = matrix() M.Turn(90) body.transform = M halbody = body if(2,3) - halbody = image('icons/mob/human.dmi',target,"husk_s",TURF_LAYER) + halbody = image('icons/mob/human.dmi',target,"husk",TURF_LAYER) if(4) halbody = image('icons/mob/alien.dmi',target,"alienother",TURF_LAYER) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 8a4f2817873..93e004cb396 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -187,7 +187,7 @@ var/list/image/ghost_images_simple = list() //this is a list of all ghost images if(facial_hair_style) S = facial_hair_styles_list[facial_hair_style] if(S) - facial_hair_image = image("icon" = S.icon, "icon_state" = "[S.icon_state]_s", "layer" = -HAIR_LAYER) + facial_hair_image = image("icon" = S.icon, "icon_state" = "[S.icon_state]", "layer" = -HAIR_LAYER) if(facial_hair_color) facial_hair_image.color = "#" + facial_hair_color facial_hair_image.alpha = 200 @@ -196,7 +196,7 @@ var/list/image/ghost_images_simple = list() //this is a list of all ghost images if(hair_style) S = hair_styles_list[hair_style] if(S) - hair_image = image("icon" = S.icon, "icon_state" = "[S.icon_state]_s", "layer" = -HAIR_LAYER) + hair_image = image("icon" = S.icon, "icon_state" = "[S.icon_state]", "layer" = -HAIR_LAYER) if(hair_color) hair_image.color = "#" + hair_color hair_image.alpha = 200 diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm index 5f0dbd5635e..14ef84f6bfd 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm @@ -3,7 +3,7 @@ caste = "d" maxHealth = 125 health = 125 - icon_state = "aliend_s" + icon_state = "aliend" /mob/living/carbon/alien/humanoid/drone/New() diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm index 8a52daeb80b..fcfe69619d4 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm @@ -3,7 +3,7 @@ caste = "h" maxHealth = 125 health = 125 - icon_state = "alienh_s" + icon_state = "alienh" var/obj/screen/leap_icon = null /mob/living/carbon/alien/humanoid/hunter/create_internal_organs() diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm index dacd4ff7d4a..7183730c5e7 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm @@ -3,7 +3,7 @@ caste = "s" maxHealth = 150 health = 150 - icon_state = "aliens_s" + icon_state = "aliens" /mob/living/carbon/alien/humanoid/sentinel/New() diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index cd47ad3bc26..856376c3f26 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -1,6 +1,6 @@ /mob/living/carbon/alien/humanoid name = "alien" - icon_state = "alien_s" + icon_state = "alien" pass_flags = PASSTABLE butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/meat/slab/xeno = 5, /obj/item/stack/sheet/animalhide/xeno = 1) limb_destroyer = 1 diff --git a/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm b/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm index 8572e72c906..556d5ac7db7 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm @@ -23,9 +23,9 @@ if(drooling) add_overlay("alienspit_[caste]") else - icon_state = "alien[caste]_s" + icon_state = "alien[caste]" if(drooling) - add_overlay("alienspit_s") + add_overlay("alienspit") if(leaping) if(alt_icon == initial(alt_icon)) @@ -58,7 +58,7 @@ /mob/living/carbon/alien/humanoid/update_inv_handcuffed() remove_overlay(HANDCUFF_LAYER) - var/cuff_icon = "aliencuff_s" + var/cuff_icon = "aliencuff" var/dmi_file = 'icons/mob/alien.dmi' if(mob_size == MOB_SIZE_LARGE) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 40ad2ba1d6e..9c33fad855c 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -3,7 +3,7 @@ real_name = "Unknown" voice_name = "Unknown" icon = 'icons/mob/human.dmi' - icon_state = "caucasian_m_s" + icon_state = "caucasian_m" diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 12f2b8dc7a8..2071e7486f3 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -180,22 +180,22 @@ if(H.facial_hair_style && (FACEHAIR in species_traits) && !facialhair_hidden) S = facial_hair_styles_list[H.facial_hair_style] if(S) - var/image/img_facial_s = image("icon" = S.icon, "icon_state" = "[S.icon_state]_s", "layer" = -HAIR_LAYER) + var/image/img_facial = image("icon" = S.icon, "icon_state" = "[S.icon_state]", "layer" = -HAIR_LAYER) if(!forced_colour) if(hair_color) if(hair_color == "mutcolor") - img_facial_s.color = "#" + H.dna.features["mcolor"] + img_facial.color = "#" + H.dna.features["mcolor"] else - img_facial_s.color = "#" + hair_color + img_facial.color = "#" + hair_color else - img_facial_s.color = "#" + H.facial_hair_color + img_facial.color = "#" + H.facial_hair_color else - img_facial_s.color = forced_colour + img_facial.color = forced_colour - img_facial_s.alpha = hair_alpha + img_facial.alpha = hair_alpha - standing += img_facial_s + standing += img_facial //we check if our hat or helmet hides our hair. if(H.head) @@ -209,28 +209,26 @@ if(!hair_hidden) if(!H.getorgan(/obj/item/organ/brain)) //Applies the debrained overlay if there is no brain if(!(NOBLOOD in species_traits)) - standing += image("icon"='icons/mob/human_face.dmi', "icon_state" = "debrained_s", "layer" = -HAIR_LAYER) + standing += image("icon"='icons/mob/human_face.dmi', "icon_state" = "debrained", "layer" = -HAIR_LAYER) else if(H.hair_style && (HAIR in species_traits)) S = hair_styles_list[H.hair_style] if(S) - var/image/img_hair_s = image("icon" = S.icon, "icon_state" = "[S.icon_state]_s", "layer" = -HAIR_LAYER) - - img_hair_s = image("icon" = S.icon, "icon_state" = "[S.icon_state]_s", "layer" = -HAIR_LAYER) + var/image/img_hair = image("icon" = S.icon, "icon_state" = "[S.icon_state]", "layer" = -HAIR_LAYER) if(!forced_colour) if(hair_color) if(hair_color == "mutcolor") - img_hair_s.color = "#" + H.dna.features["mcolor"] + img_hair.color = "#" + H.dna.features["mcolor"] else - img_hair_s.color = "#" + hair_color + img_hair.color = "#" + hair_color else - img_hair_s.color = "#" + H.hair_color + img_hair.color = "#" + H.hair_color else - img_hair_s.color = forced_colour - img_hair_s.alpha = hair_alpha + img_hair.color = forced_colour + img_hair.alpha = hair_alpha - standing += img_hair_s + standing += img_hair if(standing.len) H.overlays_standing[HAIR_LAYER] = standing @@ -247,34 +245,34 @@ if(!(H.disabilities & HUSK)) // lipstick if(H.lip_style && (LIPS in species_traits) && HD) - var/image/lips = image("icon"='icons/mob/human_face.dmi', "icon_state"="lips_[H.lip_style]_s", "layer" = -BODY_LAYER) + var/image/lips = image("icon"='icons/mob/human_face.dmi', "icon_state"="lips_[H.lip_style]", "layer" = -BODY_LAYER) lips.color = H.lip_color standing += lips // eyes if((EYECOLOR in species_traits) && HD) - var/image/img_eyes_s = image("icon" = 'icons/mob/human_face.dmi', "icon_state" = "[eyes]_s", "layer" = -BODY_LAYER) - img_eyes_s.color = "#" + H.eye_color - standing += img_eyes_s + var/image/img_eyes = image("icon" = 'icons/mob/human_face.dmi', "icon_state" = "[eyes]", "layer" = -BODY_LAYER) + img_eyes.color = "#" + H.eye_color + standing += img_eyes //Underwear, Undershirts & Socks if(H.underwear) - var/datum/sprite_accessory/underwear/U = underwear_list[H.underwear] - if(U) - standing += image("icon"=U.icon, "icon_state"="[U.icon_state]_s", "layer"=-BODY_LAYER) + var/datum/sprite_accessory/underwear/underwear = underwear_list[H.underwear] + if(underwear) + standing += image("icon"=underwear.icon, "icon_state"="[underwear.icon_state]", "layer"=-BODY_LAYER) if(H.undershirt) - var/datum/sprite_accessory/undershirt/U2 = undershirt_list[H.undershirt] - if(U2) + var/datum/sprite_accessory/undershirt/undershirt = undershirt_list[H.undershirt] + if(undershirt) if(H.dna.species.sexes && H.gender == FEMALE) - standing += wear_female_version("[U2.icon_state]_s", U2.icon, BODY_LAYER) + standing += wear_female_version("[undershirt.icon_state]", undershirt.icon, BODY_LAYER) else - standing += image("icon"=U2.icon, "icon_state"="[U2.icon_state]_s", "layer"=-BODY_LAYER) + standing += image("icon"=undershirt.icon, "icon_state"="[undershirt.icon_state]", "layer"=-BODY_LAYER) if(H.socks && H.get_num_legs() >= 2 && !(DIGITIGRADE in species_traits)) - var/datum/sprite_accessory/socks/U3 = socks_list[H.socks] - if(U3) - standing += image("icon"=U3.icon, "icon_state"="[U3.icon_state]_s", "layer"=-BODY_LAYER) + var/datum/sprite_accessory/socks/socks = socks_list[H.socks] + if(socks) + standing += image("icon"=socks.icon, "icon_state"="[socks.icon_state]", "layer"=-BODY_LAYER) if(standing.len) H.overlays_standing[BODY_LAYER] = standing diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index e2cfd27b94c..7910244db72 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -128,10 +128,10 @@ There are several things that need to be remembered: if(dna && dna.species.sexes) var/G = (gender == FEMALE) ? "f" : "m" if(G == "f" && U.fitted != NO_FEMALE_UNIFORM) - standing = U.build_worn_icon(state = "[t_color]_s", default_layer = UNIFORM_LAYER, default_icon_file = 'icons/mob/uniform.dmi', isinhands = FALSE, femaleuniform = U.fitted) + standing = U.build_worn_icon(state = "[t_color]", default_layer = UNIFORM_LAYER, default_icon_file = 'icons/mob/uniform.dmi', isinhands = FALSE, femaleuniform = U.fitted) if(!standing) - standing = U.build_worn_icon(state = "[t_color]_s", default_layer = UNIFORM_LAYER, default_icon_file = 'icons/mob/uniform.dmi', isinhands = FALSE) + standing = U.build_worn_icon(state = "[t_color]", default_layer = UNIFORM_LAYER, default_icon_file = 'icons/mob/uniform.dmi', isinhands = FALSE) overlays_standing[UNIFORM_LAYER] = standing diff --git a/code/modules/mob/living/carbon/monkey/update_icons.dm b/code/modules/mob/living/carbon/monkey/update_icons.dm index 58f2b2d50c5..917d0e98c11 100644 --- a/code/modules/mob/living/carbon/monkey/update_icons.dm +++ b/code/modules/mob/living/carbon/monkey/update_icons.dm @@ -34,7 +34,7 @@ hair_hidden = 1 if(!hair_hidden) if(!getorgan(/obj/item/organ/brain)) //Applies the debrained overlay if there is no brain - var/image/I = image("icon"='icons/mob/human_face.dmi', "icon_state" = "debrained_s", "layer" = -HAIR_LAYER) + var/image/I = image("icon"='icons/mob/human_face.dmi', "icon_state" = "debrained", "layer" = -HAIR_LAYER) overlays_standing[HAIR_LAYER] = I apply_overlay(HAIR_LAYER) diff --git a/code/modules/mob/living/simple_animal/hostile/alien.dm b/code/modules/mob/living/simple_animal/hostile/alien.dm index be00d14a180..ceb8d563bfd 100644 --- a/code/modules/mob/living/simple_animal/hostile/alien.dm +++ b/code/modules/mob/living/simple_animal/hostile/alien.dm @@ -2,8 +2,8 @@ name = "alien hunter" desc = "Hiss!" icon = 'icons/mob/alien.dmi' - icon_state = "alienh_s" - icon_living = "alienh_s" + icon_state = "alienh" + icon_living = "alienh" icon_dead = "alienh_dead" icon_gib = "syndicate_gib" gender = FEMALE @@ -38,8 +38,8 @@ /mob/living/simple_animal/hostile/alien/drone name = "alien drone" - icon_state = "aliend_s" - icon_living = "aliend_s" + icon_state = "aliend" + icon_living = "aliend" icon_dead = "aliend_dead" melee_damage_lower = 15 melee_damage_upper = 15 @@ -57,8 +57,8 @@ /mob/living/simple_animal/hostile/alien/sentinel name = "alien sentinel" - icon_state = "aliens_s" - icon_living = "aliens_s" + icon_state = "aliens" + icon_living = "aliens" icon_dead = "aliens_dead" health = 150 maxHealth = 150 @@ -73,8 +73,8 @@ /mob/living/simple_animal/hostile/alien/queen name = "alien queen" - icon_state = "alienq_s" - icon_living = "alienq_s" + icon_state = "alienq" + icon_living = "alienq" icon_dead = "alienq_dead" health = 250 maxHealth = 250 diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm index 3880b6a1fee..5321cce2af1 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm @@ -53,13 +53,13 @@ /mob/living/simple_animal/hostile/retaliate/ghost/proc/give_hair() if(ghost_hair_style != null) - ghost_hair = image('icons/mob/human_face.dmi', "hair_[ghost_hair_style]_s") + ghost_hair = image('icons/mob/human_face.dmi', "hair_[ghost_hair_style]") ghost_hair.layer = -HAIR_LAYER ghost_hair.alpha = 200 ghost_hair.color = ghost_hair_color add_overlay(ghost_hair) if(ghost_facial_hair_style != null) - ghost_facial_hair = image('icons/mob/human_face.dmi', "facial_[ghost_facial_hair_style]_s") + ghost_facial_hair = image('icons/mob/human_face.dmi', "facial_[ghost_facial_hair_style]") ghost_facial_hair.layer = -HAIR_LAYER ghost_facial_hair.alpha = 200 ghost_facial_hair.color = ghost_facial_hair_color diff --git a/code/modules/surgery/bodyparts/bodyparts.dm b/code/modules/surgery/bodyparts/bodyparts.dm index d8a132363cc..44af9335068 100644 --- a/code/modules/surgery/bodyparts/bodyparts.dm +++ b/code/modules/surgery/bodyparts/bodyparts.dm @@ -287,11 +287,11 @@ if(animal_origin) if(status == BODYPART_ORGANIC) if(species_id == "husk") - standing += image("icon"='icons/mob/animal_parts.dmi', "icon_state"="[animal_origin]_husk_[body_zone]_s", "layer"=-BODYPARTS_LAYER, "dir"=image_dir) + standing += image("icon"='icons/mob/animal_parts.dmi', "icon_state"="[animal_origin]_husk_[body_zone]", "layer"=-BODYPARTS_LAYER, "dir"=image_dir) else - standing += image("icon"='icons/mob/animal_parts.dmi', "icon_state"="[animal_origin]_[body_zone]_s", "layer"=-BODYPARTS_LAYER, "dir"=image_dir) + standing += image("icon"='icons/mob/animal_parts.dmi', "icon_state"="[animal_origin]_[body_zone]", "layer"=-BODYPARTS_LAYER, "dir"=image_dir) else - standing += image("icon"='icons/mob/augments.dmi', "icon_state"="[animal_origin]_[body_zone]_s", "layer"=-BODYPARTS_LAYER, "dir"=image_dir) + standing += image("icon"='icons/mob/augments.dmi', "icon_state"="[animal_origin]_[body_zone]", "layer"=-BODYPARTS_LAYER, "dir"=image_dir) return standing var/icon_gender = (body_gender == FEMALE) ? "f" : "m" //gender of the icon, if applicable @@ -304,21 +304,21 @@ if(status == BODYPART_ORGANIC) if(should_draw_greyscale) if(should_draw_gender) - I = image("icon"='icons/mob/human_parts_greyscale.dmi', "icon_state"="[species_id]_[body_zone]_[icon_gender]_s", "layer"=-BODYPARTS_LAYER, "dir"=image_dir) + I = image("icon"='icons/mob/human_parts_greyscale.dmi', "icon_state"="[species_id]_[body_zone]_[icon_gender]", "layer"=-BODYPARTS_LAYER, "dir"=image_dir) else if(use_digitigrade) - I = image("icon"='icons/mob/human_parts_greyscale.dmi', "icon_state"="digitigrade_[use_digitigrade]_[body_zone]_s", "layer"=-BODYPARTS_LAYER, "dir"=image_dir) + I = image("icon"='icons/mob/human_parts_greyscale.dmi', "icon_state"="digitigrade_[use_digitigrade]_[body_zone]", "layer"=-BODYPARTS_LAYER, "dir"=image_dir) else - I = image("icon"='icons/mob/human_parts_greyscale.dmi', "icon_state"="[species_id]_[body_zone]_s", "layer"=-BODYPARTS_LAYER, "dir"=image_dir) + I = image("icon"='icons/mob/human_parts_greyscale.dmi', "icon_state"="[species_id]_[body_zone]", "layer"=-BODYPARTS_LAYER, "dir"=image_dir) else if(should_draw_gender) - I = image("icon"='icons/mob/human_parts.dmi', "icon_state"="[species_id]_[body_zone]_[icon_gender]_s", "layer"=-BODYPARTS_LAYER, "dir"=image_dir) + I = image("icon"='icons/mob/human_parts.dmi', "icon_state"="[species_id]_[body_zone]_[icon_gender]", "layer"=-BODYPARTS_LAYER, "dir"=image_dir) else - I = image("icon"='icons/mob/human_parts.dmi', "icon_state"="[species_id]_[body_zone]_s", "layer"=-BODYPARTS_LAYER, "dir"=image_dir) + I = image("icon"='icons/mob/human_parts.dmi', "icon_state"="[species_id]_[body_zone]", "layer"=-BODYPARTS_LAYER, "dir"=image_dir) else if(should_draw_gender) - I = image("icon"='icons/mob/augments.dmi', "icon_state"="[body_zone]_[icon_gender]_s", "layer"=-BODYPARTS_LAYER, "dir"=image_dir) + I = image("icon"='icons/mob/augments.dmi', "icon_state"="[body_zone]_[icon_gender]", "layer"=-BODYPARTS_LAYER, "dir"=image_dir) else - I = image("icon"='icons/mob/augments.dmi', "icon_state"="[body_zone]_s", "layer"=-BODYPARTS_LAYER, "dir"=image_dir) + I = image("icon"='icons/mob/augments.dmi', "icon_state"="[body_zone]", "layer"=-BODYPARTS_LAYER, "dir"=image_dir) standing += I return standing @@ -379,7 +379,7 @@ /obj/item/bodypart/chest/alien icon = 'icons/mob/animal_parts.dmi' - icon_state = "alien_chest_s" + icon_state = "alien_chest" dismemberable = 0 max_damage = 500 animal_origin = ALIEN_BODYPART @@ -391,7 +391,7 @@ /obj/item/bodypart/chest/larva icon = 'icons/mob/animal_parts.dmi' - icon_state = "larva_chest_s" + icon_state = "larva_chest" dismemberable = 0 max_damage = 50 animal_origin = LARVA_BODYPART @@ -420,7 +420,7 @@ /obj/item/bodypart/l_arm/alien icon = 'icons/mob/animal_parts.dmi' - icon_state = "alien_l_arm_s" + icon_state = "alien_l_arm" px_x = 0 px_y = 0 dismemberable = 0 @@ -454,7 +454,7 @@ /obj/item/bodypart/r_arm/alien icon = 'icons/mob/animal_parts.dmi' - icon_state = "alien_r_arm_s" + icon_state = "alien_r_arm" px_x = 0 px_y = 0 dismemberable = 0 @@ -490,7 +490,7 @@ /obj/item/bodypart/l_leg/alien icon = 'icons/mob/animal_parts.dmi' - icon_state = "alien_l_leg_s" + icon_state = "alien_l_leg" px_x = 0 px_y = 0 dismemberable = 0 @@ -528,7 +528,7 @@ /obj/item/bodypart/r_leg/alien icon = 'icons/mob/animal_parts.dmi' - icon_state = "alien_r_leg_s" + icon_state = "alien_r_leg" px_x = 0 px_y = 0 dismemberable = 0 diff --git a/code/modules/surgery/bodyparts/head.dm b/code/modules/surgery/bodyparts/head.dm index 9f2c59794f3..110314cb8ba 100644 --- a/code/modules/surgery/bodyparts/head.dm +++ b/code/modules/surgery/bodyparts/head.dm @@ -137,40 +137,40 @@ if(facial_hair_style) S = facial_hair_styles_list[facial_hair_style] if(S) - var/image/img_facial_s = image("icon" = S.icon, "icon_state" = "[S.icon_state]_s", "layer" = -HAIR_LAYER, "dir"=SOUTH) - img_facial_s.color = "#" + facial_hair_color - img_facial_s.alpha = hair_alpha - standing += img_facial_s + var/image/img_facial = image("icon" = S.icon, "icon_state" = "[S.icon_state]", "layer" = -HAIR_LAYER, "dir"=SOUTH) + img_facial.color = "#" + facial_hair_color + img_facial.alpha = hair_alpha + standing += img_facial //Applies the debrained overlay if there is no brain if(!brain) if(animal_origin == ALIEN_BODYPART) - standing += image("icon"='icons/mob/animal_parts.dmi', "icon_state" = "debrained_alien_s", "layer" = -HAIR_LAYER, "dir"=SOUTH) + standing += image("icon"='icons/mob/animal_parts.dmi', "icon_state" = "debrained_alien", "layer" = -HAIR_LAYER, "dir"=SOUTH) else if(animal_origin == LARVA_BODYPART) - standing += image("icon"='icons/mob/animal_parts.dmi', "icon_state" = "debrained_larva_s", "layer" = -HAIR_LAYER, "dir"=SOUTH) + standing += image("icon"='icons/mob/animal_parts.dmi', "icon_state" = "debrained_larva", "layer" = -HAIR_LAYER, "dir"=SOUTH) else if(!(NOBLOOD in species_flags_list)) - standing += image("icon"='icons/mob/human_face.dmi', "icon_state" = "debrained_s", "layer" = -HAIR_LAYER, "dir"=SOUTH) + standing += image("icon"='icons/mob/human_face.dmi', "icon_state" = "debrained", "layer" = -HAIR_LAYER, "dir"=SOUTH) else if(hair_style) S = hair_styles_list[hair_style] if(S) - var/image/img_hair_s = image("icon" = S.icon, "icon_state" = "[S.icon_state]_s", "layer" = -HAIR_LAYER, "dir"=SOUTH) - img_hair_s.color = "#" + hair_color - img_hair_s.alpha = hair_alpha - standing += img_hair_s + var/image/img_hair = image("icon" = S.icon, "icon_state" = "[S.icon_state]", "layer" = -HAIR_LAYER, "dir"=SOUTH) + img_hair.color = "#" + hair_color + img_hair.alpha = hair_alpha + standing += img_hair // lipstick if(lip_style) - var/image/lips = image("icon"='icons/mob/human_face.dmi', "icon_state"="lips_[lip_style]_s", "layer" = -BODY_LAYER, "dir"=SOUTH) + var/image/lips = image("icon"='icons/mob/human_face.dmi', "icon_state"="lips_[lip_style]", "layer" = -BODY_LAYER, "dir"=SOUTH) lips.color = lip_color standing += lips // eyes if(eye_color) - var/image/img_eyes_s = image("icon" = 'icons/mob/human_face.dmi', "icon_state" = "[eyes]_s", "layer" = -BODY_LAYER, "dir"=SOUTH) - img_eyes_s.color = "#" + eye_color - standing += img_eyes_s + var/image/img_eyes = image("icon" = 'icons/mob/human_face.dmi', "icon_state" = "[eyes]", "layer" = -BODY_LAYER, "dir"=SOUTH) + img_eyes.color = "#" + eye_color + standing += img_eyes return standing @@ -181,7 +181,7 @@ /obj/item/bodypart/head/alien icon = 'icons/mob/animal_parts.dmi' - icon_state = "alien_head_s" + icon_state = "alien_head" px_x = 0 px_y = 0 dismemberable = 0 @@ -195,7 +195,7 @@ /obj/item/bodypart/head/larva icon = 'icons/mob/animal_parts.dmi' - icon_state = "larva_head_s" + icon_state = "larva_head" px_x = 0 px_y = 0 dismemberable = 0 diff --git a/icons/effects/genetics.dmi b/icons/effects/genetics.dmi index 6e48e4890235d40ce64a70c5d2adf4ff27a8000c..0940d0bd4e1190b7d830f5435f35fdd6371d4c2c 100644 GIT binary patch delta 206 zcmV;<05SjcCi5ncB!9VjR9JLGWpiV4X>fFDZ*Bkpc${_3u?oU47zE%sd5S~VBBr`# zkrwHouONY(CKy}EA1r-)2f-@ncyQm{61#Ta9nl;*{a}_j^sv~j)>@6xmjH`RtyN&W zgz^efTp=tL=a{+B%Ev6Q*lKmo?nZ&dMk~+cCRo&!sf<>cV?*pcEX?c+6R)wSL4C(N8EzuBKl3C<7W=|1G*(k#uFe789|y63L=w?EnA( delta 207 zcmV;=05JdaCiEtdB!9YkR9JLGWpiV4X>fFDZ*Bkpc${^Ou?oU46h-IcD=xYgG1WDT zv`7d21qtM8g0YpnVCmmG2v&!V7tT3%jYE6v&S*}ZelbfNdRXi?Tdl_EOMu0$)+#XG zLir3St`HWhYs|dJN-H0;z+$h}HM<7|7CWsxlbc{sSEe#rWkim#_pmT?p)m0tdrFi* z=a*vj95dCAo}4gqqAZCEw-THm#>;ca#iiLaf999w#N>oomdG{QbA#s8={NWlUpjI| J*Q>GSjS{EnW9__!@R6_bgWOvU7ln4F2pIZLh}$D&@ZyPnQE=xjXFNbsQ+ zDw!mcWYVk6jDI{>|Z8M|g<@A)6DvOzrpt)z;3$lqjwrK>E)tgsWv7x;}f7>g9M#z7-r z=9dEul`~*t7V4-XGCJ;yfm(le&=5=Ig$c&;7(v5A4WiEQPjHY25$rQ>G-k5Mdzf$X z4$LRkfxQftQT)7a5Vhxrb%UsFrTMfidfs)5K2%$D1RpGai|ci^c2#pUD27>4ylR7X zINrQ>FrI#nV-^td0{K5g14R6R+W?WEct9km9T4${Yy(960owo(f4DY4bSt9nMATOi z^-bog(0rNuiOl{)=6@n9K*Cp`#PZdFMLyY<uPHy zSIs?M+q|+qH&x9aw0nt05I)JhXGQJb1V;ssL7SDRfxkfk8MK8gKmIlkWYBsUR%Dy1 zwmJU@v|Brh_EB{4e~X;oNCfO-;3B?#biBl0B9S+LX%WHdsJJoBucK%$r3u^?rffCO zVFORkqq5p!i8k~_l1{McB$=LSLp|`$pd-DT+?@#Xdc{A??O9PB3EUPES;ztG0{431{5yHSBB#Lpa9M|gMWvQ0WPvgH5B$fU43liIdMFY1*0|7);SNoP3 delta 825 zcmV-91IGM?u?2~-1&}0v7wgCd$84hI?5MD6R=k&5TWhnR;5P7SlyC%5?iHunLn!C^C4a#SDP!2mtF zT#vnPTtqK^N3bt{#+7931OLO?Q4fAE9?dQ1%9K8#-UAFFf60MlsH^;?-Mp zgkE<+ zagOt{dB7W2)GidJZs<{akSGM^S?)F0O?Y7p3$O-VUZDc|9SW>Lr@3Y-E*Q9=&bM{r z3i>E?SU-ghNwogIQ3xaWa7cl5dK0O1NjOKsZ&jUtz^bIUDUX0kq63$<;CC=5tN9T& za*Cc*^$sg^aVQdZADhqQ{8Ss8k#7e*>CNosL|8N%`cQXZS#`AFcOZEoN3b*8lb>); zp6i}Wa8D+ys5SxO9zp$K~!MqPhS<7l$|eZ zO&psislAG3v*R@sz#@!{Ay$l{*=)uK`=z*hT8s7L!}Kqd#hU4f2nn`>K?Aoz0|7); D>E@at diff --git a/icons/mob/animal_parts.dmi b/icons/mob/animal_parts.dmi index b120e81d41195436d14bfcb18e387b37abb8ff25..375df9341bf87d1f8faa466bb29866c8cd06dd14 100644 GIT binary patch delta 4455 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 delta 4476 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 JIs=!4{{w9o*p~nR diff --git a/icons/mob/augments.dmi b/icons/mob/augments.dmi index 5bdfc04f2dcdf5c5661f080d10db730627555e74..7124c35105e4648e334b6db31725f5cb968d24fc 100644 GIT binary patch delta 178 zcmV;j08Rg&4V(>-XMdb}R9JLGWpiV4X>fFDZ*Bkpc$`yKaB_9`^iy#0_2eo`Eh^5; z&r`5fFwryM;w;ZhDainGjE%TBGg33tGfE(w;*!LYR3K9+IU}{WBtBP(i!&v&s2HS; zi!-e#F*g;&HbhsKMo?WwYGMiz#(|X)XxsLPHH+4W)Y(b gfFDZ*Bkpc$|%qy$ZuH41{OvDNM4L{;gd~ zLdlT4f-tob8Jq?z)4qQGwnC}4JNR@$r_$c*N7LD=ZQxBw!t}B?dp#V%e1gxsn9CUq zQy4h!MzYJa$l}Q)8Ap@?j1NiHK`?!CBdz-MP4)_s$$3@e1}Ul&1*ho$q7hxv>`qE9 jVx&Qpr{nfhlx_dyN?Ui;_V5`lQ;^eA2#t%g3;~b@;}2MS diff --git a/icons/mob/human.dmi b/icons/mob/human.dmi index 553db92782a59fee2241b4817e907f5602143108..ab69241cdeae15b93937d982f2aa49db19359d13 100644 GIT binary patch literal 15696 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 z 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 diff --git a/icons/mob/human_face.dmi b/icons/mob/human_face.dmi index f30f7a5111e42dba586ad598410485c9b663bff3..2b4f28029a9a799a1464b87387fc9cdb541122b3 100644 GIT binary patch delta 847 zcmV-V1F-y?iUWg+1CS(tGI~^4bVOxyV{&P5bZKvH004NLotfWm(=ZgquiK}nwtEEI zxa0MR$6wIH z-=S}8Ed(lV0*Pa_Nm?1>vHVHW_M3D^t&ly=l%jVi-2~sW8wg&|8XB#@csE(wFokVn z-xlPI-#VI5k|enqY_K<;W^?mTNM@So&LWCN4r^G*Tj_w zM@P*RIu!oKE;62fv2tSHS`T=$A-nAmLlTaJVGV}07zUng+vy9o?e2>StPB(Q(<)?i zyLuP)R8k5di3s`NNgQ_SBHPBvlHBX4f+YhOC-A> zPJ^k}PQij%Vr1ZU+V01{!{Dh4J#Dw|KOAyjk=r#MDLhAi(99JE&5Wb;dGc(c zTR${Dt96hLJi}WnJ_$6#FC%aOGqYn#20gHmeo7X{-7=kyGa$?Sf@QfrFvAqN1gsUTY>)XXHKc>3*frMp2HO`wH5x za${rXKv6mdpGbQr=)4(4m$QR`xta=&N>ec$G`nQMT=I^i@sm|(b*I2F)-B23MsTv` zjYBF=H5pK^9zmxU1yLF`pFwZ-d3J7J;V+iXJi^0&B}xucL|%1&it-aB47dJ82LuHnVpFq`~>jmze+n delta 871 zcmV-t1DO1SiUXU91CS(tN_tdSbVOxyV{&P5bZKvH004NLomjz++%^n7?|g-k+>18Z z9`{mg5bPoOg#l&J5@T6ZDcRG>*Y_~9X$utXX?@7N0{Deyp>n>^=vr}nFkQKBum zGZTD(XiO35^Gssrqi9Vi7#2b%v2$OgdJdkcEP?RTtb3|1a915BoXGAxD?3W-7-R!m@1s{l@e|6NT9{k(R`fcfTa>N z%)7zUCTMVUQqW8B!1wRp9q?JVpa&a_H@-L?ANdf_9o$yx2J3cV8W}%$mZ9)`(MUDH zC($h!td&N8Ht?Qkx;2Wr!!&>2Wr6L+-XcQs?)46;@w(#kGf++NdTC_1#Em54ISf1Q zVX?Xc&*NRD8M}bwQm3!8` zM0^qqz>s{CNZBb-r`u{A{4Dj4>rDk!ns|UD)Q0c#`(g{v81|G?j5&> z91~}SFAT3Qa90e@XHfX&8TOi)aNG1++ec4rJy=|pl9oclu{onjDYuluuW&Cp_rz+l z;?3J+z2X_V3k}!JJpe9l(10uFo*4WVa^Z&GS(^MI@bq|H6FAYE>BeuoJ*y4ZZZSUC zI&Yd;=>mJwjT7;egXslUT+x~wUiJ;cxo5TEj44`Em&hKoRkWr)j3njZ{j8EDWk*br x*3Z2eUC#^6j@ws^GOze9?-Kv}Q^x!0)7R(e`OC}cPd6dDF(cQpo3md7q`?4x!ZQE> diff --git a/icons/mob/human_parts.dmi b/icons/mob/human_parts.dmi index 3d3d621d47ca8f611dae62e18f2e608a56750eff..b12326c02c8eb273c9638f6e528cdbc56cf0887e 100644 GIT binary patch delta 379 zcmV->0fhdQSdmz;UjhMhlVAcBf4gpjFc?N>cnXy4Rc~vTDp8c7c?IOe2BUDPY||)x z`hp=`Iy8rFART}Dzk_YDj^4Ms{UO?X?87f*Y*v-gTlD(y7zUS2I^DdyJcof+S*l(4 zVx4fRd0ef+KxW3ad>AA~6smoG8UbC~b9~auI)-W`BqL2MOu^8cqbAN(e@ascn&j86 ze|&#}mTd(VjRJ*!-~s)P;(oQasEla7=0ML62)1I-T6cU2rS zwG2jc^epq;!_4-OOymv81QthGpIl|2jsZtP272KvtmgzL4kyE)4X%Z(E>KGkv)$UU z@Kkp2qLJZ=yd@*}S~^W#Xn2;X@F+ClStz2<<<*#m&s^9-6awB$BhJi?JX13AOv^NX zSzUO3Q&l>8k$9HfA|8c@+_Ox_Etgkg8l*}@oj2ubuKM>HGXH!HQaNA3zSMlpe-!-r ZIo8qku<<|EKZ;6ju*Du>2eaP;HYh+Ox7`2$ delta 402 zcmV;D0d4+~Se00?UjhMllVAcBf6H!zFc3x8@D(W8SAA`}sS;ILG{1nHc)%z&u58mN z{rZ9-#;fX1cOacRo;hT!Y^(SE$KhD*J`d$LIp5j7daGU^9?Rm|$)LuUm*=uj)U_(i zFFuGs)6O!qD{mv;u1Im-?*8huUMXA|X-M)xsGR)*RT?f0|mnG6pyL zwzxq0nCK`2g;5(5i^`bm;^XmEG#nKO>@TD#*dF$g0;rVi1Z>*u1ZDu-hQy<*_G8Vd zBQ6ehv(Tvj1xM|t>X^z@9mB;*4(DJUtR@9OIf-X?gif3VFr!&Z-~uQi?G;wE;OK98 zrs3_Kac1lA=H9D=_^l5LfALgoNcu~?&2T$Uy_HMpsU$>p8x=1%wZZ#H0XIR8QWM436?-YUcB zX|i|X6?)$;Sk|B!x_JLR$Dc3sKE3Ky>vylr{c$7heEZ{%D z`%l)_jV+b6d6F5V85?$v-%5SXF1b9jOr@=FtL%LB!mg~czo+Z)wLY+W*@o5)rYXKG z+1!i0-aO4&+M@G9h3yB^!|Pt9e5-BuzBBvf9>HncZ}8e?w&$LkGK`lM%q{eo#Eq6* zzx!Ty{@usvDUT0SZCo1cr+MT>i;3mlspm*tAjn3dSw*t?SPdhQpY zZ@!YBd$rrYRB`(sKE>#Bc1>G-dUDo=tF!mCyzN;hx=!ZOYh4>&ZFU3G&8Oz2PF2^} zKdv=>ZJ;Su3Gdjf<=)y$w8}2jSNr`b{Zt>L{@nlCI`(JXd3b2;Sf_qfaLt75Ld n^Y-7&^x3lKem@j{AZ~ejZjnTh!8ry71qM$S$IWXPf8+xI8Bn+s delta 402 zcmV;D0d4-7;{l}O0gxnrczRS=bVOxyV{&P5bZKvH004NLotC|B!ypt!XY&+S$zC;X zRxg#K%0u!B2o++eupI$y)joX({6nUGH)Eu859EMs@9FjQ)?KJQcjC*0=%$exIzBy% z>f7mLsiBuzRMxoOru-u&l?*ks+lflM5UHV~sIEZ`CQ?I(4X~eogBoR!Dhx7$v}e&l zdebx99NHSCCB7AFl$KW*f43$khCcI%-@9KGG@O0L(eA4qOS#%vI3DM2fKdlN+>%H9 zw~4d;jYi$@##b0MqZj5j;kPAwv9r%!ko9UzoX!Og_3&y;jMf{D+u<%=jfq(XKFisS z(I3Y9A4c_(N4jKx9D(kNACv1s9y3&m(0V}3mmtj)iaG&U)-FI zX!U;bW?)n=d8A9`;pzpB+tKQoMyoGwPDix5cD+lk4@w((fY-R6dStEop|xtxQ#lT5 w{Y>NxC#er?!+IsAk&rvBp-BXvzh__Z>yBbl>h($ diff --git a/icons/mob/underwear.dmi b/icons/mob/underwear.dmi index 3a7b6c17cab93325765f9c209f7580ebc682a85d..8f60f70556ea19219b77e60b7a6469f2fda2b0c1 100644 GIT binary patch delta 653 zcmV;80&@NBfdl7(1CS(tXnIswbVOxyV{&P5bZKvH004NLm6*?NoG=i^&&yMwq8yr6SPjbnF8){BWX0RZ*z9Iisq*I=NI#E1k3V|`?%Q84uW#?|^Y6FjgPj*f zw?Eq--@Z48v*^PVU!ESD!^C2oLVodq0>{TYMUs!_Nd&%Y4!v-HejC{w21kmw=ZAmL z(eVnCtTD8c3pjlz=`>@gB0UQ&FnD5e!B=P?8SsR`un$gHFcooeGq@Fw`yx1SEsDA3 z7Dn>0^D9ef&L|BT=*l7%x`iubhso#>4o=;jllMQ)K9_%FnSV?p*bujA%(3`3*EOVDnv>X3q+9;RJP4hUV+$V)8(^c znNH<2ccjZ#lQpAJfO+SN}#KA$GK=hIs)BYGzMHDS_(Hq|2MUYe-#OxtqKc4xplE6lu;l|qUo*%*;#Wr z&lwF<`~bv%ss*MtqnO&vLTWRLsg0Dzq9zgxYDtH6GQJ$tkK88PW<{m&#+zzAt zbdO^>SuHLcV_I+?Y^@uOHP=1fB;S0}q2U1PE`5rz&7v)4^ro)(B-)T6v@MM^97gH0 zoKCoR<&auiPB|ohxX#5(HuwZ14KQ3?qe6@{G^z$)Ya*hFG^5W%qE=ZS2z@zx}#<=#}pJxcm{Kh${Vm`sQFJ^=9|bY9I15 zyN9C}gUY|ZyFr8S&eh7Do9FTQh*shL^UI%BDuY=mwSD`rAd8O)0Ur-cFTkLsvsiTZq)|b7!75;?AQoJNl zpDhwjiZKdZ_b`orW3EEVcG}hlA>!adm5T0J+rajv?8V6Td8e$3T4K9u&>{Mn;b-lg zaUG-&!VjW8^T9M>(y_kcDk>TE8H~!1`28ZRj;_A3jkwIpH*ES>m_+8)F4z`hnA1}I zKlVrZuQFoJPyF=i=hZqN*+CL|=VLv1v)2$U83M9t-ni9&8KTR9fCqM+grr^nyGluV{1K>|XeP?Q)b|%XQbT(x%Hm59qqzPqUR05`?5-bdL zsf-lHfMY?VBzJTUETr~=)O32NL&2T3s*ge{8>Op9ggYL!1VvMrZ7w*;VN&+xN&C8! zgC_NwcLx`LNr+uUI_&E9Zos?m8C?Lb;W|R8h&A6 zcXb6t9;AtiXC#PoPWF2(t1uCJ?(E zy#T#`cA0>Eom{{JUndOk&{qjy+mQw6YZV6A+-kI-Qd~J;@o9i72(U#~1z-+t7-M9K zN(lqpTjW(h%7IiSiv$P2EV2S@IowHn-Go+RR$DTQH*u80Fe#Ha~lk9h=!;-Pw>#JmzUMZ~Lfma$U z;8z(FxuVsPOxsO=AvrB~+a%+z{Wi+tr4L0fAK)U8fxl=pB&8KW_FEv4WUo38aje`` z5x3UcDzYAJim)NnFFkx4Cm%tr`(hEje6dO5TL~Ma$(6cf@G#|)zGEwYSd#RF0D*GmrG z&y(ehUXM9gk%CtA3Ut?zZwV0?QcabsMD+d?t6>mC6wH~N#nBS~n^`8qFbYa7Sd;m2 z_He4-km(Nz1d6759#dd|ZL!>S>mv{Zy*f2%2c-Z4?N^3V>z78x*dc|ytk)P=g|+HA zZZcjT*yMV7VvA2HyKJ4DZDYv%7Ki>tqCoEqxXfEWE A1ONa4 delta 1392 zcmV-$1&{ixg%7EP50E5(LwZzLbVOxyV{&P5bZKvH004NLt(wVhbjAhtAJ`+~yDaofXZ^q4~7m z^-6(rb7-D!SRhR)0-&-5sLqoa0q*3aK+|I@hCD!;kN|37@6!nY>1`$en`WInvJfwW zD=?ju;(&mYN=}g#K_wz5<7IGVP-es_ybP{@o>pg5(+Po5ZasH&3YK&PSLJ1J1-l!T zbi_zQQz1cSIw&uH0LF2Uh%ARnNEzTtI!nyxEjErOG%^evxrnK-%|UX}1s!k{O+F1U z-;oAF&LaCZ&r%Ri;KHWJ5n7+eJp7fSl!OEVPp5^oMGs`dG0(l)hAz*P7vtUqf8Osb zds>=9^Yq=r-^1zmXj;lHX+fO3^E1Qnpv)1bm2HjX1%}su)Kam;+lC<7^=?ZL{C-mq z{!j;87GjJy2WamQWOI_9vX3!Es7Q`t}K(L&S!pM3I$6^xVE2;0rKt)4CHNmUO>m(3KncphIBw0qLqUh zEYcyh6-B@_>x6h5N$jAWOqsl2+Nz*4c(OuRoX$q)E`znp3ZosxO2hr%-4c67B24FJ zZl~py0)b^n1?^Jq{LIFu;usuIDB}DUAM1W(8&vgwLnl(pvF>-)F;zdK3G5i=Xq7XR z?UR3Wgm*$|&w)I*{p>xMK+t%ywxkm&S*VlDS#qIR+CFK3BpjFW#eN{@p4^SV?ul`v zCgBB6q~ih?L$eNZv@mZRn~`fOGlJ_qmypoAwYIRZmuD#;y(M%=7rA!B2>q8}gbewI z@PZ6~`+KmcO@0V}tN0LlP+lxlonA=9>RW(M6#_R=89|jT?tj>^IRQ8GA}&LcT)=9d zO<+b)dYcIXx3U59zB`#2GA$9?)jL@j#$kV{wX5lb;lKa(jF+vr*?Tn^Res^kxGKsu znsSY*jK&!V+>~X=-%ChX40Q>Mo%bpQ3q?rDQnoE0IZ7Pb0ao+S_za>hWr76C z4TNq|W;3f4=r&(j$g+bTd)0w?Ti2GUf`lTUC$ZrB^s({=PK$rk(C?wRw)*JF)XfSZY94Z}Es7(K_&5DFkl`pzk z1yXYPJo%*17(705&W5xOf!r yv2Xg8EKpn1eVhB(eE#~}Jb!uF{|SBsNCUEc=YoTB1&4A40f%x00=IGn13A5aYn$Hy