From 446b47a4b75bfa0ee95879349031407c8e2874e8 Mon Sep 17 00:00:00 2001 From: Boaz1111 <149967078+Boaz1111@users.noreply.github.com> Date: Sun, 24 Dec 2023 20:12:36 +0100 Subject: [PATCH 01/36] Adding intermediate industrial chems (#22614) * added hydroxide, benzene, and changed the phenol recipe * I forgot to commit a bunch of changes, whoopsie doopsie * Update chemicals.yml made an error while resolving conflicts * Update chemicals.yml same here * Update flavor-profiles.ftl * Update chemicals.yml * Update chemicals.ftl * Update chemicals.ftl * Update chemicals.yml * Update medicine.yml * Update chemicals.yml * Update medicine.yml * guh * Revert "guh" This reverts commit a0e5dfd4182d1a407bffd21d0eaa36355023993c. * final touches and fixes * fixed all the issues, for realsies * thefuck * Revert " thefuck" This reverts commit 22068cb73d9902ccf81d065d92d078f423c67aea. * maybe this fix? * Revert " maybe this fix?" This reverts commit 4bfd534f73a956e595c809ce77e52819ed142f2b. * Update chemicals.yml * Update chemicals.yml * Update chemicals.yml Trying to figure out my issue * Update chemicals.yml * Update chemicals.yml * Update chemicals.yml * Disabled the ethanol breakdown, fixing the issue * Revert "Update chemicals.yml" This reverts commit 1239512c0b7df5eab106bf64ec2af38185f2f016. * Revert "Disabled the ethanol breakdown, fixing the issue" This reverts commit 96190c967d22b1422d144e4211579f5af7bf9a09. * Emo suggested I'd do this * Update chemicals.yml * made temps needed for the uhh hydroxide and benzene * Update chemicals.yml * removed SugarBreakdown --- .../Locale/en-US/flavors/flavor-profiles.ftl | 1 + .../Locale/en-US/reagents/meta/chemicals.ftl | 13 ++++ .../en-US/reagents/meta/physical-desc.ftl | 1 + Resources/Prototypes/Reagents/chemicals.yml | 58 +++++++++++++++++ .../Recipes/Reactions/chemicals.yml | 62 +++++++++++++++---- .../Prototypes/Recipes/Reactions/food.yml | 20 +++--- .../Prototypes/Recipes/Reactions/medicine.yml | 12 ++-- 7 files changed, 136 insertions(+), 31 deletions(-) diff --git a/Resources/Locale/en-US/flavors/flavor-profiles.ftl b/Resources/Locale/en-US/flavors/flavor-profiles.ftl index a1f1c566394..0116bd3c8cd 100644 --- a/Resources/Locale/en-US/flavors/flavor-profiles.ftl +++ b/Resources/Locale/en-US/flavors/flavor-profiles.ftl @@ -44,6 +44,7 @@ flavor-base-sharp = sharp flavor-base-syrupy = syrupy flavor-base-spaceshroom = mysterious flavor-base-clean = clean +flavor-base-alkaline = alkaline flavor-base-holy = holy # lmao diff --git a/Resources/Locale/en-US/reagents/meta/chemicals.ftl b/Resources/Locale/en-US/reagents/meta/chemicals.ftl index 17866c7641d..1d70ff65ff1 100644 --- a/Resources/Locale/en-US/reagents/meta/chemicals.ftl +++ b/Resources/Locale/en-US/reagents/meta/chemicals.ftl @@ -10,8 +10,21 @@ reagent-desc-sodium-carbonate = A white, odorless, water-soluble salt that yield reagent-name-artifexium = artifexium reagent-desc-artifexium = A lavender mixture of microscopic artifact fragments and a strong acid. It has the ability to activate artifacts. +reagent-name-benzene = benzene +reagent-desc-benzene = An aromatic, slightly carcinogenic, ring of carbon, forming a base for many organic compounds. + +reagent-name-hydroxide = hydroxide +reagent-desc-hydroxide = A strong alkaline chemical, forming a base for many organic compounds. + +reagent-name-sodium-hydroxide = sodium hydroxide +reagent-desc-sodium-hydroxide = A white, odorless, water-soluble salt that yields an strong alkaline solution in water. Causes burns and vomiting when ingested. + +reagent-name-fersilicite = fersilicite +reagent-desc-fersilicite = An intermetallic compound with unusual magnetic properties at low temperatures. + reagent-name-sodium-polyacrylate = sodium polyacrylate reagent-desc-sodium-polyacrylate = A super-absorbent polymer with assorted industrial uses. reagent-name-cellulose = cellulose fibers reagent-desc-cellulose = A crystaline polydextrose polymer, plants swear by this stuff. + diff --git a/Resources/Locale/en-US/reagents/meta/physical-desc.ftl b/Resources/Locale/en-US/reagents/meta/physical-desc.ftl index 5743f096209..183fd9db03c 100644 --- a/Resources/Locale/en-US/reagents/meta/physical-desc.ftl +++ b/Resources/Locale/en-US/reagents/meta/physical-desc.ftl @@ -90,5 +90,6 @@ reagent-physical-desc-energizing = energizing reagent-physical-desc-exhilarating = exhilarating reagent-physical-desc-vibrant = vibrant reagent-physical-desc-fluffy = fluffy +reagent-physical-desc-alkaline = alkaline reagent-physical-desc-reflective = reflective reagent-physical-desc-holy = holy diff --git a/Resources/Prototypes/Reagents/chemicals.yml b/Resources/Prototypes/Reagents/chemicals.yml index 01cffa3e994..b2b4850c8f6 100644 --- a/Resources/Prototypes/Reagents/chemicals.yml +++ b/Resources/Prototypes/Reagents/chemicals.yml @@ -81,6 +81,64 @@ - !type:ReagentThreshold min: 5 +- type: reagent + id: Benzene + name: reagent-name-benzene + desc: reagent-desc-benzene + physicalDesc: reagent-physical-desc-acidic + color: "#E7EA91" + boilingPoint: 353.2 + meltingPoint: 278.7 + metabolisms: + Poison: + effects: + - !type:HealthChange + damage: + types: + Cellular: 1 #it's a carcinogen, reckon this is fine + +- type: reagent + id: Hydroxide + name: reagent-name-hydroxide + desc: reagent-desc-hydroxide + physicalDesc: reagent-physical-desc-alkaline + color: "white" + boilingPoint: 1661.0 + meltingPoint: 596.0 + +- type: reagent + id: SodiumHydroxide + name: reagent-name-sodium-hydroxide + desc: reagent-desc-sodium-hydroxide + physicalDesc: reagent-physical-desc-alkaline + color: "white" + boilingPoint: 1661.0 + meltingPoint: 596.0 + metabolisms: + Poison: + effects: + - !type:HealthChange + damage: + types: + Heat: 1.5 + Medicine: + effects: + - !type:ChemVomit + conditions: + - !type:ReagentThreshold + min: 5 + probability: 0.1 + +- type: reagent + id: Fersilicite + name: reagent-name-fersilicite + desc: reagent-desc-fersilicite + physicalDesc: reagent-physical-desc-crystalline + flavor: metallic + color: "#434b4d" + boilingPoint: 2962.0 + meltingPoint: 1638.0 + - type: reagent id: SodiumPolyacrylate name: reagent-name-sodium-polyacrylate diff --git a/Resources/Prototypes/Recipes/Reactions/chemicals.yml b/Resources/Prototypes/Recipes/Reactions/chemicals.yml index 54d67ebc673..1fed7a28946 100644 --- a/Resources/Prototypes/Recipes/Reactions/chemicals.yml +++ b/Resources/Prototypes/Recipes/Reactions/chemicals.yml @@ -31,17 +31,13 @@ - type: reaction id: Phenol - minTemp: 325 - maxTemp: 480 reactants: - Oxygen: - amount: 1 - Hydrogen: + Hydroxide: amount: 1 - Carbon: + Benzene: amount: 1 products: - Phenol: 3 + Phenol: 2 - type: reaction id: Acetone @@ -84,7 +80,7 @@ amount: 1 Sulfur: amount: 1 - Oxygen: + Oxygen: amount: 2 products: SulfuricAcid: 3 @@ -260,10 +256,10 @@ reactants: WeldingFuel: amount: 1 - Carbon: - amount: 1 Hydrogen: amount: 1 + Carbon: + amount: 1 products: Oil: 3 @@ -380,10 +376,8 @@ impact: Medium reactants: Uranium: - amount: 2 - Hydrogen: amount: 1 - Oxygen: + Epinephrine: amount: 1 products: NorepinephricAcid: 2 @@ -427,6 +421,48 @@ products: SodiumCarbonate: 4 +- type: reaction + id: Benzene + minTemp: 310 + reactants: + Hydrogen: + amount: 1 + Carbon: + amount: 1 + products: + Benzene: 1 + +- type: reaction + minTemp: 310 + id: Hydroxide + reactants: + Oxygen: + amount: 1 + Hydrogen: + amount: 1 + products: + Hydroxide: 2 + +- type: reaction + id: SodiumHydroxide + reactants: + Hydroxide: + amount: 1 + Sodium: + amount: 1 + products: + SodiumHydroxide: 2 + +- type: reaction + id: Fersilicite + reactants: + Iron: + amount: 1 + Silicon: + amount: 1 + products: + Fersilicite: 2 + - type: reaction id: SodiumPolyacrylate impact: Medium diff --git a/Resources/Prototypes/Recipes/Reactions/food.yml b/Resources/Prototypes/Recipes/Reactions/food.yml index 97b5549c20a..39bf0d20014 100644 --- a/Resources/Prototypes/Recipes/Reactions/food.yml +++ b/Resources/Prototypes/Recipes/Reactions/food.yml @@ -309,14 +309,14 @@ Sugar: 9 Potassium: 1 -- type: reaction - id: SugarBreakdown - minTemp: 520 - reactants: - Sugar: - amount: 4 - products: - Carbon: 1 - Oxygen: 1 - Hydrogen: 2 +#- type: reaction +# id: SugarBreakdown +# minTemp: 520 + # reactants: + # Sugar: + # amount: 4 + # products: + # Carbon: 1 + # Oxygen: 1 + # Hydrogen: 2 diff --git a/Resources/Prototypes/Recipes/Reactions/medicine.yml b/Resources/Prototypes/Recipes/Reactions/medicine.yml index 4862f082f49..dfc3d661f0a 100644 --- a/Resources/Prototypes/Recipes/Reactions/medicine.yml +++ b/Resources/Prototypes/Recipes/Reactions/medicine.yml @@ -83,14 +83,12 @@ amount: 1 Acetone: amount: 1 - Oxygen: - amount: 1 Chlorine: amount: 1 - Hydrogen: + Hydroxide: amount: 1 products: - Epinephrine: 5 + Epinephrine: 4 - type: reaction id: Dermaline @@ -344,10 +342,8 @@ amount: 1 Blood: amount: 1 - Carbon: - amount: 1 - Hydrogen: - amount: 1 + Hydroxide: + amount: 2 products: Oculine: 4 From 16f4572c5780f9c0d3514b8ba535258ea0ce663b Mon Sep 17 00:00:00 2001 From: lapatison <100279397+lapatison@users.noreply.github.com> Date: Sun, 24 Dec 2023 22:13:02 +0300 Subject: [PATCH 02/36] Minor alert locale (#22926) locale --- Resources/Locale/en-US/alerts/alerts.ftl | 9 +++++++++ Resources/Prototypes/Alerts/magboots.yml | 6 +++--- Resources/Prototypes/Alerts/revenant.yml | 10 +++++----- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/Resources/Locale/en-US/alerts/alerts.ftl b/Resources/Locale/en-US/alerts/alerts.ftl index 33642b44b5e..bb3ca510376 100644 --- a/Resources/Locale/en-US/alerts/alerts.ftl +++ b/Resources/Locale/en-US/alerts/alerts.ftl @@ -98,3 +98,12 @@ alerts-pacified-desc = You're pacified; you won't be able to attack anyone direc alerts-suit-power-name = Suit Power alerts-suit-power-desc = How much power your space ninja suit has. + +alerts-magboots-name = Magboots +alerts-magboots-desc = You are immune to airflow, but slightly slower. + +alerts-revenant-essence-name = Essence +alerts-revenant-essence-desc = The power of souls. It sustains you and is used for abilities. It regenerates slowly over time. + +alerts-revenant-corporeal-name = Corporeal +alerts-revenant-corporeal-desc = You have manifested physically. People around you can see and hurt you. diff --git a/Resources/Prototypes/Alerts/magboots.yml b/Resources/Prototypes/Alerts/magboots.yml index ea7dfa7eb62..0c9ee5507cf 100644 --- a/Resources/Prototypes/Alerts/magboots.yml +++ b/Resources/Prototypes/Alerts/magboots.yml @@ -1,7 +1,7 @@ -- type: alert +- type: alert id: Magboots icons: - sprite: /Textures/Clothing/Shoes/Boots/magboots.rsi state: icon-on - name: "Magboots" - description: You are immune to airflow, but slightly slower. + name: alerts-magboots-name + description: alerts-magboots-desc diff --git a/Resources/Prototypes/Alerts/revenant.yml b/Resources/Prototypes/Alerts/revenant.yml index a813e7d2e4b..d859cd60f15 100644 --- a/Resources/Prototypes/Alerts/revenant.yml +++ b/Resources/Prototypes/Alerts/revenant.yml @@ -1,4 +1,4 @@ -- type: alert +- type: alert id: Essence category: Health #it's like ghostie health icons: @@ -36,13 +36,13 @@ state: essence15 - sprite: /Textures/Interface/Alerts/essence_counter.rsi state: essence16 - name: Essence - description: The power of souls. It sustains you and is used for abilities. It regenerates slowly over time. + name: alerts-revenant-essence-name + description: alerts-revenant-essence-desc minSeverity: 0 maxSeverity: 16 - type: alert id: Corporeal icons: [ /Textures/Mobs/Ghosts/revenant.rsi/icon.png ] - name: "Corporeal" - description: You have manifested physically. People around you can see and hurt you. \ No newline at end of file + name: alerts-revenant-corporeal-name + description: alerts-revenant-corporeal-desc \ No newline at end of file From beb1a4c4a496bbfa9d5fdb0c2557d5e2dca05df6 Mon Sep 17 00:00:00 2001 From: lapatison <100279397+lapatison@users.noreply.github.com> Date: Sun, 24 Dec 2023 22:35:40 +0300 Subject: [PATCH 03/36] Janitor equipment slot locale, vehicle slot (Keys) locale (#22859) * stuff * fixes * vehicle locale --- .../janitorial/janitorial-slot-component.ftl | 10 ++++++++ Resources/Locale/en-US/vehicle/vehicle.ftl | 2 ++ .../Objects/Specific/Janitorial/janitor.yml | 23 +++++++++---------- .../Entities/Objects/Vehicles/buckleable.yml | 14 +++++------ 4 files changed, 30 insertions(+), 19 deletions(-) create mode 100644 Resources/Locale/en-US/janitorial/janitorial-slot-component.ftl diff --git a/Resources/Locale/en-US/janitorial/janitorial-slot-component.ftl b/Resources/Locale/en-US/janitorial/janitorial-slot-component.ftl new file mode 100644 index 00000000000..b7221165871 --- /dev/null +++ b/Resources/Locale/en-US/janitorial/janitorial-slot-component.ftl @@ -0,0 +1,10 @@ +# mop bucket +mop-bucket-slot-component-slot-name-shark = Shark +# janitorial trolley +janitorial-trolley-slot-component-slot-name-plunger = Plunger +janitorial-trolley-slot-component-slot-name-sign = Sign +janitorial-trolley-slot-component-slot-name-lightreplacer = Light Replacer +janitorial-trolley-slot-component-slot-name-spray = Spray +janitorial-trolley-slot-component-slot-name-bucket = Bucket +janitorial-trolley-slot-component-slot-name-trashbag = Trash Bag +janitorial-trolley-slot-component-slot-name-mop = Mop diff --git a/Resources/Locale/en-US/vehicle/vehicle.ftl b/Resources/Locale/en-US/vehicle/vehicle.ftl index 3aa5def1e72..0fb99d28c7d 100644 --- a/Resources/Locale/en-US/vehicle/vehicle.ftl +++ b/Resources/Locale/en-US/vehicle/vehicle.ftl @@ -1 +1,3 @@ vehicle-use-key = You use {THE($keys)} to start {THE($vehicle)}. + +vehicle-slot-component-slot-name-keys = Keys diff --git a/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml b/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml index be823f2b653..8774dbf60e0 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml @@ -1,4 +1,3 @@ -# TODO: Add description (1) - type: entity parent: BaseItem name: mop @@ -140,7 +139,7 @@ - type: ItemSlots slots: shark_slot: - name: Shark + name: mop-bucket-slot-component-slot-name-shark whitelist: tags: - PlushieSharkBlue @@ -290,64 +289,64 @@ - type: ItemSlots slots: mop_slot: - name: Mop + name: janitorial-trolley-slot-component-slot-name-mop whitelist: tags: - Mop insertOnInteract: false # or it conflicts with bucket logic priority: 9 # Higher than bucket slot plunger_slot: - name: Plunger + name: janitorial-trolley-slot-component-slot-name-plunger whitelist: tags: - Plunger priority: 8 wetfloorsign_slot4: - name: WetFloorSign + name: janitorial-trolley-slot-component-slot-name-sign whitelist: tags: - WetFloorSign priority: 7 wetfloorsign_slot3: - name: WetFloorSign + name: janitorial-trolley-slot-component-slot-name-sign whitelist: tags: - WetFloorSign priority: 7 wetfloorsign_slot2: - name: WetFloorSign + name: janitorial-trolley-slot-component-slot-name-sign whitelist: tags: - WetFloorSign priority: 7 wetfloorsign_slot1: - name: WetFloorSign + name: janitorial-trolley-slot-component-slot-name-sign whitelist: tags: - WetFloorSign priority: 7 lightreplacer_slot: - name: LightReplacer + name: janitorial-trolley-slot-component-slot-name-lightreplacer whitelist: tags: - LightReplacer priority: 6 spraybottle_slot: - name: Spray + name: janitorial-trolley-slot-component-slot-name-spray whitelist: tags: - Spray insertOnInteract: false # or it conflicts with bucket logic priority: 5 # Higher than bucket slot bucket_slot: - name: Bucket + name: janitorial-trolley-slot-component-slot-name-bucket whitelist: tags: - Bucket insertOnInteract: false # or it also conflicts with bucket logic priority: 4 # Higher than trash bag slot trashbag_slot: - name: Bag + name: janitorial-trolley-slot-component-slot-name-trashbag whitelist: tags: - TrashBag diff --git a/Resources/Prototypes/Entities/Objects/Vehicles/buckleable.yml b/Resources/Prototypes/Entities/Objects/Vehicles/buckleable.yml index ccb5d36a0af..916aa068aea 100644 --- a/Resources/Prototypes/Entities/Objects/Vehicles/buckleable.yml +++ b/Resources/Prototypes/Entities/Objects/Vehicles/buckleable.yml @@ -72,7 +72,7 @@ - type: ItemSlots slots: key_slot: #this slot name is important - name: Keys + name: vehicle-slot-component-slot-name-keys whitelist: requireAll: true tags: @@ -135,7 +135,7 @@ - type: ItemSlots slots: key_slot: - name: Keys + name: vehicle-slot-component-slot-name-keys whitelist: requireAll: true tags: @@ -146,7 +146,7 @@ params: volume: -3 trashbag_slot: - name: Bag + name: janitorial-trolley-slot-component-slot-name-trashbag whitelist: tags: - TrashBag @@ -205,7 +205,7 @@ - type: ItemSlots slots: key_slot: - name: Keys + name: vehicle-slot-component-slot-name-keys whitelist: requireAll: true tags: @@ -255,7 +255,7 @@ - type: ItemSlots slots: key_slot: - name: Keys + name: vehicle-slot-component-slot-name-keys whitelist: requireAll: true tags: @@ -298,7 +298,7 @@ - type: ItemSlots slots: key_slot: - name: Keys + name: vehicle-slot-component-slot-name-keys whitelist: requireAll: true tags: @@ -344,7 +344,7 @@ - type: ItemSlots slots: key_slot: - name: Keys + name: vehicle-slot-component-slot-name-keys whitelist: requireAll: true tags: From fd5a1b293a14ae53387eda20167a350fc8e61198 Mon Sep 17 00:00:00 2001 From: Warentan <113652968+Warentan@users.noreply.github.com> Date: Sun, 24 Dec 2023 13:59:44 -0600 Subject: [PATCH 04/36] Nerfed bloodsuckers- They can no longer tank some incoming damage types by chugging blood (#22880) Nerfed bloodsuckers- Can no longer tank some damage types by chugging blood Co-authored-by: Warentan --- Resources/Prototypes/Reagents/biological.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/Reagents/biological.yml b/Resources/Prototypes/Reagents/biological.yml index afe1023edfb..a2c68dddb2f 100644 --- a/Resources/Prototypes/Reagents/biological.yml +++ b/Resources/Prototypes/Reagents/biological.yml @@ -33,8 +33,8 @@ type: Bloodsucker damage: groups: - Brute: -4 - Burn: -2 + Brute: -3 + Burn: -1.25 plantMetabolism: - !type:PlantAdjustWater amount: 0.5 From dd2f8deee9971bb12128227ce91bb0c89fa908be Mon Sep 17 00:00:00 2001 From: Ubaser <134914314+UbaserB@users.noreply.github.com> Date: Mon, 25 Dec 2023 07:01:17 +1100 Subject: [PATCH 05/36] Increase cigarette count in cig packs (#22919) add --- .../Entities/Objects/Consumable/Smokeables/Cigarettes/packs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/packs.yml b/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/packs.yml index 5ef81cc4f0d..a566a0f01fd 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/packs.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/packs.yml @@ -52,7 +52,7 @@ - type: StorageFill contents: - id: Cigarette - amount: 5 + amount: 10 - type: ItemCounter count: tags: [Cigarette] From a1210ca69135b6cff3db95a6be7a07db88e4e338 Mon Sep 17 00:00:00 2001 From: Nairod <110078045+Nairodian@users.noreply.github.com> Date: Sun, 24 Dec 2023 14:49:23 -0600 Subject: [PATCH 06/36] Central Command Access, Doors, and Locked Vendor (#22924) * CentComm Acess and Doors * Central Command Access Windoor --- .../en-US/prototypes/access/accesses.ftl | 2 + Resources/Prototypes/Access/centcomm.yml | 3 + .../Entities/Mobs/Player/admin_ghost.yml | 1 + .../Entities/Objects/Devices/door_remote.yml | 2 + .../Objects/Misc/identification_cards.yml | 2 + .../Structures/Doors/Airlocks/access.yml | 28 +++ .../Structures/Doors/Airlocks/airlocks.yml | 20 ++ .../Structures/Doors/Windoors/windoor.yml | 8 + .../Structures/Machines/vending_machines.yml | 2 + .../Roles/Jobs/Command/centcom_official.yml | 2 + .../Roles/Jobs/Fun/emergencyresponseteam.yml | 10 + .../Airlocks/Glass/centcomm.rsi/assembly.png | Bin 0 -> 1023 bytes .../Glass/centcomm.rsi/bolted_unlit.png | Bin 0 -> 144 bytes .../Airlocks/Glass/centcomm.rsi/closed.png | Bin 0 -> 1361 bytes .../Glass/centcomm.rsi/closed_unlit.png | Bin 0 -> 144 bytes .../Airlocks/Glass/centcomm.rsi/closing.png | Bin 0 -> 2403 bytes .../Glass/centcomm.rsi/closing_unlit.png | Bin 0 -> 432 bytes .../Glass/centcomm.rsi/deny_unlit.png | Bin 0 -> 321 bytes .../Glass/centcomm.rsi/emergency_unlit.png | Bin 0 -> 588 bytes .../Airlocks/Glass/centcomm.rsi/meta.json | 195 ++++++++++++++++++ .../Airlocks/Glass/centcomm.rsi/open.png | Bin 0 -> 346 bytes .../Airlocks/Glass/centcomm.rsi/opening.png | Bin 0 -> 2408 bytes .../Glass/centcomm.rsi/opening_unlit.png | Bin 0 -> 284 bytes .../Glass/centcomm.rsi/panel_closing.png | Bin 0 -> 445 bytes .../Glass/centcomm.rsi/panel_open.png | Bin 0 -> 315 bytes .../Glass/centcomm.rsi/panel_opening.png | Bin 0 -> 470 bytes .../Airlocks/Glass/centcomm.rsi/sparks.png | Bin 0 -> 697 bytes .../Glass/centcomm.rsi/sparks_broken.png | Bin 0 -> 183 bytes .../Glass/centcomm.rsi/sparks_damaged.png | Bin 0 -> 184 bytes .../Glass/centcomm.rsi/sparks_open.png | Bin 0 -> 175 bytes .../Airlocks/Glass/centcomm.rsi/welded.png | Bin 0 -> 296 bytes .../Standard/centcomm.rsi/assembly.png | Bin 0 -> 1023 bytes .../Standard/centcomm.rsi/bolted_unlit.png | Bin 0 -> 144 bytes .../Airlocks/Standard/centcomm.rsi/closed.png | Bin 0 -> 1023 bytes .../Standard/centcomm.rsi/closed_unlit.png | Bin 0 -> 144 bytes .../Standard/centcomm.rsi/closing.png | Bin 0 -> 1980 bytes .../Standard/centcomm.rsi/closing_unlit.png | Bin 0 -> 432 bytes .../Standard/centcomm.rsi/deny_unlit.png | Bin 0 -> 321 bytes .../Standard/centcomm.rsi/emergency_unlit.png | Bin 0 -> 588 bytes .../Airlocks/Standard/centcomm.rsi/meta.json | 195 ++++++++++++++++++ .../Airlocks/Standard/centcomm.rsi/open.png | Bin 0 -> 346 bytes .../Standard/centcomm.rsi/opening.png | Bin 0 -> 1958 bytes .../Standard/centcomm.rsi/opening_unlit.png | Bin 0 -> 284 bytes .../Standard/centcomm.rsi/panel_closing.png | Bin 0 -> 445 bytes .../Standard/centcomm.rsi/panel_open.png | Bin 0 -> 315 bytes .../Standard/centcomm.rsi/panel_opening.png | Bin 0 -> 470 bytes .../Airlocks/Standard/centcomm.rsi/sparks.png | Bin 0 -> 697 bytes .../Standard/centcomm.rsi/sparks_broken.png | Bin 0 -> 183 bytes .../Standard/centcomm.rsi/sparks_damaged.png | Bin 0 -> 184 bytes .../Standard/centcomm.rsi/sparks_open.png | Bin 0 -> 175 bytes .../Airlocks/Standard/centcomm.rsi/welded.png | Bin 0 -> 296 bytes 51 files changed, 470 insertions(+) create mode 100644 Resources/Prototypes/Access/centcomm.yml create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/assembly.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/bolted_unlit.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/closed.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/closed_unlit.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/closing.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/closing_unlit.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/deny_unlit.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/emergency_unlit.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/meta.json create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/open.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/opening.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/opening_unlit.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/panel_closing.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/panel_open.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/panel_opening.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/sparks.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/sparks_broken.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/sparks_damaged.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/sparks_open.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/welded.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/assembly.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/bolted_unlit.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/closed.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/closed_unlit.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/closing.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/closing_unlit.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/deny_unlit.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/emergency_unlit.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/meta.json create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/open.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/opening.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/opening_unlit.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/panel_closing.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/panel_open.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/panel_opening.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/sparks.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/sparks_broken.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/sparks_damaged.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/sparks_open.png create mode 100644 Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/welded.png diff --git a/Resources/Locale/en-US/prototypes/access/accesses.ftl b/Resources/Locale/en-US/prototypes/access/accesses.ftl index 8c367f1566a..b4859768ca5 100644 --- a/Resources/Locale/en-US/prototypes/access/accesses.ftl +++ b/Resources/Locale/en-US/prototypes/access/accesses.ftl @@ -39,3 +39,5 @@ id-card-access-level-external = External id-card-access-level-nuclear-operative = Nuclear Operative id-card-access-level-syndicate-agent = Syndicate Agent + +id-card-access-level-central-command = Central Command diff --git a/Resources/Prototypes/Access/centcomm.yml b/Resources/Prototypes/Access/centcomm.yml new file mode 100644 index 00000000000..32340c985db --- /dev/null +++ b/Resources/Prototypes/Access/centcomm.yml @@ -0,0 +1,3 @@ +- type: accessLevel + id: CentralCommand + name: id-card-access-level-central-command diff --git a/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml b/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml index 3f5a7af8d3c..2ea093060d1 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml @@ -30,6 +30,7 @@ tags: - NuclearOperative - SyndicateAgent + - CentralCommand - type: UserInterface interfaces: - key: enum.SolarControlConsoleUiKey.Key diff --git a/Resources/Prototypes/Entities/Objects/Devices/door_remote.yml b/Resources/Prototypes/Entities/Objects/Devices/door_remote.yml index ae40b645142..d687f3289e7 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/door_remote.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/door_remote.yml @@ -174,3 +174,5 @@ - type: Access groups: - AllAccess + tags: + - CentralCommand diff --git a/Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml b/Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml index 705733aa61a..112535afa80 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml @@ -460,6 +460,8 @@ - type: Access groups: - AllAccess + tags: + - CentralCommand - type: entity parent: CentcomIDCard diff --git a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml index 5a16335ab8f..72fa03cc6fa 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml @@ -223,6 +223,16 @@ - type: AccessReader access: [["Research"], ["Medical"]] +- type: entity + parent: AirlockCentralCommand + id: AirlockCentralCommandLocked + suffix: Central Command, Locked + components: + - type: AccessReader + access: [["CentralCommand"]] + - type: Wires + layoutId: AirlockCommand + - type: entity parent: AirlockCommand id: AirlockCommandLocked @@ -532,6 +542,16 @@ - type: AccessReader access: [["Research"], ["Medical"]] +- type: entity + parent: AirlockCentralCommandGlass + id: AirlockCentralCommandGlassLocked + suffix: Central Command, Locked + components: + - type: AccessReader + access: [["CentralCommand"]] + - type: Wires + layoutId: AirlockCommand + - type: entity parent: AirlockCommandGlass id: AirlockCommandGlassLocked @@ -992,6 +1012,14 @@ - type: GridFill #HighSecDoors +- type: entity + parent: HighSecDoor + id: HighSecCentralCommandLocked + suffix: Central Command, Locked + components: + - type: AccessReader + access: [["CentralCommand"]] + - type: entity parent: HighSecDoor id: HighSecCommandLocked diff --git a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/airlocks.yml b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/airlocks.yml index 9c3ab3c767d..1e856d62a7f 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/airlocks.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/airlocks.yml @@ -104,6 +104,16 @@ - type: Sprite sprite: Structures/Doors/Airlocks/Standard/mining.rsi +- type: entity + parent: Airlock + id: AirlockCentralCommand + suffix: Central Command + components: + - type: Sprite + sprite: Structures/Doors/Airlocks/Standard/centcomm.rsi + - type: WiresPanelSecurity + securityLevel: medSecurity + # Glass - type: entity @@ -267,3 +277,13 @@ components: - type: Sprite sprite: Structures/Doors/Airlocks/Glass/mining.rsi + +- type: entity + parent: AirlockGlass + id: AirlockCentralCommandGlass + suffix: Central Command + components: + - type: Sprite + sprite: Structures/Doors/Airlocks/Glass/centcomm.rsi + - type: WiresPanelSecurity + securityLevel: medSecurity diff --git a/Resources/Prototypes/Entities/Structures/Doors/Windoors/windoor.yml b/Resources/Prototypes/Entities/Structures/Doors/Windoors/windoor.yml index ed07c155aea..b4010fe98fd 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Windoors/windoor.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Windoors/windoor.yml @@ -135,6 +135,14 @@ - type: AccessReader access: [["Chemistry"]] +- type: entity + parent: WindoorSecure + id: WindoorSecureCentralCommandLocked + suffix: Central Command, Locked + components: + - type: AccessReader + access: [["CentralCommand"]] + - type: entity parent: WindoorSecure id: WindoorSecureCommandLocked diff --git a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml index fa8ae6f7a47..77d5818b74b 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml @@ -1894,6 +1894,8 @@ radius: 1.5 energy: 1.6 color: "#48CF48" + - type: AccessReader + access: [["CentralCommand"]] - type: entity parent: VendingMachine diff --git a/Resources/Prototypes/Roles/Jobs/Command/centcom_official.yml b/Resources/Prototypes/Roles/Jobs/Command/centcom_official.yml index c6088122dcc..e712b943d54 100644 --- a/Resources/Prototypes/Roles/Jobs/Command/centcom_official.yml +++ b/Resources/Prototypes/Roles/Jobs/Command/centcom_official.yml @@ -10,6 +10,8 @@ canBeAntag: false accessGroups: - AllAccess + access: + - CentralCommand - type: startingGear id: CentcomGear diff --git a/Resources/Prototypes/Roles/Jobs/Fun/emergencyresponseteam.yml b/Resources/Prototypes/Roles/Jobs/Fun/emergencyresponseteam.yml index d2c59f5829e..c7f08e0af78 100644 --- a/Resources/Prototypes/Roles/Jobs/Fun/emergencyresponseteam.yml +++ b/Resources/Prototypes/Roles/Jobs/Fun/emergencyresponseteam.yml @@ -11,6 +11,8 @@ canBeAntag: false accessGroups: - AllAccess + access: + - CentralCommand - type: startingGear id: ERTLeaderGear @@ -77,6 +79,8 @@ canBeAntag: false accessGroups: - AllAccess + access: + - CentralCommand - type: startingGear id: ERTEngineerGear @@ -124,6 +128,8 @@ canBeAntag: false accessGroups: - AllAccess + access: + - CentralCommand - type: startingGear id: ERTSecurityGear @@ -190,6 +196,8 @@ canBeAntag: false accessGroups: - AllAccess + access: + - CentralCommand - type: startingGear id: ERTMedicalGear @@ -237,6 +245,8 @@ canBeAntag: false accessGroups: - AllAccess + access: + - CentralCommand - type: startingGear id: ERTJanitorGear diff --git a/Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/assembly.png b/Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/assembly.png new file mode 100644 index 0000000000000000000000000000000000000000..814d8379085726788b724bad9e3bea90f88c45c8 GIT binary patch literal 1023 zcmVulnpHCAk}Km;XC#5UBC!=V<+0X02D zLhS_(K?1cBcT{ft4g3S3-Xkit5*JR%B^+FGNUN<7-qtOw6eTFJQW@JJVTFyb&0(4G z?5^##P54St)-!Lu@B7}&n;+WZ;$jCNm&;Ks76E898US=U9nK4yrjbge05DAx+qMDF zg>%PoXkM8DAn}vV+S(fFREk$K8Ab%;eMZ5B$-nINPj;+JtS8qg<%bG5ogDd(inXc>A*j5+9{{iU^{g2q{2S zJuHs)qaF7Wp=L9BLjOk?$=G-T+|%~Ci5N@3FqQD11PqGMJ#EYWnTx}3Lj5>(@o`w` zE+``z!#!>LB0a3s(eOwA{LUUgXg5^3g!5ippk(0wMgI;LOmnbbpx0JB3YWfneZeD| zHFyAg^7Jo6+sc*~;e$_KXZgKFc4u85(bDE)Y3ma;Yrw`aul@20`FvisTb9KUH6NEx zTJc$h-RldiZ0)hKwI|7o&ni8mk3v45$FeLe%c5GX`ostfT+Si`c%lM`E+PruWlU65)DGkw>swDl2_+1E>(F!)oW}5mjDZjJ3mVqr8#~XVbsWe$p*TQ}tlA)ZA4WM1Rc`gLk{Qrk@76ksi060q_~YB* z-UfnGy&1#5WhjnIA);KUg+!=FsES_B`(-oe96+BgO~@w`bTiTKQ85U?K%zJ%cQtg= zG;vCf6d?$X-0nQ7kq0jqD%AEt9KyM2n#63|#xzZ)OB2#TurfrOaNe(S)b>HuC7j!~ tjix@&9mfHnRvW$&MnO95EpqjF{tsHD!OlT=UKjuX002ovPDHLkV1nDB+xh?i literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/bolted_unlit.png b/Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/bolted_unlit.png new file mode 100644 index 0000000000000000000000000000000000000000..6857f2a24154b06497367e4b2474465b750393e2 GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJa8DPBwv zuM|3_AZ(xm85@Ibu)$u4Al-&+FdV+}jZDz}VGLh%AZ4shp^ms=W257Sv|Vj$W0RQn zYR>kOy-1(r?s93P_=V$+=lMO~@ArA`_xzJuTU$#29UUF?_xA%(C=>uFl}bD*NRmV- z6aqj|6q3m#03IQ(sw(=HB>)7jd)T>iC*e?tWsyjQWCYzfv$LeCD!DcTf3s`Ro)pprd=Vc2Q{CCBfk%LrFA_|- zQ4|G_s;UfnCRyDat^}0)uqIL^9!Y1BwDPwhFKI|*Ar61Di(H$5no{xP+Kd|U(cTQB zWGsZMwug~48XBd=ILszoWrVBewB$6tHtaM!*=r;mfRH)c$AXKTtt?7l;%kH5a< zoi7B(Xm5s+-x^y{H;cc$|ML^UnR{}}`t{zY3Te4sPhWU<9f3DOjwS$>Gb2C0d82!U z^gupx_~Z#E6BPr(_1;|{9J@O<lwH+=qxNS{BO!XF*>Y^XZQ9a zr_5Rw17^swoSw-|go|?zjhWm;*eRwF$g-R+&OJ25Bg=ByT<>poIU3Lb-4_Us6sB`w zUm!SQ576?(Mm^}Zrv`OXx-gwv=?etM3e&lj_PR!9!UBdCHz33T#9Khi7b_#MdhNoC zklnmfXFTF#B%KvOYkYxV8n9&lNIHvzwfDD9-3F*x4F#7N!TI+JP16Rxa9*>hqBuFF@OioS` zkH>3b9H*g}f`C5%ek|y^&d|^hfA6`$Nk{v-Q_8+0`#D;tR!qP-dR^*;LDbLEd6H zn}Y{Cm>O<82ZFu5Rg*Vvu-)tB>W;F5l!?nz)7m5spwAk^)ZLDt{rzhUoZRAAC(AM| zEiI@mEzHGYJT2D}SqyC45aH*6s<^q_2|~D@i9{knEEWSG5C~LefyIFMhv(Xtu@xRTvaIU>P&zoYKKN<&QuRCh^m*0(UeU`s2e$&-|`JW0` zWftroEEmXLchsr3qP`KBV`Z;9+8kbf*SrjWtW~qL<~$%0&rVwJMC1e!E5xC?EZbvU zPFt%!YYe+6#so>j$~Fjbfu^OQ|LidyvAKv1{p^)_gcM!`=|;UrZi_!xK!o zD_16{jzqmn#X`{XMf}aKhB>@_5*|fSP*ZBfgdn)1RsXGIY9vIQU@l*XLx?Mif-9L! zq9_W%l)EBepBbV|h}S!mn#&hDxC-%PGKplqo~x<~KqgcB|DFWG;c}9jujl^*=VOLQ TxOMfH00000NkvXXu0mjfXt|2y literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/closed_unlit.png b/Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/closed_unlit.png new file mode 100644 index 0000000000000000000000000000000000000000..c78d01c42d084dd5be78e8a33a599a90cc86107f GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJa8DPP>^Ss#&mpghvZkX~#s0-h3N2b6`K?}O)meqDd+l#VI$hWM`6MlQ q&#%(rqf#%I&Hk(pG?9U!&gT+u#1#>y1s3nVf%u-TelF{r5}E)5_cy%& literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/closing.png b/Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/closing.png new file mode 100644 index 0000000000000000000000000000000000000000..ba55d1eefb9a79c5757eba4654f56d1e71f7d41f GIT binary patch literal 2403 zcmV-p37qzcP)FV)47v=`?`I-Txx|L+Xh4@8pF-Shd}J*Pa+J@=(LJ3A`?kj-W(cu<7b ztlV%h!gbok2$P{7+llhE|5{~Os@5l>(qH~@58pm@3i;JljE;^%c$jw8Mb15T>=AHC@P%yE)`B|eL z0IP$Pm0G{F+Vp$3T-3NvKKI5e0MHSSy5ge7B&;W&d*c-v0KWV}55lLSo^(Pso29bZ zETz>6Zn}TC6 z+>ZIhW?443Z8|_$EBnF?g(GvyZ63Oa+ol8jnh6y*3J)r`dFes}(tOm<64uJqyUuHu zP&l&amrHS@@E`*K|9brv0B_cV$c&=;h>rR@&Mg-;?pCn?Fqc~e<*Ao1Hr19lN7d5W9S(ubEA~Zb;X}vbKP`l##{$LB@&4W08}da%N<4rBs1$K6h$Ev3IPC$#Uku@ znB_*J(K>E_e?KNBCQQ3nVJ4GFWHK25022;}9nZ>}&EW$;_y%L!!wk33TLJ)tK9Mdy z&+`xmcbImu!sMrT^!N88lgWVU{o#OSHy3k7gyPa2x_)WZ@Gn4bnrXI-cv$83t{ec* z^C@VrS{ae40FuchmfiY4 znGvV5@_L#0Zw~(8mxM)Ro$xTjT^P%w!qs0;D=t=;@}j@@^ev;}CSBJ5`6^)m4? zp_^Nxsso}~4>Q~{XijZEvo2Pc^0pe@h&hp!*UQAGQYjz=AQZ&UPw&PEUx+JD+=_=8 zZaST=JEk?k;VNL-#R^m27G2yZ)aCNr&dR4!DWubBq|<4vtgK+-W)7inB2x6frY1gMU789q*oatGd~34<%O=H77xixfo$GfHYXFyN2$z`{o*(=Jw+y>HgqVgO(ZG|L8^ z$;#_x;sM~$r=Mad7)1H|yD_@8&8~+T?)9Tb>yBwnaCq~JYo=YSFsEc~(F6oImzCGc z#P8d;5B$&&{`Sl>)$LArnBlUl<{FzR7rRVG322s;mw>1=n~sw2`p%+4j*(Y7okn+e zHvk|U4rAb*ieB{E?$k!ik zyvyu(7~v)kb>fpNuZ@s>FZS)gkqb+(>SBgDaqZvLwp1U)+{nty+hl`*L|d$VnLL_n zC6t};XvS6B&j}Yj=1+y%9Ym`E-N?$zGx2S)_GO^9&O!z|H$1es%1$8rIpJcI2>`UX zS(>F$?j{EqrdTW@q%5~Rl-!oqXckakT6W4sizzSWsc${iE>e^bK;?m3bGL=Rr!T5D zwzn&)nIJY(@$Q4Ii9Iof23-PxcdxvL4{yBv>))LF)34n0P;y@$KKT+*TU;Y;I_aXt ztXqux@$h$kHpb`H-+Sl1vR+nx@WGVn|M%l+#&xwM@L61p%7h+40chlC~pLfofzBu;*fwNh&x_fuRIc-_Qeq{MI53 z+Np+2yn-c{cG5$SODdU6f}i56onXhsC=-w_elnQ^t(*loot0P1#H;P&w1*Kc0Aw;5 zB$G)*rUJHIj55i^&tx*7%*48#j;8}aEG7+n`Mhonr>Tckt~{R3^So&nD@=Jj{eO2H VM9g=lNwxq0002ovPDHLkV1k`Uw#NVf literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/closing_unlit.png b/Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/closing_unlit.png new file mode 100644 index 0000000000000000000000000000000000000000..2a71f76d5d0c792fe84b136920ab32a386dfc7a5 GIT binary patch literal 432 zcmeAS@N?(olHy`uVBq!ia0vp^2|(UR&i(je0cL#ec*0}-@j8|{(iQzwzWT#=l!&5f jT;0h840aHhFykh_!rG~;5AeP$1@S#y{an^LB{Ts5_a?jl literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/deny_unlit.png b/Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/deny_unlit.png new file mode 100644 index 0000000000000000000000000000000000000000..7c56263f83958a17893b3db0b04ce3078c15cea0 GIT binary patch literal 321 zcmeAS@N?(olHy`uVBq!ia0vp^2|(x;TbZ%z1lzVbEa*5x0l` zFLCLtQfk)goBm*9Wqa5)W5IyH?gg7O+Vq@#{gzqI_j{ICbSF<}<0|vo?Y_6yOll7; z+AsO(r`@v>Kf7}$KR*umYV~i&zP&s*_xJv-=38t1deYzEyLbMqy6^o$Z`IbavsGXD zr!(F8`6z;|L6RYjVFqIYc7~Z}LvrZvRZ(vk567Q>-*~3QX2MKG<^wzo#tdf|3@{iQ zO7s8d*3Gv+{xi?r|HRuDl15mS!8LAhWr_IppL3FmClFnFq60fUCY M)78&qol`;+0G5h<`v3p{ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/emergency_unlit.png b/Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/emergency_unlit.png new file mode 100644 index 0000000000000000000000000000000000000000..817f2fb3f95c53ee8720a7c5be418b6208a6a7e6 GIT binary patch literal 588 zcmV-S0<-;zP)EX>4Tx04R}tkv&MmKpe$iQ?*4Z4t5Z6$WV2$AS$ApR-p(LLaorMgUO{|(4-+r zad8w}3l4rPRvlcNb#-tR1i=pwM<*vm7b)?7X`w}o2gm(*ckglc4iIW3rdb_hfTr7K zG9DAtnN>0H3ISaRVg@5Jvy3@OO2Bh`-NVP%yC~1{KKJM7QL`2Ud?N8IGfbO!gLrDw zHaPDShgm^ZiO-2gO}ZfQBiEG%zj4mHEbz>*nM%$Rhl#~}8!K(h3Z_OpNgPo%o$`fr zgH_I3oV8MgHSft^7|QA^%Uq{9h&UFp1PLM(R8T|-HlnoZq*zGOe$2x^;QA$UDdZ}G zkz)a6Xpmh$_#gc4*2+zcHN#J&iAq7)K38aGjOH1{N)-j{YiSY zrA3Z_-fiIGx}_<5z~v6m|76If>`H!`LM{iqpV2pEfWBLxd#%x1b04Py{D4^000SaNLh0L z01FcU01FcV0GgZ_00007bV*G`2j&6>2?sl(`5Ny4002lyL_t(&-tEhw4S+xZ1i>Rg zVKDSSX&L4%0;www4F7m5?$`iueJsvhgPbzeeyo ztdbAVB2CJG)gnBsgWAfjMVQSbNU+$Q8Awhw>@wUtaNpk9Ohjq`RWZ0K1qL3}?$w+5jx3 zMYB#LgfX$>c^O>P*Gwk^A=_~Husv}0^?Y0VFT8Q=rjdc8Hemg~lu-DZzo)TOnJ%3l4FCWD07*qoM6N<$g6DLUApigX literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/opening.png b/Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/opening.png new file mode 100644 index 0000000000000000000000000000000000000000..d99926d11e40adbec88565d86c049c88f16cfeb3 GIT binary patch literal 2408 zcmX|D2{hYT7ynBYwKR+>mC=+=RjFMq)uNUVjZoce4JDR{>N=L9X_?wp?NUQjD5;>- z5=+pM+P4VCK0;6(A=FaqM87%TIq$yv*86_kX)BXoQkT=Kv$p4G_TazObBlND3Lzfo7Mx9vUaEH27?< zFQ#^RQ)gBK&7JZMe#@Tt5uKA=R|Nq?>&{O#zBm;5M-xRy`lin2Zy9DPgqF=s-Dq%B z0cz_Q)q2pM7uSHTvASCT0&M7lFc|E$WuA{Zrfm95fZlxix8?{nZS7mvj~#ybRuB}D zgW=d#^5Pg^!0s~PexuY4Cz4$9y6nmL(;+?Porn>g##fU02N2Azshu7-!a1AXu@eGD zbK>MyhcEr%x*KA~uDn6H6K6z-{A_dB(t(FP)lxo9vnrN=+TJao(|^Q>>z$VyD(CDH z#RSakwo=mv0BL?%AVH|VSh9+8Dh?`+_7=63)p@ZQMlTQ-Uz{fT&(9Ydfy#@WnzEoNI zi`*mK&CRPVCCXi}AP`lrNl;q3bLIsQvOCuD^?7BtII)LNuf{2qtTbz~Q_vP(L6<$P zuGE4&NW#uGEt?}#S^so>Ub9$ZFSc`a+(Af%ZKYuln*^k(*&}14F`?mII0<2#*UIh;yh>`_Pm6*~}-fxlSC;Rq7O&UyK`mGsl3$%O1c<}F{Sv|Ax zuzPzh3PRamV_gg~BA(A$H>dR9=E-Jxr!(XT@7IQkXs!<(9Iv`X<4FyQXFSi6Q9GY( zx{n-CqBylCGoE{;--zT~lGf*5^{$9KJOwTkJp`+;!#CeLQ=YlJ*cHfeA_ zycUnw8s_Ar$rOu2t=t+J5%yd%d@x0#1FBU-Q@IytjVNw|==h#WuqZE|>O!wEwTC(* zrZ5V6%7<)FxQe_-)v?3F_B-2c8_RQHB}AupS-cP3%AP*Vz|NYC_`fxvFhGsWZHZrl ze{KGYZpq#nT*++j+)%mwpzLfOG8bc3Ib>-#DZafpw{U-b$T=K^WjI)rX>zmWz`gi) z>VH=_rm59WxQzGyImU|FT@iz31^Mz8J|1j&-rH>2)XNWbDK8XSTATy}7Fh3Hvz=r- zJV{3N5(OD7h2j@A0gO->>1PSPh*WoBVPT^aGBjsG$ni2n<~LVYx_t9L0aKrTXPVH9 z$3E&u8(QfIW6~g)Ee1-$Vgj3jkXP5$6#xYI!oodIuHy?Z)Z zA1wMPn;ka}O)!m=05&EW2FS0}&is5-}Rg=}*Y}- zur|>&o(q#SX#mDUEM3oPa9|^3Pvaa(e88L5PaBDtT%=mmZ)DHu%>S7-f2GPTiWvwc z1BWbdZwKkzM{*qmaa`3`vn$vFApFGhqb=>t(5g#Wz{3p8tO@T}Pjf%|dtIYP(!7~` z);sMUAs=aYAPvY=jWgP0GyfX}=GP0zcz)Fh1g{JdY5=YJ;d;N{Aoddf)?|@B1k9J+e~dc#Lr9eZ##~ z&q8LTfQ5djZ)f-~gN`L9_1Jt#w3tzZCX{~KO~2ZciP30p_g@Itji1*8M+s?mWiHK9 zhf~QrPv`uZ&z52H!7jU6$^PX)s_s z#KIwr!I-V$V11^#dUpKLjjy-9DY|#Kuw+Jjzzl{&rWQ^CH3uAwt;hGhNWR~>|B3$l qhyP2a-~C|qG6v`^C}^l(vC57yE3)EC^YOwKkf5ilpUXO@geCx+nr^EA literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/panel_closing.png b/Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/panel_closing.png new file mode 100644 index 0000000000000000000000000000000000000000..db7be0bc4a0ec0b2bc29e8718fb6b71796846f16 GIT binary patch literal 445 zcmeAS@N?(olHy`uVBq!ia0vp^2|(qk=b{5eiK-()1~xQ&@cMV`(mao8yQ?TZq;#^Y}m${ zacWZ!Yev-i>$j948lYsxftl|YY`yljZkp{(pFL*+-lj#WWzI6YweB*{ESZG)8eLCP zH-4D=_wruJUKQWqugks*3w-~bxAmsS_S>R@6K&4#1!`fty>^f8^xkc+O+xqazTJA; z{=7~2>uGDRIhyR%SJ)ONH}BrkKUz=f@~-S!d-avVtb5`KJrkcF_ZOUaf4N)v?bouY zpX0AZna`Cr-@$dKByUdGcPkF5{Og%j`&-%%FXZlavSVWw{8-KzzB@7SM0TXvt!o+A zif+H$q2jsc@9*!WwR0M*e5Y<-(ETyu&`qBj{lx9nl5Os{*Qk05m8bu?%XoF&`KQ?? l*%zfe7FQS8+W~`WRsIyAi(3!btSA5lf~TvW%Q~loCIEIM%9sEE literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/panel_open.png b/Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/panel_open.png new file mode 100644 index 0000000000000000000000000000000000000000..24eb2aedc2248aeb772b38f63ff992254e7aaec0 GIT binary patch literal 315 zcmV-B0mS}^P)G_@Zv*NK(#C83< z0hCg#mPY_q%Og#e`P2l!*GQEjpT`0MYBKbMv^%3TIE=g7KF`WXCR28pn>(x2n zemoXytpJ?bfcIZ;wOEjBHdt%rI!S!%PGhZ=2c^1AoGrxJR_5RoDx&OEP+E*gAHf&mPbH>ZE8FCH9e&*rpCoP%1 zIy_fR`1DT4EhW}ImG2+Fy>#^EcBOlIu{N4r8M|lHdv8DdMa^XX`Q)41s%D;5@l3t_ z>U!DiCu(!NfiicFek|lsbn*16WPNgF)9u86nlDcO+<9uZb*sRm>zlTKo#3wDtk_cV zGUiQg0fX*;t18(yxo?DbZh3Nv5#oCg`Gddm{r7*~nV;{o)~0;#=kiD}oLj`YgzrYV zCx61j+EYJuRBRcZ$AIaEWtl7E0M--(oM3v-T6o|50rvB z?(X|$_9K~q!b>Jme`5^XKVF&j%`2QtMsN-@c!MQ;uYX{&xPXV-MV4h*a7^*H)mTo% z^duKBlw8QrI7#Az6a!+!k42gRM*{jVXw(2^)BtAG0A@rO5W6r+TTo*dR0c>itn&u= ziYhf*#29dhKzXbye)sb`x`T#9jF|@skRQx^J~1)&r}u;k?=m8#VH_qLszE1c7I|*U z-vi17+kNaSpCz%9yQ#rS&sN2x0`#dRVZ$Zo3 z(YozxD(tDJ*Nd^#9ngM11*`#hZL|qqUX-aA#5S}G^!n=WLLU@GQ4~c{6dSK|xP5Tx z!-H@vnhtn%y49-Lc3NyR!WG{&^FjpmIbAy+o5nPrx)V}}E%fz`bB+BtcI@^)8^rTf zBx((Ky3EXU1aLM2IGxVm^KA+58-UdY;QHA(FXNaPN!aD?zV8}<6&DioA6qwm%&S`B zG(?rf)v;@BC^IYu=$f%ZGhhqXw5SF!qXsa;V!%*uXSl{qZh&O*G5ePMUQntINQ83i z$upoRb}H)fv5TKDu*ZP$-hvmY3!Atq6ENBh(WYFFM67|7l05p#?E1nmayZKasmvEs z4%uF#@2=U$hCc&#<3^>qaoRUjD5t(Q@!@5>eLn%YPa&y@Wk6F&Jf;Amr=S&p`TF~H zKQmyzZBbK@-3j_NfaCqFrZteLVgLD`ViBgsl+FQ!832*%0DhkaTq4i015y-4Q4~c{ f6h%=KHvsSpwHV1KmpgiI00000NkvXXu0mjf++aJ5 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/sparks_broken.png b/Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/sparks_broken.png new file mode 100644 index 0000000000000000000000000000000000000000..fb5d774588ae44eab5608571cb6aafad7375e158 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^2|(DFD66%%n7hj|c25u0=Hbzuz>&Md dbBcZ?)Aw7<0^jOhxdW|Y@O1TaS?83{1ORW&Jrn={ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/sparks_damaged.png b/Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/sparks_damaged.png new file mode 100644 index 0000000000000000000000000000000000000000..f16a028dee5bbe41a7f4e35f686043e8a112ce4e GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeK3?y%aJ*@^(YymzYu0Z<#e`9lQK{p_au_VYZ zn8D%MjWi%9!PCVtL_+fI!HvAl4m=D8Hh=XH6ZQR;XyVo{y01gP^_0k+pXD$8l*-N4 z&iUk!V5<=?maE{?*yyS)-udN6;H*Pi5*L(-Fs)pAdDY$x8SUGCM{GTG-~v& dN}IerjGt7Q1>7HnEC$-e;OXk;vd$@?2>`@EK-2&L literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/sparks_open.png b/Resources/Textures/Structures/Doors/Airlocks/Glass/centcomm.rsi/sparks_open.png new file mode 100644 index 0000000000000000000000000000000000000000..630eabb976ecf11fa59ba29f03502b02bde399aa GIT binary patch literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^2|(GM)~O;5D{Ad0LZe;7N97KJC6BX-upNVgWUu;=WLfz+qP_d4j_bJ3vh=hfa5r9 z0qVN81qdO4*#ozUc?-;6LK?t17pG~m0|2;<_}}aJ8%Xzkw*de?p>!O_N2;HSWO<%5 ub^zoJEX!gGaL3n-QrC61fn;4*wm#k_G(h}nBOLz#0000ulnpHCAk}Km;XC#5UBC!=V<+0X02D zLhS_(K?1cBcT{ft4g3S3-Xkit5*JR%B^+FGNUN<7-qtOw6eTFJQW@JJVTFyb&0(4G z?5^##P54St)-!Lu@B7}&n;+WZ;$jCNm&;Ks76E898US=U9nK4yrjbge05DAx+qMDF zg>%PoXkM8DAn}vV+S(fFREk$K8Ab%;eMZ5B$-nINPj;+JtS8qg<%bG5ogDd(inXc>A*j5+9{{iU^{g2q{2S zJuHs)qaF7Wp=L9BLjOk?$=G-T+|%~Ci5N@3FqQD11PqGMJ#EYWnTx}3Lj5>(@o`w` zE+``z!#!>LB0a3s(eOwA{LUUgXg5^3g!5ippk(0wMgI;LOmnbbpx0JB3YWfneZeD| zHFyAg^7Jo6+sc*~;e$_KXZgKFc4u85(bDE)Y3ma;Yrw`aul@20`FvisTb9KUH6NEx zTJc$h-RldiZ0)hKwI|7o&ni8mk3v45$FeLe%c5GX`ostfT+Si`c%lM`E+PruWlU65)DGkw>swDl2_+1E>(F!)oW}5mjDZjJ3mVqr8#~XVbsWe$p*TQ}tlA)ZA4WM1Rc`gLk{Qrk@76ksi060q_~YB* z-UfnGy&1#5WhjnIA);KUg+!=FsES_B`(-oe96+BgO~@w`bTiTKQ85U?K%zJ%cQtg= zG;vCf6d?$X-0nQ7kq0jqD%AEt9KyM2n#63|#xzZ)OB2#TurfrOaNe(S)b>HuC7j!~ tjix@&9mfHnRvW$&MnO95EpqjF{tsHD!OlT=UKjuX002ovPDHLkV1nDB+xh?i literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/bolted_unlit.png b/Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/bolted_unlit.png new file mode 100644 index 0000000000000000000000000000000000000000..6857f2a24154b06497367e4b2474465b750393e2 GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJa8DPulnpHCAk}Km;XC#5UBC!=V<+0X02D zLhS_(K?1cBcT{ft4g3S3-Xkit5*JR%B^+FGNUN<7-qtOw6eTFJQW@JJVTFyb&0(4G z?5^##P54St)-!Lu@B7}&n;+WZ;$jCNm&;Ks76E898US=U9nK4yrjbge05DAx+qMDF zg>%PoXkM8DAn}vV+S(fFREk$K8Ab%;eMZ5B$-nINPj;+JtS8qg<%bG5ogDd(inXc>A*j5+9{{iU^{g2q{2S zJuHs)qaF7Wp=L9BLjOk?$=G-T+|%~Ci5N@3FqQD11PqGMJ#EYWnTx}3Lj5>(@o`w` zE+``z!#!>LB0a3s(eOwA{LUUgXg5^3g!5ippk(0wMgI;LOmnbbpx0JB3YWfneZeD| zHFyAg^7Jo6+sc*~;e$_KXZgKFc4u85(bDE)Y3ma;Yrw`aul@20`FvisTb9KUH6NEx zTJc$h-RldiZ0)hKwI|7o&ni8mk3v45$FeLe%c5GX`ostfT+Si`c%lM`E+PruWlU65)DGkw>swDl2_+1E>(F!)oW}5mjDZjJ3mVqr8#~XVbsWe$p*TQ}tlA)ZA4WM1Rc`gLk{Qrk@76ksi060q_~YB* z-UfnGy&1#5WhjnIA);KUg+!=FsES_B`(-oe96+BgO~@w`bTiTKQ85U?K%zJ%cQtg= zG;vCf6d?$X-0nQ7kq0jqD%AEt9KyM2n#63|#xzZ)OB2#TurfrOaNe(S)b>HuC7j!~ tjix@&9mfHnRvW$&MnO95EpqjF{tsHD!OlT=UKjuX002ovPDHLkV1nDB+xh?i literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/closed_unlit.png b/Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/closed_unlit.png new file mode 100644 index 0000000000000000000000000000000000000000..c78d01c42d084dd5be78e8a33a599a90cc86107f GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJa8DPP>^Ss#&mpghvZkX~#s0-h3N2b6`K?}O)meqDd+l#VI$hWM`6MlQ q&#%(rqf#%I&Hk(pG?9U!&gT+u#1#>y1s3nVf%u-TelF{r5}E)5_cy%& literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/closing.png b/Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/closing.png new file mode 100644 index 0000000000000000000000000000000000000000..ebfb093c0c64fa9ce059e96adadabd7a1ea64018 GIT binary patch literal 1980 zcmV;t2SfOYP)<`-Vq#2;yz_7HAJFi=kp!Y9@`}Ex(IPJjSv2;bpc^m6vrWm_Yi+&QBev&@ zW%uUx$L-AS%==HkOl@nnRpt?sVG*aHW$ zs4MZi)D@F0$3hDzC6nB7aQ~a%0RVd^a*(R=xYQM3X{LfDR2pYM*o#z{+PJ;ia=R!O zFYbVr0|4yn&kAwzVp^;LEoTnE8y^oLeIXmmAe2fasZ=USeuE&&C5S7+g@%~|fW-xR zDbcmlT-xFyypyYK2B5mWowR~oak{k403>-QqqXPLzumm#ja_tB^Rm_%Z)1H!kirEw0HpFCk}%a%siAdBFP#II4>m zlVr)WXNNFy`#}^2bIqO|^4%uV#fv*WRm7budoXt52xjwD?k--;-n;@#F5|V|UTL3; zaFR9mxSR-A)3n_INV00R8szb*V(j1~n60><+~2}yFBKqFJvVb_lC!V7*MO-azBt~2 z%a=#7@ke~ufWDa-07zywbmVI5Hzvv@i0f5RU0N}_ySpK+-#T9>8^^ge{OI#zzS~8) zIJx6fMcf$a!q|x;t}}p_i<8-#SJ3z24BpD9jcWk;xfECVeI|=`adJ;hF5?b>i;tcQ zb0L{GM$G4cXNOmI?}Ds)f5E-;<6!L$z>D%*5fjbY9e{+ZEoMW>+G#FrF&j!&QnR5V zTxgg(el~PbuK;MCBIfDh#k5$9dZj&bK}l3~eH%(9h2!tOZmtCgn1=9UN>ww5w68zg z9v9&x)`P8um&JwVoiEabT z0;J)O#(al)v%HC(e)9<3xV=h!2C&>~(-e(ISnlx3VHk#iwc#zQJdo2R470kvjlTH~ zsHzINt~Ae0khf&Kv+}K2B0XC5Z5Rd?6|YjP?MkDw!1 zgo|IFvNiihj%t*wJWVFv5>hfLtiAYuR1a3Jv&eR=F04$eFW|*TkW(mXRz4^b@5SWd z5td8S&d((b)AjuTpb;G6k(Ce1#A}*n|NZin?{V?bbMWwB;p)1MMO5t9^yU>ioWRY$Px14)d$@J}rfa(>4=1-)s|CI$stXO%wJ6UcD<71J2Y~#ShfH2)1@FA=?jwu` z3m2!GUsG3rrTbgVE@7C%*BgDg27pIaJ}46p0OJoIVxqGX+aK)l>?4c^3-{jX(@n4G z%`3S6?_Fk>FwA+PFZ&~?)t4r$qMZ#5%Ea&AzaPfL1irg;$+bO-2Mf2myE~9W;}VtW zx(gaR+V5%v09L+z|JQXL2M-xh86RVHDGeGf&neZHM38{#bE$?qwS56E}WWN4(-CioV)w0 z-IwQ6iHNLxm_B)U(Do73j>RRY?Wfho5#%`lBC_&f`sCq3+ec7478jPb?K8!gP$fOh zO+5f2v+`C#IZh9YY0cA+iDgkPUP;BL4Y0I2$xLI9R96=q&0L?48Ip$%XY` zUR&i(je0cL#ec*0}-@j8|{(iQzwzWT#=l!&5f jT;0h840aHhFykh_!rG~;5AeP$1@S#y{an^LB{Ts5_a?jl literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/deny_unlit.png b/Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/deny_unlit.png new file mode 100644 index 0000000000000000000000000000000000000000..7c56263f83958a17893b3db0b04ce3078c15cea0 GIT binary patch literal 321 zcmeAS@N?(olHy`uVBq!ia0vp^2|(x;TbZ%z1lzVbEa*5x0l` zFLCLtQfk)goBm*9Wqa5)W5IyH?gg7O+Vq@#{gzqI_j{ICbSF<}<0|vo?Y_6yOll7; z+AsO(r`@v>Kf7}$KR*umYV~i&zP&s*_xJv-=38t1deYzEyLbMqy6^o$Z`IbavsGXD zr!(F8`6z;|L6RYjVFqIYc7~Z}LvrZvRZ(vk567Q>-*~3QX2MKG<^wzo#tdf|3@{iQ zO7s8d*3Gv+{xi?r|HRuDl15mS!8LAhWr_IppL3FmClFnFq60fUCY M)78&qol`;+0G5h<`v3p{ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/emergency_unlit.png b/Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/emergency_unlit.png new file mode 100644 index 0000000000000000000000000000000000000000..817f2fb3f95c53ee8720a7c5be418b6208a6a7e6 GIT binary patch literal 588 zcmV-S0<-;zP)EX>4Tx04R}tkv&MmKpe$iQ?*4Z4t5Z6$WV2$AS$ApR-p(LLaorMgUO{|(4-+r zad8w}3l4rPRvlcNb#-tR1i=pwM<*vm7b)?7X`w}o2gm(*ckglc4iIW3rdb_hfTr7K zG9DAtnN>0H3ISaRVg@5Jvy3@OO2Bh`-NVP%yC~1{KKJM7QL`2Ud?N8IGfbO!gLrDw zHaPDShgm^ZiO-2gO}ZfQBiEG%zj4mHEbz>*nM%$Rhl#~}8!K(h3Z_OpNgPo%o$`fr zgH_I3oV8MgHSft^7|QA^%Uq{9h&UFp1PLM(R8T|-HlnoZq*zGOe$2x^;QA$UDdZ}G zkz)a6Xpmh$_#gc4*2+zcHN#J&iAq7)K38aGjOH1{N)-j{YiSY zrA3Z_-fiIGx}_<5z~v6m|76If>`H!`LM{iqpV2pEfWBLxd#%x1b04Py{D4^000SaNLh0L z01FcU01FcV0GgZ_00007bV*G`2j&6>2?sl(`5Ny4002lyL_t(&-tEhw4S+xZ1i>Rg zVKDSSX&L4%0;www4F7m5?$`iueJsvhgPbzeeyo ztdbAVB2CJG)gnBsgWAfjMVQSbNU+$Q8Awhw>@wUtaNpk9Ohjq`RWZ0K1qL3}?$w+5jx3 zMYB#LgfX$>c^O>P*Gwk^A=_~Husv}0^?Y0VFT8Q=rjdc8Hemg~lu-DZzo)TOnJ%3l4FCWD07*qoM6N<$g6DLUApigX literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/opening.png b/Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/opening.png new file mode 100644 index 0000000000000000000000000000000000000000..3168c455839c8db74788e2c44f243c226738bdba GIT binary patch literal 1958 zcmV;X2U+-uP)^u={SW*HlpefDvCx7F_R?G;nA$^HN2J+yTRRw2w;NK{?8d~!th!kb z+nJr2ooD8Gon2kO5VAWjzt4A{XI`KAjy5_vS_6QIi3uz&E&>3ywzdEOwOS3bq-h!k z2L}NFhG8I+$#@tn%v>&~`KRsPy_?#s+e@ib65@*b(1Cj6Tb6~&p>6;`-z^;{PMkn$ za1c)o4LK|PS}34cDq(JJ4&|2;*uMT7cAl#L5PbW0pnA+ zvtofX#$TB)Vg*Id%Fj-xpp`+jmqgV78l8|tLJE`Diz+UykAxdyF9ZO? z>6G&acze#R&8wxRY4)=I8Y}Zf)RMu*SeT>}9j_Nru80q(_5BS&qZi-ZkG|Ij1A%^# zI)RtzZ;V_nr{!`vjn#`N*DqEdP6xPqh*tUKXow%^X8EV9U`Ba~o9mangB*us9%KKl z;%b5N#V(ycDAzAm9}eO2 zUhiF>f7kQRw-t2T&0C9hIZ`9=c#**s@u4rA++Sa5B#CPP-n{cC>}gZ8^9jN5G)?4D^wj!!yqlRx5|0-dToE6hu3x-c zz{1J>n3`R})a;T|Xz^}=8tzs)orY@+LczBpxp^xFSA0=YWfUTn{Yx@!>9y@iP*5Si#?O+C_4M>$&z?Q7rl;}s>C@=x z>4~gI!z2xeiFgs=iulmoGbaxYc}__7t~7aYsJRk=J0Bf#fc9s%Ow+`^eft0aeSLi} zO|xkkekN+}%R>9}_*v9gyohrBV)fyi11^ns!zwBe1d!0+; z^=sZo2iEWiYxRj000#h=z~c2EomzRb$ju~)#fwZXj}PY%^u}^C(5s_XF7kmaAIW};QYy#K2%=b5lQSd=%5Vat2OIznjI_76;{ zWJY<3o9mae2WaJb8UUa-cklcXe*c^<8)VmXCnN0dJj|fcP})q6+lwgIFIFEq&=?xE zJ7HzM*kmkd2pI?-`6KO3{>BHu#bg-`rST%l74e}DWV@W09?)nIQdlWW{*H{Qv138Q zUsE+9rl=R$Tvi{tVHmKomeUFL!ufLJIIRT~43c|#SPh`w_=aKNyN!E7Op<85$mX*8 zNMte@7>0p?Y?lM|Um4lcY(u0gC)!7ScH`R#X%Qw#ERP*!a#?+7?s&RoSpa}yk?jhB zR;g6|gzIkn-rinjrf59f?M0L;>O-SRda)D~F(ZS?>qP~V#)p3H+&SlqNG6^nmaM!i zCX1I(?|-S38RbJipZUZybE~k0-lM%p0@##EJ*s1_@(r+x`d=JO3NOk2L_AD_kHqla zLC+|k>`XjKwPfS&GA?F2O27HVPXN?p;z@F6<%iR$j?RcCWM$$>ipt8XV6u2o&5ZI9 zy6Mqo;z?r3%FAN%cu~cq@e$eqsxtBaGaKsMgKwLNIUTJ^o%&!Xumd_N|KDmg{c6>j z_#m}{=~gS4wmk0#@MhvkqRq<7WU_iu$)xc?d_TaJs41GPylf_m7uC!tA37i>6Hii9 zR{qNSPfBO9cu~!a@{s`4XW~f;dS9T^)Y3~2n)e0%>(T)^nRt?-vhs1g7!fxsOl}`K zASV+~QdCynKffc-0bvpypo+@Mt6=hYiE}j6?L!-TXR>x_yc?58Mw|8k_X?uVhTU2D zog+yMygiSX`;DfnAX!XWFL5x#eCUAOOgu@Xto+pMnldJhm$;ZDAJp#$$W)xHb{F;g z0WuXQtKHR^Ly&Ex&<^O7k;%3g4Gog2(NL949xp8&4JEy`VoSwnXw=&{9W@$yc;X)s_s z#KIwr!I-V$V11^#dUpKLjjy-9DY|#Kuw+Jjzzl{&rWQ^CH3uAwt;hGhNWR~>|B3$l qhyP2a-~C|qG6v`^C}^l(vC57yE3)EC^YOwKkf5ilpUXO@geCx+nr^EA literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/panel_closing.png b/Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/panel_closing.png new file mode 100644 index 0000000000000000000000000000000000000000..db7be0bc4a0ec0b2bc29e8718fb6b71796846f16 GIT binary patch literal 445 zcmeAS@N?(olHy`uVBq!ia0vp^2|(qk=b{5eiK-()1~xQ&@cMV`(mao8yQ?TZq;#^Y}m${ zacWZ!Yev-i>$j948lYsxftl|YY`yljZkp{(pFL*+-lj#WWzI6YweB*{ESZG)8eLCP zH-4D=_wruJUKQWqugks*3w-~bxAmsS_S>R@6K&4#1!`fty>^f8^xkc+O+xqazTJA; z{=7~2>uGDRIhyR%SJ)ONH}BrkKUz=f@~-S!d-avVtb5`KJrkcF_ZOUaf4N)v?bouY zpX0AZna`Cr-@$dKByUdGcPkF5{Og%j`&-%%FXZlavSVWw{8-KzzB@7SM0TXvt!o+A zif+H$q2jsc@9*!WwR0M*e5Y<-(ETyu&`qBj{lx9nl5Os{*Qk05m8bu?%XoF&`KQ?? l*%zfe7FQS8+W~`WRsIyAi(3!btSA5lf~TvW%Q~loCIEIM%9sEE literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/panel_open.png b/Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/panel_open.png new file mode 100644 index 0000000000000000000000000000000000000000..24eb2aedc2248aeb772b38f63ff992254e7aaec0 GIT binary patch literal 315 zcmV-B0mS}^P)G_@Zv*NK(#C83< z0hCg#mPY_q%Og#e`P2l!*GQEjpT`0MYBKbMv^%3TIE=g7KF`WXCR28pn>(x2n zemoXytpJ?bfcIZ;wOEjBHdt%rI!S!%PGhZ=2c^1AoGrxJR_5RoDx&OEP+E*gAHf&mPbH>ZE8FCH9e&*rpCoP%1 zIy_fR`1DT4EhW}ImG2+Fy>#^EcBOlIu{N4r8M|lHdv8DdMa^XX`Q)41s%D;5@l3t_ z>U!DiCu(!NfiicFek|lsbn*16WPNgF)9u86nlDcO+<9uZb*sRm>zlTKo#3wDtk_cV zGUiQg0fX*;t18(yxo?DbZh3Nv5#oCg`Gddm{r7*~nV;{o)~0;#=kiD}oLj`YgzrYV zCx61j+EYJuRBRcZ$AIaEWtl7E0M--(oM3v-T6o|50rvB z?(X|$_9K~q!b>Jme`5^XKVF&j%`2QtMsN-@c!MQ;uYX{&xPXV-MV4h*a7^*H)mTo% z^duKBlw8QrI7#Az6a!+!k42gRM*{jVXw(2^)BtAG0A@rO5W6r+TTo*dR0c>itn&u= ziYhf*#29dhKzXbye)sb`x`T#9jF|@skRQx^J~1)&r}u;k?=m8#VH_qLszE1c7I|*U z-vi17+kNaSpCz%9yQ#rS&sN2x0`#dRVZ$Zo3 z(YozxD(tDJ*Nd^#9ngM11*`#hZL|qqUX-aA#5S}G^!n=WLLU@GQ4~c{6dSK|xP5Tx z!-H@vnhtn%y49-Lc3NyR!WG{&^FjpmIbAy+o5nPrx)V}}E%fz`bB+BtcI@^)8^rTf zBx((Ky3EXU1aLM2IGxVm^KA+58-UdY;QHA(FXNaPN!aD?zV8}<6&DioA6qwm%&S`B zG(?rf)v;@BC^IYu=$f%ZGhhqXw5SF!qXsa;V!%*uXSl{qZh&O*G5ePMUQntINQ83i z$upoRb}H)fv5TKDu*ZP$-hvmY3!Atq6ENBh(WYFFM67|7l05p#?E1nmayZKasmvEs z4%uF#@2=U$hCc&#<3^>qaoRUjD5t(Q@!@5>eLn%YPa&y@Wk6F&Jf;Amr=S&p`TF~H zKQmyzZBbK@-3j_NfaCqFrZteLVgLD`ViBgsl+FQ!832*%0DhkaTq4i015y-4Q4~c{ f6h%=KHvsSpwHV1KmpgiI00000NkvXXu0mjf++aJ5 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/sparks_broken.png b/Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/sparks_broken.png new file mode 100644 index 0000000000000000000000000000000000000000..fb5d774588ae44eab5608571cb6aafad7375e158 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^2|(DFD66%%n7hj|c25u0=Hbzuz>&Md dbBcZ?)Aw7<0^jOhxdW|Y@O1TaS?83{1ORW&Jrn={ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/sparks_damaged.png b/Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/sparks_damaged.png new file mode 100644 index 0000000000000000000000000000000000000000..f16a028dee5bbe41a7f4e35f686043e8a112ce4e GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeK3?y%aJ*@^(YymzYu0Z<#e`9lQK{p_au_VYZ zn8D%MjWi%9!PCVtL_+fI!HvAl4m=D8Hh=XH6ZQR;XyVo{y01gP^_0k+pXD$8l*-N4 z&iUk!V5<=?maE{?*yyS)-udN6;H*Pi5*L(-Fs)pAdDY$x8SUGCM{GTG-~v& dN}IerjGt7Q1>7HnEC$-e;OXk;vd$@?2>`@EK-2&L literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/sparks_open.png b/Resources/Textures/Structures/Doors/Airlocks/Standard/centcomm.rsi/sparks_open.png new file mode 100644 index 0000000000000000000000000000000000000000..630eabb976ecf11fa59ba29f03502b02bde399aa GIT binary patch literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^2|(GM)~O;5D{Ad0LZe;7N97KJC6BX-upNVgWUu;=WLfz+qP_d4j_bJ3vh=hfa5r9 z0qVN81qdO4*#ozUc?-;6LK?t17pG~m0|2;<_}}aJ8%Xzkw*de?p>!O_N2;HSWO<%5 ub^zoJEX!gGaL3n-QrC61fn;4*wm#k_G(h}nBOLz#0000 Date: Sun, 24 Dec 2023 20:58:22 +0000 Subject: [PATCH 07/36] nukie medic chest rig explosion res buff (#22923) leave my beaker alone Co-authored-by: deltanedas <@deltanedas:kde.org> --- Resources/Prototypes/Entities/Clothing/Belt/belts.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Resources/Prototypes/Entities/Clothing/Belt/belts.yml b/Resources/Prototypes/Entities/Clothing/Belt/belts.yml index 0f5135838aa..5a0321b659c 100644 --- a/Resources/Prototypes/Entities/Clothing/Belt/belts.yml +++ b/Resources/Prototypes/Entities/Clothing/Belt/belts.yml @@ -633,6 +633,8 @@ sprite: Clothing/Belt/militarywebbingmed.rsi - type: Item size: Huge + - type: ExplosionResistance + damageCoefficient: 0.1 - type: entity parent: ClothingBeltBase From 9d37dde7146799477b81106eb40395723e14480d Mon Sep 17 00:00:00 2001 From: Emisse <99158783+Emisse@users.noreply.github.com> Date: Sun, 24 Dec 2023 14:16:25 -0700 Subject: [PATCH 08/36] remove max item size from storage implant (#22928) --- .../Prototypes/Entities/Objects/Misc/subdermal_implants.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Objects/Misc/subdermal_implants.yml b/Resources/Prototypes/Entities/Objects/Misc/subdermal_implants.yml index 1a1b25ed4e6..6caa5322af8 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/subdermal_implants.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/subdermal_implants.yml @@ -120,7 +120,6 @@ - type: Storage grid: - 0,0,2,2 - maxItemSize: Small - type: ContainerContainer containers: storagebase: !type:Container From 1f0f34632b95514c9fe061bcebc06a91e789e12c Mon Sep 17 00:00:00 2001 From: "I.K" <45953835+notquitehadouken@users.noreply.github.com> Date: Sun, 24 Dec 2023 16:51:38 -0600 Subject: [PATCH 09/36] fix fireaxe rotation (#22930) * Update fireaxe.yml * i am so dumb --- Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml index b98cf7d1e41..31948bb150f 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml @@ -12,7 +12,7 @@ sprite: Objects/Weapons/Melee/fireaxe.rsi state: icon - type: MeleeWeapon - wideAnimationRotation: 90 + wideAnimationRotation: -135 swingLeft: true attackRate: 0.75 damage: From 28310a131c451a220391e8093315497aeecca04e Mon Sep 17 00:00:00 2001 From: Sirionaut <148076704+Sirionaut@users.noreply.github.com> Date: Mon, 25 Dec 2023 02:02:54 +0100 Subject: [PATCH 10/36] Janibelt whitelist fix and update (#21058) * Update belts.yml added LightReplacer and JanicartKeys tags to the Jani belt * removed LightReplacer from whitelist but added Plunger adding LightReplacer to the Whitelist doesn't get rid of the error msg. Now it just adds Plunger & JanicartKeys (both tags already exist) * added spray to botany belt and syringe to med belt * fixed things, i hope * added self tag to LightReplacer * added LightReplacer to the taglist * lightreplacer tag does exist now --- Resources/Prototypes/Entities/Clothing/Belt/belts.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Resources/Prototypes/Entities/Clothing/Belt/belts.yml b/Resources/Prototypes/Entities/Clothing/Belt/belts.yml index 5a0321b659c..c70a2e2bbdf 100644 --- a/Resources/Prototypes/Entities/Clothing/Belt/belts.yml +++ b/Resources/Prototypes/Entities/Clothing/Belt/belts.yml @@ -219,6 +219,9 @@ - TrashBag - WetFloorSign - HolosignProjector + - Plunger + - LightReplacer + - JanicartKeys components: - LightReplacer - type: ItemMapper From b20fcf51411761710a7289765d216bd3980ded35 Mon Sep 17 00:00:00 2001 From: Arimah Greene <30327355+arimah@users.noreply.github.com> Date: Mon, 25 Dec 2023 02:08:15 +0100 Subject: [PATCH 11/36] Add a 'Copy' button to the fax UI (#22027) * Add a 'Copy' button to the fax UI * Add ValidatePrototypeId attribute Co-authored-by: Kara --------- Co-authored-by: Kara --- Content.Client/Fax/UI/FaxBoundUi.cs | 6 +++ Content.Client/Fax/UI/FaxWindow.xaml | 4 ++ Content.Client/Fax/UI/FaxWindow.xaml.cs | 3 ++ Content.Server/Fax/FaxSystem.cs | 58 +++++++++++++++++++++++-- Content.Shared/Fax/SharedFax.cs | 8 ++++ Resources/Locale/en-US/fax/fax.ftl | 1 + 6 files changed, 76 insertions(+), 4 deletions(-) diff --git a/Content.Client/Fax/UI/FaxBoundUi.cs b/Content.Client/Fax/UI/FaxBoundUi.cs index ab6f1706397..ef6661b3ef6 100644 --- a/Content.Client/Fax/UI/FaxBoundUi.cs +++ b/Content.Client/Fax/UI/FaxBoundUi.cs @@ -22,6 +22,7 @@ protected override void Open() _window.OpenCentered(); _window.OnClose += Close; + _window.CopyButtonPressed += OnCopyButtonPressed; _window.SendButtonPressed += OnSendButtonPressed; _window.RefreshButtonPressed += OnRefreshButtonPressed; _window.PeerSelected += OnPeerSelected; @@ -32,6 +33,11 @@ private void OnSendButtonPressed() SendMessage(new FaxSendMessage()); } + private void OnCopyButtonPressed() + { + SendMessage(new FaxCopyMessage()); + } + private void OnRefreshButtonPressed() { SendMessage(new FaxRefreshMessage()); diff --git a/Content.Client/Fax/UI/FaxWindow.xaml b/Content.Client/Fax/UI/FaxWindow.xaml index 7b68316b11d..1e6ef233765 100644 --- a/Content.Client/Fax/UI/FaxWindow.xaml +++ b/Content.Client/Fax/UI/FaxWindow.xaml @@ -20,6 +20,10 @@ +