diff --git a/Resources/Prototypes/Entities/Structures/Doors/Shutter/shutters.yml b/Resources/Prototypes/Entities/Structures/Doors/Shutter/shutters.yml index 890fb2ee66c..7b0b28b2183 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Shutter/shutters.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Shutter/shutters.yml @@ -101,6 +101,10 @@ interactSuccessSound: collection: FenceRattle - type: BlockWeather + # Triad - lets the shutter be interacted with even when a window/grille shares its tile (matches BaseFirelock) + - type: WallMount + arc: 360 + # End Triad # Mono - type: ShipRepairable repairTime: 3 @@ -218,6 +222,10 @@ containers: - board - type: InteractionOutline + # Triad - lets the frame be interacted with (cable step, etc.) even when a window/grille shares its tile + - type: WallMount + arc: 360 + # End Triad - type: Damageable damageContainer: StructuralInorganic damageModifierSet: Metallic @@ -229,8 +237,11 @@ behaviors: - !type:DoActsBehavior acts: ["Destruction"] + # Triad - Static (matches BlastDoorFrame): the construction graph anchors the frame on spawn, + # which would flip Dynamic -> Static and fail PrototypeSaveTest. Declaring Static here keeps + # prototype/runtime in sync and also prevents the unanchored body from being shoved by physics. - type: Physics - bodyType: Dynamic + bodyType: Static - type: Fixtures fixtures: fix1: @@ -244,4 +255,4 @@ layer: - HighImpassable - type: Transform - noRot: true + # noRot: true # Triad - removed so shutter frames keep their placement rotation diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/shutter.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/shutter.yml index 7086216cba3..511f9beb8af 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/shutter.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/shutter.yml @@ -15,6 +15,12 @@ - node: frame1 entity: ShuttersFrame + # Triad - snap and anchor the frame on creation so the unanchored dynamic body + # isn't shoved off impassable tiles (e.g. windows) by physics. Matches the BlastDoor graph. + actions: + - !type:SnapToGrid {} + - !type:SetAnchor {} + # End Triad edges: - to: frame2 conditions: