[MIRROR] Adds a standalone Civilian Modsuit model, available from robotics (#28946)

* Adds a standalone Civilian Modsuit model, available from robotics (#84806)

## About The Pull Request

I talked with Fikou on discord about #84801, and he said that it would
be fine to make a standalone suit that is slowdown-free but also not
spaceproof. So yeah, that's what this is. The civilian skin for the
standard modsuit has been turned into a standalone model. It is similar
to the loader modsuit that cargo has, in that it has no slowdown while
active but doesn't protect you from space. It also has only a complexity
limit of 12 instead of the usual 15, and it has abysmal armor values. It
also doesn't protect you from pepper spray and the helmet doesn't allow
you to use internals or block you from eating.

I tweaked the sprites for it as well, removing the visor from the inhand
and mob overlay sprites, to better reflect it's lack of spaceproofing. I
also whipped up a quick sprite for the civilian mod plating, based off
of the medical mod plating since they have similar color schemes.
## Why It's Good For The Game

I'm going to just copy and paste what I said in the last PR, because all
of it still applies to this one. There are a lot of really cool modsuit
modules that are hampered by the other drawbacks that modsuits have.
These drawbacks exist for a good reason; space proof suits should have
tradeoffs, especially ones available at the start of the round like
modsuits are. But that doesn't really solve the problem with the
modules.

One of the biggest examples of this problem is the pepper shoulders
module that comes on security modsuits. It's a very cool module
conceptually, but it tends to have limited usefulness in practice. Out
in space, whoever you're fighting is likely wearing a spacesuit of their
own, which will make them completely immune to the pepper spray. On the
station, the person wearing the suit has to deal with the slowdown from
it, which will far outweigh any advantage granted by the pepper
shoulders module.

Another good example is the medical modules, like the surgical
processor, organ thrower/organizer, and thread ripper modules. All of
these are great for a medical player trying to perform surgery, but who
is going to be doing surgery in a depressurized room? All these modules
don't mesh well with the design of modsuits as special spacesuits, and
the new civilian model will hopefully give them more room to be used.
## Changelog
🆑
add: Added the civilian modsuit module as a standalone model. It offers
no slowdown while activated but does NOT protect you from the void of
space. You can print the plating from an exosuit fabricator and build it
like a normal modsuit.
del: Removed the civilian skin from the standard modsuit, as it is now a
standalone model.
image: Tweaked the sprites for the civilian modsuit head, both in-hand
and on the mob. Also added a civilian mod plating sprite.
/🆑

* Adds a standalone Civilian Modsuit model, available from robotics

---------

Co-authored-by: GPeckman <21979502+GPeckman@users.noreply.github.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
This commit is contained in:
SkyratBot
2024-07-20 18:12:55 +02:00
committed by GitHub
parent 131bb37983
commit 700c0b98a8
8 changed files with 75 additions and 31 deletions

View File

@@ -92,6 +92,9 @@
desc = "[desc] [used_theme.desc]" desc = "[desc] [used_theme.desc]"
icon_state = "[used_theme.default_skin]-plating" icon_state = "[used_theme.default_skin]-plating"
/obj/item/mod/construction/plating/civilian
theme = /datum/mod_theme/civilian
/obj/item/mod/construction/plating/engineering /obj/item/mod/construction/plating/engineering
theme = /datum/mod_theme/engineering theme = /datum/mod_theme/engineering

View File

@@ -83,37 +83,6 @@
SEALED_MESSAGE = BOOT_SEAL_MESSAGE, SEALED_MESSAGE = BOOT_SEAL_MESSAGE,
), ),
), ),
"civilian" = list(
/obj/item/clothing/head/mod = list(
UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL,
SEALED_CLOTHING = STOPSPRESSUREDAMAGE|HEADINTERNALS,
UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT,
UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF,
UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE,
SEALED_MESSAGE = HELMET_SEAL_MESSAGE,
),
/obj/item/clothing/suit/mod = list(
UNSEALED_CLOTHING = THICKMATERIAL,
SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
SEALED_INVISIBILITY = HIDEJUMPSUIT,
UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE,
SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE,
),
/obj/item/clothing/gloves/mod = list(
UNSEALED_CLOTHING = THICKMATERIAL,
SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
CAN_OVERSLOT = TRUE,
UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE,
SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE,
),
/obj/item/clothing/shoes/mod = list(
UNSEALED_CLOTHING = THICKMATERIAL,
SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
CAN_OVERSLOT = TRUE,
UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE,
SEALED_MESSAGE = BOOT_SEAL_MESSAGE,
),
),
) )
#ifdef UNIT_TESTS #ifdef UNIT_TESTS
@@ -210,6 +179,58 @@
acid = 25 acid = 25
wound = 5 wound = 5
/datum/mod_theme/civilian
name = "civilian"
desc = "A light-weight civilian suit that offers unmatched ease of movement but no protection from the vacuum of space."
extended_desc = "An experimental design by Nakamura Engineering, intended to be marketed towards planet-bound customers. \
This model sacrifices the protection from biological and chemical threats and the vacuum of space in exchange for \
vastly improved mobility. Due to the slimmed-down profile, it also has less capacity for modifications compared to \
mainline models."
default_skin = "civilian"
armor_type = /datum/armor/mod_theme_civilian
max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT
min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT
complexity_max = DEFAULT_MAX_COMPLEXITY - 3
slowdown_inactive = 0.5
slowdown_active = 0
variants = list(
"civilian" = list(
/obj/item/clothing/head/mod = list(
UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL,
UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE,
SEALED_MESSAGE = HELMET_SEAL_MESSAGE,
),
/obj/item/clothing/suit/mod = list(
UNSEALED_CLOTHING = THICKMATERIAL,
SEALED_INVISIBILITY = HIDEJUMPSUIT,
UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE,
SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE,
),
/obj/item/clothing/gloves/mod = list(
UNSEALED_CLOTHING = THICKMATERIAL,
CAN_OVERSLOT = TRUE,
UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE,
SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE,
),
/obj/item/clothing/shoes/mod = list(
UNSEALED_CLOTHING = THICKMATERIAL,
CAN_OVERSLOT = TRUE,
UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE,
SEALED_MESSAGE = BOOT_SEAL_MESSAGE,
),
),
)
/datum/armor/mod_theme_civilian
melee = 5
bullet = 5
laser = 5
energy = 5
bio = 50
fire = 25
acid = 25
wound = 5
/datum/mod_theme/engineering /datum/mod_theme/engineering
name = "engineering" name = "engineering"
desc = "An engineer-fit suit with heat and shock resistance. Nakamura Engineering's classic." desc = "An engineer-fit suit with heat and shock resistance. Nakamura Engineering's classic."

