diff --git a/code/modules/client/preference_setup/loadout/loadout_uniform_vr.dm b/code/modules/client/preference_setup/loadout/loadout_uniform_vr.dm index 26caf70b2b..c10fe8277e 100644 --- a/code/modules/client/preference_setup/loadout/loadout_uniform_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_uniform_vr.dm @@ -237,3 +237,31 @@ Talon jumpsuit "red and white" = /obj/item/clothing/under/summerdress/red ) gear_tweaks += new/datum/gear_tweak/path(dresses) + +// undersuits +/datum/gear/uniform/undersuit + display_name = "undersuit selection" + path = /obj/item/clothing/under/undersuit + +/datum/gear/uniform/undersuit/New() + ..() + var/list/suits = list() + var/list/blacklisted_types = list(/obj/item/clothing/under/undersuit/sec, /obj/item/clothing/under/undersuit/sec/hos, /obj/item/clothing/under/undersuit/hazard, /obj/item/clothing/under/undersuit/command, /obj/item/clothing/under/undersuit/centcom) + for(var/obj/item/clothing/under/undersuit/undersuit_type as anything in typesof(/obj/item/clothing/under/undersuit) - blacklisted_types) + suits[initial(undersuit_type.name)] = undersuit_type + gear_tweaks += new/datum/gear_tweak/path(sortAssoc(suits)) + +/datum/gear/uniform/undersuit_sec + display_name = "undersuit, security (Security)" + allowed_roles = list("Head of Security", "Warden", "Detective", "Security Officer") + path = /obj/item/clothing/under/undersuit/sec + +/datum/gear/uniform/undersuit_hos + display_name = "undersuit, security command (HoS)" + allowed_roles = list("Head of Security") + path = /obj/item/clothing/under/undersuit/sec/hos + +/datum/gear/uniform/undersuit_com + display_name = "undersuit, command (SM/HoP)" + allowed_roles = list("Site Manager", "Head of Personnel") + path = /obj/item/clothing/under/undersuit/command \ No newline at end of file diff --git a/code/modules/clothing/under/miscellaneous_vr.dm b/code/modules/clothing/under/miscellaneous_vr.dm index eb53f9e138..93f46e3e9d 100644 --- a/code/modules/clothing/under/miscellaneous_vr.dm +++ b/code/modules/clothing/under/miscellaneous_vr.dm @@ -308,4 +308,72 @@ item_state = "lewdcap" rolled_sleeves = -1 rolled_down = -1 - body_parts_covered = UPPER_TORSO // frankly this thing's a fucking embarassment \ No newline at end of file + body_parts_covered = UPPER_TORSO // frankly this thing's a fucking embarassment + +/obj/item/clothing/under/undersuit // undersuits! intended for wearing under hardsuits or for being too lazy to not wear anything other than it + name = "undersuit" + desc = "A nondescript undersuit, intended for wearing under a voidsuit or other EVA equipment. Breathable, yet sleek." + icon = 'icons/inventory/uniform/item_vr.dmi' + default_worn_icon = 'icons/inventory/uniform/mob_vr.dmi' + rolled_down_icon = 'icons/inventory/uniform/mob_vr_rolled_down.dmi' + icon_state = "bodysuit" + item_state = "bodysuit" + rolled_sleeves = -1 + rolled_down_icon_override = FALSE + +/obj/item/clothing/under/undersuit/eva + name = "EVA undersuit" + desc = "A nondescript undersuit, intended for wearing under a voidsuit or other EVA equipment. This one is specifically made for EVA usage, but differs little from the standard." + icon_state = "bodysuit_eva" + item_state = "bodysuit_eva" + +/obj/item/clothing/under/undersuit/command + name = "command undersuit" + desc = "A fancy undersuit, intended for wearing under a voidsuit or other EVA equipment. This one is specifically made for those in Command, and comes with a swanky gold trim and navy blue inlay." + icon_state = "bodysuit_com" + item_state = "bodysuit_com" + +/obj/item/clothing/under/undersuit/sec + name = "security undersuit" + desc = "A reinforced undersuit, intended for wearing under a voidsuit or other EVA equipment. This one is specifically made for those in Security, and has slight protective capabilities against simple melee attacks." + armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) + siemens_coefficient = 0.9 + icon_state = "bodysuit_sec" + item_state = "bodysuit_sec" + +/obj/item/clothing/under/undersuit/sec/hos + name = "security command undersuit" + desc = "A reinforced undersuit, intended for wearing under a voidsuit or other EVA equipment. This one is specifically made for the Head of Security or equivalent, and has slight protective capabilities against simple melee attacks." + icon_state = "bodysuit_seccom" + item_state = "bodysuit_seccom" + +/obj/item/clothing/under/undersuit/hazard + name = "hazard undersuit" + desc = "An undersuit, intended for wearing under a voidsuit or other EVA equipment. This one is specifically made for Engineering crew, and comes with slight radiation absorption capabilities. Not a lot, but it's there." + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 10) + icon_state = "bodysuit_haz" + item_state = "bodysuit_haz" + +/obj/item/clothing/under/undersuit/mining + name = "mining undersuit" + desc = "An undersuit, intended for wearing under a voidsuit or other EVA equipment. This one is specifically made for Mining crew, and comes with an interestingly colored trim." + icon_state = "bodysuit_min" + item_state = "bodysuit_min" + +/obj/item/clothing/under/undersuit/emt + name = "medical technician undersuit" + desc = "An undersuit, intended for wearing under a voidsuit or other EVA equipment. This one is specifically made for Medical response crew, and comes with a distinctive coloring scheme." + icon_state = "bodysuit_emt" + item_state = "bodysuit_emt" + +/obj/item/clothing/under/undersuit/explo + name = "exploration undersuit" + desc = "An undersuit, intended for wearing under a voidsuit or other EVA equipment. This one is specifically made for Exploration crew, for hazardous environments." + icon_state = "bodysuit_exp" + item_state = "bodysuit_exp" + +/obj/item/clothing/under/undersuit/centcom + name = "Central Command undersuit" + desc = "A very descript undersuit, intended for wearing under a voidsuit or other EVA equipment. This one is specifically made for NanoTrasen Central Command officers, and comes with a swanky gold trim and other fancy markings." + icon_state = "bodysuit_cent" + item_state = "bodysuit_cent" \ No newline at end of file diff --git a/icons/inventory/uniform/item_vr.dmi b/icons/inventory/uniform/item_vr.dmi index 6b7566f888..4e92cd6710 100644 Binary files a/icons/inventory/uniform/item_vr.dmi and b/icons/inventory/uniform/item_vr.dmi differ diff --git a/icons/inventory/uniform/mob_vr.dmi b/icons/inventory/uniform/mob_vr.dmi index 2230061fce..e4295298d3 100644 Binary files a/icons/inventory/uniform/mob_vr.dmi and b/icons/inventory/uniform/mob_vr.dmi differ diff --git a/icons/inventory/uniform/mob_vr_rolled_down.dmi b/icons/inventory/uniform/mob_vr_rolled_down.dmi index 8c82d1f7c2..3016c210a3 100644 Binary files a/icons/inventory/uniform/mob_vr_rolled_down.dmi and b/icons/inventory/uniform/mob_vr_rolled_down.dmi differ