diff --git a/Resources/Prototypes/SS220/Entities/Structures/Specific/broken_borgs.yml b/Resources/Prototypes/SS220/Entities/Structures/Specific/broken_borgs.yml new file mode 100644 index 000000000000..057def983b5a --- /dev/null +++ b/Resources/Prototypes/SS220/Entities/Structures/Specific/broken_borgs.yml @@ -0,0 +1,121 @@ +- type: entity + parent: BaseStructure + id: BaseBrokenBorg + name: разрушенный киборг + description: Сломанный гибрид машины и человека. + abstract: true + suffix: Хлам + components: + - type: Sprite + sprite: SS220/Structures/Specific/BrokenBorgs/robot.rsi + state: robot + - type: Transform + anchored: true + noRot: true + - type: Physics + bodyType: Static + - type: Anchorable + - type: Pullable + - type: InteractionOutline + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.35 + density: 60 + mask: + - MachineMask + layer: + - MidImpassable + - LowImpassable + - type: Damageable + damageContainer: Inorganic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:SpawnEntitiesBehavior + spawn: + SheetSteel1: + min: 2 + max: 4 + - !type:DoActsBehavior + acts: ["Destruction"] + +- type: entity + parent: BaseBrokenBorg + id: BrokenBorgRobot + name: разрушенный киборг + components: + - type: Sprite + sprite: SS220/Structures/Specific/BrokenBorgs/robot.rsi + state: robot + - type: Construction + graph: BrokenBorg + node: robot + +- type: entity + parent: BaseBrokenBorg + id: BrokenBorgEngineer + name: разрушенный киборг-инженер + components: + - type: Sprite + sprite: SS220/Structures/Specific/BrokenBorgs/engineer.rsi + state: engineer + - type: Construction + graph: BrokenBorg + node: engineer + +- type: entity + parent: BaseBrokenBorg + id: BrokenBorgJanitor + name: разрушенный киборг-уборщик + components: + - type: Sprite + sprite: SS220/Structures/Specific/BrokenBorgs/janitor.rsi + state: janitor + - type: Construction + graph: BrokenBorg + node: janitor + +- type: entity + parent: BaseBrokenBorg + id: BrokenBorgMedical + name: разрушенный киборг-доктор + components: + - type: Sprite + sprite: SS220/Structures/Specific/BrokenBorgs/medical.rsi + state: medical + - type: Construction + graph: BrokenBorg + node: medical + +- type: entity + parent: BaseBrokenBorg + id: BrokenBorgMiner + name: разрушенный киборг-шахтёр + components: + - type: Sprite + sprite: SS220/Structures/Specific/BrokenBorgs/miner.rsi + state: miner + - type: Construction + graph: BrokenBorg + node: miner + +- type: entity + parent: BaseBrokenBorg + id: BrokenBorgService + name: разрушенный киборг-официант + components: + - type: Sprite + sprite: SS220/Structures/Specific/BrokenBorgs/service.rsi + state: service + - type: Construction + graph: BrokenBorg + node: service diff --git a/Resources/Prototypes/SS220/Recipes/Construction/Graphs/structures/brokenborgs.yml b/Resources/Prototypes/SS220/Recipes/Construction/Graphs/structures/brokenborgs.yml new file mode 100644 index 000000000000..5895ca002149 --- /dev/null +++ b/Resources/Prototypes/SS220/Recipes/Construction/Graphs/structures/brokenborgs.yml @@ -0,0 +1,178 @@ +- type: constructionGraph + id: BrokenBorg + start: start + graph: + - node: start + actions: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 4 + - !type:DeleteEntity + + - node: robot + edges: + - to: start + steps: + - tool: Screwing + doAfter: 1 + - tool: Cutting + doAfter: 3 + completed: + - !type:SpawnPrototype + prototype: CableApcStack1 + amount: 4 + - tool: Anchoring + doAfter: 1 + - tool: Welding + doAfter: 5 + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 4 + - tool: Prying + doAfter: 2 + completed: + - !type:SpawnPrototype + prototype: LightHeadBorg + amount: 1 + - !type:DeleteEntity {} + + - node: engineer + edges: + - to: start + steps: + - tool: Screwing + doAfter: 1 + - tool: Cutting + doAfter: 3 + completed: + - !type:SpawnPrototype + prototype: CableApcStack1 + amount: 4 + - tool: Anchoring + doAfter: 1 + - tool: Welding + doAfter: 5 + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 4 + - tool: Prying + doAfter: 2 + completed: + - !type:SpawnPrototype + prototype: TorsoBorgEngineer + amount: 1 + - !type:DeleteEntity {} + + - node: janitor + edges: + - to: start + steps: + - tool: Screwing + doAfter: 1 + - tool: Cutting + doAfter: 3 + completed: + - !type:SpawnPrototype + prototype: CableApcStack1 + amount: 4 + - tool: Anchoring + doAfter: 1 + - tool: Welding + doAfter: 5 + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 4 + - tool: Prying + doAfter: 2 + completed: + - !type:SpawnPrototype + prototype: HeadBorgJanitor + amount: 1 + - !type:DeleteEntity {} + + - node: medical + edges: + - to: start + steps: + - tool: Screwing + doAfter: 1 + - tool: Cutting + doAfter: 3 + completed: + - !type:SpawnPrototype + prototype: CableApcStack1 + amount: 4 + - tool: Anchoring + doAfter: 1 + - tool: Welding + doAfter: 5 + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 4 + - tool: Prying + doAfter: 2 + completed: + - !type:SpawnPrototype + prototype: HeadBorgMedical + amount: 1 + - !type:DeleteEntity {} + + - node: miner + edges: + - to: start + steps: + - tool: Screwing + doAfter: 1 + - tool: Cutting + doAfter: 3 + completed: + - !type:SpawnPrototype + prototype: CableApcStack1 + amount: 4 + - tool: Anchoring + doAfter: 1 + - tool: Welding + doAfter: 5 + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 4 + - tool: Prying + doAfter: 2 + completed: + - !type:SpawnPrototype + prototype: TorsoBorgMining + amount: 1 + - !type:DeleteEntity {} + + - node: service + edges: + - to: start + steps: + - tool: Screwing + doAfter: 1 + - tool: Cutting + doAfter: 3 + completed: + - !type:SpawnPrototype + prototype: CableApcStack1 + amount: 4 + - tool: Anchoring + doAfter: 1 + - tool: Welding + doAfter: 5 + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 4 + - tool: Prying + doAfter: 2 + completed: + - !type:SpawnPrototype + prototype: HeadBorgService + amount: 1 + - !type:DeleteEntity {} diff --git a/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/engineer.rsi/engineer.png b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/engineer.rsi/engineer.png new file mode 100644 index 000000000000..7deb69e6a233 Binary files /dev/null and b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/engineer.rsi/engineer.png differ diff --git a/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/engineer.rsi/meta.json b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/engineer.rsi/meta.json new file mode 100644 index 000000000000..bdf07ddadd19 --- /dev/null +++ b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/engineer.rsi/meta.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "license": "EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt", + "copyright": "Made by gabova (Discord) for SS220", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "engineer" + }, + { + "name": "no_cable" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/engineer.rsi/no_cable.png b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/engineer.rsi/no_cable.png new file mode 100644 index 000000000000..69afa365ad00 Binary files /dev/null and b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/engineer.rsi/no_cable.png differ diff --git a/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/janitor.rsi/janitor.png b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/janitor.rsi/janitor.png new file mode 100644 index 000000000000..51a0f186f172 Binary files /dev/null and b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/janitor.rsi/janitor.png differ diff --git a/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/janitor.rsi/meta.json b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/janitor.rsi/meta.json new file mode 100644 index 000000000000..1c7f72afa0a3 --- /dev/null +++ b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/janitor.rsi/meta.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "license": "EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt", + "copyright": "Made by gabova (Discord) for SS220", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "janitor" + }, + { + "name": "no_cable" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/janitor.rsi/no_cable.png b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/janitor.rsi/no_cable.png new file mode 100644 index 000000000000..bc0e9016dbce Binary files /dev/null and b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/janitor.rsi/no_cable.png differ diff --git a/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/medical.rsi/medical.png b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/medical.rsi/medical.png new file mode 100644 index 000000000000..d121c268bfc6 Binary files /dev/null and b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/medical.rsi/medical.png differ diff --git a/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/medical.rsi/meta.json b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/medical.rsi/meta.json new file mode 100644 index 000000000000..d3581526a783 --- /dev/null +++ b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/medical.rsi/meta.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "license": "EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt", + "copyright": "Made by gabova (Discord) for SS220", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "medical" + }, + { + "name": "no_cable" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/medical.rsi/no_cable.png b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/medical.rsi/no_cable.png new file mode 100644 index 000000000000..981cf23ae549 Binary files /dev/null and b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/medical.rsi/no_cable.png differ diff --git a/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/miner.rsi/meta.json b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/miner.rsi/meta.json new file mode 100644 index 000000000000..1859cc52af5a --- /dev/null +++ b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/miner.rsi/meta.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "license": "EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt", + "copyright": "Made by gabova (Discord) for SS220", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "miner" + }, + { + "name": "no_cable" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/miner.rsi/miner.png b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/miner.rsi/miner.png new file mode 100644 index 000000000000..627a072fdc38 Binary files /dev/null and b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/miner.rsi/miner.png differ diff --git a/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/miner.rsi/no_cable.png b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/miner.rsi/no_cable.png new file mode 100644 index 000000000000..446bb9754654 Binary files /dev/null and b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/miner.rsi/no_cable.png differ diff --git a/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/robot.rsi/meta.json b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/robot.rsi/meta.json new file mode 100644 index 000000000000..2270d8ed8220 --- /dev/null +++ b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/robot.rsi/meta.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "license": "EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt", + "copyright": "Made by gabova (Discord) for SS220", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "robot" + }, + { + "name": "no_cable" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/robot.rsi/no_cable.png b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/robot.rsi/no_cable.png new file mode 100644 index 000000000000..9bdb5bb03c7b Binary files /dev/null and b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/robot.rsi/no_cable.png differ diff --git a/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/robot.rsi/robot.png b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/robot.rsi/robot.png new file mode 100644 index 000000000000..961318809cef Binary files /dev/null and b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/robot.rsi/robot.png differ diff --git a/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/service.rsi/meta.json b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/service.rsi/meta.json new file mode 100644 index 000000000000..368250d9a532 --- /dev/null +++ b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/service.rsi/meta.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "license": "EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt", + "copyright": "Made by gabova (Discord) for SS220", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "service" + }, + { + "name": "no_cable" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/service.rsi/no_cable.png b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/service.rsi/no_cable.png new file mode 100644 index 000000000000..b44f5ea9bfcc Binary files /dev/null and b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/service.rsi/no_cable.png differ diff --git a/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/service.rsi/service.png b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/service.rsi/service.png new file mode 100644 index 000000000000..074c9d1c6164 Binary files /dev/null and b/Resources/Textures/SS220/Structures/Specific/BrokenBorgs/service.rsi/service.png differ