Sheet-meister 2000 (#16686)

This commit is contained in:
Nemanja
2023-06-14 20:49:23 -04:00
committed by GitHub
parent df39370055
commit 9946bd1f61
51 changed files with 439 additions and 15 deletions

View File

@@ -41,7 +41,7 @@ namespace Content.IntegrationTests.Tests.Materials
{ {
foreach (var proto in allMaterialProtos) foreach (var proto in allMaterialProtos)
{ {
if (proto.StackEntity == "") if (proto.StackEntity == null)
continue; continue;
var spawned = entityManager.SpawnEntity(proto.StackEntity, coords); var spawned = entityManager.SpawnEntity(proto.StackEntity, coords);

View File

@@ -117,7 +117,7 @@ public sealed class MaterialStorageSystem : SharedMaterialStorageSystem
{ {
overflowMaterial = 0; overflowMaterial = 0;
if (amount <= 0) if (amount <= 0 || materialProto.StackEntity == null)
return new List<EntityUid>(); return new List<EntityUid>();
var entProto = _prototypeManager.Index<EntityPrototype>(materialProto.StackEntity); var entProto = _prototypeManager.Index<EntityPrototype>(materialProto.StackEntity);

View File

@@ -30,7 +30,7 @@ namespace Content.Shared.Materials
/// include which stack we should spawn by default. /// include which stack we should spawn by default.
/// </summary> /// </summary>
[DataField("stackEntity", customTypeSerializer:typeof(PrototypeIdSerializer<EntityPrototype>))] [DataField("stackEntity", customTypeSerializer:typeof(PrototypeIdSerializer<EntityPrototype>))]
public string StackEntity { get; } = ""; public string? StackEntity;
[DataField("name")] [DataField("name")]
public string Name = ""; public string Name = "";

View File

@@ -19,6 +19,7 @@ materials-plastic = plastic
materials-wood = wood materials-wood = wood
materials-uranium = uranium materials-uranium = uranium
materials-bananium = bananium materials-bananium = bananium
materials-meat = meat
# Material Reclaimer # Material Reclaimer
material-reclaimer-upgrade-process-rate = process rate material-reclaimer-upgrade-process-rate = process rate

View File

@@ -28,6 +28,10 @@
size: 5 size: 5
- type: Temperature - type: Temperature
currentTemperature: 290 currentTemperature: 290
- type: Material
- type: PhysicalComposition
materialComposition:
Meaterial: 300
- type: Tag - type: Tag
id: Raw id: Raw

View File

@@ -708,6 +708,17 @@
materialRequirements: materialRequirements:
Glass: 1 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 - type: entity
id: MicrowaveMachineCircuitboard id: MicrowaveMachineCircuitboard
parent: BaseMachineCircuitboard parent: BaseMachineCircuitboard

View File

@@ -191,3 +191,44 @@
components: components:
- type: Stack - type: Stack
count: 1 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

View File

@@ -735,6 +735,25 @@
- type: Stack - type: Stack
stackType: FloorTileWoodPattern 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 - type: entity
name: steel maint floor name: steel maint floor
parent: FloorTileItemBase parent: FloorTileItemBase

View File

@@ -206,6 +206,20 @@
graph: RitualSeat graph: RitualSeat
node: chairRitual 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 - type: entity
name: cursed chair name: cursed chair
id: ChairCursed id: ChairCursed

View File

@@ -301,6 +301,7 @@
- HotplateMachineCircuitboard - HotplateMachineCircuitboard
- MicrowaveMachineCircuitboard - MicrowaveMachineCircuitboard
- FatExtractorMachineCircuitboard - FatExtractorMachineCircuitboard
- SheetifierMachineCircuitboard
- UniformPrinterMachineCircuitboard - UniformPrinterMachineCircuitboard
- ShuttleConsoleCircuitboard - ShuttleConsoleCircuitboard
- RadarConsoleCircuitboard - RadarConsoleCircuitboard
@@ -680,3 +681,31 @@
- IngotGold1 - IngotGold1
- IngotSilver1 - IngotSilver1
- MaterialBananium1 - 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

View File

@@ -144,6 +144,40 @@
key: walls key: walls
base: clown 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 - type: entity
parent: BaseWall parent: BaseWall

View File

@@ -69,3 +69,10 @@
icon: { sprite: Objects/Materials/materials.rsi, state: bananium } icon: { sprite: Objects/Materials/materials.rsi, state: bananium }
color: "#32a852" color: "#32a852"
price: 0.2 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

View File

@@ -46,6 +46,11 @@
- material: WoodPlank - material: WoodPlank
amount: 3 amount: 3
doAfter: 1 doAfter: 1
- to: chairMeat
steps:
- material: MeatSheets
amount: 2
doAfter: 1
- to: chairFolding - to: chairFolding
steps: steps:
- material: Plastic - material: Plastic
@@ -147,6 +152,18 @@
- tool: Screwing - tool: Screwing
doAfter: 1 doAfter: 1
- node: chairMeat
entity: ChairMeat
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: MaterialSheetMeat1
amount: 2
steps:
- tool: Screwing
doAfter: 1
- node: chairFolding - node: chairFolding
entity: ChairFolding entity: ChairFolding
edges: edges:

View File

@@ -134,6 +134,17 @@
- tool: Welding - tool: Welding
doAfter: 20 doAfter: 20
- to: meatWall
completed:
- !type:SnapToGrid
southRotation: true
conditions:
- !type:EntityAnchored {}
steps:
- material: MeatSheets
amount: 2
doAfter: 2
- node: wall - node: wall
entity: WallSolid entity: WallSolid
edges: edges:
@@ -240,6 +251,18 @@
- tool: Prying - tool: Prying
doAfter: 10 doAfter: 10
- node: meatWall
entity: WallMeat
edges:
- to: girder
completed:
- !type:GivePrototype
prototype: MaterialSheetMeat1
amount: 2
steps:
- tool: Prying
doAfter: 5
- node: reinforcedGirder - node: reinforcedGirder
entity: ReinforcedGirder entity: ReinforcedGirder
edges: edges:

View File

@@ -135,6 +135,23 @@
conditions: conditions:
- !type:TileNotBlocked - !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 - type: construction
name: ritual chair name: ritual chair
id: ChairRitual id: ChairRitual

View File

@@ -196,6 +196,24 @@
conditions: conditions:
- !type:TileNotBlocked - !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 - type: construction
name: grille name: grille
id: Grille id: Grille

View File

@@ -62,3 +62,19 @@
amount: 1 amount: 1
- node: darktile - node: darktile
entity: FloorTileItemDark 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

View File

@@ -44,6 +44,17 @@
icon: { sprite: Objects/Tiles/tile.rsi, state: dark } icon: { sprite: Objects/Tiles/tile.rsi, state: dark }
objectType: Item 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 # - type: construction
# name: techmaint floor # name: techmaint floor
# id: tileTechmaint # id: tileTechmaint

View File

@@ -501,6 +501,14 @@
Steel: 100 Steel: 100
Glass: 900 Glass: 900
- type: latheRecipe
id: SheetifierMachineCircuitboard
result: SheetifierMachineCircuitboard
completetime: 4
materials:
Steel: 100
Glass: 900
- type: latheRecipe - type: latheRecipe
id: SurveillanceCameraRouterCircuitboard id: SurveillanceCameraRouterCircuitboard
result: SurveillanceCameraRouterCircuitboard result: SurveillanceCameraRouterCircuitboard

View File

@@ -104,3 +104,10 @@
completetime: 2 completetime: 2
materials: materials:
Bananium: 500 Bananium: 500
- type: latheRecipe
id: MaterialSheetMeat
result: MaterialSheetMeat1
completetime: 6.4
materials:
Meaterial: 200

View File

@@ -116,6 +116,7 @@
cost: 5000 cost: 5000
recipeUnlocks: recipeUnlocks:
- FatExtractorMachineCircuitboard - FatExtractorMachineCircuitboard
- SheetifierMachineCircuitboard
- type: technology - type: technology
id: HONKMech id: HONKMech

View File

@@ -53,3 +53,10 @@
icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: bananium } icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: bananium }
spawn: MaterialBananium1 spawn: MaterialBananium1
maxCount: 10 maxCount: 10
- type: stack
id: MeatSheets
name: meat sheet
icon: { sprite: /Textures/Objects/Materials/Sheets/meaterial.rsi, state: meat }
spawn: MaterialSheetMeat1
maxCount: 30

View File

@@ -298,6 +298,12 @@
spawn: FloorTileItemWoodPattern spawn: FloorTileItemWoodPattern
maxCount: 30 maxCount: 30
- type: stack
id: FloorTileFlesh
name: flesh floor
spawn: FloorTileItemFlesh
maxCount: 30
- type: stack - type: stack
id: FloorTileSteelMaint id: FloorTileSteelMaint
name: steel maint floor name: steel maint floor

View File

@@ -1135,6 +1135,7 @@
canCrowbar: true canCrowbar: true
footstepSounds: footstepSounds:
collection: BarestepCarpet collection: BarestepCarpet
itemDrop: FloorTileItemFlesh
friction: 0.20 #slippy friction: 0.20 #slippy
heatCapacity: 10000 heatCapacity: 10000

Binary file not shown.

Before

Width:  |  Height:  |  Size: 723 B

After

Width:  |  Height:  |  Size: 709 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 408 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 431 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 520 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 565 B

View File

@@ -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"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 B

View File

@@ -40,6 +40,17 @@
{ {
"name": "lino" "name": "lino"
}, },
{
"name": "meat"
},
{
"name": "meat-inhand-right",
"directions": 4
},
{
"name": "meat-inhand-left",
"directions": 4
},
{ {
"name": "mime" "name": "mime"
}, },

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -1,7 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CC-BY-SA-3.0", "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": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32
@@ -39,6 +39,10 @@
"name": "comfy-overlay", "name": "comfy-overlay",
"directions": 4 "directions": 4
}, },
{
"name": "meat",
"directions": 4
},
{ {
"name": "office-dark", "name": "office-dark",
"directions": 4 "directions": 4

Binary file not shown.

After

Width:  |  Height:  |  Size: 939 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 B

View File

@@ -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"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 690 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1000 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 875 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1000 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 875 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 865 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 751 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 865 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 B

View 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"}]}