Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Новая раса для TG SS220 Вульпочки #267

Open
wants to merge 31 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
d56a8ab
Базовая реализация вульпкан
Nlaysi May 17, 2024
b6d613c
Некоторые исправления и ребейз
Nlaysi May 17, 2024
a6ef94b
Некоторые исправления спрайтов, изменение структуры, исправление баго…
Nlaysi May 22, 2024
cd095c6
Ребейз и некоторые исправления
Nlaysi May 22, 2024
5557bab
Некоторые исправления
Nlaysi May 23, 2024
4a90954
Генерация имён
Nlaysi May 23, 2024
9b19886
Исправление тестов
Nlaysi May 23, 2024
1870291
Доработка особенностей и ДНК
Nlaysi May 26, 2024
ff2153f
Способность и некоторые эмоуты
Nlaysi May 29, 2024
517829a
Некоторые исправления и ребейз
Nlaysi May 29, 2024
fb1fd06
Некоторые исправления
Nlaysi May 30, 2024
0f1c56c
Некоторые исправления
Nlaysi May 30, 2024
ba58ec5
Добавление иконки
Nlaysi May 31, 2024
a5c6f59
Некоторые исправления
Nlaysi Jun 5, 2024
caed519
Адаптивная одежда для вульпкан и некоторые исправления
Nlaysi Jun 10, 2024
87d7262
Доработка DNA, доработка абилки
Nlaysi Jun 12, 2024
33485fa
Некоторые исправления
Nlaysi Jun 12, 2024
53d5b55
Запрет нюха при курении
Nlaysi Jun 20, 2024
dae346e
Исправление абилки, добавление дизайнов для лимбгрувера и некоторые и…
Nlaysi Jul 18, 2024
3c0968e
Update modular_bandastation/species/code/human/species/species.dm
Gaxeer Jun 30, 2024
b4645c7
Добавление возможности инфьюза в вульпу
Nlaysi Jul 18, 2024
87465bd
Некоторые исправления инфьюза
Nlaysi Jul 18, 2024
1d44e71
Удаление инфьюза
Nlaysi Jul 25, 2024
41daae9
Добавление мутационного токсина, и мерж
Nlaysi Aug 22, 2024
a4988f4
Добавление эмоутов
Nlaysi Aug 27, 2024
b859357
Исправления под апстрим
Nlaysi Sep 13, 2024
441191c
Некоторые исправления
Nlaysi Oct 6, 2024
8fa1b06
Merge remote-tracking branch 'upstream/master' into vulpes
Nlaysi Oct 29, 2024
66ff252
Некоторые исправления
Nlaysi Oct 29, 2024
4eff490
Merge remote-tracking branch 'upstream/master' into vulpes
Nlaysi Oct 30, 2024
77f77f9
Исправления под апстрим
Nlaysi Oct 30, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions config/bandastation/bandastation_config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,6 @@
#TRANSLATE_SUGGEST_WEBHOOK_URL

#INTERVIEW_WEBHOOK_URL

## Bandastation Races
Comment on lines +17 to +18
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Bandastation Races
## Bandastation Races

ROUNDSTART_RACES vulpkanin
Binary file added modular_bandastation/emote_panel/audio/bark.ogg
Binary file not shown.
Binary file not shown.
Binary file added modular_bandastation/emote_panel/audio/growl1.ogg
Binary file not shown.
Binary file added modular_bandastation/emote_panel/audio/growl2.ogg
Binary file not shown.
Binary file added modular_bandastation/emote_panel/audio/growl3.ogg
Binary file not shown.
Binary file added modular_bandastation/emote_panel/audio/howl.ogg
Binary file not shown.
Binary file not shown.
Binary file added modular_bandastation/emote_panel/audio/purr.ogg
Binary file not shown.
Binary file added modular_bandastation/emote_panel/audio/wbark.ogg
Binary file not shown.
2 changes: 2 additions & 0 deletions modular_bandastation/emote_panel/code/_emote_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,8 @@
#define EMOTE_HUMAN_WIGGLES "Шевелить усиками"
#define EMOTE_HUMAN_WHIPS "Хлестать хвостом"
#define EMOTE_HUMAN_WHIP "Ударить хвостом"
#define EMOTE_HUMAN_BARK "Гавкнуть"
#define EMOTE_HUMAN_WBARK "Дважды гавкнуть"

/// Carbon Emotes
#define EMOTE_CARBON_BLINK "Моргать"
Expand Down
30 changes: 30 additions & 0 deletions modular_bandastation/emote_panel/code/emote_verbs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,31 @@
set category = "Эмоции"
emote("clap", intentional = TRUE)

/mob/living/carbon/human/species/vulpkanin/proc/emote_howl()
set name = "▷ " + EMOTE_HUMAN_HOWL + " "
set category = "Эмоции"
emote("howl", intentional = TRUE)

/mob/living/carbon/human/species/vulpkanin/proc/emote_growl()
Nlaysi marked this conversation as resolved.
Show resolved Hide resolved
set name = "▷ " + EMOTE_HUMAN_GROWL + " "
set category = "Эмоции"
emote("growl", intentional = TRUE)

/mob/living/carbon/human/species/vulpkanin/proc/emote_purr()
set name = "▷ " + EMOTE_HUMAN_RUMBLE + " "
set category = "Эмоции"
emote("purr", intentional = TRUE)

/mob/living/carbon/human/species/vulpkanin/proc/emote_bark()
set name = "▷ " + EMOTE_HUMAN_BARK + " "
set category = "Эмоции"
emote("bark", intentional = TRUE)

/mob/living/carbon/human/species/vulpkanin/proc/emote_wbark()
set name = "▷ " + EMOTE_HUMAN_WBARK + " "
set category = "Эмоции"
emote("wbark", intentional = TRUE)

/// Action Emotes ///
/mob/living/carbon/human/verb/emote_collapse()
set name = "○ " + EMOTE_COLLAPSE + " "
Expand Down Expand Up @@ -276,6 +301,11 @@
set category = "Эмоции"
emote("aflap", intentional = TRUE)

/mob/living/carbon/human/proc/emote_wag()
set name = "◦ " + EMOTE_HUMAN_WAG + " "
set category = "Эмоции"
emote("wag", intentional = TRUE)

/// Racial Emotes ///
/mob/living/carbon/human/proc/emote_ping()
set name = "< " + EMOTE_SILICON_PING + " >"
Expand Down
81 changes: 78 additions & 3 deletions modular_bandastation/emote_panel/code/emotes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -195,9 +195,16 @@
message = "самодовольно улыбается."

/datum/emote/living/sniff
name = "шмыгнуть"
message = "шмыгает носом."
message_mime = "бесшумно шмыгает носом."
name = "нюхать"
message = "нюхает."
message_mime = "бесшумно нюхает."
message_param = "нюхает %t."
Comment on lines +198 to +201
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

убери эти изменения


/datum/emote/living/sniff/get_sound(mob/living/user)
if(user.gender == FEMALE)
return 'modular_bandastation/emote_panel/audio/female/sniff_female.ogg'
else
return 'modular_bandastation/emote_panel/audio/male/sniff_male.ogg'
Comment on lines +204 to +207
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if(user.gender == FEMALE)
return 'modular_bandastation/emote_panel/audio/female/sniff_female.ogg'
else
return 'modular_bandastation/emote_panel/audio/male/sniff_male.ogg'
if(user.gender == FEMALE)
return 'modular_bandastation/emote_panel/audio/female/sniff_female.ogg'
return 'modular_bandastation/emote_panel/audio/male/sniff_male.ogg'


/datum/emote/living/snore
name = "храпеть"
Expand Down Expand Up @@ -640,3 +647,71 @@
name = "ooga"
message = "oogas."
message_param = "oogas at %t."

// Vulpkanin

/datum/emote/living/carbon/human/vulpkanin/can_run_emote(mob/user, status_check = TRUE, intentional = FALSE)
var/organ = user.get_organ_slot(ORGAN_SLOT_TONGUE)
if(istype(organ, /obj/item/organ/tongue/vulpkanin))
return ..()

/datum/emote/living/carbon/human/vulpkanin/howl
larentoun marked this conversation as resolved.
Show resolved Hide resolved
name = "Выть"
key = "howl"
key_third_person = "howls"
message = "воет."
message_mime = "делает вид, что воет."
message_param = "воет на %t."
emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE
cooldown = 6 SECONDS
sound = 'modular_bandastation/emote_panel/audio/howl.ogg'

/datum/emote/living/carbon/human/vulpkanin/growl
name = "Рычать"
key = "growl"
key_third_person = "growls"
message = "рычит."
message_mime = "бусшумно рычит."
message_param = "рычит на %t."
cooldown = 2 SECONDS
emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE

/datum/emote/living/carbon/human/vulpkanin/growl/get_sound(mob/living/user)
return pick(
'modular_bandastation/emote_panel/audio/growl1.ogg',
'modular_bandastation/emote_panel/audio/growl2.ogg',
'modular_bandastation/emote_panel/audio/growl3.ogg',
)

