]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Organize StackPrototype with inheritance (#38412)
authorāda <ss.adasts@gmail.com>
Sun, 12 Oct 2025 01:18:12 +0000 (20:18 -0500)
committerGitHub <noreply@github.com>
Sun, 12 Oct 2025 01:18:12 +0000 (01:18 +0000)
* In one commit like an animal

* carpet fix

* move materials, more bad commit discipline

* re-add marble

* don't also do materials in the same PR, dude

* the return of floor_tile_stacks.yml for atomizing

* resolve an old issue

* re-add det cable

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
24 files changed:
Resources/Prototypes/Entities/Objects/Misc/space_cash.yml
Resources/Prototypes/Reagents/Materials/ores.yml
Resources/Prototypes/Stacks/Materials/crystals.yml [deleted file]
Resources/Prototypes/Stacks/Materials/ingots.yml [deleted file]
Resources/Prototypes/Stacks/Materials/materials.yml [deleted file]
Resources/Prototypes/Stacks/Materials/parts.yml [deleted file]
Resources/Prototypes/Stacks/Sheets/glass.yml [moved from Resources/Prototypes/Stacks/Materials/Sheets/glass.yml with 87% similarity]
Resources/Prototypes/Stacks/Sheets/metal.yml [moved from Resources/Prototypes/Stacks/Materials/Sheets/metal.yml with 85% similarity]
Resources/Prototypes/Stacks/Sheets/organic.yml [new file with mode: 0644]
Resources/Prototypes/Stacks/Sheets/other.yml [moved from Resources/Prototypes/Stacks/Materials/Sheets/other.yml with 68% similarity]
Resources/Prototypes/Stacks/Specific/engineering.yml [new file with mode: 0644]
Resources/Prototypes/Stacks/Specific/medical.yml [moved from Resources/Prototypes/Stacks/medical_stacks.yml with 85% similarity]
Resources/Prototypes/Stacks/Specific/science.yml [moved from Resources/Prototypes/Stacks/science_stacks.yml with 63% similarity]
Resources/Prototypes/Stacks/Specific/security.yml [new file with mode: 0644]
Resources/Prototypes/Stacks/base_stacks.yml
Resources/Prototypes/Stacks/cloth.yml [new file with mode: 0644]
Resources/Prototypes/Stacks/consumable.yml [moved from Resources/Prototypes/Stacks/consumable_stacks.yml with 78% similarity]
Resources/Prototypes/Stacks/currency.yml [new file with mode: 0644]
Resources/Prototypes/Stacks/engineering_stacks.yml [deleted file]
Resources/Prototypes/Stacks/ore.yml [moved from Resources/Prototypes/Stacks/Materials/ore.yml with 83% similarity]
Resources/Prototypes/Stacks/ore_refined.yml [new file with mode: 0644]
Resources/Prototypes/Stacks/organic.yml [new file with mode: 0644]
Resources/Prototypes/Stacks/other.yml [new file with mode: 0644]
Resources/Prototypes/Stacks/power_stacks.yml [deleted file]

index 63b960b0e695272ad04705a1175537acf859fc72..24dab4f562c5dde9076868ef2bc0363e83fc8ad7 100644 (file)
   icon: { sprite: /Textures/Objects/Economy/cash.rsi, state: cash }
   price: 1
 
-- type: stack
-  id: Credit
-  name: stack-credit
-  icon: { sprite: /Textures/Objects/Economy/cash.rsi, state: cash }
-  spawn: SpaceCash
-
 - type: entity
   parent: SpaceCash
   id: SpaceCash10
index 1555ab9e234554c6f0952c75c0f2efc921846ec0..3e2d7319ade65cf01f9502f77fd47c92412447f4 100644 (file)
@@ -76,4 +76,4 @@
   unit: materials-unit-chunk
   icon: { sprite: Objects/Materials/ore.rsi, state: salt }
   color: "#f5e7d7"
-  price: 0.075
\ No newline at end of file
+  price: 0.075
diff --git a/Resources/Prototypes/Stacks/Materials/crystals.yml b/Resources/Prototypes/Stacks/Materials/crystals.yml
deleted file mode 100644 (file)
index e5fda56..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-- type: stack
-  id: Telecrystal
-  name: stack-telecrystal
-  icon: Objects/Specific/Syndicate/telecrystal.rsi
-  spawn: Telecrystal1
diff --git a/Resources/Prototypes/Stacks/Materials/ingots.yml b/Resources/Prototypes/Stacks/Materials/ingots.yml
deleted file mode 100644 (file)
index 154dacc..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-- type: stack
-  id: Gold
-  name: stack-gold
-  icon: { sprite: "/Textures/Objects/Materials/ingots.rsi", state: gold }
-  spawn: IngotGold1
-  maxCount: 30
-
-- type: stack
-  id: Silver
-  name: stack-silver
-  icon: { sprite: "/Textures/Objects/Materials/ingots.rsi", state: silver }
-  spawn: IngotSilver1
-  maxCount: 30
diff --git a/Resources/Prototypes/Stacks/Materials/materials.yml b/Resources/Prototypes/Stacks/Materials/materials.yml
deleted file mode 100644 (file)
index a759922..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-- type: stack
-  id: Biomass
-  name: stack-biomass
-  icon: { sprite: /Textures/Objects/Misc/monkeycube.rsi, state: cube }
-  spawn: MaterialBiomass1
-  maxCount: 100
-
-- type: stack
-  id: WoodPlank
-  name: stack-wood-plank
-  icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: wood }
-  spawn: MaterialWoodPlank1
-  maxCount: 30
-
-- type: stack
-  id: Cardboard
-  name: stack-cardboard
-  icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: cardboard }
-  spawn: MaterialCardboard1
-  maxCount: 30
-
-- type: stack
-  id: Cloth
-  name: stack-cloth
-  icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: cloth }
-  spawn: MaterialCloth1
-  maxCount: 30
-
-- type: stack
-  id: Durathread
-  name: stack-durathread
-  icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: durathread }
-  spawn: MaterialDurathread1
-  maxCount: 30
-
-- type: stack
-  id: Diamond
-  name: stack-diamond
-  icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: diamond }
-  spawn: MaterialDiamond1
-  maxCount: 30
-
-- type: stack
-  id: Cotton
-  name: stack-cotton
-  icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: cotton }
-  spawn: MaterialCotton1
-  maxCount: 30
-
-- type: stack
-  id: Pyrotton
-  name: stack-pyrotton
-  icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: pyrotton }
-  spawn: MaterialPyrotton1
-  maxCount: 30
-
-- type: stack
-  id: Bananium
-  name: stack-bananium
-  icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: bananium }
-  spawn: MaterialBananium1
-  maxCount: 10
-
-- type: stack
-  id: MeatSheets
-  name: stack-meat-sheet
-  icon: { sprite: /Textures/Objects/Materials/Sheets/meaterial.rsi, state: meat }
-  spawn: MaterialSheetMeat1
-  maxCount: 30
-
-- type: stack
-  id: WebSilk
-  name: stack-silk
-  icon: { sprite: /Textures/Objects/Materials/silk.rsi, state: icon }
-  spawn: MaterialWebSilk1
-  maxCount: 50
-
-- type: stack
-  id: SpaceCarpTooth
-  name: stack-space-carp-tooth
-  icon: { sprite: /Textures/Objects/Materials/Mob/carptooth.rsi, state: tooth }
-  spawn: MaterialToothSpaceCarp1
-  maxCount: 30
-
-- type: stack
-  id: SharkMinnowTooth
-  name: stack-sharkminnow-tooth
-  icon: { sprite: /Textures/Objects/Materials/Mob/sharktooth.rsi, state: tooth }
-  spawn: MaterialToothSharkminnow1
-  maxCount: 30
-
-- type: stack
-  id: Bones
-  name: stack-bones
-  icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: bones }
-  spawn: MaterialBones1
-  maxCount: 30
-
-- type: stack
-  id: Gunpowder
-  name: stack-gunpowder
-  icon: { sprite: /Textures/Objects/Misc/reagent_fillings.rsi, state: powderpile }
-  spawn: MaterialGunpowder
-  maxCount: 60
-
-- type: stack
-  id: GoliathHide
-  name: stack-goliath-hide
-  icon: { sprite: /Textures/Objects/Materials/hide.rsi, state: goliath_hide }
-  spawn: MaterialGoliathHide1
-  maxCount: 30
diff --git a/Resources/Prototypes/Stacks/Materials/parts.yml b/Resources/Prototypes/Stacks/Materials/parts.yml
deleted file mode 100644 (file)
index 3b6fb4b..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-- type: stack
-  id: MetalRod
-  name: stack-rods
-  icon: { sprite: /Textures/Objects/Materials/parts.rsi, state: rods }
-  spawn: PartRodMetal1
-  maxCount: 30
similarity index 87%
rename from Resources/Prototypes/Stacks/Materials/Sheets/glass.yml
rename to Resources/Prototypes/Stacks/Sheets/glass.yml
index c3752b62aebd513debbba756281e60c663809c5d..2984b9f2e412fe1f20f9cf0abe2be609ff5059f1 100644 (file)
@@ -1,48 +1,48 @@
 - type: stack
+  parent: BaseSheetStack
   id: Glass
   name: stack-glass
   icon: { sprite: /Textures/Objects/Materials/Sheets/glass.rsi, state: glass }
   spawn: SheetGlass1
-  maxCount: 30
 
 - type: stack
+  parent: BaseSheetStack
   id: ReinforcedGlass
   name: stack-reinforced-glass
   icon: { sprite: /Textures/Objects/Materials/Sheets/glass.rsi, state: rglass }
   spawn: SheetRGlass1
-  maxCount: 30
 
 - type: stack
+  parent: BaseSheetStack
   id: PlasmaGlass
   name: stack-plasma-glass
   icon: { sprite: /Textures/Objects/Materials/Sheets/glass.rsi, state: pglass }
   spawn: SheetPGlass1
-  maxCount: 30
 
 - type: stack
+  parent: BaseSheetStack
   id: ReinforcedPlasmaGlass
   name: stack-reinforced-plasma-glass
   icon: { sprite: /Textures/Objects/Materials/Sheets/glass.rsi, state: rpglass }
   spawn: SheetRPGlass1
-  maxCount: 30
 
 - type: stack
+  parent: BaseSheetStack
   id: UraniumGlass
   name: stack-uranium-glass
   icon: { sprite: /Textures/Objects/Materials/Sheets/glass.rsi, state: uglass }
   spawn: SheetUGlass1
-  maxCount: 30
 
 - type: stack
+  parent: BaseSheetStack
   id: ReinforcedUraniumGlass
   name: stack-reinforced-uranium-glass
   icon: { sprite: /Textures/Objects/Materials/Sheets/glass.rsi, state: ruglass }
   spawn: SheetRUGlass1
-  maxCount: 30
 
 - type: stack
+  parent: BaseSheetStack
   id: ClockworkGlass
   name: stack-clockwork-glass
   icon: { sprite: /Textures/Objects/Materials/Sheets/glass.rsi, state: cglass }
   spawn: SheetClockworkGlass1
-  maxCount: 30
similarity index 85%
rename from Resources/Prototypes/Stacks/Materials/Sheets/metal.yml
rename to Resources/Prototypes/Stacks/Sheets/metal.yml
index 90c37e3ddab9a2c3e60267912989f91f2dfbe016..188a4e30b272b051bc2b4293d4f8005c8fe4d79a 100644 (file)
@@ -1,20 +1,20 @@
 - type: stack
+  parent: BaseSheetStack
   id: Steel
   name: stack-steel
   icon: { sprite: /Textures/Objects/Materials/Sheets/metal.rsi, state: steel }
   spawn: SheetSteel1
-  maxCount: 30
 
 - type: stack
+  parent: BaseSheetStack
   id: Plasteel
   name: stack-plasteel
   icon: { sprite: /Textures/Objects/Materials/Sheets/metal.rsi, state: plasteel }
   spawn: SheetPlasteel1
-  maxCount: 30
 
 - type: stack
+  parent: BaseSheetStack
   id: Brass
   name: stack-brass
   icon: { sprite: /Textures/Objects/Materials/Sheets/metal.rsi, state: brass }
   spawn: SheetBrass1
-  maxCount: 30
diff --git a/Resources/Prototypes/Stacks/Sheets/organic.yml b/Resources/Prototypes/Stacks/Sheets/organic.yml
new file mode 100644 (file)
index 0000000..7239a72
--- /dev/null
@@ -0,0 +1,13 @@
+- type: stack
+  parent: BaseSheetStack
+  id: Paper
+  name: stack-paper
+  icon: { sprite: /Textures/Objects/Materials/Sheets/other.rsi, state: paper }
+  spawn: SheetPaper1
+
+- type: stack
+  parent: BaseSheetStack
+  id: MeatSheets
+  name: stack-meat-sheet
+  icon: { sprite: /Textures/Objects/Materials/Sheets/meaterial.rsi, state: meat }
+  spawn: MaterialSheetMeat1
similarity index 68%
rename from Resources/Prototypes/Stacks/Materials/Sheets/other.yml
rename to Resources/Prototypes/Stacks/Sheets/other.yml
index a86b4bec6ffaed3ddf18f7400ac9692c48062df6..082919d39d6594828a3feafe5a6faf551c6aefd3 100644 (file)
@@ -1,27 +1,20 @@
 - type: stack
