From 34e7ae6c7ab30263da046f661e634b64819976ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Aguilera=20Puerto?= Date: Sun, 23 Aug 2020 14:47:37 +0200 Subject: [PATCH] Add pressure protection to hardsuits, cleanup hardsuit prototypes --- Content.Client/IgnoredComponents.cs | 1 + .../Clothing/Head/hardsuit-helmets.yml | 96 +++++++++---- .../Clothing/OuterClothing/hardsuits.yml | 132 ++++++++++++------ 3 files changed, 160 insertions(+), 69 deletions(-) diff --git a/Content.Client/IgnoredComponents.cs b/Content.Client/IgnoredComponents.cs index 6e67d79995..8626c0e972 100644 --- a/Content.Client/IgnoredComponents.cs +++ b/Content.Client/IgnoredComponents.cs @@ -162,6 +162,7 @@ "GasVapor", "MobStateManager", "Metabolism", + "PressureProtection", }; } } diff --git a/Resources/Prototypes/Entities/Clothing/Head/hardsuit-helmets.yml b/Resources/Prototypes/Entities/Clothing/Head/hardsuit-helmets.yml index acbfb6eaba..810982fc66 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/hardsuit-helmets.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/hardsuit-helmets.yml @@ -1,7 +1,17 @@ - type: entity parent: HatBase - id: HatHardsuit-old - name: hardsuit-old + id: HelmetHardsuitBase + name: base hardsuit helmet + abstract: true + components: + - type: PressureProtection + highPressureMultiplier: 0.75 + lowPressureMultiplier: 100 + +- type: entity + parent: HelmetHardsuitBase + id: HatHardsuitOld + name: old hardsuit helmet description: An old helmet from a hardsuit. Still functional, for now. components: - type: Sprite @@ -10,11 +20,15 @@ sprite: Clothing/Head/hardsuit-old.rsi - type: Clothing sprite: Clothing/Head/hardsuit-old.rsi + - type: PressureProtection + highPressureMultiplier: 0.85 + lowPressureMultiplier: 45 + - type: entity - parent: HatBase - id: HatHardsuit-atmos - name: hardsuit-atmos + parent: HelmetHardsuitBase + id: HelmetHardsuitAtmos + name: atmos hardsuit helmet description: A special hardsuit helmet designed for working in low-pressure, high thermal environments. components: - type: Sprite @@ -23,11 +37,14 @@ sprite: Clothing/Head/hardsuit-atmos.rsi - type: Clothing sprite: Clothing/Head/hardsuit-atmos.rsi + - type: PressureProtection + highPressureMultiplier: 0.5 + lowPressureMultiplier: 100 - type: entity - parent: HatBase - id: HatHardsuit-engineering - name: hardsuit-engineering + parent: HelmetHardsuitBase + id: HelmetHardsuitEngineering + name: engineering hardsuit helmet description: An engineering hardsuit helmet designed for working in low-pressure, high radioactive environments. components: - type: Sprite @@ -36,11 +53,14 @@ sprite: Clothing/Head/hardsuit-engineering.rsi - type: Clothing sprite: Clothing/Head/hardsuit-engineering.rsi + - type: PressureProtection + highPressureMultiplier: 0.65 + lowPressureMultiplier: 100 - type: entity - parent: HatBase - id: HatHardsuit-hazardhardsuit - name: hardsuit-hazardhardsuit + parent: HelmetHardsuitBase + id: HelmetHardsuitHazard + name: hazard hardsuit helmet description: Robust hardsuit helmet made for dangerous and hazardous situations. components: - type: Sprite @@ -51,9 +71,9 @@ sprite: Clothing/Head/hardsuit-hazardhardsuit.rsi - type: entity - parent: HatBase - id: HatHardsuit-medical - name: hardsuit-medical + parent: HelmetHardsuitBase + id: HelmetHardsuitMedical + name: medical hardsuit helmet description: Lightweight medical hardsuit helmet that doesn't restrict your head movements. components: - type: Sprite @@ -62,11 +82,14 @@ sprite: Clothing/Head/hardsuit-medical.rsi - type: Clothing sprite: Clothing/Head/hardsuit-medical.rsi + - type: PressureProtection + highPressureMultiplier: 0.80 + lowPressureMultiplier: 55 - type: entity - parent: HatBase - id: HatHardsuit-mining - name: hardsuit-mining + parent: HelmetHardsuitBase + id: HelmetHardsuitMining + name: mining hardsuit helmet description: A special helmet designed for work in a hazardous, low pressure environment. Has reinforced plating for wildlife encounters and dual floodlights. components: - type: Sprite @@ -75,11 +98,14 @@ sprite: Clothing/Head/hardsuit-mining.rsi - type: Clothing sprite: Clothing/Head/hardsuit-mining.rsi + - type: PressureProtection + highPressureMultiplier: 0.70 + lowPressureMultiplier: 100 - type: entity - parent: HatBase - id: HatHardsuit-sectg - name: hardsuit-sectg + parent: HelmetHardsuitBase + id: HelmetHardsuitSecurity + name: security hardsuit helmet description: Armored hardsuit helmet for security needs. components: - type: Sprite @@ -88,11 +114,14 @@ sprite: Clothing/Head/hardsuit-sectg.rsi - type: Clothing sprite: Clothing/Head/hardsuit-sectg.rsi + - type: PressureProtection + highPressureMultiplier: 0.70 + lowPressureMultiplier: 100 - type: entity - parent: HatBase - id: HatHardsuit-syndie - name: hardsuit-syndie + parent: HelmetHardsuitBase + id: HelmetHardsuitSyndie + name: blood red hardsuit helmet description: An advanced red hardsuit helmet designed for work in special operations. components: - type: Sprite @@ -103,11 +132,14 @@ state: icon - type: Clothing sprite: Clothing/Head/hardsuit-syndie.rsi + - type: PressureProtection + highPressureMultiplier: 0.45 + lowPressureMultiplier: 100 - type: entity - parent: HatBase - id: HatHardsuit-ce - name: hardsuit-ce + parent: HelmetHardsuitBase + id: HelmetHardsuitCE + name: CE hardsuit helmet description: Special hardsuit helmet, made for the chief engineer of the station. components: - type: Sprite @@ -116,11 +148,14 @@ sprite: Clothing/Head/hardsuit-white.rsi - type: Clothing sprite: Clothing/Head/hardsuit-white.rsi + - type: PressureProtection + highPressureMultiplier: 0.5 + lowPressureMultiplier: 100 - type: entity - parent: HatBase - id: HatHardsuit-wiz - name: hardsuit-wiz + parent: HelmetHardsuitBase + id: HelmetHardsuitWizard + name: wizard hardsuit helmet description: A bizarre gem-encrusted helmet that radiates magical energies. components: - type: Sprite @@ -129,3 +164,6 @@ sprite: Clothing/Head/hardsuit-wiz.rsi - type: Clothing sprite: Clothing/Head/hardsuit-wiz.rsi + - type: PressureProtection + highPressureMultiplier: 0.45 + lowPressureMultiplier: 100 diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml index 45976cde74..cd86874caa 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml @@ -1,7 +1,17 @@ - type: entity parent: OuterclothingBase - id: OuterclothingDeathsquad - name: deathsquad + id: HardsuitBase + name: base hardsuit + abstract: true + components: + - type: PressureProtection + highPressureMultiplier: 0.75 + lowPressureMultiplier: 100 + +- type: entity + parent: HardsuitBase + id: HardsuitDeathsquad + name: deathsquad hardsuit description: An advanced hardsuit favored by commandos for use in special operations. components: - type: Sprite @@ -10,10 +20,13 @@ sprite: Clothing/OuterClothing/deathsquad.rsi - type: Clothing sprite: Clothing/OuterClothing/deathsquad.rsi + - type: PressureProtection + highPressureMultiplier: 0.45 + lowPressureMultiplier: 100 - type: entity - parent: OuterclothingBase - id: OuterclothingIhvoidsuit + parent: HardsuitBase + id: IHVoidsuit name: IH voidsuit description: A special void suit that protects against hazardous, low pressure environments. components: @@ -23,11 +36,14 @@ sprite: Clothing/OuterClothing/ihvoidsuit.rsi - type: Clothing sprite: Clothing/OuterClothing/ihvoidsuit.rsi + - type: PressureProtection + highPressureMultiplier: 1 + lowPressureMultiplier: 100 - type: entity - parent: OuterclothingBase - id: OuterClothingHardsuitatmos - name: hardsuit atmos + parent: HardsuitBase + id: HardsuitAtmos + name: atmos hardsuit description: A special suit that protects against hazardous, low pressure environments. Has thermal shielding. components: - type: Sprite @@ -36,11 +52,14 @@ sprite: Clothing/OuterClothing/hardsuit_atmos.rsi - type: Clothing sprite: Clothing/OuterClothing/hardsuit_atmos.rsi + - type: PressureProtection + highPressureMultiplier: 0.5 + lowPressureMultiplier: 100 - type: entity - parent: OuterclothingBase - id: OuterClothingHardsuitengineering - name: hardsuit engineering + parent: HardsuitBase + id: HardsuitEngineering + name: engineering hardsuit description: A special suit that protects against hazardous, low pressure environments. Has radiation shielding. components: - type: Sprite @@ -49,11 +68,14 @@ sprite: Clothing/OuterClothing/hardsuit_engineering.rsi - type: Clothing sprite: Clothing/OuterClothing/hardsuit_engineering.rsi + - type: PressureProtection + highPressureMultiplier: 0.65 + lowPressureMultiplier: 100 - type: entity - parent: OuterclothingBase - id: OuterClothingHardsuithazardhardsuit - name: hardsuit hazard hardsuit + parent: HardsuitBase + id: HardsuitHazard + name: hazard hardsuit description: A robust hardsuit made for dangerous and hazardous situations. components: - type: Sprite @@ -62,11 +84,14 @@ sprite: Clothing/OuterClothing/hardsuit_hazardhardsuit.rsi - type: Clothing sprite: Clothing/OuterClothing/hardsuit_hazardhardsuit.rsi + - type: PressureProtection + highPressureMultiplier: 0.75 + lowPressureMultiplier: 100 - type: entity - parent: OuterclothingBase - id: OuterClothingHardsuitmedical - name: hardsuit medical + parent: HardsuitBase + id: HardsuitMedical + name: medical hardsuit description: A special suit that protects against hazardous, low pressure environments. Built with lightweight materials for easier movement. components: - type: Sprite @@ -75,11 +100,14 @@ sprite: Clothing/OuterClothing/hardsuit_medical.rsi - type: Clothing sprite: Clothing/OuterClothing/hardsuit_medical.rsi + - type: PressureProtection + highPressureMultiplier: 0.75 + lowPressureMultiplier: 100 - type: entity - parent: OuterclothingBase - id: OuterClothingHardsuitmining - name: hardsuit mining + parent: HardsuitBase + id: HardsuitMining + name: mining hardsuit description: A special suit that protects against hazardous, low pressure environments. Has reinforced plating for wildlife encounters. components: - type: Sprite @@ -88,11 +116,14 @@ sprite: Clothing/OuterClothing/hardsuit_mining.rsi - type: Clothing sprite: Clothing/OuterClothing/hardsuit_mining.rsi + - type: PressureProtection + highPressureMultiplier: 0.75 + lowPressureMultiplier: 100 - type: entity - parent: OuterclothingBase - id: OuterClothingHardsuitsectg - name: hardsuit sectg + parent: HardsuitBase + id: HardsuitSecurity + name: security hardsuit description: A special suit that protects against hazardous, low pressure environments. Has an additional layer of armor. components: - type: Sprite @@ -101,11 +132,14 @@ sprite: Clothing/OuterClothing/hardsuit_sectg.rsi - type: Clothing sprite: Clothing/OuterClothing/hardsuit_sectg.rsi + - type: PressureProtection + highPressureMultiplier: 0.75 + lowPressureMultiplier: 100 - type: entity - parent: OuterclothingBase - id: OuterClothingHardsuitsyndie - name: hardsuit syndie + parent: HardsuitBase + id: HardsuitSyndie + name: blood red hardsuit description: A dual-mode advanced hardsuit designed for work in special operations. components: - type: Sprite @@ -114,12 +148,15 @@ sprite: Clothing/OuterClothing/hardsuit_syndie.rsi - type: Clothing sprite: Clothing/OuterClothing/hardsuit_syndie.rsi + - type: PressureProtection + highPressureMultiplier: 0.45 + lowPressureMultiplier: 100 # Some massive smoothbrain had this named "hardsuit white" yeah thanks fuckhead really useful. - type: entity - parent: OuterclothingBase - id: OuterClothingHardsuitce - name: hardsuit ce + parent: HardsuitBase + id: HardsuitCE + name: CE hardsuit description: A special hardsuit that protects against hazardous, low pressure environments, made for the chief engineer of the station. components: - type: Sprite @@ -128,11 +165,14 @@ sprite: Clothing/OuterClothing/hardsuit_ce.rsi - type: Clothing sprite: Clothing/OuterClothing/hardsuit_ce.rsi + - type: PressureProtection + highPressureMultiplier: 0.45 + lowPressureMultiplier: 100 - type: entity - parent: OuterclothingBase - id: OuterClothingHardsuitwiz - name: hardsuit wiz + parent: HardsuitBase + id: HardsuitWizard + name: wizard hardsuit description: A bizarre gem-encrusted suit that radiates magical energies. components: - type: Sprite @@ -141,11 +181,14 @@ sprite: Clothing/OuterClothing/hardsuit_wiz.rsi - type: Clothing sprite: Clothing/OuterClothing/hardsuit_wiz.rsi + - type: PressureProtection + highPressureMultiplier: 0.45 + lowPressureMultiplier: 100 - type: entity - parent: OuterclothingBase - id: OuterclothingSpace - name: space + parent: HardsuitBase + id: Spacesuit + name: spacesuit description: A basic space suit. components: - type: Sprite @@ -154,12 +197,15 @@ sprite: Clothing/OuterClothing/space.rsi - type: Clothing sprite: Clothing/OuterClothing/space.rsi + - type: PressureProtection + highPressureMultiplier: 1 + lowPressureMultiplier: 100 # I don't know what the hell "td" is but whatever i'll dump it here. - type: entity - parent: OuterclothingBase - id: OuterclothingTdgreen - name: td green + parent: HardsuitBase + id: HardsuitTDGreen + name: green TD hardsuit description: Heavily armored black and green suit for long combat situations, also provides protection from low-pressure/vacuum damage. components: - type: Sprite @@ -168,11 +214,14 @@ sprite: Clothing/OuterClothing/tdgreen.rsi - type: Clothing sprite: Clothing/OuterClothing/tdgreen.rsi + - type: PressureProtection + highPressureMultiplier: 1 + lowPressureMultiplier: 100 - type: entity - parent: OuterclothingBase - id: OuterclothingTdred - name: td red + parent: HardsuitBase + id: HardsuitTDRed + name: red TD hardsuit description: Heavily armored black and red suit for long combat situations, also provides protection from low-pressure/vacuum damage components: - type: Sprite @@ -181,3 +230,6 @@ sprite: Clothing/OuterClothing/tdred.rsi - type: Clothing sprite: Clothing/OuterClothing/tdred.rsi + - type: PressureProtection + highPressureMultiplier: 1 + lowPressureMultiplier: 100