]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Cleanup of circuit tote / stamp box prototypes + added small cardboard boxes as a...
authorHitlinemoss <209321380+Hitlinemoss@users.noreply.github.com>
Fri, 19 Dec 2025 06:51:27 +0000 (01:51 -0500)
committerGitHub <noreply@github.com>
Fri, 19 Dec 2025 06:51:27 +0000 (06:51 +0000)
* Cleanup of circuit tote / stamp box prototypes

* New BoxCardboardSmall abstract prototype, stamp box uses this as a parent now

* Removed stamp box whitelist

* Whitelist fix

* We love scope creep! Small cardboard boxes are a general thing now.

* Box description updates

* Box description updates 2!

* Prototype order cleanup

* Comment updates

* Desc touchup

* Review updates

* StorageFill -> ContainerFill

* code  comment update

* decapitalized labels

* Code comment update

* Whoops! Forgot to update one ContainerFill to EntityTableContainerFill when fixing merge conflict

* Whoops! EntityTableContainerFill items were all formatted wrong

* Departmental box names

* Misc fixes

* Whoops, forgot to remove some labels

Resources/Locale/en-US/construction/recipes/crates.ftl
Resources/Prototypes/Catalog/Fills/Boxes/general.yml
Resources/Prototypes/Catalog/Fills/Boxes/heads.yml
Resources/Prototypes/Entities/Objects/Misc/box.yml
Resources/Prototypes/Recipes/Crafting/Graphs/storage/cardboardbox.yml
Resources/Prototypes/Recipes/Crafting/crates.yml

index c5b2b47c32bac591f390dba3294ffa1f2c3f96c7..ea4ce9360985927bf59972b4d3cb2f3160ef7c0e 100644 (file)
@@ -1,4 +1,5 @@
 construction-recipe-crate-freezer = crate freezer
 construction-recipe-big-box = large cardboard box
-construction-recipe-box-cardboard = small cardboard box
+construction-recipe-box-cardboard = cardboard box
+construction-recipe-box-cardboard-small = small cardboard box
 construction-recipe-box-tote = circuit tote
index 4618fb66530c883312640f7c68b138702464c643..326afa6d4a371380ee67bef06014a63381f36b71 100644 (file)
@@ -1,17 +1,37 @@
 - type: entity
-  name: cardboard box
   parent: BoxBase
   id: BoxCardboard
+  name: cardboard box
   description: A cardboard box for storing things.
   components:
-  - type: Item
-    size: Large
-    shape:
-    - 0,0,2,2
-  - type: Storage
-    maxItemSize: Small
-    grid:
-    - 0,0,2,2
+  - type: Construction
+    graph: BoxCardboard
+    node: boxcardboard
+    containers:
+      - storagebase
+  - type: PhysicalComposition
+    materialComposition:
+      Cardboard: 100
+  - type: Sprite
+    state: box
+  - type: Tag
+    tags:
+    - BoxCardboard
+
+- type: entity
+  parent: BoxBaseSmall
+  id: BoxCardboardSmall
+  name: small cardboard box
+  description: A small cardboard box for storing things.
+  components:
+  - type: Construction
+    graph: BoxCardboardSmall # Half the material cost of the "regular" cardboardbox
+    node: boxcardboardsmall
+    containers:
+      - storagebase
+  - type: PhysicalComposition # Half of the "regular" cardboard box
+    materialComposition:
+      Cardboard: 50
   - type: Sprite
     state: box
   - type: Tag
       - state: box
       - state: headset
 
+- type: entity
+  parent: BoxCardboardSmall
+  id: BoxStamps
+  name: stamp box
+  description: A small box containing stamps.
+  components: # Baking a "default" EntityTableContainerFill into this prototype seems like bad practice, so this is currently an empty box. If you need a new type of prefilled stamp box, create a new child prototype with the appropriate stamps!
+  - type: Sprite
+    layers:
+      - state: box
+      - state: stamp
+
 - type: entity
   name: meson box
   parent: BoxCardboard
index fac72c633888171a47636ff25d5ac00cef3c5b03..98c4c667fbc42f16fad820c90b71e0c4057e1336 100644 (file)
@@ -1,54 +1,46 @@
 - type: entity
-  name: circuit tote [QM]
   parent: ToteBase
-  id: BoxQMCircuitboards
-  description: A Tote filled with QM's Circuit boards.
+  id: BoxCaptainCircuitboards
+  name: bridge circuit tote
   components:
   - type: EntityTableContainerFill
     containers:
       storagebase: !type:AllSelector
         children:
