Add material doors and recipes to make them (#6578)

Co-authored-by: fishfish458 <fishfish458>
This commit is contained in:
Fishfish458
2022-02-18 00:01:35 -06:00
committed by GitHub
parent 2a25203bef
commit de6ca87b9c
46 changed files with 993 additions and 9 deletions

Binary file not shown.

View File

@@ -85,3 +85,5 @@
- type: DisassembleOnAltVerb
prototype: InflatableDoorStack1
doAfter: 3
- type: Occluder
enabled: false

View File

@@ -7,7 +7,7 @@
components:
- type: Sprite
netsync: false
sprite: Structures/Doors/MineralDoors/wood_door.rsi
sprite: Structures/Doors/MineralDoors/metal_door.rsi
layers:
- state: closed
map: ["enum.DoorVisualLayers.Base"]
@@ -35,9 +35,9 @@
openTimeOne: 0.6
openTimeTwo: 0.2
openSound:
path: /Audio/Effects/door_open.ogg
path: /Audio/Effects/stonedoor_openclose.ogg
closeSound:
path: /Audio/Effects/door_close.ogg
path: /Audio/Effects/stonedoor_openclose.ogg
- type: Appearance
visuals:
- type: AirlockVisualizer
@@ -45,6 +45,57 @@
animationTime: 1.2
- type: Airtight
fixVacuum: true
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Metallic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- type: IconSmooth
key: walls
mode: NoSprite
- type: Occluder
sizeX: 32
sizeY: 32
- type: entity
id: MetalDoor
name: metal door
parent: BaseMaterialDoor
components:
- type: Construction
graph: DoorGraph
node: metalDoor
- type: entity
id: WoodDoor
name: wooden door
parent: BaseMaterialDoor
description: A door, where will it lead?
components:
- type: Sprite
netsync: false
sprite: Structures/Doors/MineralDoors/wood_door.rsi
layers:
- state: closed
map: ["enum.DoorVisualLayers.Base"]
- type: Door
bumpOpen: false
clickOpen: true
weldable: false
closeTimeOne: 0.2
closeTimeTwo: 0.6
openTimeOne: 0.6
openTimeTwo: 0.2
openSound:
path: /Audio/Effects/door_open.ogg
closeSound:
path: /Audio/Effects/door_close.ogg
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Wood
@@ -56,11 +107,160 @@
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- type: IconSmooth
key: walls
mode: NoSprite
- type: Construction
graph: DoorGraph
node: woodDoor
- type: entity
id: WoodDoor
name: wooden door
id: PaperDoor
name: paper door
parent: WoodDoor
description: A door, where will it lead?
components:
- type: Sprite
netsync: false
sprite: Structures/Doors/MineralDoors/paper_door.rsi
layers:
- state: closed
map: ["enum.DoorVisualLayers.Base"]
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 50
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Construction
graph: DoorGraph
node: paperDoor
- type: entity
id: PlasmaDoor
name: plasma door
parent: BaseMaterialDoor
description: A door, where will it lead?
components:
- type: Sprite
netsync: false
sprite: Structures/Doors/MineralDoors/plasma_door.rsi
layers:
- state: closed
map: ["enum.DoorVisualLayers.Base"]
- type: Damageable
damageContainer: Inorganic
damageModifierSet: StrongMetallic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 300
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Construction
graph: DoorGraph
node: plasmaDoor
- type: entity
id: DiamondDoor
name: diamond door
parent: BaseMaterialDoor
description: A door, where will it lead?
components:
- type: Sprite
netsync: false
sprite: Structures/Doors/MineralDoors/diamond_door.rsi
layers:
- state: closed
map: ["enum.DoorVisualLayers.Base"]
- type: Damageable
damageContainer: Inorganic
damageModifierSet: StrongMetallic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 400
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Construction
graph: DoorGraph
node: diamondDoor
- type: entity
id: UraniumDoor
name: uranium door
parent: BaseMaterialDoor
description: A door, where will it lead?
components:
- type: Sprite
netsync: false
sprite: Structures/Doors/MineralDoors/uranium_door.rsi
layers:
- state: closed
map: ["enum.DoorVisualLayers.Base"]
- type: Damageable
damageContainer: Inorganic
damageModifierSet: StrongMetallic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 300
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Construction
graph: DoorGraph
node: uraniumDoor
- type: entity
id: GoldDoor
name: gold door
parent: BaseMaterialDoor
description: A door, where will it lead?
components:
- type: Sprite
netsync: false
sprite: Structures/Doors/MineralDoors/gold_door.rsi
layers:
- state: closed
map: ["enum.DoorVisualLayers.Base"]
- type: Construction
graph: DoorGraph
node: goldDoor
- type: entity
id: SilverDoor
name: silver door
parent: BaseMaterialDoor
description: A door, where will it lead?
components:
- type: Sprite
netsync: false
sprite: Structures/Doors/MineralDoors/silver_door.rsi
layers:
- state: closed
map: ["enum.DoorVisualLayers.Base"]
- type: Construction
graph: DoorGraph
node: silverDoor
- type: entity
id: SandstoneDoor
name: sandstone door
parent: BaseMaterialDoor
description: A door, where will it lead?
components:
- type: Sprite
netsync: false
sprite: Structures/Doors/MineralDoors/sandstone_door.rsi
layers:
- state: closed
map: ["enum.DoorVisualLayers.Base"]
- type: Construction
graph: DoorGraph
node: sandstoneDoor

View File

@@ -27,6 +27,9 @@
- type: IconSmooth
key: walls
base: brick
- type: Occluder
sizeX: 32
sizeY: 32
- type: entity
parent: WallBase

View File

@@ -0,0 +1,170 @@
- type: constructionGraph
id: DoorGraph
start: start
graph:
- node: start
actions:
- !type:DestroyEntity {}
edges:
- to: metalDoor
completed:
- !type:SnapToGrid { }
steps:
- material: Steel
amount: 20
doAfter: 15
- to: woodDoor
completed:
- !type:SnapToGrid { }
steps:
- material: WoodPlank
amount: 20
doAfter: 15
- to: plasmaDoor
completed:
- !type:SnapToGrid { }
steps:
- material: Plasma
amount: 20
doAfter: 15
- to: diamondDoor
completed:
- !type:SnapToGrid { }
steps:
- material: Diamond
amount: 20
doAfter: 15
- to: uraniumDoor
completed:
- !type:SnapToGrid { }
steps:
- material: Uranium
amount: 20
doAfter: 15
- to: goldDoor
completed:
- !type:SnapToGrid { }
steps:
- material: Gold
amount: 20
doAfter: 15
- to: silverDoor
completed:
- !type:SnapToGrid { }
steps:
- material: Silver
amount: 20
doAfter: 15
- to: sandstoneDoor
completed:
- !type:SnapToGrid { }
steps:
- material: Sand
amount: 20
doAfter: 15
- to: paperDoor
completed:
- !type:SnapToGrid { }
steps:
- material: Paper
amount: 20
doAfter: 15
- node: metalDoor
entity: MetalDoor
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: SheetSteel1
amount: 20
steps:
- tool: Anchoring
doAfter: 15
- node: woodDoor
entity: WoodDoor
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: MaterialWoodPlank1
amount: 20
steps:
- tool: Anchoring
doAfter: 15
- node: plasmaDoor
entity: PlasmaDoor
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: SheetPlasma
amount: 20
steps:
- tool: Anchoring
doAfter: 15
- node: diamondDoor
entity: DiamondDoor
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: MaterialDiamond1
amount: 20
steps:
- tool: Anchoring
doAfter: 15
- node: uraniumDoor
entity: UraniumDoor
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: SheetUranium1
amount: 20
steps:
- tool: Anchoring
doAfter: 15
- node: goldDoor
entity: GoldDoor
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: IngotGold1
amount: 20
steps:
- tool: Anchoring
doAfter: 15
- node: silverDoor
entity: SilverDoor
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: IngotSilver1
amount: 20
steps:
- tool: Anchoring
doAfter: 15
- node: sandstoneDoor
entity: SandstoneDoor
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: Sand
amount: 20
steps:
- tool: Anchoring
doAfter: 15
- node: paperDoor
entity: PaperDoor
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: SheetPaper1
amount: 20
steps:
- tool: Anchoring
doAfter: 15

View File

@@ -252,7 +252,7 @@
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: shutter
id: Shutters
@@ -521,3 +521,156 @@
state: switch-off
conditions:
- !type:TileNotBlocked
- type: construction
name: metal door
id: MetalDoor
graph: DoorGraph
startNode: start
targetNode: metalDoor
category: Structures
description: A primitive door with manual operation like the cavemen used.
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
icon:
sprite: Structures/Doors/MineralDoors/metal_door.rsi
state: closed
conditions:
- !type:TileNotBlocked
- type: construction
name: wooden door
id: WoodDoor
graph: DoorGraph
startNode: start
targetNode: woodDoor
category: Structures
description: A primitive door with manual operation like the cavemen used.
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
icon:
sprite: Structures/Doors/MineralDoors/wood_door.rsi
state: closed
conditions:
- !type:TileNotBlocked
- type: construction
name: plasma door
id: PlasmaDoor
graph: DoorGraph
startNode: start
targetNode: plasmaDoor
category: Structures
description: A primitive door with manual operation like the cavemen used.
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
icon:
sprite: Structures/Doors/MineralDoors/plasma_door.rsi
state: closed
conditions:
- !type:TileNotBlocked
- type: construction
name: diamond door
id: DiamondDoor
graph: DoorGraph
startNode: start
targetNode: diamondDoor
category: Structures
description: A primitive door with manual operation like the cavemen used.
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
icon:
sprite: Structures/Doors/MineralDoors/diamond_door.rsi
state: closed
conditions:
- !type:TileNotBlocked
- type: construction
name: uranium door
id: UraniumDoor
graph: DoorGraph
startNode: start
targetNode: uraniumDoor
category: Structures
description: A primitive door with manual operation like the cavemen used.
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
icon:
sprite: Structures/Doors/MineralDoors/uranium_door.rsi
state: closed
conditions:
- !type:TileNotBlocked
- type: construction
name: gold door
id: GoldDoor
graph: DoorGraph
startNode: start
targetNode: goldDoor
category: Structures
description: A primitive door with manual operation like the cavemen used.
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
icon:
sprite: Structures/Doors/MineralDoors/gold_door.rsi
state: closed
conditions:
- !type:TileNotBlocked
- type: construction
name: silver door
id: SilverDoor
graph: DoorGraph
startNode: start
targetNode: silverDoor
category: Structures
description: A primitive door with manual operation like the cavemen used.
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
icon:
sprite: Structures/Doors/MineralDoors/silver_door.rsi
state: closed
conditions:
- !type:TileNotBlocked
- type: construction
name: sandstone door
id: SandstoneDoor
graph: DoorGraph
startNode: start
targetNode: sandstoneDoor
category: Structures
description: A primitive door with manual operation like the cavemen used.
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
icon:
sprite: Structures/Doors/MineralDoors/sandstone_door.rsi
state: closed
conditions:
- !type:TileNotBlocked
- type: construction
name: paper door
id: PaperDoor
graph: DoorGraph
startNode: start
targetNode: paperDoor
category: Structures
description: A primitive door with manual operation like the cavemen used.
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
icon:
sprite: Structures/Doors/MineralDoors/paper_door.rsi
state: closed
conditions:
- !type:TileNotBlocked

Binary file not shown.

After

Width:  |  Height:  |  Size: 1009 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -0,0 +1,57 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from Tgstation https://github.com/tgstation/tgstation/commit/a5eaa18d2192ef9dd7c8d5b8f4ff22bcf304cdd1#diff-4713a9070dd0da77d2f0932685db4d445073695edb05bb49ff96240cbe355036",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "closed",
"directions": 1,
"delays": [
[
1.0
]
]
},
{
"name": "closing",
"directions": 1,
"delays": [
[
0.2,
0.2,
0.2,
0.2,
0.2,
0.2
]
]
},
{
"name": "open",
"directions": 1,
"delays": [
[
1.0
]
]
},
{
"name": "opening",
"directions": 1,
"delays": [
[
0.2,
0.2,
0.2,
0.2,
0.2,
0.2
]
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 810 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 959 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -0,0 +1,57 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from Tgstation https://github.com/tgstation/tgstation/commit/a5eaa18d2192ef9dd7c8d5b8f4ff22bcf304cdd1#diff-4713a9070dd0da77d2f0932685db4d445073695edb05bb49ff96240cbe355036",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "closed",
"directions": 1,
"delays": [
[
1.0
]
]
},
{
"name": "closing",
"directions": 1,
"delays": [
[
0.2,
0.2,
0.2,
0.2,
0.2,
0.2
]
]
},
{
"name": "open",
"directions": 1,
"delays": [
[
1.0
]
]
},
{
"name": "opening",
"directions": 1,
"delays": [
[
0.2,
0.2,
0.2,
0.2,
0.2,
0.2
]
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 767 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 933 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -0,0 +1,57 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from Tgstation https://github.com/tgstation/tgstation/commit/a5eaa18d2192ef9dd7c8d5b8f4ff22bcf304cdd1#diff-4713a9070dd0da77d2f0932685db4d445073695edb05bb49ff96240cbe355036",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "closed",
"directions": 1,
"delays": [
[
1.0
]
]
},
{
"name": "closing",
"directions": 1,
"delays": [
[
0.2,
0.2,
0.2,
0.2,
0.2,
0.2
]
]
},
{
"name": "open",
"directions": 1,
"delays": [
[
1.0
]
]
},
{
"name": "opening",
"directions": 1,
"delays": [
[
0.2,
0.2,
0.2,
0.2,
0.2,
0.2
]
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 754 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 354 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1,57 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from Tgstation https://github.com/tgstation/tgstation/commit/a5eaa18d2192ef9dd7c8d5b8f4ff22bcf304cdd1#diff-4713a9070dd0da77d2f0932685db4d445073695edb05bb49ff96240cbe355036",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "closed",
"directions": 1,
"delays": [
[
1.0
]
]
},
{
"name": "closing",
"directions": 1,
"delays": [
[
0.2,
0.2,
0.2,
0.2,
0.2,
0.2
]
]
},
{
"name": "open",
"directions": 1,
"delays": [
[
1.0
]
]
},
{
"name": "opening",
"directions": 1,
"delays": [
[
0.2,
0.2,
0.2,
0.2,
0.2,
0.2
]
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@@ -0,0 +1,57 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from Tgstation https://github.com/tgstation/tgstation/commit/a5eaa18d2192ef9dd7c8d5b8f4ff22bcf304cdd1#diff-4713a9070dd0da77d2f0932685db4d445073695edb05bb49ff96240cbe355036",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "closed",
"directions": 1,
"delays": [
[
1.0
]
]
},
{
"name": "closing",
"directions": 1,
"delays": [
[
0.2,
0.2,
0.2,
0.2,
0.2,
0.2
]
]
},
{
"name": "open",
"directions": 1,
"delays": [
[
1.0
]
]
},
{
"name": "opening",
"directions": 1,
"delays": [
[
0.2,
0.2,
0.2,
0.2,
0.2,
0.2
]
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@@ -0,0 +1,57 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from Tgstation https://github.com/tgstation/tgstation/commit/a5eaa18d2192ef9dd7c8d5b8f4ff22bcf304cdd1#diff-4713a9070dd0da77d2f0932685db4d445073695edb05bb49ff96240cbe355036",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "closed",
"directions": 1,
"delays": [
[
1.0
]
]
},
{
"name": "closing",
"directions": 1,
"delays": [
[
0.2,
0.2,
0.2,
0.2,
0.2,
0.2
]
]
},
{
"name": "open",
"directions": 1,
"delays": [
[
1.0
]
]
},
{
"name": "opening",
"directions": 1,
"delays": [
[
0.2,
0.2,
0.2,
0.2,
0.2,
0.2
]
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 881 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +1,57 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from Tgstation https://github.com/tgstation/tgstation/commit/a5eaa18d2192ef9dd7c8d5b8f4ff22bcf304cdd1#diff-4713a9070dd0da77d2f0932685db4d445073695edb05bb49ff96240cbe355036",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "closed",
"directions": 1,
"delays": [
[
1.0
]
]
},
{
"name": "closing",
"directions": 1,
"delays": [
[
0.2,
0.2,
0.2,
0.2,
0.2,
0.2
]
]
},
{
"name": "open",
"directions": 1,
"delays": [
[
1.0
]
]
},
{
"name": "opening",
"directions": 1,
"delays": [
[
0.2,
0.2,
0.2,
0.2,
0.2,
0.2
]
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 712 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@@ -0,0 +1,57 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from Tgstation https://github.com/tgstation/tgstation/commit/a5eaa18d2192ef9dd7c8d5b8f4ff22bcf304cdd1#diff-4713a9070dd0da77d2f0932685db4d445073695edb05bb49ff96240cbe355036",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "closed",
"directions": 1,
"delays": [
[
1.0
]
]
},
{
"name": "closing",
"directions": 1,
"delays": [
[
0.2,
0.2,
0.2,
0.2,
0.2,
0.2
]
]
},
{
"name": "open",
"directions": 1,
"delays": [
[
1.0
]
]
},
{
"name": "opening",
"directions": 1,
"delays": [
[
0.2,
0.2,
0.2,
0.2,
0.2,
0.2
]
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB