Sheet-meister 2000 (#16686)
@@ -41,7 +41,7 @@ namespace Content.IntegrationTests.Tests.Materials
|
||||
{
|
||||
foreach (var proto in allMaterialProtos)
|
||||
{
|
||||
if (proto.StackEntity == "")
|
||||
if (proto.StackEntity == null)
|
||||
continue;
|
||||
|
||||
var spawned = entityManager.SpawnEntity(proto.StackEntity, coords);
|
||||
|
||||
@@ -117,7 +117,7 @@ public sealed class MaterialStorageSystem : SharedMaterialStorageSystem
|
||||
{
|
||||
overflowMaterial = 0;
|
||||
|
||||
if (amount <= 0)
|
||||
if (amount <= 0 || materialProto.StackEntity == null)
|
||||
return new List<EntityUid>();
|
||||
|
||||
var entProto = _prototypeManager.Index<EntityPrototype>(materialProto.StackEntity);
|
||||
|
||||
@@ -30,7 +30,7 @@ namespace Content.Shared.Materials
|
||||
/// include which stack we should spawn by default.
|
||||
/// </summary>
|
||||
[DataField("stackEntity", customTypeSerializer:typeof(PrototypeIdSerializer<EntityPrototype>))]
|
||||
public string StackEntity { get; } = "";
|
||||
public string? StackEntity;
|
||||
|
||||
[DataField("name")]
|
||||
public string Name = "";
|
||||
|
||||
@@ -19,6 +19,7 @@ materials-plastic = plastic
|
||||
materials-wood = wood
|
||||
materials-uranium = uranium
|
||||
materials-bananium = bananium
|
||||
materials-meat = meat
|
||||
|
||||
# Material Reclaimer
|
||||
material-reclaimer-upgrade-process-rate = process rate
|
||||
|
||||
@@ -28,6 +28,10 @@
|
||||
size: 5
|
||||
- type: Temperature
|
||||
currentTemperature: 290
|
||||
- type: Material
|
||||
- type: PhysicalComposition
|
||||
materialComposition:
|
||||
Meaterial: 300
|
||||
|
||||
- type: Tag
|
||||
id: Raw
|
||||
|
||||
@@ -708,6 +708,17 @@
|
||||
materialRequirements:
|
||||
Glass: 1
|
||||
|
||||
- type: entity
|
||||
id: SheetifierMachineCircuitboard
|
||||
parent: BaseMachineCircuitboard
|
||||
name: sheet-meister 2000 machine board
|
||||
components:
|
||||
- type: MachineBoard
|
||||
prototype: Sheetifier
|
||||
requirements:
|
||||
MatterBin: 1
|
||||
Manipulator: 1
|
||||
|
||||
- type: entity
|
||||
id: MicrowaveMachineCircuitboard
|
||||
parent: BaseMachineCircuitboard
|
||||
|
||||
@@ -191,3 +191,44 @@
|
||||
components:
|
||||
- type: Stack
|
||||
count: 1
|
||||
|
||||
- type: entity
|
||||
parent: SheetOtherBase
|
||||
id: MaterialSheetMeat
|
||||
name: meat sheet
|
||||
suffix: Full
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Materials/Sheets/meaterial.rsi
|
||||
layers:
|
||||
- state: meat_3
|
||||
map: [ "base" ]
|
||||
- type: Tag
|
||||
tags:
|
||||
- Sheet
|
||||
- DroneUsable
|
||||
- type: Material
|
||||
- type: PhysicalComposition
|
||||
materialComposition:
|
||||
Meaterial: 100
|
||||
- type: Stack
|
||||
stackType: MeatSheets
|
||||
baseLayer: base
|
||||
layerStates:
|
||||
- meat
|
||||
- meat_2
|
||||
- meat_3
|
||||
- type: Item
|
||||
sprite: Objects/Materials/Sheets/meaterial.rsi
|
||||
heldPrefix: meat
|
||||
- type: Appearance
|
||||
|
||||
- type: entity
|
||||
parent: MaterialSheetMeat
|
||||
id: MaterialSheetMeat1
|
||||
suffix: Single
|
||||
components:
|
||||
- type: Sprite
|
||||
state: meat
|
||||
- type: Stack
|
||||
count: 1
|
||||
|
||||
@@ -735,6 +735,25 @@
|
||||
- type: Stack
|
||||
stackType: FloorTileWoodPattern
|
||||
|
||||
- type: entity
|
||||
id: FloorTileItemFlesh
|
||||
parent: FloorTileItemBase
|
||||
name: flesh floor
|
||||
components:
|
||||
- type: Sprite
|
||||
state: meat
|
||||
- type: Item
|
||||
heldPrefix: meat
|
||||
- type: FloorTile
|
||||
outputs:
|
||||
- Plating
|
||||
- FloorFlesh
|
||||
- type: Stack
|
||||
stackType: FloorTileFlesh
|
||||
- type: Construction
|
||||
graph: TileFlesh
|
||||
node: fleshTile
|
||||
|
||||
- type: entity
|
||||
name: steel maint floor
|
||||
parent: FloorTileItemBase
|
||||
|
||||
@@ -206,6 +206,20 @@
|
||||
graph: RitualSeat
|
||||
node: chairRitual
|
||||
|
||||
- type: entity
|
||||
id: ChairMeat
|
||||
parent: SeatBase
|
||||
name: meat chair
|
||||
description: Uncomfortably sweaty.
|
||||
components:
|
||||
- type: Anchorable
|
||||
- type: Rotatable
|
||||
- type: Sprite
|
||||
state: meat
|
||||
- type: Construction
|
||||
graph: Seat
|
||||
node: chairMeat
|
||||
|
||||
- type: entity
|
||||
name: cursed chair
|
||||
id: ChairCursed
|
||||
|
||||
@@ -301,6 +301,7 @@
|
||||
- HotplateMachineCircuitboard
|
||||
- MicrowaveMachineCircuitboard
|
||||
- FatExtractorMachineCircuitboard
|
||||
- SheetifierMachineCircuitboard
|
||||
- UniformPrinterMachineCircuitboard
|
||||
- ShuttleConsoleCircuitboard
|
||||
- RadarConsoleCircuitboard
|
||||
@@ -680,3 +681,31 @@
|
||||
- IngotGold1
|
||||
- IngotSilver1
|
||||
- MaterialBananium1
|
||||
|
||||
- type: entity
|
||||
parent: Autolathe
|
||||
id: Sheetifier
|
||||
name: sheet-meister 2000
|
||||
description: A very sheety machine.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Structures/Machines/sheetifier.rsi
|
||||
layers:
|
||||
- state: base_machine
|
||||
map: ["enum.LatheVisualLayers.IsRunning"]
|
||||
- state: buttons_on
|
||||
shader: unshaded
|
||||
map: ["enum.PowerDeviceVisualLayers.Powered"]
|
||||
- type: Machine
|
||||
board: SheetifierMachineCircuitboard
|
||||
- type: MaterialStorage
|
||||
dropOnDeconstruct: false #should drop ores instead of ingots/sheets
|
||||
ignoreColor: true
|
||||
whitelist:
|
||||
tags:
|
||||
- Raw
|
||||
- type: Lathe
|
||||
idleState: base_machine
|
||||
runningState: base_machine_processing
|
||||
staticRecipes:
|
||||
- MaterialSheetMeat
|
||||
|
||||
@@ -144,6 +144,40 @@
|
||||
key: walls
|
||||
base: clown
|
||||
|
||||
- type: entity
|
||||
parent: BaseWall
|
||||
id: WallMeat
|
||||
name: meat wall
|
||||
description: Sticky.
|
||||
components:
|
||||
- type: Tag
|
||||
tags:
|
||||
- RCDDeconstructWhitelist
|
||||
- Wall
|
||||
- Structure
|
||||
- type: Sprite
|
||||
sprite: Structures/Walls/meat.rsi
|
||||
- type: Icon
|
||||
sprite: Structures/Walls/meat.rsi
|
||||
- type: Construction
|
||||
graph: Girder
|
||||
node: bananiumWall
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 100 # weak
|
||||
behaviors:
|
||||
- !type:SpawnEntitiesBehavior
|
||||
spawn:
|
||||
Girder:
|
||||
min: 1
|
||||
max: 1
|
||||
- !type:DoActsBehavior
|
||||
acts: [ "Destruction" ]
|
||||
- type: IconSmooth
|
||||
key: walls
|
||||
base: meat
|
||||
|
||||
- type: entity
|
||||
parent: BaseWall
|
||||
|
||||
@@ -69,3 +69,10 @@
|
||||
icon: { sprite: Objects/Materials/materials.rsi, state: bananium }
|
||||
color: "#32a852"
|
||||
price: 0.2
|
||||
|
||||
- type: material
|
||||
id: Meaterial # you can't take this pun from me
|
||||
name: materials-meat
|
||||
icon: { sprite: Objects/Materials/Sheets/meaterial.rsi, state: meat }
|
||||
color: "#c53648"
|
||||
price: 0.05
|
||||
|
||||
@@ -46,6 +46,11 @@
|
||||
- material: WoodPlank
|
||||
amount: 3
|
||||
doAfter: 1
|
||||
- to: chairMeat
|
||||
steps:
|
||||
- material: MeatSheets
|
||||
amount: 2
|
||||
doAfter: 1
|
||||
- to: chairFolding
|
||||
steps:
|
||||
- material: Plastic
|
||||
@@ -147,6 +152,18 @@
|
||||
- tool: Screwing
|
||||
doAfter: 1
|
||||
|
||||
- node: chairMeat
|
||||
entity: ChairMeat
|
||||
edges:
|
||||
- to: start
|
||||
completed:
|
||||
- !type:SpawnPrototype
|
||||
prototype: MaterialSheetMeat1
|
||||
amount: 2
|
||||
steps:
|
||||
- tool: Screwing
|
||||
doAfter: 1
|
||||
|
||||
- node: chairFolding
|
||||
entity: ChairFolding
|
||||
edges:
|
||||
|
||||
@@ -134,6 +134,17 @@
|
||||
- tool: Welding
|
||||
doAfter: 20
|
||||
|
||||
- to: meatWall
|
||||
completed:
|
||||
- !type:SnapToGrid
|
||||
southRotation: true
|
||||
conditions:
|
||||
- !type:EntityAnchored {}
|
||||
steps:
|
||||
- material: MeatSheets
|
||||
amount: 2
|
||||
doAfter: 2
|
||||
|
||||
- node: wall
|
||||
entity: WallSolid
|
||||
edges:
|
||||
@@ -240,6 +251,18 @@
|
||||
- tool: Prying
|
||||
doAfter: 10
|
||||
|
||||
- node: meatWall
|
||||
entity: WallMeat
|
||||
edges:
|
||||
- to: girder
|
||||
completed:
|
||||
- !type:GivePrototype
|
||||
prototype: MaterialSheetMeat1
|
||||
amount: 2
|
||||
steps:
|
||||
- tool: Prying
|
||||
doAfter: 5
|
||||
|
||||
- node: reinforcedGirder
|
||||
entity: ReinforcedGirder
|
||||
edges:
|
||||
|
||||
@@ -135,6 +135,23 @@
|
||||
conditions:
|
||||
- !type:TileNotBlocked
|
||||
|
||||
- type: construction
|
||||
name: meat chair
|
||||
id: ChairMeat
|
||||
graph: Seat
|
||||
startNode: start
|
||||
targetNode: chairMeat
|
||||
category: construction-category-furniture
|
||||
description: Uncomfortably sweaty.
|
||||
icon:
|
||||
sprite: Structures/Furniture/chairs.rsi
|
||||
state: meat
|
||||
objectType: Structure
|
||||
placementMode: SnapgridCenter
|
||||
canBuildInImpassable: false
|
||||
conditions:
|
||||
- !type:TileNotBlocked
|
||||
|
||||
- type: construction
|
||||
name: ritual chair
|
||||
id: ChairRitual
|
||||
|
||||
@@ -196,6 +196,24 @@
|
||||
conditions:
|
||||
- !type:TileNotBlocked
|
||||
|
||||
- type: construction
|
||||
name: meat wall
|
||||
id: MeatWall
|
||||
graph: Girder
|
||||
startNode: start
|
||||
targetNode: meatWall
|
||||
category: construction-category-structures
|
||||
description: Sticky.
|
||||
icon:
|
||||
sprite: Structures/Walls/meat.rsi
|
||||
state: full
|
||||
objectType: Structure
|
||||
placementMode: SnapgridCenter
|
||||
canRotate: false
|
||||
canBuildInImpassable: false
|
||||
conditions:
|
||||
- !type:TileNotBlocked
|
||||
|
||||
- type: construction
|
||||
name: grille
|
||||
id: Grille
|
||||
|
||||
@@ -62,3 +62,19 @@
|
||||
amount: 1
|
||||
- node: darktile
|
||||
entity: FloorTileItemDark
|
||||
|
||||
- type: constructionGraph
|
||||
id: TileFlesh
|
||||
start: start
|
||||
graph:
|
||||
- node: start
|
||||
edges:
|
||||
- to: fleshTile
|
||||
completed:
|
||||
- !type:SetStackCount
|
||||
amount: 4
|
||||
steps:
|
||||
- material: MeatSheets
|
||||
amount: 1
|
||||
- node: fleshTile
|
||||
entity: FloorTileItemFlesh
|
||||
|
||||
@@ -44,6 +44,17 @@
|
||||
icon: { sprite: Objects/Tiles/tile.rsi, state: dark }
|
||||
objectType: Item
|
||||
|
||||
- type: construction
|
||||
name: flesh tile
|
||||
id: TileFlesh
|
||||
graph: TileFlesh
|
||||
startNode: start
|
||||
targetNode: fleshTile
|
||||
category: construction-category-tiles
|
||||
description: "Four fleshy tiles."
|
||||
icon: { sprite: Objects/Tiles/tile.rsi, state: meat }
|
||||
objectType: Item
|
||||
|
||||
# - type: construction
|
||||
# name: techmaint floor
|
||||
# id: tileTechmaint
|
||||
|
||||
@@ -501,6 +501,14 @@
|
||||
Steel: 100
|
||||
Glass: 900
|
||||
|
||||
- type: latheRecipe
|
||||
id: SheetifierMachineCircuitboard
|
||||
result: SheetifierMachineCircuitboard
|
||||
completetime: 4
|
||||
materials:
|
||||
Steel: 100
|
||||
Glass: 900
|
||||
|
||||
- type: latheRecipe
|
||||
id: SurveillanceCameraRouterCircuitboard
|
||||
result: SurveillanceCameraRouterCircuitboard
|
||||
|
||||
@@ -104,3 +104,10 @@
|
||||
completetime: 2
|
||||
materials:
|
||||
Bananium: 500
|
||||
|
||||
- type: latheRecipe
|
||||
id: MaterialSheetMeat
|
||||
result: MaterialSheetMeat1
|
||||
completetime: 6.4
|
||||
materials:
|
||||
Meaterial: 200
|
||||
|
||||
@@ -116,6 +116,7 @@
|
||||
cost: 5000
|
||||
recipeUnlocks:
|
||||
- FatExtractorMachineCircuitboard
|
||||
- SheetifierMachineCircuitboard
|
||||
|
||||
- type: technology
|
||||
id: HONKMech
|
||||
|
||||
@@ -53,3 +53,10 @@
|
||||
icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: bananium }
|
||||
spawn: MaterialBananium1
|
||||
maxCount: 10
|
||||
|
||||
- type: stack
|
||||
id: MeatSheets
|
||||
name: meat sheet
|
||||
icon: { sprite: /Textures/Objects/Materials/Sheets/meaterial.rsi, state: meat }
|
||||
spawn: MaterialSheetMeat1
|
||||
maxCount: 30
|
||||
|
||||
@@ -298,6 +298,12 @@
|
||||
spawn: FloorTileItemWoodPattern
|
||||
maxCount: 30
|
||||
|
||||
- type: stack
|
||||
id: FloorTileFlesh
|
||||
name: flesh floor
|
||||
spawn: FloorTileItemFlesh
|
||||
maxCount: 30
|
||||
|
||||
- type: stack
|
||||
id: FloorTileSteelMaint
|
||||
name: steel maint floor
|
||||
|
||||
@@ -1135,6 +1135,7 @@
|
||||
canCrowbar: true
|
||||
footstepSounds:
|
||||
collection: BarestepCarpet
|
||||
itemDrop: FloorTileItemFlesh
|
||||
friction: 0.20 #slippy
|
||||
heatCapacity: 10000
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 723 B After Width: | Height: | Size: 709 B |
|
After Width: | Height: | Size: 388 B |
|
After Width: | Height: | Size: 408 B |
|
After Width: | Height: | Size: 431 B |
|
After Width: | Height: | Size: 520 B |
|
After Width: | Height: | Size: 565 B |
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC0-1.0",
|
||||
"copyright": "Created by EmoGarbage404 (github) for Space Station 14",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "meat-inhand-left",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "meat-inhand-right",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "meat"
|
||||
},
|
||||
{
|
||||
"name": "meat_2"
|
||||
},
|
||||
{
|
||||
"name": "meat_3"
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
Resources/Textures/Objects/Tiles/tile.rsi/meat-inhand-left.png
Normal file
|
After Width: | Height: | Size: 329 B |
BIN
Resources/Textures/Objects/Tiles/tile.rsi/meat-inhand-right.png
Normal file
|
After Width: | Height: | Size: 344 B |
BIN
Resources/Textures/Objects/Tiles/tile.rsi/meat.png
Normal file
|
After Width: | Height: | Size: 345 B |
@@ -40,6 +40,17 @@
|
||||
{
|
||||
"name": "lino"
|
||||
},
|
||||
{
|
||||
"name": "meat"
|
||||
},
|
||||
{
|
||||
"name": "meat-inhand-right",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "meat-inhand-left",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "mime"
|
||||
},
|
||||
|
||||
BIN
Resources/Textures/Structures/Furniture/chairs.rsi/meat.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/11402f6ae62facc2e8bcfa1f8ef5353b26663278",
|
||||
"copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/11402f6ae62facc2e8bcfa1f8ef5353b26663278, meat.png is CC0-1.0 by EmoGarbage404 (github) for Space Station 14",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
@@ -39,6 +39,10 @@
|
||||
"name": "comfy-overlay",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "meat",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "office-dark",
|
||||
"directions": 4
|
||||
|
||||
|
After Width: | Height: | Size: 939 B |
|
After Width: | Height: | Size: 7.3 KiB |
|
After Width: | Height: | Size: 201 B |
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/4b2a8aebe52199bcc60ee11d80482dcd61bf605c",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "base_machine"
|
||||
},
|
||||
{
|
||||
"name": "base_machine_processing",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "buttons_on"
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
Resources/Textures/Structures/Walls/meat.rsi/full.png
Normal file
|
After Width: | Height: | Size: 690 B |
BIN
Resources/Textures/Structures/Walls/meat.rsi/meat0.png
Normal file
|
After Width: | Height: | Size: 1000 B |
BIN
Resources/Textures/Structures/Walls/meat.rsi/meat1.png
Normal file
|
After Width: | Height: | Size: 875 B |
BIN
Resources/Textures/Structures/Walls/meat.rsi/meat2.png
Normal file
|
After Width: | Height: | Size: 1000 B |
BIN
Resources/Textures/Structures/Walls/meat.rsi/meat3.png
Normal file
|
After Width: | Height: | Size: 875 B |
BIN
Resources/Textures/Structures/Walls/meat.rsi/meat4.png
Normal file
|
After Width: | Height: | Size: 865 B |
BIN
Resources/Textures/Structures/Walls/meat.rsi/meat5.png
Normal file
|
After Width: | Height: | Size: 751 B |
BIN
Resources/Textures/Structures/Walls/meat.rsi/meat6.png
Normal file
|
After Width: | Height: | Size: 865 B |
BIN
Resources/Textures/Structures/Walls/meat.rsi/meat7.png
Normal file
|
After Width: | Height: | Size: 258 B |
1
Resources/Textures/Structures/Walls/meat.rsi/meta.json
Normal file
@@ -0,0 +1 @@
|
||||
{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC0-1.0", "copyright": "Created by EmoGarbage404 (github) for Space Station 14", "states": [{"name": "meat0", "directions": 4}, {"name": "meat1", "directions": 4}, {"name": "meat2", "directions": 4}, {"name": "meat3", "directions": 4}, {"name": "meat4", "directions": 4}, {"name": "meat5", "directions": 4}, {"name": "meat6", "directions": 4}, {"name": "meat7", "directions": 4}, {"name": "full"}]}
|
||||