-        - id: CargoBountyComputerCircuitboard
-        - id: CargoRequestComputerCircuitboard
-        - id: CargoSaleComputerCircuitboard
-        - id: CargoShuttleConsoleCircuitboard
-        - id: SalvageMagnetMachineCircuitboard
-        - id: SalvageJobBoardComputerCircuitboard
-        - id: MailTeleporterMachineCircuitboard
+        - id: CommsComputerCircuitboard
+        - id: StationRecordsComputerCircuitboard
 
 - type: entity
-  name: stamp box [QM]
-  parent: BoxCardboard
-  id: BoxQMStamps
-  description: A box filled with QM's Stamps. Stamped of course.
+  parent: ToteBase
+  id: BoxCECircuitboards
+  name: engineering circuit tote
   components:
-  - type: Item
-    size: Small
-    shape:
-    - 0,0,1,1
   - type: EntityTableContainerFill
     containers:
       storagebase: !type:AllSelector
         children:
-        - id: RubberStampApproved
-        - id: RubberStampDenied
-        - id: RubberStampQm
-  - type: Storage
-    grid:
-    - 0,0,1,1
-    whitelist:
-      components:
-      - Stamp
-  - type: Sprite
-    layers:
-      - state: box
-      - state: stamp
+        - id: CargoRequestEngineeringComputerCircuitboard
+        - id: AlertsComputerCircuitboard
+        - id: AtmosMonitoringComputerCircuitboard
+        - id: PowerComputerCircuitboard
+        - id: SolarControlComputerCircuitboard
+
+- type: entity
+  parent: ToteBase
+  id: BoxCMOCircuitboards
+  name: medical circuit tote
+  components:
+  - type: EntityTableContainerFill
+    containers:
+      storagebase: !type:AllSelector
+        children:
+        - id: MedicalTechFabCircuitboard
+        - id: CargoRequestMedicalComputerCircuitboard
 
 - type: entity
-  name: circuit tote [HoP]
   parent: ToteBase
   id: BoxHoPCircuitboards
-  description: A Tote filled with HoP's Circuit boards.
+  name: head of personnel circuit tote
   components:
   - type: EntityTableContainerFill
     containers:
         - id: CargoRequestServiceComputerCircuitboard
 
 - type: entity
-  name: stamp box [HoP]
-  parent: BoxCardboard
+  parent: BoxStamps
   id: BoxHoPStamps
-  description: A box filled with HoP's Stamps. Stamped of course.
+  name: head of personnel's stamp box
   components:
-  - type: Item
-    size: Small
-    shape:
-    - 0,0,1,1
   - type: EntityTableContainerFill
     containers:
       storagebase: !type:AllSelector
         - id: RubberStampApproved
         - id: RubberStampDenied
         - id: RubberStampHop
-  - type: Storage
-    grid:
-    - 0,0,1,1
-    whitelist:
-      components:
-      - Stamp
-  - type: Sprite
-    layers:
-      - state: box
-      - state: stamp
 
 - type: entity
-  name: circuit tote [CE]
   parent: ToteBase
-  id: BoxCECircuitboards
-  description: A Tote filled with CE's Circuit boards.
+  id: BoxHoSCircuitboards
+  name: security circuit tote
   components:
   - type: EntityTableContainerFill
     containers:
       storagebase: !type:AllSelector
         children:
-        - id: CargoRequestEngineeringComputerCircuitboard
-        - id: AlertsComputerCircuitboard
-        - id: AtmosMonitoringComputerCircuitboard
-        - id: PowerComputerCircuitboard
-        - id: SolarControlComputerCircuitboard
+        - id: SecurityTechFabCircuitboard
+        - id: CargoRequestSecurityComputerCircuitboard
 
 - type: entity
-  name: circuit tote [Captain]
   parent: ToteBase
-  id: BoxCaptainCircuitboards
-  description: A Tote filled with Captain's Circuit boards.
+  id: BoxQMCircuitboards
+  name: cargo circuit tote
   components:
   - type: EntityTableContainerFill
     containers:
       storagebase: !type:AllSelector
         children:
-        - id: CommsComputerCircuitboard
-        - id: StationRecordsComputerCircuitboard
+        - id: CargoBountyComputerCircuitboard
+        - id: CargoRequestComputerCircuitboard
+        - id: CargoSaleComputerCircuitboard
+        - id: CargoShuttleConsoleCircuitboard
+        - id: SalvageMagnetMachineCircuitboard
+        - id: SalvageJobBoardComputerCircuitboard
+        - id: MailTeleporterMachineCircuitboard
 
 - type: entity