-  id: Paper
-  name: stack-paper
-  icon: { sprite: /Textures/Objects/Materials/Sheets/other.rsi, state: paper }
-  spawn: SheetPaper1
-  maxCount: 30
-
-- type: stack
+  parent: BaseSheetStack
   id: Plasma
   name: stack-plasma
   icon: { sprite: /Textures/Objects/Materials/Sheets/other.rsi, state: plasma }
   spawn: SheetPlasma1
-  maxCount: 30
 
 - type: stack
+  parent: BaseSheetStack
   id: Plastic
   name: stack-plastic
   icon: { sprite: /Textures/Objects/Materials/Sheets/other.rsi, state: plastic }
   spawn: SheetPlastic1
-  maxCount: 30
 
 - type: stack
+  parent: BaseSheetStack
   id: Uranium
   name: stack-uranium
   icon: { sprite: /Textures/Objects/Materials/Sheets/other.rsi, state: uranium }
   spawn: SheetUranium1
-  maxCount: 30
diff --git a/Resources/Prototypes/Stacks/Specific/engineering.yml b/Resources/Prototypes/Stacks/Specific/engineering.yml
new file mode 100644 (file)
index 0000000..86e339e
--- /dev/null
@@ -0,0 +1,36 @@
+# they're uninflated by default so they're tiny
+- type: stack
+  parent: BaseSmallStack
+  id: InflatableWall
+  name: stack-inflatable-wall
+  icon: { sprite: "/Textures/Objects/Misc/inflatable_wall.rsi", state: item_wall }
+  spawn: InflatableWallStack1
+
+- type: stack
+  id: InflatableDoor
+  name: stack-inflatable-door
+  icon: { sprite: "/Textures/Objects/Misc/inflatable_door.rsi", state: item_door }
+  spawn: InflatableDoorStack1
+  maxCount: 4 # Maybe increased to 5 to reuse the base?
+
+# Cables
+- type: stack
+  parent: BaseMediumStack
+  id: Cable
+  name: stack-lv-cable
+  icon: { sprite: "/Textures/Objects/Tools/cable-coils.rsi", state: coil-30 }
+  spawn: CableApcStack1
+
+- type: stack
+  parent: BaseMediumStack
+  id: CableMV
+  name: stack-mv-cable
+  icon: { sprite: "/Textures/Objects/Tools/cable-coils.rsi", state: coilmv-30 }
+  spawn: CableMVStack1
+
+- type: stack
+  parent: BaseMediumStack
+  id: CableHV
+  name: stack-hv-cable
+  icon: { sprite: "/Textures/Objects/Tools/cable-coils.rsi", state: coilhv-30 }
+  spawn: CableHVStack1
similarity index 85%
rename from Resources/Prototypes/Stacks/medical_stacks.yml
rename to Resources/Prototypes/Stacks/Specific/medical.yml
index 5c4e98f6f643ab55ea99041bb98ef8115a8f6aec..65691b0e8a2b4c1531ee40fa2f059f8f0d8bfd6e 100644 (file)
@@ -1,49 +1,51 @@
+# Topical medicines
+
 - type: stack
+  parent: BaseSmallStack
   id: Ointment
   name: stack-ointment
   icon: { sprite: "/Textures/Objects/Specific/Medical/medical.rsi", state: ointment }
   spawn: Ointment
-  maxCount: 10
 
 - type: stack
+  parent: BaseSmallStack
   id: AloeCream
   name: stack-aloe-cream
   icon: { sprite: "/Textures/Objects/Specific/Hydroponics/aloe.rsi", state: cream }
   spawn: AloeCream
-  maxCount: 10
 
 - type: stack
+  parent: BaseSmallStack
   id: Gauze
   name: stack-gauze
   icon: { sprite: "/Textures/Objects/Specific/Medical/medical.rsi", state: gauze }
   spawn: Gauze
-  maxCount: 10
 
 - type: stack
+  parent: BaseSmallStack
   id: Brutepack
   name: stack-brutepack
   icon: { sprite: "/Textures/Objects/Specific/Medical/medical.rsi", state: gauze }
   spawn: Brutepack
-  maxCount: 10
 
 - type: stack
