diff --git a/modular_bandastation/clothing/_clothing.dme b/modular_bandastation/clothing/_clothing.dme index 7e98dc745af58..fb446d2e101b1 100644 --- a/modular_bandastation/clothing/_clothing.dme +++ b/modular_bandastation/clothing/_clothing.dme @@ -1,4 +1,7 @@ #include "_clothing.dm" +#include "code/hev_suit.dm" +#include "code/suits.dm" +#include "code/under.dm" #include "code/cloaks.dm" #include "code/hats.dm" #include "code/helmet.dm" diff --git a/modular_bandastation/clothing/code/clothing_vendors.dm b/modular_bandastation/clothing/code/clothing_vendors.dm new file mode 100644 index 0000000000000..a63936b500430 --- /dev/null +++ b/modular_bandastation/clothing/code/clothing_vendors.dm @@ -0,0 +1,14 @@ +/obj/machinery/vending/autodrobe/Initialize(mapload) + products += list( + /obj/item/clothing/head/ratge = 1, + ) + . = ..() + +/obj/machinery/vending/chefdrobe/Initialize(mapload) + products += list( + /obj/item/clothing/under/rank/civilian/chef/red = 2, + /obj/item/clothing/suit/chef/red = 2, + /obj/item/clothing/head/chefhat/red = 2, + /obj/item/clothing/suit/apron/chef/red = 1, + ) + . = ..() diff --git a/modular_bandastation/clothing/code/hev_suit.dm b/modular_bandastation/clothing/code/hev_suit.dm new file mode 100644 index 0000000000000..130be9fa192c3 --- /dev/null +++ b/modular_bandastation/clothing/code/hev_suit.dm @@ -0,0 +1,182 @@ +#define SOUND_BEEP(sound) add_queue(##sound, 20) +#define MORPHINE_INJECTION_DELAY (30 SECONDS) +//Suit +/obj/item/clothing/suit/space/hev + name = "\improper hazardous environment suit" + desc = "The Mark IV HEV suit protects the user from a number of hazardous environments and has in build ballistic protection." + icon = 'modular_bandastation/clothing/icons/object/suits.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/suits.dmi' + lefthand_file = 'modular_bandastation/clothing/icons/inhands/left_hand.dmi' + righthand_file = 'modular_bandastation/clothing/icons/inhands/right_hand.dmi' + icon_state = "hev" + inhand_icon_state = "hev" + resistance_flags = FIRE_PROOF | ACID_PROOF | FREEZE_PROOF + body_parts_covered = CHEST|GROIN|ARMS|LEGS|FEET + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + armor_type = /datum/armor/armor_heavy + allowed = list( + /obj/item/tank/internals/emergency_oxygen, + /obj/item/tank/internals/plasmaman, + /obj/item/gun/energy, + /obj/item/crowbar, + ) + slowdown = 0.25 + + var/static/list/funny_signals = list( + COMSIG_MOB_SAY = PROC_REF(handle_speech), + COMSIG_MOB_DEATH = PROC_REF(handle_death), + COMSIG_LIVING_IGNITED = PROC_REF(handle_ignite), + COMSIG_LIVING_ELECTROCUTE_ACT = PROC_REF(handle_shock), + // COMSIG_MOB_APPLY_DAMAGE= PROC_REF(handle_damage), + ) + + + var/list/sound_queue = list() + + var/mob/living/carbon/owner + + var/obj/item/geiger_counter/GC + + COOLDOWN_DECLARE(next_damage_notify) + COOLDOWN_DECLARE(next_morphine) + +/obj/item/clothing/suit/space/hev/Initialize(mapload) + . = ..() + GC = new(src) + GC.scanning = TRUE + update_appearance(UPDATE_ICON) + +/obj/item/clothing/suit/space/hev/Destroy() + QDEL_NULL(GC) + owner = null + return ..() + +/obj/item/clothing/suit/space/hev/proc/process_sound_queue() + + var/list/sound_data = sound_queue[1] + var/sound_file = sound_data[1] + var/sound_delay = sound_data[2] + + playsound(owner, sound_file, 20) + + sound_queue.Cut(1,2) + + if(!length(sound_queue)) + return + + addtimer(CALLBACK(src, PROC_REF(process_sound_queue)), sound_delay) + +/obj/item/clothing/suit/space/hev/proc/add_queue(desired_file, desired_delay, purge_queue=FALSE) + + var/was_empty_sound_queue = !length(sound_queue) + + if(purge_queue) + sound_queue.Cut() + + sound_queue += list(list(desired_file,desired_delay)) //BYOND is fucking weird so you have to do this bullshit if you want to add a list to a list. + + if(was_empty_sound_queue) + addtimer(CALLBACK(src, PROC_REF(process_sound_queue)), 1 SECONDS) + + return TRUE + +//Signal handling. +/obj/item/clothing/suit/space/hev/equipped(mob/M, slot) + ..() + if(iscarbon(M)) + for(var/voice in funny_signals) + RegisterSignal(M, voice, funny_signals[voice]) + owner = M + add_queue('modular_bandastation/clothing/sound/hev/blip.ogg', 2 SECONDS, purge_queue=TRUE) + add_queue('modular_bandastation/clothing/sound/hev/01_hev_logon.ogg', 11 SECONDS) + add_queue('modular_bandastation/clothing/sound/hev/04_vitalsigns_on.ogg', 4 SECONDS) + add_queue('modular_bandastation/clothing/sound/hev/09_safe_day.ogg', 8 SECONDS) + else + for(var/voice in funny_signals) + UnregisterSignal(M, voice) + +/obj/item/clothing/suit/space/hev/dropped(mob/M) + ..() + for(var/voice in funny_signals) + UnregisterSignal(M, voice) + +//Death +/obj/item/clothing/suit/space/hev/proc/handle_death(gibbed) + SIGNAL_HANDLER + add_queue('modular_bandastation/clothing/sound/hev/death.ogg', 5 SECONDS, purge_queue=TRUE) + +//Mute +/obj/item/clothing/suit/space/hev/proc/handle_speech(datum/source, mob/speech_args) + SIGNAL_HANDLER + var/static/list/cancel_messages = list( + "Вам трудно говорить, когда костюм туго сдавливает ваше горло...", + "Ваши связки ощущаются сдавленными, что пресекает любую попытку выдавить хоть какой-то звук...", + "Вы пытаетесь что-то сказать, но костюм сдавливает вам гортань..." + ) + + speech_args[SPEECH_MESSAGE] = "..." + to_chat(source, span_warning(pick(cancel_messages))) + +//Fire +/obj/item/clothing/suit/space/hev/proc/handle_ignite(mob/living) + SIGNAL_HANDLER + SOUND_BEEP('modular_bandastation/clothing/sound/hev/beep_3.ogg') + add_queue('modular_bandastation/clothing/sound/hev/heat.ogg', 3 SECONDS) + +//Shock +/obj/item/clothing/suit/space/hev/proc/handle_shock(mob/living) + SIGNAL_HANDLER + SOUND_BEEP('modular_bandastation/clothing/sound/hev/beep_3.ogg') + add_queue('modular_bandastation/clothing/sound/hev/shok.ogg', 3 SECONDS) + +//Helmet +/obj/item/clothing/head/helmet/hev_helmet + name = "hazardous environment suit helmet" + desc = "The Mark IV HEV suit helmet." + icon = 'modular_bandastation/clothing/icons/object/helmet.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/helmet.dmi' + lefthand_file = 'modular_bandastation/clothing/icons/inhands/left_hand.dmi' + righthand_file = 'modular_bandastation/clothing/icons/inhands/right_hand.dmi' + icon_state = "hev_helmet0" + inhand_icon_state = "hev_helmet" + armor_type = /datum/armor/armor_heavy + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH + flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR + visor_flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS + flash_protect = FLASH_PROTECTION_WELDER + dog_fashion = null + var/on = FALSE + var/brightness_on = 4 + actions_types = list(/datum/action/item_action/toggle_helmet_light) + var/hud_types = list(DATA_HUD_MEDICAL_ADVANCED) + +/obj/item/clothing/head/helmet/hev_helmet/equipped(mob/living/carbon/human/user, slot) + ..() + if(ishuman(user) && slot_flags & slot) + for(var/new_hud in hud_types) + var/datum/atom_hud/H = GLOB.huds[new_hud] + if(H) + H.show_to(user) + +/obj/item/clothing/head/helmet/hev_helmet/dropped(mob/living/carbon/human/user) + ..() + if(ishuman(user)) + for(var/new_hud in hud_types) + var/datum/atom_hud/H = GLOB.huds[new_hud] + if(H) + H.hide_from(user) + +/obj/item/clothing/head/helmet/hev_helmet/ui_action_click(mob/user, toggle_helmet_light) + light_toggle(user) + +/obj/item/clothing/head/helmet/hev_helmet/proc/light_toggle(mob/user) + on = !on + icon_state = "hev_helmet[on]" + //КТГ + if(on) + set_light(brightness_on) + else + set_light(0) + +#undef MORPHINE_INJECTION_DELAY +#undef SOUND_BEEP diff --git a/modular_bandastation/clothing/code/suits.dm b/modular_bandastation/clothing/code/suits.dm new file mode 100644 index 0000000000000..aaa8b82b3f6d8 --- /dev/null +++ b/modular_bandastation/clothing/code/suits.dm @@ -0,0 +1,230 @@ +/obj/item/clothing/suit/v_jacket + name = "куртка V" + desc = "Куртка так называемого V." + icon = 'modular_bandastation/clothing/icons/object/suits.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/suits.dmi' + icon_state = "v_jacket" + lefthand_file = 'modular_bandastation/clothing/icons/inhands/left_hand.dmi' + righthand_file = 'modular_bandastation/clothing/icons/inhands/right_hand.dmi' + flags_inv = HIDEJUMPSUIT + +/obj/item/clothing/suit/takemura_jacket + name = "куртка Такэмуры" + desc = "Куртка так называемого Такэмуры." + icon = 'modular_bandastation/clothing/icons/object/suits.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/suits.dmi' + icon_state = "takemura_jacket" + lefthand_file = 'modular_bandastation/clothing/icons/inhands/left_hand.dmi' + righthand_file = 'modular_bandastation/clothing/icons/inhands/right_hand.dmi' + flags_inv = HIDEJUMPSUIT + +/obj/item/clothing/suit/katarina_jacket + name = "куртка Катарины" + desc = "Куртка так называемой Катарины." + icon = 'modular_bandastation/clothing/icons/object/suits.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/suits.dmi' + icon_state = "katarina_jacket" + lefthand_file = 'modular_bandastation/clothing/icons/inhands/left_hand.dmi' + righthand_file = 'modular_bandastation/clothing/icons/inhands/right_hand.dmi' + flags_inv = HIDEJUMPSUIT + +/obj/item/clothing/suit/katarina_cyberjacket + name = "киберкуртка Катарины" + desc = "Кибер-куртка так называемой Катарины." + icon = 'modular_bandastation/clothing/icons/object/suits.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/suits.dmi' + icon_state = "katarina_cyberjacket" + lefthand_file = 'modular_bandastation/clothing/icons/inhands/left_hand.dmi' + righthand_file = 'modular_bandastation/clothing/icons/inhands/right_hand.dmi' + flags_inv = HIDEJUMPSUIT + +/obj/item/clothing/suit/hooded/shark_costume + name = "костюм акулы" + desc = "Костюм из 'синтетической' кожи акулы, пахнет." + icon = 'modular_bandastation/clothing/icons/object/suits.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/suits.dmi' + icon_state = "shark_casual" + lefthand_file = 'modular_bandastation/clothing/icons/inhands/left_hand.dmi' + righthand_file = 'modular_bandastation/clothing/icons/inhands/right_hand.dmi' + body_parts_covered = CHEST|GROIN|ARMS + cold_protection = CHEST|GROIN|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT + allowed = list(/obj/item/tank/internals/emergency_oxygen) + hoodtype = /obj/item/clothing/head/hooded/shark_hood_par + +/obj/item/clothing/head/hooded/shark_hood_par + name = "акулий капюшон" + desc = "Капюшон, прикрепленный к костюму акулы." + icon = 'modular_bandastation/clothing/icons/object/hats.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/hats.dmi' + icon_state = "shark_casual" + + body_parts_covered = HEAD + cold_protection = HEAD + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT + flags_inv = HIDEEARS | HIDEHAIR + +/obj/item/clothing/suit/hooded/shark_costume/light + name = "светло-голубой костюм акулы" + icon_state = "shark_casual_light" + icon = 'modular_bandastation/clothing/icons/object/hats.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/hats.dmi' + hoodtype = /obj/item/clothing/head/hooded/shark_hood/light_par + +/obj/item/clothing/head/hooded/shark_hood/light_par + name = "светло-голубой акулий капюшон" + icon_state = "shark_casual_light" + icon = 'modular_bandastation/clothing/icons/object/hats.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/hats.dmi' + +/obj/item/clothing/suit/space/deathsquad/officer/syndie + name = "куртка офицера синдиката" + desc = "Длинная куртка из высокопрочного волокна." + icon = 'modular_bandastation/clothing/icons/object/suits.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/suits.dmi' + icon_state = "jacket_syndie" + +/obj/item/clothing/suit/space/deathsquad/officer/field + name = "полевая форма офицера флота Нанотрейзен" + desc = "Парадный плащ, разработанный в качестве массового варианта формы Верховного Главнокомандующего. У этой униформы нет тех же защитных свойств, что и у оригинала, но она все ещё является довольно удобным и стильным предметом гардероба." + icon = 'modular_bandastation/clothing/icons/object/suits.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/suits.dmi' + icon_state = "ntsc_uniform" + +/obj/item/clothing/suit/hooded/vi_arcane + name = "куртка Вай" + desc = "Слегка потрёпанный жакет боевой девчушки Вай." + icon = 'modular_bandastation/clothing/icons/object/suits.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/suits.dmi' + icon_state = "vi_arcane" + lefthand_file = 'modular_bandastation/clothing/icons/inhands/left_hand.dmi' + righthand_file = 'modular_bandastation/clothing/icons/inhands/right_hand.dmi' + flags_inv = HIDEJUMPSUIT + hoodtype = /obj/item/clothing/head/hooded/vi_arcane + +/obj/item/clothing/head/hooded/vi_arcane + name = "капюшон Вай" + desc = "Капюшон, прикреплённый к жакету Вай." + icon = 'modular_bandastation/clothing/icons/object/hats.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/hats.dmi' + icon_state = "vi_arcane" + + body_parts_covered = HEAD + cold_protection = HEAD + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT + flags_inv = HIDEEARS | HIDEHAIR + +/obj/item/clothing/suit/hooded/vi_arcane + name = "жакет Вай" + icon_state = "vi_arcane" + hoodtype = /obj/item/clothing/head/hooded/vi_arcane + +/obj/item/clothing/head/hooded/vi_arcane + name = "капюшон Вай" + icon_state = "vi_arcane" + icon = 'modular_bandastation/clothing/icons/object/hats.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/hats.dmi' + +/obj/item/clothing/suit/storage/soundhand_white_jacket + name = "серебристая куртка группы Саундхэнд" + desc = "Редкая серебристая куртка Саундхэнд. Ограниченная серия." + icon = 'modular_bandastation/clothing/icons/object/suits.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/suits.dmi' + icon_state = "soundhand_white_jacket" + lefthand_file = 'modular_bandastation/clothing/icons/inhands/left_hand.dmi' + righthand_file = 'modular_bandastation/clothing/icons/inhands/right_hand.dmi' + +/obj/item/clothing/suit/storage/soundhand_white_jacket/tag + name = "куртка Арии" + desc = "Редкая серебристая куртка Арии Вильвен, основательницы Саундхэнд." + icon = 'modular_bandastation/clothing/icons/object/suits.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/suits.dmi' + icon_state = "soundhand_white_jacket_teg" + worn_icon_state = "soundhand_white_jacket" + lefthand_file = 'modular_bandastation/clothing/icons/inhands/left_hand.dmi' + righthand_file = 'modular_bandastation/clothing/icons/inhands/right_hand.dmi' + +/obj/item/clothing/suit/storage/soundhand_black_jacket + name = "фанатская черная куртка Саундхэнд" + desc = "Черная куртка группы Саундхэнд, исполненая в духе оригинала, но без логотипа на спине. С любовью для фанатов." + icon = 'modular_bandastation/clothing/icons/object/suits.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/suits.dmi' + icon_state = "soundhand_black_jacket" + lefthand_file = 'modular_bandastation/clothing/icons/inhands/left_hand.dmi' + righthand_file = 'modular_bandastation/clothing/icons/inhands/right_hand.dmi' + +/obj/item/clothing/suit/storage/soundhand_black_jacket/tag + name = "черная куртка Саундхэнд" + desc = "Черная куртка с тэгом группы Саундхэнд, которую носят исполнители группы." + icon = 'modular_bandastation/clothing/icons/object/suits.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/suits.dmi' + icon_state = "soundhand_black_jacket_teg" + worn_icon_state = "soundhand_black_jacket" + lefthand_file = 'modular_bandastation/clothing/icons/inhands/left_hand.dmi' + righthand_file = 'modular_bandastation/clothing/icons/inhands/right_hand.dmi' + +/obj/item/clothing/suit/storage/soundhand_olive_jacket + name = "фанатская оливковая куртка Саундхэнд" + desc = "Оливковая куртка гурппы Саундхэнд, исполненая в духе оригинала, но без логотипа на спине. С любовью для фанатов." + icon = 'modular_bandastation/clothing/icons/object/suits.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/suits.dmi' + icon_state = "soundhand_olive_jacket" + lefthand_file = 'modular_bandastation/clothing/icons/inhands/left_hand.dmi' + righthand_file = 'modular_bandastation/clothing/icons/inhands/right_hand.dmi' + +/obj/item/clothing/suit/storage/soundhand_olive_jacket/tag + name = "оливковая куртка с тэгом группы Саундхэнд" + desc = "Оливковая куртка с тэгом группы Саундхэнд, которую носят исполнители группы." + icon = 'modular_bandastation/clothing/icons/object/suits.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/suits.dmi' + icon_state = "soundhand_olive_jacket_teg" + worn_icon_state = "soundhand_olive_jacket" + lefthand_file = 'modular_bandastation/clothing/icons/inhands/left_hand.dmi' + righthand_file = 'modular_bandastation/clothing/icons/inhands/right_hand.dmi' + +/obj/item/clothing/suit/storage/soundhand_brown_jacket + name = "фанатская коричневая куртка Саундхэнд" + desc = "Коричневая куртка Саундхэнд, исполненая в духе оригинала, но без логотипа на спине. С любовью для фанатов." + icon = 'modular_bandastation/clothing/icons/object/suits.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/suits.dmi' + icon_state = "soundhand_brown_jacket" + lefthand_file = 'modular_bandastation/clothing/icons/inhands/left_hand.dmi' + righthand_file = 'modular_bandastation/clothing/icons/inhands/right_hand.dmi' + +/obj/item/clothing/suit/storage/soundhand_brown_jacket/tag + name = "коричневая куртка с тэгом Саундхэнд" + desc = "Коричневая куртка с тэгом группы Саундхэнд, которую носят исполнители группы." + icon = 'modular_bandastation/clothing/icons/object/suits.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/suits.dmi' + icon_state = "soundhand_brown_jacket_teg" + worn_icon_state = "soundhand_brown_jacket" + lefthand_file = 'modular_bandastation/clothing/icons/inhands/left_hand.dmi' + righthand_file = 'modular_bandastation/clothing/icons/inhands/right_hand.dmi' + +/datum/supply_pack/misc/soundhand_fan + name = "Soundhand Fan Crate" + desc = "Содержит фанатские куртки группы Саундхэнд" + cost = CARGO_CRATE_VALUE * 30 + special = TRUE + access_view = ACCESS_SERVICE + contains = list(/obj/item/clothing/suit/storage/soundhand_black_jacket, + /obj/item/clothing/suit/storage/soundhand_black_jacket, + /obj/item/clothing/suit/storage/soundhand_olive_jacket, + /obj/item/clothing/suit/storage/soundhand_olive_jacket, + /obj/item/clothing/suit/storage/soundhand_brown_jacket, + /obj/item/clothing/suit/storage/soundhand_brown_jacket, + /obj/item/clothing/suit/storage/soundhand_white_jacket) + crate_name = "soundhand Fan crate" + +/obj/item/clothing/suit/chef/red + name = "chef's red apron" + desc = "Хорошо скроенный поварской китель." + icon = 'modular_bandastation/clothing/icons/object/suits.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/suits.dmi' + icon_state = "chef_red" + +/* Space Battle */ +/obj/item/clothing/suit/space/hardsuit/security + icon = 'modular_bandastation/clothing/icons/object/suits.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/suits.dmi' + icon_state = "hardsuit-sec-old" diff --git a/modular_bandastation/clothing/code/under.dm b/modular_bandastation/clothing/code/under.dm new file mode 100644 index 0000000000000..e240cb65071ac --- /dev/null +++ b/modular_bandastation/clothing/code/under.dm @@ -0,0 +1,323 @@ +/obj/item/clothing/under/costume/katarina_cybersuit + name = "кибер-костюм Катарины" + desc = "Кибер-костюм так называемой Катарины." + icon = 'modular_bandastation/clothing/icons/object/under.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/under.dmi' + icon_state = "katarina_cybersuit" + inhand_icon_state = "katarina_cybersuit" + lefthand_file = 'modular_bandastation/clothing/icons/inhands/left_hand.dmi' + righthand_file = 'modular_bandastation/clothing/icons/inhands/right_hand.dmi' + +/obj/item/clothing/under/costume/katarina_suit + name = "костюм Катарины" + desc = "Костюм так называемой Катарины." + icon = 'modular_bandastation/clothing/icons/object/under.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/under.dmi' + icon_state = "katarina_suit" + inhand_icon_state = "katarina_suit" + lefthand_file = 'modular_bandastation/clothing/icons/inhands/left_hand.dmi' + righthand_file = 'modular_bandastation/clothing/icons/inhands/right_hand.dmi' + +/obj/item/clothing/under/rank/civilian/chef/red + name = "chef's red uniform" + desc = "Униформа повара с пуговицами на одну сторону." + icon = 'modular_bandastation/clothing/icons/object/under.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/under.dmi' + icon_state = "chef_red" + +/obj/item/clothing/under/yellowgreen_skirt + name = "жёлто-зеленая юбка" + desc = "Выделитесь одной из множеств новых юбок от NT Couture. Жёлто-зеленый экземпляр." + icon = 'modular_bandastation/clothing/icons/object/under.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/under.dmi' + icon_state = "yellowgreen_skirt" + +/obj/item/clothing/under/aqua_skirt + name = "юбка цвета морской волны" + desc = "Выделитесь одной из множеств новых юбок от NT Couture. Морской экземпляр. Любите длинные названия?" + icon = 'modular_bandastation/clothing/icons/object/under.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/under.dmi' + icon_state = "aqua_skirt" + +/obj/item/clothing/under/black_skirt + name = "чёрная юбка" + desc = "Выделитесь одной из множеств новых юбок от NT Couture. Чёрный экземпляр." + icon = 'modular_bandastation/clothing/icons/object/under.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/under.dmi' + icon_state = "black_skirt" + +/obj/item/clothing/under/blue_skirt + name = "синяя юбка" + desc = "Выделитесь одной из множеств новых юбок от NT Couture. Синий экземпляр." + icon = 'modular_bandastation/clothing/icons/object/under.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/under.dmi' + icon_state = "blue_skirt" + +/obj/item/clothing/under/brown_skirt + name = "коричневая юбка" + desc = "Выделитесь одной из множеств новых юбок от NT Couture. Коричневый экземпляр." + icon = 'modular_bandastation/clothing/icons/object/under.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/under.dmi' + icon_state = "brown_skirt" + +/obj/item/clothing/under/darkblue_skirt + name = "тёмно-синяя юбка" + desc = "Выделитесь одной из множеств новых юбок от NT Couture. Тёмно-синий экземпляр." + icon = 'modular_bandastation/clothing/icons/object/under.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/under.dmi' + icon_state = "darkblue_skirt" + +/obj/item/clothing/under/darkred_skirt + name = "тёмно-красная юбка" + desc = "Выделитесь одной из множеств новых юбок от NT Couture. Тёмно-красный экземпляр." + icon = 'modular_bandastation/clothing/icons/object/under.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/under.dmi' + icon_state = "darkred_skirt" + +/obj/item/clothing/under/green_skirt + name = "зелёная юбка" + desc = "Выделитесь одной из множеств новых юбок от NT Couture. Зелёный экземпляр." + icon = 'modular_bandastation/clothing/icons/object/under.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/under.dmi' + icon_state = "green_skirt" + +/obj/item/clothing/under/grey_skirt + name = "серая юбка" + desc = "Выделитесь одной из множеств новых юбок от NT Couture. Серый экземпляр. Не забудьте противогаз." + icon = 'modular_bandastation/clothing/icons/object/under.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/under.dmi' + icon_state = "grey_skirt" + +/obj/item/clothing/under/lightblue_skirt + name = "голубая юбка" + desc = "Выделитесь одной из множеств новых юбок от NT Couture. Голубой экземпляр." + icon = 'modular_bandastation/clothing/icons/object/under.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/under.dmi' + icon_state = "lightblue_skirt" + +/obj/item/clothing/under/lightbrown_skirt + name = "светло-коричневая юбка" + desc = "Выделитесь одной из множеств новых юбок от NT Couture. Светло-коричневый экземпляр." + icon = 'modular_bandastation/clothing/icons/object/under.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/under.dmi' + icon_state = "lightbrown_skirt" + +/obj/item/clothing/under/lightgreen_skirt + name = "салатовая юбка" + desc = "Выделитесь одной из множеств новых юбок от NT Couture. Салатовый экземпляр." + icon = 'modular_bandastation/clothing/icons/object/under.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/under.dmi' + icon_state = "lightgreen_skirt" + +/obj/item/clothing/under/lightpurple_skirt + name = "сиреневая юбка" + desc = "Выделитесь одной из множеств новых юбок от NT Couture. Сиреневый экземпляр." + icon = 'modular_bandastation/clothing/icons/object/under.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/under.dmi' + icon_state = "lightpurple_skirt" + +/obj/item/clothing/under/lightred_skirt + name = "пунцовая юбка" + desc = "Выделитесь одной из множеств новых юбок от NT Couture. Пунцовый экземпляр." + icon = 'modular_bandastation/clothing/icons/object/under.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/under.dmi' + icon_state = "lightred_skirt" + +/obj/item/clothing/under/orange_skirt + name = "оранжевая юбка" + desc = "Выделитесь одной из множеств новых юбок от NT Couture. Оранжевый экземпляр." + icon = 'modular_bandastation/clothing/icons/object/under.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/under.dmi' + icon_state = "orange_skirt" + +/obj/item/clothing/under/pink_skirt + name = "розовая юбка" + desc = "Выделитесь одной из множеств новых юбок от NT Couture. Розовый экземпляр. Очень нежный." + icon = 'modular_bandastation/clothing/icons/object/under.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/under.dmi' + icon_state = "pink_skirt" + +/obj/item/clothing/under/prisoner_skirt + name = "тюремная юбка" + desc = "Выделитесь одной из множеств новых юбок от NT Couture. Тюремный экземпляр. Для самых милых и робких." + icon = 'modular_bandastation/clothing/icons/object/under.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/under.dmi' + icon_state = "prisoner_skirt" + +/obj/item/clothing/under/purple_skirt + name = "фиолетовая юбка" + desc = "Выделитесь одной из множеств новых юбок от NT Couture. Фиолетовый экземпляр." + icon = 'modular_bandastation/clothing/icons/object/under.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/under.dmi' + icon_state = "purple_skirt" + +/obj/item/clothing/under/rainbow_skirt + name = "разноцветная юбка" + desc = "Выделитесь одной из множеств новых юбок от NT Couture. Разноцветный экземпляр. Для неопределившихся." + icon = 'modular_bandastation/clothing/icons/object/under.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/under.dmi' + icon_state = "rainbow_skirt" + +/obj/item/clothing/under/red_skirt + name = "красная юбка" + desc = "Выделитесь одной из множеств новых юбок от NT Couture. Красный экземпляр. Работая по обе стороны, не забывайте про любовь." + icon = 'modular_bandastation/clothing/icons/object/under.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/under.dmi' + icon_state = "red_skirt" + +/obj/item/clothing/under/white_skirt + name = "белая юбка" + desc = "Выделитесь одной из множеств новых юбок от NT Couture. Белый экземпляр. Возможно, отбеливатель был лишним." + icon = 'modular_bandastation/clothing/icons/object/under.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/under.dmi' + icon_state = "white_skirt" + +/obj/item/clothing/under/yellow_skirt + name = "жёлтая юбка" + desc = "Выделитесь одной из множеств новых юбок от NT Couture. Жёлтый экземпляр." + icon = 'modular_bandastation/clothing/icons/object/under.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/under.dmi' + icon_state = "yellow_skirt" + +/obj/item/clothing/under/towel + icon = 'modular_bandastation/clothing/icons/object/under.dmi' + worn_icon = 'modular_bandastation/clothing/icons/mob/under.dmi' + lefthand_file = 'modular_bandastation/clothing/icons/inhands/left_hand.dmi' + righthand_file = 'modular_bandastation/clothing/icons/inhands/right_hand.dmi' + has_sensor = 0 + +/obj/item/clothing/under/towel/long + name = "полотенце" + desc = "Полотенце, сотканное из синтетической ткани. Можно обмотать вокруг тела." + icon_state = "towel_long" + +/obj/item/clothing/under/towel/long/alt + name = "махровое полотенце" + desc = "Полотенце, сотканное из синтетической ткани, на взгляд шершавое. Можно обмотать вокруг тела." + icon_state = "towel_long_alt" + +/obj/item/clothing/under/towel/short + name = "маленькое полотенце" + desc = "Полотенце, сотканное из синтетической ткани, но маленькое. Можно обмотать вокруг тела." + icon_state = "towel_short" + +/obj/item/clothing/under/towel/short/alt + name = "маленькое махровое полотенце" + desc = "Полотенце, сотканное из синтетической ткани, на взгляд шершавое и маленькое. Можно обмотать вокруг тела." + icon_state = "towel_short_alt" + +// Длинное полотенце +/obj/item/clothing/under/towel/long/red + name = "красное полотенце" + color = "#EE204D" + +/obj/item/clothing/under/towel/long/green + name = "зелёное полотенце" + color = "#32CD32" + +/obj/item/clothing/under/towel/long/blue + name = "синее полотенце" + color = "#1E90FF" + +/obj/item/clothing/under/towel/long/orange + name = "оранжевое полотенце" + color = "#FFA500" + +/obj/item/clothing/under/towel/long/purple + name = "фиолетовое полотенце" + color = "#DA70D6" + +/obj/item/clothing/under/towel/long/cyan + name = "голубое полотенце" + color = "#40E0D0" + +/obj/item/clothing/under/towel/long/brown + name = "коричневое полотенце" + color = "#DEB887" + +// Длинное махровое полотенце +/obj/item/clothing/under/towel/long/alt/red + name = "красное махровое полотенце" + color = "#EE204D" + +/obj/item/clothing/under/towel/long/alt/green + name = "зелёное махровое полотенце" + color = "#32CD32" + +/obj/item/clothing/under/towel/long/alt/blue + name = "синее махровое полотенце" + color = "#1E90FF" + +/obj/item/clothing/under/towel/long/alt/orange + name = "оранжевое махровое полотенце" + color = "#FFA500" + +/obj/item/clothing/under/towel/long/alt/purple + name = "фиолетовое махровое полотенце" + color = "#DA70D6" + +/obj/item/clothing/under/towel/long/alt/cyan + name = "голубое махровое полотенце" + color = "#40E0D0" + +/obj/item/clothing/under/towel/long/alt/brown + name = "коричневое махровое полотенце" + color = "#DEB887" + +// Маленькое полотенце +/obj/item/clothing/under/towel/short/red + name = "красное маленькое полотенце" + color = "#EE204D" + +/obj/item/clothing/under/towel/short/green + name = "зелёное маленькое полотенце" + color = "#32CD32" + +/obj/item/clothing/under/towel/short/blue + name = "синее маленькое полотенце" + color = "#1E90FF" + +/obj/item/clothing/under/towel/short/orange + name = "оранжевое маленькое полотенце" + color = "#FFA500" + +/obj/item/clothing/under/towel/short/purple + name = "фиолетовое маленькое полотенце" + color = "#DA70D6" + +/obj/item/clothing/under/towel/short/cyan + name = "голубое маленькое полотенце" + color = "#40E0D0" + +/obj/item/clothing/under/towel/short/brown + name = "коричневое маленькое полотенце" + color = "#DEB887" + +// Маленькое махровое полотенце +/obj/item/clothing/under/towel/short/alt/red + name = "красное махровое маленькое полотенце" + color = "#EE204D" + +/obj/item/clothing/under/towel/short/alt/green + name = "зелёное махровое маленькое полотенце" + color = "#32CD32" + +/obj/item/clothing/under/towel/short/alt/blue + name = "синее махровое маленькое полотенце" + color = "#1E90FF" + +/obj/item/clothing/under/towel/short/alt/orange + name = "оранжевое махровое маленькое полотенце" + color = "#FFA500" + +/obj/item/clothing/under/towel/short/alt/purple + name = "фиолетовое махровое маленькое полотенце" + color = "#DA70D6" + +/obj/item/clothing/under/towel/short/alt/cyan + name = "голубое махровое маленькое полотенце" + color = "#40E0D0" + +/obj/item/clothing/under/towel/short/alt/brown + name = "коричневое махровое маленькое полотенце" + color = "#DEB887" diff --git a/modular_bandastation/clothing/icons/mob/suits.dmi b/modular_bandastation/clothing/icons/mob/suits.dmi new file mode 100644 index 0000000000000..c801d8200a1f3 Binary files /dev/null and b/modular_bandastation/clothing/icons/mob/suits.dmi differ diff --git a/modular_bandastation/clothing/icons/mob/under.dmi b/modular_bandastation/clothing/icons/mob/under.dmi new file mode 100644 index 0000000000000..339fd6cdb0876 Binary files /dev/null and b/modular_bandastation/clothing/icons/mob/under.dmi differ diff --git a/modular_bandastation/clothing/icons/object/suits.dmi b/modular_bandastation/clothing/icons/object/suits.dmi new file mode 100644 index 0000000000000..1ee2436dc8ef9 Binary files /dev/null and b/modular_bandastation/clothing/icons/object/suits.dmi differ diff --git a/modular_bandastation/clothing/icons/object/under.dmi b/modular_bandastation/clothing/icons/object/under.dmi new file mode 100644 index 0000000000000..f1dc9aac1cb77 Binary files /dev/null and b/modular_bandastation/clothing/icons/object/under.dmi differ diff --git a/modular_bandastation/clothing/sound/hev/01_hev_logon.ogg b/modular_bandastation/clothing/sound/hev/01_hev_logon.ogg new file mode 100644 index 0000000000000..29811b063c5a2 Binary files /dev/null and b/modular_bandastation/clothing/sound/hev/01_hev_logon.ogg differ diff --git a/modular_bandastation/clothing/sound/hev/04_vitalsigns_on.ogg b/modular_bandastation/clothing/sound/hev/04_vitalsigns_on.ogg new file mode 100644 index 0000000000000..c82fdac8833c6 Binary files /dev/null and b/modular_bandastation/clothing/sound/hev/04_vitalsigns_on.ogg differ diff --git a/modular_bandastation/clothing/sound/hev/09_safe_day.ogg b/modular_bandastation/clothing/sound/hev/09_safe_day.ogg new file mode 100644 index 0000000000000..576cc709d14d4 Binary files /dev/null and b/modular_bandastation/clothing/sound/hev/09_safe_day.ogg differ diff --git a/modular_bandastation/clothing/sound/hev/beep_3.ogg b/modular_bandastation/clothing/sound/hev/beep_3.ogg new file mode 100644 index 0000000000000..312cb7f3892ee Binary files /dev/null and b/modular_bandastation/clothing/sound/hev/beep_3.ogg differ diff --git a/modular_bandastation/clothing/sound/hev/blip.ogg b/modular_bandastation/clothing/sound/hev/blip.ogg new file mode 100644 index 0000000000000..a117521c7c171 Binary files /dev/null and b/modular_bandastation/clothing/sound/hev/blip.ogg differ diff --git a/modular_bandastation/clothing/sound/hev/death.ogg b/modular_bandastation/clothing/sound/hev/death.ogg new file mode 100644 index 0000000000000..fcf6293a00aaa Binary files /dev/null and b/modular_bandastation/clothing/sound/hev/death.ogg differ diff --git a/modular_bandastation/clothing/sound/hev/heat.ogg b/modular_bandastation/clothing/sound/hev/heat.ogg new file mode 100644 index 0000000000000..e40b4b264fdb4 Binary files /dev/null and b/modular_bandastation/clothing/sound/hev/heat.ogg differ diff --git a/modular_bandastation/clothing/sound/hev/shok.ogg b/modular_bandastation/clothing/sound/hev/shok.ogg new file mode 100644 index 0000000000000..679d39afb6a4b Binary files /dev/null and b/modular_bandastation/clothing/sound/hev/shok.ogg differ