]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Material Door rebalancing (#36597)
authorArchee <archee3@hotmail.co.uk>
Thu, 2 Oct 2025 22:35:48 +0000 (23:35 +0100)
committerGitHub <noreply@github.com>
Thu, 2 Oct 2025 22:35:48 +0000 (22:35 +0000)
* refactors in material_doors.yml,
lowers destructible thresholds on most doors,
changes damageable modifiers for doors lowering their resistances,
adds partial material drops to doors being destroyed

* adds poster break sound to paper door breaking

* merge conflicts

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
Resources/Prototypes/Entities/Structures/Doors/MaterialDoors/material_doors.yml
Resources/Prototypes/Recipes/Construction/Graphs/structures/doors.yml

index 510b76b41eb8e2970373521e9769a083d7cf5f3f..26db89ed32b103ecc6116848ac2412303b2284ec 100644 (file)
@@ -55,7 +55,7 @@
     thresholds:
     - trigger:
         !type:DamageTrigger
-        damage: 200
+        damage: 300
       behaviors:
       - !type:DoActsBehavior
         acts: ["Destruction"]
@@ -69,6 +69,8 @@
   components:
   - type: NavMapDoor
 
+### Metal doors ###
+
 - type: entity
   id: MetalDoor
   name: metal door
   - type: Construction
     graph: DoorGraph
     node: metalDoor
-
-- type: entity
-  id: WoodDoor
-  name: wooden door
-  parent: BaseMaterialDoorNavMap
-  components:
-  - type: Sprite
-    sprite: Structures/Doors/MineralDoors/wood_door.rsi
-  - type: Door
-    openSound:
-      path: /Audio/Effects/door_open.ogg
-    closeSound:
-      path: /Audio/Effects/door_close.ogg
-  - type: Damageable
-    damageContainer: StructuralInorganic
-    damageModifierSet: Wood
   - type: Destructible
     thresholds:
     - trigger:
         !type:DamageTrigger
-        damage: 100
+        damage: 200
       behaviors:
       - !type:DoActsBehavior
         acts: ["Destruction"]
-  - type: Construction
-    graph: DoorGraph
-    node: woodDoor
-
-- type: entity
-  id: PaperDoor
-  name: paper door
-  parent: BaseMaterialDoorNavMap
-  components:
-  - type: Sprite
-    sprite: Structures/Doors/MineralDoors/paper_door.rsi
-  - type: Destructible
-    thresholds:
     - trigger:
         !type:DamageTrigger
-        damage: 50
+        damage: 150
       behaviors:
       - !type:DoActsBehavior
         acts: ["Destruction"]
-  - type: Construction
-    graph: DoorGraph
-    node: paperDoor
-  - type: Door
-    openSound:
-      path: /Audio/Effects/paperdoor_openclose.ogg
-    closeSound:
-      path: /Audio/Effects/paperdoor_openclose.ogg
+      - !type:PlaySoundBehavior
+        sound:
+          collection: MetalBreak
+      - !type:SpawnEntitiesBehavior
+        spawn:
+          SheetSteel1:
+            min: 3
+            max: 5
 
 - type: entity
   id: PlasmaDoor
   name: plasma door
   parent: BaseMaterialDoorNavMap
+  description: A door, where will it lead?
   components:
   - type: Sprite
     sprite: Structures/Doors/MineralDoors/plasma_door.rsi
-  - type: Damageable
-    damageContainer: StructuralInorganic
-    damageModifierSet: StructuralMetallicStrong
+    layers:
+    - state: closed
+      map: ["enum.DoorVisualLayers.Base"]
+  - type: Construction
+    graph: DoorGraph
+    node: plasmaDoor
   - type: Destructible
     thresholds:
     - trigger:
         !type:DamageTrigger
-        damage: 300
+        damage: 200
       behaviors:
       - !type:DoActsBehavior
         acts: ["Destruction"]
-  - type: Construction
-    graph: DoorGraph
-    node: plasmaDoor
+    - trigger:
+        !type:DamageTrigger
+        damage: 150
+      behaviors:
+      - !type:DoActsBehavior
+        acts: ["Destruction"]
+      - !type:PlaySoundBehavior
+        sound:
+          collection: MetalBreak
+      - !type:SpawnEntitiesBehavior
+        spawn:
+          SheetPlasma1:
+            min: 3
+            max: 5
 
 - type: entity
   id: GoldDoor
   name: gold door
   parent: BaseMaterialDoorNavMap
+  description: A door, where will it lead?
   components:
   - type: Sprite
     sprite: Structures/Doors/MineralDoors/gold_door.rsi
+    layers:
+    - state: closed
+      map: ["enum.DoorVisualLayers.Base"]
   - type: Construction
     graph: DoorGraph
     node: goldDoor
+  - type: Destructible
+    thresholds:
+    - trigger:
+        !type:DamageTrigger
+        damage: 200
+      behaviors:
+      - !type:DoActsBehavior
+        acts: ["Destruction"]
+    - trigger:
+        !type:DamageTrigger
+        damage: 150
+      behaviors:
+      - !type:DoActsBehavior
+        acts: ["Destruction"]
+      - !type:PlaySoundBehavior
+        sound:
+          collection: MetalBreak
+      - !type:SpawnEntitiesBehavior
+        spawn:
+          IngotGold1:
+            min: 3
+            max: 5
 
 - type: entity
   id: SilverDoor
   name: silver door
   parent: BaseMaterialDoorNavMap
+  description: A door, where will it lead?
   components:
   - type: Sprite
     sprite: Structures/Doors/MineralDoors/silver_door.rsi
+    layers:
+    - state: closed
+      map: ["enum.DoorVisualLayers.Base"]
   - type: Construction
     graph: DoorGraph
     node: silverDoor
+  - type: Destructible
+    thresholds:
+    - trigger:
+        !type:DamageTrigger
+        damage: 200
+      behaviors:
+      - !type:DoActsBehavior
+        acts: ["Destruction"]
+    - trigger:
+        !type:DamageTrigger
+        damage: 150
+      behaviors:
+      - !type:DoActsBehavior
+        acts: ["Destruction"]
+      - !type:PlaySoundBehavior
+        sound:
+          collection: MetalBreak
+      - !type:SpawnEntitiesBehavior
+        spawn:
+          IngotSilver1:
+            min: 3
+            max: 5
 
 - type: entity
   id: BananiumDoor
   name: bananium door
   parent: BaseMaterialDoorNavMap
+  description: A door, where will it lead?
   components:
   - type: Sprite
     sprite: Structures/Doors/MineralDoors/bananium_door.rsi
+    layers:
+    - state: closed
+      map: ["enum.DoorVisualLayers.Base"]
+  - type: Door
+    openSound:
+      path: /Audio/Items/bikehorn.ogg
+    closeSound:
+      path: /Audio/Items/bikehorn.ogg
   - type: Construction
     graph: DoorGraph
     node: bananiumDoor
+  - type: Destructible
+    thresholds:
+    - trigger:
+        !type:DamageTrigger
+        damage: 200
+      behaviors:
+      - !type:DoActsBehavior
+        acts: ["Destruction"]
+    - trigger:
+        !type:DamageTrigger
+        damage: 150
+      behaviors:
+      - !type:DoActsBehavior
+        acts: ["Destruction"]
+      - !type:PlaySoundBehavior
+        sound:
+          collection: MetalBreak
+      - !type:SpawnEntitiesBehavior
+        spawn:
+          MaterialBananium1:
+            min: 1
+            max: 2
+
+### Other doors ###
+
+- type: entity
+  id: WoodDoor
+  name: wooden door
+  parent: BaseMaterialDoorNavMap
+  components:
+  - type: Sprite
+    sprite: Structures/Doors/MineralDoors/wood_door.rsi
   - type: Door
     openSound:
-      path: /Audio/Items/bikehorn.ogg
+      path: /Audio/Effects/door_open.ogg
     closeSound:
-      path: /Audio/Items/bikehorn.ogg
+      path: /Audio/Effects/door_close.ogg
+  - type: Construction
+    graph: DoorGraph
+    node: woodDoor
+  - type: Damageable
+    damageContainer: StructuralInorganic
+    damageModifierSet: Wood
+  - type: Destructible
+    thresholds:
+    - trigger:
+        !type:DamageTrigger
+        damage: 150
+      behaviors:
+      - !type:DoActsBehavior
+        acts: ["Destruction"]
+    - trigger:
+        !type:DamageTrigger
+        damage: 75
+      behaviors:
+      - !type:PlaySoundBehavior
+        sound:
+          collection: WoodDestroy
+      - !type:DoActsBehavior
+        acts: ["Destruction"]
+      - !type:SpawnEntitiesBehavior
+        spawn:
+          MaterialWoodPlank1:
+            min: 3
+            max: 5
+
+- type: entity
+  id: PaperDoor
+  name: paper door
+  parent: BaseMaterialDoorNavMap
+  description: A door, where will it lead?
+  components:
+  - type: Sprite
+    sprite: Structures/Doors/MineralDoors/paper_door.rsi
+    layers:
+    - state: closed
+      map: ["enum.DoorVisualLayers.Base"]
+  - type: Door
+    openSound:
+      path: /Audio/Effects/paperdoor_openclose.ogg
+    closeSound:
+      path: /Audio/Effects/paperdoor_openclose.ogg
+  - type: Construction
+    graph: DoorGraph
+    node: paperDoor
+  - type: Damageable
+    damageContainer: StructuralInorganic
+    damageModifierSet: Wood
+  - type: Destructible
+    thresholds:
+    - trigger:
+        !type:DamageTrigger
+        damage: 150
+      behaviors:
+      - !type:DoActsBehavior
+        acts: ["Destruction"]
+    - trigger:
+        !type:DamageTrigger
+        damage: 50
+      behaviors:
+      - !type:PlaySoundBehavior
+        sound:
+          path: /Audio/Effects/poster_broken.ogg
+      - !type:DoActsBehavior
+        acts: ["Destruction"]
+      - !type:SpawnEntitiesBehavior
+        spawn:
+          SheetPaper1:
+            min: 3
+            max: 5
 
 - type: entity
   id: WebDoor
   components:
   - type: Sprite
     sprite: Structures/Doors/web_door.rsi
+    layers:
+    - state: closed
+      map: ["enum.DoorVisualLayers.Base"]
+  - type: Door
+    closeSound:
+      path: /Audio/Effects/rustle1.ogg
+    openSound:
+      path: /Audio/Effects/rustle2.ogg
   - type: Construction
     graph: WebStructures
     node: door
+  - type: Damageable
+    damageModifierSet: Web
   - type: Destructible
     thresholds:
     - trigger: # Excess damage, don't spawn entities
           collection: WoodDestroy
       - !type:DoActsBehavior
         acts: ["Destruction"]
+    - trigger:
+        !type:DamageTrigger
+        damage: 150
+      behaviors:
+      - !type:DoActsBehavior
+        acts: ["Destruction"]
     - trigger:
         !type:DamageTrigger
         damage: 50
           collection: WoodDestroy
       - !type:SpawnEntitiesBehavior
         spawn:
-          MaterialWebSilk:
-            min: 3
-            max: 5
-  - type: Damageable
-    damageModifierSet: Web
-  - type: Door
-    closeSound:
-      path: /Audio/Effects/rustle1.ogg
-    openSound:
-      path: /Audio/Effects/rustle2.ogg
+          MaterialWebSilk1:
+            min: 1
+            max: 2
 
 - type: entity
   id: CardDoor
     sprite: Structures/Doors/MineralDoors/card_door.rsi
   - type: Door
     openSound:
-      path: /Audio/Effects/card_drag.ogg 
+      path: /Audio/Effects/card_drag.ogg
     closeSound:
       path: /Audio/Effects/card_drag.ogg
+  - type: Construction
+    graph: DoorGraph
+    node: cardDoor
   - type: MeleeSound
     soundGroups:
       Brute:
         !type:DamageTrigger
         damage: 30
       behaviors:
+      - !type:DoActsBehavior
+        acts: [ "Destruction" ]
+      - !type:PlaySoundBehavior
+        sound:
+          collection: WoodDestroy
       - !type:SpawnEntitiesBehavior
         spawn:
           MaterialCardboard:
-            min: 2
-            max: 4
-      - !type:DoActsBehavior
-        acts: [ "Destruction" ]
-  - type: Construction
-    graph: DoorGraph
-    node: cardDoor
+            min: 3
+            max: 5
index 2c8260269fbc15c76903f27155b338227fbdec84..d675a0f7f818d4095622b7ba7f500e276fedd83a 100644 (file)
             - !type:SnapToGrid { }
           steps:
             - material: Steel
-              amount: 20
-              doAfter: 15
+              amount: 10
+              doAfter: 8
         - to: woodDoor
           completed:
             - !type:SnapToGrid { }
           steps:
             - material: WoodPlank
-              amount: 20
-              doAfter: 15
+              amount: 10
+              doAfter: 8
         - to: plasmaDoor
           completed:
             - !type:SnapToGrid { }
           steps:
             - material: Plasma
-              amount: 20
-              doAfter: 15
+              amount: 10
+              doAfter: 8
         - to: goldDoor
           completed:
             - !type:SnapToGrid { }
           steps:
             - material: Gold
-              amount: 20
-              doAfter: 15
+              amount: 10
+              doAfter: 8
         - to: silverDoor
           completed:
             - !type:SnapToGrid { }
           steps:
             - material: Silver
-              amount: 20
-              doAfter: 15
+              amount: 10
+              doAfter: 8
         - to: bananiumDoor
           completed:
             - !type:SnapToGrid { }
           steps:
             - material: Bananium
               amount: 5
-              doAfter: 15
+              doAfter: 8
         - to: paperDoor
           completed:
             - !type:SnapToGrid { }
           steps:
             - material: Paper
-              amount: 20
-              doAfter: 15
+              amount: 10
+              doAfter: 8
         - to: cardDoor
           completed:
             - !type:SnapToGrid { }
           steps:
             - material: Cardboard
-              amount: 5
-              doAfter: 6
+              amount: 10
+              doAfter: 8
     - node: metalDoor
       entity: MetalDoor
       edges:
           completed:
             - !type:SpawnPrototype
               prototype: SheetSteel1
-              amount: 20
+              amount: 10
           steps:
             - tool: Anchoring
-              doAfter: 15
+              doAfter: 8
     - node: woodDoor
       entity: WoodDoor
       edges:
           completed:
             - !type:SpawnPrototype
               prototype: MaterialWoodPlank1
-              amount: 20
+              amount: 10
           steps:
             - tool: Anchoring
-              doAfter: 15
+              doAfter: 8
     - node: plasmaDoor
       entity: PlasmaDoor
       edges:
           completed:
             - !type:SpawnPrototype
               prototype: SheetPlasma
-              amount: 20
+              amount: 10
           steps:
             - tool: Anchoring
-              doAfter: 15
+              doAfter: 8
     - node: goldDoor
       entity: GoldDoor
       edges:
           completed:
             - !type:SpawnPrototype
               prototype: IngotGold1
-              amount: 20
+              amount: 10
           steps:
             - tool: Anchoring
-              doAfter: 15
+              doAfter: 8
     - node: silverDoor
       entity: SilverDoor
       edges:
           completed:
             - !type:SpawnPrototype
               prototype: IngotSilver1
-              amount: 20
+              amount: 10
           steps:
             - tool: Anchoring
-              doAfter: 15
+              doAfter: 8
     - node: paperDoor
       entity: PaperDoor
       edges:
           completed:
             - !type:SpawnPrototype
               prototype: SheetPaper1
-              amount: 20
+              amount: 10
           steps:
             - tool: Anchoring
-              doAfter: 15
+              doAfter: 8
     - node: cardDoor
       entity: CardDoor
       edges:
             sound: /Audio/Items/Toys/ToyFall2.ogg
           - !type:SpawnPrototype
                 prototype: MaterialCardboard1
-                amount: 5
+                amount: 8
           - !type:DeleteEntity {}
           steps:
             - tool: Slicing
               amount: 5
           steps:
             - tool: Anchoring
-              doAfter: 15
+              doAfter: 8