View File

@@ -46,6 +46,14 @@
/obj/item/mod/module/flashlight, /obj/item/mod/module/flashlight,
) )
/obj/item/mod/control/pre_equipped/civilian
theme = /datum/mod_theme/civilian
applied_modules = list(
/obj/item/mod/module/storage,
/obj/item/mod/module/welding,
/obj/item/mod/module/flashlight,
)
/obj/item/mod/control/pre_equipped/engineering /obj/item/mod/control/pre_equipped/engineering
theme = /datum/mod_theme/engineering theme = /datum/mod_theme/engineering
applied_modules = list( applied_modules = list(

View File

@@ -1990,6 +1990,17 @@
var/datum/mod_theme/theme = GLOB.mod_themes[initial(armor_type.theme)] var/datum/mod_theme/theme = GLOB.mod_themes[initial(armor_type.theme)]
desc = "External plating for a MODsuit. [theme.desc]" desc = "External plating for a MODsuit. [theme.desc]"
/datum/design/mod_plating/civilian
name = "MOD Civilian Plating"
id = "mod_plating_civilian"
build_path = /obj/item/mod/construction/plating/civilian
materials = list(
/datum/material/iron =SHEET_MATERIAL_AMOUNT*3,
/datum/material/glass =SHEET_MATERIAL_AMOUNT*1.5,
/datum/material/plasma =HALF_SHEET_MATERIAL_AMOUNT,
)
research_icon_state = "civilian-plating"
/datum/design/mod_plating/engineering /datum/design/mod_plating/engineering
name = "MOD Engineering Plating" name = "MOD Engineering Plating"
id = "mod_plating_engineering" id = "mod_plating_engineering"

View File

@@ -12,6 +12,7 @@
"mod_gauntlets", "mod_gauntlets",
"mod_boots", "mod_boots",
"mod_plating_standard", "mod_plating_standard",
"mod_plating_civilian",
"mod_paint_kit", "mod_paint_kit",
"mod_storage", "mod_storage",
"mod_plasma", "mod_plasma",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 133 KiB

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB