From b7ac832cd205c05b3bee42aeb700783b4dea5b4b Mon Sep 17 00:00:00 2001 From: carlarctg <53100513+carlarctg@users.noreply.github.com> Date: Tue, 20 Jun 2023 23:01:46 -0300 Subject: [PATCH] Adds wound armor to ALL jumpsuits that were missing it (#75956) ## About The Pull Request Adds wound armor to ALL jumpsuits that were missing it. Every jumpsuit, by default, has 5 wound armor. However, because for some godforsaken reason armor datums don't use subtypes (seriously, the fuck?), the vast majority of jumpsuits weren't updated to have anything in case they overrode the base armor. This includes critical oversights such as any nonstandard jumpsuit meant to be armored (Tracksuits, turtlenecks, admin suit, tgmc suit). This is especially critical a problem on nuclear operatives, who face a lot of combat every round and need that wound armor. Any nonstandard jumpsuit that also protects from departmental hazards doesn't recieve the wound armor, this is seemingly reasonable with, say, medical jumpsuits, but starts to get weird when it includes engineering, botany, the RD, CMO, and CE.. Plasmaman envirosuits also don't by default. This may or may not be on purpose but I added it on them just in case. Armored jumpsuits that didn't have the wound resistance now have 10, instead of the base 5, since they're meant to be, well, armored. This might also make durathread useful for something (lol, as if) ## Why It's Good For The Game Consistency. It's very inconsistent that 'wound' armor randomly pops in and out of places ingame. It requires you to think like a space whale to figure out what's the Best Combat Uniform rather than picking what SHOULD be the right choices. ## Changelog :cl: fix: Adds wound armor to ALL jumpsuits that were missing it /:cl: --- .../abductor/equipment/abduction_gear.dm | 1 + .../awaymissions/mission_code/snowdin.dm | 1 + code/modules/clothing/chameleon.dm | 1 + code/modules/clothing/spacesuits/plasmamen.dm | 16 +++++--- code/modules/clothing/under/costume.dm | 1 + .../under/jobs/Plasmaman/civilian_service.dm | 1 + .../clothing/under/jobs/Plasmaman/command.dm | 20 +++++----- .../under/jobs/Plasmaman/engineering.dm | 8 ++-- .../clothing/under/jobs/Plasmaman/security.dm | 4 +- code/modules/clothing/under/jobs/cargo.dm | 4 +- code/modules/clothing/under/jobs/centcom.dm | 5 ++- .../clothing/under/jobs/civilian/civilian.dm | 2 + .../clothing/under/jobs/civilian/curator.dm | 4 +- .../clothing/under/jobs/engineering.dm | 2 + code/modules/clothing/under/jobs/medical.dm | 2 + code/modules/clothing/under/jobs/rnd.dm | 19 ++++----- code/modules/clothing/under/miscellaneous.dm | 3 ++ code/modules/clothing/under/syndicate.dm | 39 ++++++++++--------- code/modules/mod/modules/modules_maint.dm | 10 ++++- .../clothing_under_armor_subtype_check.dm | 8 ++++ 20 files changed, 94 insertions(+), 57 deletions(-) create mode 100644 code/modules/unit_tests/clothing_under_armor_subtype_check.dm diff --git a/code/modules/antagonists/abductor/equipment/abduction_gear.dm b/code/modules/antagonists/abductor/equipment/abduction_gear.dm index 46ab0e797f0..f81e7130665 100644 --- a/code/modules/antagonists/abductor/equipment/abduction_gear.dm +++ b/code/modules/antagonists/abductor/equipment/abduction_gear.dm @@ -904,6 +904,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} /datum/armor/under_abductor bomb = 10 bio = 10 + wound = 5 #undef BATON_CUFF #undef BATON_MODES diff --git a/code/modules/awaymissions/mission_code/snowdin.dm b/code/modules/awaymissions/mission_code/snowdin.dm index e85a3e6ddb7..d160ea5dada 100644 --- a/code/modules/awaymissions/mission_code/snowdin.dm +++ b/code/modules/awaymissions/mission_code/snowdin.dm @@ -385,6 +385,7 @@ energy = 5 fire = 25 acid = 25 + wound = 10 /obj/item/clothing/shoes/combat/coldres name = "insulated combat boots" diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index 95d8b674f25..b2a03c2f0fb 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -391,6 +391,7 @@ bio = 10 fire = 50 acid = 50 + wound = 10 /obj/item/clothing/under/chameleon/Initialize(mapload) . = ..() diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index ebd4358ede1..12e89172213 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -303,14 +303,17 @@ desc = "A space-worthy helmet specially designed for engineer plasmamen, the usual purple stripes being replaced by engineering's orange." icon_state = "engineer_envirohelm" inhand_icon_state = null - armor_type = /datum/armor/plasmaman_engineering + armor_type = /datum/armor/space_plasmaman/engineering_atmos + +/datum/armor/space_plasmaman/engineering_atmos + acid = 95 /obj/item/clothing/head/helmet/space/plasmaman/atmospherics name = "atmospherics plasma envirosuit helmet" desc = "A space-worthy helmet specially designed for atmos technician plasmamen, the usual purple stripes being replaced by atmos' blue. Has improved thermal shielding." icon_state = "atmos_envirohelm" inhand_icon_state = null - armor_type = /datum/armor/plasmaman_atmospherics + armor_type = /datum/armor/space_plasmaman/engineering_atmos max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT // Same protection as the Atmospherics Hardhat /obj/item/clothing/head/helmet/space/plasmaman/chief_engineer @@ -318,10 +321,9 @@ desc = "A special containment helmet designed for the Chief Engineer, the usual purple stripes being replaced by the chief's green. Has improved thermal shielding." icon_state = "ce_envirohelm" inhand_icon_state = null - armor_type = /datum/armor/plasmaman_chief_engineer + armor_type = /datum/armor/space_plasmaman/engineering_atmos max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT // Same protection as the Atmospherics Hardhat - /obj/item/clothing/head/helmet/space/plasmaman/cargo name = "cargo plasma envirosuit helmet" desc = "A plasmaman envirohelmet designed for cargo techs and quartermasters." @@ -394,7 +396,11 @@ desc = "A special containment helmet designed for the Captain. Embarrassingly enough, it looks way too much like the Head of Personnel's design save for the gold stripes. I mean, come on. Gold stripes can fix anything." icon_state = "captain_envirohelm" inhand_icon_state = null - armor_type = /datum/armor/plasmaman_captain + armor_type = /datum/armor/space_plasmaman/captain + +/datum/armor/space_plasmaman/captain + acid = 95 + wound = 15 /obj/item/clothing/head/helmet/space/plasmaman/centcom_commander name = "CentCom commander plasma envirosuit helmet" diff --git a/code/modules/clothing/under/costume.dm b/code/modules/clothing/under/costume.dm index ef1f0002c1b..dd2dcb07be9 100644 --- a/code/modules/clothing/under/costume.dm +++ b/code/modules/clothing/under/costume.dm @@ -258,6 +258,7 @@ bio = 10 fire = 30 acid = 30 + wound = 5 /obj/item/clothing/under/costume/buttondown gender = PLURAL diff --git a/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm b/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm index 42e6ab52f55..75477e3dceb 100644 --- a/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm +++ b/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm @@ -19,6 +19,7 @@ bio = 100 fire = 95 acid = 95 + wound = 5 /obj/item/clothing/under/plasmaman/examine(mob/user) . = ..() diff --git a/code/modules/clothing/under/jobs/Plasmaman/command.dm b/code/modules/clothing/under/jobs/Plasmaman/command.dm index 797d04fe884..2e5697e07cb 100644 --- a/code/modules/clothing/under/jobs/Plasmaman/command.dm +++ b/code/modules/clothing/under/jobs/Plasmaman/command.dm @@ -5,9 +5,9 @@ inhand_icon_state = null sensor_mode = SENSOR_COORDS random_sensor = FALSE - armor_type = /datum/armor/plasmaman_captain + armor_type = /datum/armor/clothing_under/plasmaman_captain -/datum/armor/plasmaman_captain +/datum/armor/clothing_under/plasmaman_captain bio = 100 fire = 95 acid = 95 @@ -24,11 +24,11 @@ desc = "A plasmaman containment suit decorated for those few with the dedication to achieve the position of Head of Security." icon_state = "hos_envirosuit" inhand_icon_state = null - armor_type = /datum/armor/security_head_of_security/plasmaman + armor_type = /datum/armor/clothing_under/security_head_of_security/plasmaman sensor_mode = SENSOR_COORDS random_sensor = FALSE -/datum/armor/security_head_of_security/plasmaman +/datum/armor/clothing_under/security_head_of_security/plasmaman bio = 100 fire = 95 acid = 95 @@ -38,9 +38,9 @@ desc = "An air-tight suit designed to be used by plasmamen insane enough to achieve the rank of \"Chief Engineer\"." icon_state = "ce_envirosuit" inhand_icon_state = null - armor_type = /datum/armor/plasmaman_chief_engineer + armor_type = /datum/armor/clothing_under/plasmaman_chief_engineer -/datum/armor/plasmaman_chief_engineer +/datum/armor/clothing_under/plasmaman_chief_engineer bio = 100 fire = 95 acid = 95 @@ -50,9 +50,9 @@ desc = "It's an envirosuit worn by those with the experience to be \"Chief Medical Officer\"." icon_state = "cmo_envirosuit" inhand_icon_state = null - armor_type = /datum/armor/plasmaman_chief_medical_officer + armor_type = /datum/armor/clothing_under/plasmaman_chief_medical_officer -/datum/armor/plasmaman_chief_medical_officer +/datum/armor/clothing_under/plasmaman_chief_medical_officer bio = 100 fire = 95 acid = 95 @@ -62,9 +62,9 @@ desc = "It's an envirosuit worn by those with the know-how to achieve the position of \"Research Director\"." icon_state = "rd_envirosuit" inhand_icon_state = null - armor_type = /datum/armor/plasmaman_research_director + armor_type = /datum/armor/clothing_under/plasmaman_research_director -/datum/armor/plasmaman_research_director +/datum/armor/clothing_under/plasmaman_research_director bio = 100 fire = 95 acid = 95 diff --git a/code/modules/clothing/under/jobs/Plasmaman/engineering.dm b/code/modules/clothing/under/jobs/Plasmaman/engineering.dm index 199ba279f91..26d06038131 100644 --- a/code/modules/clothing/under/jobs/Plasmaman/engineering.dm +++ b/code/modules/clothing/under/jobs/Plasmaman/engineering.dm @@ -3,9 +3,9 @@ desc = "An air-tight suit designed to be used by plasmamen employed as engineers, the usual purple stripes being replaced by engineering's orange. It protects the user from fire and acid damage." icon_state = "engineer_envirosuit" inhand_icon_state = null - armor_type = /datum/armor/plasmaman_engineering + armor_type = /datum/armor/clothing_under/plasmaman_engineering -/datum/armor/plasmaman_engineering +/datum/armor/clothing_under/plasmaman_engineering bio = 100 fire = 95 acid = 95 @@ -15,10 +15,10 @@ desc = "An air-tight suit designed to be used by plasmamen employed as atmos technicians, the usual purple stripes being replaced by atmos' blue." icon_state = "atmos_envirosuit" inhand_icon_state = null - armor_type = /datum/armor/plasmaman_atmospherics + armor_type = /datum/armor/clothing_under/plasmaman_atmospherics -/datum/armor/plasmaman_atmospherics +/datum/armor/clothing_under/plasmaman_atmospherics bio = 100 fire = 95 acid = 95 diff --git a/code/modules/clothing/under/jobs/Plasmaman/security.dm b/code/modules/clothing/under/jobs/Plasmaman/security.dm index b6234a940d1..375320b39dd 100644 --- a/code/modules/clothing/under/jobs/Plasmaman/security.dm +++ b/code/modules/clothing/under/jobs/Plasmaman/security.dm @@ -3,11 +3,11 @@ desc = "A plasmaman containment suit designed for security officers, offering a limited amount of extra protection." icon_state = "security_envirosuit" inhand_icon_state = null - armor_type = /datum/armor/rank_security/plasmaman + armor_type = /datum/armor/clothing_under/rank_security/plasmaman sensor_mode = SENSOR_COORDS random_sensor = FALSE -/datum/armor/rank_security/plasmaman +/datum/armor/clothing_under/rank_security/plasmaman bio = 100 fire = 95 acid = 95 diff --git a/code/modules/clothing/under/jobs/cargo.dm b/code/modules/clothing/under/jobs/cargo.dm index d4c9ca4268c..1602f51f1bd 100644 --- a/code/modules/clothing/under/jobs/cargo.dm +++ b/code/modules/clothing/under/jobs/cargo.dm @@ -41,10 +41,10 @@ name = "shaft miner's jumpsuit" icon_state = "miner" inhand_icon_state = null - armor_type = /datum/armor/cargo_miner + armor_type = /datum/armor/clothing_under/cargo_miner resistance_flags = NONE -/datum/armor/cargo_miner +/datum/armor/clothing_under/cargo_miner bio = 10 fire = 80 wound = 10 diff --git a/code/modules/clothing/under/jobs/centcom.dm b/code/modules/clothing/under/jobs/centcom.dm index 2ed48e066dd..a8d13747dad 100644 --- a/code/modules/clothing/under/jobs/centcom.dm +++ b/code/modules/clothing/under/jobs/centcom.dm @@ -60,13 +60,14 @@ desc = "A dark colored uniform worn by CentCom's conscripted military forces." icon_state = "military" inhand_icon_state = "bl_suit" - armor_type = /datum/armor/centcom_military + armor_type = /datum/armor/clothing_under/centcom_military -/datum/armor/centcom_military +/datum/armor/clothing_under/centcom_military melee = 10 bio = 10 fire = 50 acid = 40 + wound = 10 /obj/item/clothing/under/rank/centcom/military/eng name = "tactical engineering uniform" diff --git a/code/modules/clothing/under/jobs/civilian/civilian.dm b/code/modules/clothing/under/jobs/civilian/civilian.dm index 767ff14b83c..9f24f590a5b 100644 --- a/code/modules/clothing/under/jobs/civilian/civilian.dm +++ b/code/modules/clothing/under/jobs/civilian/civilian.dm @@ -102,6 +102,7 @@ /datum/armor/civilian_hydroponics bio = 50 + wound = 5 /obj/item/clothing/under/rank/civilian/hydroponics/skirt name = "botanist's jumpskirt" @@ -122,6 +123,7 @@ /datum/armor/civilian_janitor bio = 10 + wound = 5 /obj/item/clothing/under/rank/civilian/janitor/skirt name = "janitor's jumpskirt" diff --git a/code/modules/clothing/under/jobs/civilian/curator.dm b/code/modules/clothing/under/jobs/civilian/curator.dm index 1e459604e20..38e5f9a1609 100644 --- a/code/modules/clothing/under/jobs/civilian/curator.dm +++ b/code/modules/clothing/under/jobs/civilian/curator.dm @@ -39,7 +39,7 @@ greyscale_config_inhand_right = /datum/greyscale_config/jumpsuit_inhand_right greyscale_config_worn = /datum/greyscale_config/jumpsuit_worn w_class = WEIGHT_CLASS_BULKY - armor_type = /datum/armor/curator_nasa + armor_type = /datum/armor/clothing_under/curator_nasa body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS cold_protection = CHEST | GROIN | LEGS | ARMS //Needs gloves and shoes with cold protection to be fully protected. min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT @@ -48,5 +48,5 @@ can_adjust = FALSE resistance_flags = NONE -/datum/armor/curator_nasa +/datum/armor/clothing_under/curator_nasa bio = 95 diff --git a/code/modules/clothing/under/jobs/engineering.dm b/code/modules/clothing/under/jobs/engineering.dm index e7611612a5b..c6852d3b52a 100644 --- a/code/modules/clothing/under/jobs/engineering.dm +++ b/code/modules/clothing/under/jobs/engineering.dm @@ -10,6 +10,7 @@ bio = 10 fire = 60 acid = 20 + wound = 5 /obj/item/clothing/under/rank/engineering/chief_engineer desc = "It's a high visibility jumpsuit given to those engineers insane enough to achieve the rank of \"Chief Engineer\". Made from fire resistant materials." @@ -22,6 +23,7 @@ bio = 10 fire = 80 acid = 40 + wound = 5 /obj/item/clothing/under/rank/engineering/chief_engineer/skirt name = "chief engineer's jumpskirt" diff --git a/code/modules/clothing/under/jobs/medical.dm b/code/modules/clothing/under/jobs/medical.dm index 55370bc8200..560d90228da 100644 --- a/code/modules/clothing/under/jobs/medical.dm +++ b/code/modules/clothing/under/jobs/medical.dm @@ -5,6 +5,7 @@ /datum/armor/rank_medical bio = 50 + wound = 5 /obj/item/clothing/under/rank/medical/doctor desc = "It's made of a special fiber that provides minor protection against biohazards. It has a cross on the chest denoting that the wearer is trained medical personnel." @@ -126,6 +127,7 @@ bio = 10 fire = 50 acid = 65 + wound = 5 /obj/item/clothing/under/rank/medical/chemist/skirt name = "chemist's jumpskirt" diff --git a/code/modules/clothing/under/jobs/rnd.dm b/code/modules/clothing/under/jobs/rnd.dm index b761f8ee4c9..adecacc8dbd 100644 --- a/code/modules/clothing/under/jobs/rnd.dm +++ b/code/modules/clothing/under/jobs/rnd.dm @@ -1,18 +1,22 @@ /obj/item/clothing/under/rank/rnd icon = 'icons/obj/clothing/under/rnd.dmi' worn_icon = 'icons/mob/clothing/under/rnd.dmi' + armor_type = /datum/armor/clothing_under/science + +/datum/armor/clothing_under/science + bio = 50 /obj/item/clothing/under/rank/rnd/research_director desc = "It's a suit worn by those with the know-how to achieve the position of \"Research Director\". Its fabric provides minor protection from biological contaminants." name = "research director's vest suit" icon_state = "director" inhand_icon_state = "lb_suit" - armor_type = /datum/armor/rnd_research_director + armor_type = /datum/armor/clothing_under/rnd_research_director can_adjust = FALSE -/datum/armor/rnd_research_director +/datum/armor/clothing_under/rnd_research_director bomb = 10 - bio = 10 + bio = 50 acid = 35 /obj/item/clothing/under/rank/rnd/research_director/doctor_hilbert @@ -71,10 +75,7 @@ name = "scientist's jumpsuit" icon_state = "science" inhand_icon_state = "w_suit" - armor_type = /datum/armor/rnd_scientist - -/datum/armor/rnd_scientist - bio = 50 + armor_type = /datum/armor/clothing_under/science /obj/item/clothing/under/rank/rnd/scientist/skirt name = "scientist's jumpskirt" @@ -108,10 +109,6 @@ name = "geneticist's jumpsuit" icon_state = "genetics" inhand_icon_state = "w_suit" - armor_type = /datum/armor/rnd_geneticist - -/datum/armor/rnd_geneticist - bio = 50 /obj/item/clothing/under/rank/rnd/geneticist/skirt name = "geneticist's jumpskirt" diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index 68749df3ed0..a8c81f7b25a 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -66,6 +66,7 @@ bio = 100 fire = 100 acid = 100 + wound = 100 /obj/item/clothing/under/misc/burial name = "burial garments" @@ -105,6 +106,7 @@ acid = 10 bomb = 5 bio = 10 + wound = 10 /obj/item/clothing/under/misc/bouncer name = "bouncer uniform" @@ -119,6 +121,7 @@ bio = 10 fire = 30 acid = 30 + wound = 5 /obj/item/clothing/under/misc/coordinator name = "coordinator jumpsuit" diff --git a/code/modules/clothing/under/syndicate.dm b/code/modules/clothing/under/syndicate.dm index ca640f49a0f..27abe790f92 100644 --- a/code/modules/clothing/under/syndicate.dm +++ b/code/modules/clothing/under/syndicate.dm @@ -4,16 +4,17 @@ icon_state = "syndicate" inhand_icon_state = "bl_suit" has_sensor = NO_SENSORS - armor_type = /datum/armor/under_syndicate + armor_type = /datum/armor/clothing_under/under_syndicate alt_covers_chest = TRUE icon = 'icons/obj/clothing/under/syndicate.dmi' worn_icon = 'icons/mob/clothing/under/syndicate.dmi' -/datum/armor/under_syndicate +/datum/armor/clothing_under/under_syndicate melee = 10 bio = 10 fire = 50 acid = 40 + wound = 10 /obj/item/clothing/under/syndicate/skirt name = "tactical skirtleneck" @@ -21,28 +22,29 @@ icon_state = "syndicate_skirt" inhand_icon_state = "bl_suit" has_sensor = NO_SENSORS - armor_type = /datum/armor/syndicate_skirt + armor_type = /datum/armor/clothing_under/syndicate_skirt alt_covers_chest = TRUE female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY dying_key = DYE_REGISTRY_JUMPSKIRT supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON -/datum/armor/syndicate_skirt +/datum/armor/clothing_under/syndicate_skirt melee = 10 bio = 10 fire = 50 acid = 40 + wound = 10 /obj/item/clothing/under/syndicate/bloodred name = "blood-red sneaksuit" desc = "It still counts as stealth if there are no witnesses." icon_state = "bloodred_pajamas" inhand_icon_state = "bl_suit" - armor_type = /datum/armor/syndicate_bloodred + armor_type = /datum/armor/clothing_under/syndicate_bloodred resistance_flags = FIRE_PROOF | ACID_PROOF can_adjust = FALSE -/datum/armor/syndicate_bloodred +/datum/armor/clothing_under/syndicate_bloodred melee = 10 bullet = 10 laser = 10 @@ -50,15 +52,16 @@ bio = 10 fire = 50 acid = 40 + wound = 10 /obj/item/clothing/under/syndicate/bloodred/sleepytime name = "blood-red pajamas" desc = "Do operatives dream of nuclear sheep?" icon_state = "bloodred_pajamas" inhand_icon_state = "bl_suit" - armor_type = /datum/armor/bloodred_sleepytime + armor_type = /datum/armor/clothing_under/bloodred_sleepytime -/datum/armor/bloodred_sleepytime +/datum/armor/clothing_under/bloodred_sleepytime bio = 10 fire = 50 acid = 40 @@ -69,10 +72,10 @@ icon_state = "tactifool" inhand_icon_state = "bl_suit" has_sensor = HAS_SENSORS - armor_type = /datum/armor/syndicate_tacticool + armor_type = /datum/armor/clothing_under/syndicate_tacticool stubborn_stains = TRUE -/datum/armor/syndicate_tacticool +/datum/armor/clothing_under/syndicate_tacticool bio = 10 fire = 50 acid = 40 @@ -100,12 +103,12 @@ desc = "Just looking at it makes you want to buy an SKS, go into the woods, and -operate-." icon_state = "tactifool_skirt" inhand_icon_state = "bl_suit" - armor_type = /datum/armor/tacticool_skirt + armor_type = /datum/armor/clothing_under/tacticool_skirt female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY dying_key = DYE_REGISTRY_JUMPSKIRT supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON -/datum/armor/tacticool_skirt +/datum/armor/clothing_under/tacticool_skirt bio = 10 fire = 50 acid = 40 @@ -129,10 +132,10 @@ desc = "Badly translated labels tell you to clean this in Vodka. Great for squatting in." icon_state = "trackpants" can_adjust = FALSE - armor_type = /datum/armor/syndicate_soviet + armor_type = /datum/armor/clothing_under/syndicate_soviet resistance_flags = NONE -/datum/armor/syndicate_soviet +/datum/armor/clothing_under/syndicate_soviet melee = 10 bio = 10 @@ -147,10 +150,10 @@ desc = "Military grade tracksuits for frontline squatting." icon_state = "rus_under" can_adjust = FALSE - armor_type = /datum/armor/syndicate_rus_army + armor_type = /datum/armor/clothing_under/syndicate_rus_army resistance_flags = NONE -/datum/armor/syndicate_rus_army +/datum/armor/clothing_under/syndicate_rus_army melee = 5 bio = 10 @@ -161,9 +164,9 @@ worn_icon = 'icons/mob/clothing/under/medical.dmi' icon_state = "scrubswine" can_adjust = FALSE - armor_type = /datum/armor/syndicate_scrubs + armor_type = /datum/armor/clothing_under/syndicate_scrubs -/datum/armor/syndicate_scrubs +/datum/armor/clothing_under/syndicate_scrubs melee = 10 bio = 50 fire = 50 diff --git a/code/modules/mod/modules/modules_maint.dm b/code/modules/mod/modules/modules_maint.dm index b973beeb603..157e4aea7d3 100644 --- a/code/modules/mod/modules/modules_maint.dm +++ b/code/modules/mod/modules/modules_maint.dm @@ -10,6 +10,11 @@ icon_state = "springlock" complexity = 3 // it is inside every part of your suit, so incompatible_modules = list(/obj/item/mod/module/springlock) + var/death_trap = TRUE + +/obj/item/mod/module/springlock/screwdriver_act(mob/living/user, obj/item/tool) + . = ..() + death_trap = !death_trap /obj/item/mod/module/springlock/on_install() mod.activation_step_time *= 0.5 @@ -38,7 +43,10 @@ /obj/item/mod/module/springlock/proc/on_activate_spring_block(datum/source, user) SIGNAL_HANDLER - balloon_alert(user, "springlocks aren't responding...?") + if(death_trap) + balloon_alert(user, "springlocks aren't responding...?") + else + balloon_alert(user, "you disable it just in time") return MOD_CANCEL_ACTIVATE ///Delayed death proc of the suit after the wearer is exposed to reagents diff --git a/code/modules/unit_tests/clothing_under_armor_subtype_check.dm b/code/modules/unit_tests/clothing_under_armor_subtype_check.dm new file mode 100644 index 00000000000..158d0a3862d --- /dev/null +++ b/code/modules/unit_tests/clothing_under_armor_subtype_check.dm @@ -0,0 +1,8 @@ +/** + * Test if all jumpsuits are using the proper armor subtype. + */ +/datum/unit_test/clothing_under_armor_subtype_check + +/datum/unit_test/clothing_under_armor_subtype_check/Run() + for(var/obj/item/clothing/under/jumpsuit as anything in typesof(/obj/item/clothing/under)) + TEST_ASSERT(istype(initial(jumpsuit.armor_type), /datum/armor/clothing_under), "[initial(jumpsuit.type)] does not use clothing_under as its armor!")