+  parent: BaseSmallStack
   id: Bloodpack
   name: stack-bloodpack
   icon: { sprite: "/Textures/Objects/Specific/Medical/medical.rsi", state: bloodpack }
   spawn: Bloodpack
-  maxCount: 10
 
 - type: stack
+  parent: BaseSmallStack
   id: MedicatedSuture
   name: stack-medicated-suture
   icon: {sprite: "/Textures/Objects/Specific/Medical/medical.rsi", state: medicated-suture }
   spawn: MedicatedSuture
-  maxCount: 10
 
 - type: stack
+  parent: BaseSmallStack
   id: RegenerativeMesh
   name: stack-regenerative-mesh
   icon: {sprite: "/Textures/Objects/Specific/Medical/medical.rsi", state: regenerative-mesh}
   spawn: RegenerativeMesh
-  maxCount: 10
 
similarity index 63%
rename from Resources/Prototypes/Stacks/science_stacks.yml
rename to Resources/Prototypes/Stacks/Specific/science.yml
index 0dfc5444fd3ba6c9fdf5963512cf9c8630937297..610464b33edc3d2a764def48d0a096c7d5aca3ac 100644 (file)
@@ -1,13 +1,13 @@
 - type: stack
+  parent: BaseMediumStack
   id: ArtifactFragment
   name: stack-artifact-fragment
+  icon: { sprite: /Textures/Objects/Specific/Xenoarchaeology/artifact_fragments.rsi, state: martianball1 }
   spawn: ArtifactFragment1
-  maxCount: 30
-
 
 - type: stack
+  parent: BaseSmallStack
   id: Manipulator
   name: stack-micro-manipulator
   icon: { sprite: /Textures/Objects/Misc/stock_parts.rsi, state: micro_mani }
   spawn: MicroManipulatorStockPart
-  maxCount: 10
diff --git a/Resources/Prototypes/Stacks/Specific/security.yml b/Resources/Prototypes/Stacks/Specific/security.yml
new file mode 100644 (file)
index 0000000..7b3d60f
--- /dev/null
@@ -0,0 +1,6 @@
+- type: stack
+  parent: BaseMediumStack
+  id: CableDet
+  name: stack-explosive-cord
+  icon: { sprite: "/Textures/Objects/Tools/cable-coils.rsi", state: coilex-30 }
+  spawn: CableDetStack1
index abf64f398a930cc39ed262d7247df6b272817e9a..d3d4228fc2655f9aa6a597e9117e558137a1aa04 100644 (file)
@@ -1,5 +1,39 @@
 # Base sizes for stacks in one convenient place
 
+# size used by powders and smokeables
+- type: stack
+  abstract: true
+  id: BaseVerySmallStack
+  maxCount: 5
+
+# size used by topicals and machine parts
+- type: stack
+  abstract: true
+  id: BaseSmallStack
+  maxCount: 10
+
+# Default size
+- type: stack
+  abstract: true
+  id: BaseMediumStack
+  maxCount: 30
+
+- type: stack
+  abstract: true
+  id: BaseLargeStack
+  maxCount: 50
+
+- type: stack
+  abstract: true
+  id: BaseVeryLargeStack
+  maxCount: 100
+
+# size used by "sheets." Usually materials like steel, glass, or plasma
+- type: stack
+  abstract: true
+  id: BaseSheetStack
+  maxCount: 30
+
 # Used by tiles
 - type: stack
   abstract: true
diff --git a/Resources/Prototypes/Stacks/cloth.yml b/Resources/Prototypes/Stacks/cloth.yml
new file mode 100644 (file)
index 0000000..8fbac96
--- /dev/null
@@ -0,0 +1,27 @@
+- type: stack
+  parent: BaseMediumStack
+  id: Cloth
+  name: stack-cloth
+  icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: cloth }
+  spawn: MaterialCloth1
+
+- type: stack
+  parent: BaseMediumStack
+  id: Durathread
+  name: stack-durathread
+  icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: durathread }
+  spawn: MaterialDurathread1
+
+- type: stack
+  parent: BaseMediumStack
+  id: Cotton
+  name: stack-cotton
+  icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: cotton }
+  spawn: MaterialCotton1
+
+- type: stack
+  parent: BaseMediumStack
+  id: Pyrotton
+  name: stack-pyrotton
+  icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: pyrotton }
+  spawn: MaterialPyrotton1
similarity index 78%
rename from Resources/Prototypes/Stacks/consumable_stacks.yml
rename to Resources/Prototypes/Stacks/consumable.yml
index fcd10e5d7feee5a610843cd02ce9d5407c351194..f96f2703e6d81418ae8c137b20f8e5cd620a17a4 100644 (file)
@@ -3,82 +3,77 @@
 - type: stack
   id: Pancake
   name: stack-pancake
