]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Per-department wire layouts (#26247)
authorKillerqu00 <47712032+Killerqu00@users.noreply.github.com>
Wed, 20 Mar 2024 16:07:38 +0000 (17:07 +0100)
committerGitHub <noreply@github.com>
Wed, 20 Mar 2024 16:07:38 +0000 (17:07 +0100)
* add per-department wire layouts

* fix science/research inconsistency

* fix wireLayout inheritance

* science is no longer security

* Security doors back to normal wire count

* implement proper wire inheritance

* revert WiresSystem.cs fix

Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml
Resources/Prototypes/Wires/layouts.yml

index 31f2f2c5d0a7c1d01a967d2fa56cac44a1373864..7eed29ad56ba562ecfc5c8e14c595b58eaa04019 100644 (file)
@@ -6,6 +6,8 @@
   components:
   - type: AccessReader
     access: [["Service"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: Airlock
@@ -14,6 +16,8 @@
   components:
   - type: AccessReader
     access: [["Lawyer"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: Airlock
@@ -22,6 +26,8 @@
   components:
   - type: AccessReader
     access: [["Theatre"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: Airlock
@@ -30,6 +36,8 @@
   components:
   - type: AccessReader
     access: [["Chapel"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: Airlock
@@ -38,6 +46,8 @@
   components:
   - type: AccessReader
     access: [["Janitor"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: Airlock
@@ -46,6 +56,8 @@
   components:
   - type: AccessReader
     access: [["Kitchen"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: Airlock
@@ -54,6 +66,8 @@
   components:
   - type: AccessReader
     access: [["Bar"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: Airlock
@@ -62,6 +76,8 @@
   components:
   - type: AccessReader
     access: [["Hydroponics"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: Airlock
@@ -70,6 +86,8 @@
   components:
   - type: AccessReader
     access: [["Captain"]]
+  - type: Wires
+    layoutId: AirlockCommand
 
 - type: entity
   parent: AirlockExternal
   components:
   - type: AccessReader
     access: [["Cargo"]]
+  - type: Wires
+    layoutId: AirlockCargo
 
 - type: entity
   parent: AirlockExternal
   components:
   - type: AccessReader
     access: [["Engineering"]]
+  - type: Wires
+    layoutId: AirlockEngineering
 
 - type: entity
   parent: AirlockExternal
   components:
   - type: AccessReader
     access: [["Atmospherics"]]
+  - type: Wires
+    layoutId: AirlockEngineering
 
 - type: entity
   parent: AirlockExternal
   components:
   - type: AccessReader
     access: [["Kitchen"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: AirlockFreezer
   components:
   - type: AccessReader
     access: [["Kitchen"], ["Hydroponics"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: AirlockFreezer
   components:
   - type: AccessReader
     access: [["Hydroponics"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: AirlockEngineering
   components:
   - type: AccessReader
     access: [["Engineering"]]
+  - type: Wires
+    layoutId: AirlockEngineering
 
 - type: entity
   parent: AirlockAtmospherics
   components:
   - type: AccessReader
     access: [["Atmospherics"]]
+  - type: Wires
+    layoutId: AirlockEngineering
 
 - type: entity
   parent: AirlockCargo
   components:
   - type: AccessReader
     access: [["Cargo"]]
+  - type: Wires
+    layoutId: AirlockCargo
 
 - type: entity
   parent: AirlockCargo
   components:
   - type: AccessReader
     access: [["Salvage"]]
+  - type: Wires
+    layoutId: AirlockCargo
 
 - type: entity
   parent: AirlockMining
   components:
   - type: AccessReader
     access: [["Salvage"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: AirlockMedical
   components:
   - type: AccessReader
     access: [["Medical"]]
+  - type: Wires
+    layoutId: AirlockMedical
 
 - type: entity
   parent: AirlockVirology
   components:
   - type: AccessReader
     access: [["Medical"]]
+  - type: Wires
+    layoutId: AirlockMedical
 
 - type: entity
   parent: AirlockChemistry
   components:
   - type: AccessReader
     access: [["Chemistry"]]
+  - type: Wires
+    layoutId: AirlockMedical
 
 - type: entity
   parent: AirlockScience
   components:
   - type: AccessReader
     access: [["Research"]]
+  - type: Wires
+    layoutId: AirlockScience
 
 - type: entity
   parent: AirlockScience
   components:
   - type: AccessReader
     access: [["Research"], ["Medical"]]
+  - type: Wires
+    layoutId: AirlockScience
 
 - type: entity
   parent: AirlockCentralCommand
   components:
   - type: AccessReader
     access: [["Captain"]]
+  - type: Wires
+    layoutId: AirlockCommand
 
 - type: entity
   parent: AirlockCommand
   components:
   - type: AccessReader
     access: [["ChiefMedicalOfficer"]]
+  - type: Wires
+    layoutId: AirlockCommand
 
 - type: entity
   parent: AirlockCommand
   components:
   - type: AccessReader
     access: [["ChiefEngineer"]]
+  - type: Wires
+    layoutId: AirlockCommand
 
 - type: entity
   parent: AirlockCommand
   components:
   - type: AccessReader
     access: [["HeadOfSecurity"]]
+  - type: Wires
+    layoutId: AirlockCommand
 
 - type: entity
   parent: AirlockCommand
   components:
   - type: AccessReader
     access: [["ResearchDirector"]]
+  - type: Wires
+    layoutId: AirlockCommand
 
 - type: entity
   parent: AirlockCommand
   components:
   - type: AccessReader
     access: [["HeadOfPersonnel"]]
+  - type: Wires
+    layoutId: AirlockCommand
 
 - type: entity
   parent: AirlockCommand
   components:
   - type: AccessReader
     access: [["Quartermaster"]]
+  - type: Wires
+    layoutId: AirlockCommand
 
 - type: entity
   parent: AirlockSecurity
   components:
   - type: AccessReader
     access: [["Security", "Command"]]
+  - type: Wires
+    layoutId: AirlockSecurity
 
 - type: entity
   parent: AirlockCommand
   components:
   - type: AccessReader
     access: [["External"]]
+  - type: Wires
+    layoutId: AirlockCommand
 
 # Glass Airlocks
 - type: entity
   components:
   - type: AccessReader
     access: [["Service"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: AirlockGlass
   components:
   - type: AccessReader
     access: [["Lawyer"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: AirlockGlass
   components:
   - type: AccessReader
     access: [["Theatre"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: AirlockGlass
   components:
   - type: AccessReader
     access: [["Bar"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: AirlockExternalGlass
   components:
   - type: AccessReader
     access: [["Cargo"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: AirlockExternalGlass
   components:
   - type: AccessReader
     access: [["Engineering"]]
+  - type: Wires
+    layoutId: AirlockEngineering
 
 - type: entity
   parent: AirlockExternalGlass
   components:
   - type: AccessReader
     access: [["Atmospherics"]]
+  - type: Wires
+    layoutId: AirlockEngineering
 
 - type: entity
   parent: AirlockGlass
   components:
   - type: AccessReader
     access: [["Kitchen"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: AirlockGlass
   components:
   - type: AccessReader
     access: [["Janitor"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: AirlockGlass
   components:
   - type: AccessReader
     access: [["Hydroponics"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: AirlockGlass
   components:
   - type: AccessReader
     access: [["Chapel"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: AirlockEngineeringGlass
   components:
   - type: AccessReader
     access: [["Engineering"]]
+  - type: Wires
+    layoutId: AirlockEngineering
 
 - type: entity
   parent: AirlockAtmosphericsGlass
   components:
   - type: AccessReader
     access: [["Atmospherics"]]
+  - type: Wires
+    layoutId: AirlockEngineering
 
 - type: entity
   parent: AirlockCargoGlass
   components:
   - type: AccessReader
     access: [["Cargo"]]
+  - type: Wires
+    layoutId: AirlockCargo
 
 - type: entity
   parent: AirlockCargoGlass
   components:
   - type: AccessReader
     access: [["Salvage"]]
+  - type: Wires
+    layoutId: AirlockCargo
 
 - type: entity
   parent: AirlockMiningGlass
   components:
   - type: AccessReader
     access: [["Salvage"]]
+  - type: Wires
+    layoutId: AirlockCargo
 
 - type: entity
   parent: AirlockChemistryGlass
   components:
   - type: AccessReader
     access: [["Chemistry"]]
+  - type: Wires
+    layoutId: AirlockMedical
 
 - type: entity
   parent: AirlockMedicalGlass
   components:
   - type: AccessReader
     access: [["Medical"]]
+  - type: Wires
+    layoutId: AirlockMedical
 
 - type: entity
   parent: AirlockVirologyGlass
   components:
   - type: AccessReader
     access: [["Medical"]]
+  - type: Wires
+    layoutId: AirlockMedical
 
 - type: entity
   parent: AirlockScienceGlass
   components:
   - type: AccessReader
     access: [["Research"]]
+  - type: Wires
+    layoutId: AirlockScience
 
 - type: entity
   parent: AirlockScienceGlass
   components:
   - type: AccessReader
     access: [["Research"], ["Medical"]]
+  - type: Wires
+    layoutId: AirlockScience
 
 - type: entity
   parent: AirlockCentralCommandGlass
   components:
   - type: AccessReader
     access: [["Command"]]
+  - type: Wires
+    layoutId: AirlockCommand
 
 - type: entity
   parent: AirlockCommandGlass
   components:
   - type: AccessReader
     access: [["Captain"]]
+  - type: Wires
+    layoutId: AirlockCommand
 
 - type: entity
   parent: AirlockCommandGlass
   components:
   - type: AccessReader
     access: [["ChiefMedicalOfficer"]]
+  - type: Wires
+    layoutId: AirlockCommand
 
 - type: entity
   parent: AirlockCommandGlass
   components:
   - type: AccessReader
     access: [["ChiefEngineer"]]
+  - type: Wires
+    layoutId: AirlockCommand
 
 - type: entity
   parent: AirlockCommandGlass
   components:
   - type: AccessReader
     access: [["HeadOfSecurity"]]
+  - type: Wires
+    layoutId: AirlockCommand
 
 - type: entity
   parent: AirlockCommandGlass
   components:
   - type: AccessReader
     access: [["ResearchDirector"]]
+  - type: Wires
+    layoutId: AirlockCommand
 
 - type: entity
   parent: AirlockCommandGlass
   components:
   - type: AccessReader
     access: [["HeadOfPersonnel"]]
+  - type: Wires
+    layoutId: AirlockCommand
 
 - type: entity
   parent: AirlockCommandGlass
   components:
   - type: AccessReader
     access: [["Quartermaster"]]
+  - type: Wires
+    layoutId: AirlockCommand
 
 - type: entity
   parent: AirlockSecurityGlass
   components:
   - type: AccessReader
     access: [["Security"]]
+  - type: Wires
+    layoutId: AirlockCommand
 
 - type: entity
   parent: AirlockSecurityGlass
   components:
   - type: AccessReader
     access: [["Detective"]]
+  - type: Wires
+    layoutId: AirlockCommand
 
 - type: entity
   parent: AirlockSecurityGlass
   components:
   - type: AccessReader
     access: [["Brig"]]
+  - type: Wires
+    layoutId: AirlockCommand
 
 - type: entity
   parent: AirlockSecurityGlass
   components:
   - type: AccessReader
     access: [["Security"], ["Lawyer"]]
+  - type: Wires
+    layoutId: AirlockSecurity
 
 - type: entity
   parent: AirlockSecurityGlass
   components:
   - type: AccessReader
     access: [["Armory"]]
+  - type: Wires
+    layoutId: AirlockSecurity
 
 - type: entity
   parent: AirlockCommandGlassLocked
   components:
   - type: AccessReader
     access: [["Salvage"]]
+  - type: Wires
+    layoutId: AirlockCargo
 
 - type: entity
   parent: AirlockMaint
   components:
   - type: AccessReader
     access: [["Cargo"]]
+  - type: Wires
+    layoutId: AirlockCargo
 
 - type: entity
   parent: AirlockMaint
   components:
   - type: AccessReader
     access: [["Command"]]
+  - type: Wires
+    layoutId: AirlockCommand
 
 - type: entity
   parent: AirlockMaint
   components:
   - type: AccessReader
     access: [["Engineering"]]
+  - type: Wires
+    layoutId: AirlockEngineering
 
 - type: entity
   parent: AirlockMaint
   components:
   - type: AccessReader
     access: [["Atmospherics"]]
+  - type: Wires
+    layoutId: AirlockEngineering
 
 - type: entity
   parent: AirlockMaint
   components:
   - type: AccessReader
     access: [["Bar"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: AirlockMaint
   components:
   - type: AccessReader
     access: [["Chapel"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: AirlockMaint
   components:
   - type: AccessReader
     access: [["Hydroponics"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: AirlockMaint
   components:
   - type: AccessReader
     access: [["Janitor"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: AirlockMaint
   components:
   - type: AccessReader
     access: [["Lawyer"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: AirlockMaint
   components:
   - type: AccessReader
     access: [["Service"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: AirlockMaint
   components:
   - type: AccessReader
     access: [["Theatre"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: AirlockMaint
   components:
   - type: AccessReader
     access: [["Kitchen"]]
+  - type: Wires
+    layoutId: AirlockService
 
 - type: entity
   parent: AirlockMaint
   components:
   - type: AccessReader
     access: [["Medical"]]
+  - type: Wires
+    layoutId: AirlockMedical
 
 - type: entity
   parent: AirlockMaint
   components:
   - type: AccessReader
     access: [["Chemistry"]]
+  - type: Wires
+    layoutId: AirlockMedical
 
 - type: entity
   parent: AirlockMaint
   components:
   - type: AccessReader
     access: [["Research"]]
+  - type: Wires
+    layoutId: AirlockScience
 
 - type: entity
   parent: AirlockMaint
   components:
   - type: AccessReader
     access: [["Research"], ["Medical"]]
+  - type: Wires
+    layoutId: AirlockScience
 
 - type: entity
   parent: AirlockMaint
   components:
   - type: AccessReader
     access: [["Security"]]
+  - type: Wires
+    layoutId: AirlockSecurity
 
 - type: entity
   parent: AirlockMaint
   components:
   - type: AccessReader
     access: [["Detective"]]
+  - type: Wires
+    layoutId: AirlockSecurity
 
 - type: entity
   parent: AirlockMaint
   components:
   - type: AccessReader
     access: [["HeadOfPersonnel"]]
+  - type: Wires
+    layoutId: AirlockCommand
 
 - type: entity
   parent: AirlockMaint
   components:
   - type: AccessReader
     access: [["Captain"]]
+  - type: Wires
+    layoutId: AirlockCommand
 
 - type: entity
   parent: AirlockMaint
   components:
   - type: AccessReader
     access: [["ChiefEngineer"]]
+  - type: Wires
+    layoutId: AirlockCommand
 
 - type: entity
   parent: AirlockMaint
   components:
   - type: AccessReader
     access: [["ChiefMedicalOfficer"]]
+  - type: Wires
+    layoutId: AirlockCommand
 
 - type: entity
   parent: AirlockMaint
   components:
   - type: AccessReader
     access: [["HeadOfSecurity"]]
+  - type: Wires
+    layoutId: AirlockCommand
 
 - type: entity
   parent: AirlockMaint
   components:
   - type: AccessReader
     access: [["ResearchDirector"]]
+  - type: Wires
+    layoutId: AirlockCommand
 
 - type: entity
   parent: AirlockMaint
   components:
   - type: AccessReader
     access: [["Armory"]]
+  - type: Wires
+    layoutId: AirlockSecurity
 
 - type: entity
   parent: AirlockSyndicate
index 338bf188ba09c13a2b288faf4cf6da723742166d..b30e68545dfb54d15b8a271e72513b20bc6aadb4 100644 (file)
 
 - type: wireLayout
   parent: Airlock
+  id: AirlockService
+
+- type: wireLayout
+  parent: Airlock
+  id: AirlockCargo
+
+- type: wireLayout
+  parent: Airlock
+  id: AirlockEngineering
+
+- type: wireLayout
+  parent: Airlock
+  id: AirlockMedical
+
+- type: wireLayout
+  parent: Airlock
+  id: AirlockScience
+
+- type: wireLayout
+  parent: HighSec
   id: AirlockCommand
 
 - type: wireLayout