]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Organized Head Locker Fills Feat. Circuit Totes. (#39868)
authorMixelz <32188067+Mixelz@users.noreply.github.com>
Wed, 1 Oct 2025 23:11:26 +0000 (18:11 -0500)
committerGitHub <noreply@github.com>
Wed, 1 Oct 2025 23:11:26 +0000 (23:11 +0000)
* Initial Commit

Added Circuit Totes, replaced Head Locker fills with Tote fills, also stamp boxes for relevant heads.

* Craftable!

Now craftable: Uses 1 cardboard and 1 cloth (gotta keep the circuits cushioned!)

* Various Fixes

Fixed indenting, added comments, fixed names, tried for 5 hours to get the table fill to work, failed.

* test fail fix

aaaaaaaa

* TEST FAIL WHYYYY

AAAAAAAAAAAAAAAAAAAAA

* test fail fix 3 feat. iaada

*mothscream.oog*

* SURPLUS BOARD USES TOTE NOW

THANK YOU IAADA

* indent fix & storage base fix

Fix for indents and also the storagebase bug

* Master Merge Fix

* Update meta.json

* forgor the important part

13 files changed:
Resources/Locale/en-US/construction/recipes/crates.ftl
Resources/Prototypes/Catalog/Fills/Boxes/heads.yml [new file with mode: 0644]
Resources/Prototypes/Catalog/Fills/Crates/engineering.yml
Resources/Prototypes/Catalog/Fills/Lockers/heads.yml
Resources/Prototypes/Entities/Objects/Misc/box.yml
Resources/Prototypes/Recipes/Crafting/Graphs/storage/cardboardbox.yml
Resources/Prototypes/Recipes/Crafting/crates.yml
Resources/Prototypes/tags.yml
Resources/Textures/Objects/Storage/boxes.rsi/meta.json
Resources/Textures/Objects/Storage/boxes.rsi/stamp.png [new file with mode: 0644]
Resources/Textures/Objects/Storage/boxes.rsi/tote-0.png [new file with mode: 0644]
Resources/Textures/Objects/Storage/boxes.rsi/tote-1.png [new file with mode: 0644]
Resources/Textures/Objects/Storage/boxes.rsi/tote-2.png [new file with mode: 0644]

index 393b7784a1377713e13e8de5ce97a1e5cde7358e..c5b2b47c32bac591f390dba3294ffa1f2c3f96c7 100644 (file)
@@ -1,3 +1,4 @@
 construction-recipe-crate-freezer = crate freezer
 construction-recipe-big-box = large cardboard box
 construction-recipe-box-cardboard = small cardboard box
+construction-recipe-box-tote = circuit tote
diff --git a/Resources/Prototypes/Catalog/Fills/Boxes/heads.yml b/Resources/Prototypes/Catalog/Fills/Boxes/heads.yml
new file mode 100644 (file)
index 0000000..122aecd
--- /dev/null
@@ -0,0 +1,143 @@
+- type: entity
+  name: circuit tote [QM]
+  parent: ToteBase
+  id: BoxQMCircuitboards
+  description: A Tote filled with QM's Circuit boards.
+  components:
+  - type: StorageFill
+    contents:
+      - id: CargoBountyComputerCircuitboard
+      - id: CargoRequestComputerCircuitboard
+      - id: CargoSaleComputerCircuitboard
+      - id: CargoShuttleConsoleCircuitboard
+      - id: SalvageMagnetMachineCircuitboard
+      - id: SalvageJobBoardComputerCircuitboard
+      - id: MailTeleporterMachineCircuitboard
+
+- type: entity
+  name: stamp box [QM]
+  parent: BoxCardboard
+  id: BoxQMStamps
+  description: A box filled with QM's Stamps. Stamped of course.
+  components:
+  - type: Item
+    size: Small
+    shape:
+    - 0,0,1,1
+  - type: StorageFill
+    contents:
+      - id: RubberStampApproved
+      - id: RubberStampDenied
+      - id: RubberStampQm
+  - type: Storage
+    grid:
+    - 0,0,1,1
+    whitelist:
+      components:
+      - Stamp
+  - type: Sprite
+    layers:
+      - state: box
+      - state: stamp
+
+- type: entity
+  name: circuit tote [HoP]
+  parent: ToteBase
+  id: BoxHoPCircuitboards
+  description: A Tote filled with HoP's Circuit boards.
+  components:
+  - type: StorageFill
+    contents:
+      - id: IDComputerCircuitboard
+      - id: FundingAllocationComputerCircuitboard
+      - id: CargoRequestServiceComputerCircuitboard
+
+- type: entity
+  name: stamp box [HoP]
+  parent: BoxCardboard
+  id: BoxHoPStamps
+  description: A box filled with HoP's Stamps. Stamped of course.
+  components:
+  - type: Item
+    size: Small
+    shape:
+    - 0,0,1,1
+  - type: StorageFill
+    contents:
+      - 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.
+  components:
+  - type: StorageFill
+    contents:
+      - id: CargoRequestEngineeringComputerCircuitboard
+      - id: AlertsComputerCircuitboard
+      - id: AtmosMonitoringComputerCircuitboard
+      - id: PowerComputerCircuitboard
+      - id: SolarControlComputerCircuitboard
+
+- type: entity
+  name: circuit tote [Captain]
+  parent: ToteBase
+  id: BoxCaptainCircuitboards
+  description: A Tote filled with Captain's Circuit boards.
+  components:
+  - type: StorageFill
+    contents:
+      - id: CommsComputerCircuitboard
+      - id: StationRecordsComputerCircuitboard
+
+- type: entity
+  name: circuit tote [CMO]
+  parent: ToteBase
+  id: BoxCMOCircuitboards
+  description: A Tote filled with CMO's Circuit boards.
+  components:
+  - type: StorageFill
+    contents:
+      - id: MedicalTechFabCircuitboard
+      - id: CargoRequestMedicalComputerCircuitboard
+
+- type: entity
+  name: circuit tote [RD]
+  parent: ToteBase
+  id: BoxRDCircuitboards
+  description: A Tote filled with RD's Circuit boards.
+  components:
+  - type: StorageFill
+    contents:
+      - id: CircuitImprinterMachineCircuitboard
+      - id: ProtolatheMachineCircuitboard
+      - id: ResearchComputerCircuitboard
+      - id: CargoRequestScienceComputerCircuitboard
+      - id: RoboticsConsoleCircuitboard
+      - 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: StorageFill
+    contents:
+      - id: SecurityTechFabCircuitboard
+      - id: CargoRequestSecurityComputerCircuitboard
index 7acb9cf8b1011cebc4aed8d52f94048d5bd936e4..51e6440a3480477e03543fe64b7426528ddcc440 100644 (file)
 
 - type: entity
   id: CrateTechBoardRandom
-  parent: CrateEngineering
+  parent: ToteBase
   name: surplus boards
   description: Surplus boards from somewhere.
   components:
   - type: EntityTableContainerFill
     containers:
-      entity_storage: !type:NestedSelector
+      storagebase: !type:NestedSelector
         tableId: RandomTechBoardTable
         rolls: !type:RangeNumberSelector
           range: 6, 8
index 37dd68e63aa7dd9bab5d3200af06d3e1b07e663d..cf5297220c2fb8015987fbfec871a80d56968e99 100644 (file)
@@ -4,22 +4,14 @@
     children:
     - id: BoxEncryptionKeyCargo
     - id: BoxFolderQmClipboard
-    - id: CargoBountyComputerCircuitboard
-    - id: CargoRequestComputerCircuitboard
-    - id: CargoSaleComputerCircuitboard
-    - id: CargoShuttleConsoleCircuitboard
-    - id: SalvageMagnetMachineCircuitboard
-    - id: SalvageJobBoardComputerCircuitboard
+    - id: BoxQMCircuitboards
+    - id: BoxQMStamps
     - id: CigPackGreen
       prob: 0.50
     - id: ClothingHeadsetAltCargo
     - id: DoorRemoteCargo
-    - id: RubberStampApproved
-    - id: RubberStampDenied
-    - id: RubberStampQm
     - id: AstroNavCartridge
     - id: ClothingHandsKnuckleDustersQM
-    - id: MailTeleporterMachineCircuitboard
 
 - type: entity
   id: LockerQuarterMasterFilled
@@ -42,7 +34,7 @@
     - id: ClothingBeltSheathFilled
     - id: ClothingHeadsetAltCommand
     - id: ClothingOuterArmorCaptainCarapace
-    - id: CommsComputerCircuitboard
+    - id: BoxCaptainCircuitboards
     - id: DoorRemoteCustom
     - id: MedalCase
     - id: NukeDisk
     - id: BoxEncryptionKeyPassenger
     - id: BoxEncryptionKeyService
     - id: BoxHeadset
+    - id: BoxHoPCircuitboards
+    - id: BoxHoPStamps
     - id: BoxID
     - id: BoxPDA
     - id: CigarGoldCase
     - id: ClothingNeckGoldmedal
     - id: DoorRemoteService
     - id: HoPIDCard
-    - id: IDComputerCircuitboard
-    - id: FundingAllocationComputerCircuitboard
-    - id: CargoRequestServiceComputerCircuitboard
-    - id: RubberStampApproved
-    - id: RubberStampDenied
-    - id: RubberStampHop
     - id: WeaponDisabler
     - id: ClothingEyesHudCommand
 
     - id: ClothingHandsGlovesColorYellow
     - id: ClothingHeadsetAltEngineering
     - id: DoorRemoteEngineering
-    - id: CargoRequestEngineeringComputerCircuitboard
+    - id: BoxCECircuitboards
     - id: RCD
     - id: RCDAmmo
     - id: RubberStampCE
     - id: DoorRemoteMedical
     - id: HandheldCrewMonitor
     - id: Hypospray
-    - id: MedicalTechFabCircuitboard
-    - id: CargoRequestMedicalComputerCircuitboard
+    - id: BoxCMOCircuitboards
     - id: MedkitFilled
     - id: RubberStampCMO
     - id: MedTekCartridge
     children:
     - id: Intellicard
     - id: BoxEncryptionKeyScience
-    - id: CircuitImprinterMachineCircuitboard
+    - id: BoxRDCircuitboards
     - id: ClothingBeltUtilityFilled
     - id: ClothingHeadsetAltScience
     - id: DoorRemoteResearch
     - id: HandTeleporter
-    - id: ProtolatheMachineCircuitboard
-    - id: ResearchComputerCircuitboard
-    - id: CargoRequestScienceComputerCircuitboard
-    - id: StationAiFixerCircuitboard
     - id: RubberStampRd
 
 # Hardsuit table, used for suit storage as well
     - id: DoorRemoteSecurity
     - id: HoloprojectorSecurity
     - id: RubberStampHos
-    - id: SecurityTechFabCircuitboard
-    - id: CargoRequestSecurityComputerCircuitboard
+    - id: BoxHoSCircuitboards
     - id: WeaponDisabler
     - id: WeaponTaser
     - id: WantedListCartridge
index edb1a81239120007e73dc83765d9d46616efbd06..73d72e4fb01be01ba59e465677aec0ba3d3a1898 100644 (file)
     graph: BoxCardboard
     node: boxcardboard
     containers:
-      - entity_storage
+      - storagebase
   - type: PhysicalComposition
     materialComposition:
       Cardboard: 100
   - type: StaticPrice
     price: 10
+
+- type: entity
+  name: circuit tote
+  id: ToteBase
+  parent: BoxBase
+  description: A large tote for carrying circuit boards.
+  components:
+  - type: Sprite
+    layers:
+      - state: tote-0
+        map: ["enum.StorageFillLayers.Fill"]
+      - state: circuit
+  - type: Appearance
+  - type: StorageFillVisualizer
+    maxFillLevels: 3
+    fillBaseName: tote
+  - type: Storage
+    maxItemSize: Small
+    grid:
+    - 0,0,5,2
+    whitelist:
+      components:
+      - MachineBoard
+      - Circuitboard
+  - type: Construction
+    graph: ToteBase
+    node: totebase
+  - type: PhysicalComposition
+    materialComposition:
+      Cardboard: 75
+      Cloth: 25
+  - type: StaticPrice
+    price: 15
+  - type: Tag
+    tags:
+    - ToteBase
index 527f6b524793bc7414f65f2e1d68dbcf3bbd54e6..9cabb7e4414f4ab141b18603fd8c8ef7fc0ccf30 100644 (file)
@@ -2,14 +2,28 @@
   id: BoxCardboard
   start: start
   graph:
-    - node: start
-      edges:
-        - to: boxcardboard
-          steps:
-            - material: Cardboard
-              amount: 1
-              doAfter: 4
+  - node: start
+    edges:
+    - to: boxcardboard
+      steps:
+      - material: Cardboard
+        amount: 1
+        doAfter: 4
+  - node: boxcardboard
+    entity: BoxCardboard
 
-
-    - node: boxcardboard
-      entity: BoxCardboard
\ No newline at end of file
+- type: constructionGraph
+  id: ToteBase
+  start: start
+  graph:
+  - node: start
+    edges:
+    - to: totebase
+      steps:
+      - material: Cardboard
+        amount: 1
+      - material: Cloth
+        amount: 1
+        doAfter: 4
+  - node: totebase
+    entity: ToteBase
index ebd0261b3a5c120696b68caa0e55a98e3bc3e248..0ba076b36bf3e47e204d3ea7a6f3d86f3884ca99 100644 (file)
   category: construction-category-storage
   objectType: Item
 
+- type: construction
+  id: ToteBase
+  name: construction-recipe-box-tote
+  graph: ToteBase
+  startNode: start
+  targetNode: totebase
+  category: construction-category-storage
+  objectType: Item
+
 - type: construction
   id: FoodBoxPizza
   graph: FoodBoxPizza
index fde9057d6424a22be854494b26b6beedeb9d65f3..184daa337adc0ef7b03e1075b2116d6869575156 100644 (file)
 - type: Tag
   id: Torch
 
+- type: Tag
+  id: ToteBase
+
 - type: Tag
   id: ToyRubberDuck
 
index 64c3fc85c1ebfad1f829a7dbcf505a70c7c2988d..000059bf90c7aded1a6fd473fd344ef48b4a9c0e 100644 (file)
@@ -1,7 +1,7 @@
 {
   "version": 1,
   "license": "CC-BY-SA-3.0",
-  "copyright": "Taken from vgstation at commit https://github.com/vgstation-coders/vgstation13/commit/ca674eff9d23e04357b7609ef7e07eadfc1a993f and modified by Flareguy (github), encryptokey was taken from Baystation12 at https://github.com/infinitystation/Baystation12/blob/073f678cdce92edb8fcd55f9ffc9f0523bf31506/icons/obj/radio.dmi and modified by lapatison. boxwidetoy, shelltoy, swab, flare, inflatable, trashbag, magazine, holo and forensic created by potato1234x (github) for ss14 based on toys.rsi, mouth_swab.rsi, flare.rsi, inflatable_wall.rsi, trashbag.rsi, caseless_pistol_mag.rsi, guardians.rsi and bureaucracy.rsi respectively, candle and darts created by TheShuEd for ss14, throwing_knives and vials was drawn by Ubaser, evidence_markers by moomoobeef, nitrogentank modified from extendedtank by Errant, agrichemkit by Cerol, modified by ps3moira (github). sechud renamed to secglasses, new sechud, sunglasses by K-Dynamic (github), trigger by IProduceWidgets, utensils by gentleman-bird (github).",
+  "copyright": "Taken from vgstation at commit https://github.com/vgstation-coders/vgstation13/commit/ca674eff9d23e04357b7609ef7e07eadfc1a993f and modified by Flareguy (github), encryptokey was taken from Baystation12 at https://github.com/infinitystation/Baystation12/blob/073f678cdce92edb8fcd55f9ffc9f0523bf31506/icons/obj/radio.dmi and modified by lapatison. boxwidetoy, shelltoy, swab, flare, inflatable, trashbag, magazine, holo and forensic created by potato1234x (github) for ss14 based on toys.rsi, mouth_swab.rsi, flare.rsi, inflatable_wall.rsi, trashbag.rsi, caseless_pistol_mag.rsi, guardians.rsi and bureaucracy.rsi respectively, candle and darts created by TheShuEd for ss14, throwing_knives and vials was drawn by Ubaser, evidence_markers by moomoobeef, nitrogentank modified from extendedtank by Errant, agrichemkit by Cerol, modified by ps3moira (github). sechud renamed to secglasses, new sechud, sunglasses by K-Dynamic (github), trigger by IProduceWidgets, utensils by gentleman-bird (github). stamp, totes modified from box by Mixelz.",
   "size": {
     "x": 32,
     "y": 32
         {
             "name": "solution_trays"
         },
+        {
+            "name": "stamp"
+        },
         {
             "name": "sterile"
         },
             "name": "hug-inhand-right",
             "directions": 4
         },
+        {
+            "name": "tote-0"
+        },
+        {
+            "name": "tote-1"
+        },
+        {
+            "name": "tote-2"
+        },
         {
             "name": "shelltoy"
         },
diff --git a/Resources/Textures/Objects/Storage/boxes.rsi/stamp.png b/Resources/Textures/Objects/Storage/boxes.rsi/stamp.png
new file mode 100644 (file)
index 0000000..812c721
Binary files /dev/null and b/Resources/Textures/Objects/Storage/boxes.rsi/stamp.png differ
diff --git a/Resources/Textures/Objects/Storage/boxes.rsi/tote-0.png b/Resources/Textures/Objects/Storage/boxes.rsi/tote-0.png
new file mode 100644 (file)
index 0000000..fbdcd51
Binary files /dev/null and b/Resources/Textures/Objects/Storage/boxes.rsi/tote-0.png differ
diff --git a/Resources/Textures/Objects/Storage/boxes.rsi/tote-1.png b/Resources/Textures/Objects/Storage/boxes.rsi/tote-1.png
new file mode 100644 (file)
index 0000000..02a49d9
Binary files /dev/null and b/Resources/Textures/Objects/Storage/boxes.rsi/tote-1.png differ
diff --git a/Resources/Textures/Objects/Storage/boxes.rsi/tote-2.png b/Resources/Textures/Objects/Storage/boxes.rsi/tote-2.png
new file mode 100644 (file)
index 0000000..3066ce7
Binary files /dev/null and b/Resources/Textures/Objects/Storage/boxes.rsi/tote-2.png differ