+  icon: { sprite: /Textures/Objects/Consumable/Food/Baked/misc.rsi, state: pancakes1 }
   spawn: FoodBakedPancake
   maxCount: 9
 
 - type: stack
   id: PancakeBb
   name: stack-blueberry-pancake
+  icon: { sprite: /Textures/Objects/Consumable/Food/Baked/misc.rsi, state: pancakesbb1 }
   spawn: FoodBakedPancakeBb
   maxCount: 9
 
 - type: stack
   id: PancakeCc
   name: stack-chocolate-chip-pancake
+  icon: { sprite: /Textures/Objects/Consumable/Food/Baked/misc.rsi, state: pancakescc1 }
   spawn: FoodBakedPancakeCc
   maxCount: 9
 
-# Food Containers
-
-- type: stack
-  id: PizzaBox
-  name: stack-pizza-box
-  icon: { sprite: Objects/Consumable/Food/Baked/pizza.rsi, state: box }
-  spawn: FoodBoxPizza
-  maxCount: 30
-
 # Smokeables
 
 - type: stack
+  parent: BaseVerySmallStack
   id: PaperRolling
   name: stack-rolling-paper
   icon: { sprite: /Textures/Objects/Consumable/Smokeables/Cigarettes/paper.rsi, state: cigpaper }
   spawn: PaperRolling
-  maxCount: 5
 
 - type: stack
+  parent: BaseVerySmallStack
   id: CigaretteFilter
   name: stack-cigarette-filter
   icon: { sprite: /Textures/Objects/Consumable/Smokeables/Cigarettes/paper.rsi, state: cigfilter }
   spawn: CigaretteFilter
-  maxCount: 5
 
 - type: stack
+  parent: BaseVerySmallStack
   id: GroundTobacco
   name: stack-ground-tobacco
   icon: { sprite: /Textures/Objects/Misc/reagent_fillings.rsi, state: powderpile }
   spawn: GroundTobacco
-  maxCount: 5
 
 - type: stack
+  parent: BaseVerySmallStack
   id: GroundCannabis
   name: stack-ground-cannabis
   icon: { sprite: /Textures/Objects/Misc/reagent_fillings.rsi, state: powderpile }
   spawn: GroundCannabis
-  maxCount:
 
 - type: stack
+  parent: BaseVerySmallStack
   id: GroundCannabisRainbow
   name: stack-ground-rainbow-cannabis
   icon: { sprite: /Textures/Objects/Specific/Hydroponics/rainbow_cannabis.rsi, state: powderpile_rainbow }
   spawn: GroundCannabisRainbow
-  maxCount:
 
 - type: stack
+  parent: BaseVerySmallStack
   id: LeavesTobaccoDried
   name: stack-dried-tobacco-leaves
   icon: { sprite: /Textures/Objects/Specific/Hydroponics/tobacco.rsi, state: dried }
   spawn: LeavesTobaccoDried
-  maxCount: 5
 
 - type: stack
+  parent: BaseVerySmallStack
   id: LeavesCannabisDried
   name: stack-dried-cannabis-leaves
   icon: { sprite: /Textures/Objects/Specific/Hydroponics/tobacco.rsi, state: dried }
   spawn: LeavesCannabisDried
-  maxCount: 5
 
 - type: stack
+  parent: BaseVerySmallStack
   id: LeavesCannabisRainbowDried
   name: stack-dried-rainbow-cannabis-leaves
   icon: { sprite: /Textures/Objects/Specific/Hydroponics/rainbow_cannabis.rsi, state: dried }
