From: Archee Date: Thu, 2 Oct 2025 22:35:48 +0000 (+0100) Subject: Material Door rebalancing (#36597) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=3db18aa7b29bd8c9d704b536e7bbaed78cfd51bc;p=space-station-14.git Material Door rebalancing (#36597) * 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 --- diff --git a/Resources/Prototypes/Entities/Structures/Doors/MaterialDoors/material_doors.yml b/Resources/Prototypes/Entities/Structures/Doors/MaterialDoors/material_doors.yml index 510b76b41e..26db89ed32 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/MaterialDoors/material_doors.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/MaterialDoors/material_doors.yml @@ -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 @@ -77,117 +79,269 @@ - 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 @@ -197,9 +351,19 @@ 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 @@ -211,6 +375,12 @@ collection: WoodDestroy - !type:DoActsBehavior acts: ["Destruction"] + - trigger: + !type:DamageTrigger + damage: 150 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] - trigger: !type:DamageTrigger damage: 50 @@ -222,16 +392,9 @@ 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 @@ -242,9 +405,12 @@ 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: @@ -265,13 +431,13 @@ !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 diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/doors.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/doors.yml index 2c8260269f..d675a0f7f8 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/doors.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/doors.yml @@ -11,57 +11,57 @@ - !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: @@ -69,10 +69,10 @@ completed: - !type:SpawnPrototype prototype: SheetSteel1 - amount: 20 + amount: 10 steps: - tool: Anchoring - doAfter: 15 + doAfter: 8 - node: woodDoor entity: WoodDoor edges: @@ -80,10 +80,10 @@ completed: - !type:SpawnPrototype prototype: MaterialWoodPlank1 - amount: 20 + amount: 10 steps: - tool: Anchoring - doAfter: 15 + doAfter: 8 - node: plasmaDoor entity: PlasmaDoor edges: @@ -91,10 +91,10 @@ completed: - !type:SpawnPrototype prototype: SheetPlasma - amount: 20 + amount: 10 steps: - tool: Anchoring - doAfter: 15 + doAfter: 8 - node: goldDoor entity: GoldDoor edges: @@ -102,10 +102,10 @@ completed: - !type:SpawnPrototype prototype: IngotGold1 - amount: 20 + amount: 10 steps: - tool: Anchoring - doAfter: 15 + doAfter: 8 - node: silverDoor entity: SilverDoor edges: @@ -113,10 +113,10 @@ completed: - !type:SpawnPrototype prototype: IngotSilver1 - amount: 20 + amount: 10 steps: - tool: Anchoring - doAfter: 15 + doAfter: 8 - node: paperDoor entity: PaperDoor edges: @@ -124,10 +124,10 @@ completed: - !type:SpawnPrototype prototype: SheetPaper1 - amount: 20 + amount: 10 steps: - tool: Anchoring - doAfter: 15 + doAfter: 8 - node: cardDoor entity: CardDoor edges: @@ -137,7 +137,7 @@ sound: /Audio/Items/Toys/ToyFall2.ogg - !type:SpawnPrototype prototype: MaterialCardboard1 - amount: 5 + amount: 8 - !type:DeleteEntity {} steps: - tool: Slicing @@ -152,4 +152,4 @@ amount: 5 steps: - tool: Anchoring - doAfter: 15 + doAfter: 8