From ef904f5a107b0ff84c43064633370839faef7846 Mon Sep 17 00:00:00 2001 From: Apogee-dev <60533805+Apogee-dev@users.noreply.github.com> Date: Wed, 28 Aug 2024 14:54:24 -0700 Subject: [PATCH] Sec Vest Breakpoints & Armor Rebalances (#3216) ## About The Pull Request Makes a number of balance changes to common armor pieces: - basic armor vests and helmets are buffed to 35 bullet/laser to hit several HP/AP damage breakpoints - armored coats have been standardized to have only CHEST | GROIN armor protection. They still provide cold/heat protection for the arms (and legs for trench+greatcoats). Full-body suits, such as riot armor and plate armor, still provide full body protection. - SUNS and SolCon armor get the same treatment and have been converted to basic vest armor, not bulletproof. Now the factions that really like swords actually have melee armor. - HOS and captain coats for various factions have had their armor adjusted to be consistent with one another. Flashy parade coats still get the nerfed armor most of them already had. - Armor has been stripped from a beret or two I forgot about. ## Why It's Good For The Game Hollow Point and Armor Piercing ammo didn't hit useful breakpoints vis-a-vis performance against common armor types that actually put them in their niches. 35 armor is the breakpoint where hollow point becomes worse than normal ammo, so this should make sec vests actually matter more often. Peacekeepers with their full-body bulletproof armor were utterly cracked. Armored coats were pretty inconsistent between factions as to whether or not they provided limb protection and how much protection they offered. This PR makes things more consistent across the board, so you can usually guess what kind of armor protection you'll be facing at a glance without having to remember a bunch of weird code inconsistencies. ## Changelog :cl: balance: SUNS and SolCon armor now uses standard armor rather than bulletproof balance: Normalized armor values between various faction helmets, coats, and vests balance: Armored coats now provide armor protection for the chest and groin only; environmental protection unchanged fix: removed armor from some overlooked berets and soft hats /:cl: --- _maps/shuttles/solgov/solgov_chronicle.dmm | 6 ++-- _maps/shuttles/solgov/solgov_inkwell.dmm | 14 ++++---- _maps/shuttles/solgov/solgov_paracelsus.dmm | 4 +-- .../shuttles/syndicate/syndicate_panacea.dmm | 6 ++-- .../syndicate/syndicate_twinkleshine.dmm | 4 +-- code/modules/clothing/factions/clip.dm | 8 ++--- .../modules/clothing/factions/frontiersmen.dm | 8 ++--- code/modules/clothing/factions/hardliners.dm | 8 ++--- code/modules/clothing/factions/nanotrasen.dm | 10 +++--- code/modules/clothing/factions/ngr.dm | 9 +++-- code/modules/clothing/factions/srm.dm | 12 +++---- code/modules/clothing/factions/suns.dm | 19 +++++----- code/modules/clothing/head/helmet.dm | 4 +-- .../clothing/outfits/ert/solgov_ert.dm | 2 +- .../clothing/outfits/factions/solgov.dm | 6 ++-- .../clothing/outfits/factions/syndicate.dm | 10 +++--- code/modules/clothing/suits/armor.dm | 36 +++++++++---------- 17 files changed, 81 insertions(+), 85 deletions(-) diff --git a/_maps/shuttles/solgov/solgov_chronicle.dmm b/_maps/shuttles/solgov/solgov_chronicle.dmm index 012261bda2461..b234552b67c67 100644 --- a/_maps/shuttles/solgov/solgov_chronicle.dmm +++ b/_maps/shuttles/solgov/solgov_chronicle.dmm @@ -267,7 +267,7 @@ /obj/item/door_remote/captain, /obj/item/storage/belt/sabre/solgov, /obj/item/clothing/under/solgov/dress, -/obj/item/clothing/suit/armor/vest/bulletproof/solgov/captain, +/obj/item/clothing/suit/armor/vest/solgov/captain, /obj/item/stamp/solgov, /obj/item/clothing/suit/armor/solgov_trenchcoat, /obj/item/spacecash/bundle/loadsamoney, @@ -955,7 +955,7 @@ /obj/item/clothing/gloves/combat, /obj/item/radio/headset/solgov/alt, /obj/item/storage/backpack, -/obj/item/clothing/suit/armor/vest/bulletproof/solgov, +/obj/item/clothing/suit/armor/vest/solgov, /obj/effect/turf_decal/techfloor{ dir = 1 }, @@ -4105,7 +4105,7 @@ /area/ship/crew/office) "OU" = ( /obj/item/clothing/neck/cloak/overseer, -/obj/item/clothing/suit/armor/vest/bulletproof/solgov/overseer, +/obj/item/clothing/suit/armor/vest/solgov/overseer, /obj/structure/closet/secure_closet/head_of_personnel{ anchored = 1; name = "\proper overseer's locker"; diff --git a/_maps/shuttles/solgov/solgov_inkwell.dmm b/_maps/shuttles/solgov/solgov_inkwell.dmm index f2cf61f1f33b8..14bce5a912e11 100644 --- a/_maps/shuttles/solgov/solgov_inkwell.dmm +++ b/_maps/shuttles/solgov/solgov_inkwell.dmm @@ -177,7 +177,7 @@ /obj/item/clothing/gloves/combat, /obj/item/radio/headset/solgov/alt, /obj/item/storage/backpack, -/obj/item/clothing/suit/armor/vest/bulletproof/solgov, +/obj/item/clothing/suit/armor/vest/solgov, /obj/effect/turf_decal/techfloor, /obj/effect/turf_decal/industrial/outline/red, /obj/structure/window/reinforced{ @@ -308,7 +308,7 @@ /obj/item/clothing/gloves/combat, /obj/item/radio/headset/solgov/alt, /obj/item/storage/backpack, -/obj/item/clothing/suit/armor/vest/bulletproof/solgov, +/obj/item/clothing/suit/armor/vest/solgov, /obj/effect/turf_decal/techfloor, /obj/effect/turf_decal/industrial/outline/red, /obj/structure/window/reinforced{ @@ -1526,9 +1526,9 @@ /obj/structure/closet/cabinet{ name = "armor cabinet" }, -/obj/item/clothing/suit/armor/vest/bulletproof/solgov, -/obj/item/clothing/suit/armor/vest/bulletproof/solgov, -/obj/item/clothing/suit/armor/vest/bulletproof/solgov, +/obj/item/clothing/suit/armor/vest/solgov, +/obj/item/clothing/suit/armor/vest/solgov, +/obj/item/clothing/suit/armor/vest/solgov, /obj/item/clothing/head/solgov/sonnensoldner, /obj/item/clothing/head/solgov/sonnensoldner, /obj/item/clothing/head/solgov/sonnensoldner, @@ -3647,7 +3647,7 @@ /obj/item/clothing/gloves/combat, /obj/item/radio/headset/solgov/alt, /obj/item/storage/backpack, -/obj/item/clothing/suit/armor/vest/bulletproof/solgov, +/obj/item/clothing/suit/armor/vest/solgov, /obj/effect/turf_decal/techfloor, /obj/effect/turf_decal/industrial/outline/red, /turf/open/floor/plasteel/white, @@ -5839,7 +5839,7 @@ /area/ship/cargo) "LB" = ( /obj/item/clothing/head/solgov/captain, -/obj/item/clothing/suit/armor/vest/bulletproof/solgov/captain, +/obj/item/clothing/suit/armor/vest/solgov/captain, /obj/item/clothing/under/solgov/formal/captain, /obj/item/clothing/shoes/laceup, /obj/item/clothing/gloves/combat, diff --git a/_maps/shuttles/solgov/solgov_paracelsus.dmm b/_maps/shuttles/solgov/solgov_paracelsus.dmm index 4700c74ee7b09..87d7a39790f00 100644 --- a/_maps/shuttles/solgov/solgov_paracelsus.dmm +++ b/_maps/shuttles/solgov/solgov_paracelsus.dmm @@ -2463,7 +2463,7 @@ /area/ship/bridge) "ye" = ( /obj/item/clothing/neck/cloak/overseer, -/obj/item/clothing/suit/armor/vest/bulletproof/solgov/overseer, +/obj/item/clothing/suit/armor/vest/solgov/overseer, /obj/structure/closet/secure_closet/head_of_personnel{ anchored = 1; name = "\proper overseer's locker"; @@ -3560,7 +3560,7 @@ /area/ship/crew/crewtwo) "IX" = ( /obj/item/clothing/head/solgov/captain, -/obj/item/clothing/suit/armor/vest/bulletproof/solgov/captain, +/obj/item/clothing/suit/armor/vest/solgov/captain, /obj/item/clothing/under/solgov/formal/captain, /obj/item/clothing/shoes/laceup, /obj/item/clothing/gloves/combat, diff --git a/_maps/shuttles/syndicate/syndicate_panacea.dmm b/_maps/shuttles/syndicate/syndicate_panacea.dmm index 4fdcc07410377..24334160f64bd 100644 --- a/_maps/shuttles/syndicate/syndicate_panacea.dmm +++ b/_maps/shuttles/syndicate/syndicate_panacea.dmm @@ -2877,7 +2877,7 @@ pixel_x = 8; pixel_y = -6 }, -/obj/item/clothing/suit/armor/vest/bulletproof/suns/xo{ +/obj/item/clothing/suit/armor/vest/suns/xo{ pixel_y = 7; pixel_x = -5 }, @@ -3100,7 +3100,7 @@ pixel_x = 6; pixel_y = -9 }, -/obj/item/clothing/suit/armor/vest/bulletproof/suns/captain{ +/obj/item/clothing/suit/armor/vest/suns/captain{ pixel_y = -1 }, /obj/item/clothing/under/syndicate/suns/captain{ @@ -4895,7 +4895,7 @@ pixel_x = -1; pixel_y = 4 }, -/obj/item/clothing/suit/armor/vest/bulletproof/suns{ +/obj/item/clothing/suit/armor/vest/suns{ pixel_y = 4; pixel_x = 8 }, diff --git a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm index 1adef58948fe1..7d738e1057b10 100644 --- a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm +++ b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm @@ -7323,8 +7323,8 @@ /obj/item/clothing/glasses/hud/security/suns, /obj/item/clothing/gloves/tackler/dolphin/suns, /obj/item/clothing/suit/toggle/suns/pkcoat, -/obj/item/clothing/suit/armor/vest/bulletproof/suns/hos, -/obj/item/clothing/suit/armor/vest/bulletproof/suns/ehos, +/obj/item/clothing/suit/armor/vest/suns/hos, +/obj/item/clothing/suit/armor/vest/suns/ehos, /obj/item/clothing/head/welding/suns/hos, /obj/item/clothing/under/syndicate/suns/pkuniform, /obj/item/radio/headset/syndicate/alt{ diff --git a/code/modules/clothing/factions/clip.dm b/code/modules/clothing/factions/clip.dm index c8a0dbdda278e..7ac3668aaf77b 100644 --- a/code/modules/clothing/factions/clip.dm +++ b/code/modules/clothing/factions/clip.dm @@ -140,10 +140,10 @@ icon_state = "clip_trenchcoat" item_state = "trenchcoat_solgov" - body_parts_covered = CHEST|LEGS|ARMS + body_parts_covered = CHEST|GROIN armor = list("melee" = 25, "bullet" = 10, "laser" = 25, "energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 0) - cold_protection = CHEST|LEGS|ARMS - heat_protection = CHEST|LEGS|ARMS + cold_protection = CHEST|GROIN|LEGS|ARMS + heat_protection = CHEST|GROIN|LEGS|ARMS supports_variations = DIGITIGRADE_VARIATION_SAME_ICON_FILE @@ -156,7 +156,7 @@ icon_state = "clip_captaincoat" item_state = "clip_captaincoat" - body_parts_covered = CHEST|LEGS|ARMS + body_parts_covered = CHEST armor = list("melee" = 25, "bullet" = 10, "laser" = 25, "energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 0) cold_protection = CHEST|LEGS|ARMS heat_protection = CHEST|LEGS|ARMS diff --git a/code/modules/clothing/factions/frontiersmen.dm b/code/modules/clothing/factions/frontiersmen.dm index d232f775e6070..77af8138fb40a 100644 --- a/code/modules/clothing/factions/frontiersmen.dm +++ b/code/modules/clothing/factions/frontiersmen.dm @@ -73,13 +73,13 @@ name = "reinforced fur coat" desc = "A stiff olive-green coat, meant for frigid conditions. Commonly worn by Frontiersmen command." icon_state = "frontier_coat" - body_parts_covered = CHEST|GROIN|ARMS + body_parts_covered = CHEST|GROIN cold_protection = CHEST|GROIN|ARMS heat_protection = CHEST|GROIN|ARMS icon_state = "frontier_coat" item_state = "frontier_coat" blood_overlay_type = "coat" - armor = list("melee" = 35, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) icon = 'icons/obj/clothing/faction/frontiersmen/suits.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/frontiersmen/suits.dmi' @@ -87,7 +87,7 @@ name = "frontiersmen fireproof coat" desc = "A stiff olive-green coat, used particularly by Frontiersmen flame troopers. It seems to be lined with asbestos, to provide maximum heat and fire deterrence... At the cost of comfort. And mesothelioma." icon_state = "frontier_fireproof_suit" - armor = list("melee" = 35, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) w_class = WEIGHT_CLASS_BULKY gas_transfer_coefficient = 0.9 permeability_coefficient = 0.5 @@ -144,7 +144,7 @@ name = "\improper Frontiersmen officer beret" desc = "A scratchy olive green beret emblazoned with the Frontiersmen insignia, worn by Frontiersmen who want to look good while intimidating freighter captains." icon_state = "frontier_officer_beret" - armor = list("melee" = 10, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) /obj/item/clothing/head/frontier name = "frontier surgical cap" diff --git a/code/modules/clothing/factions/hardliners.dm b/code/modules/clothing/factions/hardliners.dm index b1a7c5e96e2af..a02275d13e05d 100644 --- a/code/modules/clothing/factions/hardliners.dm +++ b/code/modules/clothing/factions/hardliners.dm @@ -69,22 +69,22 @@ /obj/item/clothing/suit/armor/hardliners/sergeant name = "hardliners sergeant jacket" desc = "An armored jacket typically worn by sergeant of the Hardliners. They're reminiscent of the garb worn by old Gorlex navymen, prior to its destruction." - body_parts_covered = CHEST|GROIN|ARMS + body_parts_covered = CHEST|GROIN icon_state = "hl_sergeant" item_state = "hl_sergeant" blood_overlay_type = "coat" - armor = list("melee" = 35, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) /obj/item/clothing/suit/toggle/armor/vest/hardliners name = "hardliners captain coat" desc = "An imposing armored coat worn by captains of Hardliner fleets, hand-designed by Cybersun tailors to provide maximum protection to its wearer." - body_parts_covered = CHEST|GROIN|ARMS + body_parts_covered = CHEST|GROIN icon_state = "hl_captain" item_state = "hl_captain" icon = 'icons/obj/clothing/faction/hardliners/suits.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/hardliners/suits.dmi' blood_overlay_type = "coat" - armor = list("melee" = 35, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) togglename = "buttons" /////////////// diff --git a/code/modules/clothing/factions/nanotrasen.dm b/code/modules/clothing/factions/nanotrasen.dm index 664c534d236e4..7aa871ad7f3ef 100644 --- a/code/modules/clothing/factions/nanotrasen.dm +++ b/code/modules/clothing/factions/nanotrasen.dm @@ -230,7 +230,7 @@ icon_state = "armor" item_state = "blackcloth" body_parts_covered = CHEST|GROIN - armor = list("melee" = 30, "bullet" = 40, "laser" = 30, "energy" = 50, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 90) + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) resistance_flags = FIRE_PROOF /obj/item/clothing/suit/armor/nanotrasen/slim @@ -241,8 +241,8 @@ name = "security director's overcoat" desc = "A tailored black overcoat, made from cutting-edge ballistic fabrics and composites. Vigilitas's 'VI' logo is embossed on every button. Intimidating and profoundly stylish." icon_state = "command_coat" - body_parts_covered = CHEST|GROIN|ARMS - armor = list("melee" = 30, "bullet" = 0, "laser" = 30, "energy" = 20, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 90) + body_parts_covered = CHEST|GROIN + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 90) /obj/item/clothing/suit/armor/nanotrasen/captain name = "captain's jacket" @@ -250,7 +250,7 @@ icon_state = "armor_captain" item_state = "bluecloth" body_parts_covered = CHEST|GROIN - armor = list("melee" = 50, "bullet" = 60, "laser" = 60, "energy" = 50, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 90) + armor = list("melee" = 50, "bullet" = 40, "laser" = 50, "energy" = 50, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 90) resistance_flags = FIRE_PROOF /obj/item/clothing/suit/armor/nanotrasen/captain/parade @@ -258,7 +258,7 @@ desc = "An exquisitely-decorated fine blue jacket, suitable for especially formal situations, or for a commanding officer who wants to flaunt their status even more than usual. Richly decorated with gold thread and embroidered Nanotrasen logos." icon_state = "captain_formal" item_state = "bluecloth" - body_parts_covered = CHEST|GROIN|ARMS + body_parts_covered = CHEST|GROIN armor = list("melee" = 30, "bullet" = 0, "laser" = 30, "energy" = 20, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 90) // Hats // diff --git a/code/modules/clothing/factions/ngr.dm b/code/modules/clothing/factions/ngr.dm index c02f2f1982b6e..7098dd6f1de93 100644 --- a/code/modules/clothing/factions/ngr.dm +++ b/code/modules/clothing/factions/ngr.dm @@ -82,20 +82,20 @@ /obj/item/clothing/suit/armor/ngr/lieutenant name = "\improper 2nd Battlegroup overcoat" desc = "An armored overcoat worn by the lieutenants of the New Gorlex Republic's 2nd Battlegroup." - body_parts_covered = CHEST|GROIN|ARMS + body_parts_covered = CHEST|GROIN icon_state = "ngr_lieutenant" item_state = "ngr_lieutenant" blood_overlay_type = "coat" - armor = list("melee" = 35, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) /obj/item/clothing/suit/armor/ngr/captain name = "\improper 2nd Battlegroup coat" desc = "An armored coat worn by captains the New Gorlex Republic's 2nd Battlegroup." - body_parts_covered = CHEST|GROIN|ARMS + body_parts_covered = CHEST|GROIN icon_state = "ngr_captain" item_state = "ngr_captain" blood_overlay_type = "coat" - armor = list("melee" = 35, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) /////////////// //Spacesuits// @@ -143,7 +143,6 @@ icon_state = "ngr_garrison" icon = 'icons/obj/clothing/faction/ngr/head.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/ngr/head.dmi' - armor = list("melee" = 10, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) /obj/item/clothing/head/ngr/flap name = "beige flap cap" diff --git a/code/modules/clothing/factions/srm.dm b/code/modules/clothing/factions/srm.dm index 07639696bb015..34e6b4218fe40 100644 --- a/code/modules/clothing/factions/srm.dm +++ b/code/modules/clothing/factions/srm.dm @@ -21,7 +21,7 @@ desc = "A coat made from hard leather. Meant to withstand long hunts in harsh wilderness." icon_state = "armor_rouma" item_state = "rouma_coat" - body_parts_covered = CHEST|GROIN|ARMS + body_parts_covered = CHEST|GROIN cold_protection = CHEST|GROIN|ARMS heat_protection = CHEST|GROIN|ARMS icon = 'icons/obj/clothing/faction/srm/suits.dmi' @@ -41,7 +41,7 @@ icon = 'icons/obj/clothing/faction/srm/suits.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/srm/suits.dmi' icon_state = "rouma_med_coat" - armor = list("melee" = 35, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 50, "rad" = 0, "fire" = 50, "acid" = 50) + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 50, "rad" = 0, "fire" = 50, "acid" = 50) supports_variations = KEPORI_VARIATION /obj/item/clothing/suit/hazardvest/roumain @@ -51,7 +51,7 @@ mob_overlay_icon = 'icons/mob/clothing/faction/srm/suits.dmi' icon_state = "armor_rouma_machinist" item_state = "rouma_coat" - armor = list("melee" = 30, "bullet" = 20, "laser" = 20, "energy" = 40, "bomb" = 35, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 60) + armor = list("melee" = 35, "bullet" = 20, "laser" = 20, "energy" = 40, "bomb" = 35, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 60) /obj/item/clothing/suit/armor/roumain/flamebearer name = "saint-roumain flamebearer robes" @@ -64,7 +64,7 @@ desc = "A well-maintained hard leather coat typically worn to denote the rank of Colligne, a trainee Hunter Montagne. It is treated with bullet-resistant materials, and lined with the dark fur of Illestrian dire wolves." icon_state = "armor_rouma_colligne" item_state = "rouma_coat" - body_parts_covered = CHEST|GROIN|ARMS|LEGS + body_parts_covered = CHEST|GROIN cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS supports_variations = KEPORI_VARIATION @@ -74,8 +74,8 @@ desc = "A stylish red coat to indicate that you are, in fact, a Hunter Montagne. Made of extra hard exotic leather, treated with bullet-resistant materials, and lined with the fur of some unidentifiable creature." icon_state = "armor_rouma_montagne" item_state = "rouma_montagne_coat" - body_parts_covered = CHEST|GROIN|ARMS|LEGS - armor = list("melee" = 30, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 90) + body_parts_covered = CHEST|GROIN + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS supports_variations = KEPORI_VARIATION diff --git a/code/modules/clothing/factions/suns.dm b/code/modules/clothing/factions/suns.dm index df6d831e479bc..b005b85caa2ee 100644 --- a/code/modules/clothing/factions/suns.dm +++ b/code/modules/clothing/factions/suns.dm @@ -162,7 +162,7 @@ ///////////////// -/obj/item/clothing/suit/armor/vest/bulletproof/suns +/obj/item/clothing/suit/armor/vest/suns name = "peacekeeper plating" desc = "A standard issue set of plate assigned to peacekeepers, both durable and stylish." icon_state = "suns_pkarmor" @@ -171,21 +171,22 @@ mob_overlay_icon = 'icons/mob/clothing/faction/suns/suits.dmi' lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' - body_parts_covered = CHEST|GROIN|ARMS|LEGS cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS -/obj/item/clothing/suit/armor/vest/bulletproof/suns/hos +/obj/item/clothing/suit/armor/vest/suns/hos name = "gilded peacekeeper plating" desc = "A set of plate assigned to peacekeepers, both durable and stylish. This one has a gold lining to indicate rank." icon_state = "suns_lpkarmor" item_state = "suns_pkarmor" + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) -/obj/item/clothing/suit/armor/vest/bulletproof/suns/ehos //remind me to make this something to buy +/obj/item/clothing/suit/armor/vest/suns/ehos //remind me to make this something to buy name = "peacekeeper greatcoat" desc = "A funky armored coat worn by eccentric peacekeepers. Closing the coat is socially improper." icon_state = "suns_greatcoat" item_state = "suns_greatcoat" + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) /obj/item/clothing/suit/toggle/suns/pkcoat name = "peacekeeper coat" @@ -195,23 +196,23 @@ armor = list("melee" = 15, "bullet" = 30, "laser" = 10, "energy" = 10, "bomb" = 20, "bio" = 0, "rad" = 0, "fire" = 30, "acid" = 25) lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' - body_parts_covered = CHEST|GROIN|ARMS|LEGS + body_parts_covered = CHEST|GROIN cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS -/obj/item/clothing/suit/armor/vest/bulletproof/suns/captain +/obj/item/clothing/suit/armor/vest/suns/captain name = "decorated academic coat" desc = "An armored coat intended for SUNS captains on the frontier. Go forth, and spread the message of the academy." icon_state = "suns_captaincoat" item_state = "suns_overblack" + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) -/obj/item/clothing/suit/armor/vest/bulletproof/suns/xo +/obj/item/clothing/suit/armor/vest/suns/xo name = "academic staff coat" desc = "A white coat used by SUNS academic staff. It designates the second in command on the ship." icon_state = "suns_xojacket" item_state = "suns_overwhite" - /////////////// //Spacesuits// ////////////// @@ -343,7 +344,7 @@ icon_state = "sunsvisor" item_state = "suns_pkhelmet" tint = 0 - armor = list("melee" = 15, "bullet" = 60, "laser" = 10, "energy" = 10, "bomb" = 40, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) // identical stats to bulletproof helmet, as chest matches bulletproof vest + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) // identical stats to vest clothing_flags = BLOCK_GAS_SMOKE_EFFECT | ALLOWINTERNALS //Why? Because I'm not giving PK's sec masks nor hud sunglasses. icon = 'icons/obj/clothing/faction/suns/head.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/suns/head.dmi' diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index cdfe4672d46f2..435ad484a4aed 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -6,7 +6,7 @@ icon_state = "helmet" item_state = "helmet" var/flashlight_state = "helmet_flight_overlay" - armor = list("melee" = 35, "bullet" = 30, "laser" = 30,"energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + armor = list("melee" = 35, "bullet" = 35, "laser" = 35,"energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) cold_protection = HEAD min_cold_protection_temperature = HELMET_MIN_TEMP_PROTECT heat_protection = HEAD @@ -327,7 +327,7 @@ desc = "An extremely robust, space-worthy helmet in a nefarious red and black stripe pattern." icon_state = "swatsyndie" item_state = "swatsyndie" - armor = list("melee" = 40, "bullet" = 30, "laser" = 30,"energy" = 40, "bomb" = 50, "bio" = 90, "rad" = 20, "fire" = 100, "acid" = 100) + armor = list("melee" = 40, "bullet" = 35, "laser" = 35,"energy" = 40, "bomb" = 50, "bio" = 90, "rad" = 20, "fire" = 100, "acid" = 100) cold_protection = HEAD min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT heat_protection = HEAD diff --git a/code/modules/clothing/outfits/ert/solgov_ert.dm b/code/modules/clothing/outfits/ert/solgov_ert.dm index da3a1146648d1..d6830b7514980 100644 --- a/code/modules/clothing/outfits/ert/solgov_ert.dm +++ b/code/modules/clothing/outfits/ert/solgov_ert.dm @@ -6,7 +6,7 @@ id = /obj/item/card/id/solgov uniform = /obj/item/clothing/under/solgov - suit = /obj/item/clothing/suit/armor/vest/bulletproof/solgov + suit = /obj/item/clothing/suit/armor/vest/solgov mask = null ears = /obj/item/radio/headset/solgov/alt gloves = /obj/item/clothing/gloves/combat diff --git a/code/modules/clothing/outfits/factions/solgov.dm b/code/modules/clothing/outfits/factions/solgov.dm index 972b863bbbdac..8e8710c86dbf1 100644 --- a/code/modules/clothing/outfits/factions/solgov.dm +++ b/code/modules/clothing/outfits/factions/solgov.dm @@ -47,7 +47,7 @@ gloves = /obj/item/clothing/gloves/combat ears = /obj/item/radio/headset/solgov/alt/captain uniform = /obj/item/clothing/under/solgov/formal/captain - suit = /obj/item/clothing/suit/armor/vest/bulletproof/solgov/captain + suit = /obj/item/clothing/suit/armor/vest/solgov/captain shoes = /obj/item/clothing/shoes/laceup head = /obj/item/clothing/head/solgov/captain backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1) @@ -69,7 +69,7 @@ id = /obj/item/card/id/solgov uniform = /obj/item/clothing/under/solgov - suit = /obj/item/clothing/suit/armor/vest/bulletproof/solgov + suit = /obj/item/clothing/suit/armor/vest/solgov ears = /obj/item/radio/headset/solgov/alt gloves = /obj/item/clothing/gloves/combat head = /obj/item/clothing/head/solgov/sonnensoldner @@ -115,7 +115,7 @@ uniform = /obj/item/clothing/under/solgov/formal head = /obj/item/clothing/head/solgov neck = /obj/item/clothing/neck/cloak/overseer - suit = /obj/item/clothing/suit/armor/vest/bulletproof/solgov/overseer + suit = /obj/item/clothing/suit/armor/vest/solgov/overseer shoes = /obj/item/clothing/shoes/laceup backpack_contents = list(/obj/item/storage/box/ids=1,\ diff --git a/code/modules/clothing/outfits/factions/syndicate.dm b/code/modules/clothing/outfits/factions/syndicate.dm index 479965e756b47..639839d1b65a8 100644 --- a/code/modules/clothing/outfits/factions/syndicate.dm +++ b/code/modules/clothing/outfits/factions/syndicate.dm @@ -353,7 +353,7 @@ shoes = /obj/item/clothing/shoes/combat/suns head = /obj/item/clothing/head/suns/captain gloves = /obj/item/clothing/gloves/suns/captain - suit = /obj/item/clothing/suit/armor/vest/bulletproof/suns/captain + suit = /obj/item/clothing/suit/armor/vest/suns/captain belt = /obj/item/storage/belt/sabre/suns/captain mask = /obj/item/clothing/mask/breath/suns neck = /obj/item/clothing/neck/cloak/suns/cap @@ -540,7 +540,7 @@ id_assignment = "Academic Staff" uniform = /obj/item/clothing/under/syndicate/suns/xo - suit = /obj/item/clothing/suit/armor/vest/bulletproof/suns/xo + suit = /obj/item/clothing/suit/armor/vest/suns/xo belt = /obj/item/storage/belt/sabre/suns shoes = /obj/item/clothing/shoes/combat/suns head = /obj/item/clothing/head/suns @@ -633,7 +633,7 @@ id_assignment = "Senior Peacekeeper" uniform = /obj/item/clothing/under/syndicate/suns/pkuniform - suit = /obj/item/clothing/suit/armor/vest/bulletproof/suns/hos + suit = /obj/item/clothing/suit/armor/vest/suns/hos belt = /obj/item/melee/sabre/suns/telescopic gloves = /obj/item/clothing/gloves/tackler/dolphin/suns shoes = /obj/item/clothing/shoes/combat/suns @@ -648,7 +648,7 @@ /datum/outfit/job/syndicate/hos/suns/alt name = "Syndicate - Senior Peacekeeper Alt (SUNS)" - suit = /obj/item/clothing/suit/armor/vest/bulletproof/suns/ehos + suit = /obj/item/clothing/suit/armor/vest/suns/ehos head = /obj/item/clothing/head/HoS/syndicate/suns /datum/outfit/job/syndicate/hos/suns/twink @@ -992,7 +992,7 @@ id_assignment = "Peacekeeper" uniform = /obj/item/clothing/under/syndicate/suns/pkuniform - suit = /obj/item/clothing/suit/armor/vest/bulletproof/suns + suit = /obj/item/clothing/suit/armor/vest/suns alt_suit = /obj/item/clothing/suit/toggle/suns/pkcoat belt = /obj/item/melee/sabre/suns/telescopic gloves = /obj/item/clothing/gloves/tackler/dolphin/suns diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 4b5da2de4f8e7..a16680353b6f4 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -2,7 +2,7 @@ icon = 'icons/obj/clothing/suits/armor.dmi' mob_overlay_icon = 'icons/mob/clothing/suits/armor.dmi' allowed = null - body_parts_covered = CHEST + body_parts_covered = CHEST|GROIN cold_protection = CHEST|GROIN min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT heat_protection = CHEST|GROIN @@ -11,7 +11,7 @@ equip_delay_other = 40 max_integrity = 250 resistance_flags = NONE - armor = list("melee" = 35, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) greyscale_colors = list(list(18, 19), list(13, 18), list(20, 15)) greyscale_icon_state = "armor" @@ -81,7 +81,6 @@ desc = "A long, intimidating black coat. This one is reinforced and ideal for protecting its wearer from rain, sun, dust, and bullets." icon_state = "armor_duster" item_state = "duster_sec" - body_parts_covered = CHEST|GROIN|ARMS|LEGS cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS @@ -90,8 +89,7 @@ desc = "A greatcoat enhanced with a special alloy for some extra protection and style for those with a commanding presence." icon_state = "armor_hos" item_state = "greatcoat" - body_parts_covered = CHEST|GROIN|ARMS|LEGS - armor = list("melee" = 30, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 90) + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 90) cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS strip_delay = 80 @@ -108,7 +106,6 @@ desc = "A black armored jacket with silver shoulder designations and '/Warden/' stitched into one of the chest pockets." icon_state = "armor_warden" item_state = "armor" - body_parts_covered = CHEST|GROIN|ARMS cold_protection = CHEST|GROIN|ARMS|HANDS heat_protection = CHEST|GROIN|ARMS|HANDS strip_delay = 70 @@ -135,7 +132,6 @@ desc = "Lightly armored leather overcoat meant as casual wear for high-ranking officers. Bears the crest of Nanotrasen Security." icon_state = "armor_leathercoat-sec" item_state = "hostrench" - body_parts_covered = CHEST|GROIN|ARMS|LEGS cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS dog_fashion = null @@ -145,7 +141,6 @@ desc = "A fireproof armored chestpiece reinforced with ceramic plates and plasteel pauldrons to provide additional protection whilst still offering maximum mobility and flexibility. Issued only to NT's finest, although it does chafe your nipples." icon_state = "carapace_nt" item_state = "armor" - body_parts_covered = CHEST|GROIN armor = list("melee" = 50, "bullet" = 40, "laser" = 50, "energy" = 50, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 90) dog_fashion = null resistance_flags = FIRE_PROOF @@ -209,7 +204,6 @@ icon_state = "laserproof" item_state = "armor_reflec" blood_overlay_type = "armor" - body_parts_covered = CHEST|GROIN|ARMS cold_protection = CHEST|GROIN|ARMS heat_protection = CHEST|GROIN|ARMS armor = list("melee" = 10, "bullet" = 10, "laser" = 60, "energy" = 60, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) @@ -360,28 +354,37 @@ /obj/item/melee/baton, ) -/obj/item/clothing/suit/armor/vest/bulletproof/solgov +/obj/item/clothing/suit/armor/vest/solgov name = "\improper Sonnensoldner gambison" desc = "A standard armor vest fielded for SolGov's Sonnensoldners." icon_state = "solgov_gambison" item_state = "solgov_gambison" supports_variations = DIGITIGRADE_VARIATION + body_parts_covered = CHEST|GROIN + cold_protection = CHEST|GROIN|ARMS + heat_protection = CHEST|GROIN|ARMS -/obj/item/clothing/suit/armor/vest/bulletproof/solgov/overseer +/obj/item/clothing/suit/armor/vest/solgov/overseer name = "\improper SolGov Overseer robe" desc = "An elaborately designed robe utilized by SolGov overseers." icon_state = "solgov_overseer_robe" item_state = "solgov_overseer_robe" supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + cold_protection = CHEST|GROIN|LEGS|ARMS + heat_protection = CHEST|GROIN|LEGS|ARMS -/obj/item/clothing/suit/armor/vest/bulletproof/solgov/captain +/obj/item/clothing/suit/armor/vest/solgov/captain name = "\improper SolGov Captain coat" desc = "An armored coat typically used by SolGov captains." icon_state = "solgov_coat" item_state = "solgov_coat" supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + cold_protection = CHEST|GROIN|LEGS|ARMS + heat_protection = CHEST|GROIN|LEGS|ARMS -/obj/item/clothing/suit/armor/vest/bulletproof/solgov/Initialize() +/obj/item/clothing/suit/armor/vest/solgov/Initialize() . = ..() allowed |= list(/obj/item/gun/ballistic/automatic/assault/swiss_cheese, /obj/item/tank) @@ -421,7 +424,6 @@ desc = "A solgov official's trenchcoat. Has a lot of pockets." icon_state = "armor_solgov_trenchcoat" item_state = "trenchcoat_solgov" - body_parts_covered = CHEST|LEGS|ARMS armor = list("melee" = 25, "bullet" = 10, "laser" = 25, "energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) cold_protection = CHEST|LEGS|ARMS heat_protection = CHEST|LEGS|ARMS @@ -430,7 +432,6 @@ //JACKETS /obj/item/clothing/suit/armor/vest/security item_state = "armor" - body_parts_covered = CHEST|ARMS cold_protection = CHEST|GROIN|ARMS|HANDS heat_protection = CHEST|GROIN|ARMS|HANDS strip_delay = 70 @@ -441,32 +442,27 @@ name = "security officer's jacket" desc = "This jacket is for those special occasions when a security officer isn't required to wear their armor." icon_state = "armor_officerjacket" - body_parts_covered = CHEST|ARMS /obj/item/clothing/suit/armor/vest/security/warden name = "warden's jacket" desc = "Perfectly suited for the warden that wants to leave an impression of style on those who visit the brig." icon_state = "armor_warden" - body_parts_covered = CHEST|ARMS /obj/item/clothing/suit/armor/vest/security/hos name = "head of security's jacket" desc = "This piece of clothing was specifically designed for asserting superior authority." icon_state = "armor_hosjacket" - body_parts_covered = CHEST|ARMS /obj/item/clothing/suit/armor/vest/security/brig_phys name = "brig physician's jacket" desc = "A black jacket with dark blue and silver accents, for the brig physician to prove they're a real member of security in style." icon_state = "armor_brigphysjacket" - body_parts_covered = CHEST|ARMS /obj/item/clothing/suit/toggle/armor/vest/centcom_formal name = "\improper CentCom formal coat" desc = "A stylish coat given to CentCom Commanders. Perfect for sending ERTs to suicide missions with style!" icon_state = "centcom_formal" item_state = "centcom" - body_parts_covered = CHEST|GROIN|ARMS armor = list("melee" = 35, "bullet" = 40, "laser" = 40, "energy" = 50, "bomb" = 35, "bio" = 10, "rad" = 10, "fire" = 10, "acid" = 60) togglename = "buttons"