/datum/emote/living/carbon/human/vulpkanin/purr
name = "Урчать"
key = "purr"
key_third_person = "purrs"
message = "урчит."
message_param = "урчит на %t."
emote_type = EMOTE_AUDIBLE
vary = TRUE
cooldown = 2 SECONDS
sound = 'modular_bandastation/emote_panel/audio/purr.ogg'

/datum/emote/living/carbon/human/vulpkanin/bark
name = "Гавкнуть"
key = "bark"
key_third_person = "bark"
message = "гавкает."
message_param = "гавкает на %t."
emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE
vary = TRUE
cooldown = 2 SECONDS
sound = 'modular_bandastation/emote_panel/audio/bark.ogg'

/datum/emote/living/carbon/human/vulpkanin/wbark
name = "Гавкнуть дважды"
key = "wbark"
key_third_person = "wbark"
message = "дважды гавкает."
message_param = "дважды гавкает на %t."
emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE
vary = TRUE
cooldown = 2 SECONDS
sound = 'modular_bandastation/emote_panel/audio/wbark.ogg'
1 change: 1 addition & 0 deletions modular_bandastation/modular_bandastation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,4 @@
#include "preferences/_preferences.dme"
#include "jukebox/_jukebox.dme"
#include "objects/_objects.dme"
#include "species/_species.dme"
9 changes: 9 additions & 0 deletions modular_bandastation/species/_species.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/datum/modpack/species
name = "Modpack Species"
desc = "Добавление архитектуры для новых видов и конфигурирования существующих"
author = "nlaysi"

/datum/modpack/species/vulpkanin
name = "Species Vulpkanin"
desc = "Добавление вида Вульпканин"
author = "nlaysi"
Nlaysi marked this conversation as resolved.
Show resolved Hide resolved
26 changes: 26 additions & 0 deletions modular_bandastation/species/_species.dme
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#ifndef MODPACK_SPECIES
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

А это тут зачем?

#define MODPACK_SPECIES

#include "_species.dm"

#include "code/_defines.dm"
#include "code/language.dm"
#include "code/dna.dm"

#include "code/human/carbon.dm"
#include "code/surgery/organs/external/vulpkanin_external.dm"
#include "code/surgery/organs/internal/vulpkanin_internal.dm"
#include "code/surgery/organs/limbgrower_designs.dm"
#include "code/human/sprite_accessories/vulpkanin.dm"
#include "code/preferences/species_features/vulpkanin.dm"
#include "code/surgery/bodyparts/vulpkanin_bodyparts.dm"
#include "code/human/species_type/vulpkanin.dm"
#include "code/human/sprite_accessories/hair.dm"
#include "code/human/species/species.dm"
#include "code/reagents/mutation.dm"

#include "code/clothing/human_update_icons.dm"
#include "code/clothing/items.dm"
#include "code/clothing/mod.dm"

#endif
44 changes: 44 additions & 0 deletions modular_bandastation/species/code/_defines.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#define SPECIES_VULPKANIN "vulpkanin"
#define BUTT_SPRITE_VULPKANIN "vulpkanin"

#define DEFAULT_SPRITE_LIST "default_sprites"

#define DNA_VULPKANIN_BODY_MARKINGS DNA_FEATURE_BLOCKS + 1
#define DNA_VULPKANIN_HEAD_MARKINGS DNA_FEATURE_BLOCKS + 2
#define DNA_VULPKANIN_HEAD_ACCESSORIES DNA_FEATURE_BLOCKS + 3
#define DNA_VULPKANIN_TAIL DNA_FEATURE_BLOCKS + 4
#define DNA_VULPKANIN_TAIL_MARKINGS DNA_FEATURE_BLOCKS + 5
#define DNA_VULPKANIN_FACIAL_HAIR DNA_FEATURE_BLOCKS + 6
#define DNA_FURCOLOR_1 DNA_FEATURE_BLOCKS + 7
#define DNA_FURCOLOR_2 DNA_FEATURE_BLOCKS + 8
#define DNA_FURCOLOR_3 DNA_FEATURE_BLOCKS + 9
#define DNA_FURCOLOR_4 DNA_FEATURE_BLOCKS + 10
#define DNA_FURCOLOR_5 DNA_FEATURE_BLOCKS + 11

#define DNA_MODULAR_BLOCKS_COUNT 11

#define HEAD_VULPKANIN (1<<16)

GLOBAL_LIST_INIT(first_names_female_vulp, world.file2list("strings/names/first_female_vulp.txt"))
GLOBAL_LIST_INIT(first_names_male_vulp, world.file2list("strings/names/first_male_vulp.txt"))
GLOBAL_LIST_INIT(last_names_vulp, world.file2list("strings/names/last_vulp.txt"))

/datum/controller/subsystem/accessories
var/list/vulpkanin_body_markings_list
var/list/vulpkanin_head_markings_list
var/list/vulpkanin_head_accessories_list
var/list/tails_list_vulpkanin
var/list/vulpkanin_tail_markings_list
var/list/vulpkanin_facial_hair_list

/datum/controller/subsystem/accessories/proc/init_modular_lists()
vulpkanin_body_markings_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/vulpkanin_body_markings, add_blank = TRUE)[DEFAULT_SPRITE_LIST]
vulpkanin_head_markings_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/vulpkanin_head_markings, add_blank = TRUE)[DEFAULT_SPRITE_LIST]
vulpkanin_head_accessories_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/vulpkanin_head_accessories, add_blank = TRUE)[DEFAULT_SPRITE_LIST]
tails_list_vulpkanin = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/vulpkanin, add_blank = FALSE)[DEFAULT_SPRITE_LIST]
vulpkanin_tail_markings_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/vulpkanin_tail_markings, add_blank = TRUE)[DEFAULT_SPRITE_LIST]
vulpkanin_facial_hair_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/vulpkanin_facial_hair, add_blank = TRUE)[DEFAULT_SPRITE_LIST]

/datum/controller/subsystem/accessories/PreInit()
..()
init_modular_lists()
135 changes: 135 additions & 0 deletions modular_bandastation/species/code/clothing/human_update_icons.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
#define RESOLVE_ICON_STATE(worn_item) (worn_item.worn_icon_state || worn_item.icon_state)

/obj/item/bodypart
var/species_bodytype

/mob/living/carbon/human/update_worn_mask(update_obscured = TRUE)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Добавь все оверрайды в кор-код с нужным комментом, типо // BANDASTATION EDIT START - Vulps. Примеры уже есть в коде.

remove_overlay(FACEMASK_LAYER)

var/obj/item/bodypart/head/my_head = get_bodypart(BODY_ZONE_HEAD)
if(isnull(my_head)) //Decapitated
return

if(client && hud_used && hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_MASK) + 1])
var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_MASK) + 1]
inv.update_icon()

if(wear_mask)
var/obj/item/worn_item = wear_mask
update_hud_wear_mask(worn_item)

if(update_obscured)
update_obscured_slots(worn_item.flags_inv)

if(check_obscured_slots(transparent_protection = TRUE) & ITEM_SLOT_MASK)
return

var/icon_file = 'icons/mob/clothing/mask.dmi'
var/list/icon_files_species = list(
SPECIES_VULPKANIN = 'modular_bandastation/species/icons/mob/species/clothing/mask.dmi',
)

var/mutant_override = FALSE

var/obj/item/bodypart/head/bodypart_head = src.get_bodypart(BODY_ZONE_HEAD)
if(worn_item.worn_icon_species && worn_item.worn_icon_species[bodypart_head.species_bodytype])

Check warning on line 35 in modular_bandastation/species/code/clothing/human_update_icons.dm

View workflow job for this annotation

GitHub Actions / Run Linters

OD2304: Invalid index operation. datum[] index operations are not valid starting in BYOND 515.1641
icon_file = worn_item.worn_icon_species[bodypart_head.species_bodytype]

Check warning on line 36 in modular_bandastation/species/code/clothing/human_update_icons.dm

View workflow job for this annotation

GitHub Actions / Run Linters

OD2304: Invalid index operation. datum[] index operations are not valid starting in BYOND 515.1641
mutant_override = TRUE
else if(bodypart_head.species_bodytype in icon_files_species)
icon_file = icon_files_species[bodypart_head.species_bodytype]
mutant_override = FALSE

if(!(icon_exists(icon_file, RESOLVE_ICON_STATE(worn_item))))
icon_file = 'icons/mob/clothing/mask.dmi'
mutant_override = FALSE

var/mutable_appearance/mask_overlay = wear_mask.build_worn_icon(default_layer = FACEMASK_LAYER, default_icon_file = icon_file, override_file = mutant_override ? icon_file : null)
my_head.worn_mask_offset?.apply_offset(mask_overlay)
overlays_standing[FACEMASK_LAYER] = mask_overlay

apply_overlay(FACEMASK_LAYER)
update_body_parts()

/mob/living/carbon/human/update_worn_head(update_obscured = TRUE)
remove_overlay(HEAD_LAYER)
if(client && hud_used && hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_BACK) + 1])
var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_HEAD) + 1]
inv.update_icon()

