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

🆑
fix: Adds wound armor to ALL jumpsuits that were missing it
/🆑
This commit is contained in:
carlarctg
2023-06-20 23:01:46 -03:00
committed by GitHub
parent 30c23f54d9
commit b7ac832cd2
20 changed files with 94 additions and 57 deletions
@@ -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
@@ -385,6 +385,7 @@
energy = 5
fire = 25
acid = 25
wound = 10
/obj/item/clothing/shoes/combat/coldres
name = "insulated combat boots"
+1
View File
@@ -391,6 +391,7 @@
bio = 10
fire = 50
acid = 50
wound = 10
/obj/item/clothing/under/chameleon/Initialize(mapload)
. = ..()
+11 -5
View File
@@ -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"
+1
View File
@@ -258,6 +258,7 @@
bio = 10
fire = 30
acid = 30
wound = 5
/obj/item/clothing/under/costume/buttondown
gender = PLURAL
@@ -19,6 +19,7 @@
bio = 100
fire = 95
acid = 95
wound = 5
/obj/item/clothing/under/plasmaman/examine(mob/user)
. = ..()
@@ -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
@@ -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
@@ -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
+2 -2
View File
@@ -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
+3 -2
View File
@@ -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"
@@ -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"
@@ -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
@@ -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"
@@ -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"
+8 -11
View File
@@ -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"
@@ -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"
+21 -18
View File
@@ -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
+9 -1
View File
@@ -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
@@ -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!")