diff --git a/Resources/Prototypes/Stacks/currency.yml b/Resources/Prototypes/Stacks/currency.yml
new file mode 100644 (file)
index 0000000..1a07350
--- /dev/null
@@ -0,0 +1,11 @@
+- type: stack
+  id: Telecrystal
+  name: stack-telecrystal
+  icon: { sprite: /Textures/Objects/Specific/Syndicate/telecrystal.rsi, state: telecrystal }
+  spawn: Telecrystal1
+
+- type: stack
+  id: Credit
+  name: stack-credit
+  icon: { sprite: /Textures/Objects/Economy/cash.rsi, state: cash }
+  spawn: SpaceCash
diff --git a/Resources/Prototypes/Stacks/engineering_stacks.yml b/Resources/Prototypes/Stacks/engineering_stacks.yml
deleted file mode 100644 (file)
index 4d9fcbb..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-# they're uninflated by default so they're tiny
-- type: stack
-  id: InflatableWall
-  name: stack-inflatable-wall
-  spawn: InflatableWallStack1
-  maxCount: 10
-
-- type: stack
-  id: InflatableDoor
-  name: stack-inflatable-door
-  spawn: InflatableDoorStack1
-  maxCount: 4
similarity index 83%
rename from Resources/Prototypes/Stacks/Materials/ore.yml
rename to Resources/Prototypes/Stacks/ore.yml
index 240e584e40d23be10935460ed7d1e3a77ca6fcd6..7f7fb0569514f490a93c55d898c52a41f95343f5 100644 (file)
@@ -1,69 +1,71 @@
+# unrefined ore
+
 - type: stack
+  parent: BaseMediumStack
   id: GoldOre
   name: stack-gold-ore
   icon: { sprite: /Textures/Objects/Materials/ore.rsi, state: gold }
   spawn: GoldOre1
-  maxCount: 30
 
 - type: stack
+  parent: BaseMediumStack
   id: DiamondOre
   name: stack-rough-diamond
   icon: { sprite: /Textures/Objects/Materials/ore.rsi, state: diamond }
   spawn: DiamondOre1
-  maxCount: 30
 
 - type: stack
+  parent: BaseMediumStack
   id: SteelOre
   name: stack-iron-ore
   icon: { sprite: /Textures/Objects/Materials/ore.rsi, state: iron }
   spawn: SteelOre1
-  maxCount: 30
 
 - type: stack
+  parent: BaseMediumStack
   id: PlasmaOre
   name: stack-plasma-ore
   icon: { sprite: /Textures/Objects/Materials/ore.rsi, state: plasma }
   spawn: PlasmaOre1
-  maxCount: 30
 
 - type: stack
+  parent: BaseMediumStack
   id: SilverOre
   name: stack-silver-ore
   icon: { sprite: /Textures/Objects/Materials/ore.rsi, state: silver }
   spawn: SilverOre1
-  maxCount: 30
 
 - type: stack
+  parent: BaseMediumStack
   id: SpaceQuartz
   name: stack-space-quartz
   icon: { sprite: /Textures/Objects/Materials/ore.rsi, state: spacequartz }
   spawn: SpaceQuartz1
-  maxCount: 30
 
 - type: stack
+  parent: BaseMediumStack
   id: UraniumOre
   name: stack-uranium-ore
   icon: { sprite: /Textures/Objects/Materials/ore.rsi, state: uranium }
   spawn: UraniumOre1
-  maxCount: 30
 
 - type: stack
+  parent: BaseMediumStack
   id: BananiumOre
   name: stack-bananium-ore
   icon: { sprite: /Textures/Objects/Materials/ore.rsi, state: bananium }
   spawn: BananiumOre1
-  maxCount: 30
 
 - type: stack
+  parent: BaseMediumStack
   id: Coal
   name: stack-coal
   icon: { sprite: /Textures/Objects/Materials/ore.rsi, state: coal }
   spawn: Coal1
-  maxCount: 30
 
 - type: stack
+  parent: BaseMediumStack
   id: SaltOre
   name: stack-salt
   icon: { sprite: /Textures/Objects/Materials/ore.rsi, state: salt }
   spawn: Salt1
