diff --git a/Resources/Locale/ru-RU/ss220/prototypes/entities/structures/doors/secretdoor/secret_reinforced_door.ftl b/Resources/Locale/ru-RU/ss220/prototypes/entities/structures/doors/secretdoor/secret_reinforced_door.ftl new file mode 100644 index 00000000000000..a2531b12ceb66e --- /dev/null +++ b/Resources/Locale/ru-RU/ss220/prototypes/entities/structures/doors/secretdoor/secret_reinforced_door.ftl @@ -0,0 +1,4 @@ +ent-BaseSecretReinforcedDoorAssembly = каркас укрепленной потайной двери + .desc = Он открывается, он закрывается, и он может вас раздавить. +ent-SolidSecretReinforcedDoor = укреплённая стена + .desc = { ent-BaseSecretDoor.desc } diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/girder.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/girder.yml index 19eb66622bc534..559f0c3bc6e431 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/girder.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/girder.yml @@ -183,9 +183,6 @@ - to: secretWall conditions: - !type:EntityAnchored {} - completed: - - !type:SetAnchor - value: false steps: - material: Cable amount: 4 @@ -196,7 +193,6 @@ - node: secretWall entity: Girder actions: - - !type:SnapToGrid {} - !type:SetAnchor {} edges: - to: electronics @@ -456,6 +452,66 @@ - tool: Cutting doAfter: 2 + # SS220 ReinforcedGirder node add begin (SolidSecretReinforcedDoor Recipe Update) + - to: secretReinforcedWall + conditions: + - !type:EntityAnchored {} + steps: + - material: Cable + amount: 4 + doAfter: 1.5 + # SS220 ReinforcedGirder node add end (SolidSecretReinforcedDoor Recipe Update) + + # SS220 ReinforcedGirder node add begin (SolidSecretReinforcedDoor Recipe Update) + - node: secretReinforcedWall + entity: ReinforcedGirder + actions: + - !type:SetAnchor {} + edges: + - to: reinforcedElectronics + steps: + - component: PowerCell + name: power cell + store: battery-container + icon: + sprite: Objects/Power/power_cells.rsi + state: small + doAfter: 1 + - to: reinforcedGirder + completed: + - !type:GivePrototype + prototype: CableApcStack1 + amount: 4 + steps: + - tool: Cutting + doAfter: 2 + + - node: reinforcedElectronics + entity: BaseSecretReinforcedDoorAssembly + edges: + - to: solidSecretReinforcedDoor + conditions: + - !type:EntityAnchored { } + steps: + - tool: Screwing + doAfter: 1 + + - node: solidSecretReinforcedDoor + entity: SolidSecretReinforcedDoor + edges: + - to: secretReinforcedWall + conditions: + - !type:EntityAnchored {} + - !type:DoorWelded {} + completed: + - !type:EmptyAllContainers + pickup: true + emptyAtUser: true + steps: + - tool: Prying + doAfter: 12 + # SS220 ReinforcedGirder node add end (SolidSecretReinforcedDoor Recipe Update) + - node: reinforcedWall entity: WallReinforced edges: diff --git a/Resources/Prototypes/SS220/Entities/Structures/Doors/secter_reinforced_door.yml b/Resources/Prototypes/SS220/Entities/Structures/Doors/secter_reinforced_door.yml new file mode 100644 index 00000000000000..8c78959ef2c633 --- /dev/null +++ b/Resources/Prototypes/SS220/Entities/Structures/Doors/secter_reinforced_door.yml @@ -0,0 +1,71 @@ +# © SS220, An EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt + +- type: entity + id: BaseSecretReinforcedDoorAssembly + name: secret reinforced door assembly + description: It opens, it closes, and maybe crushes you. + components: + - type: Clickable + - type: InteractionOutline + - type: Sprite + sprite: SS220/Structures/Doors/secter_reinforced_door.rsi + state: assembly + - type: Physics + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.45,-0.45,0.45,0.45" + density: 110 + mask: + - FullTileMask + layer: + - HumanoidBlockLayer + - type: Anchorable + delay: 2 + - type: Pullable + - type: Transform + anchored: true + noRot: false + - type: Rotatable + - type: Damageable + damageContainer: StructuralInorganic + damageModifierSet: StructuralMetallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - type: Construction + graph: Girder + node: reinforcedElectronics + placement: + mode: SnapgridCenter + +- type: entity + id: SolidSecretReinforcedDoor + name: reinforced wall + parent: BaseSecretDoor + components: + - type: Construction + graph: Girder + node: solidSecretReinforcedDoor + containers: + - battery-container + - type: Sprite + sprite: SS220/Structures/Doors/secter_reinforced_door.rsi + layers: + - state: closed + map: ["enum.DoorVisualLayers.Base"] + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 400 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] diff --git a/Resources/Prototypes/SS220/Recipes/Construction/structures.yml b/Resources/Prototypes/SS220/Recipes/Construction/structures.yml index 07242c834a39db..43827293ac18a4 100644 --- a/Resources/Prototypes/SS220/Recipes/Construction/structures.yml +++ b/Resources/Prototypes/SS220/Recipes/Construction/structures.yml @@ -34,3 +34,20 @@ canBuildInImpassable: false conditions: - !type:TileNotBlocked + +- type: construction + name: solid secret reinforced door + id: SolidSecretReinforcedDoor + graph: Girder + startNode: start + targetNode: solidSecretReinforcedDoor + category: construction-category-structures + description: A secret door for the reinforced wall. + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + icon: + sprite: SS220/Structures/Doors/secter_reinforced_door.rsi + state: closed + conditions: + - !type:TileNotBlocked diff --git a/Resources/Textures/SS220/Structures/Doors/secter_reinforced_door.rsi/assembly.png b/Resources/Textures/SS220/Structures/Doors/secter_reinforced_door.rsi/assembly.png new file mode 100644 index 00000000000000..1258b11b698089 Binary files /dev/null and b/Resources/Textures/SS220/Structures/Doors/secter_reinforced_door.rsi/assembly.png differ diff --git a/Resources/Textures/SS220/Structures/Doors/secter_reinforced_door.rsi/closed.png b/Resources/Textures/SS220/Structures/Doors/secter_reinforced_door.rsi/closed.png new file mode 100644 index 00000000000000..08f543e5285dee Binary files /dev/null and b/Resources/Textures/SS220/Structures/Doors/secter_reinforced_door.rsi/closed.png differ diff --git a/Resources/Textures/SS220/Structures/Doors/secter_reinforced_door.rsi/closing.png b/Resources/Textures/SS220/Structures/Doors/secter_reinforced_door.rsi/closing.png new file mode 100644 index 00000000000000..f26096aa6db198 Binary files /dev/null and b/Resources/Textures/SS220/Structures/Doors/secter_reinforced_door.rsi/closing.png differ diff --git a/Resources/Textures/SS220/Structures/Doors/secter_reinforced_door.rsi/meta.json b/Resources/Textures/SS220/Structures/Doors/secter_reinforced_door.rsi/meta.json new file mode 100644 index 00000000000000..f0a5347d39f498 --- /dev/null +++ b/Resources/Textures/SS220/Structures/Doors/secter_reinforced_door.rsi/meta.json @@ -0,0 +1,99 @@ +{ + "version": 1, + "license": "EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt", + "copyright": "by MIXnikita for SS220", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "assembly", + "directions": 4 + }, + { + "name": "closed", + "directions": 4 + }, + { + "name": "closing", + "directions": 4, + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ], + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ], + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ], + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + }, + { + "name": "open", + "directions": 4 + }, + { + "name": "opening", + "directions": 4, + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ], + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ], + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ], + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + } + ] +} diff --git a/Resources/Textures/SS220/Structures/Doors/secter_reinforced_door.rsi/open.png b/Resources/Textures/SS220/Structures/Doors/secter_reinforced_door.rsi/open.png new file mode 100644 index 00000000000000..637c3a6b8d41bb Binary files /dev/null and b/Resources/Textures/SS220/Structures/Doors/secter_reinforced_door.rsi/open.png differ diff --git a/Resources/Textures/SS220/Structures/Doors/secter_reinforced_door.rsi/opening.png b/Resources/Textures/SS220/Structures/Doors/secter_reinforced_door.rsi/opening.png new file mode 100644 index 00000000000000..3c058147dfbb15 Binary files /dev/null and b/Resources/Textures/SS220/Structures/Doors/secter_reinforced_door.rsi/opening.png differ