Resprites civilian MODsuit (#86108)

## About The Pull Request

![изображение](https://github.com/user-attachments/assets/76ce5445-4211-4873-8e33-9c6ee44907a6)

![изображение](https://github.com/user-attachments/assets/f40cb6a9-e452-410a-9195-86198b437456)

Civilian MODsuit got its visor back but lost its lower helmet piece,
exposing the mouth and chin. It also decided to hit up the gym and lost
weight, as after it became a separate theme it no longer has a slowdown.

Additionally, made sure that mouthhole module cannot be installed on
MODsuits that don't have a helmet or a mask that cover the face.

## Why It's Good For The Game

It looks extremely odd and bulky despite not providing a slowdown. Also
the visor was cool.

## Changelog
🆑
fix: Mouthhole module can no longer be installed on MODsuits that don't
cover the mouth
image: Civilian MODsuit got a resprite
/🆑
This commit is contained in:
SmArtKar
2024-09-07 20:24:19 +00:00
committed by GitHub
parent 4b4ae0958f
commit 3dde6f43b3
6 changed files with 20 additions and 0 deletions
+5
View File
@@ -572,6 +572,11 @@
balloon_alert(user, "[new_module] incompatible with [src]'s parts!")
playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE)
return
if(!new_module.can_install(src))
if(user)
balloon_alert(user, "[new_module] cannot be installed into [src]!")
playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE)
return
new_module.forceMove(src)
modules += new_module
complexity += new_module.complexity
+2
View File
@@ -199,6 +199,8 @@
UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL,
UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE,
SEALED_MESSAGE = HELMET_SEAL_MESSAGE,
UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEEYES|HIDEHAIR|HIDESNOUT,
SEALED_COVER = HEADCOVERSEYES,
),
/obj/item/clothing/suit/mod = list(
UNSEALED_CLOTHING = THICKMATERIAL,
+4
View File
@@ -94,6 +94,10 @@
needed_slots -= needed_slot
return !length(needed_slots)
/// Additional checks for whenever a module can be installed into a suit or not
/obj/item/mod/module/proc/can_install(obj/item/mod/control/mod)
return TRUE
/// Called when the module is selected from the TGUI, radial or the action button
/obj/item/mod/module/proc/on_select()
if(!mod.wearer)
@@ -310,6 +310,15 @@
mask.flags_cover &= ~(MASKCOVERSMOUTH |PEPPERPROOF)
mask.visor_flags_cover &= ~(MASKCOVERSMOUTH |PEPPERPROOF)
/obj/item/mod/module/mouthhole/can_install(obj/item/mod/control/mod)
var/obj/item/clothing/helmet = mod.get_part_from_slot(ITEM_SLOT_HEAD)
var/obj/item/clothing/mask = mod.get_part_from_slot(ITEM_SLOT_MASK)
if(istype(helmet) && ((helmet.flags_cover|helmet.visor_flags_cover) & (HEADCOVERSMOUTH|PEPPERPROOF)))
return ..()
if(istype(mask) && ((mask.flags_cover|mask.visor_flags_cover) & (MASKCOVERSMOUTH|PEPPERPROOF)))
return ..()
return FALSE
/obj/item/mod/module/mouthhole/on_uninstall(deleting = FALSE)
if(deleting)
return