if(head)
var/obj/item/worn_item = head
update_hud_head(worn_item)

if(update_obscured)
update_obscured_slots(worn_item.flags_inv)

if(check_obscured_slots(transparent_protection = TRUE) & ITEM_SLOT_HEAD)
return

var/icon_file = 'icons/mob/clothing/head/default.dmi'
var/list/icon_files_species = list(
SPECIES_VULPKANIN = 'modular_bandastation/species/icons/mob/species/clothing/head.dmi',
)

var/mutant_override = FALSE

var/obj/item/bodypart/head/bodypart_head = src.get_bodypart(BODY_ZONE_HEAD)
if(worn_item.worn_icon_species && worn_item.worn_icon_species[bodypart_head.species_bodytype])

Check warning on line 77 in modular_bandastation/species/code/clothing/human_update_icons.dm

View workflow job for this annotation

GitHub Actions / Run Linters

OD2304: Invalid index operation. datum[] index operations are not valid starting in BYOND 515.1641
icon_file = worn_item.worn_icon_species[bodypart_head.species_bodytype]

Check warning on line 78 in modular_bandastation/species/code/clothing/human_update_icons.dm

View workflow job for this annotation

GitHub Actions / Run Linters

OD2304: Invalid index operation. datum[] index operations are not valid starting in BYOND 515.1641
mutant_override = TRUE
else if(bodypart_head.species_bodytype in icon_files_species)
icon_file = icon_files_species[bodypart_head.species_bodytype]
mutant_override = FALSE

if(!(icon_exists(icon_file, RESOLVE_ICON_STATE(worn_item))))
icon_file = 'icons/mob/clothing/head/default.dmi'
mutant_override = FALSE

var/mutable_appearance/head_overlay = head.build_worn_icon(default_layer = HEAD_LAYER, default_icon_file = icon_file, override_file = mutant_override ? icon_file : null)
var/obj/item/bodypart/head/my_head = get_bodypart(BODY_ZONE_HEAD)
my_head?.worn_head_offset?.apply_offset(head_overlay)
overlays_standing[HEAD_LAYER] = head_overlay

apply_overlay(HEAD_LAYER)

/mob/living/carbon/human/update_worn_oversuit(update_obscured = TRUE)
remove_overlay(SUIT_LAYER)

if(client && hud_used)
var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_OCLOTHING) + 1]
inv.update_icon()

if(wear_suit)
var/obj/item/worn_item = wear_suit
update_hud_wear_suit(worn_item)

if(update_obscured)
update_obscured_slots(worn_item.flags_inv)

var/icon_file = DEFAULT_SUIT_FILE
var/list/icon_files_species = list(
SPECIES_VULPKANIN = 'modular_bandastation/species/icons/mob/species/clothing/suit.dmi',
)

var/mutant_override = FALSE

var/obj/item/bodypart/chest/bodypart_chest = src.get_bodypart(BODY_ZONE_CHEST)
if(worn_item.worn_icon_species && worn_item.worn_icon_species[bodypart_chest.species_bodytype])

Check warning on line 117 in modular_bandastation/species/code/clothing/human_update_icons.dm

View workflow job for this annotation

GitHub Actions / Run Linters

OD2304: Invalid index operation. datum[] index operations are not valid starting in BYOND 515.1641
icon_file = worn_item.worn_icon_species[bodypart_chest.species_bodytype]

Check warning on line 118 in modular_bandastation/species/code/clothing/human_update_icons.dm

View workflow job for this annotation

GitHub Actions / Run Linters

OD2304: Invalid index operation. datum[] index operations are not valid starting in BYOND 515.1641
mutant_override = TRUE
else if(bodypart_chest.species_bodytype in icon_files_species)
icon_file = icon_files_species[bodypart_chest.species_bodytype]
mutant_override = FALSE

if(!(icon_exists(icon_file, RESOLVE_ICON_STATE(worn_item))))
icon_file = DEFAULT_SUIT_FILE
mutant_override = FALSE

var/mutable_appearance/suit_overlay = wear_suit.build_worn_icon(default_layer = SUIT_LAYER, default_icon_file = icon_file, override_file = mutant_override ? icon_file : null)
var/obj/item/bodypart/chest/my_chest = get_bodypart(BODY_ZONE_CHEST)
my_chest?.worn_suit_offset?.apply_offset(suit_overlay)
overlays_standing[SUIT_LAYER] = suit_overlay
update_body_parts()
update_body_parts()

apply_overlay(SUIT_LAYER)
Loading
Loading