mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-10 09:42:29 +00:00
[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:
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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."
|
||||||
|
|||||||
@@ -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(
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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 |
Reference in New Issue
Block a user