]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
jugs closeable, move chemistry entities into chemistry directory (#29413)
authorIProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
Mon, 5 Jan 2026 23:18:23 +0000 (18:18 -0500)
committerGitHub <noreply@github.com>
Mon, 5 Jan 2026 23:18:23 +0000 (23:18 +0000)
* jugs closeable, move chemitsry entities into chemsitry directory

* forgor to stage json. I hope i didnt stage robust :anxious:

* Who likes cargo? Not me. Lets remove it.

* Remove seal, make the amount examinable regardless of open or not, update jug icon

* apply iaada's parenting

* fix issues tdw parenting

* Review changes

* Fix sprite rename

* small touchup

---------

Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
Co-authored-by: iaada <iaada@users.noreply.github.com>
16 files changed:
Resources/Prototypes/Catalog/Cargo/cargo_botany.yml
Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_base_materials.yml
Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemical-containers.yml [moved from Resources/Prototypes/Entities/Objects/Specific/chemical-containers.yml with 77% similarity]
Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemistry-bottles.yml [moved from Resources/Prototypes/Entities/Objects/Specific/chemistry-bottles.yml with 100% similarity]
Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemistry-vials.yml [moved from Resources/Prototypes/Entities/Objects/Specific/chemistry-vials.yml with 100% similarity]
Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemistry.yml [moved from Resources/Prototypes/Entities/Objects/Specific/chemistry.yml with 100% similarity]
Resources/Textures/Objects/Specific/Chemistry/jug.rsi/fill-1.png [moved from Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug1.png with 100% similarity]
Resources/Textures/Objects/Specific/Chemistry/jug.rsi/fill-2.png [moved from Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug2.png with 100% similarity]
Resources/Textures/Objects/Specific/Chemistry/jug.rsi/fill-3.png [moved from Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug3.png with 100% similarity]
Resources/Textures/Objects/Specific/Chemistry/jug.rsi/fill-4.png [moved from Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug4.png with 100% similarity]
Resources/Textures/Objects/Specific/Chemistry/jug.rsi/fill-5.png [moved from Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug5.png with 100% similarity]
Resources/Textures/Objects/Specific/Chemistry/jug.rsi/fill-6.png [moved from Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug6.png with 100% similarity]
Resources/Textures/Objects/Specific/Chemistry/jug.rsi/icon_empty.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Chemistry/jug.rsi/icon_open.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug.png [deleted file]
Resources/Textures/Objects/Specific/Chemistry/jug.rsi/meta.json

index c1ef2f1a3f6717d9cc709cfa83452fe13a2a5786..e77dddd76708dc84c326d88e52ea2450632497eb 100644 (file)
@@ -42,7 +42,7 @@
   id: BulkPlantBGone
   icon:
     sprite: Objects/Specific/Chemistry/jug.rsi
-    state: jug
+    state: icon_empty
   product: CratePlantBGone
   cost: 750
   category: cargoproduct-category-name-hydroponics
index 43df992b2ae1b4c86a49cfa58a5ab39bfff4aae2..939d17ca219dc57a7ff8863b7cbdee4f5af72516 100644 (file)
       - !type:PlaySoundBehavior
         sound:
           collection: MetalCrunch # TODO a plastic break collection
+          params:
+            volume: -4
       - !type:SpillBehavior { }
+      - !type:SpawnEntitiesBehavior
+        spawn:
+          SheetPlastic1:
+            min: 0
+            max: 1
+        transferForensics: true
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
   - type: PhysicalComposition
similarity index 77%
rename from Resources/Prototypes/Entities/Objects/Specific/chemical-containers.yml
rename to Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemical-containers.yml
index 43ad53495fefc484867a95fe53d826f41bf646e0..2c174c372dd0a320605d6bff97e59217bcfc2997 100644 (file)
@@ -1,92 +1,34 @@
 - type: entity
-  name: jug
-  parent: BaseItem
+  parent: [ DrinkBaseMaterialStrongPlastic, DrinkBase, DrinkBaseOpenable, DrinkVisualsAll ]
   id: Jug
+  name: jug
   description: Used to contain a very large amount of chemicals or solutions. Chugging is extremely ill-advised.
   components:
-    - type: SolutionContainerManager
-      solutions:
-        beaker:
-          maxVol: 200
-    - type: Sprite
-      sprite: Objects/Specific/Chemistry/jug.rsi
-      layers:
-        - state: jug
-        - state: jug1
-          map: [ "enum.SolutionContainerLayers.Fill" ]
-          visible: false
-    - type: Item
-      size: Normal
-      sprite: Objects/Specific/Chemistry/jug.rsi
-    - type: MixableSolution
-      solution: beaker
-    - type: RefillableSolution
-      solution: beaker
-    - type: DrainableSolution
-      solution: beaker
-    - type: ExaminableSolution
-      solution: beaker
-      exactVolume: true
-    - type: DrawableSolution
-      solution: beaker
-    - type: InjectableSolution
-      solution: beaker
-    - type: SolutionTransfer
-      canChangeTransferAmount: true
-    - type: SolutionItemStatus
-      solution: beaker
-    - type: UserInterface
-      interfaces:
-        enum.TransferAmountUiKey.Key:
-          type: TransferAmountBoundUserInterface
-    - type: Edible
-      edible: Drink
-      solution: beaker
-      destroyOnEmpty: false
-      utensil: Spoon
-    - type: Spillable
-      solution: beaker
-    - type: Appearance
-    - type: SolutionContainerVisuals
-      maxFillLevels: 6
-      fillBaseName: jug
-      inHandsMaxFillLevels: 5
-      inHandsFillBaseName: -fill-
-    - type: StaticPrice
-      price: 60
-    - type: Damageable
-      damageContainer: Inorganic
-    - type: Destructible
-      thresholds:
-      - trigger:
-          !type:DamageTrigger
-          damage: 200
-        behaviors:
-          - !type:DoActsBehavior
-            acts: [ "Destruction" ]
-      - trigger:
-          !type:DamageTrigger
-          damage: 20
-        behaviors:
-        - !type:PlaySoundBehavior
-          sound:
-            collection: MetalBreak
-            params:
-              volume: -4
-        - !type:SpillBehavior { }
-        - !type:SpawnEntitiesBehavior
-          spawn:
-            SheetPlastic1:
-              min: 0
-              max: 1
-          transferForensics: true
-        - !type:DoActsBehavior
-          acts: [ "Destruction" ]
-    - type: Label
-    - type: Tag
-      tags:
-      - ChemDispensable
-    - type: DnaSubstanceTrace
+  - type: Sprite
+    sprite: Objects/Specific/Chemistry/jug.rsi
+  - type: Item
+    size: Normal
+    sprite: Objects/Specific/Chemistry/jug.rsi
+  - type: SolutionContainerManager
+    solutions:
+      drink:
+        maxVol: 200
+  - type: SolutionContainerVisuals
+    maxFillLevels: 6
+    inHandsMaxFillLevels: 5
+  - type: ExaminableSolution
+    exactVolume: true # Chemistry item
+  - type: Openable
+    sound:
+      collection: bottleOpenSounds
+    closeable: true
+    closeSound:
+      collection: bottleCloseSounds
+  - type: StaticPrice
+    price: 60
+  - type: Tag
+    tags:
+    - ChemDispensable
 
 - type: entity
   parent: Jug
@@ -97,7 +39,7 @@
     currentLabel: reagent-name-puncturase-tranexamic
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: Puncturase
           Quantity: 160
     currentLabel: reagent-name-pyrazine-dermaline
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: Pyrazine
           Quantity: 50
     currentLabel: reagent-name-dexalin-plus-saline
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: DexalinPlus
           Quantity: 100
     currentLabel: reagent-name-tricordrazine
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: Tricordrazine
           Quantity: 200
     currentLabel: reagent-name-blood
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: Blood
           Quantity: 200
     currentLabel: reagent-name-water
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: Water
           Quantity: 200
     currentLabel: reagent-name-carbon
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: Carbon
           Quantity: 200
     currentLabel: reagent-name-iodine
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: Iodine
           Quantity: 200
     currentLabel: reagent-name-fluorine
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: Fluorine
           Quantity: 200
     currentLabel: reagent-name-chlorine
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: Chlorine
           Quantity: 200
     currentLabel: reagent-name-aluminium
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: Aluminium
           Quantity: 200
     currentLabel: reagent-name-phosphorus
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: Phosphorus
           Quantity: 200
     currentLabel: reagent-name-sulfur
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: Sulfur
           Quantity: 200
     currentLabel: reagent-name-silicon
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: Silicon
           Quantity: 200
     currentLabel: reagent-name-hydrogen
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: Hydrogen
           Quantity: 200
     currentLabel: reagent-name-lithium
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: Lithium
           Quantity: 200
     currentLabel: reagent-name-sodium
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: Sodium
           Quantity: 200
     currentLabel: reagent-name-potassium
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: Potassium
           Quantity: 200
     currentLabel: reagent-name-radium
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: Radium
           Quantity: 200
     currentLabel: reagent-name-iron
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: Iron
           Quantity: 200
     currentLabel: reagent-name-copper
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: Copper
           Quantity: 200
     currentLabel: reagent-name-gold
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: Gold
           Quantity: 200
     currentLabel: reagent-name-mercury
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: Mercury
           Quantity: 200
     currentLabel: reagent-name-silver
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: Silver
           Quantity: 200
     currentLabel: reagent-name-ethanol
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: Ethanol
           Quantity: 200
     currentLabel: reagent-name-sugar
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: Sugar
           Quantity: 200
     currentLabel: reagent-name-nitrogen
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: Nitrogen
           Quantity: 200
     currentLabel: reagent-name-oxygen
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: Oxygen
           Quantity: 200
     currentLabel: reagent-name-plant-b-gone
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: PlantBGone
           Quantity: 200
     currentLabel: reagent-name-welding-fuel
   - type: SolutionContainerManager
     solutions:
-      beaker:
+      drink:
         reagents:
         - ReagentId: WeldingFuel
           Quantity: 200
diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/icon_empty.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/icon_empty.png
new file mode 100644 (file)
index 0000000..7c70bba
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/icon_empty.png differ
diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/icon_open.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/icon_open.png
new file mode 100644 (file)
index 0000000..315d3e9
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/icon_open.png differ
diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug.png
deleted file mode 100644 (file)
index 1fda41e..0000000
Binary files a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug.png and /dev/null differ
index 85c293d34dfa93ce19db9a3f04dbcf4244711c74..fb7b2d47371fe46a438bfe7f16b8dc1444289098 100644 (file)
@@ -8,7 +8,10 @@
   },
   "states": [
     {
-      "name": "jug"
+      "name": "icon_empty"
+    },
+    {
+      "name": "icon_open"
     },
     {
       "name": "inhand-left",
       "directions": 4
     },
     {
-      "name": "jug1"
+      "name": "fill-1"
     },
     {
-      "name": "jug2"
+      "name": "fill-2"
     },
     {
-      "name": "jug3"
+      "name": "fill-3"
     },
     {
-      "name": "jug4"
+      "name": "fill-4"
     },
     {
-      "name": "jug5"
+      "name": "fill-5"
     },
     {
-      "name": "jug6"
+      "name": "fill-6"
     }
   ]
 }