]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Atmospherics Delta-Pressure YAML refactor (#40174)
authorArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Sun, 7 Sep 2025 07:56:37 +0000 (00:56 -0700)
committerGitHub <noreply@github.com>
Sun, 7 Sep 2025 07:56:37 +0000 (00:56 -0700)
12 files changed:
Resources/Prototypes/Atmospherics/Thresholds/airalarms.yml [moved from Resources/Prototypes/Atmospherics/thresholds.yml with 100% similarity]
Resources/Prototypes/Atmospherics/Thresholds/deltapressure.yml [new file with mode: 0644]
Resources/Prototypes/Entities/Objects/Misc/inflatable_wall.yml
Resources/Prototypes/Entities/Structures/Doors/Shutter/shutters.yml
Resources/Prototypes/Entities/Structures/Doors/Windoors/base_structurewindoors.yml
Resources/Prototypes/Entities/Structures/Windows/plasma.yml
Resources/Prototypes/Entities/Structures/Windows/reinforced.yml
Resources/Prototypes/Entities/Structures/Windows/rplasma.yml
Resources/Prototypes/Entities/Structures/Windows/ruranium.yml
Resources/Prototypes/Entities/Structures/Windows/shuttle.yml
Resources/Prototypes/Entities/Structures/Windows/uranium.yml
Resources/Prototypes/Entities/Structures/Windows/window.yml

diff --git a/Resources/Prototypes/Atmospherics/Thresholds/deltapressure.yml b/Resources/Prototypes/Atmospherics/Thresholds/deltapressure.yml
new file mode 100644 (file)
index 0000000..e82beec
--- /dev/null
@@ -0,0 +1,85 @@
+## Base prototypes for DeltaPressureComponent settings, to make it easy to just
+## parent to them and just them globally here.
+
+## For reinforced plasma windows
+- type: entity
+  abstract: true
+  id: BaseDeltaPressureReinforcedPlasma
+  components:
+  - type: DeltaPressure
+    minPressure: 150000
+    minPressureDelta: 100000
+    scalingType: Linear
+    scalingPower: 0.0001
+
+## For quarter reinforced plasma windows
+- type: entity
+  abstract: true
+  id: BaseDeltaPressureReinforcedPlasmaQuarter
+  components:
+  - type: DeltaPressure
+    minPressure: 37500
+    minPressureDelta: 25000
+    scalingType: Threshold
+
+## For plasma windows
+- type: entity
+  abstract: true
+  id: BaseDeltaPressurePlasma
+  components:
+  - type: DeltaPressure
+    minPressure: 75000
+    minPressureDelta: 50000
+    scalingType: Linear
+    scalingPower: 0.0005
+
+## For quarter plasma windows
+- type: entity
+  abstract: true
+  id: BaseDeltaPressurePlasmaQuarter
+  components:
+  - type: DeltaPressure
+    minPressure: 18750
+    minPressureDelta: 12500
+    scalingType: Threshold
+
+## For reinforced glass windows
+- type: entity
+  abstract: true
+  id: BaseDeltaPressureReinforcedGlass
+  components:
+  - type: DeltaPressure
+    minPressure: 15000
+    minPressureDelta: 10000
+    scalingType: Threshold
+
+## For quarter reinforced glass windows
+- type: entity
+  abstract: true
+  id: BaseDeltaPressureReinforcedGlassQuarter
+  components:
+  - type: DeltaPressure
+    minPressure: 3750
+    minPressureDelta: 2500
+
+## For glass windows
+- type: entity
+  abstract: true
+  id: BaseDeltaPressureGlass
+  components:
+  - type: DeltaPressure
+    minPressure: 1000
+    minPressureDelta: 750
+    scalingType: Linear
+    scalingPower: 0.0005
+
+## For quarter glass windows
+- type: entity
+  abstract: true
+  id: BaseDeltaPressureGlassQuarter
+  components:
+  - type: DeltaPressure
+    minPressure: 250
+    minPressureDelta: 187.5
+    scalingType: Threshold
+
index 176c7f79ff666ba372fbc569ad480ed5383d978a..2bb93c682b208c33a1334a8bb143ceb812f74024 100644 (file)
@@ -1,4 +1,5 @@
 - type: entity
+  parent: BaseDeltaPressureGlass
   id: InflatableWall
   name: inflatable barricade
   description: An inflated membrane. Activate to deflate. Do not puncture.
     disassembleTime: 3
   - type: InflatableSafeDisassembly
   - type: Airtight
-  - type: DeltaPressure
-    minPressure: 1000
-    minPressureDelta: 750
-    scalingType: Linear
-    scalingPower: 0.0005
   - type: Transform
     anchored: true
   placement:
@@ -48,7 +44,7 @@
 - type: entity
   id: InflatableDoor
   name: inflatable door
-  parent: BaseMaterialDoor
+  parent: [BaseMaterialDoor, BaseDeltaPressureGlass]
   description: An inflated membrane. Activate to deflate. Now with a door. Do not puncture.
   components:
   - type: Clickable
@@ -90,8 +86,3 @@
   - type: InflatableSafeDisassembly
   - type: Occluder
     enabled: false
-  - type: DeltaPressure
-    minPressure: 1000
-    minPressureDelta: 750
-    scalingType: Linear
-    scalingPower: 0.0005
index fc1bc2285a6577531710cc8c9786e59569814597..7d559a7f98530de8f1afd90957ca2cb38b389dd0 100644 (file)
 
 - type: entity
   id: ShuttersNormal
-  parent: BaseShutter
+  parent: [BaseShutter, BaseDeltaPressureGlass]
   components:
   - type: Occluder
   - type: Construction
     node: Shutters
     containers:
     - board
-  - type: DeltaPressure
-    minPressure: 1000
-    minPressureDelta: 750
-    scalingType: Linear
-    scalingPower: 0.0005
 
 - type: entity
   id: ShuttersNormalOpen
 
 - type: entity
   id: ShuttersRadiation
-  parent: BaseShutter
+  parent: [BaseShutter, BaseDeltaPressureGlass]
   name: radiation shutters
   description: Why did they make these shutters radioactive?
   components:
     node: ShuttersRadiation
     containers:
     - board
-  - type: DeltaPressure
-    minPressure: 1000
-    minPressureDelta: 750
-    scalingType: Linear
-    scalingPower: 0.0005
   - type: RadiationBlocker
     resistance: 4
 
 
 - type: entity
   id: ShuttersWindow
-  parent: BaseShutter
+  parent: [BaseShutter, BaseDeltaPressureGlass]
   name: window shutters
   description: The Best (TM) place to see your friends explode!
   components:
     node: ShuttersWindow
     containers:
     - board
-  - type: DeltaPressure
-    minPressure: 1000
-    minPressureDelta: 750
-    scalingType: Linear
-    scalingPower: 0.0005
   - type: RadiationBlocker
     resistance: 1
 
index 07618243d45c0345060245f66a00b7e4e53b7379..9e25bb830eee21cb010c39718cfd32467beefa40 100644 (file)
@@ -1,7 +1,7 @@
 #Normal windoors
 - type: entity
   id: BaseWindoor
-  parent: BaseStructure
+  parent: [BaseStructure, BaseDeltaPressureGlassQuarter]
   abstract: true
   placement:
     mode: SnapgridCenter
     noAirWhenFullyAirBlocked: false
     airBlockedDirection:
       - South
-  - type: DeltaPressure
-    minPressure: 250
-    minPressureDelta: 187.5
-    scalingType: Threshold
   - type: Construction
     graph: Windoor
     node: windoor
 
 - type: entity
   id: BaseSecureWindoor
-  parent: BaseWindoor
+  parent: [BaseWindoor, BaseDeltaPressureReinforcedGlassQuarter]
   abstract: true
   components:
   - type: Sprite
   - type: Construction
     graph: Windoor
     node: windoorSecure
-  - type: DeltaPressure
-    minPressure: 3750
-    minPressureDelta: 2500
-    scalingType: Threshold
   - type: StaticPrice
     price: 350
   - type: Tag
 #Plasma Windoors
 - type: entity
   id: BasePlasmaWindoor
-  parent: BaseWindoor
+  parent: [BaseWindoor, BaseDeltaPressurePlasmaQuarter]
   abstract: true
   components:
   - type: Sprite
   - type: Construction
     graph: Windoor
     node: pwindoor
-  - type: DeltaPressure
-    minPressure: 18750
-    minPressureDelta: 12500
-    scalingType: Threshold
   - type: StaticPrice
     price: 500
   - type: RadiationBlocker
 
 - type: entity
   id: BaseSecurePlasmaWindoor
-  parent: BaseSecureWindoor
+  parent: [BaseSecureWindoor, BaseDeltaPressureReinforcedPlasmaQuarter]
   abstract: true
   components:
   - type: Sprite
   - type: Construction
     graph: Windoor
     node: pwindoorSecure
-  - type: DeltaPressure
-    minPressure: 37500
-    minPressureDelta: 25000
-    scalingType: Threshold
   - type: StaticPrice
     price: 500
   - type: RadiationBlocker
 #Uranium Windoors
 - type: entity
   id: BaseUraniumWindoor
-  parent: BaseWindoor
+  parent: [BaseWindoor, BaseDeltaPressurePlasmaQuarter]
   abstract: true
   components:
   - type: Sprite
             max: 2
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
-  - type: DeltaPressure
-    minPressure: 18750
-    minPressureDelta: 12500
-    scalingType: Threshold
   - type: Construction
     graph: Windoor
     node: uwindoor
 
 - type: entity
   id: BaseSecureUraniumWindoor
-  parent: BaseSecureWindoor
+  parent: [BaseSecureWindoor, BaseDeltaPressureReinforcedPlasmaQuarter]
   abstract: true
   components:
   - type: Sprite
             max: 2
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
-  - type: DeltaPressure
-    minPressure: 37500
-    minPressureDelta: 25000
-    scalingType: Threshold
   - type: Construction
     graph: Windoor
     node: uwindoorSecure
index d6761239a8aa1bbd93f8da5d0c166639b0b4847a..9ec7c323acfa8184e329c24b89724aaee6ccf40c 100644 (file)
@@ -1,7 +1,7 @@
 - type: entity
   id: PlasmaWindow
   name: plasma window
-  parent: WindowRCDResistant
+  parent: [WindowRCDResistant, BaseDeltaPressurePlasma]
   components:
   - type: Sprite
     drawdepth: WallTops
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks.rsi
-  - type: DeltaPressure
-    minPressure: 75000
-    minPressureDelta: 50000
-    scalingType: Linear
-    scalingPower: 0.0005
   - type: StaticPrice
     price: 100
   - type: RadiationBlocker
@@ -60,7 +55,7 @@
 
 - type: entity
   id: PlasmaWindowDirectional
-  parent: WindowDirectionalRCDResistant
+  parent: [WindowDirectionalRCDResistant, BaseDeltaPressurePlasmaQuarter]
   name: directional plasma window
   description: Don't smudge up the glass down there.
   placement:
             max: 1
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
-  - type: DeltaPressure
-    minPressure: 18750
-    minPressureDelta: 12500
-    scalingType: Threshold
   - type: StaticPrice
     price: 50
   - type: RadiationBlocker
index 912313c13d7c89cb8c5e89e890ac8da68b1852ed..3b490dc4ce619b31b4f2f04c1eaef52a3ab08cd9 100644 (file)
@@ -1,7 +1,7 @@
 - type: entity
   id: ReinforcedWindow
   name: reinforced window
-  parent: Window
+  parent: [Window, BaseDeltaPressureReinforcedGlass]
   components:
   - type: Sprite
     drawdepth: WallTops
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks.rsi
-  - type: DeltaPressure
-    minPressure: 15000
-    minPressureDelta: 10000
-    scalingType: Threshold
 
 - type: entity
   id: WindowReinforcedDirectional
-  parent: WindowDirectional
+  parent: [WindowDirectional, BaseDeltaPressureReinforcedGlassQuarter]
   name: directional reinforced window
   description: Don't smudge up the glass down there.
   placement:
             max: 1
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
-  - type: DeltaPressure
-    minPressure: 3750
-    minPressureDelta: 2500
   - type: StaticPrice
     price: 22.5
 
index 2506560572da43bb69aef51ee27203579c5ad3d7..7aee043ac7fb662ec144015addf99f6f42d4103c 100644 (file)
@@ -1,7 +1,7 @@
 - type: entity
   id: ReinforcedPlasmaWindow
   name: reinforced plasma window
-  parent: WindowRCDResistant
+  parent: [WindowRCDResistant, BaseDeltaPressureReinforcedPlasma]
   components:
   - type: Sprite
     drawdepth: WallTops
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks.rsi
-  - type: DeltaPressure
-    minPressure: 150000
-    minPressureDelta: 100000
-    scalingType: Linear
-    scalingPower: 0.0001
   - type: StaticPrice
     price: 132
 
 - type: entity
   id: PlasmaReinforcedWindowDirectional
-  parent: WindowDirectionalRCDResistant
+  parent: [WindowDirectionalRCDResistant, BaseDeltaPressureReinforcedPlasmaQuarter]
   name: directional reinforced plasma window
   description: Don't smudge up the glass down there.
   placement:
             max: 1
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
-  - type: DeltaPressure
-    minPressure: 37500
-    minPressureDelta: 25000
-    scalingType: Threshold
   - type: StaticPrice
     price: 66
 
index 943c9c66b75ecfbf7d3b90d22bf9200f6d232d4f..445ad20a3ba53f943ac0ee7e890dac2b980d7659 100644 (file)
@@ -1,7 +1,7 @@
 - type: entity
   id: ReinforcedUraniumWindow
   name: reinforced uranium window
-  parent: WindowRCDResistant
+  parent: [WindowRCDResistant, BaseDeltaPressureReinforcedPlasma]
   components:
   - type: Sprite
     drawdepth: WallTops
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks.rsi
-  - type: DeltaPressure
-    minPressure: 150000
-    minPressureDelta: 100000
-    scalingType: Linear
-    scalingPower: 0.0001
   - type: StaticPrice
     price: 215
   - type: RadiationBlocker
@@ -60,7 +55,7 @@
 
 - type: entity
   id: UraniumReinforcedWindowDirectional
-  parent: WindowDirectionalRCDResistant
+  parent: [WindowDirectionalRCDResistant, BaseDeltaPressureReinforcedPlasmaQuarter]
   name: directional reinforced uranium window
   description: Don't smudge up the glass down there.
   placement:
             max: 2
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
-  - type: DeltaPressure
-    minPressure: 37500
-    minPressureDelta: 25000
-    scalingType: Threshold
   - type: StaticPrice
     price: 110
   - type: RadiationBlocker
index fde110faf821a150f1ed8f65288f702754646335..f3cae2a247cd2d96d5c20d1dd80eb3ff518a03bc 100644 (file)
@@ -1,7 +1,7 @@
 - type: entity
   id: ShuttleWindow
   name: shuttle window
-  parent: WindowRCDResistant
+  parent: [WindowRCDResistant, BaseDeltaPressureReinforcedGlass]
   components:
   - type: Sprite
     drawdepth: WallTops
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks.rsi
-  - type: DeltaPressure
-    minPressure: 15000
-    minPressureDelta: 10000
-    scalingType: Linear
-    scalingPower: 0.0005
   - type: StaticPrice
     price: 150
 
index 00645ca1f04e7e44bdeffa3aad5db6bcf4d91c7f..292410054d374a74335d2bdf0681885508521969 100644 (file)
@@ -1,7 +1,7 @@
 - type: entity
   id: UraniumWindow
   name: uranium window
-  parent: WindowRCDResistant
+  parent: [WindowRCDResistant, BaseDeltaPressurePlasma]
   components:
   - type: Sprite
     drawdepth: WallTops
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks.rsi
-  - type: DeltaPressure
-    minPressure: 75000
-    minPressureDelta: 50000
-    scalingType: Linear
-    scalingPower: 0.0005
   - type: StaticPrice
     price: 200
   - type: RadiationBlocker
@@ -58,7 +53,7 @@
 
 - type: entity
   id: UraniumWindowDirectional
-  parent: WindowDirectionalRCDResistant
+  parent: [WindowDirectionalRCDResistant, BaseDeltaPressurePlasmaQuarter]
   name: directional uranium window
   description: Don't smudge up the glass down there.
   placement:
             max: 1
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
-  - type: DeltaPressure
-    minPressure: 18750
-    minPressureDelta: 12500
-    scalingType: Threshold
   - type: StaticPrice
     price: 100
   - type: RadiationBlocker
index 99c19c1a7081b8a442746d0691969f03c91031b4..b20299daab2df30fe70e458b8f0aebe778eb25d2 100644 (file)
@@ -1,6 +1,6 @@
 - type: entity
   id: Window
-  parent: BaseStructure
+  parent: [BaseStructure, BaseDeltaPressureGlass]
   name: window
   description: Don't smudge up the glass down there.
   placement:
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
   - type: Airtight
-  - type: DeltaPressure
-    minPressure: 1000
-    minPressureDelta: 750
-    scalingType: Linear
-    scalingPower: 0.0005
   - type: IconSmooth
     key: windows
     base: window
 
 - type: entity
   id: WindowDirectional
-  parent: BaseStructure
+  parent: [BaseStructure, BaseDeltaPressureGlassQuarter]
   name: directional window
   description: Don't smudge up the glass down there.
   placement:
     noAirWhenFullyAirBlocked: false
     airBlockedDirection:
     - South
-  - type: DeltaPressure
-    minPressure: 250
-    minPressureDelta: 187.5
-    scalingType: Threshold
   - type: Construction
     graph: WindowDirectional
     node: windowDirectional