-  maxCount: 30
diff --git a/Resources/Prototypes/Stacks/ore_refined.yml b/Resources/Prototypes/Stacks/ore_refined.yml
new file mode 100644 (file)
index 0000000..e171bce
--- /dev/null
@@ -0,0 +1,30 @@
+# Materials which come from refining ores, excluding sheets
+
+- type: stack
+  parent: BaseMediumStack
+  id: Diamond
+  name: stack-diamond
+  icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: diamond }
+  spawn: MaterialDiamond1
+
+- type: stack
+  parent: BaseSmallStack
+  id: Bananium
+  name: stack-bananium
+  icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: bananium }
+  spawn: MaterialBananium1
+
+# Ingots
+- type: stack
+  parent: BaseMediumStack
+  id: Gold
+  name: stack-gold
+  icon: { sprite: "/Textures/Objects/Materials/ingots.rsi", state: gold }
+  spawn: IngotGold1
+
+- type: stack
+  parent: BaseMediumStack
+  id: Silver
+  name: stack-silver
+  icon: { sprite: "/Textures/Objects/Materials/ingots.rsi", state: silver }
+  spawn: IngotSilver1
diff --git a/Resources/Prototypes/Stacks/organic.yml b/Resources/Prototypes/Stacks/organic.yml
new file mode 100644 (file)
index 0000000..9f4764f
--- /dev/null
@@ -0,0 +1,59 @@
+- type: stack
+  parent: BaseVeryLargeStack
+  id: Biomass
+  name: stack-biomass
+  icon: { sprite: /Textures/Objects/Misc/monkeycube.rsi, state: cube }
+  spawn: MaterialBiomass1
+
+# Stacks which come from plants
+
+- type: stack
+  parent: BaseMediumStack
+  id: WoodPlank
+  name: stack-wood-plank
+  icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: wood }
+  spawn: MaterialWoodPlank1
+
+- type: stack
+  parent: BaseMediumStack
+  id: Cardboard
+  name: stack-cardboard
+  icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: cardboard }
+  spawn: MaterialCardboard1
+
+# Stacks which come from or might come from a creature
+
+- type: stack
+  parent: BaseLargeStack
+  id: WebSilk
+  name: stack-silk
+  icon: { sprite: /Textures/Objects/Materials/silk.rsi, state: icon }
+  spawn: MaterialWebSilk1
+
+- type: stack
+  parent: BaseMediumStack
+  id: Bones
+  name: stack-bones
+  icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: bones }
+  spawn: MaterialBones1
+
+- type: stack
+  parent: BaseMediumStack
+  id: SpaceCarpTooth
+  name: stack-space-carp-tooth
+  icon: { sprite: /Textures/Objects/Materials/Mob/carptooth.rsi, state: tooth }
+  spawn: MaterialToothSpaceCarp1
+
+- type: stack
+  parent: BaseMediumStack
+  id: SharkMinnowTooth
+  name: stack-sharkminnow-tooth
+  icon: { sprite: /Textures/Objects/Materials/Mob/sharktooth.rsi, state: tooth }
+  spawn: MaterialToothSharkminnow1
+
+- type: stack
+  parent: BaseMediumStack
+  id: GoliathHide
+  name: stack-goliath-hide
+  icon: { sprite: /Textures/Objects/Materials/hide.rsi, state: goliath_hide }
+  spawn: MaterialGoliathHide1
diff --git a/Resources/Prototypes/Stacks/other.yml b/Resources/Prototypes/Stacks/other.yml
new file mode 100644 (file)
index 0000000..e588991
--- /dev/null
@@ -0,0 +1,15 @@
+# Stacks which don't fit cleanly into other categories
+
+- type: stack
+  parent: BaseSheetStack # Not a sheet, but spiritually similar
+  id: MetalRod
+  name: stack-rods
+  icon: { sprite: /Textures/Objects/Materials/parts.rsi, state: rods }
+  spawn: PartRodMetal1
+
+- type: stack
+  parent: BaseVerySmallStack
+  id: Gunpowder
+  name: stack-gunpowder
+  icon: { sprite: /Textures/Objects/Misc/reagent_fillings.rsi, state: powderpile }
+  spawn: MaterialGunpowder
diff --git a/Resources/Prototypes/Stacks/power_stacks.yml b/Resources/Prototypes/Stacks/power_stacks.yml
deleted file mode 100644 (file)
index 40782d3..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-- type: stack
-  id: Cable
-  name: stack-lv-cable
-  icon: { sprite: "/Textures/Objects/Tools/cable-coils.rsi", state: coil-30 }
-  spawn: CableApcStack1
-  maxCount: 30
-
-- type: stack
-  id: CableMV
-  name: stack-mv-cable
-  icon: { sprite: "/Textures/Objects/Tools/cable-coils.rsi", state: coilmv-30 }
-  spawn: CableMVStack1
-  maxCount: 30
-
-- type: stack
-  id: CableHV
-  name: stack-hv-cable
-  icon: { sprite: "/Textures/Objects/Tools/cable-coils.rsi", state: coilhv-30 }
-  spawn: CableHVStack1
-  maxCount: 30
-
-# Explosive cable below
-
-- type: stack
-  id: CableDet
-  name: stack-explosive-cord
-  icon: { sprite: "/Textures/Objects/Tools/cable-coils.rsi", state: coilex-30 }
-  spawn: CableDetStack1
-  maxCount: 30
-