From: Nim <128169402+Nimfar11@users.noreply.github.com> Date: Mon, 15 Jan 2024 12:49:08 +0000 (+0200) Subject: Construction Blast door (#24050) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=efb424834add46f88b8c404a93683f5a83abf21f;p=space-station-14.git Construction Blast door (#24050) * construction blast door * fix * price * fix2 * hem * xif * Static --- diff --git a/Resources/Prototypes/Entities/Structures/Doors/Shutter/blast_door.yml b/Resources/Prototypes/Entities/Structures/Doors/Shutter/blast_door.yml index 1673ccd0cb..97f3c1b9e3 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Shutter/blast_door.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Shutter/blast_door.yml @@ -27,6 +27,16 @@ - type: Damageable damageContainer: StructuralInorganic damageModifierSet: StrongMetallic + - type: ContainerFill + containers: + board: [ DoorElectronics ] + - type: Construction + graph: BlastDoor + node: blastdoor + containers: + - board + - type: StaticPrice + price: 280 - type: entity id: BlastDoorOpen @@ -43,3 +53,46 @@ airBlocked: false - type: RadiationBlocker enabled: false + +- type: entity + id: BlastDoorFrame + parent: BaseStructureDynamic + name: blast door frame + description: This one says 'BLAST DONGER'. + components: + - type: Sprite + sprite: Structures/Doors/Shutters/blastdoor.rsi + state: assembly + - type: InteractionOutline + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Metallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 300 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - type: Physics + bodyType: Static + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.45,-0.45,0.45,0.45" + density: 55 + mask: + - Impassable + - HighImpassable + layer: + - HighImpassable + - type: Transform + noRot: true + - type: Construction + graph: BlastDoor + node: frame1 + placement: + mode: SnapgridCenter diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/blast_door.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/blast_door.yml new file mode 100644 index 0000000000..ad84d830a7 --- /dev/null +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/blast_door.yml @@ -0,0 +1,109 @@ +- type: constructionGraph + id: BlastDoor + start: start + graph: + - node: start + edges: + - to: frame1 + completed: + - !type:SetAnchor + value: false + steps: + - material: Plasteel + amount: 10 + doAfter: 3 + + - node: frame1 + entity: BlastDoorFrame + actions: + - !type:SnapToGrid {} + - !type:SetAnchor {} + edges: + - to: frame2 + conditions: + - !type:EntityAnchored {} + steps: + - material: Cable + amount: 5 + doAfter: 2 + - to: start + conditions: + - !type:EntityAnchored + anchored: false + completed: + - !type:SpawnPrototype + prototype: SheetPlasteel1 + amount: 10 + - !type:DeleteEntity {} + steps: + - tool: Welding + doAfter: 4 + + - node: frame2 + edges: + - to: frame3 + conditions: + - !type:EntityAnchored {} + steps: + - tag: DoorElectronics + store: board + name: Door Electronics + icon: + sprite: "Objects/Misc/module.rsi" + state: "door_electronics" + doAfter: 2 + - to: frame1 + completed: + - !type:SpawnPrototype + prototype: CableApcStack1 + amount: 5 + steps: + - tool: Cutting + doAfter: 4 + - tool: Prying + doAfter: 2 + + - node: frame3 + edges: + - to: frame4 + conditions: + - !type:EntityAnchored {} + steps: + - tool: Screwing + doAfter: 2 + - tool: Prying + doAfter: 3 + + - node: frame4 + edges: + - to: blastdoor + conditions: + - !type:EntityAnchored {} + steps: + - tool: Anchoring + doAfter: 2 + - to: frame2 + conditions: + - !type:EntityAnchored {} + completed: + - !type:EmptyAllContainers + pickup: true + emptyAtUser: true + steps: + - tool: Screwing + doAfter: 4 + - tool: Anchoring + doAfter: 3 + - tool: Prying + doAfter: 3 + + - node: blastdoor + entity: BlastDoorOpen + edges: + - to: frame4 + conditions: + - !type:DoorWelded + welded: true + steps: + - tool: Anchoring + doAfter: 2 diff --git a/Resources/Prototypes/Recipes/Construction/structures.yml b/Resources/Prototypes/Recipes/Construction/structures.yml index c9c7a8fe45..b9e3477f3c 100644 --- a/Resources/Prototypes/Recipes/Construction/structures.yml +++ b/Resources/Prototypes/Recipes/Construction/structures.yml @@ -214,7 +214,6 @@ conditions: - !type:TileNotBlocked - - type: construction name: diagonal shuttle wall id: DiagonalShuttleWall @@ -715,6 +714,21 @@ placementMode: SnapgridCenter canBuildInImpassable: true +- type: construction + name: blast door + id: BlastDoor + graph: BlastDoor + startNode: start + targetNode: blastdoor + category: construction-category-structures + description: This one says 'BLAST DONGER'. + icon: + sprite: Structures/Doors/Shutters/blastdoor.rsi + state: closed + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: true + - type: construction name: catwalk id: Catwalk diff --git a/Resources/Textures/Structures/Doors/Shutters/blastdoor.rsi/assembly.png b/Resources/Textures/Structures/Doors/Shutters/blastdoor.rsi/assembly.png new file mode 100644 index 0000000000..f52f0ec99d Binary files /dev/null and b/Resources/Textures/Structures/Doors/Shutters/blastdoor.rsi/assembly.png differ diff --git a/Resources/Textures/Structures/Doors/Shutters/blastdoor.rsi/meta.json b/Resources/Textures/Structures/Doors/Shutters/blastdoor.rsi/meta.json index a8d4b41fdd..905fe8a64e 100644 --- a/Resources/Textures/Structures/Doors/Shutters/blastdoor.rsi/meta.json +++ b/Resources/Textures/Structures/Doors/Shutters/blastdoor.rsi/meta.json @@ -1 +1,50 @@ -{"name":1,"size":{"x":32,"y":32},"states":[{"name":"closing","directions":1,"delays":[[0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.4]]},{"name":"opening","directions":1,"delays":[[0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.4]]},{"name":"open","directions":1},{"name":"closed","directions":1}],"license":"CC-BY-SA-3.0","copyright":"Tgstation at 97b4295aca9f31a750456e40730d05b5837e39fc","version":1} \ No newline at end of file +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Tgstation at 97b4295aca9f31a750456e40730d05b5837e39fc", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "assembly" + }, + { + "name": "closing", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.4 + ] + ] + }, + { + "name": "opening", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.4 + ] + ] + }, + { + "name": "open" + }, + { + "name": "closed" + } + ] +}