diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index c302b7ae1b4..d8281b98a46 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -822,9 +822,7 @@ GLOBAL_LIST_EMPTY(features_by_species) ///Proc that will randomise the underwear (i.e. top, pants and socks) of a species' associated mob, /// but will not update the body right away. /datum/species/proc/randomize_active_underwear_only(mob/living/carbon/human/human_mob) - human_mob.undershirt = random_undershirt(human_mob.gender) - human_mob.underwear = random_underwear(human_mob.gender) - human_mob.socks = random_socks(human_mob.gender) + return ///Proc that will randomise the underwear (i.e. top, pants and socks) of a species' associated mob /datum/species/proc/randomize_active_underwear(mob/living/carbon/human/human_mob) diff --git a/code/modules/mob/living/carbon/human/species_types/dullahan.dm b/code/modules/mob/living/carbon/human/species_types/dullahan.dm index 8bae16a44d1..2e39338438f 100644 --- a/code/modules/mob/living/carbon/human/species_types/dullahan.dm +++ b/code/modules/mob/living/carbon/human/species_types/dullahan.dm @@ -162,6 +162,11 @@ return to_add +/datum/species/dullahan/randomize_active_underwear_only(mob/living/carbon/human/human_mob) + human_mob.undershirt = random_undershirt(human_mob.gender) + human_mob.underwear = random_underwear(human_mob.gender) + human_mob.socks = random_socks(human_mob.gender) + /obj/item/organ/internal/brain/dullahan decoy_override = TRUE organ_flags = NONE @@ -273,3 +278,4 @@ owner.gib() owner = null return ..() + diff --git a/code/modules/mob/living/carbon/human/species_types/humans.dm b/code/modules/mob/living/carbon/human/species_types/humans.dm index 8136d55a7e2..68bb1238577 100644 --- a/code/modules/mob/living/carbon/human/species_types/humans.dm +++ b/code/modules/mob/living/carbon/human/species_types/humans.dm @@ -92,3 +92,8 @@ )) return to_add + +/datum/species/human/randomize_active_underwear_only(mob/living/carbon/human/human_mob) + human_mob.undershirt = random_undershirt(human_mob.gender) + human_mob.underwear = random_underwear(human_mob.gender) + human_mob.socks = random_socks(human_mob.gender) diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm index 6473494e374..42bad65ff28 100644 --- a/code/modules/mob/living/carbon/human/species_types/vampire.dm +++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm @@ -108,6 +108,11 @@ return to_add +/datum/species/vampire/randomize_active_underwear_only(mob/living/carbon/human/human_mob) + human_mob.undershirt = random_undershirt(human_mob.gender) + human_mob.underwear = random_underwear(human_mob.gender) + human_mob.socks = random_socks(human_mob.gender) + // Vampire blood is special, so it needs to be handled with its own entry. /datum/species/vampire/create_pref_blood_perks() var/list/to_add = list() diff --git a/code/modules/surgery/bodyparts/parts.dm b/code/modules/surgery/bodyparts/parts.dm index 568f1c9fc91..8b394b47b19 100644 --- a/code/modules/surgery/bodyparts/parts.dm +++ b/code/modules/surgery/bodyparts/parts.dm @@ -23,6 +23,14 @@ return FALSE return ..() +/obj/item/bodypart/chest/on_removal() + if(ishuman(owner)) + var/mob/living/carbon/human/undie_haver = owner + undie_haver.underwear = "Nude" + undie_haver.undershirt = "Nude" + + ..() + /obj/item/bodypart/chest/Destroy() QDEL_NULL(cavity_item) return ..() @@ -304,6 +312,12 @@ unarmed_damage_high = 15 unarmed_stun_threshold = 10 +/obj/item/bodypart/leg/on_removal() + if(ishuman(owner)) + var/mob/living/carbon/human/sock_haver = owner + sock_haver.socks = "Nude" + ..() + /obj/item/bodypart/leg/left name = "left leg" desc = "Some athletes prefer to tie their left shoelaces first for good \