-  name: circuit tote [CMO]
-  parent: ToteBase
-  id: BoxCMOCircuitboards
-  description: A Tote filled with CMO's Circuit boards.
+  parent: BoxStamps
+  id: BoxQMStamps
+  name: quartermaster's stamp box
   components:
   - type: EntityTableContainerFill
     containers:
       storagebase: !type:AllSelector
         children:
-        - id: MedicalTechFabCircuitboard
-        - id: CargoRequestMedicalComputerCircuitboard
+        - id: RubberStampApproved
+        - id: RubberStampDenied
+        - id: RubberStampQm
 
 - type: entity
-  name: circuit tote [RD]
   parent: ToteBase
   id: BoxRDCircuitboards
-  description: A Tote filled with RD's Circuit boards.
+  name: science circuit tote
   components:
   - type: EntityTableContainerFill
     containers:
         - id: AnalysisComputerCircuitboard #Because sometimes round start artis just fucking explode on the pad.
         - id: ArtifactAnalyzerMachineCircuitboard
         - id: StationAiFixerCircuitboard
-
-- type: entity
-  name: circuit tote [HoS]
-  parent: ToteBase
-  id: BoxHoSCircuitboards
-  description: A Tote filled with HoS's Circuit boards.
-  components:
-  - type: EntityTableContainerFill
-    containers:
-      storagebase: !type:AllSelector
-        children:
-        - id: SecurityTechFabCircuitboard
-        - id: CargoRequestSecurityComputerCircuitboard
index 6a26b3d9005e89571830abd5615e7ed47e1c2c44..6692936f4075eb90fc50cdf947f5003704846d0b 100644 (file)
@@ -1,7 +1,7 @@
 - type: entity
-  id: BoxBase
-  parent: BaseStorageItem
   abstract: true
+  parent: BaseStorageItem
+  id: BoxBase
   components:
   - type: Sprite
     sprite: Objects/Storage/boxes.rsi
   - type: ContainerContainer
     containers:
       storagebase: !type:Container
-  - type: Construction
-    graph: BoxCardboard
-    node: boxcardboard
-    containers:
-      - storagebase
-  - type: PhysicalComposition
-    materialComposition:
-      Cardboard: 100
   - type: StaticPrice
     price: 10
 
 - type: entity
-  name: circuit tote
-  id: ToteBase
+  abstract: true
   parent: BoxBase
+  id: BoxBaseSmall
+  components:
+  - type: Item
+    size: Small
+    shape:
+    - 0,0,1,1
+  - type: Storage
+    grid:
+    - 0,0,1,1
+  - type: StaticPrice # Half of the "regular" box
+    price: 5
+
+- type: entity
+  parent: BoxBase
+  id: ToteBase
+  name: circuit tote
   description: A large tote for carrying circuit boards.
   components:
   - type: Sprite
index 9cabb7e4414f4ab141b18603fd8c8ef7fc0ccf30..edfd66353a2ac8dee6561e29472ac262d038ce6c 100644 (file)
@@ -7,11 +7,25 @@
     - to: boxcardboard
       steps:
       - material: Cardboard
-        amount: 1
+        amount: 2
         doAfter: 4
   - node: boxcardboard
     entity: BoxCardboard
 
+- type: constructionGraph
+  id: BoxCardboardSmall
+  start: start
+  graph:
+  - node: start
+    edges:
+    - to: boxcardboardsmall
+      steps:
+      - material: Cardboard
+        amount: 1
+        doAfter: 4
+  - node: boxcardboardsmall
+    entity: BoxCardboardSmall
+
 - type: constructionGraph
   id: ToteBase
   start: start
index 0ba076b36bf3e47e204d3ea7a6f3d86f3884ca99..eb18c4a354aa550bc951cb26a89ba58a7420f4e1 100644 (file)
   category: construction-category-storage
   objectType: Item
 
+- type: construction
+  id: BoxCardboardSmall
+  name: construction-recipe-box-cardboard-small
+  graph: BoxCardboardSmall
+  startNode: start
+  targetNode: boxcardboardsmall
+  category: construction-category-storage
+  objectType: Item
+
 - type: construction
   id: ToteBase
   name: construction-recipe-box-tote