From 4b7aaa3a46c594c7f8522f0f2e6d09df3daeaa47 Mon Sep 17 00:00:00 2001 From: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com> Date: Mon, 5 Jan 2026 18:18:23 -0500 Subject: [PATCH] jugs closeable, move chemistry entities into chemistry directory (#29413) * 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 Co-authored-by: iaada --- .../Prototypes/Catalog/Cargo/cargo_botany.yml | 2 +- .../Drinks/drinks_base_materials.yml | 8 + .../{ => Chemistry}/chemical-containers.yml | 172 ++++++------------ .../{ => Chemistry}/chemistry-bottles.yml | 0 .../{ => Chemistry}/chemistry-vials.yml | 0 .../Specific/{ => Chemistry}/chemistry.yml | 0 .../jug.rsi/{jug1.png => fill-1.png} | Bin .../jug.rsi/{jug2.png => fill-2.png} | Bin .../jug.rsi/{jug3.png => fill-3.png} | Bin .../jug.rsi/{jug4.png => fill-4.png} | Bin .../jug.rsi/{jug5.png => fill-5.png} | Bin .../jug.rsi/{jug6.png => fill-6.png} | Bin .../Specific/Chemistry/jug.rsi/icon_empty.png | Bin 0 -> 328 bytes .../Specific/Chemistry/jug.rsi/icon_open.png | Bin 0 -> 15248 bytes .../Specific/Chemistry/jug.rsi/jug.png | Bin 346 -> 0 bytes .../Specific/Chemistry/jug.rsi/meta.json | 17 +- 16 files changed, 76 insertions(+), 123 deletions(-) rename Resources/Prototypes/Entities/Objects/Specific/{ => Chemistry}/chemical-containers.yml (77%) rename Resources/Prototypes/Entities/Objects/Specific/{ => Chemistry}/chemistry-bottles.yml (100%) rename Resources/Prototypes/Entities/Objects/Specific/{ => Chemistry}/chemistry-vials.yml (100%) rename Resources/Prototypes/Entities/Objects/Specific/{ => Chemistry}/chemistry.yml (100%) rename Resources/Textures/Objects/Specific/Chemistry/jug.rsi/{jug1.png => fill-1.png} (100%) rename Resources/Textures/Objects/Specific/Chemistry/jug.rsi/{jug2.png => fill-2.png} (100%) rename Resources/Textures/Objects/Specific/Chemistry/jug.rsi/{jug3.png => fill-3.png} (100%) rename Resources/Textures/Objects/Specific/Chemistry/jug.rsi/{jug4.png => fill-4.png} (100%) rename Resources/Textures/Objects/Specific/Chemistry/jug.rsi/{jug5.png => fill-5.png} (100%) rename Resources/Textures/Objects/Specific/Chemistry/jug.rsi/{jug6.png => fill-6.png} (100%) create mode 100644 Resources/Textures/Objects/Specific/Chemistry/jug.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Specific/Chemistry/jug.rsi/icon_open.png delete mode 100644 Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug.png diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_botany.yml b/Resources/Prototypes/Catalog/Cargo/cargo_botany.yml index c1ef2f1a3f..e77dddd767 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_botany.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_botany.yml @@ -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 diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_base_materials.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_base_materials.yml index 43df992b2a..939d17ca21 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_base_materials.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_base_materials.yml @@ -138,7 +138,15 @@ - !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 diff --git a/Resources/Prototypes/Entities/Objects/Specific/chemical-containers.yml b/Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemical-containers.yml 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 43ad53495f..2c174c372d 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/chemical-containers.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemical-containers.yml @@ -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 @@ -113,7 +55,7 @@ currentLabel: reagent-name-pyrazine-dermaline - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: Pyrazine Quantity: 50 @@ -129,7 +71,7 @@ currentLabel: reagent-name-dexalin-plus-saline - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: DexalinPlus Quantity: 100 @@ -145,7 +87,7 @@ currentLabel: reagent-name-tricordrazine - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: Tricordrazine Quantity: 200 @@ -159,7 +101,7 @@ currentLabel: reagent-name-blood - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: Blood Quantity: 200 @@ -173,7 +115,7 @@ currentLabel: reagent-name-water - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: Water Quantity: 200 @@ -188,7 +130,7 @@ currentLabel: reagent-name-carbon - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: Carbon Quantity: 200 @@ -203,7 +145,7 @@ currentLabel: reagent-name-iodine - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: Iodine Quantity: 200 @@ -218,7 +160,7 @@ currentLabel: reagent-name-fluorine - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: Fluorine Quantity: 200 @@ -233,7 +175,7 @@ currentLabel: reagent-name-chlorine - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: Chlorine Quantity: 200 @@ -248,7 +190,7 @@ currentLabel: reagent-name-aluminium - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: Aluminium Quantity: 200 @@ -263,7 +205,7 @@ currentLabel: reagent-name-phosphorus - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: Phosphorus Quantity: 200 @@ -278,7 +220,7 @@ currentLabel: reagent-name-sulfur - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: Sulfur Quantity: 200 @@ -293,7 +235,7 @@ currentLabel: reagent-name-silicon - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: Silicon Quantity: 200 @@ -308,7 +250,7 @@ currentLabel: reagent-name-hydrogen - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: Hydrogen Quantity: 200 @@ -323,7 +265,7 @@ currentLabel: reagent-name-lithium - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: Lithium Quantity: 200 @@ -338,7 +280,7 @@ currentLabel: reagent-name-sodium - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: Sodium Quantity: 200 @@ -353,7 +295,7 @@ currentLabel: reagent-name-potassium - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: Potassium Quantity: 200 @@ -368,7 +310,7 @@ currentLabel: reagent-name-radium - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: Radium Quantity: 200 @@ -383,7 +325,7 @@ currentLabel: reagent-name-iron - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: Iron Quantity: 200 @@ -398,7 +340,7 @@ currentLabel: reagent-name-copper - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: Copper Quantity: 200 @@ -413,7 +355,7 @@ currentLabel: reagent-name-gold - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: Gold Quantity: 200 @@ -428,7 +370,7 @@ currentLabel: reagent-name-mercury - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: Mercury Quantity: 200 @@ -443,7 +385,7 @@ currentLabel: reagent-name-silver - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: Silver Quantity: 200 @@ -458,7 +400,7 @@ currentLabel: reagent-name-ethanol - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: Ethanol Quantity: 200 @@ -473,7 +415,7 @@ currentLabel: reagent-name-sugar - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: Sugar Quantity: 200 @@ -488,7 +430,7 @@ currentLabel: reagent-name-nitrogen - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: Nitrogen Quantity: 200 @@ -503,7 +445,7 @@ currentLabel: reagent-name-oxygen - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: Oxygen Quantity: 200 @@ -518,7 +460,7 @@ currentLabel: reagent-name-plant-b-gone - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: PlantBGone Quantity: 200 @@ -533,7 +475,7 @@ currentLabel: reagent-name-welding-fuel - type: SolutionContainerManager solutions: - beaker: + drink: reagents: - ReagentId: WeldingFuel Quantity: 200 diff --git a/Resources/Prototypes/Entities/Objects/Specific/chemistry-bottles.yml b/Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemistry-bottles.yml similarity index 100% rename from Resources/Prototypes/Entities/Objects/Specific/chemistry-bottles.yml rename to Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemistry-bottles.yml diff --git a/Resources/Prototypes/Entities/Objects/Specific/chemistry-vials.yml b/Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemistry-vials.yml similarity index 100% rename from Resources/Prototypes/Entities/Objects/Specific/chemistry-vials.yml rename to Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemistry-vials.yml diff --git a/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml b/Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemistry.yml similarity index 100% rename from Resources/Prototypes/Entities/Objects/Specific/chemistry.yml rename to Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemistry.yml diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug1.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/fill-1.png similarity index 100% rename from Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug1.png rename to Resources/Textures/Objects/Specific/Chemistry/jug.rsi/fill-1.png diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug2.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/fill-2.png similarity index 100% rename from Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug2.png rename to Resources/Textures/Objects/Specific/Chemistry/jug.rsi/fill-2.png diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug3.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/fill-3.png similarity index 100% rename from Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug3.png rename to Resources/Textures/Objects/Specific/Chemistry/jug.rsi/fill-3.png diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug4.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/fill-4.png similarity index 100% rename from Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug4.png rename to Resources/Textures/Objects/Specific/Chemistry/jug.rsi/fill-4.png diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug5.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/fill-5.png similarity index 100% rename from Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug5.png rename to Resources/Textures/Objects/Specific/Chemistry/jug.rsi/fill-5.png diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug6.png b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/fill-6.png similarity index 100% rename from Resources/Textures/Objects/Specific/Chemistry/jug.rsi/jug6.png rename to Resources/Textures/Objects/Specific/Chemistry/jug.rsi/fill-6.png 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 index 0000000000000000000000000000000000000000..7c70bba71e521673f5c2a86725f2d42c088304cf GIT binary patch literal 328 zcmV-O0k{5%P)SgI&=_EPf6dJpHGz`f`20uByAI=U(jf`b&D1cy%2xTw^U zQlhB{=9`kH{O|Gdw?ClKXf*#0k$Kq3e#nweyR`>^Nwi4-*vbq%SjI;qzxP}#^;|2(J)PO=ELBh1KxqmUXDSSI$HO+A zuP+?HRUrPX$vGzgGSvo7^YtaoGTsN!6m~QLI0q;tI{-#4S3oJ*1&&#I*MtCpV`3Q} z>*)azfn&bxWg1b5fuf*Jp!Nhrf?rLb_!WGTz+1zp_{Ym9Fo`xsaX=|EP&E~0gf$w? a&u{}}zG&%?54BqW0000CJ;Vh%x4dY~g6OQ6{R_*SM9g4hRjYY*&|<9^%EpB}YY zWyx<_?+LM?L_LhiO#>=yA86?i2l_;>WLp`q_|iNI5QDm4O~;~fjZgb+*|=eN}v39X%>R%^YYLaWD7Z5P?<8f%T$;q=thxNBBeIo9c6SQq1B?VO8uv%H(L z=3lme1^x1=QkZWGHs;eI%WsS5dV*(|R4V02xg3hx%Q(GWFT-*S$Jx;gyVf7qg|t1c zEzJcf#0f%8RON&&D{-q4SLjiay5D9q5*1(h>xw0ciQ-zG9iqsjg#_btuuM58Ni6y# zl4>-2YLdvnD2&0lt|32XS-(U?(G@MCOp>xFPnsC5NhnmzUG{uqv9hT(yUYJ!zOeoOUqroE{98tGcJ;$OnUAxEl=WRC^@(6R>-Z84_zx?uR=jr z)DA_726DTswSdrCU!UDo)@AGExTK`CXMGIrQd;j)G#C_g7~ojWV`sf~C)?rl@-7$e zaV=*#o@Grzax<|QAw`nI{df$H<()3xRb!4}nu*6i^&<(oFr_Hwxu!Uh$cGg*Cg=e< zCiFrk5%2Xer9soo;;!QBm8hbk(}Dq)k1027^2+WszB#VxLR^H+!2lX?$g;$9tc$C4 zJ8SJitti-CZg-E}iw5k1tJcX%VZkl1QWjz;WOknrI;e_p_*4jNDSj~l@Q0?jQ6hfQaCxl+B%Ba%`QPUjb?Eh_wGGQj9YLYdyKl@Gl z7VX|_FKdUdjUO!tQ90X_5`wBhqvHIwLdg}ISg}VLKH19U1<~kc0nsQ3hyafpEuB`; zGw&u(T)?SO&c!#mPo5(cfpJnnY`V8)m|7j(!!qDK>Hk}X(k>PwLcAAB0j98l3jTdGXA(H|M%8?p%^Mp8#`?Ror1R*EXK*|M2A_XPbgeTGyDW?%8&*<@C2e zc6{~JoabWP?o0ZSIkzuf`1R(c%MXBop$~qqPFuED+&LZ{{pED>vC4Jm{nmy-aO;(#YYly-$J-*Pp2Bp0RcRv`p_M z%hvt2ckT?OLer%k?|%Qfc(796(eU@-D^!CP^3h7rR-5^3e&b-B@yu*Px$6iGxuR9J=Wl`#s!Fc^hjf;u<|#la$O4uWgPQaU(zf!@QpCvf*1UckX26h~LZ zL2!_wli<)v8W$@yMB8Wt!F*Gi|L6UW*R%l)27}?>Au7#&$YR+(8~g2SJ>Tpv*?Q3H zREjhU8}h?F*G{Cxki~55xBZaC%|>kp0HeveUPiaHfsANzco6nnJMmmQ!7ZKX@}#7v zY~X1M1vMQ8TEl*W&Q@m*;35`1*S>3V&Iy22w}InqbxzWhcL7vo4TJ!k1C)|2fbX0E zO35~Gtf%jq5Fl_YM2kZyJ!Jzj0>^rIRyl}T42T0w0$)!+Ht42GZK3X-~K^Hy*hS^xk507*qoM6N<$g2i}@kN^Mx diff --git a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/meta.json b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/meta.json index 85c293d34d..fb7b2d4737 100644 --- a/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/meta.json +++ b/Resources/Textures/Objects/Specific/Chemistry/jug.rsi/meta.json @@ -8,7 +8,10 @@ }, "states": [ { - "name": "jug" + "name": "icon_empty" + }, + { + "name": "icon_open" }, { "name": "inhand-left", @@ -59,22 +62,22 @@ "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" } ] } -- 2.52.0